Imported Upstream version 61.1 40/191740/1 upstream/61.1
authorHyunjee Kim <hj0426.kim@samsung.com>
Tue, 23 Oct 2018 06:36:52 +0000 (15:36 +0900)
committerHyunjee Kim <hj0426.kim@samsung.com>
Tue, 23 Oct 2018 06:37:20 +0000 (15:37 +0900)
Change-Id: I1dfc7067dcc5f3c47e1057a93679cebb372607d1
Signed-off-by: Hyunjee Kim <hj0426.kim@samsung.com>
3132 files changed:
APIChangeReport.html
LICENSE
as_is/bomlist.txt
icu4c.css
packaging/distrelease.ps1 [new file with mode: 0644]
packaging/rpm/icu.spec [deleted file]
readme.html
source/allinone/Build.Windows.ProjectConfiguration.props [new file with mode: 0644]
source/allinone/Build.Windows.UWP.ProjectConfiguration.props [new file with mode: 0644]
source/allinone/Windows.CopyUnicodeHeaderFiles.targets [new file with mode: 0644]
source/allinone/allinone.sln
source/common/bmpset.cpp
source/common/brkeng.cpp
source/common/brkeng.h
source/common/brkiter.cpp
source/common/bytesinkutil.cpp
source/common/bytesinkutil.h
source/common/cmemory.cpp
source/common/cmemory.h
source/common/common.vcxproj
source/common/common_uwp.vcxproj
source/common/cstring.h
source/common/dictbe.cpp
source/common/dictbe.h
source/common/filteredbrk.cpp
source/common/rbbi.cpp
source/common/rbbi_cache.cpp
source/common/rbbi_cache.h
source/common/rbbidata.cpp
source/common/rbbidata.h
source/common/rbbirb.cpp
source/common/rbbirb.h
source/common/rbbiscan.cpp
source/common/rbbisetb.cpp
source/common/rbbisetb.h
source/common/rbbitblb.cpp
source/common/rbbitblb.h
source/common/sharedobject.cpp
source/common/sharedobject.h
source/common/sprpimpl.h
source/common/ubidi.cpp
source/common/ubidi_props.cpp
source/common/ubidi_props.h
source/common/ubidiimp.h
source/common/ucase.cpp
source/common/ucase.h
source/common/ucasemap.cpp
source/common/ucasemap_imp.h
source/common/uchar.cpp
source/common/ucmndata.cpp
source/common/ucmndata.h
source/common/ucnv2022.cpp
source/common/ucnv_err.cpp
source/common/ucnv_u32.cpp
source/common/ucnv_u8.cpp
source/common/ucnvlat1.cpp
source/common/ucnvmbcs.cpp
source/common/ucurr.cpp
source/common/unicode/brkiter.h
source/common/unicode/bytestriebuilder.h
source/common/unicode/casemap.h
source/common/unicode/char16ptr.h
source/common/unicode/chariter.h
source/common/unicode/dtintrv.h
source/common/unicode/edits.h
source/common/unicode/filteredbrk.h
source/common/unicode/locid.h
source/common/unicode/parseerr.h
source/common/unicode/platform.h
source/common/unicode/putil.h
source/common/unicode/rbbi.h
source/common/unicode/resbund.h
source/common/unicode/schriter.h
source/common/unicode/ubidi.h
source/common/unicode/ubrk.h
source/common/unicode/uchar.h
source/common/unicode/uclean.h
source/common/unicode/ucnv.h
source/common/unicode/ucnv_err.h
source/common/unicode/ucurr.h
source/common/unicode/umachine.h
source/common/unicode/uniset.h
source/common/unicode/unistr.h
source/common/unicode/urename.h
source/common/unicode/ures.h
source/common/unicode/uscript.h
source/common/unicode/ushape.h
source/common/unicode/usprep.h
source/common/unicode/ustring.h
source/common/unicode/utext.h
source/common/unicode/utf8.h
source/common/unicode/utrace.h
source/common/unicode/utypes.h
source/common/unicode/uvernum.h
source/common/unicode/uversion.h
source/common/unifiedcache.cpp
source/common/unifiedcache.h
source/common/uniset_closure.cpp
source/common/uniset_props.cpp
source/common/uprops.cpp
source/common/ushape.cpp
source/common/usprep.cpp
source/common/ustr_wcs.cpp
source/common/ustrcase.cpp
source/common/utf_impl.cpp
source/common/utrie.h
source/common/uts46.cpp
source/common/utypes.cpp
source/config.guess
source/config.sub
source/config/dist.mk
source/configure
source/data/Makefile.in
source/data/brkitr/brkfiles.mk
source/data/cldr-icu-readme.txt
source/data/coll/af.txt
source/data/coll/am.txt
source/data/coll/ar.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/bs.txt
source/data/coll/bs_Cyrl.txt
source/data/coll/ca.txt
source/data/coll/chr.txt
source/data/coll/colfiles.mk
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/ee.txt
source/data/coll/el.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/fi.txt
source/data/coll/fil.txt
source/data/coll/fo.txt
source/data/coll/fr_CA.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/ig.txt
source/data/coll/is.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/ky.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/mt.txt
source/data/coll/my.txt
source/data/coll/nb.txt
source/data/coll/ne.txt
source/data/coll/nn.txt
source/data/coll/om.txt
source/data/coll/or.txt
source/data/coll/pa.txt
source/data/coll/pl.txt
source/data/coll/ps.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_Latn.txt
source/data/coll/sv.txt
source/data/coll/ta.txt
source/data/coll/te.txt
source/data/coll/th.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/wo.txt
source/data/coll/yi.txt
source/data/coll/yo.txt
source/data/coll/zh.txt
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/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_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_GN.txt
source/data/curr/ff_MR.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/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/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/ksb.txt
source/data/curr/ksf.txt
source/data/curr/ksh.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/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/mk.txt
source/data/curr/ml.txt
source/data/curr/mn.txt
source/data/curr/mr.txt
source/data/curr/ms.txt
source/data/curr/ms_BN.txt
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/pl.txt
source/data/curr/pool.res
source/data/curr/ps.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/resfiles.mk
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/sbp.txt
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/supplementalData.txt
source/data/curr/sv.txt
source/data/curr/sw.txt
source/data/curr/sw_CD.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/ti.txt
source/data/curr/ti_ER.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/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/icu4j-readme.txt
source/data/in/icudt61l.dat [new file with mode: 0644]
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/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/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/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/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/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/ksb.txt
source/data/lang/ksf.txt
source/data/lang/ksh.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/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/mk.txt
source/data/lang/ml.txt
source/data/lang/mn.txt
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/pl.txt
source/data/lang/pool.res
source/data/lang/ps.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/resfiles.mk
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/sbp.txt
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/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/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/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/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/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_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/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_CM.txt
source/data/locales/ff_GN.txt
source/data/locales/ff_MR.txt
source/data/locales/ff_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_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/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/jgo.txt
source/data/locales/jgo_CM.txt
source/data/locales/jmc.txt
source/data/locales/jmc_TZ.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_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/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/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/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/mr.txt
source/data/locales/mr_IN.txt
source/data/locales/ms.txt
source/data/locales/ms_BN.txt
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/pl.txt
source/data/locales/pl_PL.txt
source/data/locales/pool.res
source/data/locales/ps.txt
source/data/locales/ps_AF.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/resfiles.mk
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/sbp.txt
source/data/locales/sbp_TZ.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/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/ti.txt
source/data/locales/ti_ER.txt
source/data/locales/ti_ET.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/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/makedata.vcxproj
source/data/makedata_uwp.vcxproj
source/data/misc/currencyNumericCodes.txt
source/data/misc/icuver.txt
source/data/misc/keyTypeData.txt
source/data/misc/likelySubtags.txt
source/data/misc/metaZones.txt
source/data/misc/metadata.txt
source/data/misc/plurals.txt
source/data/misc/supplementalData.txt
source/data/misc/windowsZones.txt
source/data/misc/zoneinfo64.txt
source/data/rbnf/ccp.txt [new file with mode: 0644]
source/data/rbnf/ff.txt [new file with mode: 0644]
source/data/rbnf/he.txt
source/data/rbnf/lb.txt [new file with mode: 0644]
source/data/rbnf/qu.txt [new file with mode: 0644]
source/data/rbnf/rbnffiles.mk
source/data/rbnf/sw.txt [new file with mode: 0644]
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/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_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/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/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/jgo.txt
source/data/region/jmc.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/ksb.txt
source/data/region/ksf.txt
source/data/region/ksh.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/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/mk.txt
source/data/region/ml.txt
source/data/region/mn.txt
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/pl.txt
source/data/region/pool.res
source/data/region/ps.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/resfiles.mk
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/sbp.txt
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/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/ti.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/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/Syrc_Latn.txt [new file with mode: 0644]
source/data/translit/fa_fa_FONIPA.txt [new file with mode: 0644]
source/data/translit/ha_ha_NE.txt [new file with mode: 0644]
source/data/translit/ja_Hrkt_ja_Latn_BGN.txt
source/data/translit/nv_nv_FONIPA.txt [new file with mode: 0644]
source/data/translit/root.txt
source/data/translit/vec_vec_FONIPA.txt [new file with mode: 0644]
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/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/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/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/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/jgo.txt
source/data/unit/jmc.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/ksb.txt
source/data/unit/ksf.txt
source/data/unit/ksh.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/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/mk.txt
source/data/unit/ml.txt
source/data/unit/mn.txt
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/pl.txt
source/data/unit/pool.res
source/data/unit/ps.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/resfiles.mk
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/sbp.txt
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/sv.txt
source/data/unit/sv_FI.txt
source/data/unit/sw.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/ti.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/xog.txt
source/data/unit/yav.txt
source/data/unit/yi.txt
source/data/unit/yo.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/xml/brkitr/de.xml
source/data/xml/brkitr/el.xml
source/data/xml/brkitr/en.xml
source/data/xml/brkitr/en_US.xml
source/data/xml/brkitr/en_US_POSIX.xml
source/data/xml/brkitr/es.xml
source/data/xml/brkitr/fi.xml
source/data/xml/brkitr/fr.xml
source/data/xml/brkitr/it.xml
source/data/xml/brkitr/ja.xml
source/data/xml/brkitr/pt.xml
source/data/xml/brkitr/root.xml
source/data/xml/brkitr/ru.xml
source/data/xml/collation/root.xml
source/data/xml/main/root.xml
source/data/xml/rbnf/be.xml
source/data/xml/rbnf/bg.xml
source/data/xml/rbnf/ca.xml
source/data/xml/rbnf/cy.xml
source/data/xml/rbnf/da.xml
source/data/xml/rbnf/de.xml
source/data/xml/rbnf/en.xml
source/data/xml/rbnf/fo.xml
source/data/xml/rbnf/ga.xml
source/data/xml/rbnf/is.xml
source/data/xml/rbnf/mk.xml
source/data/xml/rbnf/mt.xml
source/data/xml/rbnf/nb.xml
source/data/xml/rbnf/nn.xml
source/data/xml/rbnf/root.xml
source/data/xml/rbnf/ru.xml
source/data/xml/rbnf/sr.xml
source/data/xml/rbnf/uk.xml
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/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_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/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/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/jgo.txt
source/data/zone/jmc.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/ksb.txt
source/data/zone/ksf.txt
source/data/zone/ksh.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/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/mk.txt
source/data/zone/ml.txt
source/data/zone/mn.txt
source/data/zone/mr.txt
source/data/zone/ms.txt
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/pl.txt
source/data/zone/pool.res
source/data/zone/ps.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/resfiles.mk
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/sbp.txt
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/sv.txt
source/data/zone/sw.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/ti.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/xog.txt
source/data/zone/yav.txt
source/data/zone/yi.txt
source/data/zone/yo.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/extra/uconv/uconv.vcxproj
source/i18n/Makefile.in
source/i18n/alphaindex.cpp
source/i18n/calendar.cpp
source/i18n/collationiterator.h
source/i18n/dcfmtsym.cpp
source/i18n/decNumber.cpp
source/i18n/decimalformatpattern.cpp
source/i18n/digitlst.cpp
source/i18n/double-conversion-bignum-dtoa.cpp [new file with mode: 0644]
source/i18n/double-conversion-bignum-dtoa.h [new file with mode: 0644]
source/i18n/double-conversion-bignum.cpp [new file with mode: 0644]
source/i18n/double-conversion-bignum.h [new file with mode: 0644]
source/i18n/double-conversion-cached-powers.cpp [new file with mode: 0644]
source/i18n/double-conversion-cached-powers.h [new file with mode: 0644]
source/i18n/double-conversion-diy-fp.cpp [new file with mode: 0644]
source/i18n/double-conversion-diy-fp.h [new file with mode: 0644]
source/i18n/double-conversion-fast-dtoa.cpp [new file with mode: 0644]
source/i18n/double-conversion-fast-dtoa.h [new file with mode: 0644]
source/i18n/double-conversion-ieee.h [new file with mode: 0644]
source/i18n/double-conversion-utils.h [new file with mode: 0644]
source/i18n/double-conversion.cpp [new file with mode: 0644]
source/i18n/double-conversion.h [new file with mode: 0644]
source/i18n/dtptngen.cpp
source/i18n/i18n.vcxproj
source/i18n/i18n.vcxproj.filters
source/i18n/i18n_uwp.vcxproj
source/i18n/islamcal.cpp
source/i18n/measfmt.cpp
source/i18n/measunit.cpp
source/i18n/nfrs.cpp
source/i18n/nfrs.h
source/i18n/nfrule.cpp
source/i18n/nfrule.h
source/i18n/nfsubs.cpp
source/i18n/nfsubs.h
source/i18n/number_affixutils.cpp
source/i18n/number_compact.cpp
source/i18n/number_compact.h
source/i18n/number_decimalquantity.cpp
source/i18n/number_decimalquantity.h
source/i18n/number_decimfmtprops.h
source/i18n/number_fluent.cpp
source/i18n/number_formatimpl.cpp
source/i18n/number_grouping.cpp
source/i18n/number_integerwidth.cpp
source/i18n/number_longnames.cpp
source/i18n/number_longnames.h
source/i18n/number_modifiers.cpp
source/i18n/number_modifiers.h
source/i18n/number_notation.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_stringbuilder.cpp
source/i18n/number_stringbuilder.h
source/i18n/number_types.h
source/i18n/rbnf.cpp
source/i18n/regexcmp.cpp
source/i18n/rematch.cpp
source/i18n/simpletz.cpp
source/i18n/ucol.cpp
source/i18n/ucol_res.cpp
source/i18n/udatpg.cpp
source/i18n/unicode/compactdecimalformat.h
source/i18n/unicode/datefmt.h
source/i18n/unicode/dcfmtsym.h
source/i18n/unicode/decimfmt.h
source/i18n/unicode/dtptngen.h
source/i18n/unicode/measfmt.h
source/i18n/unicode/measunit.h
source/i18n/unicode/nounit.h
source/i18n/unicode/numberformatter.h
source/i18n/unicode/numfmt.h
source/i18n/unicode/simpletz.h
source/i18n/unicode/udatpg.h
source/i18n/unicode/unum.h
source/i18n/unicode/upluralrules.h
source/i18n/unicode/utrans.h
source/i18n/uregex.cpp
source/i18n/utrans.cpp
source/io/io.vcxproj
source/layoutex/layout/plruns.h
source/layoutex/layoutex.vcxproj
source/samples/all/all.sln
source/samples/break/break.cpp
source/samples/break/break.sln
source/samples/break/break.vcxproj
source/samples/cal/cal.sln
source/samples/cal/cal.vcxproj
source/samples/case/case.cpp
source/samples/case/case.sln
source/samples/case/case.vcxproj
source/samples/case/ucase.c
source/samples/citer/citer.cpp
source/samples/citer/citer.vcxproj
source/samples/coll/coll.cpp
source/samples/coll/coll.sln
source/samples/coll/coll.vcxproj
source/samples/csdet/csdet.vcxproj
source/samples/date/date.sln
source/samples/date/date.vcxproj
source/samples/datefmt/datefmt.sln
source/samples/datefmt/datefmt.vcxproj
source/samples/datefmt/main.cpp
source/samples/datefmt/util.cpp
source/samples/datefmt/util.h
source/samples/dtitvfmtsample/dtitvfmtsample.cpp
source/samples/dtitvfmtsample/dtitvfmtsample.vcxproj
source/samples/dtptngsample/dtptngsample.cpp
source/samples/dtptngsample/dtptngsample.vcxproj
source/samples/layout/layout.vcxproj
source/samples/legacy/legacy.sln
source/samples/legacy/legacy.vcxproj
source/samples/msgfmt/msgfmt.sln
source/samples/msgfmt/msgfmt.vcxproj
source/samples/msgfmt/util.cpp
source/samples/msgfmt/util.h
source/samples/numfmt/numfmt.sln
source/samples/numfmt/numfmt.vcxproj
source/samples/numfmt/util.cpp
source/samples/numfmt/util.h
source/samples/plurfmtsample/plurfmtsample.cpp
source/samples/plurfmtsample/plurfmtsample.vcxproj
source/samples/props/props.sln
source/samples/props/props.vcxproj
source/samples/strsrch/strsrch.sln
source/samples/strsrch/strsrch.vcxproj
source/samples/translit/translit.sln
source/samples/translit/translit.vcxproj
source/samples/translit/unaccent.h
source/samples/translit/util.cpp
source/samples/translit/util.h
source/samples/uciter8/uciter8.sln
source/samples/uciter8/uciter8.vcxproj
source/samples/uciter8/uit_len8.c
source/samples/ucnv/convsamp.cpp
source/samples/ucnv/ucnv.sln
source/samples/ucnv/ucnv.vcxproj
source/samples/udata/reader.vcxproj
source/samples/udata/udata.sln
source/samples/udata/writer.vcxproj
source/samples/ufortune/resources/fortune_resources.mak
source/samples/ufortune/ufortune.sln
source/samples/ufortune/ufortune.vcxproj
source/samples/ugrep/ugrep.cpp
source/samples/ugrep/ugrep.sln
source/samples/ugrep/ugrep.vcxproj
source/samples/uresb/resources.vcxproj
source/samples/uresb/uresb.sln
source/samples/uresb/uresb.vcxproj
source/samples/ustring/ustring.cpp
source/samples/ustring/ustring.sln
source/samples/ustring/ustring.vcxproj
source/stubdata/stubdata.vcxproj
source/test/cintltst/ccaltst.c
source/test/cintltst/cintltst.vcxproj
source/test/cintltst/cnumtst.c
source/test/cintltst/creststn.c
source/test/cintltst/cucdtst.c
source/test/cintltst/udatpg_test.c
source/test/cintltst/uregiontest.c
source/test/cintltst/utf8tst.c
source/test/depstest/dependencies.txt
source/test/intltest/Makefile.in
source/test/intltest/alphaindextst.cpp
source/test/intltest/alphaindextst.h
source/test/intltest/calregts.cpp
source/test/intltest/calregts.h
source/test/intltest/compactdecimalformattest.cpp
source/test/intltest/convtest.cpp
source/test/intltest/dtfmttst.cpp
source/test/intltest/dtptngts.cpp
source/test/intltest/dtptngts.h
source/test/intltest/intltest.cpp
source/test/intltest/intltest.h
source/test/intltest/intltest.vcxproj
source/test/intltest/intltest.vcxproj.filters
source/test/intltest/itrbnf.cpp
source/test/intltest/itrbnf.h
source/test/intltest/measfmttest.cpp
source/test/intltest/numberformattesttuple.cpp
source/test/intltest/numberformattesttuple.h
source/test/intltest/numbertest.h
source/test/intltest/numbertest_api.cpp
source/test/intltest/numbertest_decimalquantity.cpp
source/test/intltest/numbertest_doubleconversion.cpp [new file with mode: 0644]
source/test/intltest/numbertest_modifiers.cpp
source/test/intltest/numbertest_patternmodifier.cpp
source/test/intltest/numbertest_stringbuilder.cpp
source/test/intltest/numfmtst.cpp
source/test/intltest/numfmtst.h
source/test/intltest/rbbiapts.cpp
source/test/intltest/rbbitst.cpp
source/test/intltest/rbbitst.h
source/test/intltest/regextst.cpp
source/test/intltest/regextst.h
source/test/intltest/regiontst.cpp
source/test/intltest/tsdcfmsy.cpp
source/test/intltest/tsdcfmsy.h
source/test/intltest/tsmthred.cpp
source/test/intltest/tzregts.cpp
source/test/intltest/tzregts.h
source/test/intltest/ucdtest.cpp
source/test/intltest/ucdtest.h
source/test/intltest/unifiedcachetest.cpp
source/test/intltest/usettest.cpp
source/test/intltest/usettest.h
source/test/iotest/iotest.vcxproj
source/test/letest/letest.vcxproj
source/test/testdata/numberformattestspecification.txt
source/test/testdata/rbbitst.txt
source/test/testdata/root.txt
source/test/testdata/structLocale.txt
source/tools/ctestfw/ctestfw.vcxproj
source/tools/escapesrc/escapesrc.cpp
source/tools/genbrk/genbrk.vcxproj
source/tools/genccode/genccode.vcxproj
source/tools/gencfu/gencfu.vcxproj
source/tools/gencmn/gencmn.vcxproj
source/tools/gencnval/gencnval.vcxproj
source/tools/gendict/gendict.vcxproj
source/tools/gennorm2/gennorm2.vcxproj
source/tools/genrb/derb.vcxproj
source/tools/genrb/genrb.vcxproj
source/tools/gensprep/gensprep.vcxproj
source/tools/gentest/gentest.vcxproj
source/tools/icu-svnprops-check.py
source/tools/icuinfo/icuinfo.vcxproj
source/tools/icuinfo/testplug.vcxproj
source/tools/icupkg/icupkg.vcxproj
source/tools/makeconv/makeconv.vcxproj
source/tools/pkgdata/pkgdata.vcxproj
source/tools/toolutil/toolutil.vcxproj
source/tools/tzcode/Makefile.in
source/tools/tzcode/icuzdump.cpp
source/tools/tzcode/icuzones
source/tools/tzcode/tz2icu.cpp

index 64f4390..d17133d 100644 (file)
@@ -5,31 +5,31 @@
        -->
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>ICU4C API Comparison: ICU 59 with ICU 60</title>
+<title>ICU4C API Comparison: ICU 60 (update #1: 60.2) with ICU 61</title>
 <link type="text/css" href="icu4c.css" rel="stylesheet">
 </head>
 <body>
 <a name="#_top"></a>
-<h1>ICU4C API Comparison: ICU 59 with ICU 60</h1>
+<h1>ICU4C API Comparison: ICU 60 (update #1: 60.2) with ICU 61</h1>
 <div id="toc">
 <ul>
 <li>
-<a href="#removed">Removed from ICU 59</a>
+<a href="#removed">Removed from ICU 60</a>
 </li>
 <li>
-<a href="#deprecated">Deprecated or Obsoleted in ICU 60</a>
+<a href="#deprecated">Deprecated or Obsoleted in ICU 61</a>
 </li>
 <li>
-<a href="#changed">Changed in  ICU 60</a>
+<a href="#changed">Changed in  ICU 61</a>
 </li>
 <li>
-<a href="#promoted">Promoted to stable in ICU 60</a>
+<a href="#promoted">Promoted to stable in ICU 61</a>
 </li>
 <li>
-<a href="#added">Added in ICU 60</a>
+<a href="#added">Added in ICU 61</a>
 </li>
 <li>
-<a href="#other">Other existing drafts in ICU 60</a>
+<a href="#other">Other existing drafts in ICU 61</a>
 </li>
 <li>
 <a href="#purevirtual">Signature Simplifications</a><sup style="background-color: yellow; font-size: smallest;">(new)</sup>
 <hr>
 </div>
 <a name="removed"></a>
-<h2>Removed from ICU 59</h2>
+<h2>Removed from ICU 60</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode {}</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::resolveUnitPerUnit(const MeasureUnit&amp;, const MeasureUnit&amp;)</td><td class="">Internal</td><td>(missing)<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundCeiling</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptSymbols(const NumberingSystem*)</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>actually, just<br>removed “const”<br>from one param<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundDown</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptUnit(const icu::MeasureUnit*)</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>actually, just<br>removed “const”<br>from one param<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundFloor</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::grouping(const Grouper&amp;)</td><td class="">Internal</td><td>(missing)<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundHalfDown</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::defaults()</td><td class="">Internal</td><td>(missing)<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundHalfEven</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::minTwoDigits()</td><td class="">Internal</td><td>(missing)<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundHalfUp</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::none()</td><td class="">Internal</td><td>(missing)<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundUnnecessary</td><td class="stabchange">Stable<br>ICU 4.8</td><td>(moved to numfmt.h)<br></td>
+<td class="file">utrans.h</td><td class="proto">void utrans_trans(const UTransliterator*, UReplaceable*, UReplaceableCallbacks*, int32_t, int32_t*, UErrorCode*)</td><td class="stabchange">Stable<br>ICU 2.0</td><td>(missing)<br>actually, just<br>added “const”<br>to one param<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::DecimalFormat::ERoundingMode::kRoundUp</td><td class="stabchange">Stable<br>ICU 2.4</td><td>(moved to numfmt.h)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_IOSTREAM_SOURCE</td><td class="">Internal</td><td>(missing)<br></td>
-</tr>
-<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const FixedDecimal&amp;)</td><td class="">Internal</td><td>(missing)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">ucasemap.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_NO_BREAK_ADJUSTMENT</td><td class="stabchange">Stable<br>ICU 3.8</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row1">
-<td class="file">ucasemap.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_NO_LOWERCASE</td><td class="stabchange">Stable<br>ICU 3.8</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">ucasemap.h</td><td class="proto"><tt>#define</tt> UCASEMAP_OMIT_UNCHANGED_TEXT</td><td class="">Draft<br>ICU 59</td><td>(missing)<br></td>
-</tr>
-<tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>#define</tt> U_FOLD_CASE_DEFAULT</td><td class="stabchange">Stable<br>ICU 2.0</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>#define</tt> U_FOLD_CASE_EXCLUDE_SPECIAL_I</td><td class="stabchange">Stable<br>ICU 2.0</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row1">
-<td class="file">unorm2.h</td><td class="proto"><tt>#define</tt> U_COMPARE_CODE_POINT_ORDER</td><td class="stabchange">Stable<br>ICU 2.2</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">unorm2.h</td><td class="proto"><tt>#define</tt> U_COMPARE_IGNORE_CASE</td><td class="stabchange">Stable<br>ICU 2.2</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row1">
-<td class="file">unorm2.h</td><td class="proto"><tt>#define</tt> UNORM_INPUT_IS_FCD</td><td class="stabchange">Stable<br>ICU 2.2</td><td>(moved to new stringoptions.h)<br></td>
-</tr>
-<tr class="row0">
-<td class="file">ustring.h</td><td class="proto"><tt>#define</tt> U_COMPARE_CODE_POINT_ORDER</td><td class="stabchange">Stable<br>ICU 2.2</td><td>(moved to new stringoptions.h)<br></td>
+<td class="file">utrans.h</td><td class="proto">void utrans_transIncremental(const UTransliterator*, UReplaceable*, UReplaceableCallbacks*, UTransPosition*, UErrorCode*)</td><td class="stabchange">Stable<br>ICU 2.0</td><td>(missing)<br>actually, just<br>added “const”<br>to one param<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 60</h2>
+<h2>Deprecated or Obsoleted in ICU 61</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
 </THEAD>
-<tr class="row1">
-<td class="file">filteredbrk.h</td><td class="proto">BreakIterator* icu::FilteredBreakIteratorBuilder::build(BreakIterator*, UErrorCode&amp;)</td><td class="stabchange">Stable<br>ICU 56</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">filteredbrk.h</td><td class="proto"><tt>static</tt> FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance(UErrorCode&amp;)</td><td class="stabchange">Stable<br>ICU 56</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">utf_old.h</td><td class="proto"><tt>#define</tt> U_HIDE_OBSOLETE_UTF_OLD_H</td><td class="">(missing)</td><td>Deprecated<br>
-<span class=""><span>ICU 2.4</span></span></td>
-</tr>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="changed"></a>
-<h2>Changed in  ICU 60 (old, new)</h2>
-<table BORDER="1" class="genTable">
-<THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
-</tr>
-</THEAD>
-<tr class="row1">
-<td class="file">filteredbrk.h</td><td class="proto">BreakIterator* icu::FilteredBreakIteratorBuilder::build(BreakIterator*, UErrorCode&amp;)</td><td class="stabchange">Stable<br>ICU 56</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">filteredbrk.h</td><td class="proto"><tt>static</tt> FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance(UErrorCode&amp;)</td><td class="stabchange">Stable<br>ICU 56</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measfmt.h</td><td class="proto">UnicodeString icu::MeasureFormat::getUnitDisplayName(const MeasureUnit&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto">UBiDiTransform* ubiditransform_open(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiMirroring::UBIDI_MIRRORING_OFF</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiMirroring::UBIDI_MIRRORING_ON</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiOrder::UBIDI_LOGICAL</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiOrder::UBIDI_VISUAL</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto">uint32_t ubiditransform_transform(UBiDiTransform*, const UChar*, int32_t, UChar*, int32_t, UBiDiLevel, UBiDiOrder, UBiDiLevel, UBiDiOrder, UBiDiMirroring, uint32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto">void ubiditransform_close(UBiDiTransform*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContext::UDISPCTX_NO_SUBSTITUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContext::UDISPCTX_SUBSTITUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContextType::UDISPCTX_TYPE_SUBSTITUTE_HANDLING</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">URestrictionLevel uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">USpoofCheckResult* uspoof_openCheckResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">U_NAMESPACE_END int32_t uspoof_getCheckResultChecks(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">const USet* uspoof_getCheckResultNumerics(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto"><tt>enum</tt> USpoofChecks::USPOOF_CONFUSABLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2(const USpoofChecker*, const UChar*, int32_t, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2UTF8(const USpoofChecker*, const char*, int32_t, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2UnicodeString(const USpoofChecker*, const icu::UnicodeString&amp;, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_closeCheckResult(USpoofCheckResult*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td></td><td></td><td></td><td></td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
-<a name="promoted"></a>
-<h2>Promoted to stable in ICU 60</h2>
+<a name="changed"></a>
+<h2>Changed in  ICU 61 (old, new)</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">measfmt.h</td><td class="proto">UnicodeString icu::MeasureFormat::getUnitDisplayName(const MeasureUnit&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::fold(uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode {}</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toLower(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundCeiling</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toTitle(const char*, uint32_t, BreakIterator*, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundDown</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toUpper(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundFloor</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8Fold(uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfDown</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToLower(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfEven</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfUp</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToUpper(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundUnnecessary</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 4.8</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">char16_t* icu::Char16Ptr::get()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundUp</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">const char16_t* icu::ConstChar16Ptr::get()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto">UBiDiTransform* ubiditransform_open(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(char16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiMirroring::UBIDI_MIRRORING_OFF</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiMirroring::UBIDI_MIRRORING_ON</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiOrder::UBIDI_LOGICAL</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto"><tt>enum</tt> UBiDiOrder::UBIDI_VISUAL</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::operator char16_t* ()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">ubiditransform.h</td><td class="proto">uint32_t ubiditransform_transform(UBiDiTransform*, const UChar*, int32_t, UChar*, int32_t, UBiDiLevel, UBiDiOrder, UBiDiLevel, UBiDiOrder, UBiDiMirroring, uint32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::~Char16Ptr()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">ubiditransform.h</td><td class="proto">void ubiditransform_close(UBiDiTransform*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const char16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KANA_EXTENDED_A</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MASARAM_GONDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_NUSHU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::operator const char16_t* ()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SOYOMBO</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::~ConstChar16Ptr()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SYRIAC_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseChangesIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ZANABAZAR_SQUARE</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_BHA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineChangesIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_JA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_LLA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">UBool icu::Edits::copyErrorTo(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_LLLA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">UBool icu::Edits::hasChanges()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NGA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::Edits()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NNA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::~Edits()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NNNA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">int32_t icu::Edits::lengthDelta()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NYA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::addReplace(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_RA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::addUnchanged(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_SSA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::reset()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_TTA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoint(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_EMOJI_COMPONENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_openBinaryRules(const uint8_t*, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_PREPENDED_CONCATENATION_MARK</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">ubrk.h</td><td class="proto">int32_t ubrk_getBinaryRules(UBreakIterator*, uint8_t*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_REGIONAL_INDICATOR</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContext::UDISPCTX_NO_SUBSTITUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContext::UDISPCTX_SUBSTITUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">udisplaycontext.h</td><td class="proto"><tt>enum</tt> UDisplayContextType::UDISPCTX_TYPE_SUBSTITUTE_HANDLING</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MASARAM_GONDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const uint16_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_SOYOMBO</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const wchar_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_ZANABAZAR_SQUARE</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(std::nullptr_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">URestrictionLevel uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(uint16_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">USpoofCheckResult* uspoof_openCheckResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(wchar_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">U_NAMESPACE_END int32_t uspoof_getCheckResultChecks(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">unum.h</td><td class="proto">int32_t unum_formatDoubleForFields(const UNumberFormat*, double, UChar*, int32_t, UFieldPositionIterator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">const USet* uspoof_getCheckResultNumerics(const USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto"><tt>enum</tt> USpoofChecks::USPOOF_CONFUSABLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2(const USpoofChecker*, const UChar*, int32_t, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2UTF8(const USpoofChecker*, const char*, int32_t, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check2UnicodeString(const USpoofChecker*, const icu::UnicodeString&amp;, USpoofCheckResult*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
-</tr>
-<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_closeCheckResult(USpoofCheckResult*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 58</td>
+<td class="file">upluralrules.h</td><td class="proto">UEnumeration* uplrules_getKeywords(const UPluralRules*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
-<a name="added"></a>
-<h2>Added in ICU 60</h2>
+<a name="promoted"></a>
+<h2>Promoted to stable in ICU 61</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">icu::StringByteSink&lt; StringClass &gt;::StringByteSink(StringClass*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::fold(uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8Fold(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toLower(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToLower(const char*, uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toTitle(const char*, uint32_t, BreakIterator*, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toUpper(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToUpper(const char*, uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8Fold(uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToLower(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit(const MeasureUnit&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">dcfmtsym.h</td><td class="proto">icu::DecimalFormatSymbols::DecimalFormatSymbols(const Locale&amp;, const NumberingSystem&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToUpper(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::mergeAndAppend(const Edits&amp;, const Edits&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">char16_t* icu::Char16Ptr::get()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::operator=(Edits&amp;&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">const char16_t* icu::ConstChar16Ptr::get()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::operator=(const Edits&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(char16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">icu::Edits::Edits(Edits&amp;&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">icu::Edits::Edits(const Edits&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">int32_t icu::Edits::numberOfChanges()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">filteredbrk.h</td><td class="proto">BreakIterator* icu::FilteredBreakIteratorBuilder::wrapIteratorWithFilter(BreakIterator*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::operator char16_t* ()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">filteredbrk.h</td><td class="proto"><tt>static</tt> FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createEmptyInstance(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::~Char16Ptr()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">normalizer2.h</td><td class="proto">UBool icu::FilteredNormalizer2::isNormalizedUTF8(StringPiece, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const char16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">normalizer2.h</td><td class="proto">UBool icu::Normalizer2::isNormalizedUTF8(StringPiece, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">normalizer2.h</td><td class="proto">void icu::FilteredNormalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">normalizer2.h</td><td class="proto">void icu::Normalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">UClassID icu::NoUnit::getDynamicClassID()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::operator const char16_t* ()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">UObject* icu::NoUnit::clone()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::~ConstChar16Ptr()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::NoUnit(const NoUnit&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseChangesIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::~NoUnit()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::base()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineChangesIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::percent()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineIterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::permille()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">UBool icu::Edits::copyErrorTo(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> UClassID icu::NoUnit::getStaticClassID()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">UBool icu::Edits::hasChanges()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Appendable&amp; icu::number::FormattedNumber::appendTo(Appendable&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::Edits()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptSymbols(const NumberingSystem*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptUnit(const icu::MeasureUnit*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::decimal(const UNumberDecimalSeparatorDisplay&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::grouping(const Grouper&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::integerWidth(const IntegerWidth&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::notation(const Notation&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::padding(const impl::Padder&amp;)</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::~Edits()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::rounding(const Rounder&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">int32_t icu::Edits::lengthDelta()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::sign(const UNumberSignDisplay&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::addReplace(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::symbols(const DecimalFormatSymbols&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::addUnchanged(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::threshold(int32_t)</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">edits.h</td><td class="proto">void icu::Edits::reset()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unit(const icu::MeasureUnit&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoint(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitWidth(const UNumberUnitWidth&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_openBinaryRules(const uint8_t*, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatDecimal(StringPiece, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">ubrk.h</td><td class="proto">int32_t ubrk_getBinaryRules(UBreakIterator*, uint8_t*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatDouble(double, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatInt(int64_t, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">IntegerWidth icu::number::IntegerWidth::truncateAt(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">LocalizedNumberFormatter icu::number::UnlocalizedNumberFormatter::locale(const icu::Locale&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::CurrencyRounder::withCurrency(const CurrencyUnit&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const uint16_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::FractionRounder::withMaxDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const wchar_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::FractionRounder::withMinDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(std::nullptr_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::IncrementRounder::withMinFraction(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(uint16_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::Rounder::withMode(UNumberFormatRoundingMode)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(wchar_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">ScientificNotation icu::number::ScientificNotation::withExponentSignDisplay(UNumberSignDisplay)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">unum.h</td><td class="proto">int32_t unum_formatDoubleForFields(const UNumberFormat*, double, UChar*, int32_t, UFieldPositionIterator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">ScientificNotation icu::number::ScientificNotation::withMinExponentDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">upluralrules.h</td><td class="proto">UEnumeration* uplrules_getKeywords(const UPluralRules*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 59</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">SymbolsWrapper&amp; icu::number::impl::SymbolsWrapper::operator=(const SymbolsWrapper&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::NumberFormatterSettings&lt; Derived &gt;::copyErrorTo(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::impl::SymbolsWrapper::copyErrorTo(UErrorCode&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumber::toString()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">bool icu::number::impl::SymbolsWrapper::isDecimalFormatSymbols()</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">bool icu::number::impl::SymbolsWrapper::isNumberingSystem()</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">const DecimalFormatSymbols* icu::number::impl::SymbolsWrapper::getDecimalFormatSymbols()</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">const NumberingSystem* icu::number::impl::SymbolsWrapper::getNumberingSystem()</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_ALWAYS</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_AUTO</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_COUNT</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ALWAYS</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_AUTO</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_COUNT</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_NEVER</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_COUNT</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_HIDDEN</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">utrans.h</td><td class="proto">void utrans_trans(const UTransliterator*, UReplaceable*, const UReplaceableCallbacks*, int32_t, int32_t*, UErrorCode*)</td><td class="">(missing)<br>old version (stable)<br>lacked “const”<br>on one param</td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_SHORT</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">utrans.h</td><td class="proto">void utrans_transIncremental(const UTransliterator*, UReplaceable*, const UReplaceableCallbacks*, UTransPosition*, UErrorCode*)</td><td class="">(missing)<br>old version (stable)<br>lacked “const”<br>on one param</td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::FormattedNumber::~FormattedNumber()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="added"></a>
+<h2>Added in ICU 61</h2>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
+</THEAD>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter(const LocalizedNumberFormatter&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto">UChar32 icu::DecimalFormatSymbols::getCodePointZero()</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::LocalizedNumberFormatter::~LocalizedNumberFormatter()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto">const UnicodeString&amp; icu::DecimalFormatSymbols::getConstDigitSymbol(int32_t)</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::NumberFormatter::NumberFormatter()=delete</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">dtptngen.h</td><td class="proto">UnicodeString icu::DateTimePatternGenerator::getFieldDisplayName(UDateTimePatternField, UDateTimePGDisplayWidth)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::UnlocalizedNumberFormatter::UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::resolveUnitPerUnit(const MeasureUnit&amp;, const MeasureUnit&amp;, bool*)</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::SymbolsWrapper::SymbolsWrapper()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptPerUnit(icu::MeasureUnit*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::SymbolsWrapper::SymbolsWrapper(const SymbolsWrapper&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptSymbols(NumberingSystem*)</td><td class="">(missing)<br>old version<br>had “const”<br>on param</td><td>Draft<br>
+<span class=""><span>ICU 60</span>
+<br>
+<b class="bigwarn" title="A draft API has the wrong version.">(should be ICU 61)</b><br>decided to keep draft ICU 60</span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::SymbolsWrapper::~SymbolsWrapper()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptUnit(icu::MeasureUnit*)</td><td class="">(missing)<br>old version<br>had “const”<br>on param</td><td>Draft<br>
+<span class=""><span>ICU 60</span>
+<br>
+<b class="bigwarn" title="A draft API has the wrong version.">(should be ICU 61)</b><br>decided to keep draft ICU 60</span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CompactNotation icu::number::Notation::compactLong()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::grouping(const UGroupingStrategy&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CompactNotation icu::number::Notation::compactShort()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::perUnit(const icu::MeasureUnit&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CurrencyRounder icu::number::Rounder::currency(UCurrencyUsage)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UGroupingStrategy::UNUM_GROUPING_AUTO</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::fixedDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UGroupingStrategy::UNUM_GROUPING_MIN2</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::maxDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UGroupingStrategy::UNUM_GROUPING_OFF</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::minDigits(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UGroupingStrategy::UNUM_GROUPING_ON_ALIGNED</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::minMaxDigits(int32_t, int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UGroupingStrategy::UNUM_GROUPING_THOUSANDS</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::fixedFraction(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::integer()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::maxFraction(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Grouper::Grouper(int16_t, int16_t, int16_t)</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::minFraction(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::impl::Grouper::forStrategy(UGroupingStrategy)</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::minMaxFraction(int32_t, int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">rbbi.h</td><td class="proto">void icu::RuleBasedBreakIterator::dumpTables()</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::defaults()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">ucurr.h</td><td class="proto"><tt>enum</tt> UCurrNameStyle::UCURR_NARROW_SYMBOL_NAME</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::minTwoDigits()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePGDisplayWidth::UDATPG_ABBREVIATED</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Grouper icu::number::Grouper::none()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePGDisplayWidth::UDATPG_NARROW</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> IncrementRounder icu::number::Rounder::increment(double)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePGDisplayWidth::UDATPG_WIDE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> IntegerWidth icu::number::IntegerWidth::zeroFillTo(int32_t)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">udatpg.h</td><td class="proto">int32_t udatpg_getFieldDisplayName(const UDateTimePatternGenerator*, UDateTimePatternField, UDateTimePGDisplayWidth, UChar*, int32_t, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> LocalizedNumberFormatter icu::number::NumberFormatter::withLocale(const Locale&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_INTERNAL_NEXT_OR_SUB</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Padder icu::number::impl::Padder::codePoints(UChar32, int32_t, UNumberFormatPadPosition)</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_TRUNCATE_IF_INCOMPLETE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 61</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Padder icu::number::impl::Padder::none()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">utrans.h</td><td class="proto">void utrans_trans(const UTransliterator*, UReplaceable*, const UReplaceableCallbacks*, int32_t, int32_t*, UErrorCode*)</td><td class="">(missing) old version<br>(stable) lacked “const”<br>on one parameter</td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Rounder icu::number::Rounder::unlimited()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> ScientificNotation icu::number::Notation::engineering()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">utrans.h</td><td class="proto">void utrans_transIncremental(const UTransliterator*, UReplaceable*, const UReplaceableCallbacks*, UTransPosition*, UErrorCode*)</td><td class="">(missing) old version<br>(stable) lacked “const”<br>on one parameter</td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> ScientificNotation icu::number::Notation::scientific()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="other"></a>
+<h2>Other existing drafts in ICU 61</h2>
+<div class="other">
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>ICU 60</th><th>ICU 61</th>
 </tr>
+</THEAD>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> SimpleNotation icu::number::Notation::simple()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">bytestream.h</td><td class="proto">icu::StringByteSink&lt; StringClass &gt;::StringByteSink(StringClass*, int32_t)</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"><tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::with()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8Fold(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">void icu::number::FormattedNumber::populateFieldPosition(FieldPosition&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToLower(const char*, uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</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">void icu::number::FormattedNumber::populateFieldPositionIterator(FieldPositionIterator&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">void icu::number::impl::SymbolsWrapper::setTo(const DecimalFormatSymbols&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">casemap.h</td><td class="proto"><tt>static</tt> void icu::CaseMap::utf8ToUpper(const char*, uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</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">void icu::number::impl::SymbolsWrapper::setTo(const NumberingSystem*)</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto">ERoundingMode icu::NumberFormat::getRoundingMode()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit(const MeasureUnit&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode {}</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto">icu::DecimalFormatSymbols::DecimalFormatSymbols(const Locale&amp;, const NumberingSystem&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundCeiling</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::mergeAndAppend(const Edits&amp;, const Edits&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundDown</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::operator=(Edits&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundFloor</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">Edits&amp; icu::Edits::operator=(const Edits&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfDown</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::Edits(Edits&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfEven</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">icu::Edits::Edits(const Edits&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundHalfUp</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">edits.h</td><td class="proto">int32_t icu::Edits::numberOfChanges()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundUnnecessary</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 4.8</span></span></td>
+<td class="file">filteredbrk.h</td><td class="proto">BreakIterator* icu::FilteredBreakIteratorBuilder::wrapIteratorWithFilter(BreakIterator*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt> 
-                                                       icu::NumberFormat::ERoundingMode::kRoundUp</td><td class="">(moved from decimfmt.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">filteredbrk.h</td><td class="proto"><tt>static</tt> FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createEmptyInstance(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto">void icu::NumberFormat::setRoundingMode(ERoundingMode)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">localpointer.h</td><td class="proto">LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::moveFrom(LocalArray&lt; T &gt;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 56</td>
 </tr>
 <tr class="row0">
-<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_CALLCONV_FPTR</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">localpointer.h</td><td class="proto">LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::moveFrom(LocalPointer&lt; T &gt;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 56</td>
 </tr>
 <tr class="row1">
-<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_PF_FUCHSIA</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">measfmt.h</td><td class="proto">void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 53</td>
 </tr>
 <tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const IFixedDecimal&amp;)</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool icu::FilteredNormalizer2::isNormalizedUTF8(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">rbbi.h</td><td class="proto">void icu::RuleBasedBreakIterator::dumpCache()</td><td class="">(missing)</td><td>Internal<br>
-</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool icu::Normalizer2::isNormalizedUTF8(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">rbnf.h</td><td class="proto">ERoundingMode icu::RuleBasedNumberFormat::getRoundingMode()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">normalizer2.h</td><td class="proto">void icu::FilteredNormalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">rbnf.h</td><td class="proto">void icu::RuleBasedNumberFormat::setRoundingMode(ERoundingMode)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">normalizer2.h</td><td class="proto">void icu::Normalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&amp;, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_COMPARE_CODE_POINT_ORDER</td><td class="">(moved from unorm2.h, ustring.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.2</span></span></td>
+<td class="file">nounit.h</td><td class="proto">UClassID icu::NoUnit::getDynamicClassID()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_COMPARE_IGNORE_CASE</td><td class="">(moved from unorm2.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.2</span></span></td>
+<td class="file">nounit.h</td><td class="proto">UObject* icu::NoUnit::clone()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_EDITS_NO_RESET</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<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="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_FOLD_CASE_DEFAULT</td><td class="">(moved from uchar.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.0</span></span></td>
+<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="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_FOLD_CASE_EXCLUDE_SPECIAL_I</td><td class="">(moved from moved from uchar.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.0</span></span></td>
+<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="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_OMIT_UNCHANGED_TEXT</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<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="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_ADJUST_TO_CASED</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<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="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_NO_BREAK_ADJUSTMENT</td><td class="">(moved from ucasemap.h)</td><td>Stable<br>
-<span class=""><span>ICU 3.8</span></span></td>
+<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="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_NO_LOWERCASE</td><td class="">(moved from ucasemap.h)</td><td>Stable<br>
-<span class=""><span>ICU 3.8</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Appendable&amp; icu::number::FormattedNumber::appendTo(Appendable&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_SENTENCES</td><td class="">(missing)</td><td>Draft<br>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptSymbols(NumberingSystem*)</td><td class="">(missing)<br>
+</td><td>Draft<br>
 <span class=""><span>ICU 60</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_WHOLE_STRING</td><td class="">(missing)</td><td>Draft<br>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::adoptUnit(icu::MeasureUnit*)</td><td class="">(missing)<br>
+</td><td>Draft<br>
 <span class=""><span>ICU 60</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> UNORM_INPUT_IS_FCD</td><td class="">(moved from unorm2.h)</td><td>Stable<br>
-<span class=""><span>ICU 2.2</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::decimal(const UNumberDecimalSeparatorDisplay&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
-
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::integerWidth(const IntegerWidth&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KANA_EXTENDED_A</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::notation(const Notation&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MASARAM_GONDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::rounding(const Rounder&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_NUSHU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::sign(const UNumberSignDisplay&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SOYOMBO</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::symbols(const DecimalFormatSymbols&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SYRIAC_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unit(const icu::MeasureUnit&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ZANABAZAR_SQUARE</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitWidth(const UNumberUnitWidth&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_BHA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatDecimal(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_JA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatDouble(double, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_LLA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">FormattedNumber icu::number::LocalizedNumberFormatter::formatInt(int64_t, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_LLLA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">IntegerWidth icu::number::IntegerWidth::truncateAt(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NGA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">LocalizedNumberFormatter icu::number::UnlocalizedNumberFormatter::locale(const icu::Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NNA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::CurrencyRounder::withCurrency(const CurrencyUnit&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NNNA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::FractionRounder::withMaxDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_NYA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::FractionRounder::withMinDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_RA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::IncrementRounder::withMinFraction(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_SSA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">Rounder icu::number::Rounder::withMode(UNumberFormatRoundingMode)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_MALAYALAM_TTA</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">ScientificNotation icu::number::ScientificNotation::withExponentSignDisplay(UNumberSignDisplay)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_EMOJI_COMPONENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">ScientificNotation icu::number::ScientificNotation::withMinExponentDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_PREPENDED_CONCATENATION_MARK</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::NumberFormatterSettings&lt; Derived &gt;::copyErrorTo(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_REGIONAL_INDICATOR</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumber::toString()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MASARAM_GONDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_ALWAYS</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_SOYOMBO</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_AUTO</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_ZANABAZAR_SQUARE</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 60</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">utf_old.h</td><td class="proto"><tt>#define</tt> U_HIDE_OBSOLETE_UTF_OLD_H</td><td class="">(missing)</td><td>Deprecated<br>
-<span class=""><span>ICU 2.4</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_GET_OR_FFFD</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ALWAYS</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_NEXT_OR_FFFD</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_PREV_OR_FFFD</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 60</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_IS_VALID_LEAD3_AND_T1</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row1">
-<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_IS_VALID_LEAD4_AND_T1</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row0">
-<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_LEAD3_T1_BITS</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-<tr class="row1">
-<td class="file">utf8.h</td><td class="proto"><tt>#define</tt> U8_LEAD4_T1_BITS</td><td class="">(missing)</td><td>Internal<br>
-</td>
-</tr>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="other"></a>
-<h2>Other existing drafts in ICU 60</h2>
-<div class="other">
-<table BORDER="1" class="genTable">
-<THEAD>
-<tr>
-<th>File</th><th>API</th><th>ICU 59</th><th>ICU 60</th>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_AUTO</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
-</THEAD>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::fold(uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_NEVER</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toLower(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toTitle(const char*, uint32_t, BreakIterator*, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_HIDDEN</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::toUpper(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8Fold(uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToLower(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_SHORT</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::FormattedNumber::~FormattedNumber()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">casemap.h</td><td class="proto"><tt>static</tt> int32_t icu::CaseMap::utf8ToUpper(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter(const LocalizedNumberFormatter&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">char16_t* icu::Char16Ptr::get()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::LocalizedNumberFormatter::~LocalizedNumberFormatter()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">const char16_t* icu::ConstChar16Ptr::get()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::NumberFormatter::NumberFormatter()=delete</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(char16_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::UnlocalizedNumberFormatter::UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CompactNotation icu::number::Notation::compactLong()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(uint16_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CompactNotation icu::number::Notation::compactShort()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::Char16Ptr(wchar_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> CurrencyRounder icu::number::Rounder::currency(UCurrencyUsage)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::operator char16_t* ()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::fixedDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::Char16Ptr::~Char16Ptr()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::maxDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const char16_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::minDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> DigitRounder icu::number::Rounder::minMaxDigits(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const uint16_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::fixedFraction(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::ConstChar16Ptr(const wchar_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::integer()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::operator const char16_t* ()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::maxFraction(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">char16ptr.h</td><td class="proto">icu::ConstChar16Ptr::~ConstChar16Ptr()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::minFraction(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseChangesIterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> FractionRounder icu::number::Rounder::minMaxFraction(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getCoarseIterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> IncrementRounder icu::number::Rounder::increment(double)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineChangesIterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> IntegerWidth icu::number::IntegerWidth::zeroFillTo(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">Iterator icu::Edits::getFineIterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> LocalizedNumberFormatter icu::number::NumberFormatter::withLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">UBool icu::Edits::copyErrorTo(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> Rounder icu::number::Rounder::unlimited()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">UBool icu::Edits::hasChanges()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> ScientificNotation icu::number::Notation::engineering()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">icu::Edits::Edits()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> ScientificNotation icu::number::Notation::scientific()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">icu::Edits::~Edits()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> SimpleNotation icu::number::Notation::simple()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">int32_t icu::Edits::lengthDelta()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::with()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">void icu::Edits::addReplace(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">void icu::number::FormattedNumber::populateFieldPosition(FieldPosition&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">edits.h</td><td class="proto">void icu::Edits::addUnchanged(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numberformatter.h</td><td class="proto">void icu::number::FormattedNumber::populateFieldPositionIterator(FieldPositionIterator&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">edits.h</td><td class="proto">void icu::Edits::reset()</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">numfmt.h</td><td class="proto">ERoundingMode icu::NumberFormat::getRoundingMode()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">localpointer.h</td><td class="proto">LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::moveFrom(LocalArray&lt; T &gt;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 56</td>
+<td class="file">numfmt.h</td><td class="proto">void icu::NumberFormat::setRoundingMode(ERoundingMode)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">localpointer.h</td><td class="proto">LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::moveFrom(LocalPointer&lt; T &gt;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 56</td>
+<td class="file">rbnf.h</td><td class="proto">ERoundingMode icu::RuleBasedNumberFormat::getRoundingMode()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</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;)</td><td class="" colspan="2" align="center">Draft<br>ICU 53</td>
+<td class="file">rbnf.h</td><td class="proto">void icu::RuleBasedNumberFormat::setRoundingMode(ERoundingMode)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoint(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_EDITS_NO_RESET</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_openBinaryRules(const uint8_t*, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_OMIT_UNCHANGED_TEXT</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">ubrk.h</td><td class="proto">int32_t ubrk_getBinaryRules(UBreakIterator*, uint8_t*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_ADJUST_TO_CASED</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_SENTENCES</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">unistr.h</td><td class="proto">UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">stringoptions.h</td><td class="proto"><tt>#define</tt> U_TITLECASE_WHOLE_STRING</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row1">
 <td class="file">unistr.h</td><td class="proto">UnicodeString&amp; icu::UnicodeString::moveFrom(UnicodeString&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 56</td>
 </tr>
 <tr class="row0">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const std::nullptr_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const uint16_t*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(const wchar_t*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(std::nullptr_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(uint16_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
-</tr>
-<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">icu::UnicodeString::UnicodeString(wchar_t*, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<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="row1">
-<td class="file">unum.h</td><td class="proto">int32_t unum_formatDoubleForFields(const UNumberFormat*, double, UChar*, int32_t, UFieldPositionIterator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_GET_OR_FFFD</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 <tr class="row0">
-<td class="file">upluralrules.h</td><td class="proto">UEnumeration* uplrules_getKeywords(const UPluralRules*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 59</td>
+<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_NEXT_OR_FFFD</td><td class="" colspan="2" align="center">Draft<br>ICU 60</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">utf16.h</td><td class="proto"><tt>#define</tt> U16_PREV_OR_FFFD</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
 </tr>
 </table>
 </div>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <p>
-<i><font size="-1">Contents generated by StableAPI tool on Wed Oct 04 23:55:39 UTC 2017<br>Copyright (C) 2017, International Business Machines Corporation, All Rights Reserved.</font></i>
+<i><font size="-1">Contents generated by StableAPI tool on Wed Mar 07 19:18:25 UTC 2018<br>Copyright (C) 2018, International Business Machines Corporation, All Rights Reserved.</font></i>
 </p>
 </body>
 </html>
diff --git a/LICENSE b/LICENSE
index c84076c..25b6eb9 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
 COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
 
-Copyright © 1991-2017 Unicode, Inc. All rights reserved.
-Distributed under the Terms of Use in http://www.unicode.org/copyright.html
+Copyright © 1991-2018 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of the Unicode data files and any associated documentation
@@ -383,3 +383,32 @@ Database section 7.
  #    by ICANN or the IETF Trust on the database or the code.  Any person
  #    making a contribution to the database or code waives all rights to
  #    future claims in that contribution or in the TZ Database.
+
+6. Google double-conversion
+
+Copyright 2006-2011, the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
index 0a2b44d..e283835 100644 (file)
-icu/source/io/io.vcxproj.filters
-icu/source/io/io.vcxproj
-icu/source/extra/uconv/uconv.vcxproj
-icu/source/extra/uconv/uconv.vcxproj.filters
-icu/source/extra/uconv/resources/fr.txt
-icu/source/extra/uconv/resources/root.txt
-icu/source/extra/uconv/samples/utf8/korean.txt
-icu/source/extra/uconv/samples/utf8/chinese-ulysses.txt
-icu/source/extra/uconv/samples/utf8/danish.txt
-icu/source/extra/uconv/samples/utf8/banviet.txt
-icu/source/extra/uconv/samples/utf8/simplechinese.txt
-icu/source/extra/uconv/samples/utf8/russian.txt
-icu/source/extra/uconv/samples/utf8/utf-8-demo.txt
-icu/source/extra/uconv/samples/utf8/hania.txt
-icu/source/extra/uconv/samples/utf8/many.txt
-icu/source/extra/uconv/samples/utf8/jap.txt
-icu/source/extra/uconv/samples/utf8/croat.txt
-icu/source/extra/uconv/samples/utf8/linji.txt
-icu/source/extra/uconv/samples/utf8/maopoem.txt
-icu/source/extra/uconv/samples/utf8/greek.txt
-icu/source/extra/uconv/samples/utf8/turkish.txt
-icu/source/extra/uconv/samples/utf8/hangul.txt
-icu/source/extra/uconv/samples/utf8/armenian.txt
-icu/source/i18n/i18n_uwp.vcxproj
-icu/source/i18n/i18n.vcxproj.filters
-icu/source/i18n/i18n.vcxproj
-icu/source/test/letest/gendata.vcxproj.filters
-icu/source/test/letest/cletest.sln
+icu/source/common/common.vcxproj.filters
+icu/source/common/common.vcxproj
+icu/source/common/common_uwp.vcxproj
 icu/source/test/letest/cletest.vcxproj
-icu/source/test/letest/gendata.vcxproj
-icu/source/test/letest/cletest.vcxproj.filters
+icu/source/test/letest/gendata.vcxproj.filters
 icu/source/test/letest/letest.vcxproj
 icu/source/test/letest/letest.vcxproj.filters
+icu/source/test/letest/cletest.vcxproj.filters
+icu/source/test/letest/cletest.sln
+icu/source/test/letest/gendata.vcxproj
+icu/source/test/perf/ubrkperf/ubrkperf.vcxproj
+icu/source/test/perf/ubrkperf/ubrkperf.vcxproj.filters
+icu/source/test/perf/normperf/dtfmtrtperf.vcxproj.filters
+icu/source/test/perf/normperf/normperf.vcxproj
+icu/source/test/perf/normperf/normperf.vcxproj.filters
+icu/source/test/perf/normperf/dtfmtrtperf.vcxproj
+icu/source/test/perf/convperf/convperf.vcxproj
+icu/source/test/perf/convperf/convperf.vcxproj.filters
+icu/source/test/perf/ucnvavailperf/ucnvavailperf.vcxproj
+icu/source/test/perf/collperf/collperf.vcxproj
+icu/source/test/perf/collperf/collperf.vcxproj.filters
+icu/source/test/perf/charperf/charperf.vcxproj
+icu/source/test/perf/charperf/charperf.vcxproj.filters
+icu/source/test/perf/unisetperf/unisetperf.vcxproj
+icu/source/test/perf/ustrperf/stringperf.vcxproj
+icu/source/test/perf/ustrperf/stringperf.vcxproj.filters
+icu/source/test/perf/utfperf/utfperf.vcxproj
+icu/source/test/perf/utfperf/utfperf.vcxproj.filters
+icu/source/test/perf/usetperf/usetperf.vcxproj
+icu/source/test/perf/usetperf/usetperf.vcxproj.filters
+icu/source/test/perf/DateFmtPerf/DateFmtPerf.vcxproj.filters
+icu/source/test/perf/DateFmtPerf/DateFmtPerf.vcxproj
+icu/source/test/perf/strsrchperf/strsrchperf.vcxproj
+icu/source/test/perf/strsrchperf/strsrchperf.vcxproj.filters
+icu/source/test/perf/utrie2perf/utrie2perf.vcxproj
+icu/source/test/perf/collperf2/collperf2.vcxproj.filters
+icu/source/test/perf/collperf2/collperf2.vcxproj
+icu/source/test/cintltst/cintltst.vcxproj.filters
+icu/source/test/cintltst/cintltst.vcxproj
+icu/source/test/testdata/casing.txt
+icu/source/test/testdata/windowsZones.txt
 icu/source/test/testdata/ConverterSelectorTestUTF8.txt
+icu/source/test/testdata/dcfmtest.txt
 icu/source/test/testdata/riwords.txt
-icu/source/test/testdata/regextst.txt
-icu/source/test/testdata/timezoneTypes.txt
+icu/source/test/testdata/idna_conf.txt
 icu/source/test/testdata/rbbitst.txt
-icu/source/test/testdata/metaZones.txt
-icu/source/test/testdata/windowsZones.txt
 icu/source/test/testdata/collationtest.txt
-icu/source/test/testdata/dcfmtest.txt
-icu/source/test/testdata/idna_conf.txt
+icu/source/test/testdata/NumberFormatTestCases.txt
+icu/source/test/testdata/regextst.txt
 icu/source/test/testdata/format.txt
+icu/source/test/testdata/metaZones.txt
+icu/source/test/testdata/timezoneTypes.txt
 icu/source/test/testdata/te_IN.txt
-icu/source/test/testdata/NumberFormatTestCases.txt
-icu/source/test/testdata/casing.txt
+icu/source/test/testdata/break_rules/line_loose_cj.txt
 icu/source/test/testdata/break_rules/sentence.txt
+icu/source/test/testdata/break_rules/word.txt
 icu/source/test/testdata/break_rules/word_POSIX.txt
-icu/source/test/testdata/break_rules/line.txt
-icu/source/test/testdata/break_rules/line_normal.txt
-icu/source/test/testdata/break_rules/grapheme.txt
 icu/source/test/testdata/break_rules/readme.txt
-icu/source/test/testdata/break_rules/word.txt
+icu/source/test/testdata/break_rules/line_normal.txt
+icu/source/test/testdata/break_rules/line.txt
 icu/source/test/testdata/break_rules/line_loose.txt
+icu/source/test/testdata/break_rules/grapheme.txt
 icu/source/test/testdata/break_rules/line_normal_cj.txt
-icu/source/test/testdata/break_rules/line_loose_cj.txt
-icu/source/test/cintltst/cintltst.vcxproj.filters
-icu/source/test/cintltst/cintltst.vcxproj
-icu/source/test/perf/utrie2perf/utrie2perf.vcxproj
-icu/source/test/perf/DateFmtPerf/DateFmtPerf.vcxproj.filters
-icu/source/test/perf/DateFmtPerf/DateFmtPerf.vcxproj
-icu/source/test/perf/ustrperf/stringperf.vcxproj
-icu/source/test/perf/ustrperf/stringperf.vcxproj.filters
-icu/source/test/perf/usetperf/usetperf.vcxproj
-icu/source/test/perf/usetperf/usetperf.vcxproj.filters
-icu/source/test/perf/collperf/collperf.vcxproj
-icu/source/test/perf/collperf/collperf.vcxproj.filters
-icu/source/test/perf/ucnvavailperf/ucnvavailperf.vcxproj
-icu/source/test/perf/ubrkperf/ubrkperf.vcxproj.filters
-icu/source/test/perf/ubrkperf/ubrkperf.vcxproj
-icu/source/test/perf/collperf2/collperf2.vcxproj
-icu/source/test/perf/collperf2/collperf2.vcxproj.filters
-icu/source/test/perf/utfperf/utfperf.vcxproj
-icu/source/test/perf/utfperf/utfperf.vcxproj.filters
-icu/source/test/perf/convperf/convperf.vcxproj.filters
-icu/source/test/perf/convperf/convperf.vcxproj
-icu/source/test/perf/unisetperf/unisetperf.vcxproj
-icu/source/test/perf/normperf/dtfmtrtperf.vcxproj.filters
-icu/source/test/perf/normperf/dtfmtrtperf.vcxproj
-icu/source/test/perf/normperf/normperf.vcxproj.filters
-icu/source/test/perf/normperf/normperf.vcxproj
-icu/source/test/perf/strsrchperf/strsrchperf.vcxproj
-icu/source/test/perf/strsrchperf/strsrchperf.vcxproj.filters
-icu/source/test/perf/charperf/charperf.vcxproj
-icu/source/test/perf/charperf/charperf.vcxproj.filters
-icu/source/test/intltest/intltest.vcxproj
 icu/source/test/intltest/intltest.vcxproj.filters
+icu/source/test/intltest/intltest.vcxproj
 icu/source/test/iotest/iotest.vcxproj.filters
 icu/source/test/iotest/iotest.vcxproj
 icu/source/test/thaitest/space.txt
-icu/source/common/common.vcxproj.filters
-icu/source/common/common_uwp.vcxproj
-icu/source/common/common.vcxproj
-icu/source/stubdata/stubdata.vcxproj.filters
-icu/source/stubdata/stubdata.vcxproj
-icu/source/samples/plurfmtsample/plurfmtsample.vcxproj.filters
-icu/source/samples/plurfmtsample/plurfmtsample.vcxproj
-icu/source/samples/coll/coll.vcxproj.filters
-icu/source/samples/coll/coll.vcxproj
-icu/source/samples/layout/layout.vcxproj
-icu/source/samples/layout/layout.vcxproj.filters
-icu/source/samples/layout/Sample.txt
-icu/source/samples/strsrch/strsrch.vcxproj
-icu/source/samples/strsrch/strsrch.vcxproj.filters
-icu/source/samples/citer/citer.vcxproj.filters
-icu/source/samples/citer/citer.vcxproj
-icu/source/samples/dtptngsample/dtptngsample.vcxproj.filters
-icu/source/samples/dtptngsample/dtptngsample.vcxproj
+icu/source/io/io.vcxproj
+icu/source/io/io.vcxproj.filters
+icu/source/samples/break/break.vcxproj
+icu/source/samples/break/break.vcxproj.filters
+icu/source/samples/uciter8/uciter8.vcxproj
+icu/source/samples/uciter8/uciter8.vcxproj.filters
+icu/source/samples/csdet/csdet.vcxproj.filters
+icu/source/samples/csdet/csdet.vcxproj
 icu/source/samples/dtitvfmtsample/dtitvfmtsample.vcxproj
 icu/source/samples/dtitvfmtsample/dtitvfmtsample.vcxproj.filters
+icu/source/samples/layout/layout.vcxproj.filters
+icu/source/samples/layout/layout.vcxproj
+icu/source/samples/layout/Sample.txt
+icu/source/samples/cal/cal.vcxproj
+icu/source/samples/cal/cal.vcxproj.filters
+icu/source/samples/props/props.vcxproj.filters
+icu/source/samples/props/props.vcxproj
+icu/source/samples/uresb/uresb.vcxproj
+icu/source/samples/uresb/resources.vcxproj
+icu/source/samples/uresb/uresb.vcxproj.filters
+icu/source/samples/uresb/resources.vcxproj.filters
+icu/source/samples/translit/translit.vcxproj
+icu/source/samples/translit/translit.vcxproj.filters
+icu/source/samples/ugrep/ugrep.vcxproj
+icu/source/samples/ugrep/ugrep.vcxproj.filters
 icu/source/samples/numfmt/numfmt.vcxproj
 icu/source/samples/numfmt/numfmt.vcxproj.filters
-icu/source/samples/case/case.vcxproj.filters
-icu/source/samples/case/case.vcxproj
+icu/source/samples/dtptngsample/dtptngsample.vcxproj.filters
+icu/source/samples/dtptngsample/dtptngsample.vcxproj
+icu/source/samples/ucnv/ucnv.vcxproj
+icu/source/samples/ucnv/data06.txt
+icu/source/samples/ucnv/data01.txt
+icu/source/samples/ucnv/ucnv.vcxproj.filters
+icu/source/samples/plurfmtsample/plurfmtsample.vcxproj.filters
+icu/source/samples/plurfmtsample/plurfmtsample.vcxproj
 icu/source/samples/ustring/ustring.vcxproj.filters
 icu/source/samples/ustring/ustring.vcxproj
-icu/source/samples/ugrep/ugrep.vcxproj.filters
-icu/source/samples/ugrep/ugrep.vcxproj
-icu/source/samples/uresb/resources.vcxproj.filters
-icu/source/samples/uresb/resources.vcxproj
-icu/source/samples/uresb/uresb.vcxproj
-icu/source/samples/uresb/uresb.vcxproj.filters
-icu/source/samples/udata/reader.vcxproj.filters
-icu/source/samples/udata/reader.vcxproj
-icu/source/samples/udata/writer.vcxproj
-icu/source/samples/udata/writer.vcxproj.filters
+icu/source/samples/case/case.vcxproj
+icu/source/samples/case/case.vcxproj.filters
+icu/source/samples/citer/citer.vcxproj.filters
+icu/source/samples/citer/citer.vcxproj
+icu/source/samples/coll/coll.vcxproj.filters
+icu/source/samples/coll/coll.vcxproj
+icu/source/samples/datefmt/datefmt.vcxproj
+icu/source/samples/datefmt/datefmt.vcxproj.filters
 icu/source/samples/msgfmt/msgfmt.vcxproj.filters
 icu/source/samples/msgfmt/msgfmt.vcxproj
-icu/source/samples/date/date.vcxproj.filters
-icu/source/samples/date/date.vcxproj
-icu/source/samples/datefmt/datefmt.vcxproj.filters
-icu/source/samples/datefmt/datefmt.vcxproj
-icu/source/samples/ufortune/ufortune.vcxproj.filters
 icu/source/samples/ufortune/ufortune.vcxproj
+icu/source/samples/ufortune/ufortune.vcxproj.filters
 icu/source/samples/ufortune/resources/es.txt
-icu/source/samples/props/props.vcxproj.filters
-icu/source/samples/props/props.vcxproj
-icu/source/samples/break/break.vcxproj
-icu/source/samples/break/break.vcxproj.filters
-icu/source/samples/ucnv/data01.txt
-icu/source/samples/ucnv/ucnv.vcxproj.filters
-icu/source/samples/ucnv/ucnv.vcxproj
-icu/source/samples/ucnv/data06.txt
-icu/source/samples/legacy/legacy.vcxproj
+icu/source/samples/udata/reader.vcxproj.filters
+icu/source/samples/udata/writer.vcxproj.filters
+icu/source/samples/udata/writer.vcxproj
+icu/source/samples/udata/reader.vcxproj
+icu/source/samples/date/date.vcxproj
+icu/source/samples/date/date.vcxproj.filters
 icu/source/samples/legacy/legacy.vcxproj.filters
-icu/source/samples/cal/cal.vcxproj
-icu/source/samples/cal/cal.vcxproj.filters
-icu/source/samples/uciter8/uciter8.vcxproj
-icu/source/samples/uciter8/uciter8.vcxproj.filters
-icu/source/samples/translit/translit.vcxproj
-icu/source/samples/translit/translit.vcxproj.filters
-icu/source/samples/csdet/csdet.vcxproj.filters
-icu/source/samples/csdet/csdet.vcxproj
-icu/source/layoutex/layoutex.vcxproj.filters
+icu/source/samples/legacy/legacy.vcxproj
+icu/source/samples/strsrch/strsrch.vcxproj.filters
+icu/source/samples/strsrch/strsrch.vcxproj
+icu/source/extra/uconv/uconv.vcxproj.filters
+icu/source/extra/uconv/uconv.vcxproj
+icu/source/extra/uconv/samples/utf8/hangul.txt
+icu/source/extra/uconv/samples/utf8/jap.txt
+icu/source/extra/uconv/samples/utf8/chinese-ulysses.txt
+icu/source/extra/uconv/samples/utf8/simplechinese.txt
+icu/source/extra/uconv/samples/utf8/danish.txt
+icu/source/extra/uconv/samples/utf8/hania.txt
+icu/source/extra/uconv/samples/utf8/maopoem.txt
+icu/source/extra/uconv/samples/utf8/armenian.txt
+icu/source/extra/uconv/samples/utf8/utf-8-demo.txt
+icu/source/extra/uconv/samples/utf8/croat.txt
+icu/source/extra/uconv/samples/utf8/russian.txt
+icu/source/extra/uconv/samples/utf8/greek.txt
+icu/source/extra/uconv/samples/utf8/linji.txt
+icu/source/extra/uconv/samples/utf8/turkish.txt
+icu/source/extra/uconv/samples/utf8/many.txt
+icu/source/extra/uconv/samples/utf8/banviet.txt
+icu/source/extra/uconv/samples/utf8/korean.txt
+icu/source/extra/uconv/resources/fr.txt
+icu/source/extra/uconv/resources/root.txt
+icu/source/allinone/Windows.CopyUnicodeHeaderFiles.targets
+icu/source/stubdata/stubdata.vcxproj
+icu/source/stubdata/stubdata.vcxproj.filters
 icu/source/layoutex/layoutex.vcxproj
-icu/source/data/makedata.vcxproj.filters
-icu/source/data/makedata_uwp.vcxproj
-icu/source/data/makedata.vcxproj
-icu/source/data/unidata/confusablesWholeScript.txt
-icu/source/data/unidata/confusables.txt
-icu/source/data/unidata/changes.txt
-icu/source/data/unidata/UCARules.txt
-icu/source/tools/gennorm2/gennorm2.vcxproj
-icu/source/tools/pkgdata/pkgdata.vcxproj
-icu/source/tools/pkgdata/pkgdata.vcxproj.filters
-icu/source/tools/genccode/genccode.vcxproj
-icu/source/tools/genccode/genccode.vcxproj.filters
-icu/source/tools/gentest/gentest.vcxproj.filters
-icu/source/tools/gentest/gentest.vcxproj
-icu/source/tools/icuswap/icuswap.vcxproj
-icu/source/tools/ctestfw/ctestfw.vcxproj.filters
-icu/source/tools/ctestfw/ctestfw.vcxproj
-icu/source/tools/icupkg/icupkg.vcxproj
-icu/source/tools/makeconv/makeconv.vcxproj
-icu/source/tools/makeconv/makeconv.vcxproj.filters
-icu/source/tools/gendict/gendict.vcxproj.filters
-icu/source/tools/gendict/gendict.vcxproj
-icu/source/tools/gencmn/gencmn.vcxproj.filters
-icu/source/tools/gencmn/gencmn.vcxproj
-icu/source/tools/gencnval/gencnval.vcxproj
-icu/source/tools/gencnval/gencnval.vcxproj.filters
-icu/source/tools/tzcode/icuzdump.vcxproj.filters
+icu/source/layoutex/layoutex.vcxproj.filters
+icu/source/i18n/i18n.vcxproj
+icu/source/i18n/i18n.vcxproj.filters
+icu/source/i18n/i18n_uwp.vcxproj
 icu/source/tools/tzcode/icuzdump.vcxproj
+icu/source/tools/tzcode/icuzdump.vcxproj.filters
+icu/source/tools/genccode/genccode.vcxproj.filters
+icu/source/tools/genccode/genccode.vcxproj
 icu/source/tools/gencfu/gencfu.vcxproj.filters
 icu/source/tools/gencfu/gencfu.vcxproj
+icu/source/tools/gensprep/gensprep.vcxproj
+icu/source/tools/gensprep/gensprep.vcxproj.filters
+icu/source/tools/makeconv/makeconv.vcxproj.filters
+icu/source/tools/makeconv/makeconv.vcxproj
+icu/source/tools/icupkg/icupkg.vcxproj
+icu/source/tools/gentest/gentest.vcxproj
+icu/source/tools/gentest/gentest.vcxproj.filters
 icu/source/tools/genbrk/genbrk.vcxproj
 icu/source/tools/genbrk/genbrk.vcxproj.filters
+icu/source/tools/icuinfo/testplug.vcxproj.filters
 icu/source/tools/icuinfo/testplug.vcxproj
 icu/source/tools/icuinfo/icuinfo.vcxproj
-icu/source/tools/icuinfo/testplug.vcxproj.filters
-icu/source/tools/toolutil/toolutil.vcxproj
-icu/source/tools/gensprep/gensprep.vcxproj.filters
-icu/source/tools/gensprep/gensprep.vcxproj
-icu/source/tools/genrb/genrb.vcxproj
 icu/source/tools/genrb/derb.vcxproj.filters
 icu/source/tools/genrb/derb.vcxproj
+icu/source/tools/genrb/genrb.vcxproj
 icu/source/tools/genrb/genrb.vcxproj.filters
+icu/source/tools/icuswap/icuswap.vcxproj
+icu/source/tools/ctestfw/ctestfw.vcxproj.filters
+icu/source/tools/ctestfw/ctestfw.vcxproj
+icu/source/tools/gennorm2/gennorm2.vcxproj
+icu/source/tools/gencmn/gencmn.vcxproj.filters
+icu/source/tools/gencmn/gencmn.vcxproj
+icu/source/tools/toolutil/toolutil.vcxproj
+icu/source/tools/pkgdata/pkgdata.vcxproj.filters
+icu/source/tools/pkgdata/pkgdata.vcxproj
+icu/source/tools/gencnval/gencnval.vcxproj.filters
+icu/source/tools/gencnval/gencnval.vcxproj
+icu/source/tools/gendict/gendict.vcxproj
+icu/source/tools/gendict/gendict.vcxproj.filters
+icu/source/data/makedata.vcxproj
+icu/source/data/makedata.vcxproj.filters
+icu/source/data/makedata_uwp.vcxproj
+icu/source/data/unidata/UCARules.txt
+icu/source/data/unidata/changes.txt
+icu/source/data/unidata/confusablesWholeScript.txt
+icu/source/data/unidata/confusables.txt
index b6f2400..b7631ff 100644 (file)
--- a/icu4c.css
+++ b/icu4c.css
@@ -500,7 +500,9 @@ td.proto {
        font-size: smaller;
 }
 
-
+.no-left-margin {
+    margin-left: 0;
+}
 
 @media print {
        div#toc {
diff --git a/packaging/distrelease.ps1 b/packaging/distrelease.ps1
new file mode 100644 (file)
index 0000000..c3d853b
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright (C) 2016 and later: Unicode, Inc. and others.
+# License & terms of use: http://www.unicode.org/copyright.html
+#-------------------------
+# Script: icu\packaging\distrelease.ps1
+# Author: Steven R. Loomis
+# Date: 2017-04-14
+#-------------------------
+#
+# This builds a zipfile containing the *64 bit* Windows binaries.
+# (Note: The zipfile does not include the UWP binaries.)
+#
+# Usage: (after building ICU using MSVC) 
+#  (bring up Powershell ISE)
+#    cd C:\icu\icu4c\
+#    Set-ExecutionPolicy -Scope Process Unrestricted
+#    .\packaging\distrelease.ps1
+#
+# Will emit: c:\icu4c\icu\source\dist\icu-windows.zip
+#
+#
+# You will get warnings from the execution policy and the script itself.
+#  see https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1&viewFallbackFrom=powershell-Microsoft.PowerShell.Core 
+#    for more about execution policies.
+
+
+$icuDir = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
+$icuDir = Resolve-Path -Path '$icuDir\..'
+
+echo  $icuDir
+
+# ok, create some work areas
+New-Item -Path "$icuDir\source\dist" -ErrorAction SilentlyContinue -ItemType "directory"
+$source = "$icuDir\source\dist\icu"
+Get-ChildItem -Path $source -ErrorAction SilentlyContinue | Remove-Item -Recurse
+New-Item -Path $source -ItemType "directory" -ErrorAction SilentlyContinue
+
+# copy required stuff
+Copy-Item -Path "$icuDir\lib64" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\include" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\bin64" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\APIChangeReport.html" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\icu4c.css" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\LICENSE" -Destination $source -Recurse
+Copy-Item -Path "$icuDir\readme.html" -Destination $source -Recurse
+
+
+$destination = "$icuDir\source\dist\icu-windows.zip"
+Remove-Item -Path $destination -ErrorAction Continue
+Add-Type -assembly "system.io.compression.filesystem"
+Echo $source
+Echo $destination
+[io.compression.zipfile]::CreateFromDirectory($source, $destination)
+
+echo $destination
\ No newline at end of file
diff --git a/packaging/rpm/icu.spec b/packaging/rpm/icu.spec
deleted file mode 100644 (file)
index 2edb595..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright (C) 2016 and later: Unicode, Inc. and others.
-# License & terms of use: http://www.unicode.org/copyright.html
-#   Copyright (C) 2000-2005, International Business Machines
-#   Corporation and others.  All Rights Reserved.
-#
-# RPM specification file for ICU.
-#
-# Neal Probert <nprobert@walid.com> is the current maintainer.
-# Yves Arrouye <yves@realnames.com> is the original author.
-
-# This file can be freely redistributed under the same license as ICU.
-
-Name: icu
-Version: 3.4
-Release: 1
-Requires: libicu34 >= %{version}
-Summary: International Components for Unicode
-Packager: Ian Holsman (CNET Networks) <ianh@cnet.com>
-Copyright: X License
-Group: System Environment/Libraries
-Source: icu-%{version}.tgz
-BuildRoot: /var/tmp/%{name}-%{version}
-%description
-ICU is a set of C and C++ libraries that provides robust and full-featured
-Unicode and locale support. The library provides calendar support, conversions
-for many character sets, language sensitive collation, date
-and time formatting, support for many locales, message catalogs
-and resources, message formatting, normalization, number and currency
-formatting, time zones support, transliteration, word, line and
-sentence breaking, etc.
-
-This package contains the Unicode character database and derived
-properties, along with converters and time zones data.
-
-This package contains the runtime libraries for ICU. It does
-not contain any of the data files needed at runtime and present in the
-`icu' and `icu-locales` packages.
-
-%package -n libicu34
-Summary: International Components for Unicode (libraries)
-Group: Development/Libraries
-%description -n libicu34
-ICU is a set of C and C++ libraries that provides robust and full-featured
-Unicode support. This package contains the runtime libraries for ICU. It does
-not contain any of the data files needed at runtime and present in the
-`icu' and `icu-locales` packages.
-
-%package -n libicu-devel
-Summary: International Components for Unicode (development files)
-Group: Development/Libraries
-Requires: libicu34 = %{version}
-%description -n libicu-devel
-ICU is a set of C and C++ libraries that provides robust and full-featured
-Unicode support. This package contains the development files for ICU.
-
-%package locales
-Summary: Locale data for ICU
-Group: System Environment/Libraries
-Requires: libicu34 >= %{version}
-%description locales
-The locale data are used by ICU to provide localization (l10n), 
-internationalization (i18n) and timezone support to ICU applications.
-This package also contains break data for various languages,
-and transliteration data.
-
-%post
-# Adjust the current ICU link in /usr/lib/icu
-
-icucurrent=`2>/dev/null ls -dp /usr/lib/icu/* | sed -n 's,.*/\([^/]*\)/$,\1,p'| sort -rn | head -1`
-cd /usr/lib/icu
-rm -f /usr/lib/icu/current
-if test x"$icucurrent" != x
-then
-    ln -s "$icucurrent" current
-fi
-
-#ICU_DATA=/usr/share/icu/%{version}
-#export ICU_DATA
-
-%preun
-# Adjust the current ICU link in /usr/lib/icu
-
-icucurrent=`2>/dev/null ls -dp /usr/lib/icu/* | sed -n -e '/\/%{version}\//d' -e 's,.*/\([^/]*\)/$,\1,p'| sort -rn | head -1`
-cd /usr/lib/icu
-rm -f /usr/lib/icu/current
-if test x"$icucurrent" != x
-then
-    ln -s "$icucurrent" current
-fi
-
-%post -n libicu34
-ldconfig
-
-# Adjust the current ICU link in /usr/lib/icu
-
-icucurrent=`2>/dev/null ls -dp /usr/lib/icu/* | sed -n 's,.*/\([^/]*\)/$,\1,p'| sort -rn | head -1`
-cd /usr/lib/icu
-rm -f /usr/lib/icu/current
-if test x"$icucurrent" != x
-then
-    ln -s "$icucurrent" current
-fi
-
-%preun -n libicu34
-# Adjust the current ICU link in /usr/lib/icu
-
-icucurrent=`2>/dev/null ls -dp /usr/lib/icu/* | sed -n -e '/\/%{version}\//d' -e 's,.*/\([^/]*\)/$,\1,p'| sort -rn | head -1`
-cd /usr/lib/icu
-rm -f /usr/lib/icu/current
-if test x"$icucurrent" != x
-then
-    ln -s "$icucurrent" current
-fi
-
-%prep
-%setup -q -n icu
-
-%build
-cd source
-chmod a+x ./configure
-CFLAGS="-O3" CXXFLAGS="-O" ./configure --prefix=/usr --sysconfdir=/etc --with-data-packaging=files --enable-shared --enable-static --disable-samples
-echo 'CPPFLAGS += -DICU_DATA_DIR=\"/usr/share/icu/%{version}\"' >> icudefs.mk
-make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
-
-%install
-rm -rf $RPM_BUILD_ROOT
-cd source
-make install DESTDIR=$RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-%doc readme.html
-%doc license.html
-/usr/share/icu/%{version}/license.html
-/usr/share/icu/%{version}/icudt34l/*.cnv
-/usr/share/icu/%{version}/icudt34l/*.icu
-/usr/share/icu/%{version}/icudt34l/*.spp
-
-/usr/bin/derb
-/usr/bin/genbrk
-/usr/bin/gencnval
-/usr/bin/genrb
-/usr/bin/icu-config
-/usr/bin/makeconv
-/usr/bin/pkgdata
-/usr/bin/uconv
-
-/usr/sbin/decmn
-/usr/sbin/genccode
-/usr/sbin/gencmn
-/usr/sbin/gensprep
-/usr/sbin/genuca
-/usr/sbin/icuswap
-/usr/share/icu/%{version}/mkinstalldirs
-
-/usr/man/man1/derb.1.*
-/usr/man/man1/gencnval.1.*
-/usr/man/man1/genrb.1.*
-/usr/man/man1/icu-config.1.*
-/usr/man/man1/makeconv.1.*
-/usr/man/man1/pkgdata.1.*
-/usr/man/man1/uconv.1.*
-/usr/man/man8/decmn.8.*
-/usr/man/man8/genccode.8.*
-/usr/man/man8/gencmn.8.*
-/usr/man/man8/gensprep.8.*
-/usr/man/man8/genuca.8.*
-
-%files -n icu-locales
-/usr/share/icu/%{version}/icudt34l/*.brk
-/usr/share/icu/%{version}/icudt34l/*.res
-/usr/share/icu/%{version}/icudt34l/coll/*.res
-/usr/share/icu/%{version}/icudt34l/rbnf/*.res
-/usr/share/icu/%{version}/icudt34l/translit/*.res
-
-%files -n libicu34
-%doc license.html
-/usr/lib/libicui18n.so.34
-/usr/lib/libicui18n.so.34.0
-/usr/lib/libicutu.so.34
-/usr/lib/libicutu.so.34.0
-/usr/lib/libicuuc.so.34
-/usr/lib/libicuuc.so.34.0
-/usr/lib/libicudata.so.34
-/usr/lib/libicudata.so.34.0
-/usr/lib/libicuio.so.34
-/usr/lib/libicuio.so.34.0
-/usr/lib/libiculx.so.34
-/usr/lib/libiculx.so.34.0
-/usr/lib/libicule.so.34
-/usr/lib/libicule.so.34.0
-
-%files -n libicu-devel
-%doc readme.html
-%doc license.html
-/usr/lib/libicui18n.so
-/usr/lib/libsicui18n.a
-/usr/lib/libicuuc.so
-/usr/lib/libsicuuc.a
-/usr/lib/libicutu.so
-/usr/lib/libsicutu.a
-/usr/lib/libicuio.so
-/usr/lib/libsicuio.a
-/usr/lib/libicudata.so
-/usr/lib/libsicudata.a
-/usr/lib/libicule.so
-/usr/lib/libsicule.a
-/usr/lib/libiculx.so
-/usr/lib/libsiculx.a
-/usr/include/unicode/*.h
-/usr/include/layout/*.h
-/usr/lib/icu/%{version}/Makefile.inc
-/usr/lib/icu/Makefile.inc
-/usr/share/icu/%{version}/config
-/usr/share/doc/icu-%{version}/*
-
-%changelog
-* Mon Jun 07 2004 Alexei Dets <adets@idsk.com>
-- update to 3.0
-* Tue Aug 16 2003 Steven Loomis <srl@jtcsv.com>
-- update to 2.6.1 - include license
-* Thu Jun 05 2003 Steven Loomis <srl@jtcsv.com>
-- Update to 2.6
-* Fri Dec 27 2002 Steven Loomis <srl@jtcsv.com>
-- Update to 2.4 spec
-* Fri Sep 27 2002 Steven Loomis <srl@jtcsv.com>
-- minor updates to 2.2 spec. Rpath is off by default, don't pass it as an option.
-* Mon Sep 16 2002 Ian Holsman <ian@holsman.net> 
-- update to icu 2.2
-
index dfa5e3b..5f99a22 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 60.2</title>
+    <title>ReadMe for ICU 61.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=
@@ -24,7 +24,7 @@
 -->
 
   <body>
-  <!-- <body> -->
+  <!-- <body class="rc"> -->
     <p class="only-draft"><b>Note:</b> This is a draft readme.</p>
 
     <h1>
@@ -32,7 +32,7 @@
       International Components for Unicode<br/>
       <span class="only-rc">Release Candidate</span>
       <span class="only-milestone">(Milestone Release)</span>
-      <abbr title="International Components for Unicode">ICU</abbr> 60.2 ReadMe
+      <abbr title="International Components for Unicode">ICU</abbr> 61.1 ReadMe
     </h1>
 
     <!-- Shouldn't need to comment/uncomment this paragraph, just change the body class -->
     <p class="note only-rc">This is a release candidate version of ICU4C.
       It is not recommended for production use.</p>
 
-    <p>Last updated: 2017-Dec-07<br/>
+    <p>Last updated: 2018-Mar-21<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.
       All Rights Reserved.</p>
     <!-- Remember that there is a copyright at the end too -->
-
-    <p class="note">This is a maintenance update of ICU 60,
-      with a small number of bug fixes but no API changes.</p>
     <hr/>
 
     <h2 class="TOC">Table of Contents</h2>
 
     <h2><a name="News" href="#News" id="News">What Is New In This Release?</a></h2>
 
-    <p>See the <a href="http://site.icu-project.org/download/60">ICU 60 download page</a>
+    <p>See the <a href="http://site.icu-project.org/download/61">ICU 61 download page</a>
     for an overview of this release, important changes, new features, bug fixes, known issues,
     changes to supported platforms and build environments,
     and migration issues for existing applications migrating from previous ICU releases.</p>
     we recommend a small number of modifications and build options.
     Note that C99 compatibility is now required.</p>
     <ul>
-      <li><b>Namespace:</b> By default, unicode/uversion.h has
+      <li><b>Namespace (ICU 61 and later):</b>
+        Since ICU 61, call sites need to qualify ICU types explicitly,
+        for example <code>icu::UnicodeString</code>,
+        or do <code>using icu::UnicodeString;</code> where appropriate.
+        If your code relies on the "using namespace icu;" that used to be in unicode/uversion.h,
+        then you need to update your code.<br />
+        You could temporarily (until you have more time to update your code)
+        revert to the default "using"
+        via <code>-DU_USING_ICU_NAMESPACE=1</code>
+        or by modifying unicode/uversion.h:
+<pre>Index: icu4c/source/common/unicode/uversion.h
+===================================================================
+--- icu4c/source/common/unicode/uversion.h      (revision 40704)
++++ icu4c/source/common/unicode/uversion.h      (working copy)
+@@ -127,7 +127,7 @@
+                 defined(U_LAYOUTEX_IMPLEMENTATION) || defined(U_TOOLUTIL_IMPLEMENTATION)
+ #           define U_USING_ICU_NAMESPACE 0
+ #       else
+-#           define U_USING_ICU_NAMESPACE 0
++#           define U_USING_ICU_NAMESPACE 1
+ #       endif
+ #   endif
+ #   if U_USING_ICU_NAMESPACE
+</pre>
+      </li>
+      <li><b>Namespace (ICU 60 and earlier):</b> By default, unicode/uversion.h has
         "using namespace icu;" which defeats much of the purpose of the namespace.
         (This is for historical reasons: Originally, ICU4C did not use namespaces,
         and some compilers did not support them. The default "using" statement
         preserves source code compatibility.)<br />
-        If this compatibility is not an issue, we recommend you turn this off
+        You should turn this off
          via <code>-DU_USING_ICU_NAMESPACE=0</code>
         or by modifying unicode/uversion.h:
 <pre>Index: source/common/unicode/uversion.h
     <ul>
       <li>Microsoft Windows</li>
 
-      <li>Microsoft Visual C++ (part of <a href="https://www.visualstudio.com/">Visual Studio</a>) (see the ICU download page for the currently compatible version)</li>
+      <li>Microsoft Visual C++ (part of <a href="https://www.visualstudio.com/">Visual Studio</a>) (from either Visual Studio 2015 or Visual Studio 2017)</li>
       
       <li><i><b>Optional:</b></i> A version of the <a href="https://developer.microsoft.com/windows/downloads">Windows 10 SDK</a> (if you want to build the UWP projects)</li>
     </ul>
     <p>The steps are:</p>
 
     <ol>
-      <li>Unzip the icu-XXXX.zip file into any convenient location. Using command
-      line zip, type "unzip -a icu-XXXX.zip -d drive:\directory", or just use
-      WinZip.</li>
+      <li>Unzip the <tt>icu-XXXX.zip</tt> file into any convenient location.<br/>
+        <ul class="no-left-margin">
+          <li>You can use the built-in zip functionality of Windows Explorer to do this.
+          Right-click on the .zip file and choose the "Extract All" option from the context menu.
+          This will open a new window where you can choose the output location to put the files.</li>
+          <li>Alternatively, you can use a 3<sup>rd</sup> party GUI tool like 7-Zip or WinZip to do this as well.</li>
+        </ul>
+      </li>
 
-      <li>Be sure that the ICU binary directory, <i>&lt;ICU&gt;</i>\bin\, is
+      <li>Be sure that the ICU binary directory, (ex: <i>&lt;ICU&gt;</i><tt>\bin\</tt>), is
       included in the <strong>PATH</strong> environment variable. The tests will
-      not work without the location of the ICU DLL files in the path.</li>
+      not work without the location of the ICU DLL files in the path.
+      Note that the binary directory name can depend on what architecture you select when you compile ICU.
+      For x86 or 32-bit builds, the binary directory is "<tt>bin</tt>". Whereas for x64 or 64-bit builds
+      the binary directory is "<tt>bin64</tt>".
+      </li>
 
-      <li>Open the "<i>&lt;ICU&gt;</i>\source\allinone\allinone.sln" workspace
-      file in Microsoft Visual Studio. (This solution includes all the
+      <li>Open the "<i>&lt;ICU&gt;</i><tt>\source\allinone\allinone.sln</tt>" solution
+      file in 'Visual Studio 2017'. (This solution includes all the
       International Components for Unicode libraries, necessary ICU building
-      tools, and the test suite projects). Please see the <a href=
-      "#HowToBuildWindowsCommandLine">command line note below</a> if you want to
+      tools, and the test suite projects). Please see the 
+      <a href="#HowToBuildWindowsCommandLine">command line note below</a> if you want to
       build from the command line instead.</li>
 
-      <li>You may need to re-target the UWP projects to the version of the SDK that you have installed. In Visual Studio you can
-      right-click on the UWP projects and select the option 'Retarget SDK Version'. Note: You do not need to have a copy of 
-      the Windows 10 SDK installed in order to build the non-UWP projects in Visual Studio. If the SDK is not installed then the
-      UWP projects will simply not be loaded.</li>
-
+      <li>If you are building using 'Visual Studio 2015' instead, or if you are building the UWP projects and you have a different
+      version of the Windows 10 SDK installed you will first need to modify the two "<tt>Build.Windows.*.props</tt>" files
+      in the "<tt>allinone</tt>" directory before you can open the "allinone" solution file.
+      Please see the notes below about <a href="#HowToUseOtherVSVersions">building with other versions of Visual Studio</a> or the 
+      notes on <a href="#HowToRetargetTheWin10SDK">re-targeting the Windows 10 SDK for the UWP projects</a> for details.</li>
+      
       <li>Set the active platform to "Win32" or "x64" (See <a href="#HowToBuildWindowsPlatform">Windows platform note</a> below)
       and configuration to "Debug" or "Release" (See <a href="#HowToBuildWindowsConfig">Windows configuration note</a> below).</li>
 
       build the Debug and Release at the same time, see the <a href=
       "#HowToBuildWindowsBatch">batch configuration note</a> below.</li>
 
-
       <li>Run the tests. They can be run from the command line or from within Visual Studio.
 
-        <h4>Running the Tests from the Windows Command Line (cmd)</h4>
-       <ul>
-          <li>For x86 (32 bit) and Debug, use: <br />
-
-       <tt><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <i>Platform</i> <i>Configuration</i>
-               </tt> <br />
-       </li>
-       <li>So, for example:
-                                <br />
-               <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Debug</b></samp>
-                               or
-               <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Release</b></samp>
-                               or
-               <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x64</b> <b>Release</b></samp></li>
-       </ul>
-
-         <h4>Running the Tests from within Visual Studio</h4>
-
-       <ol>
-      <li>Run the C++ test suite, "intltest". To do this: set the active startup
-      project to "intltest", and press Ctrl+F5 to run it. Make sure that it
-      passes without any errors.</li>
-
-      <li>Run the C test suite, "cintltst". To do this: set the active startup
-      project to "cintltst", and press Ctrl+F5 to run it. Make sure that it
-      passes without any errors.</li>
-
-      <li>Run the I/O test suite, "iotest". To do this: set the active startup
-      project to "iotest", and press Ctrl+F5 to run it. Make sure that it passes
-      without any errors.</li>
+        <h4>Running the Tests from the Windows Command Line (cmd)</h4>
+        <ul>
+          <li>The general syntax is:<br />
+              <div class="indent">
+                <tt><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <i>Platform</i> <i>Configuration</i></tt>
+              </div>
+          </li>
+          <li>So, for example for x86 (32-bit) and Debug, use the following:<br />
+              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Debug</b></samp>
+              For x86 (32-bit) and Release:
+              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Release</b></samp>
+              For x64 (64-bit) and Debug:
+              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x64</b> <b>Debug</b></samp>
+              For x64 (64-bit) and Release:
+              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x64</b> <b>Release</b></samp>
+          </li>
+        </ul>
 
-       </ol>
+        <h4>Running the Tests from within Visual Studio</h4>
 
+        <ol>
+          <li>Run the C++ test suite, "<tt>intltest</tt>". To do this: set the active startup
+          project to "intltest", and press Ctrl+F5 to run it. Make sure that it
+          passes without any errors.</li>
+
+          <li>Run the C test suite, "<tt>cintltst</tt>". To do this: set the active startup
+          project to "cintltst", and press Ctrl+F5 to run it. Make sure that it
+          passes without any errors.</li>
+
+          <li>Run the I/O test suite, "<tt>iotest</tt>". To do this: set the active startup
+          project to "iotest", and press Ctrl+F5 to run it. Make sure that it passes
+          without any errors.</li>
+        </ol>
        </li>
 
       <li>You are now able to develop applications with ICU by using the
-      libraries and tools in <i>&lt;ICU&gt;</i>\bin\. The headers are in
-      <i>&lt;ICU&gt;</i>\include\ and the link libraries are in
-      <i>&lt;ICU&gt;</i>\lib\. To install the ICU runtime on a machine, or ship
+      libraries and tools in <tt><i>&lt;ICU&gt;</i>\bin\</tt>. The headers are in
+      <tt><i>&lt;ICU&gt;</i>\include\</tt> and the link libraries are in
+      <tt><i>&lt;ICU&gt;</i>\lib\</tt>. To install the ICU runtime on a machine, or ship
       it with your application, copy the needed components from
-      <i>&lt;ICU&gt;</i>\bin\ to a location on the system PATH or to your
+      <tt><i>&lt;ICU&gt;</i>\bin\</tt> to a location on the system PATH or to your
       application directory.</li>
     </ol>
 
+    <p><a name="HowToUseOtherVSVersions" id="HowToUseOtherVSVersions">
+    <strong>Building with other versions of Visual Studio Note:</strong></a>
+    The particular version of the MSVC compiler tool-set (and thus the corresponding version of Visual Studio) that
+    is used to compile ICU is determined by the "<tt>PlatformToolset</tt>" property. This property is stored in two
+    different shared files that are used to set common configuration settings amongst the various ICU "<tt>*.vcxproj</tt>" project files.
+    
+    For the non-UWP projects, this setting is in the shared file called "<tt>Build.Windows.ProjectConfiguration.props</tt>" located
+    in the "allinone" directory.
+    
+    For the UWP projects, this setting is in the shared file called "<tt>Build.Windows.UWP.ProjectConfiguration.props</tt>", also 
+    located in the "allinone" directory.
+    <br/>
+    The value of <tt>v140</tt> corresponds to the Visual Studio 2015 compiler tool set, whereas the value of
+    <tt>v141</tt> corresponds to the Visual Studio 2017 compiler tool set.
+    
+    <br/>In order to build the non-UWP projects with Visual Studio 2015 you will need to modify the file
+    called "<tt>Build.Windows.ProjectConfiguration.props</tt>" to change the value of the <tt>PlatformToolset</tt> property.
+    
+    Note however that Visual Studio 2017 is required for building the UWP projects.
+    </p>
+    
+    <p>Please consider: Using older versions of the MSVC compiler is generally not recommended due to the improved support for the C++11 standard
+    in newer versions of the compiler.</p>
+    
+    <p><a name="HowToRetargetTheWin10SDK" id="HowToRetargetTheWin10SDK">
+    <strong>Re-targeting the Windows 10 SDK for the UWP projects Note:</strong></a>
+    
+      If the version of the Windows 10 SDK that you have installed does not match the version used by the UWP projects, then you 
+      will need to "retarget" them to use the version of the SDK that you have installed instead.
+      
+      There are two ways to do this:
+      <ul>
+        <li>In Visual Studio you can right-click on the UWP projects in the 'Solution Explorer' and select the
+            option 'Retarget Projects' from the context menu. This will open up a window where you can select the
+            SDK version to target from a drop-down list of the various SDKs that are installed on the machine.</li>
+
+        <li>Alternatively, you can manually edit the shared file called "<tt>Build.Windows.UWP.ProjectConfiguration.props</tt>"
+            which is located in the "allinone" directory. You will need to change the of the
+            "<tt>WindowsTargetPlatformVersion</tt>" property to the version of the SDK that you would like to use instead.</li>
+      </ul>
+    </p>
+    
     <p><a name="HowToBuildWindowsCommandLine" id=
-    "HowToBuildWindowsCommandLine"><strong>Using MSDEV At The Command Line
-    Note:</strong></a> You can build ICU from the command line. Assuming that you
-    have properly installed Microsoft Visual C++ to support command line
-    execution, you can run the following command to build the 32-bit Release version:
-    <code>'devenv.com <i>&lt;ICU&gt;</i>\source\allinone\allinone.sln /build "Release|Win32"'</code>.
-    Or to build the 64-bit Release version from the command line: 
-    <code>'devenv.com <i>&lt;ICU&gt;</i>\source\allinone\allinone.sln /build "Release|x64"'</code>.
-    <br />You can also use Cygwin with this compiler to build ICU, and you can refer to the <a href=
+    "HowToBuildWindowsCommandLine"><strong>Using MSBUILD At The Command Line Note:</strong></a>
+    You can build ICU from the command line instead of using the Visual Studio GUI.
+    
+    Assuming that you have properly installed Visual Studio to support command line building, you 
+    should have a shortcut for the "Developer Command Prompt" listed in the Start Menu.
+    (For Visual Studio 2017 you will need to install the "Desktop development with C++" option).</p>
+    
+    <ul>
+      <li>Open the "Developer Command Prompt" shortcut from the Start Menu. (This will open up a new command line window).</li>
+      <li>From within the "Developer Command Prompt" change directory (<tt>cd</tt>) to the ICU source directory.</li>
+      <li>You can then use either '<tt>msbuild</tt>' directly, or you can use the '<tt>devenv.com</tt>' command to build ICU.</li>
+      <li>Using <tt>MSBUILD</tt>:</li>
+      <ul class="no-left-margin">
+        <li>To build the 32-bit Debug version, use the following command line:
+          <code>'msbuild source\allinone\allinone.sln /p:Configuration=Debug /p:Platform=Win32'</code>.</li>
+        <li>To build the 64-bit Release version, use the following command line: 
+          <code>'msbuild source\allinone\allinone.sln /p:Configuration=Release /p:Platform=x64'</code>.</li>
+      </ul>
+      <li>Using <tt>devenv.com</tt>:</li>
+      <ul class="no-left-margin">
+        <li>To build the 32-bit Debug version, use the following command line:
+          <code>'devenv.com source\allinone\allinone.sln /build "Debug|Win32"'</code>.</li>
+        <li>To build the 64-bit Release version, use the following command line: 
+          <code>'devenv.com source\allinone\allinone.sln /build "Release|x64"'</code>.</li>
+      </ul>
+    </ul>
+    
+    <p>You can also use Cygwin with the MSVC compiler to build ICU, and you can refer to the <a href=
     "#HowToBuildCygwin">How To Build And Install On Windows with Cygwin</a>
     section for more details.</p>
 
@@ -1597,13 +1690,13 @@ gnumake</pre>
     <h3><a name="ImportantNotesWindows" href="#ImportantNotesWindows" id=
     "ImportantNotesWindows">Windows Platform</a></h3>
 
-    <p>If you are building on the Win32 platform, it is important that you
+    <p>If you are building on the Windows platform, it is important that you
     understand a few of the following build details.</p>
 
     <h4>DLL directories and the PATH setting</h4>
 
     <p>As delivered, the International Components for Unicode build as several
-    DLLs, which are placed in the "<i>&lt;ICU&gt;</i>\bin" directory. You must
+    DLLs, which are placed in the "<i>&lt;ICU&gt;</i>\bin64" directory. You must
     add this directory to the PATH environment variable in your system, or any
     executables you build will not be able to access International Components for
     Unicode libraries. Alternatively, you can copy the DLL files into a directory
@@ -1613,12 +1706,12 @@ gnumake</pre>
     <h4><a name="ImportantNotesWindowsPath" id=
     "ImportantNotesWindowsPath">Changing your PATH</a></h4>
 
-    <p><strong>Windows 2000/XP</strong>: Use the System Icon in the Control
+    <p><strong>Windows 2000/XP and above</strong>: Use the System Icon in the Control
     Panel. Pick the "Advanced" tab. Select the "Environment Variables..."
     button. Select the variable PATH in the lower box, and select the lower
     "Edit..." button. In the "Variable Value" box, append the string
-    ";<i>&lt;ICU&gt;</i>\bin" to the end of the path string. If there is
-    nothing there, just type in "<i>&lt;ICU&gt;</i>\bin". Click the Set button,
+    ";<i>&lt;ICU&gt;</i>\bin64" to the end of the path string. If there is
+    nothing there, just type in "<i>&lt;ICU&gt;</i>\bin64". Click the Set button,
     then the OK button.</p>
 
     <p>Note: When packaging a Windows application for distribution and
diff --git a/source/allinone/Build.Windows.ProjectConfiguration.props b/source/allinone/Build.Windows.ProjectConfiguration.props
new file mode 100644 (file)
index 0000000..0a16384
--- /dev/null
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <!-- This file is used to set default configuration options for all non-UWP Visual Studio projects. -->\r
+  <!-- These are the default project configurations for building. -->\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup>\r
+    <!-- This is the version of the MSVC tool-set to use. -->\r
+    <!-- v140 is the Visual Studio 2015 toolset. -->\r
+    <!-- v141 is the Visual Studio 2017 toolset. -->\r
+    <PlatformToolset>v141</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <!-- This is the default SDK target. -->\r
+    <!-- Note that the Windows 8.1 SDK is backwards compatible down-level to Windows 7, so\r
+         setting this to 8.1 does not actually imply targeting Windows 8.1. -->\r
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <!-- We need to explicitly set the target version to Windows 7. -->\r
+    <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>\r
+  </PropertyGroup>\r
+  <!-- Options that are common to *all* configurations for *all* projects. -->\r
+  <ItemDefinitionGroup>\r
+    <Midl>\r
+      <MkTypLibCompatible>true</MkTypLibCompatible>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+    </Midl>\r
+    <ClCompile>\r
+      <!-- Note: These preprocessor defines are for *all* configurations for *all* projects.  -->\r
+      <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. -->\r
+      <PreprocessorDefinitions>\r
+        WINVER=$(Win32_WinNTVersion);\r
+        _WIN32_WINNT=$(Win32_WinNTVersion);\r
+        _CRT_SECURE_NO_DEPRECATE;\r
+        %(PreprocessorDefinitions)\r
+      </PreprocessorDefinitions>\r
+      <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. -->\r
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <!-- Set the source encoding and runtime encoding to UTF-8 by default. -->\r
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>\r
+      <!-- Enable parallel compilation for faster builds. -->\r
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <Culture>0x0409</Culture>\r
+    </ResourceCompile>\r
+    <Link>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <!-- Options that are common to all 'Release' configurations for *all* projects. -->\r
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">\r
+    <Midl>\r
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </Midl>\r
+    <ClCompile>\r
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <StringPooling>true</StringPooling>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </ResourceCompile>\r
+    <Link>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <!-- Options that are common to all 'Debug' configurations for *all* projects. -->\r
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">\r
+    <Midl>\r
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </Midl>\r
+    <ClCompile>\r
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <Optimization>Disabled</Optimization>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <BufferSecurityCheck>true</BufferSecurityCheck>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </ResourceCompile>\r
+    <Link>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <!-- Options that are common to all 32-bit configurations for *all* projects. -->\r
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">\r
+    <Midl>\r
+      <TargetEnvironment>Win32</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </ClCompile>\r
+    <Link>\r
+      <TargetMachine>MachineX86</TargetMachine>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <!-- Options that are common to all 64-bit configurations for *all* projects. -->\r
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+    </ClCompile>\r
+    <Link>\r
+      <TargetMachine>MachineX64</TargetMachine>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+</Project>
\ No newline at end of file
diff --git a/source/allinone/Build.Windows.UWP.ProjectConfiguration.props b/source/allinone/Build.Windows.UWP.ProjectConfiguration.props
new file mode 100644 (file)
index 0000000..4b51960
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <!-- This file is used to set common configuration options for all *_uwp projects. -->\r
+  <PropertyGroup>\r
+    <!-- If not already set, use this version of the Win10 SDK -->\r
+    <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>\r
+    <!-- If not already set, set the minimum Win10 SDK version to TH1/RTM -->\r
+    <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>\r
+    \r
+    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>\r
+    <AppContainerApplication>true</AppContainerApplication>\r
+    <ApplicationType>Windows Store</ApplicationType>\r
+    <ApplicationTypeRevision>10.0</ApplicationTypeRevision>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <!-- This is the version of the MSVC tool-set to use. -->\r
+    <!-- v141 is the Visual Studio 2017 toolset. -->\r
+    <PlatformToolset>v141</PlatformToolset>\r
+  </PropertyGroup>\r
+  <ItemDefinitionGroup>\r
+    <Midl>\r
+      <PreprocessorDefinitions>\r
+        %(PreprocessorDefinitions)\r
+        U_PLATFORM_HAS_WINUWP_API=1;\r
+      </PreprocessorDefinitions>\r
+    </Midl>\r
+    <ClCompile>\r
+      <PreprocessorDefinitions>\r
+        %(PreprocessorDefinitions);\r
+        U_PLATFORM_HAS_WINUWP_API=1;\r
+      </PreprocessorDefinitions>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>\r
+        %(PreprocessorDefinitions)\r
+        U_PLATFORM_HAS_WINUWP_API=1;\r
+      </PreprocessorDefinitions>\r
+    </ResourceCompile>\r
+  </ItemDefinitionGroup>\r
+</Project>
\ No newline at end of file
diff --git a/source/allinone/Windows.CopyUnicodeHeaderFiles.targets b/source/allinone/Windows.CopyUnicodeHeaderFiles.targets
new file mode 100644 (file)
index 0000000..b6ece38
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->\r
+<!--\r
+  This file is used to copy all of the header files (*.h) from a project's "unicode" folder to a common output folder.\r
+-->\r
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <!-- This is the location of the common output folder. -->\r
+    <CopyDestionationPath>$(SolutionDir)\..\..\include\unicode</CopyDestionationPath>\r
+    <BuildDependsOn>\r
+      $(BuildDependsOn);\r
+      CopyUnicodeHeaderFiles;\r
+    </BuildDependsOn>\r
+  </PropertyGroup>\r
+  <Target Name="CopyUnicodeHeaderFiles">\r
+    <ItemGroup>\r
+      <!-- Generate a list of all files that end in .h from the 'unicode' folder, relative to the current project. -->\r
+      <OutputFiles Include=".\unicode\**\*.h" />\r
+    </ItemGroup>\r
+    <!-- This message will be logged in the project's build output. -->\r
+    <Message Text="Copying @(OutputFiles->Count()) header files to $(CopyDestionationPath). Files copied: @(OutputFiles)" Importance="high"/>\r
+    <!-- Perform the copy. -->\r
+    <Copy SourceFiles="@(OutputFiles)" \r
+          DestinationFolder="$(CopyDestionationPath)\%(RecursiveDir)"\r
+          SkipUnchangedFiles="false"></Copy>\r
+  </Target>\r
+</Project>
\ No newline at end of file
index 88a0d19..6245872 100644 (file)
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.27130.2036
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cal", "..\samples\cal\cal.vcxproj", "{F7659D77-09CF-4FE9-ACEE-927287AA9509}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cintltst", "..\test\cintltst\cintltst.vcxproj", "{3D1246AE-1B32-479B-BECA-AEFA97BE2321}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {ECA6B435-B4FA-4F9F-BF95-F451D078FC47} = {ECA6B435-B4FA-4F9F-BF95-F451D078FC47}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\common\common.vcxproj", "{73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}"
+       ProjectSection(ProjectDependencies) = postProject
+               {203EC78A-0531-43F0-A636-285439BDE025} = {203EC78A-0531-43F0-A636-285439BDE025}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ctestfw", "..\tools\ctestfw\ctestfw.vcxproj", "{ECA6B435-B4FA-4F9F-BF95-F451D078FC47}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "date", "..\samples\date\date.vcxproj", "{38B5751A-C6F9-4409-950C-F4F9DA17275F}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "derb", "..\tools\genrb\derb.vcxproj", "{D3065ADB-8820-4CC7-9B6C-9510833961A3}"
        ProjectSection(ProjectDependencies) = postProject
                {C2B04507-2521-4801-BF0D-5FD79D6D518C} = {C2B04507-2521-4801-BF0D-5FD79D6D518C}
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genbrk", "..\tools\genbrk\genbrk.vcxproj", "{C2BE5000-7501-4E87-9724-B8D82494FAE6}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genccode", "..\tools\genccode\genccode.vcxproj", "{FDD3C4F2-9805-44EB-9A77-BC1C1C95B547}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gencmn", "..\tools\gencmn\gencmn.vcxproj", "{A8D36F8D-09E6-4174-91C3-7BEAA9C3F04F}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gencnval", "..\tools\gencnval\gencnval.vcxproj", "{8B41752B-5A52-41E4-B7E0-07921C0CC6BF}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrb", "..\tools\genrb\genrb.vcxproj", "{97521D06-EC47-45D4-8BD0-9E16B3F93B2A}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gentest", "..\tools\gentest\gentest.vcxproj", "{77C78066-746F-4EA6-B3FE-B8C8A4A97891}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {ECA6B435-B4FA-4F9F-BF95-F451D078FC47} = {ECA6B435-B4FA-4F9F-BF95-F451D078FC47}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "i18n", "..\i18n\i18n.vcxproj", "{0178B127-6269-407D-B112-93877BB62776}"
+       ProjectSection(ProjectDependencies) = postProject
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intltest", "..\test\intltest\intltest.vcxproj", "{73632960-B3A6-464D-83A3-4B43365F19B8}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {ECA6B435-B4FA-4F9F-BF95-F451D078FC47} = {ECA6B435-B4FA-4F9F-BF95-F451D078FC47}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makeconv", "..\tools\makeconv\makeconv.vcxproj", "{F5AD9738-1A3D-4906-B9C4-A7D9CE33DC2C}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makedata", "..\data\makedata.vcxproj", "{D9DF7F2F-93B7-4810-B5CD-96F4F33C079B}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pkgdata", "..\tools\pkgdata\pkgdata.vcxproj", "{4C8454FE-81D3-4CA3-9927-29BA96F03DAC}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stubdata", "..\stubdata\stubdata.vcxproj", "{203EC78A-0531-43F0-A636-285439BDE025}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "toolutil", "..\tools\toolutil\toolutil.vcxproj", "{6B231032-3CB5-4EED-9210-810D666A23A0}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uconv", "..\extra\uconv\uconv.vcxproj", "{DBA4088D-F6F9-4F8F-8820-082A4765C16C}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+               {D3065ADB-8820-4CC7-9B6C-9510833961A3} = {D3065ADB-8820-4CC7-9B6C-9510833961A3}
+               {4C8454FE-81D3-4CA3-9927-29BA96F03DAC} = {4C8454FE-81D3-4CA3-9927-29BA96F03DAC}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "io", "..\io\io.vcxproj", "{C2B04507-2521-4801-BF0D-5FD79D6D518C}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gensprep", "..\tools\gensprep\gensprep.vcxproj", "{631C23CE-6C1D-4875-88F0-85E0A42B36EA}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iotest", "..\test\iotest\iotest.vcxproj", "{E4993E82-D68A-46CA-BAE0-9D35E172E46F}"
+       ProjectSection(ProjectDependencies) = postProject
+               {C2B04507-2521-4801-BF0D-5FD79D6D518C} = {C2B04507-2521-4801-BF0D-5FD79D6D518C}
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {ECA6B435-B4FA-4F9F-BF95-F451D078FC47} = {ECA6B435-B4FA-4F9F-BF95-F451D078FC47}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icupkg", "..\tools\icupkg\icupkg.vcxproj", "{62D4B15D-7A90-4ECB-BA19-5E021D6A21BC}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendict", "..\tools\gendict\gendict.vcxproj", "{9D4211F7-2C77-439C-82F0-30A4E43BA569}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gencfu", "..\tools\gencfu\gencfu.vcxproj", "{691EE0C0-DC57-4A48-8AEE-8ED75EB3A057}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gennorm2", "..\tools\gennorm2\gennorm2.vcxproj", "{C7891A65-80AB-4245-912E-5F1E17B0E6C4}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icuinfo", "..\tools\icuinfo\icuinfo.vcxproj", "{E7611F49-F088-4175-9446-6111444E72C8}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {ECA6B435-B4FA-4F9F-BF95-F451D078FC47} = {ECA6B435-B4FA-4F9F-BF95-F451D078FC47}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplug", "..\tools\icuinfo\testplug.vcxproj", "{659D0C08-D4ED-4BF3-B02B-2D8D4B5A7A7A}"
+       ProjectSection(ProjectDependencies) = postProject
+               {6B231032-3CB5-4EED-9210-810D666A23A0} = {6B231032-3CB5-4EED-9210-810D666A23A0}
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makedata_uwp", "..\data\makedata_uwp.vcxproj", "{B1D53358-37BD-48BC-B27C-68BAF1E78508}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "i18n_uwp", "..\i18n\i18n_uwp.vcxproj", "{6786C051-383B-47E0-9E82-B8B994E06A25}"
+       ProjectSection(ProjectDependencies) = postProject
+               {0178B127-6269-407D-B112-93877BB62776} = {0178B127-6269-407D-B112-93877BB62776}
+               {C10CF34B-3F79-430E-AD38-5A32DC0589C2} = {C10CF34B-3F79-430E-AD38-5A32DC0589C2}
+       EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common_uwp", "..\common\common_uwp.vcxproj", "{C10CF34B-3F79-430E-AD38-5A32DC0589C2}"
+       ProjectSection(ProjectDependencies) = postProject
+               {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D} = {73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}
+       EndProjectSection
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -409,6 +534,9 @@ Global
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {A714726C-FE2D-466C-95F3-06C5C4EAE54F}
+       EndGlobalSection
        GlobalSection(SubversionScc) = preSolution
                Svn-Managed = True
                Manager = AnkhSVN - Subversion Support for Visual Studio
index f84bfd7..35bc80d 100644 (file)
@@ -100,9 +100,9 @@ static void set32x64Bits(uint32_t table[64], int32_t start, int32_t limit) {
             ++lead;
         }
         if(lead<limitLead) {
-            bits=~((1<<lead)-1);
+            bits=~(((unsigned)1<<lead)-1);
             if(limitLead<0x20) {
-                bits&=(1<<limitLead)-1;
+                bits&=((unsigned)1<<limitLead)-1;
             }
             for(trail=0; trail<64; ++trail) {
                 table[trail]|=bits;
index 88024b2..7144af6 100644 (file)
@@ -59,58 +59,47 @@ LanguageBreakFactory::~LanguageBreakFactory() {
  ******************************************************************
  */
 
-UnhandledEngine::UnhandledEngine(UErrorCode &/*status*/) {
-    for (int32_t i = 0; i < UPRV_LENGTHOF(fHandled); ++i) {
-        fHandled[i] = 0;
-    }
+UnhandledEngine::UnhandledEngine(UErrorCode &status) : fHandled(nullptr) {
+    (void)status;
 }
 
 UnhandledEngine::~UnhandledEngine() {
-    for (int32_t i = 0; i < UPRV_LENGTHOF(fHandled); ++i) {
-        if (fHandled[i] != 0) {
-            delete fHandled[i];
-        }
-    }
+    delete fHandled;
+    fHandled = nullptr;
 }
 
 UBool
-UnhandledEngine::handles(UChar32 c, int32_t breakType) const {
-    return (breakType >= 0 && breakType < UPRV_LENGTHOF(fHandled)
-        && fHandled[breakType] != 0 && fHandled[breakType]->contains(c));
+UnhandledEngine::handles(UChar32 c) const {
+    return fHandled && fHandled->contains(c);
 }
 
 int32_t
 UnhandledEngine::findBreaks( UText *text,
                              int32_t /* startPos */,
                              int32_t endPos,
-                             int32_t breakType,
                              UVector32 &/*foundBreaks*/ ) const {
-    if (breakType >= 0 && breakType < UPRV_LENGTHOF(fHandled)) {
-        UChar32 c = utext_current32(text); 
-        while((int32_t)utext_getNativeIndex(text) < endPos && fHandled[breakType]->contains(c)) {
-            utext_next32(text);            // TODO:  recast loop to work with post-increment operations.
-            c = utext_current32(text);
-        }
+    UChar32 c = utext_current32(text); 
+    while((int32_t)utext_getNativeIndex(text) < endPos && fHandled->contains(c)) {
+        utext_next32(text);            // TODO:  recast loop to work with post-increment operations.
+        c = utext_current32(text);
     }
     return 0;
 }
 
 void
-UnhandledEngine::handleCharacter(UChar32 c, int32_t breakType) {
-    if (breakType >= 0 && breakType < UPRV_LENGTHOF(fHandled)) {
-        if (fHandled[breakType] == 0) {
-            fHandled[breakType] = new UnicodeSet();
-            if (fHandled[breakType] == 0) {
-                return;
-            }
-        }
-        if (!fHandled[breakType]->contains(c)) {
-            UErrorCode status = U_ZERO_ERROR;
-            // Apply the entire script of the character.
-            int32_t script = u_getIntPropertyValue(c, UCHAR_SCRIPT);
-            fHandled[breakType]->applyIntPropertyValue(UCHAR_SCRIPT, script, status);
+UnhandledEngine::handleCharacter(UChar32 c) {
+    if (fHandled == nullptr) {
+        fHandled = new UnicodeSet();
+        if (fHandled == nullptr) {
+            return;
         }
     }
+    if (!fHandled->contains(c)) {
+        UErrorCode status = U_ZERO_ERROR;
+        // Apply the entire script of the character.
+        int32_t script = u_getIntPropertyValue(c, UCHAR_SCRIPT);
+        fHandled->applyIntPropertyValue(UCHAR_SCRIPT, script, status);
+    }
 }
 
 /*
@@ -138,7 +127,7 @@ U_NAMESPACE_BEGIN
 static UMutex gBreakEngineMutex = U_MUTEX_INITIALIZER;
 
 const LanguageBreakEngine *
-ICULanguageBreakFactory::getEngineFor(UChar32 c, int32_t breakType) {
+ICULanguageBreakFactory::getEngineFor(UChar32 c) {
     const LanguageBreakEngine *lbe = NULL;
     UErrorCode  status = U_ZERO_ERROR;
 
@@ -156,14 +145,14 @@ ICULanguageBreakFactory::getEngineFor(UChar32 c, int32_t breakType) {
         int32_t i = fEngines->size();
         while (--i >= 0) {
             lbe = (const LanguageBreakEngine *)(fEngines->elementAt(i));
-            if (lbe != NULL && lbe->handles(c, breakType)) {
+            if (lbe != NULL && lbe->handles(c)) {
                 return lbe;
             }
         }
     }
     
     // We didn't find an engine. Create one.
-    lbe = loadEngineFor(c, breakType);
+    lbe = loadEngineFor(c);
     if (lbe != NULL) {
         fEngines->push((void *)lbe, status);
     }
@@ -171,11 +160,11 @@ ICULanguageBreakFactory::getEngineFor(UChar32 c, int32_t breakType) {
 }
 
 const LanguageBreakEngine *
-ICULanguageBreakFactory::loadEngineFor(UChar32 c, int32_t breakType) {
+ICULanguageBreakFactory::loadEngineFor(UChar32 c) {
     UErrorCode status = U_ZERO_ERROR;
     UScriptCode code = uscript_getScript(c, &status);
     if (U_SUCCESS(status)) {
-        DictionaryMatcher *m = loadDictionaryMatcherFor(code, breakType);
+        DictionaryMatcher *m = loadDictionaryMatcherFor(code);
         if (m != NULL) {
             const LanguageBreakEngine *engine = NULL;
             switch(code) {
@@ -236,7 +225,7 @@ ICULanguageBreakFactory::loadEngineFor(UChar32 c, int32_t breakType) {
 }
 
 DictionaryMatcher *
-ICULanguageBreakFactory::loadDictionaryMatcherFor(UScriptCode script, int32_t /* brkType */) { 
+ICULanguageBreakFactory::loadDictionaryMatcherFor(UScriptCode script) { 
     UErrorCode status = U_ZERO_ERROR;
     // open root from brkitr tree.
     UResourceBundle *b = ures_open(U_ICUDATA_BRKITR, "", &status);
index f59e7df..e40fce1 100644 (file)
@@ -54,11 +54,10 @@ class LanguageBreakEngine : public UMemory {
   * a particular kind of break.</p>
   *
   * @param c A character which begins a run that the engine might handle
-  * @param breakType The type of text break which the caller wants to determine
   * @return TRUE if this engine handles the particular character and break
   * type.
   */
-  virtual UBool handles(UChar32 c, int32_t breakType) const = 0;
+  virtual UBool handles(UChar32 c) const = 0;
 
  /**
   * <p>Find any breaks within a run in the supplied text.</p>
@@ -68,14 +67,12 @@ class LanguageBreakEngine : public UMemory {
   * is capable of handling.
   * @param startPos The start of the run within the supplied text.
   * @param endPos The end of the run within the supplied text.
-  * @param breakType The type of break desired, or -1.
   * @param foundBreaks A Vector of int32_t to receive the breaks.
   * @return The number of breaks found.
   */
   virtual int32_t findBreaks( UText *text,
                               int32_t startPos,
                               int32_t endPos,
-                              int32_t breakType,
                               UVector32 &foundBreaks ) const = 0;
 
 };
@@ -125,11 +122,9 @@ class LanguageBreakFactory : public UMemory {
   *
   * @param c A character that begins a run for which a LanguageBreakEngine is
   * sought.
-  * @param breakType The kind of text break for which a LanguageBreakEngine is
-  * sought.
   * @return A LanguageBreakEngine with the desired characteristics, or 0.
   */
-  virtual const LanguageBreakEngine *getEngineFor(UChar32 c, int32_t breakType) = 0;
+  virtual const LanguageBreakEngine *getEngineFor(UChar32 c) = 0;
 
 };
 
@@ -152,11 +147,11 @@ class UnhandledEngine : public LanguageBreakEngine {
  private:
 
     /**
-     * The sets of characters handled, for each break type
+     * The sets of characters handled.
      * @internal
      */
 
-  UnicodeSet    *fHandled[4];
+  UnicodeSet    *fHandled;
 
  public:
 
@@ -176,11 +171,10 @@ class UnhandledEngine : public LanguageBreakEngine {
   * a particular kind of break.</p>
   *
   * @param c A character which begins a run that the engine might handle
-  * @param breakType The type of text break which the caller wants to determine
   * @return TRUE if this engine handles the particular character and break
   * type.
   */
-  virtual UBool handles(UChar32 c, int32_t breakType) const;
+  virtual UBool handles(UChar32 c) const;
 
  /**
   * <p>Find any breaks within a run in the supplied text.</p>
@@ -190,23 +184,20 @@ class UnhandledEngine : public LanguageBreakEngine {
   * is capable of handling.
   * @param startPos The start of the run within the supplied text.
   * @param endPos The end of the run within the supplied text.
-  * @param breakType The type of break desired, or -1.
   * @param foundBreaks An allocated C array of the breaks found, if any
   * @return The number of breaks found.
   */
   virtual int32_t findBreaks( UText *text,
                               int32_t startPos,
                               int32_t endPos,
-                              int32_t breakType,
                               UVector32 &foundBreaks ) const;
 
  /**
   * <p>Tell the engine to handle a particular character and break type.</p>
   *
   * @param c A character which the engine should handle
-  * @param breakType The type of text break for which the engine should handle c
   */
-  virtual void handleCharacter(UChar32 c, int32_t breakType);
+  virtual void handleCharacter(UChar32 c);
 
 };
 
@@ -250,11 +241,9 @@ class ICULanguageBreakFactory : public LanguageBreakFactory {
   *
   * @param c A character that begins a run for which a LanguageBreakEngine is
   * sought.
-  * @param breakType The kind of text break for which a LanguageBreakEngine is
-  * sought.
   * @return A LanguageBreakEngine with the desired characteristics, or 0.
   */
-  virtual const LanguageBreakEngine *getEngineFor(UChar32 c, int32_t breakType);
+  virtual const LanguageBreakEngine *getEngineFor(UChar32 c);
 
 protected:
  /**
@@ -263,21 +252,17 @@ protected:
   *
   * @param c A character that begins a run for which a LanguageBreakEngine is
   * sought.
-  * @param breakType The kind of text break for which a LanguageBreakEngine is
-  * sought.
   * @return A LanguageBreakEngine with the desired characteristics, or 0.
   */
-  virtual const LanguageBreakEngine *loadEngineFor(UChar32 c, int32_t breakType);
+  virtual const LanguageBreakEngine *loadEngineFor(UChar32 c);
 
   /**
    * <p>Create a DictionaryMatcher for the specified script and break type.</p>
    * @param script An ISO 15924 script code that identifies the dictionary to be
    * created.
-   * @param breakType The kind of text break for which a dictionary is 
-   * sought.
    * @return A DictionaryMatcher with the desired characteristics, or NULL.
    */
-  virtual DictionaryMatcher *loadDictionaryMatcherFor(UScriptCode script, int32_t breakType);
+  virtual DictionaryMatcher *loadDictionaryMatcherFor(UScriptCode script);
 };
 
 U_NAMESPACE_END
index ab02f1c..52e5c7c 100644 (file)
@@ -52,7 +52,7 @@ U_NAMESPACE_BEGIN
 // -------------------------------------
 
 BreakIterator*
-BreakIterator::buildInstance(const Locale& loc, const char *type, int32_t kind, UErrorCode &status)
+BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &status)
 {
     char fnbuff[256];
     char ext[4]={'\0'};
@@ -121,7 +121,6 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, int32_t kind,
         U_LOCALE_BASED(locBased, *(BreakIterator*)result);
         locBased.setLocaleIDs(ures_getLocaleByType(b, ULOC_VALID_LOCALE, &status), 
                               actualLocale.data());
-        result->setBreakType(kind);
     }
 
     ures_close(b);
@@ -413,10 +412,10 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
     BreakIterator *result = NULL;
     switch (kind) {
     case UBRK_CHARACTER:
-        result = BreakIterator::buildInstance(loc, "grapheme", kind, status);
+        result = BreakIterator::buildInstance(loc, "grapheme", status);
         break;
     case UBRK_WORD:
-        result = BreakIterator::buildInstance(loc, "word", kind, status);
+        result = BreakIterator::buildInstance(loc, "word", status);
         break;
     case UBRK_LINE:
         uprv_strcpy(lbType, "line");
@@ -429,10 +428,10 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
                 uprv_strcat(lbType, lbKeyValue);
             }
         }
-        result = BreakIterator::buildInstance(loc, lbType, kind, status);
+        result = BreakIterator::buildInstance(loc, lbType, status);
         break;
     case UBRK_SENTENCE:
-        result = BreakIterator::buildInstance(loc, "sentence", kind, status);
+        result = BreakIterator::buildInstance(loc, "sentence", status);
 #if !UCONFIG_NO_FILTERED_BREAK_ITERATION
         {
             char ssKeyValue[kKeyValueLenMax] = {0};
@@ -449,7 +448,7 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
 #endif
         break;
     case UBRK_TITLE:
-        result = BreakIterator::buildInstance(loc, "title", kind, status);
+        result = BreakIterator::buildInstance(loc, "title", status);
         break;
     default:
         status = U_ILLEGAL_ARGUMENT_ERROR;
index bf1a2d4..6af7ddf 100644 (file)
@@ -92,20 +92,16 @@ ByteSinkUtil::appendTwoBytes(UChar32 c, ByteSink &sink) {
     sink.Append(s8, 2);
 }
 
-UBool
-ByteSinkUtil::appendUnchanged(const uint8_t *s, int32_t length,
-                              ByteSink &sink, uint32_t options, Edits *edits,
-                              UErrorCode &errorCode) {
-    if (U_FAILURE(errorCode)) { return FALSE; }
-    if (length > 0) {
-        if (edits != nullptr) {
-            edits->addUnchanged(length);
-        }
-        if ((options & U_OMIT_UNCHANGED_TEXT) == 0) {
-            sink.Append(reinterpret_cast<const char *>(s), length);
-        }
+void
+ByteSinkUtil::appendNonEmptyUnchanged(const uint8_t *s, int32_t length,
+                                      ByteSink &sink, uint32_t options, Edits *edits) {
+    U_ASSERT(length > 0);
+    if (edits != nullptr) {
+        edits->addUnchanged(length);
+    }
+    if ((options & U_OMIT_UNCHANGED_TEXT) == 0) {
+        sink.Append(reinterpret_cast<const char *>(s), length);
     }
-    return TRUE;
 }
 
 UBool
@@ -117,7 +113,11 @@ ByteSinkUtil::appendUnchanged(const uint8_t *s, const uint8_t *limit,
         errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
         return FALSE;
     }
-    return appendUnchanged(s, (int32_t)(limit - s), sink, options, edits, errorCode);
+    int32_t length = (int32_t)(limit - s);
+    if (length > 0) {
+        appendNonEmptyUnchanged(s, length, sink, options, edits);
+    }
+    return TRUE;
 }
 
 U_NAMESPACE_END
index 004b49c..8287ffe 100644 (file)
@@ -43,11 +43,19 @@ public:
 
     static UBool appendUnchanged(const uint8_t *s, int32_t length,
                                  ByteSink &sink, uint32_t options, Edits *edits,
-                                 UErrorCode &errorCode);
+                                 UErrorCode &errorCode) {
+        if (U_FAILURE(errorCode)) { return FALSE; }
+        if (length > 0) { appendNonEmptyUnchanged(s, length, sink, options, edits); }
+        return TRUE;
+    }
 
     static UBool appendUnchanged(const uint8_t *s, const uint8_t *limit,
                                  ByteSink &sink, uint32_t options, Edits *edits,
                                  UErrorCode &errorCode);
+
+private:
+    static void appendNonEmptyUnchanged(const uint8_t *s, int32_t length,
+                                        ByteSink &sink, uint32_t options, Edits *edits);
 };
 
 U_NAMESPACE_END
index 2176c92..663c141 100644 (file)
@@ -41,30 +41,6 @@ static int n=0;
 static long b=0; 
 #endif
 
-#if U_DEBUG
-
-static char gValidMemorySink = 0;
-
-U_CAPI void uprv_checkValidMemory(const void *p, size_t n) {
-    /*
-     * Access the memory to ensure that it's all valid.
-     * Load and save a computed value to try to ensure that the compiler
-     * does not throw away the whole loop.
-     * A thread analyzer might complain about un-mutexed access to gValidMemorySink
-     * which is true but harmless because no one ever uses the value in gValidMemorySink.
-     */
-    const char *s = (const char *)p;
-    char c = gValidMemorySink;
-    size_t i;
-    U_ASSERT(p != NULL);
-    for(i = 0; i < n; ++i) {
-        c ^= s[i];
-    }
-    gValidMemorySink = c;
-}
-
-#endif  /* U_DEBUG */
-
 U_CAPI void * U_EXPORT2
 uprv_malloc(size_t s) {
 #if U_DEBUG && defined(UPRV_MALLOC_COUNT)
index ddf8e49..5cb5299 100644 (file)
 #include <stdio.h>
 #endif
 
-#if U_DEBUG
-
-/*
- * The C++ standard requires that the source pointer for memcpy() & memmove()
- * is valid, not NULL, and not at the end of an allocated memory block.
- * In debug mode, we read one byte from the source point to verify that it's
- * a valid, readable pointer.
- */
-
-U_CAPI void uprv_checkValidMemory(const void *p, size_t n);
-
-#define uprv_memcpy(dst, src, size) ( \
-    uprv_checkValidMemory(src, 1), \
-    U_STANDARD_CPP_NAMESPACE memcpy(dst, src, size))
-#define uprv_memmove(dst, src, size) ( \
-    uprv_checkValidMemory(src, 1), \
-    U_STANDARD_CPP_NAMESPACE memmove(dst, src, size))
-
-#else
 
 #define uprv_memcpy(dst, src, size) U_STANDARD_CPP_NAMESPACE memcpy(dst, src, size)
 #define uprv_memmove(dst, src, size) U_STANDARD_CPP_NAMESPACE memmove(dst, src, size)
 
-#endif  /* U_DEBUG */
-
 /**
  * \def UPRV_LENGTHOF
  * Convenience macro to determine the length of a fixed array at compile-time.
index 7a68814..833807f 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{73C0A65B-D1F2-4DE1-B3A6-15DAD2C23F3D}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* "common" project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;U_COMMON_IMPLEMENTATION;U_PLATFORM_USES_ONLY_WIN32_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x4a800000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Debug' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
+    <ClCompile>
+      <PreprocessorDefinitions>RBBI_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BrowseInformation>true</BrowseInformation>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Release' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
+    <ClCompile>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuuc.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/common.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuuc60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\icuuc61.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\icuuc.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4a800000</BaseAddress>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
       <ImportLibrary>..\..\lib\icuuc.lib</ImportLibrary>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuucd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;RBBI_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/common.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuuc60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>..\..\bin\icuuc61d.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\icuucd.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4a800000</BaseAddress>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
       <ImportLibrary>..\..\lib\icuucd.lib</ImportLibrary>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuuc.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/common.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuuc60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icuuc61.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\icuuc.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4a800000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuuc.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuucd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;RBBI_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/common.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuuc60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>..\..\bin64\icuuc61d.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\icuucd.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4a800000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuucd.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="ubidiwrt.cpp" />
     <ClCompile Include="uloc_keytype.cpp" />
     <ClCompile Include="ushape.cpp" />
-    <ClCompile Include="brkeng.cpp">
-    </ClCompile>
-    <ClCompile Include="brkiter.cpp">
-    </ClCompile>
+    <ClCompile Include="brkeng.cpp" />
+    <ClCompile Include="brkiter.cpp" />
     <ClCompile Include="dictbe.cpp" />
     <ClCompile Include="pluralmap.cpp" />
-    <ClCompile Include="rbbi.cpp">
-    </ClCompile>
-    <ClCompile Include="rbbidata.cpp">
-    </ClCompile>
+    <ClCompile Include="rbbi.cpp" />
+    <ClCompile Include="rbbidata.cpp" />
     <ClCompile Include="rbbinode.cpp" />
-    <ClCompile Include="rbbirb.cpp">
-    </ClCompile>
+    <ClCompile Include="rbbirb.cpp" />
     <ClCompile Include="rbbiscan.cpp" />
     <ClCompile Include="rbbisetb.cpp" />
-    <ClCompile Include="rbbistbl.cpp">
-    </ClCompile>
-    <ClCompile Include="rbbitblb.cpp">
-    </ClCompile>
-    <ClCompile Include="rbbi_cache.cpp">
-    </ClCompile>
+    <ClCompile Include="rbbistbl.cpp" />
+    <ClCompile Include="rbbitblb.cpp" />
+    <ClCompile Include="rbbi_cache.cpp" />
     <ClCompile Include="dictionarydata.cpp" />
     <ClCompile Include="ubrk.cpp" />
-    <ClCompile Include="ucol_swp.cpp">
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
+    <ClCompile Include="ucol_swp.cpp" />
     <ClCompile Include="propsvec.cpp" />
     <ClCompile Include="uarrsort.cpp" />
     <ClCompile Include="uenum.cpp" />
     <ClCompile Include="uvectr64.cpp" />
     <ClCompile Include="errorcode.cpp" />
     <ClCompile Include="icudataver.cpp" />
-    <ClCompile Include="locmap.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
-    <ClCompile Include="putil.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="locmap.cpp" />
+    <ClCompile Include="putil.cpp" />
     <ClCompile Include="umath.cpp" />
-    <ClCompile Include="umutex.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="umutex.cpp" />
     <ClCompile Include="utrace.cpp" />
     <ClCompile Include="utypes.cpp" />
-    <ClCompile Include="wintz.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="wintz.cpp" />
     <ClCompile Include="ucnv.cpp" />
     <ClCompile Include="ucnv2022.cpp" />
-    <ClCompile Include="ucnv_bld.cpp">
-    </ClCompile>
+    <ClCompile Include="ucnv_bld.cpp" />
     <ClCompile Include="ucnv_cb.cpp" />
     <ClCompile Include="ucnv_cnv.cpp" />
     <ClCompile Include="ucnv_ct.cpp" />
     <ClCompile Include="ucnv_err.cpp" />
     <ClCompile Include="ucnv_ext.cpp" />
-    <ClCompile Include="ucnv_io.cpp">
-    </ClCompile>
+    <ClCompile Include="ucnv_io.cpp" />
     <ClCompile Include="ucnv_lmb.cpp" />
     <ClCompile Include="ucnv_set.cpp" />
     <ClCompile Include="ucnv_u16.cpp" />
     <ClCompile Include="ucnvlat1.cpp" />
     <ClCompile Include="ucnvmbcs.cpp" />
     <ClCompile Include="ucnvscsu.cpp" />
-    <ClCompile Include="ucnvsel.cpp">
-    </ClCompile>
+    <ClCompile Include="ucnvsel.cpp" />
     <ClCompile Include="cmemory.cpp" />
-    <ClCompile Include="ucln_cmn.cpp">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="ucln_cmn.cpp" />
     <ClCompile Include="ucmndata.cpp" />
     <ClCompile Include="udata.cpp" />
     <ClCompile Include="udatamem.cpp" />
     <ClCompile Include="udataswp.cpp" />
-    <ClCompile Include="uinit.cpp">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
-    <ClCompile Include="umapfile.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="uinit.cpp" />
+    <ClCompile Include="umapfile.cpp" />
     <ClCompile Include="uobject.cpp" />
     <ClCompile Include="dtintrv.cpp" />
     <ClCompile Include="parsepos.cpp" />
     <ClCompile Include="punycode.cpp" />
     <ClCompile Include="uidna.cpp" />
     <ClCompile Include="uts46.cpp" />
-    <ClCompile Include="locavailable.cpp">
-    </ClCompile>
+    <ClCompile Include="locavailable.cpp" />
     <ClCompile Include="locbased.cpp" />
     <ClCompile Include="locdispnames.cpp" />
     <ClCompile Include="locdspnm.cpp" />
-    <ClCompile Include="locid.cpp">
-    </ClCompile>
+    <ClCompile Include="locid.cpp" />
     <ClCompile Include="loclikely.cpp" />
     <ClCompile Include="locresdata.cpp" />
-    <ClCompile Include="locutil.cpp">
-    </ClCompile>
-    <ClCompile Include="resbund.cpp">
-    </ClCompile>
+    <ClCompile Include="locutil.cpp" />
+    <ClCompile Include="resbund.cpp" />
     <ClCompile Include="resbund_cnv.cpp" />
     <ClCompile Include="ucat.cpp" />
     <ClCompile Include="uloc.cpp" />
     <ClCompile Include="uresdata.cpp" />
     <ClCompile Include="resource.cpp" />
     <ClCompile Include="ucurr.cpp" />
-    <ClCompile Include="caniter.cpp">
-    </ClCompile>
+    <ClCompile Include="caniter.cpp" />
     <ClCompile Include="filterednormalizer2.cpp" />
     <ClCompile Include="loadednormalizer2impl.cpp" />
     <ClCompile Include="normalizer2.cpp" />
     <ClCompile Include="normalizer2impl.cpp" />
-    <ClCompile Include="normlzr.cpp">
-    </ClCompile>
+    <ClCompile Include="normlzr.cpp" />
     <ClCompile Include="unorm.cpp" />
     <ClCompile Include="unormcmp.cpp" />
     <ClCompile Include="bmpset.cpp" />
     <ClCompile Include="patternprops.cpp" />
-    <ClCompile Include="propname.cpp">
-    </ClCompile>
+    <ClCompile Include="propname.cpp" />
     <ClCompile Include="ruleiter.cpp" />
-    <ClCompile Include="ucase.cpp">
-    </ClCompile>
+    <ClCompile Include="ucase.cpp" />
     <ClCompile Include="uchar.cpp" />
     <ClCompile Include="unames.cpp" />
-    <ClCompile Include="unifiedcache.cpp">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="unifiedcache.cpp" />
     <ClCompile Include="unifilt.cpp" />
     <ClCompile Include="unifunct.cpp" />
     <ClCompile Include="uniset.cpp" />
     <ClCompile Include="uset_props.cpp" />
     <ClCompile Include="usetiter.cpp" />
     <ClCompile Include="icuplug.cpp" />
-    <ClCompile Include="serv.cpp">
-    </ClCompile>
-    <ClCompile Include="servlk.cpp">
-    </ClCompile>
-    <ClCompile Include="servlkf.cpp">
-    </ClCompile>
-    <ClCompile Include="servls.cpp">
-    </ClCompile>
-    <ClCompile Include="servnotf.cpp">
-    </ClCompile>
-    <ClCompile Include="servrbf.cpp">
-    </ClCompile>
-    <ClCompile Include="servslkf.cpp">
-    </ClCompile>
+    <ClCompile Include="serv.cpp" />
+    <ClCompile Include="servlk.cpp" />
+    <ClCompile Include="servlkf.cpp" />
+    <ClCompile Include="servls.cpp" />
+    <ClCompile Include="servnotf.cpp" />
+    <ClCompile Include="servrbf.cpp" />
+    <ClCompile Include="servslkf.cpp" />
     <ClCompile Include="usprep.cpp" />
     <ClCompile Include="appendable.cpp" />
     <ClCompile Include="bytesinkutil.cpp" />
     <ClCompile Include="utf_impl.cpp" />
     <ClCompile Include="listformatter.cpp" />
     <ClCompile Include="ulistformatter.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="unicode\ubidi.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="localsvc.h" />
     <ClInclude Include="msvcres.h" />
     <ClInclude Include="pluralmap.h" />
     <ClInclude Include="propname_data.h" />
     <ClInclude Include="ubidi_props.h" />
     <ClInclude Include="ubidiimp.h" />
-    <CustomBuild Include="unicode\ushape.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="brkeng.h" />
-    <CustomBuild Include="unicode\brkiter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dbbi.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dictbe.h" />
-    <CustomBuild Include="unicode\rbbi.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="rbbidata.h" />
     <ClInclude Include="rbbinode.h" />
     <ClInclude Include="rbbirb.h" />
     <ClInclude Include="rbbitblb.h" />
     <ClInclude Include="rbbi_cache.h" />
     <ClInclude Include="dictionarydata.h" />
-    <CustomBuild Include="unicode\ubrk.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ubidi_props_data.h" />
     <ClInclude Include="ubrkimpl.h" />
     <ClInclude Include="ucase_props_data.h" />
     <ClInclude Include="unistrappender.h" />
     <ClInclude Include="hash.h" />
     <ClInclude Include="propsvec.h" />
-    <CustomBuild Include="unicode\strenum.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uarrsort.h" />
-    <CustomBuild Include="unicode\uenum.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uelement.h" />
     <ClInclude Include="uenumimp.h" />
     <ClInclude Include="uhash.h" />
     <ClInclude Include="ulist.h" />
-    <CustomBuild Include="unicode\enumset.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unicode\filteredbrk.h" />
     <ClInclude Include="ustrenum.h" />
     <ClInclude Include="utrie.h" />
     <ClInclude Include="uvectr32.h" />
     <ClInclude Include="uvectr64.h" />
     <ClInclude Include="cpputils.h" />
-    <CustomBuild Include="unicode\docmain.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\errorcode.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\icudataver.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locmap.h" />
     <ClInclude Include="mutex.h" />
-    <CustomBuild Include="unicode\platform.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ptypes.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\putil.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="putilimp.h" />
-    <CustomBuild Include="unicode\std_string.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uassert.h" />
-    <CustomBuild Include="unicode\uconfig.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umachine.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="umutex.h" />
     <ClInclude Include="uposixdefs.h" />
-    <CustomBuild Include="unicode\urename.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utrace.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="utracimp.h" />
-    <CustomBuild Include="unicode\utypes.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uvernum.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uversion.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="wintz.h" />
-    <CustomBuild Include="unicode\ucnv.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_bld.h" />
-    <CustomBuild Include="unicode\ucnv_cb.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_cnv.h" />
-    <CustomBuild Include="unicode\ucnv_err.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_ext.h" />
     <ClInclude Include="ucnv_imp.h" />
     <ClInclude Include="ucnv_io.h" />
     <ClInclude Include="ucnvmbcs.h" />
-    <CustomBuild Include="unicode\ucnvsel.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="cmemory.h" />
-    <CustomBuild Include="unicode\localpointer.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uclean.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucln.h" />
     <ClInclude Include="ucln_cmn.h" />
     <ClInclude Include="ucln_imp.h" />
     <ClInclude Include="ucmndata.h" />
-    <CustomBuild Include="unicode\udata.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="udatamem.h" />
     <ClInclude Include="udataswp.h" />
     <ClInclude Include="umapfile.h" />
-    <CustomBuild Include="unicode\uobject.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtintrv.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\parseerr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\parsepos.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umisc.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ustrfmt.h" />
     <ClInclude Include="util.h" />
-    <CustomBuild Include="unicode\idna.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="punycode.h" />
-    <CustomBuild Include="unicode\uidna.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locbased.h" />
-    <CustomBuild Include="unicode\locid.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locutil.h" />
-    <CustomBuild Include="unicode\resbund.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="sharedobject.h" />
     <ClCompile Include="sharedobject.cpp" />
-    <CustomBuild Include="unicode\locdspnm.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\simpleformatter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucat.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udisplaycontext.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uldnames.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uloc.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ulocimp.h" />
-    <CustomBuild Include="unicode\ures.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unifiedcache.h" />
     <ClInclude Include="uresdata.h" />
     <ClInclude Include="uresimp.h" />
     <ClInclude Include="ureslocs.h" />
     <ClInclude Include="resource.h" />
-    <CustomBuild Include="unicode\ucurr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucurrimp.h" />
-    <CustomBuild Include="unicode\caniter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="norm2allmodes.h" />
-    <CustomBuild Include="unicode\normalizer2.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="normalizer2impl.h" />
-    <CustomBuild Include="unicode\normlzr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unorm.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unorm2.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unormimp.h" />
     <ClInclude Include="bmpset.h" />
     <ClInclude Include="messageimpl.h" />
     <ClInclude Include="patternprops.h" />
     <ClInclude Include="propname.h" />
     <ClInclude Include="ruleiter.h" />
-    <CustomBuild Include="unicode\symtable.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucase.h" />
-    <CustomBuild Include="unicode\uchar.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unifilt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unifunct.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unimatch.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uniset.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unisetspan.h" />
     <ClInclude Include="uprops.h" />
     <ClInclude Include="usc_impl.h" />
-    <CustomBuild Include="unicode\uscript.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uset.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uset_imp.h" />
-    <CustomBuild Include="unicode\usetiter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\icuplug.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="icuplugimp.h" />
     <ClInclude Include="serv.h" />
     <ClInclude Include="servloc.h" />
     <ClInclude Include="servnotf.h" />
     <ClInclude Include="sprpimpl.h" />
-    <CustomBuild Include="unicode\usprep.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\appendable.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="bytesinkutil.h" />
-    <CustomBuild Include="unicode\bytestream.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\bytestrie.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\bytestriebuilder.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\casemap.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\char16ptr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\chariter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="charstr.h" />
     <ClInclude Include="cstring.h" />
     <ClInclude Include="cstr.h" />
     <ClInclude Include="cwchar.h" />
-    <CustomBuild Include="unicode\edits.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\messagepattern.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\rep.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\schriter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringpiece.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringtriebuilder.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucasemap.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucasemap_imp.h" />
-    <CustomBuild Include="unicode\ucharstrie.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucharstriebuilder.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uchriter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uinvchar.h" />
-    <CustomBuild Include="unicode\uiter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unistr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\urep.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ustr_cnv.h" />
     <ClInclude Include="ustr_imp.h" />
-    <CustomBuild Include="unicode\ustring.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ustringtrie.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utext.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf16.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf32.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf8.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf_old.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\listformatter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ulistformatter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringoptions.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="common.rc" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\stubdata\stubdata.vcxproj">
-      <Project>{203ec78a-0531-43f0-a636-285439bde025}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <!-- The following import will copy all of the header files from this projects 'unicode' folder. -->
+  <Import Project="$(SolutionDir)\Windows.CopyUnicodeHeaderFiles.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 72fbf41..af2f653 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\allinone\Build.Windows.UWP.ProjectConfiguration.props" />
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>
     <ProjectGuid>{C10CF34B-3F79-430E-AD38-5A32DC0589C2}</ProjectGuid>
     <Keyword>DynamicLibrary</Keyword>
     <DefaultLanguage>en-US</DefaultLanguage>
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
-    <AppContainerApplication>true</AppContainerApplication>
-    <ApplicationType>Windows Store</ApplicationType>
-    <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
-    <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
-    <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -72,7 +66,6 @@
   <ItemDefinitionGroup>
     <!-- Options that are common to *all* configurations -->
     <Midl>
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MkTypLibCompatible>true</MkTypLibCompatible>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Midl>
@@ -80,7 +73,7 @@
       <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <!-- U_DISABLE_RENAMING -->
       <!-- U_HIDE_DRAFT_API & U_HIDE_DEPRECATED_API -->
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;U_ATTRIBUTE_DEPRECATED=;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;U_PLATFORM_USES_ONLY_WIN32_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;_CRT_SECURE_NO_DEPRECATE;U_COMMON_IMPLEMENTATION;U_PLATFORM_USES_ONLY_WIN32_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <ExceptionHandling>
       </ExceptionHandling>
@@ -95,7 +88,6 @@
       <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0409</Culture>
       <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
       <ProgramDataBaseFileName>.\x86\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin32uwp\icuuc60.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuuc61.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib32uwp\icuuc.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib32uwp\icuuc.lib</ImportLibrary>
     </Link>
       <ProgramDataBaseFileName>.\x86\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin32uwp\icuuc60d.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuuc61d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib32uwp\icuucd.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib32uwp\icuucd.lib</ImportLibrary>
     </Link>
       <ProgramDataBaseFileName>.\x64\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64uwp\icuuc60.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuuc61.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib64uwp\icuuc.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib64uwp\icuuc.lib</ImportLibrary>
     </Link>
       <ProgramDataBaseFileName>.\x64\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64uwp\icuuc60d.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuuc61d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib64uwp\icuucd.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib64uwp\icuucd.lib</ImportLibrary>
     </Link>
       <ProgramDataBaseFileName>.\ARM\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARMuwp\icuuc60.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuuc61.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARMuwp\icuuc.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARMuwp\icuuc.lib</ImportLibrary>
     </Link>
       <ProgramDataBaseFileName>.\ARM\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARMuwp\icuuc60d.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuuc61d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARMuwp\icuucd.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARMuwp\icuucd.lib</ImportLibrary>
     </Link>
     <ClCompile Include="rbbi_cache.cpp" />
     <ClCompile Include="dictionarydata.cpp" />
     <ClCompile Include="ubrk.cpp" />
-    <ClCompile Include="ucol_swp.cpp">
-      <AdditionalIncludeDirectories>..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
+    <ClCompile Include="ucol_swp.cpp" />
     <ClCompile Include="propsvec.cpp" />
     <ClCompile Include="uarrsort.cpp" />
     <ClCompile Include="uenum.cpp" />
     <ClCompile Include="ulistformatter.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="unicode\ubidi.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="localsvc.h" />
     <ClInclude Include="msvcres.h" />
     <ClInclude Include="pluralmap.h" />
     <ClInclude Include="propname_data.h" />
     <ClInclude Include="ubidi_props.h" />
     <ClInclude Include="ubidiimp.h" />
-    <CustomBuild Include="unicode\ushape.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="brkeng.h" />
-    <CustomBuild Include="unicode\brkiter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dbbi.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dictbe.h" />
-    <CustomBuild Include="unicode\rbbi.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="rbbidata.h" />
     <ClInclude Include="rbbinode.h" />
     <ClInclude Include="rbbirb.h" />
     <ClInclude Include="rbbitblb.h" />
     <ClInclude Include="rbbi_cache.h" />
     <ClInclude Include="dictionarydata.h" />
-    <CustomBuild Include="unicode\ubrk.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ubidi_props_data.h" />
     <ClInclude Include="ubrkimpl.h" />
     <ClInclude Include="ucase_props_data.h" />
     <ClInclude Include="unistrappender.h" />
     <ClInclude Include="hash.h" />
     <ClInclude Include="propsvec.h" />
-    <CustomBuild Include="unicode\strenum.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uarrsort.h" />
-    <CustomBuild Include="unicode\uenum.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uelement.h" />
     <ClInclude Include="uenumimp.h" />
     <ClInclude Include="uhash.h" />
     <ClInclude Include="ulist.h" />
-    <CustomBuild Include="unicode\enumset.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unicode\filteredbrk.h" />
     <ClInclude Include="ustrenum.h" />
     <ClInclude Include="utrie.h" />
     <ClInclude Include="uvectr32.h" />
     <ClInclude Include="uvectr64.h" />
     <ClInclude Include="cpputils.h" />
-    <CustomBuild Include="unicode\docmain.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\errorcode.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\icudataver.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locmap.h" />
     <ClInclude Include="mutex.h" />
-    <CustomBuild Include="unicode\platform.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ptypes.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\putil.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="putilimp.h" />
-    <CustomBuild Include="unicode\std_string.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uassert.h" />
-    <CustomBuild Include="unicode\uconfig.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umachine.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="umutex.h" />
     <ClInclude Include="uposixdefs.h" />
-    <CustomBuild Include="unicode\urename.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utrace.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="utracimp.h" />
-    <CustomBuild Include="unicode\utypes.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uvernum.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uversion.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="wintz.h" />
-    <CustomBuild Include="unicode\ucnv.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_bld.h" />
-    <CustomBuild Include="unicode\ucnv_cb.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_cnv.h" />
-    <CustomBuild Include="unicode\ucnv_err.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucnv_ext.h" />
     <ClInclude Include="ucnv_imp.h" />
     <ClInclude Include="ucnv_io.h" />
     <ClInclude Include="ucnvmbcs.h" />
-    <CustomBuild Include="unicode\ucnvsel.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="cmemory.h" />
-    <CustomBuild Include="unicode\localpointer.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uclean.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucln.h" />
     <ClInclude Include="ucln_cmn.h" />
     <ClInclude Include="ucln_imp.h" />
     <ClInclude Include="ucmndata.h" />
-    <CustomBuild Include="unicode\udata.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="udatamem.h" />
     <ClInclude Include="udataswp.h" />
     <ClInclude Include="umapfile.h" />
-    <CustomBuild Include="unicode\uobject.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtintrv.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\parseerr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\parsepos.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umisc.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ustrfmt.h" />
     <ClInclude Include="util.h" />
-    <CustomBuild Include="unicode\idna.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="punycode.h" />
-    <CustomBuild Include="unicode\uidna.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locbased.h" />
-    <CustomBuild Include="unicode\locid.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="locutil.h" />
-    <CustomBuild Include="unicode\resbund.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="sharedobject.h" />
     <ClCompile Include="sharedobject.cpp" />
-    <CustomBuild Include="unicode\locdspnm.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\simpleformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucat.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udisplaycontext.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uldnames.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uloc.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ulocimp.h" />
-    <CustomBuild Include="unicode\ures.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unifiedcache.h" />
     <ClInclude Include="uresdata.h" />
     <ClInclude Include="uresimp.h" />
     <ClInclude Include="ureslocs.h" />
     <ClInclude Include="resource.h" />
-    <CustomBuild Include="unicode\ucurr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucurrimp.h" />
-    <CustomBuild Include="unicode\caniter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="norm2allmodes.h" />
-    <CustomBuild Include="unicode\normalizer2.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="normalizer2impl.h" />
-    <CustomBuild Include="unicode\normlzr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unorm.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unorm2.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unormimp.h" />
     <ClInclude Include="bmpset.h" />
     <ClInclude Include="messageimpl.h" />
     <ClInclude Include="patternprops.h" />
     <ClInclude Include="propname.h" />
     <ClInclude Include="ruleiter.h" />
-    <CustomBuild Include="unicode\symtable.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ucase.h" />
-    <CustomBuild Include="unicode\uchar.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unifilt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unifunct.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unimatch.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uniset.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="unisetspan.h" />
     <ClInclude Include="uprops.h" />
     <ClInclude Include="usc_impl.h" />
-    <CustomBuild Include="unicode\uscript.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uset.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uset_imp.h" />
-    <CustomBuild Include="unicode\usetiter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\icuplug.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="icuplugimp.h" />
     <ClInclude Include="serv.h" />
     <ClInclude Include="servloc.h" />
     <ClInclude Include="servnotf.h" />
     <ClInclude Include="sprpimpl.h" />
-    <CustomBuild Include="unicode\usprep.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\appendable.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="bytesinkutil.h" />
-    <CustomBuild Include="unicode\bytestream.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\bytestrie.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\bytestriebuilder.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\chariter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="charstr.h" />
     <ClInclude Include="cstring.h" />
     <ClInclude Include="cstr.h" />
     <ClInclude Include="cwchar.h" />
-    <CustomBuild Include="unicode\messagepattern.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\rep.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\schriter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringpiece.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringtriebuilder.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucasemap.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucharstrie.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucharstriebuilder.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uchriter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uinvchar.h" />
-    <CustomBuild Include="unicode\uiter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unistr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\urep.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ustr_cnv.h" />
     <ClInclude Include="ustr_imp.h" />
-    <CustomBuild Include="unicode\ustring.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ustringtrie.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utext.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf16.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf32.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf8.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utf_old.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\listformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ulistformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stringoptions.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="common.rc" />
index 2232efc..ed0b1a7 100644 (file)
 #define uprv_strchr(s, c) U_STANDARD_CPP_NAMESPACE strchr(s, c)
 #define uprv_strstr(s, c) U_STANDARD_CPP_NAMESPACE strstr(s, c)
 #define uprv_strrchr(s, c) U_STANDARD_CPP_NAMESPACE strrchr(s, c)
-
-#if U_DEBUG
-
-#define uprv_strncpy(dst, src, size) ( \
-    uprv_checkValidMemory(src, 1), \
-    U_STANDARD_CPP_NAMESPACE strncpy(dst, src, size))
-#define uprv_strncmp(s1, s2, n) ( \
-    uprv_checkValidMemory(s1, 1), \
-    uprv_checkValidMemory(s2, 1), \
-    U_STANDARD_CPP_NAMESPACE strncmp(s1, s2, n))
-#define uprv_strncat(dst, src, n) ( \
-    uprv_checkValidMemory(src, 1), \
-    U_STANDARD_CPP_NAMESPACE strncat(dst, src, n))
-
-#else
-
 #define uprv_strncpy(dst, src, size) U_STANDARD_CPP_NAMESPACE strncpy(dst, src, size)
 #define uprv_strncmp(s1, s2, n) U_STANDARD_CPP_NAMESPACE strncmp(s1, s2, n)
 #define uprv_strncat(dst, src, n) U_STANDARD_CPP_NAMESPACE strncat(dst, src, n)
 
-#endif  /* U_DEBUG */
-
 /**
  * Is c an ASCII-repertoire letter a-z or A-Z?
  * Note: The implementation is specific to whether ICU is compiled for
index 18fa188..d8ae45c 100644 (file)
@@ -29,24 +29,21 @@ U_NAMESPACE_BEGIN
  ******************************************************************
  */
 
-DictionaryBreakEngine::DictionaryBreakEngine(uint32_t breakTypes) {
-    fTypes = breakTypes;
+DictionaryBreakEngine::DictionaryBreakEngine() {
 }
 
 DictionaryBreakEngine::~DictionaryBreakEngine() {
 }
 
 UBool
-DictionaryBreakEngine::handles(UChar32 c, int32_t breakType) const {
-    return (breakType >= 0 && breakType < 32 && (((uint32_t)1 << breakType) & fTypes)
-            && fSet.contains(c));
+DictionaryBreakEngine::handles(UChar32 c) const {
+    return fSet.contains(c);
 }
 
 int32_t
 DictionaryBreakEngine::findBreaks( UText *text,
                                  int32_t startPos,
                                  int32_t endPos,
-                                 int32_t breakType,
                                  UVector32 &foundBreaks ) const {
     (void)startPos;            // TODO: remove this param?
     int32_t result = 0;
@@ -66,10 +63,8 @@ DictionaryBreakEngine::findBreaks( UText *text,
     }
     rangeStart = start;
     rangeEnd = current;
-    if (breakType >= 0 && breakType < 32 && (((uint32_t)1 << breakType) & fTypes)) {
-        result = divideUpDictionaryRange(text, rangeStart, rangeEnd, foundBreaks);
-        utext_setNativeIndex(text, current);
-    }
+    result = divideUpDictionaryRange(text, rangeStart, rangeEnd, foundBreaks);
+    utext_setNativeIndex(text, current);
     
     return result;
 }
@@ -194,7 +189,7 @@ static const int32_t THAI_MIN_WORD = 2;
 static const int32_t THAI_MIN_WORD_SPAN = THAI_MIN_WORD * 2;
 
 ThaiBreakEngine::ThaiBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &status)
-    : DictionaryBreakEngine((1<<UBRK_WORD) | (1<<UBRK_LINE)),
+    : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
     fThaiWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Thai:]&[:LineBreak=SA:]]"), status);
@@ -436,7 +431,7 @@ static const int32_t LAO_MIN_WORD = 2;
 static const int32_t LAO_MIN_WORD_SPAN = LAO_MIN_WORD * 2;
 
 LaoBreakEngine::LaoBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &status)
-    : DictionaryBreakEngine((1<<UBRK_WORD) | (1<<UBRK_LINE)),
+    : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
     fLaoWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Laoo:]&[:LineBreak=SA:]]"), status);
@@ -632,7 +627,7 @@ static const int32_t BURMESE_MIN_WORD = 2;
 static const int32_t BURMESE_MIN_WORD_SPAN = BURMESE_MIN_WORD * 2;
 
 BurmeseBreakEngine::BurmeseBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &status)
-    : DictionaryBreakEngine((1<<UBRK_WORD) | (1<<UBRK_LINE)),
+    : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
     fBurmeseWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Mymr:]&[:LineBreak=SA:]]"), status);
@@ -825,7 +820,7 @@ static const int32_t KHMER_MIN_WORD = 2;
 static const int32_t KHMER_MIN_WORD_SPAN = KHMER_MIN_WORD * 2;
 
 KhmerBreakEngine::KhmerBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &status)
-    : DictionaryBreakEngine((1 << UBRK_WORD) | (1 << UBRK_LINE)),
+    : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
     fKhmerWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Khmr:]&[:LineBreak=SA:]]"), status);
@@ -1047,7 +1042,7 @@ foundBest:
  */
 static const uint32_t kuint32max = 0xFFFFFFFF;
 CjkBreakEngine::CjkBreakEngine(DictionaryMatcher *adoptDictionary, LanguageType type, UErrorCode &status)
-: DictionaryBreakEngine(1 << UBRK_WORD), fDictionary(adoptDictionary) {
+: DictionaryBreakEngine(), fDictionary(adoptDictionary) {
     // Korean dictionary only includes Hangul syllables
     fHangulWordSet.applyPattern(UNICODE_STRING_SIMPLE("[\\uac00-\\ud7a3]"), status);
     fHanWordSet.applyPattern(UNICODE_STRING_SIMPLE("[:Han:]"), status);
@@ -1324,8 +1319,8 @@ CjkBreakEngine::divideUpDictionaryRange( UText *inText,
             }
             if (katakanaRunLength < kMaxKatakanaGroupLength) {
                 uint32_t newSnlp = bestSnlp.elementAti(i) + getKatakanaCost(katakanaRunLength);
-                if (newSnlp < (uint32_t)bestSnlp.elementAti(j)) {
-                    bestSnlp.setElementAt(newSnlp, j);
+                if (newSnlp < (uint32_t)bestSnlp.elementAti(i+katakanaRunLength)) {
+                    bestSnlp.setElementAt(newSnlp, i+katakanaRunLength);
                     prev.setElementAt(i, i+katakanaRunLength);  // prev[j] = i;
                 }
             }
index de1d49f..731bfdf 100644 (file)
@@ -42,27 +42,12 @@ class DictionaryBreakEngine : public LanguageBreakEngine {
 
   UnicodeSet    fSet;
 
-    /**
-     * The set of break types handled by this engine
-     * @internal
-     */
-
-  uint32_t      fTypes;
-
-  /**
-   * <p>Default constructor.</p>
-   *
-   */
-  DictionaryBreakEngine();
-
  public:
 
   /**
-   * <p>Constructor setting the break types handled.</p>
-   *
-   * @param breakTypes A bitmap of types handled by the engine.
+   * <p>Constructor </p>
    */
-  DictionaryBreakEngine( uint32_t breakTypes );
+  DictionaryBreakEngine();
 
   /**
    * <p>Virtual destructor.</p>
@@ -74,11 +59,10 @@ class DictionaryBreakEngine : public LanguageBreakEngine {
    * a particular kind of break.</p>
    *
    * @param c A character which begins a run that the engine might handle
-   * @param breakType The type of text break which the caller wants to determine
    * @return TRUE if this engine handles the particular character and break
    * type.
    */
-  virtual UBool handles( UChar32 c, int32_t breakType ) const;
+  virtual UBool handles(UChar32 c) const;
 
   /**
    * <p>Find any breaks within a run in the supplied text.</p>
@@ -88,14 +72,12 @@ class DictionaryBreakEngine : public LanguageBreakEngine {
    * that starts from the first character in the range.
    * @param startPos The start of the run within the supplied text.
    * @param endPos The end of the run within the supplied text.
-   * @param breakType The type of break desired, or -1.
    * @param foundBreaks vector of int32_t to receive the break positions
    * @return The number of breaks found.
    */
   virtual int32_t findBreaks( UText *text,
                               int32_t startPos,
                               int32_t endPos,
-                              int32_t breakType,
                               UVector32 &foundBreaks ) const;
 
  protected:
@@ -108,13 +90,6 @@ class DictionaryBreakEngine : public LanguageBreakEngine {
   virtual void setCharacters( const UnicodeSet &set );
 
  /**
-  * <p>Set the break types handled by this engine.</p>
-  *
-  * @param breakTypes A bitmap of types handled by the engine.
-  */
-//  virtual void setBreakTypes( uint32_t breakTypes );
-
- /**
   * <p>Divide up a range of known dictionary characters handled by this break engine.</p>
   *
   * @param text A UText representing the text
index 30f8617..20c3aa8 100644 (file)
@@ -694,6 +694,11 @@ FilteredBreakIteratorBuilder::createInstance(const Locale& where, UErrorCode& st
 }
 
 FilteredBreakIteratorBuilder *
+FilteredBreakIteratorBuilder::createInstance(UErrorCode &status) {
+  return createEmptyInstance(status);
+}
+
+FilteredBreakIteratorBuilder *
 FilteredBreakIteratorBuilder::createEmptyInstance(UErrorCode& status) {
   if(U_FAILURE(status)) return NULL;
   LocalPointer<FilteredBreakIteratorBuilder> ret(new SimpleFilteredBreakIteratorBuilder(status), status);
index 54b289e..69f92d9 100644 (file)
@@ -64,7 +64,9 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(RuleBasedBreakIterator)
  * Constructs a RuleBasedBreakIterator that uses the already-created
  * tables object that is passed in as a parameter.
  */
-RuleBasedBreakIterator::RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status) {
+RuleBasedBreakIterator::RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status)
+ : fSCharIter(UnicodeString())
+{
     init(status);
     fData = new RBBIDataWrapper(data, status); // status checked in constructor
     if (U_FAILURE(status)) {return;}
@@ -80,7 +82,9 @@ RuleBasedBreakIterator::RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode
 //
 RuleBasedBreakIterator::RuleBasedBreakIterator(const uint8_t *compiledRules,
                        uint32_t       ruleLength,
-                       UErrorCode     &status) {
+                       UErrorCode     &status)
+ : fSCharIter(UnicodeString())
+{
     init(status);
     if (U_FAILURE(status)) {
         return;
@@ -110,6 +114,7 @@ RuleBasedBreakIterator::RuleBasedBreakIterator(const uint8_t *compiledRules,
 //
 //-------------------------------------------------------------------------------
 RuleBasedBreakIterator::RuleBasedBreakIterator(UDataMemory* udm, UErrorCode &status)
+ : fSCharIter(UnicodeString())
 {
     init(status);
     fData = new RBBIDataWrapper(udm, status); // status checked in constructor
@@ -130,6 +135,7 @@ RuleBasedBreakIterator::RuleBasedBreakIterator(UDataMemory* udm, UErrorCode &sta
 RuleBasedBreakIterator::RuleBasedBreakIterator( const UnicodeString  &rules,
                                                 UParseError          &parseError,
                                                 UErrorCode           &status)
+ : fSCharIter(UnicodeString())
 {
     init(status);
     if (U_FAILURE(status)) {return;}
@@ -152,7 +158,9 @@ RuleBasedBreakIterator::RuleBasedBreakIterator( const UnicodeString  &rules,
 //                           Used when creating a RuleBasedBreakIterator from a set
 //                           of rules.
 //-------------------------------------------------------------------------------
-RuleBasedBreakIterator::RuleBasedBreakIterator() {
+RuleBasedBreakIterator::RuleBasedBreakIterator()
+ : fSCharIter(UnicodeString())
+{
     UErrorCode status = U_ZERO_ERROR;
     init(status);
 }
@@ -165,7 +173,8 @@ RuleBasedBreakIterator::RuleBasedBreakIterator() {
 //
 //-------------------------------------------------------------------------------
 RuleBasedBreakIterator::RuleBasedBreakIterator(const RuleBasedBreakIterator& other)
-: BreakIterator(other)
+: BreakIterator(other),
+  fSCharIter(UnicodeString())
 {
     UErrorCode status = U_ZERO_ERROR;
     this->init(status);
@@ -177,17 +186,13 @@ RuleBasedBreakIterator::RuleBasedBreakIterator(const RuleBasedBreakIterator& oth
  * Destructor
  */
 RuleBasedBreakIterator::~RuleBasedBreakIterator() {
-    if (fCharIter!=fSCharIter && fCharIter!=fDCharIter) {
+    if (fCharIter != &fSCharIter) {
         // fCharIter was adopted from the outside.
         delete fCharIter;
     }
     fCharIter = NULL;
-    delete fSCharIter;
-    fSCharIter = NULL;
-    delete fDCharIter;
-    fDCharIter = NULL;
 
-    utext_close(fText);
+    utext_close(&fText);
 
     if (fData != NULL) {
         fData->removeReference();
@@ -217,26 +222,29 @@ RuleBasedBreakIterator::operator=(const RuleBasedBreakIterator& that) {
     }
     BreakIterator::operator=(that);
 
-    fBreakType = that.fBreakType;
     if (fLanguageBreakEngines != NULL) {
         delete fLanguageBreakEngines;
         fLanguageBreakEngines = NULL;   // Just rebuild for now
     }
     // TODO: clone fLanguageBreakEngines from "that"
     UErrorCode status = U_ZERO_ERROR;
-    fText = utext_clone(fText, that.fText, FALSE, TRUE, &status);
+    utext_clone(&fText, &that.fText, FALSE, TRUE, &status);
 
-    if (fCharIter!=fSCharIter && fCharIter!=fDCharIter) {
+    if (fCharIter != &fSCharIter) {
         delete fCharIter;
     }
-    fCharIter = NULL;
+    fCharIter = &fSCharIter;
 
-    if (that.fCharIter != NULL ) {
+    if (that.fCharIter != NULL && that.fCharIter != &that.fSCharIter) {
         // This is a little bit tricky - it will intially appear that
         //  this->fCharIter is adopted, even if that->fCharIter was
         //  not adopted.  That's ok.
         fCharIter = that.fCharIter->clone();
     }
+    fSCharIter = that.fSCharIter;
+    if (fCharIter == NULL) {
+        fCharIter = &fSCharIter;
+    }
 
     if (fData != NULL) {
         fData->removeReference();
@@ -269,33 +277,30 @@ RuleBasedBreakIterator::operator=(const RuleBasedBreakIterator& that) {
 //
 //-----------------------------------------------------------------------------
 void RuleBasedBreakIterator::init(UErrorCode &status) {
-    fText                 = NULL;
     fCharIter             = NULL;
-    fSCharIter            = NULL;
-    fDCharIter            = NULL;
     fData                 = NULL;
     fPosition             = 0;
     fRuleStatusIndex      = 0;
     fDone                 = false;
     fDictionaryCharCount  = 0;
-    fBreakType            = UBRK_WORD;  // Defaulting BreakType to word gives reasonable
-                                        //   dictionary behavior for Break Iterators that are
-                                        //   built from rules.  Even better would be the ability to
-                                        //   declare the type in the rules.
-
     fLanguageBreakEngines = NULL;
     fUnhandledBreakEngine = NULL;
     fBreakCache           = NULL;
     fDictionaryCache      = NULL;
 
-    if (U_FAILURE(status)) {
+    // Note: IBM xlC is unable to assign or initialize member fText from UTEXT_INITIALIZER.
+    // fText                 = UTEXT_INITIALIZER;
+    static const UText initializedUText = UTEXT_INITIALIZER;
+    uprv_memcpy(&fText, &initializedUText, sizeof(UText));
+
+   if (U_FAILURE(status)) {
         return;
     }
 
-    fText            = utext_openUChars(NULL, NULL, 0, &status);
+    utext_openUChars(&fText, NULL, 0, &status);
     fDictionaryCache = new DictionaryCache(this, status);
     fBreakCache      = new BreakCache(this, status);
-    if (U_SUCCESS(status) && (fText == NULL || fDictionaryCache == NULL || fBreakCache == NULL)) {
+    if (U_SUCCESS(status) && (fDictionaryCache == NULL || fBreakCache == NULL)) {
         status = U_MEMORY_ALLOCATION_ERROR;
     }
 
@@ -344,7 +349,7 @@ RuleBasedBreakIterator::operator==(const BreakIterator& that) const {
 
     const RuleBasedBreakIterator& that2 = (const RuleBasedBreakIterator&) that;
 
-    if (!utext_equals(fText, that2.fText)) {
+    if (!utext_equals(&fText, &that2.fText)) {
         // The two break iterators are operating on different text,
         //   or have a different iteration position.
         //   Note that fText's position is always the same as the break iterator's position.
@@ -385,7 +390,7 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
     }
     fBreakCache->reset();
     fDictionaryCache->reset();
-    fText = utext_clone(fText, ut, FALSE, TRUE, &status);
+    utext_clone(&fText, ut, FALSE, TRUE, &status);
 
     // Set up a dummy CharacterIterator to be returned if anyone
     //   calls getText().  With input from UText, there is no reasonable
@@ -393,27 +398,20 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
     //   Return one over an empty string instead - this is the closest
     //   we can come to signaling a failure.
     //   (GetText() is obsolete, this failure is sort of OK)
-    if (fDCharIter == NULL) {
-        static const UChar c = 0;
-        fDCharIter = new UCharCharacterIterator(&c, 0);
-        if (fDCharIter == NULL) {
-            status = U_MEMORY_ALLOCATION_ERROR;
-            return;
-        }
-    }
+    fSCharIter.setText(UnicodeString());
 
-    if (fCharIter!=fSCharIter && fCharIter!=fDCharIter) {
+    if (fCharIter != &fSCharIter) {
         // existing fCharIter was adopted from the outside.  Delete it now.
         delete fCharIter;
     }
-    fCharIter = fDCharIter;
+    fCharIter = &fSCharIter;
 
     this->first();
 }
 
 
 UText *RuleBasedBreakIterator::getUText(UText *fillIn, UErrorCode &status) const {
-    UText *result = utext_clone(fillIn, fText, FALSE, TRUE, &status);
+    UText *result = utext_clone(fillIn, &fText, FALSE, TRUE, &status);
     return result;
 }
 
@@ -439,7 +437,7 @@ void
 RuleBasedBreakIterator::adoptText(CharacterIterator* newText) {
     // If we are holding a CharacterIterator adopted from a
     //   previous call to this function, delete it now.
-    if (fCharIter!=fSCharIter && fCharIter!=fDCharIter) {
+    if (fCharIter != &fSCharIter) {
         delete fCharIter;
     }
 
@@ -450,9 +448,9 @@ RuleBasedBreakIterator::adoptText(CharacterIterator* newText) {
     if (newText==NULL || newText->startIndex() != 0) {
         // startIndex !=0 wants to be an error, but there's no way to report it.
         // Make the iterator text be an empty string.
-        fText = utext_openUChars(fText, NULL, 0, &status);
+        utext_openUChars(&fText, NULL, 0, &status);
     } else {
-        fText = utext_openCharacterIterator(fText, newText, &status);
+        utext_openCharacterIterator(&fText, newText, &status);
     }
     this->first();
 }
@@ -467,23 +465,19 @@ RuleBasedBreakIterator::setText(const UnicodeString& newText) {
     UErrorCode status = U_ZERO_ERROR;
     fBreakCache->reset();
     fDictionaryCache->reset();
-    fText = utext_openConstUnicodeString(fText, &newText, &status);
+    utext_openConstUnicodeString(&fText, &newText, &status);
 
     // Set up a character iterator on the string.
     //   Needed in case someone calls getText().
     //  Can not, unfortunately, do this lazily on the (probably never)
     //  call to getText(), because getText is const.
-    if (fSCharIter == NULL) {
-        fSCharIter = new StringCharacterIterator(newText);
-    } else {
-        fSCharIter->setText(newText);
-    }
+    fSCharIter.setText(newText);
 
-    if (fCharIter!=fSCharIter && fCharIter!=fDCharIter) {
+    if (fCharIter != &fSCharIter) {
         // old fCharIter was adopted from the outside.  Delete it.
         delete fCharIter;
     }
-    fCharIter = fSCharIter;
+    fCharIter = &fSCharIter;
 
     this->first();
 }
@@ -503,14 +497,14 @@ RuleBasedBreakIterator &RuleBasedBreakIterator::refreshInputText(UText *input, U
         status = U_ILLEGAL_ARGUMENT_ERROR;
         return *this;
     }
-    int64_t pos = utext_getNativeIndex(fText);
+    int64_t pos = utext_getNativeIndex(&fText);
     //  Shallow read-only clone of the new UText into the existing input UText
-    fText = utext_clone(fText, input, FALSE, TRUE, &status);
+    utext_clone(&fText, input, FALSE, TRUE, &status);
     if (U_FAILURE(status)) {
         return *this;
     }
-    utext_setNativeIndex(fText, pos);
-    if (utext_getNativeIndex(fText) != pos) {
+    utext_setNativeIndex(&fText, pos);
+    if (utext_getNativeIndex(&fText) != pos) {
         // Sanity check.  The new input utext is supposed to have the exact same
         // contents as the old.  If we can't set to the same position, it doesn't.
         // The contents underlying the old utext might be invalid at this point,
@@ -540,7 +534,7 @@ int32_t RuleBasedBreakIterator::first(void) {
  * @return The text's past-the-end offset.
  */
 int32_t RuleBasedBreakIterator::last(void) {
-    int32_t endPos = (int32_t)utext_nativeLength(fText);
+    int32_t endPos = (int32_t)utext_nativeLength(&fText);
     UBool endShouldBeBoundary = isBoundary(endPos);      // Has side effect of setting iterator position.
     (void)endShouldBeBoundary;
     U_ASSERT(endShouldBeBoundary);
@@ -611,8 +605,8 @@ int32_t RuleBasedBreakIterator::following(int32_t startPos) {
 
     // Move requested offset to a code point start. It might be on a trail surrogate,
     // or on a trail byte if the input is UTF-8. Or it may be beyond the end of the text.
-    utext_setNativeIndex(fText, startPos);
-    startPos = (int32_t)utext_getNativeIndex(fText);
+    utext_setNativeIndex(&fText, startPos);
+    startPos = (int32_t)utext_getNativeIndex(&fText);
 
     UErrorCode status = U_ZERO_ERROR;
     fBreakCache->following(startPos, status);
@@ -626,15 +620,15 @@ int32_t RuleBasedBreakIterator::following(int32_t startPos) {
  * @return The position of the last boundary before the starting position.
  */
 int32_t RuleBasedBreakIterator::preceding(int32_t offset) {
-    if (fText == NULL || offset > utext_nativeLength(fText)) {
+    if (offset > utext_nativeLength(&fText)) {
         return last();
     }
 
     // Move requested offset to a code point start. It might be on a trail surrogate,
     // or on a trail byte if the input is UTF-8.
 
-    utext_setNativeIndex(fText, offset);
-    int32_t adjustedOffset = utext_getNativeIndex(fText);
+    utext_setNativeIndex(&fText, offset);
+    int32_t adjustedOffset = utext_getNativeIndex(&fText);
 
     UErrorCode status = U_ZERO_ERROR;
     fBreakCache->preceding(adjustedOffset, status);
@@ -660,8 +654,8 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
     // Note that isBoundary() is always be false for offsets that are not on code point boundaries.
     // But we still need the side effect of leaving iteration at the following boundary.
 
-    utext_setNativeIndex(fText, offset);
-    int32_t adjustedOffset = utext_getNativeIndex(fText);
+    utext_setNativeIndex(&fText, offset);
+    int32_t adjustedOffset = utext_getNativeIndex(&fText);
 
     bool result = false;
     UErrorCode status = U_ZERO_ERROR;
@@ -669,7 +663,7 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
         result = (fBreakCache->current() == offset);
     }
 
-    if (result && adjustedOffset < offset && utext_char32At(fText, offset) == U_SENTINEL) {
+    if (result && adjustedOffset < offset && utext_char32At(&fText, offset) == U_SENTINEL) {
         // Original offset is beyond the end of the text. Return FALSE, it's not a boundary,
         // but the iteration position remains set to the end of the text, which is a boundary.
         return FALSE;
@@ -789,9 +783,9 @@ int32_t RuleBasedBreakIterator::handleNext() {
 
     // if we're already at the end of the text, return DONE.
     initialPosition = fPosition;
-    UTEXT_SETNATIVEINDEX(fText, initialPosition);
+    UTEXT_SETNATIVEINDEX(&fText, initialPosition);
     result          = initialPosition;
-    c               = UTEXT_NEXT32(fText);
+    c               = UTEXT_NEXT32(&fText);
     if (c==U_SENTINEL) {
         fDone = TRUE;
         return UBRK_DONE;
@@ -854,7 +848,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
 
        #ifdef RBBI_DEBUG
             if (gTrace) {
-                RBBIDebugPrintf("             %4ld   ", utext_getNativeIndex(fText));
+                RBBIDebugPrintf("             %4ld   ", utext_getNativeIndex(&fText));
                 if (0x20<=c && c<0x7f) {
                     RBBIDebugPrintf("\"%c\"  ", c);
                 } else {
@@ -867,9 +861,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
         // State Transition - move machine to its next state
         //
 
-        // Note: fNextState is defined as uint16_t[2], but we are casting
-        // a generated RBBI table to RBBIStateTableRow and some tables
-        // actually have more than 2 categories.
+        // fNextState is a variable-length array.
         U_ASSERT(category<fData->fHeader->fCatCount);
         state = row->fNextState[category];  /*Not accessing beyond memory*/
         row = (RBBIStateTableRow *)
@@ -880,7 +872,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
         if (row->fAccepting == -1) {
             // Match found, common case.
             if (mode != RBBI_START) {
-                result = (int32_t)UTEXT_GETNATIVEINDEX(fText);
+                result = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
             }
             fRuleStatusIndex = row->fTagIdx;   // Remember the break status (tag) values.
         }
@@ -898,7 +890,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
         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);
+            int32_t  pos = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
             lookAheadMatches.setPosition(rule, pos);
         }
 
@@ -914,7 +906,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
         //    the input position.  The next iteration will be processing the
         //    first real input character.
         if (mode == RBBI_RUN) {
-            c = UTEXT_NEXT32(fText);
+            c = UTEXT_NEXT32(&fText);
         } else {
             if (mode == RBBI_START) {
                 mode = RBBI_RUN;
@@ -928,9 +920,9 @@ int32_t RuleBasedBreakIterator::handleNext() {
     //   (This really indicates a defect in the break rules.  They should always match
     //    at least one character.)
     if (result == initialPosition) {
-        utext_setNativeIndex(fText, initialPosition);
-        utext_next32(fText);
-        result = (int32_t)utext_getNativeIndex(fText);
+        utext_setNativeIndex(&fText, initialPosition);
+        utext_next32(&fText);
+        result = (int32_t)utext_getNativeIndex(&fText);
         fRuleStatusIndex = 0;
     }
 
@@ -965,7 +957,7 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
     int32_t             initialPosition = 0;
 
     const RBBIStateTable *stateTable = fData->fSafeRevTable;
-    UTEXT_SETNATIVEINDEX(fText, fromPosition);
+    UTEXT_SETNATIVEINDEX(&fText, fromPosition);
     #ifdef RBBI_DEBUG
         if (gTrace) {
             RBBIDebugPuts("Handle Previous   pos   char  state category");
@@ -973,14 +965,14 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
     #endif
 
     // if we're already at the start of the text, return DONE.
-    if (fText == NULL || fData == NULL || UTEXT_GETNATIVEINDEX(fText)==0) {
+    if (fData == NULL || UTEXT_GETNATIVEINDEX(&fText)==0) {
         return BreakIterator::DONE;
     }
 
     //  Set up the starting char.
-    initialPosition = (int32_t)UTEXT_GETNATIVEINDEX(fText);
+    initialPosition = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
     result          = initialPosition;
-    c               = UTEXT_PREVIOUS32(fText);
+    c               = UTEXT_PREVIOUS32(&fText);
 
     //  Set the initial state for the state machine
     state = START_STATE;
@@ -1028,7 +1020,7 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
 
         #ifdef RBBI_DEBUG
             if (gTrace) {
-                RBBIDebugPrintf("             %4d   ", (int32_t)utext_getNativeIndex(fText));
+                RBBIDebugPrintf("             %4d   ", (int32_t)utext_getNativeIndex(&fText));
                 if (0x20<=c && c<0x7f) {
                     RBBIDebugPrintf("\"%c\"  ", c);
                 } else {
@@ -1041,9 +1033,7 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
         // State Transition - move machine to its next state
         //
 
-        // Note: fNextState is defined as uint16_t[2], but we are casting
-        // a generated RBBI table to RBBIStateTableRow and some tables
-        // actually have more than 2 categories.
+        // fNextState is a variable-length array.
         U_ASSERT(category<fData->fHeader->fCatCount);
         state = row->fNextState[category];  /*Not accessing beyond memory*/
         row = (RBBIStateTableRow *)
@@ -1051,7 +1041,7 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
 
         if (row->fAccepting == -1) {
             // Match found, common case.
-            result = (int32_t)UTEXT_GETNATIVEINDEX(fText);
+            result = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
         }
 
         int16_t completedRule = row->fAccepting;
@@ -1059,14 +1049,14 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
             // Lookahead match is completed.
             int32_t lookaheadResult = lookAheadMatches.getPosition(completedRule);
             if (lookaheadResult >= 0) {
-                UTEXT_SETNATIVEINDEX(fText, lookaheadResult);
+                UTEXT_SETNATIVEINDEX(&fText, lookaheadResult);
                 return lookaheadResult;
             }
         }
         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);
+            int32_t  pos = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
             lookAheadMatches.setPosition(rule, pos);
         }
 
@@ -1082,7 +1072,7 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
         //    the input position.  The next iteration will be processing the
         //    first real input character.
         if (mode == RBBI_RUN) {
-            c = UTEXT_PREVIOUS32(fText);
+            c = UTEXT_PREVIOUS32(&fText);
         } else {
             if (mode == RBBI_START) {
                 mode = RBBI_RUN;
@@ -1096,9 +1086,9 @@ int32_t RuleBasedBreakIterator::handlePrevious(int32_t fromPosition) {
     //   (This really indicates a defect in the break rules.  They should always match
     //    at least one character.)
     if (result == initialPosition) {
-        UTEXT_SETNATIVEINDEX(fText, initialPosition);
-        UTEXT_PREVIOUS32(fText);
-        result = (int32_t)UTEXT_GETNATIVEINDEX(fText);
+        UTEXT_SETNATIVEINDEX(&fText, initialPosition);
+        UTEXT_PREVIOUS32(&fText);
+        result = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
     }
 
     #ifdef RBBI_DEBUG
@@ -1247,7 +1237,7 @@ static void U_CALLCONV initLanguageFactories() {
 
 
 static const LanguageBreakEngine*
-getLanguageBreakEngineFromFactory(UChar32 c, int32_t breakType)
+getLanguageBreakEngineFromFactory(UChar32 c)
 {
     umtx_initOnce(gLanguageBreakFactoriesInitOnce, &initLanguageFactories);
     if (gLanguageBreakFactories == NULL) {
@@ -1258,7 +1248,7 @@ getLanguageBreakEngineFromFactory(UChar32 c, int32_t breakType)
     const LanguageBreakEngine *lbe = NULL;
     while (--i >= 0) {
         LanguageBreakFactory *factory = (LanguageBreakFactory *)(gLanguageBreakFactories->elementAt(i));
-        lbe = factory->getEngineFor(c, breakType);
+        lbe = factory->getEngineFor(c);
         if (lbe != NULL) {
             break;
         }
@@ -1290,14 +1280,14 @@ RuleBasedBreakIterator::getLanguageBreakEngine(UChar32 c) {
     int32_t i = fLanguageBreakEngines->size();
     while (--i >= 0) {
         lbe = (const LanguageBreakEngine *)(fLanguageBreakEngines->elementAt(i));
-        if (lbe->handles(c, fBreakType)) {
+        if (lbe->handles(c)) {
             return lbe;
         }
     }
 
     // No existing dictionary took the character. See if a factory wants to
     // give us a new LanguageBreakEngine for this character.
-    lbe = getLanguageBreakEngineFromFactory(c, fBreakType);
+    lbe = getLanguageBreakEngineFromFactory(c);
 
     // If we got one, use it and push it on our stack.
     if (lbe != NULL) {
@@ -1313,6 +1303,7 @@ RuleBasedBreakIterator::getLanguageBreakEngine(UChar32 c) {
         fUnhandledBreakEngine = new UnhandledEngine(status);
         if (U_SUCCESS(status) && fUnhandledBreakEngine == NULL) {
             status = U_MEMORY_ALLOCATION_ERROR;
+            return nullptr;
         }
         // Put it last so that scripts for which we have an engine get tried
         // first.
@@ -1327,25 +1318,19 @@ RuleBasedBreakIterator::getLanguageBreakEngine(UChar32 c) {
 
     // Tell the reject engine about the character; at its discretion, it may
     // add more than just the one character.
-    fUnhandledBreakEngine->handleCharacter(c, fBreakType);
+    fUnhandledBreakEngine->handleCharacter(c);
 
     return fUnhandledBreakEngine;
 }
 
-
-
-/*int32_t RuleBasedBreakIterator::getBreakType() const {
-    return fBreakType;
-}*/
-
-void RuleBasedBreakIterator::setBreakType(int32_t type) {
-    fBreakType = type;
-}
-
 void RuleBasedBreakIterator::dumpCache() {
     fBreakCache->dumpCache();
 }
 
+void RuleBasedBreakIterator::dumpTables() {
+    fData->printData();
+}
+
 /**
  * Returns the description used to create this iterator
  */
index b3c3a38..44c66fb 100644 (file)
@@ -26,14 +26,11 @@ U_NAMESPACE_BEGIN
  */
 
 RuleBasedBreakIterator::DictionaryCache::DictionaryCache(RuleBasedBreakIterator *bi, UErrorCode &status) :
-        fBI(bi), fBreaks(NULL), fPositionInCache(-1),
+        fBI(bi), fBreaks(status), fPositionInCache(-1),
         fStart(0), fLimit(0), fFirstRuleStatusIndex(0), fOtherRuleStatusIndex(0) {
-    fBreaks = new UVector32(status);
 }
 
 RuleBasedBreakIterator::DictionaryCache::~DictionaryCache() {
-    delete fBreaks;
-    fBreaks = NULL;
 }
 
 void RuleBasedBreakIterator::DictionaryCache::reset() {
@@ -42,7 +39,7 @@ void RuleBasedBreakIterator::DictionaryCache::reset() {
     fLimit = 0;
     fFirstRuleStatusIndex = 0;
     fOtherRuleStatusIndex = 0;
-    fBreaks->removeAllElements();
+    fBreaks.removeAllElements();
 }
 
 UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
@@ -54,13 +51,13 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
     // Sequential iteration, move from previous boundary to the following
 
     int32_t r = 0;
-    if (fPositionInCache >= 0 && fPositionInCache < fBreaks->size() && fBreaks->elementAti(fPositionInCache) == fromPos) {
+    if (fPositionInCache >= 0 && fPositionInCache < fBreaks.size() && fBreaks.elementAti(fPositionInCache) == fromPos) {
         ++fPositionInCache;
-        if (fPositionInCache >= fBreaks->size()) {
+        if (fPositionInCache >= fBreaks.size()) {
             fPositionInCache = -1;
             return FALSE;
         }
-        r = fBreaks->elementAti(fPositionInCache);
+        r = fBreaks.elementAti(fPositionInCache);
         U_ASSERT(r > fromPos);
         *result = r;
         *statusIndex = fOtherRuleStatusIndex;
@@ -69,8 +66,8 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
 
     // Random indexing. Linear search for the boundary following the given position.
 
-    for (fPositionInCache = 0; fPositionInCache < fBreaks->size(); ++fPositionInCache) {
-        r= fBreaks->elementAti(fPositionInCache);
+    for (fPositionInCache = 0; fPositionInCache < fBreaks.size(); ++fPositionInCache) {
+        r= fBreaks.elementAti(fPositionInCache);
         if (r > fromPos) {
             *result = r;
             *statusIndex = fOtherRuleStatusIndex;
@@ -90,16 +87,16 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
     }
 
     if (fromPos == fLimit) {
-        fPositionInCache = fBreaks->size() - 1;
+        fPositionInCache = fBreaks.size() - 1;
         if (fPositionInCache >= 0) {
-            U_ASSERT(fBreaks->elementAti(fPositionInCache) == fromPos);
+            U_ASSERT(fBreaks.elementAti(fPositionInCache) == fromPos);
         }
     }
 
     int32_t r;
-    if (fPositionInCache > 0 && fPositionInCache < fBreaks->size() && fBreaks->elementAti(fPositionInCache) == fromPos) {
+    if (fPositionInCache > 0 && fPositionInCache < fBreaks.size() && fBreaks.elementAti(fPositionInCache) == fromPos) {
         --fPositionInCache;
-        r = fBreaks->elementAti(fPositionInCache);
+        r = fBreaks.elementAti(fPositionInCache);
         U_ASSERT(r < fromPos);
         *result = r;
         *statusIndex = ( r== fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
@@ -111,8 +108,8 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
         return FALSE;
     }
 
-    for (fPositionInCache = fBreaks->size()-1; fPositionInCache >= 0; --fPositionInCache) {
-        r = fBreaks->elementAti(fPositionInCache);
+    for (fPositionInCache = fBreaks.size()-1; fPositionInCache >= 0; --fPositionInCache) {
+        r = fBreaks.elementAti(fPositionInCache);
         if (r < fromPos) {
             *result = r;
             *statusIndex = ( r == fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
@@ -141,7 +138,7 @@ void RuleBasedBreakIterator::DictionaryCache::populateDictionary(int32_t startPo
     int32_t     current;
     UErrorCode  status = U_ZERO_ERROR;
     int32_t     foundBreakCount = 0;
-    UText      *text = fBI->fText;
+    UText      *text = &fBI->fText;
 
     // Loop through the text, looking for ranges of dictionary characters.
     // For each span, find the appropriate break engine, and ask it to find
@@ -168,7 +165,7 @@ void RuleBasedBreakIterator::DictionaryCache::populateDictionary(int32_t startPo
         // Ask the language object if there are any breaks. It will add them to the cache and
         // leave the text pointer on the other side of its range, ready to search for the next one.
         if (lbe != NULL) {
-            foundBreakCount += lbe->findBreaks(text, rangeStart, rangeEnd, fBI->fBreakType, *fBreaks);
+            foundBreakCount += lbe->findBreaks(text, rangeStart, rangeEnd, fBreaks);
         }
 
         // Reload the loop variables for the next go-round
@@ -182,21 +179,21 @@ void RuleBasedBreakIterator::DictionaryCache::populateDictionary(int32_t startPo
 
     // printf("foundBreakCount = %d\n", foundBreakCount);
     if (foundBreakCount > 0) {
-        U_ASSERT(foundBreakCount == fBreaks->size());
-        if (startPos < fBreaks->elementAti(0)) {
+        U_ASSERT(foundBreakCount == fBreaks.size());
+        if (startPos < fBreaks.elementAti(0)) {
             // The dictionary did not place a boundary at the start of the segment of text.
             // Add one now. This should not commonly happen, but it would be easy for interactions
             // of the rules for dictionary segments and the break engine implementations to
             // inadvertently cause it. Cover it here, just in case.
-            fBreaks->insertElementAt(startPos, 0, status);
+            fBreaks.insertElementAt(startPos, 0, status);
         }
-        if (endPos > fBreaks->peeki()) {
-            fBreaks->push(endPos, status);
+        if (endPos > fBreaks.peeki()) {
+            fBreaks.push(endPos, status);
         }
         fPositionInCache = 0;
         // Note: Dictionary matching may extend beyond the original limit.
-        fStart = fBreaks->elementAti(0);
-        fLimit = fBreaks->peeki();
+        fStart = fBreaks.elementAti(0);
+        fLimit = fBreaks.peeki();
     } else {
         // there were no language-based breaks, even though the segment contained
         // dictionary characters. Subsequent attempts to fetch boundaries from the dictionary cache
index dea017a..b4338c3 100644 (file)
@@ -56,7 +56,7 @@ class RuleBasedBreakIterator::DictionaryCache: public UMemory {
 
     RuleBasedBreakIterator *fBI;
     
-    UVector32          *fBreaks;                // A vector containing the boundaries.
+    UVector32           fBreaks;                // A vector containing the boundaries.
     int32_t             fPositionInCache;       // Index in fBreaks of last boundary returned by following()
                                                 //    or preceding(). Optimizes sequential access.
     int32_t             fStart;                 // Text position of first boundary in cache.
index 3340570..5b00e95 100644 (file)
@@ -267,8 +267,8 @@ void  RBBIDataWrapper::printTable(const char *heading, const RBBIStateTable *tab
 #endif
 
 
-#ifdef RBBI_DEBUG
 void  RBBIDataWrapper::printData() {
+#ifdef RBBI_DEBUG
     RBBIDebugPrintf("RBBI Data at %p\n", (void *)fHeader);
     RBBIDebugPrintf("   Version = {%d %d %d %d}\n", fHeader->fFormatVersion[0], fHeader->fFormatVersion[1],
                                                     fHeader->fFormatVersion[2], fHeader->fFormatVersion[3]);
@@ -285,8 +285,8 @@ void  RBBIDataWrapper::printData() {
         RBBIDebugPrintf("%c", fRuleSource[c]);
     }
     RBBIDebugPrintf("\n\n");
-}
 #endif
+}
 
 
 U_NAMESPACE_END
index bd25e06..1244a11 100644 (file)
@@ -116,9 +116,10 @@ struct  RBBIStateTableRow {
                                     /*     StatusTable of the set of matching             */
                                     /*     tags (rule status values)                      */
     int16_t          fReserved;
-    uint16_t         fNextState[2]; /*  Next State, indexed by char category.             */
-                                    /*  This array does not have two elements             */
-                                    /*    Array Size is actually fData->fHeader->fCatCount         */
+    uint16_t         fNextState[1]; /*  Next State, indexed by char category.             */
+                                    /*    Variable-length array declared with length 1    */
+                                    /*    to disable bounds checkers.                     */
+                                    /*    Array Size is actually fData->fHeader->fCatCount*/
                                     /*    CAUTION:  see RBBITableBuilder::getTableSize()  */
                                     /*              before changing anything here.        */
 };
@@ -129,7 +130,9 @@ struct RBBIStateTable {
     uint32_t         fRowLen;       /*  Length of a state table row, in bytes.            */
     uint32_t         fFlags;        /*  Option Flags for this state table                 */
     uint32_t         fReserved;     /*  reserved                                          */
-    char             fTableData[4]; /*  First RBBIStateTableRow begins here.              */
+    char             fTableData[1]; /*  First RBBIStateTableRow begins here.              */
+                                    /*    Variable-length array declared with length 1    */
+                                    /*    to disable bounds checkers.                     */
                                     /*    (making it char[] simplifies ugly address       */
                                     /*     arithmetic for indexing variable length rows.) */
 };
@@ -162,13 +165,8 @@ public:
     UBool                 operator ==(const RBBIDataWrapper &other) const;
     int32_t               hashCode();
     const UnicodeString  &getRuleSourceString() const;
-#ifdef RBBI_DEBUG
     void                  printData();
     void                  printTable(const char *heading, const RBBIStateTable *table);
-#else
-    #define printData()
-    #define printTable(heading, table)
-#endif
 
     /*                                     */
     /*   Pointers to items within the data */
index 72447d8..61e596d 100644 (file)
@@ -47,7 +47,7 @@ U_NAMESPACE_BEGIN
 RBBIRuleBuilder::RBBIRuleBuilder(const UnicodeString   &rules,
                                        UParseError     *parseErr,
                                        UErrorCode      &status)
- : fRules(rules)
+ : fRules(rules), fStrippedRules(rules)
 {
     fStatus = &status; // status is checked below
     fParseError = parseErr;
@@ -147,8 +147,9 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
         return NULL;
     }
 
-    // Remove comments and whitespace from the rules to make it smaller.
-    UnicodeString strippedRules((const UnicodeString&)RBBIRuleScanner::stripRules(fRules));
+    // Remove whitespace from the rules to make it smaller.
+    // The rule parser has already removed comments.
+    fStrippedRules = fScanner->stripRules(fStrippedRules);
 
     // Calculate the size of each section in the data.
     //   Sizes here are padded up to a multiple of 8 for better memory alignment.
@@ -162,7 +163,7 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
     int32_t safeRevTableSize  = align8(fSafeRevTables->getTableSize());
     int32_t trieSize          = align8(fSetBuilder->getTrieSize());
     int32_t statusTableSize   = align8(fRuleStatusVals->size() * sizeof(int32_t));
-    int32_t rulesSize         = align8((strippedRules.length()+1) * sizeof(UChar));
+    int32_t rulesSize         = align8((fStrippedRules.length()+1) * sizeof(UChar));
 
     (void)safeFwdTableSize;
 
@@ -225,7 +226,7 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
     data->fStatusTable   = data->fTrie    + trieSize;
     data->fStatusTableLen= statusTableSize;
     data->fRuleSource    = data->fStatusTable + statusTableSize;
-    data->fRuleSourceLen = strippedRules.length() * sizeof(UChar);
+    data->fRuleSourceLen = fStrippedRules.length() * sizeof(UChar);
 
     uprv_memset(data->fReserved, 0, sizeof(data->fReserved));
 
@@ -245,7 +246,7 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
         ruleStatusTable[i] = fRuleStatusVals->elementAti(i);
     }
 
-    strippedRules.extract((UChar *)((uint8_t *)data+data->fRuleSource), rulesSize/2+1, *fStatus);
+    fStrippedRules.extract((UChar *)((uint8_t *)data+data->fRuleSource), rulesSize/2+1, *fStatus);
 
     return data;
 }
@@ -281,10 +282,10 @@ RBBIRuleBuilder::createRuleBasedBreakIterator( const UnicodeString    &rules,
     //
     // UnicodeSet processing.
     //    Munge the Unicode Sets to create a set of character categories.
-    //    Generate the mapping tables (TRIE) from input 32-bit characters to
+    //    Generate the mapping tables (TRIE) from input code points to
     //    the character categories.
     //
-    builder.fSetBuilder->build();
+    builder.fSetBuilder->buildRanges();
 
 
     //
@@ -316,6 +317,11 @@ RBBIRuleBuilder::createRuleBasedBreakIterator( const UnicodeString    &rules,
     }
 #endif
 
+    builder.optimizeTables();
+    builder.fSetBuilder->buildTrie();
+
+
+
     //
     //   Package up the compiled data into a memory image
     //      in the run-time format.
@@ -347,6 +353,29 @@ RBBIRuleBuilder::createRuleBasedBreakIterator( const UnicodeString    &rules,
     return This;
 }
 
+void RBBIRuleBuilder::optimizeTables() {
+    int32_t leftClass;
+    int32_t rightClass;
+
+    leftClass = 3;
+    rightClass = 0;
+    while (fForwardTables->findDuplCharClassFrom(leftClass, rightClass)) {
+        fSetBuilder->mergeCategories(leftClass, rightClass);
+        fForwardTables->removeColumn(rightClass);
+        fReverseTables->removeColumn(rightClass);
+        fSafeFwdTables->removeColumn(rightClass);
+        fSafeRevTables->removeColumn(rightClass);
+    }
+
+    fForwardTables->removeDuplicateStates();
+    fReverseTables->removeDuplicateStates();
+    fSafeFwdTables->removeDuplicateStates();
+    fSafeRevTables->removeDuplicateStates();
+
+
+
+}
+
 U_NAMESPACE_END
 
 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
index f00f58e..f890cf6 100644 (file)
@@ -126,10 +126,19 @@ public:
         );
 
     virtual    ~RBBIRuleBuilder();
+
+    /**
+     * Fold together redundant character classes (table columns) and
+     * redundant states (table rows). Done after initial table generation,
+     * before serializing the result.
+     */
+    void optimizeTables();
+
     char                          *fDebugEnv;        // controls debug trace output
     UErrorCode                    *fStatus;          // Error reporting.  Keeping status
     UParseError                   *fParseError;      //   here avoids passing it everywhere.
     const UnicodeString           &fRules;           // The rule string that we are compiling
+    UnicodeString                 fStrippedRules;    // The rule string, with comments stripped.
 
     RBBIRuleScanner               *fScanner;         // The scanner.
     RBBINode                      *fForwardTree;     // The parse trees, generated by the scanner,
index db0d761..60f3d19 100644 (file)
@@ -822,27 +822,24 @@ static const UChar      chRParen    = 0x29;
 
 //------------------------------------------------------------------------------
 //
-//  stripRules    Return a rules string without unnecessary
-//                characters.
+//  stripRules    Return a rules string without extra spaces.
+//                (Comments are removed separately, during rule parsing.)
 //
 //------------------------------------------------------------------------------
 UnicodeString RBBIRuleScanner::stripRules(const UnicodeString &rules) {
     UnicodeString strippedRules;
-    int rulesLength = rules.length();
-    for (int idx = 0; idx < rulesLength; ) {
-        UChar ch = rules[idx++];
-        if (ch == chPound) {
-            while (idx < rulesLength
-                && ch != chCR && ch != chLF && ch != chNEL)
-            {
-                ch = rules[idx++];
-            }
-        }
-        if (!u_isISOControl(ch)) {
-            strippedRules.append(ch);
+    int32_t rulesLength = rules.length();
+    bool skippingSpaces = false;
+
+    for (int32_t idx=0; idx<rulesLength; idx = rules.moveIndex32(idx, 1)) {
+        UChar32 cp = rules.char32At(idx);
+        bool whiteSpace = u_hasBinaryProperty(cp, UCHAR_PATTERN_WHITE_SPACE);
+        if (skippingSpaces && whiteSpace) {
+            continue;
         }
+        strippedRules.append(cp);
+        skippingSpaces = whiteSpace;
     }
-    // strippedRules = strippedRules.unescape();
     return strippedRules;
 }
 
@@ -942,6 +939,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
             //  It will be treated as white-space, and serves to break up anything
             //    that might otherwise incorrectly clump together with a comment in
             //    the middle (a variable name, for example.)
+            int32_t commentStart = fScanIndex;
             for (;;) {
                 c.fChar = nextCharLL();
                 if (c.fChar == (UChar32)-1 ||  // EOF
@@ -950,6 +948,9 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
                     c.fChar == chNEL    ||
                     c.fChar == chLS)       {break;}
             }
+            for (int32_t i=commentStart; i<fNextIndex-1; ++i) {
+                fRB->fStrippedRules.setCharAt(i, u' ');
+            }
         }
         if (c.fChar == (UChar32)-1) {
             return;
index e97eba8..108d127 100644 (file)
@@ -91,7 +91,7 @@ RBBISetBuilder::~RBBISetBuilder()
 //                  from the Unicode Sets.
 //
 //------------------------------------------------------------------------
-void RBBISetBuilder::build() {
+void RBBISetBuilder::buildRanges() {
     RBBINode        *usetNode;
     RangeDescriptor *rlRange;
 
@@ -245,11 +245,16 @@ void RBBISetBuilder::build() {
 
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "rgroup")) {printRangeGroups();}
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "esets")) {printSets();}
+}
+
+
+//
+// Build the Trie table for mapping UChar32 values to the corresponding
+// range group number.
+//
+void RBBISetBuilder::buildTrie() {
+    RangeDescriptor *rlRange;
 
-    //
-    // Build the Trie table for mapping UChar32 values to the corresponding
-    //   range group number
-    //
     fTrie = utrie2_open(0,       //  Initial value for all code points.
                         0,       //  Error value for out-of-range input.
                         fStatus);
@@ -265,6 +270,22 @@ void RBBISetBuilder::build() {
 }
 
 
+void RBBISetBuilder::mergeCategories(int32_t left, int32_t right) {
+    U_ASSERT(left >= 1);
+    U_ASSERT(right > left);
+    for (RangeDescriptor *rd = fRangeList; rd != nullptr; rd = rd->fNext) {
+        int32_t rangeNum = rd->fNum & ~DICT_BIT;
+        int32_t rangeDict = rd->fNum & DICT_BIT;
+        if (rangeNum == right) {
+            rd->fNum = left | rangeDict;
+        } else if (rangeNum > right) {
+            rd->fNum--;
+        }
+    }
+    --fGroupCount;
+}
+
+
 //-----------------------------------------------------------------------------------
 //
 //  getTrieSize()    Return the size that will be required to serialize the Trie.
@@ -446,7 +467,7 @@ void RBBISetBuilder::printRangeGroups() {
             lastPrintedGroupNum = groupNum;
             RBBIDebugPrintf("%2i  ", groupNum);
 
-            if (rlRange->fNum & 0x4000) { RBBIDebugPrintf(" <DICT> ");}
+            if (rlRange->fNum & DICT_BIT) { RBBIDebugPrintf(" <DICT> ");}
 
             for (i=0; i<rlRange->fIncludesSets->size(); i++) {
                 RBBINode       *usetNode    = (RBBINode *)rlRange->fIncludesSets->elementAt(i);
@@ -639,20 +660,20 @@ void RangeDescriptor::split(UChar32 where, UErrorCode &status) {
 void RangeDescriptor::setDictionaryFlag() {
     int i;
 
-    for (i=0; i<this->fIncludesSets->size(); i++) {
-        RBBINode       *usetNode    = (RBBINode *)fIncludesSets->elementAt(i);
-        UnicodeString   setName;
-        RBBINode       *setRef = usetNode->fParent;
-        if (setRef != NULL) {
+    static const char16_t *dictionary = u"dictionary";
+    for (i=0; i<fIncludesSets->size(); i++) {
+        RBBINode *usetNode  = (RBBINode *)fIncludesSets->elementAt(i);
+        RBBINode *setRef = usetNode->fParent;
+        if (setRef != nullptr) {
             RBBINode *varRef = setRef->fParent;
-            if (varRef != NULL  &&  varRef->fType == RBBINode::varRef) {
-                setName = varRef->fText;
+            if (varRef && varRef->fType == RBBINode::varRef) {
+                const UnicodeString *setName = &varRef->fText;
+                if (setName->compare(dictionary, -1) == 0) {
+                    fNum |= RBBISetBuilder::DICT_BIT;
+                    break;
+                }
             }
         }
-        if (setName.compare(UNICODE_STRING("dictionary", 10)) == 0) {   // TODO:  no string literals.
-            this->fNum |= 0x4000;
-            break;
-        }
     }
 }
 
index 7cedb45..a7a91b3 100644 (file)
@@ -82,7 +82,8 @@ public:
     RBBISetBuilder(RBBIRuleBuilder *rb);
     ~RBBISetBuilder();
 
-    void     build();
+    void     buildRanges();
+    void     buildTrie();
     void     addValToSets(UVector *sets,      uint32_t val);
     void     addValToSet (RBBINode *usetNode, uint32_t val);
     int32_t  getNumCharCategories() const;   // CharCategories are the same as input symbol set to the
@@ -93,6 +94,13 @@ public:
     UChar32  getFirstChar(int32_t  val) const;
     UBool    sawBOF() const;                 // Indicate whether any references to the {bof} pseudo
                                              //   character were encountered.
+    /** merge two character categories that have been identified as having equivalent behavior.
+     *  The ranges belonging to the right category (table column) will be added to the left.
+     */
+    void     mergeCategories(int32_t left, int32_t right);
+
+    static constexpr int32_t DICT_BIT = 0x4000;
+
 #ifdef RBBI_DEBUG
     void     printSets();
     void     printRanges();
index 0f1a901..5816892 100644 (file)
@@ -22,6 +22,7 @@
 #include "rbbidata.h"
 #include "cstring.h"
 #include "uassert.h"
+#include "uvectr32.h"
 #include "cmemory.h"
 
 U_NAMESPACE_BEGIN
@@ -761,7 +762,7 @@ void     RBBITableBuilder::flagAcceptingStates() {
                 // 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 or this state also.
+                //   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.
@@ -1077,7 +1078,128 @@ void RBBITableBuilder::printPosSets(RBBINode *n) {
 }
 #endif
 
+//
+//    findDuplCharClassFrom()
+//
+bool RBBITableBuilder::findDuplCharClassFrom(int32_t &baseCategory, int32_t &duplCategory) {
+    int32_t numStates = fDStates->size();
+    int32_t numCols = fRB->fSetBuilder->getNumCharCategories();
+
+    uint16_t table_base;
+    uint16_t table_dupl;
+    for (; baseCategory < numCols-1; ++baseCategory) {
+        for (duplCategory=baseCategory+1; duplCategory < numCols; ++duplCategory) {
+             for (int32_t state=0; state<numStates; state++) {
+                 RBBIStateDescriptor *sd = (RBBIStateDescriptor *)fDStates->elementAt(state);
+                 table_base = (uint16_t)sd->fDtran->elementAti(baseCategory);
+                 table_dupl = (uint16_t)sd->fDtran->elementAti(duplCategory);
+                 if (table_base != table_dupl) {
+                     break;
+                 }
+             }
+             if (table_base == table_dupl) {
+                 return true;
+             }
+        }
+    }
+    return false;
+}
+
+
+//
+//    removeColumn()
+//
+void RBBITableBuilder::removeColumn(int32_t column) {
+    int32_t numStates = fDStates->size();
+    for (int32_t state=0; state<numStates; state++) {
+        RBBIStateDescriptor *sd = (RBBIStateDescriptor *)fDStates->elementAt(state);
+        U_ASSERT(column < sd->fDtran->size());
+        sd->fDtran->removeElementAt(column);
+    }
+}
+
+/*
+ * findDuplicateState
+ */
+bool RBBITableBuilder::findDuplicateState(int32_t &firstState, int32_t &duplState) {
+    int32_t numStates = fDStates->size();
+    int32_t numCols = fRB->fSetBuilder->getNumCharCategories();
+
+    for (; firstState<numStates-1; ++firstState) {
+        RBBIStateDescriptor *firstSD = (RBBIStateDescriptor *)fDStates->elementAt(firstState);
+        for (duplState=firstState+1; duplState<numStates; ++duplState) {
+            RBBIStateDescriptor *duplSD = (RBBIStateDescriptor *)fDStates->elementAt(duplState);
+            if (firstSD->fAccepting != duplSD->fAccepting ||
+                firstSD->fLookAhead != duplSD->fLookAhead ||
+                firstSD->fTagsIdx   != duplSD->fTagsIdx) {
+                continue;
+            }
+            bool rowsMatch = true;
+            for (int32_t col=0; col < numCols; ++col) {
+                int32_t firstVal = firstSD->fDtran->elementAti(col);
+                int32_t duplVal = duplSD->fDtran->elementAti(col);
+                if (!((firstVal == duplVal) ||
+                        ((firstVal == firstState || firstVal == duplState) &&
+                        (duplVal  == firstState || duplVal  == duplState)))) {
+                    rowsMatch = false;
+                    break;
+                }
+            }
+            if (rowsMatch) {
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
+void RBBITableBuilder::removeState(int32_t keepState, int32_t duplState) {
+    U_ASSERT(keepState < duplState);
+    U_ASSERT(duplState < fDStates->size());
 
+    RBBIStateDescriptor *duplSD = (RBBIStateDescriptor *)fDStates->elementAt(duplState);
+    fDStates->removeElementAt(duplState);
+    delete duplSD;
+
+    int32_t numStates = fDStates->size();
+    int32_t numCols = fRB->fSetBuilder->getNumCharCategories();
+    for (int32_t state=0; state<numStates; ++state) {
+        RBBIStateDescriptor *sd = (RBBIStateDescriptor *)fDStates->elementAt(state);
+        for (int32_t col=0; col<numCols; col++) {
+            int32_t existingVal = sd->fDtran->elementAti(col);
+            int32_t newVal = existingVal;
+            if (existingVal == duplState) {
+                newVal = keepState;
+            } else if (existingVal > duplState) {
+                newVal = existingVal - 1;
+            }
+            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--;
+        }
+    }
+}
+
+
+/*
+ * RemoveDuplicateStates
+ */
+void RBBITableBuilder::removeDuplicateStates() {
+    int32_t firstState = 3;
+    int32_t duplicateState = 0;
+    while (findDuplicateState(firstState, duplicateState)) {
+        // printf("Removing duplicate states (%d, %d)\n", firstState, duplicateState);
+        removeState(firstState, duplicateState);
+    }
+}
 
 //-----------------------------------------------------------------------------
 //
@@ -1095,21 +1217,17 @@ int32_t  RBBITableBuilder::getTableSize() const {
         return 0;
     }
 
-    size    = sizeof(RBBIStateTable) - 4;    // The header, with no rows to the table.
+    size    = offsetof(RBBIStateTable, fTableData);    // The header, with no rows to the table.
 
     numRows = fDStates->size();
     numCols = fRB->fSetBuilder->getNumCharCategories();
 
-    //  Note  The declaration of RBBIStateTableRow is for a table of two columns.
-    //        Therefore we subtract two from numCols when determining
-    //        how much storage to add to a row for the total columns.
-    rowSize = sizeof(RBBIStateTableRow) + sizeof(uint16_t)*(numCols-2);
+    rowSize = offsetof(RBBIStateTableRow, fNextState) + sizeof(uint16_t)*numCols;
     size   += numRows * rowSize;
     return size;
 }
 
 
-
 //-----------------------------------------------------------------------------
 //
 //   exportTable()    export the state transition table in the format required
@@ -1126,14 +1244,14 @@ void RBBITableBuilder::exportTable(void *where) {
         return;
     }
 
-    if (fRB->fSetBuilder->getNumCharCategories() > 0x7fff ||
+    int32_t catCount = fRB->fSetBuilder->getNumCharCategories();
+    if (catCount > 0x7fff ||
         fDStates->size() > 0x7fff) {
         *fStatus = U_BRK_INTERNAL_ERROR;
         return;
     }
 
-    table->fRowLen    = sizeof(RBBIStateTableRow) +
-                            sizeof(uint16_t) * (fRB->fSetBuilder->getNumCharCategories() - 2);
+    table->fRowLen    = offsetof(RBBIStateTableRow, fNextState) + sizeof(uint16_t) * catCount;
     table->fNumStates = fDStates->size();
     table->fFlags     = 0;
     if (fRB->fLookAheadHardBreak) {
@@ -1152,7 +1270,7 @@ void RBBITableBuilder::exportTable(void *where) {
         row->fAccepting = (int16_t)sd->fAccepting;
         row->fLookAhead = (int16_t)sd->fLookAhead;
         row->fTagIdx    = (int16_t)sd->fTagsIdx;
-        for (col=0; col<fRB->fSetBuilder->getNumCharCategories(); col++) {
+        for (col=0; col<catCount; col++) {
             row->fNextState[col] = (uint16_t)sd->fDtran->elementAti(col);
         }
     }
@@ -1259,7 +1377,7 @@ RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatu
     fPositions = NULL;
     fDtran     = NULL;
 
-    fDtran     = new UVector(lastInputSymbol+1, *fStatus);
+    fDtran     = new UVector32(lastInputSymbol+1, *fStatus);
     if (U_FAILURE(*fStatus)) {
         return;
     }
@@ -1267,7 +1385,7 @@ RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatu
         *fStatus = U_MEMORY_ALLOCATION_ERROR;
         return;
     }
-    fDtran->setSize(lastInputSymbol+1, *fStatus);    // fDtran needs to be pre-sized.
+    fDtran->setSize(lastInputSymbol+1);    // fDtran needs to be pre-sized.
                                            //   It is indexed by input symbols, and will
                                            //   hold  the next state number for each
                                            //   symbol.
index 1041501..09b57b5 100644 (file)
@@ -24,6 +24,7 @@ U_NAMESPACE_BEGIN
 
 class RBBIRuleScanner;
 class RBBIRuleBuilder;
+class UVector32;
 
 //
 //  class RBBITableBuilder is part of the RBBI rule compiler.
@@ -42,9 +43,24 @@ public:
     void     build();
     int32_t  getTableSize() const;      // Return the runtime size in bytes of
                                         //     the built state table
-    void     exportTable(void *where);  // fill in the runtime state table.
-                                        //     Sufficient memory must exist at
-                                        //     the specified location.
+
+    /** Fill in the runtime state table. Sufficient memory must exist at the specified location.
+     */
+    void     exportTable(void *where);
+
+    /** Find duplicate (redundant) character classes, beginning after the specifed
+     *  pair, within this state table. This is an iterator-like function, used to
+     *  identify char classes (state table columns) that can be eliminated.
+     */
+    bool     findDuplCharClassFrom(int &baseClass, int &duplClass);
+
+    /** Remove a column from the state table. Used when two character categories
+     *  have been found equivalent, and merged together, to eliminate the uneeded table column.
+     */
+    void     removeColumn(int32_t column);
+
+    /** Check for, and remove dupicate states (table rows). */
+    void     removeDuplicateStates();
 
 
 private:
@@ -60,8 +76,29 @@ private:
     void     flagTaggedStates();
     void     mergeRuleStatusVals();
 
+    /**
+     * Merge redundant state table columns, eliminating character classes with identical behavior.
+     * Done after the state tables are generated, just before converting to their run-time format.
+     */
+    int32_t  mergeColumns();
+
     void     addRuleRootNodes(UVector *dest, RBBINode *node);
 
+    /** Find the next duplicate state. An iterator function.
+     * @param firstState (in/out) begin looking at this state, return the first of the
+     *                   pair of duplicates.
+     * @param duplicateState returns the duplicate state of fistState
+     * @return true if a duplicate pair of states was found.
+     */
+    bool findDuplicateState(int32_t &firstState, int32_t &duplicateState);
+
+    /** Remove a duplicate state/
+     * @param keepState First of the duplicate pair. Keep it.
+     * @param duplState Duplicate state. Remove it. Redirect all references to the duplicate state
+     *                  to refer to keepState instead.
+     */
+    void removeState(int32_t keepState, int32_t duplState);
+
     // Set functions for UVector.
     //   TODO:  make a USet subclass of UVector
 
@@ -112,7 +149,7 @@ public:
                                            //   with this state.  Unordered (it's a set).
                                            //   UVector contents are RBBINode *
 
-    UVector          *fDtran;              // Transitions out of this state.
+    UVector32        *fDtran;              // Transitions out of this state.
                                            //   indexed by input character
                                            //   contents is int index of dest state
                                            //   in RBBITableBuilder.fDStates
index 37aa458..6eeca86 100644 (file)
@@ -8,7 +8,10 @@
 * sharedobject.cpp
 */
 #include "sharedobject.h"
+#include "mutex.h"
 #include "uassert.h"
+#include "umutex.h"
+#include "unifiedcache.h"
 
 U_NAMESPACE_BEGIN
 
@@ -17,69 +20,41 @@ SharedObject::~SharedObject() {}
 UnifiedCacheBase::~UnifiedCacheBase() {}
 
 void
-SharedObject::addRef(UBool fromWithinCache) const {
-    umtx_atomic_inc(&totalRefCount);
-
-    // Although items in use may not be correct immediately, it
-    // will be correct eventually.
-    if (umtx_atomic_inc(&hardRefCount) == 1 && cachePtr != NULL) {
-        // If this object is cached, and the hardRefCount goes from 0 to 1,
-        // then the increment must happen from within the cache while the
-        // cache global mutex is locked. In this way, we can be rest assured
-        // that data races can't happen if the cache performs some task if
-        // the hardRefCount is zero while the global cache mutex is locked.
-        (void)fromWithinCache;   // Suppress unused variable warning in non-debug builds.
-        U_ASSERT(fromWithinCache);
-        cachePtr->incrementItemsInUse();
-    }
+SharedObject::addRef() const {
+    umtx_atomic_inc(&hardRefCount);
 }
 
+// removeRef Decrement the reference count and delete if it is zero.
+//           Note that SharedObjects with a non-null cachePtr are owned by the
+//           unified cache, and the cache will be responsible for the actual deletion.
+//           The deletion could be as soon as immediately following the
+//           update to the reference count, if another thread is running
+//           a cache eviction cycle concurrently.
+//           NO ACCESS TO *this PERMITTED AFTER REFERENCE COUNT == 0 for cached objects.
+//           THE OBJECT MAY ALREADY BE GONE.
 void
-SharedObject::removeRef(UBool fromWithinCache) const {
-    UBool decrementItemsInUse = (umtx_atomic_dec(&hardRefCount) == 0);
-    UBool allReferencesGone = (umtx_atomic_dec(&totalRefCount) == 0);
-
-    // Although items in use may not be correct immediately, it
-    // will be correct eventually.
-    if (decrementItemsInUse && cachePtr != NULL) {
-        if (fromWithinCache) {
-            cachePtr->decrementItemsInUse();
+SharedObject::removeRef() const {
+    const UnifiedCacheBase *cache = this->cachePtr;
+    int32_t updatedRefCount = umtx_atomic_dec(&hardRefCount);
+    U_ASSERT(updatedRefCount >= 0);
+    if (updatedRefCount == 0) {
+        if (cache) {
+            cache->handleUnreferencedObject();
         } else {
-            cachePtr->decrementItemsInUseWithLockingAndEviction();
+            delete this;
         }
     }
-    if (allReferencesGone) {
-        delete this;
-    }
 }
 
-void
-SharedObject::addSoftRef() const {
-    umtx_atomic_inc(&totalRefCount);
-    ++softRefCount;
-}
-
-void
-SharedObject::removeSoftRef() const {
-    --softRefCount;
-    if (umtx_atomic_dec(&totalRefCount) == 0) {
-        delete this;
-    }
-}
 
 int32_t
 SharedObject::getRefCount() const {
-    return umtx_loadAcquire(totalRefCount);
-}
-
-int32_t
-SharedObject::getHardRefCount() const {
     return umtx_loadAcquire(hardRefCount);
 }
 
 void
 SharedObject::deleteIfZeroRefCount() const {
-    if(getRefCount() == 0) {
+    if (this->cachePtr == nullptr && getRefCount() == 0) {
         delete this;
     }
 }
index d132651..75c4ec3 100644 (file)
@@ -17,6 +17,8 @@
 
 U_NAMESPACE_BEGIN
 
+class SharedObject;
+
 /**
  * Base class for unified cache exposing enough methods to SharedObject
  * instances to allow their addRef() and removeRef() methods to
@@ -28,22 +30,12 @@ public:
     UnifiedCacheBase() { }
 
     /**
-     * Called by addRefWhileHoldingCacheLock() when the hard reference count
-     * of its instance goes from 0 to 1.
+     * Notify the cache implementation that an object was seen transitioning to
+     * zero hard references. The cache may use this to keep track the number of
+     * unreferenced SharedObjects, and to trigger evictions.
      */
-    virtual void incrementItemsInUse() const = 0;
+    virtual void handleUnreferencedObject() const = 0;
 
-    /**
-     * Called by removeRef() when the hard reference count of its instance
-     * drops from 1 to 0.
-     */
-    virtual void decrementItemsInUseWithLockingAndEviction() const = 0;
-
-    /**
-     * Called by removeRefWhileHoldingCacheLock() when the hard reference
-     * count of its instance drops from 1 to 0.
-     */
-    virtual void decrementItemsInUse() const = 0;
     virtual ~UnifiedCacheBase();
 private:
     UnifiedCacheBase(const UnifiedCacheBase &);
@@ -63,7 +55,6 @@ class U_COMMON_API SharedObject : public UObject {
 public:
     /** Initializes totalRefCount, softRefCount to 0. */
     SharedObject() :
-            totalRefCount(0),
             softRefCount(0),
             hardRefCount(0),
             cachePtr(NULL) {}
@@ -71,7 +62,6 @@ public:
     /** Initializes totalRefCount, softRefCount to 0. */
     SharedObject(const SharedObject &other) :
             UObject(other),
-            totalRefCount(0),
             softRefCount(0),
             hardRefCount(0),
             cachePtr(NULL) {}
@@ -79,93 +69,45 @@ public:
     virtual ~SharedObject();
 
     /**
-     * Increments the number of references to this object. Thread-safe.
-     */
-    void addRef() const { addRef(FALSE); }
-
-    /**
-     * Increments the number of references to this object.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
-     */
-    void addRefWhileHoldingCacheLock() const { addRef(TRUE); }
-
-    /**
-     * Increments the number of soft references to this object.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
-     */
-    void addSoftRef() const;
-
-    /**
-     * Decrements the number of references to this object. Thread-safe.
-     */
-    void removeRef() const { removeRef(FALSE); }
-
-    /**
-     * Decrements the number of references to this object.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
+     * Increments the number of hard references to this object. Thread-safe.
+     * Not for use from within the Unified Cache implementation.
      */
-    void removeRefWhileHoldingCacheLock() const { removeRef(TRUE); }
+    void addRef() const;
 
     /**
-     * Decrements the number of soft references to this object.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
+     * Decrements the number of hard references to this object, and
+     * arrange for possible cache-eviction and/or deletion if ref
+     * count goes to zero. Thread-safe.
+     * 
+     * Not for use from within the UnifiedCache implementation.
      */
-    void removeSoftRef() const;
+    void removeRef() const;
 
     /**
-     * Returns the reference counter including soft references.
+     * Returns the number of hard references for this object.
      * Uses a memory barrier.
      */
     int32_t getRefCount() const;
 
     /**
-     * Returns the count of soft references only.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
-     */
-    int32_t getSoftRefCount() const { return softRefCount; }
-
-    /**
-     * Returns the count of hard references only. Uses a memory barrier.
-     * Used for testing the cache. Regular clients won't need this.
-     */
-    int32_t getHardRefCount() const;
-
-    /**
      * If noHardReferences() == TRUE then this object has no hard references.
      * Must be called only from within the internals of UnifiedCache.
      */
-    inline UBool noHardReferences() const { return getHardRefCount() == 0; }
+    inline UBool noHardReferences() const { return getRefCount() == 0; }
 
     /**
      * If hasHardReferences() == TRUE then this object has hard references.
      * Must be called only from within the internals of UnifiedCache.
      */
-    inline UBool hasHardReferences() const { return getHardRefCount() != 0; }
+    inline UBool hasHardReferences() const { return getRefCount() != 0; }
 
     /**
-     * If noSoftReferences() == TRUE then this object has no soft references.
-     * Must be called only from within the internals of UnifiedCache and
-     * only while the cache global mutex is held.
-     */
-    UBool noSoftReferences() const { return (softRefCount == 0); }
-
-    /**
-     * Deletes this object if it has no references or soft references.
+     * Deletes this object if it has no references.
+     * Available for non-cached SharedObjects only. Ownership of cached objects
+     * is with the UnifiedCache, which is soley responsible for eviction and deletion.
      */
     void deleteIfZeroRefCount() const;
 
-    /**
-     * @internal For UnifedCache use only to register this object with itself.
-     *   Must be called before this object is exposed to multiple threads.
-     */ 
-    void registerWithCache(const UnifiedCacheBase *ptr) const {
-        cachePtr = ptr;
-    }
         
     /**
      * Returns a writable version of ptr.
@@ -219,15 +161,21 @@ public:
     }
 
 private:
-    mutable u_atomic_int32_t totalRefCount;
-
-    // Any thread modifying softRefCount must hold the global cache mutex
+    /**
+     * The number of references from the UnifiedCache, which is
+     * the number of times that the sharedObject is stored as a hash table value.
+     * For use by UnifiedCache implementation code only.
+     * All access is synchronized by UnifiedCache's gCacheMutex
+     */
     mutable int32_t softRefCount;
+    friend class UnifiedCache;
 
+    /**
+     * Reference count, excluding references from within the UnifiedCache implementation.
+     */
     mutable u_atomic_int32_t hardRefCount;
+    
     mutable const UnifiedCacheBase *cachePtr;
-    void addRef(UBool withCacheLock) const;
-    void removeRef(UBool withCacheLock) const;
 
 };
 
index 12f18a5..ca0bcdb 100644 (file)
@@ -90,7 +90,6 @@ struct UStringPrepProfile{
     UTrie sprepTrie;
     const uint16_t* mappingData;
     UDataMemory* sprepData;
-    const UBiDiProps *bdp; /* used only if checkBiDi is set */
     int32_t refCount;
     UBool isDataLoaded;
     UBool doNFKC;
index 8e2fc36..531ed64 100644 (file)
@@ -152,9 +152,6 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
     /* reset the object, all pointers NULL, all flags FALSE, all sizes 0 */
     uprv_memset(pBiDi, 0, sizeof(UBiDi));
 
-    /* get BiDi properties */
-    pBiDi->bdp=ubidi_getSingleton();
-
     /* allocate memory for arrays as requested */
     if(maxLength>0) {
         if( !getInitialDirPropsMemory(pBiDi, maxLength) ||
@@ -925,7 +922,7 @@ bracketProcessChar(BracketData *bd, int32_t position) {
         else
             match=0;
         if(match!=c &&                  /* has a matching char */
-           ubidi_getPairedBracketType(bd->pBiDi->bdp, c)==U_BPT_OPEN) { /* opening bracket */
+           ubidi_getPairedBracketType(c)==U_BPT_OPEN) { /* opening bracket */
             /* special case: process synonyms
                create an opening entry for each synonym */
             if(match==0x232A) {     /* RIGHT-POINTING ANGLE BRACKET */
@@ -3033,7 +3030,7 @@ ubidi_getCustomizedClass(UBiDi *pBiDi, UChar32 c)
     if( pBiDi->fnClassCallback == NULL ||
         (dir = (*pBiDi->fnClassCallback)(pBiDi->coClassCallback, c)) == U_BIDI_CLASS_DEFAULT )
     {
-        dir = ubidi_getClass(pBiDi->bdp, c);
+        dir = ubidi_getClass(c);
     }
     if(dir >= U_CHAR_DIRECTION_COUNT) {
         dir = (UCharDirection)ON;
index 103e21c..4141c21 100644 (file)
@@ -44,13 +44,6 @@ struct UBiDiProps {
 #define INCLUDED_FROM_UBIDI_PROPS_C
 #include "ubidi_props_data.h"
 
-/* UBiDiProps singleton ----------------------------------------------------- */
-
-U_CFUNC const UBiDiProps *
-ubidi_getSingleton() {
-    return &ubidi_props_singleton;
-}
-
 /* set of property starts for UnicodeSet ------------------------------------ */
 
 static UBool U_CALLCONV
@@ -64,7 +57,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 end, uint32
 }
 
 U_CFUNC void
-ubidi_addPropertyStarts(const UBiDiProps *bdp, const USetAdder *sa, UErrorCode *pErrorCode) {
+ubidi_addPropertyStarts(const USetAdder *sa, UErrorCode *pErrorCode) {
     int32_t i, length;
     UChar32 c, start, limit;
 
@@ -76,19 +69,19 @@ ubidi_addPropertyStarts(const UBiDiProps *bdp, const USetAdder *sa, UErrorCode *
     }
 
     /* add the start code point of each same-value range of the trie */
-    utrie2_enum(&bdp->trie, NULL, _enumPropertyStartsRange, sa);
+    utrie2_enum(&ubidi_props_singleton.trie, NULL, _enumPropertyStartsRange, sa);
 
     /* add the code points from the bidi mirroring table */
-    length=bdp->indexes[UBIDI_IX_MIRROR_LENGTH];
+    length=ubidi_props_singleton.indexes[UBIDI_IX_MIRROR_LENGTH];
     for(i=0; i<length; ++i) {
-        c=UBIDI_GET_MIRROR_CODE_POINT(bdp->mirrors[i]);
+        c=UBIDI_GET_MIRROR_CODE_POINT(ubidi_props_singleton.mirrors[i]);
         sa->addRange(sa->set, c, c+1);
     }
 
     /* add the code points from the Joining_Group array where the value changes */
-    start=bdp->indexes[UBIDI_IX_JG_START];
-    limit=bdp->indexes[UBIDI_IX_JG_LIMIT];
-    jgArray=bdp->jgArray;
+    start=ubidi_props_singleton.indexes[UBIDI_IX_JG_START];
+    limit=ubidi_props_singleton.indexes[UBIDI_IX_JG_LIMIT];
+    jgArray=ubidi_props_singleton.jgArray;
     for(;;) {
         prev=0;
         while(start<limit) {
@@ -103,11 +96,11 @@ ubidi_addPropertyStarts(const UBiDiProps *bdp, const USetAdder *sa, UErrorCode *
             /* add the limit code point if the last value was not 0 (it is now start==limit) */
             sa->add(sa->set, limit);
         }
-        if(limit==bdp->indexes[UBIDI_IX_JG_LIMIT]) {
+        if(limit==ubidi_props_singleton.indexes[UBIDI_IX_JG_LIMIT]) {
             /* switch to the second Joining_Group range */
-            start=bdp->indexes[UBIDI_IX_JG_START2];
-            limit=bdp->indexes[UBIDI_IX_JG_LIMIT2];
-            jgArray=bdp->jgArray2;
+            start=ubidi_props_singleton.indexes[UBIDI_IX_JG_START2];
+            limit=ubidi_props_singleton.indexes[UBIDI_IX_JG_LIMIT2];
+            jgArray=ubidi_props_singleton.jgArray2;
         } else {
             break;
         }
@@ -121,14 +114,8 @@ ubidi_addPropertyStarts(const UBiDiProps *bdp, const USetAdder *sa, UErrorCode *
 /* property access functions ------------------------------------------------ */
 
 U_CFUNC int32_t
-ubidi_getMaxValue(const UBiDiProps *bdp, UProperty which) {
-    int32_t max;
-
-    if(bdp==NULL) {
-        return -1;
-    }
-
-    max=bdp->indexes[UBIDI_MAX_VALUES_INDEX];
+ubidi_getMaxValue(UProperty which) {
+    int32_t max=ubidi_props_singleton.indexes[UBIDI_MAX_VALUES_INDEX];
     switch(which) {
     case UCHAR_BIDI_CLASS:
         return (max&UBIDI_CLASS_MASK);
@@ -144,19 +131,19 @@ ubidi_getMaxValue(const UBiDiProps *bdp, UProperty which) {
 }
 
 U_CAPI UCharDirection
-ubidi_getClass(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_getClass(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UCharDirection)UBIDI_GET_CLASS(props);
 }
 
 U_CFUNC UBool
-ubidi_isMirrored(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_isMirrored(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UBool)UBIDI_GET_FLAG(props, UBIDI_IS_MIRRORED_SHIFT);
 }
 
 static UChar32
-getMirror(const UBiDiProps *bdp, UChar32 c, uint16_t props) {
+getMirror(UChar32 c, uint16_t props) {
     int32_t delta=UBIDI_GET_MIRROR_DELTA(props);
     if(delta!=UBIDI_ESC_MIRROR_DELTA) {
         return c+delta;
@@ -167,8 +154,8 @@ getMirror(const UBiDiProps *bdp, UChar32 c, uint16_t props) {
         int32_t i, length;
         UChar32 c2;
 
-        mirrors=bdp->mirrors;
-        length=bdp->indexes[UBIDI_IX_MIRROR_LENGTH];
+        mirrors=ubidi_props_singleton.mirrors;
+        length=ubidi_props_singleton.indexes[UBIDI_IX_MIRROR_LENGTH];
 
         /* linear search */
         for(i=0; i<length; ++i) {
@@ -188,80 +175,80 @@ getMirror(const UBiDiProps *bdp, UChar32 c, uint16_t props) {
 }
 
 U_CFUNC UChar32
-ubidi_getMirror(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
-    return getMirror(bdp, c, props);
+ubidi_getMirror(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
+    return getMirror(c, props);
 }
 
 U_CFUNC UBool
-ubidi_isBidiControl(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_isBidiControl(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UBool)UBIDI_GET_FLAG(props, UBIDI_BIDI_CONTROL_SHIFT);
 }
 
 U_CFUNC UBool
-ubidi_isJoinControl(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_isJoinControl(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UBool)UBIDI_GET_FLAG(props, UBIDI_JOIN_CONTROL_SHIFT);
 }
 
 U_CFUNC UJoiningType
-ubidi_getJoiningType(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_getJoiningType(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UJoiningType)((props&UBIDI_JT_MASK)>>UBIDI_JT_SHIFT);
 }
 
 U_CFUNC UJoiningGroup
-ubidi_getJoiningGroup(const UBiDiProps *bdp, UChar32 c) {
+ubidi_getJoiningGroup(UChar32 c) {
     UChar32 start, limit;
 
-    start=bdp->indexes[UBIDI_IX_JG_START];
-    limit=bdp->indexes[UBIDI_IX_JG_LIMIT];
+    start=ubidi_props_singleton.indexes[UBIDI_IX_JG_START];
+    limit=ubidi_props_singleton.indexes[UBIDI_IX_JG_LIMIT];
     if(start<=c && c<limit) {
-        return (UJoiningGroup)bdp->jgArray[c-start];
+        return (UJoiningGroup)ubidi_props_singleton.jgArray[c-start];
     }
-    start=bdp->indexes[UBIDI_IX_JG_START2];
-    limit=bdp->indexes[UBIDI_IX_JG_LIMIT2];
+    start=ubidi_props_singleton.indexes[UBIDI_IX_JG_START2];
+    limit=ubidi_props_singleton.indexes[UBIDI_IX_JG_LIMIT2];
     if(start<=c && c<limit) {
-        return (UJoiningGroup)bdp->jgArray2[c-start];
+        return (UJoiningGroup)ubidi_props_singleton.jgArray2[c-start];
     }
     return U_JG_NO_JOINING_GROUP;
 }
 
 U_CFUNC UBidiPairedBracketType
-ubidi_getPairedBracketType(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_getPairedBracketType(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     return (UBidiPairedBracketType)((props&UBIDI_BPT_MASK)>>UBIDI_BPT_SHIFT);
 }
 
 U_CFUNC UChar32
-ubidi_getPairedBracket(const UBiDiProps *bdp, UChar32 c) {
-    uint16_t props=UTRIE2_GET16(&bdp->trie, c);
+ubidi_getPairedBracket(UChar32 c) {
+    uint16_t props=UTRIE2_GET16(&ubidi_props_singleton.trie, c);
     if((props&UBIDI_BPT_MASK)==0) {
         return c;
     } else {
-        return getMirror(bdp, c, props);
+        return getMirror(c, props);
     }
 }
 
 /* public API (see uchar.h) ------------------------------------------------- */
 
 U_CFUNC UCharDirection
-u_charDirection(UChar32 c) {   
-    return ubidi_getClass(&ubidi_props_singleton, c);
+u_charDirection(UChar32 c) {
+    return ubidi_getClass(c);
 }
 
 U_CFUNC UBool
 u_isMirrored(UChar32 c) {
-    return ubidi_isMirrored(&ubidi_props_singleton, c);
+    return ubidi_isMirrored(c);
 }
 
 U_CFUNC UChar32
 u_charMirror(UChar32 c) {
-    return ubidi_getMirror(&ubidi_props_singleton, c);
+    return ubidi_getMirror(c);
 }
 
 U_STABLE UChar32 U_EXPORT2
 u_getBidiPairedBracket(UChar32 c) {
-    return ubidi_getPairedBracket(&ubidi_props_singleton, c);
+    return ubidi_getPairedBracket(c);
 }
index 69e8853..698ee9c 100644 (file)
@@ -31,46 +31,40 @@ U_CDECL_BEGIN
 
 /* library API -------------------------------------------------------------- */
 
-struct UBiDiProps;
-typedef struct UBiDiProps UBiDiProps;
-
-U_CFUNC const UBiDiProps *
-ubidi_getSingleton(void);
-
 U_CFUNC void
-ubidi_addPropertyStarts(const UBiDiProps *bdp, const USetAdder *sa, UErrorCode *pErrorCode);
+ubidi_addPropertyStarts(const USetAdder *sa, UErrorCode *pErrorCode);
 
 /* property access functions */
 
 U_CFUNC int32_t
-ubidi_getMaxValue(const UBiDiProps *bdp, UProperty which);
+ubidi_getMaxValue(UProperty which);
 
 U_CAPI UCharDirection
-ubidi_getClass(const UBiDiProps *bdp, UChar32 c);
+ubidi_getClass(UChar32 c);
 
 U_CFUNC UBool
-ubidi_isMirrored(const UBiDiProps *bdp, UChar32 c);
+ubidi_isMirrored(UChar32 c);
 
 U_CFUNC UChar32
-ubidi_getMirror(const UBiDiProps *bdp, UChar32 c);
+ubidi_getMirror(UChar32 c);
 
 U_CFUNC UBool
-ubidi_isBidiControl(const UBiDiProps *bdp, UChar32 c);
+ubidi_isBidiControl(UChar32 c);
 
 U_CFUNC UBool
-ubidi_isJoinControl(const UBiDiProps *bdp, UChar32 c);
+ubidi_isJoinControl(UChar32 c);
 
 U_CFUNC UJoiningType
-ubidi_getJoiningType(const UBiDiProps *bdp, UChar32 c);
+ubidi_getJoiningType(UChar32 c);
 
 U_CFUNC UJoiningGroup
-ubidi_getJoiningGroup(const UBiDiProps *bdp, UChar32 c);
+ubidi_getJoiningGroup(UChar32 c);
 
 U_CFUNC UBidiPairedBracketType
-ubidi_getPairedBracketType(const UBiDiProps *bdp, UChar32 c);
+ubidi_getPairedBracketType(UChar32 c);
 
 U_CFUNC UChar32
-ubidi_getPairedBracket(const UBiDiProps *bdp, UChar32 c);
+ubidi_getPairedBracket(UChar32 c);
 
 /* file definitions --------------------------------------------------------- */
 
index fd64fac..a5d0727 100644 (file)
@@ -254,8 +254,6 @@ struct UBiDi {
      */
     const UBiDi * pParaBiDi;
 
-    const UBiDiProps *bdp;
-
     /* alias pointer to the current text */
     const UChar *text;
 
index 6b22f9e..95b27ac 100644 (file)
@@ -77,9 +77,12 @@ ucase_addPropertyStarts(const USetAdder *sa, UErrorCode *pErrorCode) {
 
 /* data access primitives --------------------------------------------------- */
 
-#define GET_EXCEPTIONS(csp, props) ((csp)->exceptions+((props)>>UCASE_EXC_SHIFT))
+U_CFUNC const UTrie2 * U_EXPORT2
+ucase_getTrie() {
+    return &ucase_props_singleton.trie;
+}
 
-#define PROPS_HAS_EXCEPTION(props) ((props)&UCASE_EXCEPTION)
+#define GET_EXCEPTIONS(csp, props) ((csp)->exceptions+((props)>>UCASE_EXC_SHIFT))
 
 /* number of bits in an 8-bit integer value */
 static const uint8_t flagsOffset[256]={
@@ -128,8 +131,8 @@ static const uint8_t flagsOffset[256]={
 U_CAPI UChar32 U_EXPORT2
 ucase_tolower(UChar32 c) {
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
-        if(UCASE_GET_TYPE(props)>=UCASE_UPPER) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
+        if(UCASE_IS_UPPER_OR_TITLE(props)) {
             c+=UCASE_GET_DELTA(props);
         }
     } else {
@@ -145,7 +148,7 @@ ucase_tolower(UChar32 c) {
 U_CAPI UChar32 U_EXPORT2
 ucase_toupper(UChar32 c) {
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
         if(UCASE_GET_TYPE(props)==UCASE_LOWER) {
             c+=UCASE_GET_DELTA(props);
         }
@@ -162,7 +165,7 @@ ucase_toupper(UChar32 c) {
 U_CAPI UChar32 U_EXPORT2
 ucase_totitle(UChar32 c) {
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
         if(UCASE_GET_TYPE(props)==UCASE_LOWER) {
             c+=UCASE_GET_DELTA(props);
         }
@@ -223,7 +226,7 @@ ucase_addCaseClosure(UChar32 c, const USetAdder *sa) {
     }
 
     props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
         if(UCASE_GET_TYPE(props)!=UCASE_NONE) {
             /* add the one simple case mapping, no matter what type it is */
             int32_t delta=UCASE_GET_DELTA(props);
@@ -419,6 +422,138 @@ FullCaseFoldingIterator::next(UnicodeString &full) {
     return c;
 }
 
+namespace LatinCase {
+
+const int8_t TO_LOWER_NORMAL[LIMIT] = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, EXC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+    32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, EXC,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    EXC, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1,
+
+    0, 1, 0, 1, 0, 1, 0, 1, 0, EXC, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, -121, 1, 0, 1, 0, 1, 0, EXC
+};
+
+const int8_t TO_LOWER_TR_LT[LIMIT] = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 32, 32, 32, 32, 32, 32, 32, 32, EXC, EXC, 32, 32, 32, 32, 32,
+    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, EXC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, EXC, EXC, 32, 32,
+    32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, EXC,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, EXC, 0, 1, 0, 1, 0, EXC, 0,
+    EXC, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1,
+
+    0, 1, 0, 1, 0, 1, 0, 1, 0, EXC, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+    1, 0, 1, 0, 1, 0, 1, 0, -121, 1, 0, 1, 0, 1, 0, EXC
+};
+
+const int8_t TO_UPPER_NORMAL[LIMIT] = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
+    -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, EXC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, EXC,
+    -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
+    -32, -32, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32, -32, -32, 121,
+
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, EXC, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
+
+    -1, 0, -1, 0, -1, 0, -1, 0, -1, EXC, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, EXC
+};
+
+const int8_t TO_UPPER_TR[LIMIT] = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, -32, -32, -32, -32, -32, -32, -32, -32, EXC, -32, -32, -32, -32, -32, -32,
+    -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, EXC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, EXC,
+    -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
+    -32, -32, -32, -32, -32, -32, -32, 0, -32, -32, -32, -32, -32, -32, -32, 121,
+
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, EXC, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
+
+    -1, 0, -1, 0, -1, 0, -1, 0, -1, EXC, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
+    0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, EXC
+};
+
+}  // namespace LatinCase
+
 U_NAMESPACE_END
 
 /** @return UCASE_NONE, UCASE_LOWER, UCASE_UPPER, UCASE_TITLE */
@@ -439,7 +574,7 @@ ucase_getTypeOrIgnorable(UChar32 c) {
 static inline int32_t
 getDotType(UChar32 c) {
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
         return props&UCASE_DOT_MASK;
     } else {
         const uint16_t *pe=GET_EXCEPTIONS(&ucase_props_singleton, props);
@@ -878,8 +1013,8 @@ ucase_toFullLower(UChar32 c,
     U_ASSERT(c >= 0);
     UChar32 result=c;
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
-        if(UCASE_GET_TYPE(props)>=UCASE_UPPER) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
+        if(UCASE_IS_UPPER_OR_TITLE(props)) {
             result=c+UCASE_GET_DELTA(props);
         }
     } else {
@@ -1024,7 +1159,7 @@ toUpperOrTitle(UChar32 c,
     U_ASSERT(c >= 0);
     UChar32 result=c;
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
         if(UCASE_GET_TYPE(props)==UCASE_LOWER) {
             result=c+UCASE_GET_DELTA(props);
         }
@@ -1169,8 +1304,8 @@ ucase_toFullTitle(UChar32 c,
 U_CAPI UChar32 U_EXPORT2
 ucase_fold(UChar32 c, uint32_t options) {
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
-        if(UCASE_GET_TYPE(props)>=UCASE_UPPER) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
+        if(UCASE_IS_UPPER_OR_TITLE(props)) {
             c+=UCASE_GET_DELTA(props);
         }
     } else {
@@ -1234,8 +1369,8 @@ ucase_toFullFolding(UChar32 c,
     U_ASSERT(c >= 0);
     UChar32 result=c;
     uint16_t props=UTRIE2_GET16(&ucase_props_singleton.trie, c);
-    if(!PROPS_HAS_EXCEPTION(props)) {
-        if(UCASE_GET_TYPE(props)>=UCASE_UPPER) {
+    if(!UCASE_HAS_EXCEPTION(props)) {
+        if(UCASE_IS_UPPER_OR_TITLE(props)) {
             result=c+UCASE_GET_DELTA(props);
         }
     } else {
index 9d6365e..a7a8c9f 100644 (file)
@@ -26,6 +26,7 @@
 #include "putilimp.h"
 #include "uset_imp.h"
 #include "udataswp.h"
+#include "utrie2.h"
 
 #ifdef __cplusplus
 U_NAMESPACE_BEGIN
@@ -148,6 +149,33 @@ private:
     int32_t rowCpIndex;
 };
 
+/**
+ * Fast case mapping data for ASCII/Latin.
+ * Linear arrays of delta bytes: 0=no mapping; EXC=exception.
+ * Deltas must not cross the ASCII boundary, or else they cannot be easily used
+ * in simple UTF-8 code.
+ */
+namespace LatinCase {
+
+/** Case mapping/folding data for code points up to U+017F. */
+constexpr UChar LIMIT = 0x180;
+/** U+017F case-folds and uppercases crossing the ASCII boundary. */
+constexpr UChar LONG_S = 0x17f;
+/** Exception: Complex mapping, or too-large delta. */
+constexpr int8_t EXC = -0x80;
+
+/** Deltas for lowercasing for most locales, and default case folding. */
+extern const int8_t TO_LOWER_NORMAL[LIMIT];
+/** Deltas for lowercasing for tr/az/lt, and Turkic case folding. */
+extern const int8_t TO_LOWER_TR_LT[LIMIT];
+
+/** Deltas for uppercasing for most locales. */
+extern const int8_t TO_UPPER_NORMAL[LIMIT];
+/** Deltas for uppercasing for tr/az. */
+extern const int8_t TO_UPPER_TR[LIMIT];
+
+}  // namespace LatinCase
+
 U_NAMESPACE_END
 #endif
 
@@ -308,6 +336,9 @@ enum {
 
 /* definitions for 16-bit case properties word ------------------------------ */
 
+U_CFUNC const UTrie2 * U_EXPORT2
+ucase_getTrie();
+
 /* 2-bit constants for types of cased characters */
 #define UCASE_TYPE_MASK     3
 enum {
@@ -320,10 +351,14 @@ enum {
 #define UCASE_GET_TYPE(props) ((props)&UCASE_TYPE_MASK)
 #define UCASE_GET_TYPE_AND_IGNORABLE(props) ((props)&7)
 
+#define UCASE_IS_UPPER_OR_TITLE(props) ((props)&2)
+
 #define UCASE_IGNORABLE         4
 #define UCASE_SENSITIVE         8
 #define UCASE_EXCEPTION         0x10
 
+#define UCASE_HAS_EXCEPTION(props) ((props)&UCASE_EXCEPTION)
+
 #define UCASE_DOT_MASK      0x60
 enum {
     UCASE_NO_DOT=0,         /* normal characters with cc=0 */
index 8eec93c..99e30c9 100644 (file)
@@ -165,9 +165,7 @@ appendResult(int32_t cpLength, int32_t result, const UChar *s,
 inline uint8_t getTwoByteLead(UChar32 c) { return (uint8_t)((c >> 6) | 0xc0); }
 inline uint8_t getTwoByteTrail(UChar32 c) { return (uint8_t)((c & 0x3f) | 0x80); }
 
-}  // namespace
-
-static UChar32 U_CALLCONV
+UChar32 U_CALLCONV
 utf8_caseContextIterator(void *context, int8_t dir) {
     UCaseContext *csc=(UCaseContext *)context;
     UChar32 c;
@@ -199,36 +197,227 @@ utf8_caseContextIterator(void *context, int8_t dir) {
     return U_SENTINEL;
 }
 
-/*
- * Case-maps [srcStart..srcLimit[ but takes
- * context [0..srcLength[ into account.
+/**
+ * caseLocale >= 0: Lowercases [srcStart..srcLimit[ but takes context [0..srcLength[ into account.
+ * caseLocale < 0: Case-folds [srcStart..srcLimit[.
  */
-static void
-_caseMap(int32_t caseLocale, uint32_t options, UCaseMapFull *map,
-         const uint8_t *src, UCaseContext *csc,
-         int32_t srcStart, int32_t srcLimit,
-         icu::ByteSink &sink, icu::Edits *edits,
-         UErrorCode &errorCode) {
-    /* case mapping loop */
-    int32_t srcIndex=srcStart;
-    while (U_SUCCESS(errorCode) && srcIndex<srcLimit) {
+void toLower(int32_t caseLocale, uint32_t options,
+             const uint8_t *src, UCaseContext *csc, int32_t srcStart, int32_t srcLimit,
+             icu::ByteSink &sink, icu::Edits *edits, UErrorCode &errorCode) {
+    const int8_t *latinToLower;
+    if (caseLocale == UCASE_LOC_ROOT ||
+            (caseLocale >= 0 ?
+                !(caseLocale == UCASE_LOC_TURKISH || caseLocale == UCASE_LOC_LITHUANIAN) :
+                (options & _FOLD_CASE_OPTIONS_MASK) == U_FOLD_CASE_DEFAULT)) {
+        latinToLower = LatinCase::TO_LOWER_NORMAL;
+    } else {
+        latinToLower = LatinCase::TO_LOWER_TR_LT;
+    }
+    const UTrie2 *trie = ucase_getTrie();
+    int32_t prev = srcStart;
+    int32_t srcIndex = srcStart;
+    for (;;) {
+        // fast path for simple cases
         int32_t cpStart;
-        csc->cpStart=cpStart=srcIndex;
         UChar32 c;
-        U8_NEXT(src, srcIndex, srcLimit, c);
-        csc->cpLimit=srcIndex;
-        if(c<0) {
-            // Malformed UTF-8.
-            ByteSinkUtil::appendUnchanged(src+cpStart, srcIndex-cpStart,
+        for (;;) {
+            if (U_FAILURE(errorCode) || srcIndex >= srcLimit) {
+                c = U_SENTINEL;
+                break;
+            }
+            uint8_t lead = src[srcIndex++];
+            if (lead <= 0x7f) {
+                int8_t d = latinToLower[lead];
+                if (d == LatinCase::EXC) {
+                    cpStart = srcIndex - 1;
+                    c = lead;
+                    break;
+                }
+                if (d == 0) { continue; }
+                ByteSinkUtil::appendUnchanged(src + prev, srcIndex - 1 - prev,
+                                              sink, options, edits, errorCode);
+                char ascii = (char)(lead + d);
+                sink.Append(&ascii, 1);
+                if (edits != nullptr) {
+                    edits->addReplace(1, 1);
+                }
+                prev = srcIndex;
+                continue;
+            } else if (lead < 0xe3) {
+                uint8_t t;
+                if (0xc2 <= lead && lead <= 0xc5 && srcIndex < srcLimit &&
+                        (t = src[srcIndex] - 0x80) <= 0x3f) {
+                    // U+0080..U+017F
+                    ++srcIndex;
+                    c = ((lead - 0xc0) << 6) | t;
+                    int8_t d = latinToLower[c];
+                    if (d == LatinCase::EXC) {
+                        cpStart = srcIndex - 2;
+                        break;
+                    }
+                    if (d == 0) { continue; }
+                    ByteSinkUtil::appendUnchanged(src + prev, srcIndex - 2 - prev,
+                                                  sink, options, edits, errorCode);
+                    ByteSinkUtil::appendTwoBytes(c + d, sink);
+                    if (edits != nullptr) {
+                        edits->addReplace(2, 2);
+                    }
+                    prev = srcIndex;
+                    continue;
+                }
+            } else if ((lead <= 0xe9 || lead == 0xeb || lead == 0xec) &&
+                    (srcIndex + 2) <= srcLimit &&
+                    U8_IS_TRAIL(src[srcIndex]) && U8_IS_TRAIL(src[srcIndex + 1])) {
+                // most of CJK: no case mappings
+                srcIndex += 2;
+                continue;
+            }
+            cpStart = --srcIndex;
+            U8_NEXT(src, srcIndex, srcLimit, c);
+            if (c < 0) {
+                // ill-formed UTF-8
+                continue;
+            }
+            uint16_t props = UTRIE2_GET16(trie, c);
+            if (UCASE_HAS_EXCEPTION(props)) { break; }
+            int32_t delta;
+            if (!UCASE_IS_UPPER_OR_TITLE(props) || (delta = UCASE_GET_DELTA(props)) == 0) {
+                continue;
+            }
+            ByteSinkUtil::appendUnchanged(src + prev, cpStart - prev,
                                           sink, options, edits, errorCode);
+            ByteSinkUtil::appendCodePoint(srcIndex - cpStart, c + delta, sink, edits);
+            prev = srcIndex;
+        }
+        if (c < 0) {
+            break;
+        }
+        // slow path
+        const UChar *s;
+        if (caseLocale >= 0) {
+            csc->cpStart = cpStart;
+            csc->cpLimit = srcIndex;
+            c = ucase_toFullLower(c, utf8_caseContextIterator, csc, &s, caseLocale);
         } else {
-            const UChar *s;
-            c=map(c, utf8_caseContextIterator, csc, &s, caseLocale);
+            c = ucase_toFullFolding(c, &s, options);
+        }
+        if (c >= 0) {
+            ByteSinkUtil::appendUnchanged(src + prev, cpStart - prev,
+                                          sink, options, edits, errorCode);
             appendResult(srcIndex - cpStart, c, s, sink, options, edits, errorCode);
+            prev = srcIndex;
         }
     }
+    ByteSinkUtil::appendUnchanged(src + prev, srcIndex - prev,
+                                  sink, options, edits, errorCode);
 }
 
+void toUpper(int32_t caseLocale, uint32_t options,
+             const uint8_t *src, UCaseContext *csc, int32_t srcLength,
+             icu::ByteSink &sink, icu::Edits *edits, UErrorCode &errorCode) {
+    const int8_t *latinToUpper;
+    if (caseLocale == UCASE_LOC_TURKISH) {
+        latinToUpper = LatinCase::TO_UPPER_TR;
+    } else {
+        latinToUpper = LatinCase::TO_UPPER_NORMAL;
+    }
+    const UTrie2 *trie = ucase_getTrie();
+    int32_t prev = 0;
+    int32_t srcIndex = 0;
+    for (;;) {
+        // fast path for simple cases
+        int32_t cpStart;
+        UChar32 c;
+        for (;;) {
+            if (U_FAILURE(errorCode) || srcIndex >= srcLength) {
+                c = U_SENTINEL;
+                break;
+            }
+            uint8_t lead = src[srcIndex++];
+            if (lead <= 0x7f) {
+                int8_t d = latinToUpper[lead];
+                if (d == LatinCase::EXC) {
+                    cpStart = srcIndex - 1;
+                    c = lead;
+                    break;
+                }
+                if (d == 0) { continue; }
+                ByteSinkUtil::appendUnchanged(src + prev, srcIndex - 1 - prev,
+                                              sink, options, edits, errorCode);
+                char ascii = (char)(lead + d);
+                sink.Append(&ascii, 1);
+                if (edits != nullptr) {
+                    edits->addReplace(1, 1);
+                }
+                prev = srcIndex;
+                continue;
+            } else if (lead < 0xe3) {
+                uint8_t t;
+                if (0xc2 <= lead && lead <= 0xc5 && srcIndex < srcLength &&
+                        (t = src[srcIndex] - 0x80) <= 0x3f) {
+                    // U+0080..U+017F
+                    ++srcIndex;
+                    c = ((lead - 0xc0) << 6) | t;
+                    int8_t d = latinToUpper[c];
+                    if (d == LatinCase::EXC) {
+                        cpStart = srcIndex - 2;
+                        break;
+                    }
+                    if (d == 0) { continue; }
+                    ByteSinkUtil::appendUnchanged(src + prev, srcIndex - 2 - prev,
+                                                  sink, options, edits, errorCode);
+                    ByteSinkUtil::appendTwoBytes(c + d, sink);
+                    if (edits != nullptr) {
+                        edits->addReplace(2, 2);
+                    }
+                    prev = srcIndex;
+                    continue;
+                }
+            } else if ((lead <= 0xe9 || lead == 0xeb || lead == 0xec) &&
+                    (srcIndex + 2) <= srcLength &&
+                    U8_IS_TRAIL(src[srcIndex]) && U8_IS_TRAIL(src[srcIndex + 1])) {
+                // most of CJK: no case mappings
+                srcIndex += 2;
+                continue;
+            }
+            cpStart = --srcIndex;
+            U8_NEXT(src, srcIndex, srcLength, c);
+            if (c < 0) {
+                // ill-formed UTF-8
+                continue;
+            }
+            uint16_t props = UTRIE2_GET16(trie, c);
+            if (UCASE_HAS_EXCEPTION(props)) { break; }
+            int32_t delta;
+            if (UCASE_GET_TYPE(props) != UCASE_LOWER || (delta = UCASE_GET_DELTA(props)) == 0) {
+                continue;
+            }
+            ByteSinkUtil::appendUnchanged(src + prev, cpStart - prev,
+                                          sink, options, edits, errorCode);
+            ByteSinkUtil::appendCodePoint(srcIndex - cpStart, c + delta, sink, edits);
+            prev = srcIndex;
+        }
+        if (c < 0) {
+            break;
+        }
+        // slow path
+        csc->cpStart = cpStart;
+        csc->cpLimit = srcIndex;
+        const UChar *s;
+        c = ucase_toFullUpper(c, utf8_caseContextIterator, csc, &s, caseLocale);
+        if (c >= 0) {
+            ByteSinkUtil::appendUnchanged(src + prev, cpStart - prev,
+                                          sink, options, edits, errorCode);
+            appendResult(srcIndex - cpStart, c, s, sink, options, edits, errorCode);
+            prev = srcIndex;
+        }
+    }
+    ByteSinkUtil::appendUnchanged(src + prev, srcIndex - prev,
+                                  sink, options, edits, errorCode);
+}
+
+}  // namespace
+
 #if !UCONFIG_NO_BREAK_ITERATION
 
 U_CFUNC void U_CALLCONV
@@ -335,10 +524,9 @@ ucasemap_internalUTF8ToTitle(
                 if(titleLimit<index) {
                     if((options&U_TITLECASE_NO_LOWERCASE)==0) {
                         /* Normal operation: Lowercase the rest of the word. */
-                        _caseMap(caseLocale, options, ucase_toFullLower,
-                                 src, &csc,
-                                 titleLimit, index,
-                                 sink, edits, errorCode);
+                        toLower(caseLocale, options,
+                                src, &csc, titleLimit, index,
+                                sink, edits, errorCode);
                         if(U_FAILURE(errorCode)) {
                             return;
                         }
@@ -538,8 +726,8 @@ ucasemap_internalUTF8ToLower(int32_t caseLocale, uint32_t options, UCASEMAP_BREA
     UCaseContext csc=UCASECONTEXT_INITIALIZER;
     csc.p=(void *)src;
     csc.limit=srcLength;
-    _caseMap(
-        caseLocale, options, ucase_toFullLower,
+    toLower(
+        caseLocale, options,
         src, &csc, 0, srcLength,
         sink, edits, errorCode);
 }
@@ -555,9 +743,9 @@ ucasemap_internalUTF8ToUpper(int32_t caseLocale, uint32_t options, UCASEMAP_BREA
         UCaseContext csc=UCASECONTEXT_INITIALIZER;
         csc.p=(void *)src;
         csc.limit=srcLength;
-        _caseMap(
-            caseLocale, options, ucase_toFullUpper,
-            src, &csc, 0, srcLength,
+        toUpper(
+            caseLocale, options,
+            src, &csc, srcLength,
             sink, edits, errorCode);
     }
 }
@@ -567,22 +755,10 @@ ucasemap_internalUTF8Fold(int32_t /* caseLocale */, uint32_t options, UCASEMAP_B
                           const uint8_t *src, int32_t srcLength,
                           icu::ByteSink &sink, icu::Edits *edits,
                           UErrorCode &errorCode) {
-    /* case mapping loop */
-    int32_t srcIndex = 0;
-    while (U_SUCCESS(errorCode) && srcIndex < srcLength) {
-        int32_t cpStart = srcIndex;
-        UChar32 c;
-        U8_NEXT(src, srcIndex, srcLength, c);
-        if(c<0) {
-            // Malformed UTF-8.
-            ByteSinkUtil::appendUnchanged(src+cpStart, srcIndex-cpStart,
-                                          sink, options, edits, errorCode);
-        } else {
-            const UChar *s;
-            c = ucase_toFullFolding(c, &s, options);
-            appendResult(srcIndex - cpStart, c, s, sink, options, edits, errorCode);
-        }
-    }
+    toLower(
+        -1, options,
+        src, nullptr, 0, srcLength,
+        sink, edits, errorCode);
 }
 
 void
index 99a6490..7788fd9 100644 (file)
@@ -60,15 +60,6 @@ u_caseInsensitivePrefixMatch(const UChar *s1, int32_t length1,
                              int32_t *matchLen1, int32_t *matchLen2,
                              UErrorCode *pErrorCode);
 
-/**
- * Are the Unicode properties loaded?
- * This must be used before internal functions are called that do
- * not perform this check.
- * Generate a debug assertion failure if data is not loaded.
- */
-U_CFUNC UBool
-uprv_haveProperties(UErrorCode *pErrorCode);
-
 #ifdef __cplusplus
 
 U_NAMESPACE_BEGIN
index a7374b7..1b84a1d 100644 (file)
 /* getting a uint32_t properties word from the data */
 #define GET_PROPS(c, result) ((result)=UTRIE2_GET16(&propsTrie, c));
 
-U_CFUNC UBool
-uprv_haveProperties(UErrorCode *pErrorCode) {
-    if(U_FAILURE(*pErrorCode)) {
-        return FALSE;
-    }
-    return TRUE;
-}
-
 /* API functions ------------------------------------------------------------ */
 
 /* Gets the Unicode character's general category.*/
index 251c7ba..ba2310b 100644 (file)
@@ -77,7 +77,11 @@ typedef struct {
 typedef struct  {
     uint32_t          count;
     uint32_t          reserved;
-    PointerTOCEntry   entry[2];   /* Actual size is from count. */
+    /**
+     * Variable-length array declared with length 1 to disable bounds checkers.
+     * The actual array length is in the count field.
+     */
+    PointerTOCEntry   entry[1];
 }  PointerTOC;
 
 
index cc126d5..c3eba9f 100644 (file)
@@ -52,7 +52,11 @@ typedef struct {
 
 typedef struct {
     uint32_t count;
-    UDataOffsetTOCEntry entry[2];    /* Actual size of array is from count. */
+    /**
+     * Variable-length array declared with length 1 to disable bounds checkers.
+     * The actual array length is in the count field.
+     */
+    UDataOffsetTOCEntry entry[1];
 } UDataOffsetTOC;
 
 /**
index f0d0946..2ef5db9 100644 (file)
@@ -3512,14 +3512,14 @@ _ISO_2022_WriteSub(UConverterFromUnicodeArgs *args, int32_t offsetIndex, UErrorC
     case 'k':
         if(myConverterData->version == 0) {
             if(length == 1) {
-                if((UBool)args->converter->fromUnicodeStatus) {
+                if(args->converter->fromUnicodeStatus) {
                     /* in DBCS mode: switch to SBCS */
                     args->converter->fromUnicodeStatus = 0;
                     *p++ = UCNV_SI;
                 }
                 *p++ = subchar[0];
             } else /* length == 2*/ {
-                if(!(UBool)args->converter->fromUnicodeStatus) {
+                if(!args->converter->fromUnicodeStatus) {
                     /* in SBCS mode: switch to DBCS */
                     args->converter->fromUnicodeStatus = 1;
                     *p++ = UCNV_SO;
index 31bb2ac..6b738fa 100644 (file)
  * To avoid dependency on other code, this list is hard coded here.
  * When an ignorable code point is found and is unmappable, the default callbacks
  * will ignore them.
- * For a list of the default ignorable code points, use this link: http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[%3ADI%3A]&g=
+ * For a list of the default ignorable code points, use this link:
+ * https://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3ADI%3A%5D&abb=on&g=&i=
  *
  * This list should be sync with the one in CharsetCallback.java
  */
-#define IS_DEFAULT_IGNORABLE_CODE_POINT(c) (\
+#define IS_DEFAULT_IGNORABLE_CODE_POINT(c) ( \
     (c == 0x00AD) || \
     (c == 0x034F) || \
     (c == 0x061C) || \
     (0x180B <= c && c <= 0x180E) || \
     (0x200B <= c && c <= 0x200F) || \
     (0x202A <= c && c <= 0x202E) || \
-    (c == 0x2060) || \
-    (0x2066 <= c && c <= 0x2069) || \
-    (0x2061 <= c && c <= 0x2064) || \
-    (0x206A <= c && c <= 0x206F) || \
+    (0x2060 <= c && c <= 0x206F) || \
     (c == 0x3164) || \
-    (0x0FE00 <= c && c <= 0x0FE0F) || \
-    (c == 0x0FEFF) || \
-    (c == 0x0FFA0) || \
-    (0x01BCA0  <= c && c <= 0x01BCA3) || \
-    (0x01D173 <= c && c <= 0x01D17A) || \
-    (c == 0x0E0001) || \
-    (0x0E0020 <= c && c <= 0x0E007F) || \
-    (0x0E0100 <= c && c <= 0x0E01EF) || \
-    (c == 0x2065) || \
-    (0x0FFF0 <= c && c <= 0x0FFF8) || \
-    (c == 0x0E0000) || \
-    (0x0E0002 <= c && c <= 0x0E001F) || \
-    (0x0E0080 <= c && c <= 0x0E00FF) || \
-    (0x0E01F0 <= c && c <= 0x0E0FFF) \
-    )
+    (0xFE00 <= c && c <= 0xFE0F) || \
+    (c == 0xFEFF) || \
+    (c == 0xFFA0) || \
+    (0xFFF0 <= c && c <= 0xFFF8) || \
+    (0x1BCA0 <= c && c <= 0x1BCA3) || \
+    (0x1D173 <= c && c <= 0x1D17A) || \
+    (0xE0000 <= c && c <= 0xE0FFF))
 
 
 /*Function Pointer STOPS at the ILLEGAL_SEQUENCE */
index e1b755a..5777117 100644 (file)
@@ -55,7 +55,7 @@ T_UConverter_toUnicode_UTF32_BE(UConverterToUnicodeArgs * args,
     uint32_t ch, i;
 
     /* Restore state of current sequence */
-    if (args->converter->toUnicodeStatus && myTarget < targetLimit) {
+    if (args->converter->toULength > 0 && myTarget < targetLimit) {
         i = args->converter->toULength;       /* restore # of bytes consumed */
         args->converter->toULength = 0;
 
@@ -136,7 +136,7 @@ T_UConverter_toUnicode_UTF32_BE_OFFSET_LOGIC(UConverterToUnicodeArgs * args,
     int32_t offsetNum = 0;
 
     /* Restore state of current sequence */
-    if (args->converter->toUnicodeStatus && myTarget < targetLimit) {
+    if (args->converter->toULength > 0 && myTarget < targetLimit) {
         i = args->converter->toULength;       /* restore # of bytes consumed */
         args->converter->toULength = 0;
 
@@ -517,7 +517,7 @@ T_UConverter_toUnicode_UTF32_LE(UConverterToUnicodeArgs * args,
     uint32_t ch, i;
 
     /* Restore state of current sequence */
-    if (args->converter->toUnicodeStatus && myTarget < targetLimit)
+    if (args->converter->toULength > 0 && myTarget < targetLimit)
     {
         i = args->converter->toULength;       /* restore # of bytes consumed */
         args->converter->toULength = 0;
@@ -604,7 +604,7 @@ T_UConverter_toUnicode_UTF32_LE_OFFSET_LOGIC(UConverterToUnicodeArgs * args,
     int32_t offsetNum = 0;
 
     /* Restore state of current sequence */
-    if (args->converter->toUnicodeStatus && myTarget < targetLimit)
+    if (args->converter->toULength > 0 && myTarget < targetLimit)
     {
         i = args->converter->toULength;       /* restore # of bytes consumed */
         args->converter->toULength = 0;
index 5d72f8e..7089d94 100644 (file)
@@ -76,7 +76,7 @@ static void  U_CALLCONV ucnv_toUnicode_UTF8 (UConverterToUnicodeArgs * args,
     int32_t i, inBytes;
 
     /* Restore size of current sequence */
-    if (cnv->toUnicodeStatus && myTarget < targetLimit)
+    if (cnv->toULength > 0 && myTarget < targetLimit)
     {
         inBytes = cnv->mode;            /* restore # of bytes to consume */
         i = cnv->toULength;             /* restore # of bytes consumed */
@@ -194,7 +194,7 @@ static void  U_CALLCONV ucnv_toUnicode_UTF8_OFFSETS_LOGIC (UConverterToUnicodeAr
     int32_t i, inBytes;
 
     /* Restore size of current sequence */
-    if (cnv->toUnicodeStatus && myTarget < targetLimit)
+    if (cnv->toULength > 0 && myTarget < targetLimit)
     {
         inBytes = cnv->mode;            /* restore # of bytes to consume */
         i = cnv->toULength;             /* restore # of bytes consumed */
@@ -670,12 +670,13 @@ ucnv_UTF8FromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
     targetCapacity=(int32_t)(pFromUArgs->targetLimit-pFromUArgs->target);
 
     /* get the converter state from the UTF-8 UConverter */
-    c=(UChar32)utf8->toUnicodeStatus;
-    if(c!=0) {
+    if(utf8->toULength > 0) {
         toULength=oldToULength=utf8->toULength;
         toULimit=(int8_t)utf8->mode;
+        c=(UChar32)utf8->toUnicodeStatus;
     } else {
         toULength=oldToULength=toULimit=0;
+        c = 0;
     }
 
     count=(int32_t)(sourceLimit-source)+oldToULength;
@@ -695,36 +696,20 @@ ucnv_UTF8FromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
         // Use a single counter for source and target, counting the minimum of
         // the source length and the target capacity.
         // Let the standard converter handle edge cases.
-        const uint8_t *limit=sourceLimit;
         if(count>targetCapacity) {
-            limit-=(count-targetCapacity);
             count=targetCapacity;
         }
 
-        // The conversion loop checks count>0 only once per 1/2/3-byte character.
-        // If the buffer ends with a truncated 2- or 3-byte sequence,
+        // The conversion loop checks count>0 only once per character.
+        // If the buffer ends with a truncated sequence,
         // then we reduce the count to stop before that,
         // and collect the remaining bytes after the conversion loop.
-        {
-            // Do not go back into the bytes that will be read for finishing a partial
-            // sequence from the previous buffer.
-            int32_t length=count-toULimit;
-            if(length>0) {
-                uint8_t b1=*(limit-1);
-                if(U8_IS_SINGLE(b1)) {
-                    // common ASCII character
-                } else if(U8_IS_TRAIL(b1) && length>=2) {
-                    uint8_t b2=*(limit-2);
-                    if(0xe0<=b2 && b2<0xf0 && U8_IS_VALID_LEAD3_AND_T1(b2, b1)) {
-                        // truncated 3-byte sequence
-                        count-=2;
-                    }
-                } else if(0xc2<=b1 && b1<0xf0) {
-                    // truncated 2- or 3-byte sequence
-                    --count;
-                }
-            }
-        }
+
+        // Do not go back into the bytes that will be read for finishing a partial
+        // sequence from the previous buffer.
+        int32_t length=count-toULimit;
+        U8_TRUNCATE_IF_INCOMPLETE(source, 0, length);
+        count=toULimit+length;
     }
 
     if(c!=0) {
@@ -814,7 +799,7 @@ moreBytes:
             }
 
             /* copy the legal byte sequence to the target */
-            if(count>=toULength) {
+            {
                 int8_t i;
 
                 for(i=0; i<oldToULength; ++i) {
@@ -825,14 +810,6 @@ moreBytes:
                     *target++=*source++;
                 }
                 count-=toULength;
-            } else {
-                // A supplementary character that does not fit into the target.
-                // Let the standard converter handle this.
-                source-=(toULength-oldToULength);
-                pToUArgs->source=(char *)source;
-                pFromUArgs->target=(char *)target;
-                *pErrorCode=U_USING_DEFAULT_WARNING;
-                return;
             }
         }
     }
@@ -856,8 +833,7 @@ moreBytes:
                         utf8->toULength=toULength;
                         utf8->mode=toULimit;
                         break;
-                    } else if(!U8_IS_TRAIL(b=*source)) {
-                        /* lead byte in trail byte position */
+                    } else if(!icu::UTF8::isValidTrail(c, b=*source, toULength, toULimit)) {
                         utf8->toULength=toULength;
                         *pErrorCode=U_ILLEGAL_CHAR_FOUND;
                         break;
index 23e918a..358bc0c 100644 (file)
@@ -340,7 +340,11 @@ ucnv_Latin1FromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
     targetCapacity=(int32_t)(pFromUArgs->targetLimit-pFromUArgs->target);
 
     /* get the converter state from the UTF-8 UConverter */
-    c=(UChar32)utf8->toUnicodeStatus;
+    if (utf8->toULength > 0) {
+        c=(UChar32)utf8->toUnicodeStatus;
+    } else {
+        c = 0;
+    }
     if(c!=0 && source<sourceLimit) {
         if(targetCapacity==0) {
             *pErrorCode=U_BUFFER_OVERFLOW_ERROR;
@@ -620,7 +624,7 @@ ucnv_ASCIIFromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
 
     uint8_t c;
 
-    if(pToUArgs->converter->toUnicodeStatus!=0) {
+    if(pToUArgs->converter->toULength > 0) {
         /* no handling of partial UTF-8 characters here, fall back to pivoting */
         *pErrorCode=U_USING_DEFAULT_WARNING;
         return;
index 4b36cc6..2d0c857 100644 (file)
@@ -5064,12 +5064,13 @@ ucnv_SBCSFromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
     hasSupplementary=(UBool)(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY);
 
     /* get the converter state from the UTF-8 UConverter */
-    c=(UChar32)utf8->toUnicodeStatus;
-    if(c!=0) {
+    if(utf8->toULength > 0) {
         toULength=oldToULength=utf8->toULength;
         toULimit=(int8_t)utf8->mode;
+        c=(UChar32)utf8->toUnicodeStatus;
     } else {
         toULength=oldToULength=toULimit=0;
+        c = 0;
     }
 
     // The conversion loop checks source<sourceLimit only once per 1/2/3-byte character.
@@ -5359,12 +5360,13 @@ ucnv_DBCSFromUTF8(UConverterFromUnicodeArgs *pFromUArgs,
     hasSupplementary=(UBool)(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY);
 
     /* get the converter state from the UTF-8 UConverter */
-    c=(UChar32)utf8->toUnicodeStatus;
-    if(c!=0) {
+    if(utf8->toULength > 0) {
         toULength=oldToULength=utf8->toULength;
         toULimit=(int8_t)utf8->mode;
+        c=(UChar32)utf8->toUnicodeStatus;
     } else {
         toULength=oldToULength=toULimit=0;
+        c = 0;
     }
 
     // The conversion loop checks source<sourceLimit only once per 1/2/3-byte character.
index a772da9..37c3d79 100644 (file)
@@ -17,6 +17,7 @@
 #include "unicode/ustring.h"
 #include "unicode/parsepos.h"
 #include "ustr_imp.h"
+#include "charstr.h"
 #include "cmemory.h"
 #include "cstring.h"
 #include "uassert.h"
 #include "uinvchar.h"
 #include "uresimp.h"
 #include "ulist.h"
+#include "uresimp.h"
 #include "ureslocs.h"
 #include "ulocimp.h"
 
+using namespace icu;
+
 //#define UCURR_DEBUG_EQUIV 1
 #ifdef UCURR_DEBUG_EQUIV
 #include "stdio.h"
@@ -104,6 +108,7 @@ static const char VAR_DELIM_STR[] = "_";
 
 // Tag for localized display names (symbols) of currencies
 static const char CURRENCIES[] = "Currencies";
+static const char CURRENCIES_NARROW[] = "Currencies%narrow";
 static const char CURRENCYPLURALS[] = "CurrencyPlurals";
 
 static const UChar EUR_STR[] = {0x0045,0x0055,0x0052,0};
@@ -698,7 +703,7 @@ ucurr_getName(const UChar* currency,
     }
 
     int32_t choice = (int32_t) nameStyle;
-    if (choice < 0 || choice > 1) {
+    if (choice < 0 || choice > 2) {
         *ec = U_ILLEGAL_ARGUMENT_ERROR;
         return 0;
     }
@@ -731,15 +736,19 @@ ucurr_getName(const UChar* currency,
     
     const UChar* s = NULL;
     ec2 = U_ZERO_ERROR;
-    UResourceBundle* rb = ures_open(U_ICUDATA_CURR, loc, &ec2);
-
-    rb = ures_getByKey(rb, CURRENCIES, rb, &ec2);
-
-    // Fetch resource with multi-level resource inheritance fallback
-    rb = ures_getByKeyWithFallback(rb, buf, rb, &ec2);
-
-    s = ures_getStringByIndex(rb, choice, len, &ec2);
-    ures_close(rb);
+    LocalUResourceBundlePointer rb(ures_open(U_ICUDATA_CURR, loc, &ec2));
+
+    if (nameStyle == UCURR_NARROW_SYMBOL_NAME) {
+        CharString key;
+        key.append(CURRENCIES_NARROW, ec2);
+        key.append("/", ec2);
+        key.append(buf, ec2);
+        s = ures_getStringByKeyWithFallback(rb.getAlias(), key.data(), len, &ec2);
+    } else {
+        ures_getByKey(rb.getAlias(), CURRENCIES, rb.getAlias(), &ec2);
+        ures_getByKeyWithFallback(rb.getAlias(), buf, rb.getAlias(), &ec2);
+        s = ures_getStringByIndex(rb.getAlias(), choice, len, &ec2);
+    }
 
     // If we've succeeded we're done.  Otherwise, try to fallback.
     // If that fails (because we are already at root) then exit.
index c64bb71..607f3ec 100644 (file)
@@ -298,15 +298,14 @@ public:
     virtual int32_t next(int32_t n) = 0;
 
    /**
-     * For RuleBasedBreakIterators, return the status tag from the
-     * break rule that determined the most recently
-     * returned break position.
+     * For RuleBasedBreakIterators, return the status tag from the break rule
+     * that determined the boundary at the current iteration position.
      * <p>
      * For break iterator types that do not support a rule status,
      * a default value of 0 is returned.
      * <p>
-     * @return the status from the break rule that determined the most recently
-     *         returned break position.
+     * @return the status from the break rule that determined the boundary at
+     *         the current iteration position.
      * @see RuleBaseBreakIterator::getRuleStatus()
      * @see UWordBreak
      * @stable ICU 52
@@ -315,7 +314,7 @@ public:
 
    /**
     * For RuleBasedBreakIterators, get the status (tag) values from the break rule(s)
-    * that determined the most recently returned break position.
+    * that determined the boundary at the current iteration position.
     * <p>
     * For break iterator types that do not support rule status,
     * no values are returned.
@@ -334,7 +333,7 @@ public:
     *                  normal way, without attempting to store any values.
     * @param status    receives error codes.
     * @return          The number of rule status values from rules that determined
-    *                  the most recent boundary returned by the break iterator.
+    *                  the boundary at the current iteration position.
     *                  In the event of a U_BUFFER_OVERFLOW_ERROR, the return value
     *                  is the total number of status values that were available,
     *                  not the reduced number that were actually returned.
@@ -616,7 +615,7 @@ public:
     virtual BreakIterator &refreshInputText(UText *input, UErrorCode &status) = 0;
 
  private:
-    static BreakIterator* buildInstance(const Locale& loc, const char *type, int32_t kind, UErrorCode& status);
+    static BreakIterator* buildInstance(const Locale& loc, const char *type, UErrorCode& status);
     static BreakIterator* createInstance(const Locale& loc, int32_t kind, UErrorCode& status);
     static BreakIterator* makeInstance(const Locale& loc, int32_t kind, UErrorCode& status);
 
index a8412d3..97814fc 100644 (file)
@@ -154,7 +154,6 @@ private:
         const char *s;
     };
     
-    // don't use #ifndef U_HIDE_INTERNAL_API with private class members or virtual methods.
     virtual Node *createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t length,
                                         Node *nextNode) const;
 
index 4a4917b..4b77256 100644 (file)
@@ -18,8 +18,6 @@
 
 U_NAMESPACE_BEGIN
 
-#ifndef U_HIDE_DRAFT_API
-
 class BreakIterator;
 class ByteSink;
 class Edits;
@@ -27,7 +25,7 @@ class Edits;
 /**
  * Low-level C++ case mapping functions.
  *
- * @draft ICU 59
+ * @stable ICU 59
  */
 class U_COMMON_API CaseMap U_FINAL : public UMemory {
 public:
@@ -59,7 +57,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see u_strToLower
-     * @draft ICU 59
+     * @stable ICU 59
      */
      static int32_t toLower(
             const char *locale, uint32_t options,
@@ -95,7 +93,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see u_strToUpper
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t toUpper(
             const char *locale, uint32_t options,
@@ -146,7 +144,7 @@ public:
      *
      * @see u_strToTitle
      * @see ucasemap_toTitle
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t toTitle(
             const char *locale, uint32_t options, BreakIterator *iter,
@@ -188,7 +186,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see u_strFoldCase
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t fold(
             uint32_t options,
@@ -196,6 +194,7 @@ public:
             char16_t *dest, int32_t destCapacity, Edits *edits,
             UErrorCode &errorCode);
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Lowercases a UTF-8 string and optionally records edits.
      * Casing is locale-dependent and context-sensitive.
@@ -318,6 +317,7 @@ public:
             uint32_t options,
             StringPiece src, ByteSink &sink, Edits *edits,
             UErrorCode &errorCode);
+#endif  // U_HIDE_DRAFT_API
 
     /**
      * Lowercases a UTF-8 string and optionally records edits.
@@ -347,7 +347,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see ucasemap_utf8ToLower
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t utf8ToLower(
             const char *locale, uint32_t options,
@@ -383,7 +383,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see ucasemap_utf8ToUpper
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t utf8ToUpper(
             const char *locale, uint32_t options,
@@ -433,7 +433,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see ucasemap_utf8ToTitle
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t utf8ToTitle(
             const char *locale, uint32_t options, BreakIterator *iter,
@@ -475,7 +475,7 @@ public:
      *         the full length is returned and a U_BUFFER_OVERFLOW_ERROR is set.
      *
      * @see ucasemap_utf8FoldCase
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static int32_t utf8Fold(
             uint32_t options,
@@ -489,8 +489,6 @@ private:
     CaseMap &operator=(const CaseMap &other) = delete;
 };
 
-#endif  // U_HIDE_DRAFT_API
-
 U_NAMESPACE_END
 
 #endif  // __CASEMAP_H__
index fbce177..49d0e02 100644 (file)
@@ -30,25 +30,23 @@ U_NAMESPACE_BEGIN
 #   define U_ALIASING_BARRIER(ptr) asm volatile("" : : "rm"(ptr) : "memory")
 #endif
 
-// Do not use #ifndef U_HIDE_DRAFT_API for the following class, it
-// is now used in place of UChar* in several stable C++ methods
 /**
  * char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
- * @draft ICU 59
+ * @stable ICU 59
  */
 class U_COMMON_API Char16Ptr U_FINAL {
 public:
     /**
      * Copies the pointer.
      * @param p pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline Char16Ptr(char16_t *p);
 #if !U_CHAR16_IS_TYPEDEF
     /**
      * Converts the pointer to char16_t *.
      * @param p pointer to be converted
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline Char16Ptr(uint16_t *p);
 #endif
@@ -57,32 +55,32 @@ public:
      * Converts the pointer to char16_t *.
      * (Only defined if U_SIZEOF_WCHAR_T==2.)
      * @param p pointer to be converted
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline Char16Ptr(wchar_t *p);
 #endif
     /**
      * nullptr constructor.
      * @param p nullptr
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline Char16Ptr(std::nullptr_t p);
     /**
      * Destructor.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ~Char16Ptr();
 
     /**
      * Pointer access.
      * @return the wrapped pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline char16_t *get() const;
     /**
      * char16_t pointer access via type conversion (e.g., static_cast).
      * @return the wrapped pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline operator char16_t *() const { return get(); }
 
@@ -137,25 +135,23 @@ char16_t *Char16Ptr::get() const { return u_.cp; }
 
 #endif
 
-// Do not use #ifndef U_HIDE_DRAFT_API for the following class, it is
-// now used in place of const UChar* in several stable C++ methods
 /**
  * const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
- * @draft ICU 59
+ * @stable ICU 59
  */
 class U_COMMON_API ConstChar16Ptr U_FINAL {
 public:
     /**
      * Copies the pointer.
      * @param p pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ConstChar16Ptr(const char16_t *p);
 #if !U_CHAR16_IS_TYPEDEF
     /**
      * Converts the pointer to char16_t *.
      * @param p pointer to be converted
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ConstChar16Ptr(const uint16_t *p);
 #endif
@@ -164,33 +160,33 @@ public:
      * Converts the pointer to char16_t *.
      * (Only defined if U_SIZEOF_WCHAR_T==2.)
      * @param p pointer to be converted
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ConstChar16Ptr(const wchar_t *p);
 #endif
     /**
      * nullptr constructor.
      * @param p nullptr
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ConstChar16Ptr(const std::nullptr_t p);
 
     /**
      * Destructor.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline ~ConstChar16Ptr();
 
     /**
      * Pointer access.
      * @return the wrapped pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline const char16_t *get() const;
     /**
      * char16_t pointer access via type conversion (e.g., static_cast).
      * @return the wrapped pointer
-     * @draft ICU 59
+     * @stable ICU 59
      */
     inline operator const char16_t *() const { return get(); }
 
@@ -250,7 +246,7 @@ const char16_t *ConstChar16Ptr::get() const { return u_.cp; }
  * Includes an aliasing barrier if available.
  * @param p pointer
  * @return p as const UChar *
- * @draft ICU 59
+ * @stable ICU 59
  */
 inline const UChar *toUCharPtr(const char16_t *p) {
 #ifdef U_ALIASING_BARRIER
@@ -264,7 +260,7 @@ inline const UChar *toUCharPtr(const char16_t *p) {
  * Includes an aliasing barrier if available.
  * @param p pointer
  * @return p as UChar *
- * @draft ICU 59
+ * @stable ICU 59
  */
 inline UChar *toUCharPtr(char16_t *p) {
 #ifdef U_ALIASING_BARRIER
@@ -278,7 +274,7 @@ inline UChar *toUCharPtr(char16_t *p) {
  * Includes an aliasing barrier if available.
  * @param p pointer
  * @return p as const OldUChar *
- * @draft ICU 59
+ * @stable ICU 59
  */
 inline const OldUChar *toOldUCharPtr(const char16_t *p) {
 #ifdef U_ALIASING_BARRIER
@@ -292,7 +288,7 @@ inline const OldUChar *toOldUCharPtr(const char16_t *p) {
  * Includes an aliasing barrier if available.
  * @param p pointer
  * @return p as OldUChar *
- * @draft ICU 59
+ * @stable ICU 59
  */
 inline OldUChar *toOldUCharPtr(char16_t *p) {
 #ifdef U_ALIASING_BARRIER
index 7a4e1a2..70d7a24 100644 (file)
@@ -569,7 +569,7 @@ public:
      * Returns the numeric index in the underlying text-storage
      * object of the character the iterator currently refers to
      * (i.e., the character returned by current()).  
-     * @return the numberic index in the text-storage object of 
+     * @return the numeric index in the text-storage object of 
      * the character the iterator currently refers to
      * @stable ICU 2.0
      */
index 10b566a..c3f1058 100644 (file)
@@ -69,7 +69,7 @@ public:
      * <pre>
      * .   Base* polymorphic_pointer = createPolymorphicObject();
      * .   if (polymorphic_pointer->getDynamicClassID() ==
-     * .       erived::getStaticClassID()) ...
+     * .       derived::getStaticClassID()) ...
      * </pre>
      * @return          The class ID for all objects of this class.
      * @stable ICU 4.0
index 082c373..5a72574 100644 (file)
@@ -17,8 +17,6 @@
 
 U_NAMESPACE_BEGIN
 
-#ifndef U_HIDE_DRAFT_API
-
 /**
  * Records lengths of string edits but not replacement text.
  * Supports replacements, insertions, deletions in linear progression.
@@ -27,13 +25,13 @@ U_NAMESPACE_BEGIN
  * An Edits object tracks a separate UErrorCode, but ICU string transformation functions
  * (e.g., case mapping functions) merge any such errors into their API's UErrorCode.
  *
- * @draft ICU 59
+ * @stable ICU 59
  */
 class U_COMMON_API Edits U_FINAL : public UMemory {
 public:
     /**
      * Constructs an empty object.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     Edits() :
             array(stackArray), capacity(STACK_CAPACITY), length(0), delta(0), numChanges(0),
@@ -64,7 +62,7 @@ public:
 
     /**
      * Destructor.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     ~Edits();
 
@@ -88,20 +86,20 @@ public:
 
     /**
      * Resets the data but may not release memory.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     void reset() U_NOEXCEPT;
 
     /**
      * Adds a record for an unchanged segment of text.
      * Normally called from inside ICU string transformation functions, not user code.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     void addUnchanged(int32_t unchangedLength);
     /**
      * Adds a record for a text replacement/insertion/deletion.
      * Normally called from inside ICU string transformation functions, not user code.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     void addReplace(int32_t oldLength, int32_t newLength);
     /**
@@ -112,33 +110,35 @@ public:
      *                  and an error occurred while recording edits.
      *                  Otherwise unchanged.
      * @return TRUE if U_FAILURE(outErrorCode)
-     * @draft ICU 59
+     * @stable ICU 59
      */
     UBool copyErrorTo(UErrorCode &outErrorCode);
 
     /**
      * How much longer is the new text compared with the old text?
      * @return new length minus old length
-     * @draft ICU 59
+     * @stable ICU 59
      */
     int32_t lengthDelta() const { return delta; }
     /**
      * @return TRUE if there are any change edits
-     * @draft ICU 59
+     * @stable ICU 59
      */
     UBool hasChanges() const { return numChanges != 0; }
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * @return the number of change edits
      * @draft ICU 60
      */
     int32_t numberOfChanges() const { return numChanges; }
+#endif  // U_HIDE_DRAFT_API
 
     /**
      * Access to the list of edits.
      * @see getCoarseIterator
      * @see getFineIterator
-     * @draft ICU 59
+     * @stable ICU 59
      */
     struct U_COMMON_API Iterator U_FINAL : public UMemory {
         /**
@@ -152,12 +152,12 @@ public:
                 srcIndex(0), replIndex(0), destIndex(0) {}
         /**
          * Copy constructor.
-         * @draft ICU 59
+         * @stable ICU 59
          */
         Iterator(const Iterator &other) = default;
         /**
          * Assignment operator.
-         * @draft ICU 59
+         * @stable ICU 59
          */
         Iterator &operator=(const Iterator &other) = default;
 
@@ -167,7 +167,7 @@ public:
          *                  or else the function returns immediately. Check for U_FAILURE()
          *                  on output or use with function chaining. (See User Guide for details.)
          * @return TRUE if there is another edit
-         * @draft ICU 59
+         * @stable ICU 59
          */
         UBool next(UErrorCode &errorCode) { return next(onlyChanges_, errorCode); }
 
@@ -188,12 +188,13 @@ public:
          *                  or else the function returns immediately. Check for U_FAILURE()
          *                  on output or use with function chaining. (See User Guide for details.)
          * @return TRUE if the edit for the source index was found
-         * @draft ICU 59
+         * @stable ICU 59
          */
         UBool findSourceIndex(int32_t i, UErrorCode &errorCode) {
             return findIndex(i, TRUE, errorCode) == 0;
         }
 
+#ifndef U_HIDE_DRAFT_API
         /**
          * Finds the edit that contains the destination index.
          * The destination index may be found in a non-change
@@ -264,39 +265,40 @@ public:
          * @draft ICU 60
          */
         int32_t sourceIndexFromDestinationIndex(int32_t i, UErrorCode &errorCode);
+#endif  // U_HIDE_DRAFT_API
 
         /**
          * @return TRUE if this edit replaces oldLength() units with newLength() different ones.
          *         FALSE if oldLength units remain unchanged.
-         * @draft ICU 59
+         * @stable ICU 59
          */
         UBool hasChange() const { return changed; }
         /**
          * @return the number of units in the original string which are replaced or remain unchanged.
-         * @draft ICU 59
+         * @stable ICU 59
          */
         int32_t oldLength() const { return oldLength_; }
         /**
          * @return the number of units in the modified string, if hasChange() is TRUE.
          *         Same as oldLength if hasChange() is FALSE.
-         * @draft ICU 59
+         * @stable ICU 59
          */
         int32_t newLength() const { return newLength_; }
 
         /**
          * @return the current index into the source string
-         * @draft ICU 59
+         * @stable ICU 59
          */
         int32_t sourceIndex() const { return srcIndex; }
         /**
          * @return the current index into the replacement-characters-only string,
          *         not counting unchanged spans
-         * @draft ICU 59
+         * @stable ICU 59
          */
         int32_t replacementIndex() const { return replIndex; }
         /**
          * @return the current index into the full destination string
-         * @draft ICU 59
+         * @stable ICU 59
          */
         int32_t destinationIndex() const { return destIndex; }
 
@@ -331,7 +333,7 @@ public:
      * Returns an Iterator for coarse-grained changes for simple string updates.
      * Skips non-changes.
      * @return an Iterator that merges adjacent changes.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     Iterator getCoarseChangesIterator() const {
         return Iterator(array, length, TRUE, TRUE);
@@ -340,7 +342,7 @@ public:
     /**
      * Returns an Iterator for coarse-grained changes and non-changes for simple string updates.
      * @return an Iterator that merges adjacent changes.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     Iterator getCoarseIterator() const {
         return Iterator(array, length, FALSE, TRUE);
@@ -350,7 +352,7 @@ public:
      * Returns an Iterator for fine-grained changes for modifying styled text.
      * Skips non-changes.
      * @return an Iterator that separates adjacent changes.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     Iterator getFineChangesIterator() const {
         return Iterator(array, length, TRUE, FALSE);
@@ -359,12 +361,13 @@ public:
     /**
      * Returns an Iterator for fine-grained changes and non-changes for modifying styled text.
      * @return an Iterator that separates adjacent changes.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     Iterator getFineIterator() const {
         return Iterator(array, length, FALSE, FALSE);
     }
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Merges the two input Edits and appends the result to this object.
      *
@@ -393,6 +396,7 @@ public:
      * @draft ICU 60
      */
     Edits &mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &errorCode);
+#endif  // U_HIDE_DRAFT_API
 
 private:
     void releaseArray() U_NOEXCEPT;
@@ -415,8 +419,6 @@ private:
     uint16_t stackArray[STACK_CAPACITY];
 };
 
-#endif  // U_HIDE_DRAFT_API
-
 U_NAMESPACE_END
 
 #endif  // __EDITS_H__
index a0319bf..751d1fa 100644 (file)
@@ -64,9 +64,7 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
    * @deprecated ICU 60 use createEmptyInstance instead
    * @see createEmptyInstance()
    */
-  static inline FilteredBreakIteratorBuilder *createInstance(UErrorCode &status) {
-    return createEmptyInstance(status);
-  }
+  static FilteredBreakIteratorBuilder *createInstance(UErrorCode &status);
 #endif  /* U_HIDE_DEPRECATED_API */
 
 #ifndef U_HIDE_DRAFT_API
@@ -105,7 +103,6 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
    */
   virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
 
-#ifndef U_HIDE_DEPRECATED_API
   /**
    * This function has been deprecated in favor of wrapIteratorWithFilter()
    * The behavior is identical.
@@ -116,7 +113,6 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
    * @see wrapBreakIteratorWithFilter()
    */
   virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0;
-#endif  /* U_HIDE_DEPRECATED_API */
 
 #ifndef U_HIDE_DRAFT_API
   /**
index dd7d068..9ccf471 100644 (file)
@@ -353,7 +353,7 @@ public:
      * the default locale ID of the runtime environment.
      *
      * @param newLocale Locale to set to.  If NULL, set to the value obtained
-     *                  from the runtime environement.
+     *                  from the runtime environment.
      * @param success The error code.
      * @system
      * @stable ICU 2.0
@@ -629,7 +629,7 @@ public:
 
     /**
      * Fills in "name" with the name of this locale in a format suitable for user display
-     * in the locale specfied by "displayLocale".  This function uses getDisplayLanguage(),
+     * in the locale specified by "displayLocale".  This function uses getDisplayLanguage(),
      * getDisplayCountry(), and getDisplayVariant() to do its work, and outputs the display
      * name in the format "language (country[,variant])".  For example, if displayLocale is
      * fr_FR, then en_US's display name would be "Anglais (&Eacute;tats-Unis)", and no_NO_NY's
index fc1e3f4..c23cc27 100644 (file)
@@ -58,9 +58,9 @@ enum { U_PARSE_CONTEXT_LEN = 16 };
 typedef struct UParseError {
 
     /**
-     * The line on which the error occured.  If the parser uses this
+     * The line on which the error occurred.  If the parser uses this
      * field, it sets it to the line number of the source text line on
-     * which the error appears, which will be be a value >= 1.  If the
+     * which the error appears, which will be a value >= 1.  If the
      * parse does not support line numbers, the value will be <= 0.
      * @stable ICU 2.0
      */
index f220b1f..c63fce6 100644 (file)
     /* Otherwise use the predefined value. */
 #elif !defined(__cplusplus)
 #   define U_CPLUSPLUS_VERSION 0
-#elif __cplusplus >= 201402L
+#elif __cplusplus >= 201402L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L)
 #   define U_CPLUSPLUS_VERSION 14
-#elif __cplusplus >= 201103L
+#elif __cplusplus >= 201103L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201103L)
 #   define U_CPLUSPLUS_VERSION 11
 #else
     // C++98 or C++03
@@ -631,7 +631,7 @@ namespace std {
  */
 #ifdef U_CHARSET_IS_UTF8
     /* Use the predefined value. */
-#elif U_PLATFORM == U_PF_ANDROID || U_PLATFORM_IS_DARWIN_BASED
+#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED
 #   define U_CHARSET_IS_UTF8 1
 #else
 #   define U_CHARSET_IS_UTF8 0
@@ -749,8 +749,10 @@ namespace std {
 #else
     /*
      * Notes:
-     * Visual Studio 10 (_MSC_VER>=1600) defines char16_t but
-     * does not support u"abc" string literals.
+     * Visual Studio 2010 (_MSC_VER==1600) defines char16_t as a typedef
+     * and does not support u"abc" string literals.
+     * Visual Studio 2015 (_MSC_VER>=1900) and above adds support for
+     * both char16_t and u"abc" string literals.
      * gcc 4.4 defines the __CHAR16_TYPE__ macro to a usable type but
      * does not support u"abc" string literals.
      * C++11 and C11 require support for UTF-16 literals
index 406551a..759b136 100644 (file)
@@ -38,7 +38,7 @@
 
 /**
  * Platform utilities isolates the platform dependencies of the
- * libarary.  For each platform which this code is ported to, these
+ * library.  For each platform which this code is ported to, these
  * functions may have to be re-implemented.
  */
 
@@ -53,7 +53,7 @@
  * The data directory is determined as follows:
  *    If u_setDataDirectory() has been called, that is it, otherwise
  *    if the ICU_DATA environment variable is set, use that, otherwise
- *    If a data directory was specifed at ICU build time
+ *    If a data directory was specified at ICU build time
  *      <code>
  * \code
  *        #define ICU_DATA_DIR "path" 
@@ -93,7 +93,7 @@ U_STABLE void U_EXPORT2 u_setDataDirectory(const char *directory);
 #ifndef U_HIDE_INTERNAL_API
 /**
   * Return the time zone files override directory, or an empty string if
-  * no directory was specified. Certain time zone resources will be preferrentially
+  * no directory was specified. Certain time zone resources will be preferentially
   * loaded from individual files in this directory.
   *
   * @return the time zone data override directory.
index 521e502..f0ac4bc 100644 (file)
@@ -29,7 +29,6 @@
 #include "unicode/udata.h"
 #include "unicode/parseerr.h"
 #include "unicode/schriter.h"
-#include "unicode/uchriter.h"
 
 U_NAMESPACE_BEGIN
 
@@ -58,34 +57,18 @@ private:
      * The UText through which this BreakIterator accesses the text
      * @internal
      */
-    UText  *fText;
-
-    /**
-     *   A character iterator that refers to the same text as the UText, above.
-     *   Only included for compatibility with old API, which was based on CharacterIterators.
-     *   Value may be adopted from outside, or one of fSCharIter or fDCharIter, below.
-     */
-    CharacterIterator  *fCharIter;
-
-    /**
-     *   When the input text is provided by a UnicodeString, this will point to
-     *    a characterIterator that wraps that data.  Needed only for the
-     *    implementation of getText(), a backwards compatibility issue.
-     */
-    StringCharacterIterator *fSCharIter;
-
-    /**
-     *  When the input text is provided by a UText, this
-     *    dummy CharacterIterator over an empty string will
-     *    be returned from getText()
-     */
-    UCharCharacterIterator *fDCharIter;
+    UText  fText;
 
+#ifndef U_HIDE_INTERNAL_API
+public:
+#endif /* U_HIDE_INTERNAL_API */
     /**
-     * The rule data for this BreakIterator instance
+     * The rule data for this BreakIterator instance.
+     * Not for general use; Public only for testing purposes.
      * @internal
      */
     RBBIDataWrapper    *fData;
+private:
 
     /** 
      *  The iteration state - current position, rule status for the current position,
@@ -106,23 +89,10 @@ private:
     int32_t         fRuleStatusIndex;
 
     /**
-      * True when iteration has run off the end, and iterator functions should return UBRK_DONE.
-      */
-    UBool           fDone;
-
-    /**
      *   Cache of previously determined boundary positions.
      */
-  public:    // TODO: debug, return to private.
     class BreakCache;
     BreakCache         *fBreakCache;
-  private:
-    /**
-     * Counter for the number of characters encountered with the "dictionary"
-     *   flag set.
-     * @internal
-     */
-    uint32_t            fDictionaryCharCount;
 
     /**
      *  Cache of boundary positions within a region of text that has been
@@ -150,11 +120,30 @@ private:
     UnhandledEngine     *fUnhandledBreakEngine;
 
     /**
-     *
-     * The type of the break iterator, or -1 if it has not been set.
+     * Counter for the number of characters encountered with the "dictionary"
+     *   flag set.
      * @internal
      */
-    int32_t             fBreakType;
+    uint32_t            fDictionaryCharCount;
+
+    /**
+     *   A character iterator that refers to the same text as the UText, above.
+     *   Only included for compatibility with old API, which was based on CharacterIterators.
+     *   Value may be adopted from outside, or one of fSCharIter or fDCharIter, below.
+     */
+    CharacterIterator  *fCharIter;
+
+    /**
+     *   When the input text is provided by a UnicodeString, this will point to
+     *    a characterIterator that wraps that data.  Needed only for the
+     *    implementation of getText(), a backwards compatibility issue.
+     */
+    StringCharacterIterator fSCharIter;
+
+    /**
+      * True when iteration has run off the end, and iterator functions should return UBRK_DONE.
+      */
+    UBool           fDone;
 
     //=======================================================================
     // constructors
@@ -206,17 +195,17 @@ public:
                              UErrorCode            &status);
 
     /**
-     * Contruct a RuleBasedBreakIterator from a set of precompiled binary rules.
+     * Construct a RuleBasedBreakIterator from a set of precompiled binary rules.
      * Binary rules are obtained from RulesBasedBreakIterator::getBinaryRules().
      * Construction of a break iterator in this way is substantially faster than
-     * constuction from source rules.
+     * construction from source rules.
      *
      * Ownership of the storage containing the compiled rules remains with the
      * caller of this function.  The compiled rules must not be  modified or
      * deleted during the life of the break iterator.
      *
      * The compiled rules are not compatible across different major versions of ICU.
-     * The compiled rules are comaptible only between machines with the same
+     * The compiled rules are compatible only between machines with the same
      * byte ordering (little or big endian) and the same base character set family
      * (ASCII or EBCDIC).
      *
@@ -285,7 +274,7 @@ public:
      * behavior, and iterating over the same text, as this one.
      * Differs from the copy constructor in that it is polymorphic, and
      * will correctly clone (copy) a derived class.
-     * clone() is thread safe.  Multiple threads may simultaeneously
+     * clone() is thread safe.  Multiple threads may simultaneously
      * clone the same source break iterator.
      * @return a newly-constructed RuleBasedBreakIterator
      * @stable ICU 2.0
@@ -450,7 +439,7 @@ public:
     virtual int32_t preceding(int32_t offset);
 
     /**
-     * Returns true if the specfied position is a boundary position.  As a side
+     * Returns true if the specified position is a boundary position.  As a side
      * effect, leaves the iterator pointing to the first boundary position at
      * or after "offset".
      * @param offset the offset to check.
@@ -471,8 +460,8 @@ public:
 
 
     /**
-     * Return the status tag from the break rule that determined the most recently
-     * returned break position.  For break rules that do not specify a
+     * Return the status tag from the break rule that determined the boundary at
+     * the current iteration position.  For break rules that do not specify a
      * status, a default value of 0 is returned.  If more than one break rule
      * would cause a boundary to be located at some position in the text,
      * the numerically largest of the applicable status values is returned.
@@ -489,16 +478,14 @@ public:
      * position from <code>next()</code>, <code>previous()</code>, or
      * any other break iterator functions that returns a boundary position.
      * <p>
+     * Note that <code>getRuleStatus()</code> returns the value corresponding to
+     * <code>current()</code> index even after <code>next()</code> has returned DONE.
+     * <p>
      * When creating custom break rules, one is free to define whatever
      * status values may be convenient for the application.
      * <p>
-     * Note: this function is not thread safe.  It should not have been
-     *       declared const, and the const remains only for compatibility
-     *       reasons.  (The function is logically const, but not bit-wise const).
-     *   TODO: check this. Probably thread safe now.
-     * <p>
-     * @return the status from the break rule that determined the most recently
-     * returned break position.
+     * @return the status from the break rule that determined the boundary
+     * at the current iteration position.
      *
      * @see UWordBreak
      * @stable ICU 2.2
@@ -506,8 +493,8 @@ public:
     virtual int32_t getRuleStatus() const;
 
    /**
-    * Get the status (tag) values from the break rule(s) that determined the most
-    * recently returned break position.
+    * Get the status (tag) values from the break rule(s) that determined the boundary
+    * at the current iteration position.
     * <p>
     * The returned status value(s) are stored into an array provided by the caller.
     * The values are stored in sorted (ascending) order.
@@ -518,10 +505,10 @@ public:
     * @param fillInVec an array to be filled in with the status values.
     * @param capacity  the length of the supplied vector.  A length of zero causes
     *                  the function to return the number of status values, in the
-    *                  normal way, without attemtping to store any values.
+    *                  normal way, without attempting to store any values.
     * @param status    receives error codes.
-    * @return          The number of rule status values from rules that determined
-    *                  the most recent boundary returned by the break iterator.
+    * @return          The number of rule status values from the rules that determined
+    *                  the boundary at the current iteration position.
     *                  In the event of a U_BUFFER_OVERFLOW_ERROR, the return value
     *                  is the total number of status values that were available,
     *                  not the reduced number that were actually returned.
@@ -561,7 +548,7 @@ public:
      *
      * Create a clone (copy) of this break iterator in memory provided
      *  by the caller.  The idea is to increase performance by avoiding
-     *  a storage allocation.  Use of this functoin is NOT RECOMMENDED.
+     *  a storage allocation.  Use of this function is NOT RECOMMENDED.
      *  Performance gains are minimal, and correct buffer management is
      *  tricky.  Use clone() instead.
      *
@@ -574,7 +561,7 @@ public:
      *                     storage for the cloned object.
      *
      * @param status       Error status.  U_SAFECLONE_ALLOCATED_WARNING will be
-     *                     returned if the the provided buffer was too small, and
+     *                     returned if the provided buffer was too small, and
      *                     the clone was therefore put on the heap.
      *
      * @return  Pointer to the clone object.  This may differ from the stackBuffer
@@ -597,7 +584,7 @@ public:
      * The binary data can only be used with the same version of ICU
      *  and on the same platform type (processor endian-ness)
      *
-     * @param length Returns the length of the binary data.  (Out paramter.)
+     * @param length Returns the length of the binary data.  (Out parameter.)
      *
      * @return   A pointer to the binary (compiled) rule data.  The storage
      *           belongs to the RulesBasedBreakIterator object, not the
@@ -646,12 +633,6 @@ private:
     void reset(void);
 
     /**
-      * Set the type of the break iterator.
-      * @internal
-      */
-    void setBreakType(int32_t type);
-
-    /**
       * Common initialization function, used by constructors and bufferClone.
       * @internal
       */
@@ -697,6 +678,13 @@ private:
      *   @internal
      */
      void dumpCache();
+
+    /**
+     * Debugging function only.
+     * @internal
+     */
+    void dumpTables();
+
 #endif  /* U_HIDE_INTERNAL_API */
 };
 
index b522a7a..ad58990 100644 (file)
@@ -132,7 +132,7 @@ public:
     ResourceBundle(UErrorCode &err);
 
     /**
-     * Standard constructor, onstructs a resource bundle for the locale-specific
+     * Standard constructor, constructs a resource bundle for the locale-specific
      * bundle in the specified package.
      *
      * @param packageName   The packageName and locale together point to an ICU udata object, 
index b1dc939..42f0269 100644 (file)
@@ -69,7 +69,7 @@ public:
    * Create an iterator over the UnicodeString referred to by "textStr".
    * The UnicodeString object is copied.
    * The iteration range begins with the code unit specified by
-   * "textBegin" and ends with the code unit BEFORE the code unit specfied
+   * "textBegin" and ends with the code unit BEFORE the code unit specified
    * by "textEnd".  The starting position is specified by "textPos".  If
    * "textBegin" and "textEnd" don't form a valid range on "text" (i.e.,
    * textBegin >= textEnd or either is negative or greater than text.size()),
index ef21f24..254a5bf 100644 (file)
@@ -692,7 +692,7 @@ typedef enum UBiDiReorderingMode {
       * @stable ICU 3.6 */
     UBIDI_REORDER_DEFAULT = 0,
     /** Logical to Visual algorithm which handles numbers in a way which
-      * mimicks the behavior of Windows XP.
+      * mimics the behavior of Windows XP.
       * @stable ICU 3.6 */
     UBIDI_REORDER_NUMBERS_SPECIAL,
     /** Logical to Visual algorithm grouping numbers with adjacent R characters
@@ -1142,7 +1142,7 @@ ubidi_setContext(UBiDi *pBiDi,
 
 /**
  * Perform the Unicode Bidi algorithm. It is defined in the
- * <a href="http://www.unicode.org/unicode/reports/tr9/">Unicode Standard Anned #9</a>,
+ * <a href="http://www.unicode.org/unicode/reports/tr9/">Unicode Standard Annex #9</a>,
  * version 13,
  * also described in The Unicode Standard, Version 4.0 .<p>
  *
index 600328c..73c1553 100644 (file)
@@ -268,7 +268,6 @@ ubrk_openRules(const UChar     *rules,
                UParseError     *parseErr,
                UErrorCode      *status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Open a new UBreakIterator for locating text boundaries using precompiled binary rules.
  * Opening a UBreakIterator this way is substantially faster than using ubrk_openRules.
@@ -287,15 +286,13 @@ ubrk_openRules(const UChar     *rules,
  * @param status      Pointer to UErrorCode to receive any errors.
  * @return            UBreakIterator for the specified rules.
  * @see ubrk_getBinaryRules
- * @draft ICU 59
+ * @stable ICU 59
  */
-U_DRAFT UBreakIterator* U_EXPORT2
+U_STABLE UBreakIterator* U_EXPORT2
 ubrk_openBinaryRules(const uint8_t *binaryRules, int32_t rulesLength,
                      const UChar *  text, int32_t textLength,
                      UErrorCode *   status);
 
-#endif  /* U_HIDE_DRAFT_API */
-
 /**
  * Thread safe cloning operation
  * @param bi iterator to be cloned
@@ -510,7 +507,7 @@ ubrk_countAvailable(void);
 
 
 /**
-* Returns true if the specfied position is a boundary position.  As a side
+* Returns true if the specified position is a boundary position.  As a side
 * effect, leaves the iterator pointing to the first boundary position at
 * or after "offset".
 * @param bi The break iterator to use.
@@ -544,7 +541,7 @@ ubrk_getRuleStatus(UBreakIterator *bi);
  * @param fillInVec an array to be filled in with the status values.
  * @param capacity  the length of the supplied vector.  A length of zero causes
  *                  the function to return the number of status values, in the
- *                  normal way, without attemtping to store any values.
+ *                  normal way, without attempting to store any values.
  * @param status    receives error codes.
  * @return          The number of rule status values from rules that determined
  *                  the most recent boundary returned by the break iterator.
@@ -596,7 +593,6 @@ ubrk_refreshUText(UBreakIterator *bi,
                        UErrorCode     *status);
 
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Get a compiled binary version of the rules specifying the behavior of a UBreakIterator.
  * The binary rules may be used with ubrk_openBinaryRules to open a new UBreakIterator
@@ -620,15 +616,13 @@ ubrk_refreshUText(UBreakIterator *bi,
  *                      otherwise 0. If not preflighting and this is larger than
  *                      rulesCapacity, *status will be set to an error.
  * @see ubrk_openBinaryRules
- * @draft ICU 59
+ * @stable ICU 59
  */
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
 ubrk_getBinaryRules(UBreakIterator *bi,
                     uint8_t *       binaryRules, int32_t rulesCapacity,
                     UErrorCode *    status);
 
-#endif  /* U_HIDE_DRAFT_API */
-
 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
 
 #endif
index 3613374..4b72ecf 100644 (file)
@@ -112,11 +112,11 @@ U_CDECL_BEGIN
  * Comparison:
  * - u_isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
  *       most of general categories "Z" (separators) + most whitespace ISO controls
- *       (including no-break spaces, but excluding IS1..IS4 and ZWSP)
+ *       (including no-break spaces, but excluding IS1..IS4)
  * - u_isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
  * - u_isJavaSpaceChar: Java isSpaceChar; just Z (including no-break spaces)
  * - u_isspace: Z + whitespace ISO controls (including no-break spaces)
- * - u_isblank: "horizontal spaces" = TAB + Zs - ZWSP
+ * - u_isblank: "horizontal spaces" = TAB + Zs
  */
 
 /**
@@ -2702,8 +2702,7 @@ u_isgraph(UChar32 c);
  *
  * same as
  *
- * TRUE for U+0009 (TAB) and characters with general category "Zs" (space separators)
- * except Zero Width Space (ZWSP, U+200B).
+ * TRUE for U+0009 (TAB) and characters with general category "Zs" (space separators).
  *
  * Note: There are several ICU whitespace functions; please see the uchar.h
  * file documentation for a detailed comparison.
index 5b0486d..7cef6db 100644 (file)
@@ -70,7 +70,7 @@ u_init(UErrorCode *status);
  * This has the effect of restoring ICU to its initial condition, before
  * any of these override functions were installed.  Refer to
  * u_setMemoryFunctions(), u_setMutexFunctions and 
- * utrace_setFunctions().  If ICU is to be reinitialized after after
+ * utrace_setFunctions().  If ICU is to be reinitialized after
  * calling u_cleanup(), these runtime override functions will need to
  * be set up again if they are still required.
  * <p>
@@ -104,7 +104,7 @@ u_cleanup(void);
 U_CDECL_BEGIN
 /**
   *  Pointer type for a user supplied memory allocation function.
-  *  @param context user supplied value, obtained from from u_setMemoryFunctions().
+  *  @param context user supplied value, obtained from u_setMemoryFunctions().
   *  @param size    The number of bytes to be allocated
   *  @return        Pointer to the newly allocated memory, or NULL if the allocation failed.
   *  @stable ICU 2.8
@@ -113,7 +113,7 @@ U_CDECL_BEGIN
 typedef void *U_CALLCONV UMemAllocFn(const void *context, size_t size);
 /**
   *  Pointer type for a user supplied memory re-allocation function.
-  *  @param context user supplied value, obtained from from u_setMemoryFunctions().
+  *  @param context user supplied value, obtained from u_setMemoryFunctions().
   *  @param size    The number of bytes to be allocated
   *  @return        Pointer to the newly allocated memory, or NULL if the allocation failed.
   *  @stable ICU 2.8
@@ -123,7 +123,7 @@ typedef void *U_CALLCONV UMemReallocFn(const void *context, void *mem, size_t si
 /**
   *  Pointer type for a user supplied memory free  function.  Behavior should be
   *  similar the standard C library free().
-  *  @param context user supplied value, obtained from from u_setMemoryFunctions().
+  *  @param context user supplied value, obtained from u_setMemoryFunctions().
   *  @param mem     Pointer to the memory block to be resized
   *  @param size    The new size for the block
   *  @return        Pointer to the resized memory block, or NULL if the resizing failed.
@@ -179,8 +179,8 @@ U_CDECL_BEGIN
   *  The user-supplied function will be called by ICU whenever ICU needs to create a
   *  new mutex.  The function implementation should create a mutex, and store a pointer
   *  to something that uniquely identifies the mutex into the UMTX that is supplied
-  *  as a paramter.
-  *  @param context user supplied value, obtained from from u_setMutexFunctions().
+  *  as a parameter.
+  *  @param context user supplied value, obtained from u_setMutexFunctions().
   *  @param mutex   Receives a pointer that identifies the new mutex.
   *                 The mutex init function must set the UMTX to a non-null value.   
   *                 Subsequent calls by ICU to lock, unlock, or destroy a mutex will 
@@ -197,7 +197,7 @@ typedef void U_CALLCONV UMtxInitFn (const void *context, UMTX  *mutex, UErrorCod
   *  Function Pointer type for a user supplied mutex functions.
   *  One of the  user-supplied functions with this signature will be called by ICU
   *  whenever ICU needs to lock, unlock, or destroy a mutex.
-  *  @param context user supplied value, obtained from from u_setMutexFunctions().
+  *  @param context user supplied value, obtained from u_setMutexFunctions().
   *  @param mutex   specify the mutex on which to operate.
   *  @deprecated ICU 52. This function is no longer supported.
   *  @system
@@ -229,7 +229,7 @@ u_setMutexFunctions(const void *context, UMtxInitFn *init, UMtxFn *destroy, UMtx
 
 /**
   *  Pointer type for a user supplied atomic increment or decrement function.
-  *  @param context user supplied value, obtained from from u_setAtomicIncDecFunctions().
+  *  @param context user supplied value, obtained from u_setAtomicIncDecFunctions().
   *  @param p   Pointer to a 32 bit int to be incremented or decremented
   *  @return    The value of the variable after the inc or dec operation.
   *  @deprecated ICU 52. This function is no longer supported.
index 05d0050..53b4c6f 100644 (file)
@@ -207,7 +207,7 @@ typedef void (U_EXPORT2 *UConverterToUCallback) (
 
 /**
  * Function pointer for error callback in the unicode to codepage direction.
- * Called when an error has occured in conversion from unicode, or on open/close of the callback (see reason).
+ * Called when an error has occurred in conversion from unicode, or on open/close of the callback (see reason).
  * @param context Pointer to the callback's private data
  * @param args Information about the conversion in progress
  * @param codeUnits Points to 'length' UChars of the concerned Unicode sequence
@@ -353,7 +353,7 @@ ucnv_compareNames(const char *name1, const char *name2);
  *          ucnv_getAlias for a complete list that is available.
  *          If this parameter is NULL, the default converter will be used.
  * @param err outgoing error status <TT>U_MEMORY_ALLOCATION_ERROR, U_FILE_ACCESS_ERROR</TT>
- * @return the created Unicode converter object, or <TT>NULL</TT> if an error occured
+ * @return the created Unicode converter object, or <TT>NULL</TT> if an error occurred
  * @see ucnv_openU
  * @see ucnv_openCCSID
  * @see ucnv_getAvailableName
@@ -386,7 +386,7 @@ ucnv_open(const char *converterName, UErrorCode *err);
  * @param err outgoing error status <TT>U_MEMORY_ALLOCATION_ERROR,
  *        U_FILE_ACCESS_ERROR</TT>
  * @return the created Unicode converter object, or <TT>NULL</TT> if an
- *        error occured
+ *        error occurred
  * @see ucnv_open
  * @see ucnv_openCCSID
  * @see ucnv_close
@@ -489,7 +489,7 @@ ucnv_openCCSID(int32_t codepage,
  * @param packageName name of the package (equivalent to 'path' in udata_open() call)
  * @param converterName name of the data item to be used, without suffix.
  * @param err outgoing error status <TT>U_MEMORY_ALLOCATION_ERROR, U_FILE_ACCESS_ERROR</TT>
- * @return the created Unicode converter object, or <TT>NULL</TT> if an error occured
+ * @return the created Unicode converter object, or <TT>NULL</TT> if an error occurred
  * @see udata_open
  * @see ucnv_open
  * @see ucnv_safeClone
index 2f74754..d234710 100644 (file)
@@ -119,19 +119,19 @@ typedef struct UConverter UConverter;
 #define UCNV_ESCAPE_JAVA      "J"
 /**
  * FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to C (\\uXXXX \\UXXXXXXXX)
- * TO_U_CALLBACK_ESCAPE option to escape the character value accoding to C (\\xXXXX)
+ * TO_U_CALLBACK_ESCAPE option to escape the character value according to C (\\xXXXX)
  * @stable ICU 2.0
  */
 #define UCNV_ESCAPE_C         "C"
 /**
  * FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Decimal escape \htmlonly(&amp;#DDDD;)\endhtmlonly
- * TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Decimal escape \htmlonly(&amp;#DDDD;)\endhtmlonly
+ * TO_U_CALLBACK_ESCAPE context option to escape the character value according to XML Decimal escape \htmlonly(&amp;#DDDD;)\endhtmlonly
  * @stable ICU 2.0
  */
 #define UCNV_ESCAPE_XML_DEC   "D"
 /**
  * FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Hex escape \htmlonly(&amp;#xXXXX;)\endhtmlonly
- * TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Hex escape \htmlonly(&amp;#xXXXX;)\endhtmlonly
+ * TO_U_CALLBACK_ESCAPE context option to escape the character value according to XML Hex escape \htmlonly(&amp;#xXXXX;)\endhtmlonly
  * @stable ICU 2.0
  */
 #define UCNV_ESCAPE_XML_HEX   "X"
@@ -171,7 +171,7 @@ typedef enum {
                              code points.
                              The error code U_INVALID_CHAR_FOUND will be set. */
     UCNV_RESET = 3,       /**< The callback is called with this reason when a
-                             'reset' has occured. Callback should reset all
+                             'reset' has occurred. Callback should reset all
                              state. */
     UCNV_CLOSE = 4,        /**< Called when the converter is closed. The
                              callback should release any allocated memory.*/
@@ -199,7 +199,7 @@ typedef struct {
     const UChar *sourceLimit;   /**< Pointer to the limit (end + 1) of source buffer. @stable ICU 2.0    */
     char *target;               /**< Pointer to the target buffer. @stable ICU 2.0    */
     const char *targetLimit;    /**< Pointer to the limit (end + 1) of target buffer. @stable ICU 2.0     */
-    int32_t *offsets;           /**< Pointer to the buffer that recieves the offsets. *offset = blah ; offset++;. @stable ICU 2.0  */
+    int32_t *offsets;           /**< Pointer to the buffer that receives the offsets. *offset = blah ; offset++;. @stable ICU 2.0  */
 } UConverterFromUnicodeArgs;
 
 
@@ -215,7 +215,7 @@ typedef struct {
     const char *sourceLimit;    /**< Pointer to the limit (end + 1) of source buffer. @stable ICU 2.0    */
     UChar *target;              /**< Pointer to the target buffer. @stable ICU 2.0    */
     const UChar *targetLimit;   /**< Pointer to the limit (end + 1) of target buffer. @stable ICU 2.0     */
-    int32_t *offsets;           /**< Pointer to the buffer that recieves the offsets. *offset = blah ; offset++;. @stable ICU 2.0  */
+    int32_t *offsets;           /**< Pointer to the buffer that receives the offsets. *offset = blah ; offset++;. @stable ICU 2.0  */
 } UConverterToUnicodeArgs;
 
 
index 1abb3b2..192bc29 100644 (file)
@@ -103,6 +103,19 @@ typedef enum UCurrNameStyle {
      * @stable ICU 2.6
      */
     UCURR_LONG_NAME
+
+#ifndef U_HIDE_DRAFT_API
+    ,
+    /**
+     * Selector for getName() indicating the narrow currency symbol.
+     * The narrow currency symbol is similar to the regular currency
+     * symbol, but it always takes the shortest form: for example,
+     * "$" instead of "US$" for USD in en-CA.
+     *
+     * @draft ICU 61
+     */
+    UCURR_NARROW_SYMBOL_NAME
+#endif  // U_HIDE_DRAFT_API
 } UCurrNameStyle;
 
 #if !UCONFIG_NO_SERVICE
index 3ba9161..2bcaaf4 100644 (file)
@@ -299,6 +299,10 @@ typedef int8_t UBool;
 // for AIX, uchar.h needs to be included
 # include <uchar.h>
 # define U_CHAR16_IS_TYPEDEF 1
+#elif defined(_MSC_VER) && (_MSC_VER < 1900)
+// Versions of Visual Studio/MSVC below 2015 do not support char16_t as a real type,
+// and instead use a typedef.  https://msdn.microsoft.com/library/bb531344.aspx
+# define U_CHAR16_IS_TYPEDEF 1
 #else
 # define U_CHAR16_IS_TYPEDEF 0
 #endif
@@ -366,7 +370,7 @@ typedef int8_t UBool;
  * Exception: ICU 58 UChar was defined to UCHAR_TYPE if that macro was defined.
  * The current UChar responds to UCHAR_TYPE but OldUChar does not.
  *
- * @draft ICU 59
+ * @stable ICU 59
  */
 #if U_SIZEOF_WCHAR_T==2
     typedef wchar_t OldUChar;
index 4a4ce19..ed9a3eb 100644 (file)
@@ -1521,6 +1521,7 @@ private:
                       UnicodeString& rebuiltPat,
                       uint32_t options,
                       UnicodeSet& (UnicodeSet::*caseClosure)(int32_t attribute),
+                      int32_t depth,
                       UErrorCode& ec);
 
     //----------------------------------------------------------------
index b99a686..d0b2717 100644 (file)
@@ -2995,10 +2995,6 @@ public:
    */
   UNISTR_FROM_STRING_EXPLICIT UnicodeString(const char16_t *text);
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if !U_CHAR16_IS_TYPEDEF
   /**
    * uint16_t * constructor.
@@ -3008,16 +3004,12 @@ public:
    * <code>-DUNISTR_FROM_STRING_EXPLICIT=explicit</code>
    * on the compiler command line or similar.
    * @param text NUL-terminated UTF-16 string
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UNISTR_FROM_STRING_EXPLICIT UnicodeString(const uint16_t *text) :
       UnicodeString(ConstChar16Ptr(text)) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN)
   /**
    * wchar_t * constructor.
@@ -3028,16 +3020,12 @@ public:
    * <code>-DUNISTR_FROM_STRING_EXPLICIT=explicit</code>
    * on the compiler command line or similar.
    * @param text NUL-terminated UTF-16 string
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UNISTR_FROM_STRING_EXPLICIT UnicodeString(const wchar_t *text) :
       UnicodeString(ConstChar16Ptr(text)) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
   /**
    * nullptr_t constructor.
    * Effectively the same as the default constructor, makes an empty string object.
@@ -3046,7 +3034,7 @@ public:
    * <code>-DUNISTR_FROM_STRING_EXPLICIT=explicit</code>
    * on the compiler command line or similar.
    * @param text nullptr
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UNISTR_FROM_STRING_EXPLICIT inline UnicodeString(const std::nullptr_t text);
 
@@ -3060,26 +3048,18 @@ public:
   UnicodeString(const char16_t *text,
         int32_t textLength);
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if !U_CHAR16_IS_TYPEDEF
   /**
    * uint16_t * constructor.
    * Delegates to UnicodeString(const char16_t *, int32_t).
    * @param text UTF-16 string
    * @param length string length
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UnicodeString(const uint16_t *text, int32_t length) :
       UnicodeString(ConstChar16Ptr(text), length) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN)
   /**
    * wchar_t * constructor.
@@ -3087,22 +3067,18 @@ public:
    * Delegates to UnicodeString(const char16_t *, int32_t).
    * @param text NUL-terminated UTF-16 string
    * @param length string length
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UnicodeString(const wchar_t *text, int32_t length) :
       UnicodeString(ConstChar16Ptr(text), length) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
   /**
    * nullptr_t constructor.
    * Effectively the same as the default constructor, makes an empty string object.
    * @param text nullptr
    * @param length ignored
-   * @draft ICU 59
+   * @stable ICU 59
    */
   inline UnicodeString(const std::nullptr_t text, int32_t length);
 
@@ -3152,10 +3128,6 @@ public:
    */
   UnicodeString(char16_t *buffer, int32_t buffLength, int32_t buffCapacity);
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if !U_CHAR16_IS_TYPEDEF
   /**
    * Writable-aliasing uint16_t * constructor.
@@ -3163,16 +3135,12 @@ public:
    * @param buffer writable buffer of/for UTF-16 text
    * @param buffLength length of the current buffer contents
    * @param buffCapacity buffer capacity
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UnicodeString(uint16_t *buffer, int32_t buffLength, int32_t buffCapacity) :
       UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
 #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN)
   /**
    * Writable-aliasing wchar_t * constructor.
@@ -3181,23 +3149,19 @@ public:
    * @param buffer writable buffer of/for UTF-16 text
    * @param buffLength length of the current buffer contents
    * @param buffCapacity buffer capacity
-   * @draft ICU 59
+   * @stable ICU 59
    */
   UnicodeString(wchar_t *buffer, int32_t buffLength, int32_t buffCapacity) :
       UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {}
 #endif
 
-  /*
-   * Do not use #ifndef U_HIDE_DRAFT_API for the following constructor,
-   * it should always be available regardless of U_HIDE_DRAFT_API status
-   */
   /**
    * Writable-aliasing nullptr_t constructor.
    * Effectively the same as the default constructor, makes an empty string object.
    * @param buffer nullptr
    * @param buffLength ignored
    * @param buffCapacity ignored
-   * @draft ICU 59
+   * @stable ICU 59
    */
   inline UnicodeString(std::nullptr_t buffer, int32_t buffLength, int32_t buffCapacity);
 
index 982655c..d8ab850 100644 (file)
 #define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
 #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
 #define allowedHourFormatsCleanup U_ICU_ENTRY_POINT_RENAME(allowedHourFormatsCleanup)
-#define checkImpl U_ICU_ENTRY_POINT_RENAME(checkImpl)
 #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
 #define dayPeriodRulesCleanup U_ICU_ENTRY_POINT_RENAME(dayPeriodRulesCleanup)
 #define deleteAllowedHourFormats U_ICU_ENTRY_POINT_RENAME(deleteAllowedHourFormats)
 #define ubidi_getReorderingOptions U_ICU_ENTRY_POINT_RENAME(ubidi_getReorderingOptions)
 #define ubidi_getResultLength U_ICU_ENTRY_POINT_RENAME(ubidi_getResultLength)
 #define ubidi_getRuns U_ICU_ENTRY_POINT_RENAME(ubidi_getRuns)
-#define ubidi_getSingleton U_ICU_ENTRY_POINT_RENAME(ubidi_getSingleton)
 #define ubidi_getText U_ICU_ENTRY_POINT_RENAME(ubidi_getText)
 #define ubidi_getVisualIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualIndex)
 #define ubidi_getVisualMap U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualMap)
 #define ucase_addStringCaseClosure U_ICU_ENTRY_POINT_RENAME(ucase_addStringCaseClosure)
 #define ucase_fold U_ICU_ENTRY_POINT_RENAME(ucase_fold)
 #define ucase_getCaseLocale U_ICU_ENTRY_POINT_RENAME(ucase_getCaseLocale)
+#define ucase_getTrie U_ICU_ENTRY_POINT_RENAME(ucase_getTrie)
 #define ucase_getType U_ICU_ENTRY_POINT_RENAME(ucase_getType)
 #define ucase_getTypeOrIgnorable U_ICU_ENTRY_POINT_RENAME(ucase_getTypeOrIgnorable)
 #define ucase_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(ucase_hasBinaryProperty)
 #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_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 udatpg_open U_ICU_ENTRY_POINT_RENAME(udatpg_open)
 #define uprv_getRawUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getRawUTCtime)
 #define uprv_getStaticCurrencyName U_ICU_ENTRY_POINT_RENAME(uprv_getStaticCurrencyName)
 #define uprv_getUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getUTCtime)
-#define uprv_haveProperties U_ICU_ENTRY_POINT_RENAME(uprv_haveProperties)
 #define uprv_int32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_int32Comparator)
 #define uprv_isASCIILetter U_ICU_ENTRY_POINT_RENAME(uprv_isASCIILetter)
 #define uprv_isInfinite U_ICU_ENTRY_POINT_RENAME(uprv_isInfinite)
index 918b9f2..af0ce76 100644 (file)
@@ -16,7 +16,7 @@
 *   04/04/99    helena      Fixed internal header inclusion.
 *   04/15/99    Madhu       Updated Javadoc
 *   06/14/99    stephen     Removed functions taking a filename suffix.
-*   07/20/99    stephen     Language-independent ypedef to void*
+*   07/20/99    stephen     Language-independent typedef to void*
 *   11/09/99    weiv        Added ures_getLocale()
 *   06/24/02    weiv        Added support for resource sharing
 ******************************************************************************
@@ -138,7 +138,7 @@ typedef enum {
 /**
  * Opens a UResourceBundle, from which users can extract strings by using
  * their corresponding keys.
- * Note that the caller is responsible of calling <TT>ures_close</TT> on each succesfully
+ * Note that the caller is responsible of calling <TT>ures_close</TT> on each successfully
  * opened resource bundle.
  * @param packageName   The packageName and locale together point to an ICU udata object,
  *                      as defined by <code> udata_open( packageName, "res", locale, err) </code>
@@ -301,7 +301,7 @@ ures_getVersion(const UResourceBundle* resB,
  * you to query for the real locale of the resource. For example, if you requested
  * "en_US_CALIFORNIA" and only "en_US" bundle exists, "en_US" will be returned.
  * For subresources, the locale where this resource comes from will be returned.
- * If fallback has occured, getLocale will reflect this.
+ * If fallback has occurred, getLocale will reflect this.
  *
  * @param resourceBundle resource bundle in question
  * @param status just for catching illegal arguments
@@ -580,7 +580,7 @@ ures_hasNext(const UResourceBundle *resourceBundle);
  * @param fillIn            if NULL a new UResourceBundle struct is allocated and must be closed by the caller.
  *                          Alternatively, you can supply a struct to be filled by this function.
  * @param status            fills in the outgoing error code. You may still get a non NULL result even if an
- *                          error occured. Check status instead.
+ *                          error occurred. Check status instead.
  * @return                  a pointer to a UResourceBundle struct. If fill in param was NULL, caller must close it
  * @stable ICU 2.0
  */
@@ -596,7 +596,7 @@ ures_getNextResource(UResourceBundle *resourceBundle,
  * @param resourceBundle    a resource
  * @param len               fill in length of the string
  * @param key               fill in for key associated with this string. NULL if no key
- * @param status            fills in the outgoing error code. If an error occured, we may return NULL, but don't
+ * @param status            fills in the outgoing error code. If an error occurred, we may return NULL, but don't
  *                          count on it. Check status instead!
  * @return a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file.
  * @stable ICU 2.0
@@ -615,7 +615,7 @@ ures_getNextString(UResourceBundle *resourceBundle,
  * @param fillIn            if NULL a new UResourceBundle struct is allocated and must be closed by the caller.
  *                          Alternatively, you can supply a struct to be filled by this function.
  * @param status            fills in the outgoing error code. Don't count on NULL being returned if an error has
- *                          occured. Check status instead.
+ *                          occurred. Check status instead.
  * @return                  a pointer to a UResourceBundle struct. If fill in param was NULL, caller must close it
  * @stable ICU 2.0
  */
@@ -631,7 +631,7 @@ ures_getByIndex(const UResourceBundle *resourceBundle,
  * @param resourceBundle    a resource
  * @param indexS            an index to the wanted string.
  * @param len               fill in length of the string
- * @param status            fills in the outgoing error code. If an error occured, we may return NULL, but don't
+ * @param status            fills in the outgoing error code. If an error occurred, we may return NULL, but don't
  *                          count on it. Check status instead!
  * @return                  a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file.
  * @stable ICU 2.0
@@ -722,7 +722,7 @@ ures_getByKey(const UResourceBundle *resourceBundle,
  * @param resB              a resource
  * @param key               a key associated with the wanted string
  * @param len               fill in length of the string
- * @param status            fills in the outgoing error code. If an error occured, we may return NULL, but don't
+ * @param status            fills in the outgoing error code. If an error occurred, we may return NULL, but don't
  *                          count on it. Check status instead!
  * @return                  a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file.
  * @stable ICU 2.0
index 3ec235d..0befa1c 100644 (file)
@@ -476,7 +476,7 @@ typedef enum UScriptCode {
  * @param nameOrAbbrOrLocale name of the script, as given in
  * PropertyValueAliases.txt, or ISO 15924 code or locale
  * @param fillIn the UScriptCode buffer to fill in the script code
- * @param capacity the capacity (size) fo UScriptCode buffer passed in.
+ * @param capacity the capacity (size) of UScriptCode buffer passed in.
  * @param err the error status code.
  * @return The number of script codes filled in the buffer passed in
  * @stable ICU 2.4
index c64fe22..78b4d02 100644 (file)
@@ -93,7 +93,7 @@
  *        which must not indicate a failure before the function call.
  *
  * @return The number of UChars written to the destination buffer.
- *         If an error occured, then no output was written, or it may be
+ *         If an error occurred, then no output was written, or it may be
  *         incomplete. If <code>U_BUFFER_OVERFLOW_ERROR</code> is set, then
  *         the return value indicates the necessary destination buffer size.
  * @stable ICU 2.0
index da0848d..914eb84 100644 (file)
  * StringPrep prepares Unicode strings for use in network protocols.
  * Profiles of StingPrep are set of rules and data according to with the
  * Unicode Strings are prepared. Each profiles contains tables which describe
- * how a code point should be treated. The tables are broadly classied into
+ * how a code point should be treated. The tables are broadly classified into
  * <ul>
- *     <li> Unassinged Table: Contains code points that are unassigned 
+ *     <li> Unassigned Table: Contains code points that are unassigned 
  *          in the Unicode Version supported by StringPrep. Currently 
  *          RFC 3454 supports Unicode 3.2. </li>
- *     <li> Prohibited Table: Contains code points that are prohibted from
+ *     <li> Prohibited Table: Contains code points that are prohibited from
  *          the output of the StringPrep processing function. </li>
- *     <li> Mapping Table: Contains code ponts that are deleted from the output or case mapped. </li>
+ *     <li> Mapping Table: Contains code points that are deleted from the output or case mapped. </li>
  * </ul>
  * 
  * The procedure for preparing Unicode strings:
@@ -230,7 +230,7 @@ U_NAMESPACE_END
 
 /**
  * Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC),
- * checks for prohited and BiDi characters in the order defined by RFC 3454
+ * checks for prohibited and BiDi characters in the order defined by RFC 3454
  * depending on the options specified in the profile.
  *
  * @param prep          The profile to use 
index 3daa28e..f9fc41a 100644 (file)
@@ -403,7 +403,7 @@ u_strspn(const UChar *string, const UChar *matchSet);
  * @param saveState The current pointer within the original string,
  *              which is set by this function. The saveState
  *              parameter should the address of a local variable of type
- *              UChar *. (i.e. defined "Uhar *myLocalSaveState" and use
+ *              UChar *. (i.e. defined "UChar *myLocalSaveState" and use
  *              &myLocalSaveState for this parameter).
  * @return A pointer to the next token found in src, or NULL
  *         when there are no more tokens.
@@ -884,7 +884,7 @@ u_memrchr32(const UChar *s, UChar32 c, int32_t count);
  * Unicode String literals in C.
  * We need one macro to declare a variable for the string
  * and to statically preinitialize it if possible,
- * and a second macro to dynamically intialize such a string variable if necessary.
+ * and a second macro to dynamically initialize such a string variable if necessary.
  *
  * The macros are defined for maximum performance.
  * They work only for strings that contain "invariant characters", i.e.,
index 33f2f4c..ad21d70 100644 (file)
@@ -655,10 +655,10 @@ utext_getPreviousNativeIndex(UText *ut);
  * @param  ut    the UText from which to extract data.
  * @param  nativeStart the native index of the first character to extract.\
  *               If the specified index is out of range,
- *               it will be pinned to to be within 0 <= index <= textLength
+ *               it will be pinned to be within 0 <= index <= textLength
  * @param  nativeLimit the native string index of the position following the last
  *               character to extract.  If the specified index is out of range,
- *               it will be pinned to to be within 0 <= index <= textLength.
+ *               it will be pinned to be within 0 <= index <= textLength.
  *               nativeLimit must be >= nativeStart.
  * @param  dest  the UChar (UTF-16) buffer into which the extracted text is placed
  * @param  destCapacity  The size, in UChars, of the destination buffer.  May be zero
@@ -906,7 +906,7 @@ utext_copy(UText *ut,
   *  Caution:  freezing a UText will disable changes made via the specific
   *   frozen UText wrapper only; it will not have any effect on the ability to
   *   directly modify the text by bypassing the UText.  Any such backdoor modifications
-  *   are always an error while UText access is occuring because the underlying
+  *   are always an error while UText access is occurring because the underlying
   *   text can get out of sync with UText's buffering.
   *  </p>
   *
@@ -1452,7 +1452,7 @@ struct UText {
     void          *pExtra;
 
     /**
-     * (protected) Pointer to string or text-containin object or similar.
+     * (protected) Pointer to string or text-containing object or similar.
      * This is the source of the text that this UText is wrapping, in a format
      *  that is known to the text provider functions.
      * @stable ICU 3.4
index df08d34..4bb063c 100644 (file)
@@ -348,29 +348,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
  * @see U8_NEXT_UNSAFE
  * @stable ICU 2.4
  */
-#define U8_NEXT(s, i, length, c) { \
-    (c)=(uint8_t)(s)[(i)++]; \
-    if(!U8_IS_SINGLE(c)) { \
-        uint8_t __t1, __t2; \
-        if( /* handle U+0800..U+FFFF inline */ \
-                (0xe0<=(c) && (c)<0xf0) && \
-                (((i)+1)<(length) || (length)<0) && \
-                U8_IS_VALID_LEAD3_AND_T1((c), __t1=(s)[i]) && \
-                (__t2=(s)[(i)+1]-0x80)<=0x3f) { \
-            (c)=(((c)&0xf)<<12)|((__t1&0x3f)<<6)|__t2; \
-            (i)+=2; \
-        } else if( /* handle U+0080..U+07FF inline */ \
-                ((c)<0xe0 && (c)>=0xc2) && \
-                ((i)!=(length)) && \
-                (__t1=(s)[i]-0x80)<=0x3f) { \
-            (c)=(((c)&0x1f)<<6)|__t1; \
-            ++(i); \
-        } else { \
-            /* function call for "complicated" and error cases */ \
-            (c)=utf8_nextCharSafeBody((const uint8_t *)s, &(i), (length), c, -1); \
-        } \
-    } \
-}
+#define U8_NEXT(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, U_SENTINEL)
 
 /**
  * Get a code point from a string at a code point boundary offset,
@@ -396,26 +374,33 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
  * @see U8_NEXT
  * @stable ICU 51
  */
-#define U8_NEXT_OR_FFFD(s, i, length, c) { \
+#define U8_NEXT_OR_FFFD(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, 0xfffd)
+
+/** @internal */
+#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) { \
     (c)=(uint8_t)(s)[(i)++]; \
     if(!U8_IS_SINGLE(c)) { \
-        uint8_t __t1, __t2; \
-        if( /* handle U+0800..U+FFFF inline */ \
-                (0xe0<=(c) && (c)<0xf0) && \
-                (((i)+1)<(length) || (length)<0) && \
-                U8_IS_VALID_LEAD3_AND_T1((c), __t1=(s)[i]) && \
-                (__t2=(s)[(i)+1]-0x80)<=0x3f) { \
-            (c)=(((c)&0xf)<<12)|((__t1&0x3f)<<6)|__t2; \
-            (i)+=2; \
-        } else if( /* handle U+0080..U+07FF inline */ \
-                ((c)<0xe0 && (c)>=0xc2) && \
-                ((i)!=(length)) && \
-                (__t1=(s)[i]-0x80)<=0x3f) { \
-            (c)=(((c)&0x1f)<<6)|__t1; \
-            ++(i); \
+        uint8_t __t = 0; \
+        if((i)!=(length) && \
+            /* fetch/validate/assemble all but last trail byte */ \
+            ((c)>=0xe0 ? \
+                ((c)<0xf0 ?  /* U+0800..U+FFFF except surrogates */ \
+                    U8_LEAD3_T1_BITS[(c)&=0xf]&(1<<((__t=(s)[i])>>5)) && \
+                    (__t&=0x3f, 1) \
+                :  /* U+10000..U+10FFFF */ \
+                    ((c)-=0xf0)<=4 && \
+                    U8_LEAD4_T1_BITS[(__t=(s)[i])>>4]&(1<<(c)) && \
+                    ((c)=((c)<<6)|(__t&0x3f), ++(i)!=(length)) && \
+                    (__t=(s)[i]-0x80)<=0x3f) && \
+                /* valid second-to-last trail byte */ \
+                ((c)=((c)<<6)|__t, ++(i)!=(length)) \
+            :  /* U+0080..U+07FF */ \
+                (c)>=0xc2 && ((c)&=0x1f, 1)) && \
+            /* last trail byte */ \
+            (__t=(s)[i]-0x80)<=0x3f && \
+            ((c)=((c)<<6)|__t, ++(i), 1)) { \
         } else { \
-            /* function call for "complicated" and error cases */ \
-            (c)=utf8_nextCharSafeBody((const uint8_t *)s, &(i), (length), c, -3); \
+            (c)=(sub);  /* ill-formed*/ \
         } \
     } \
 }
@@ -434,21 +419,22 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
  * @stable ICU 2.4
  */
 #define U8_APPEND_UNSAFE(s, i, c) { \
-    if((uint32_t)(c)<=0x7f) { \
-        (s)[(i)++]=(uint8_t)(c); \
+    uint32_t __uc=(c); \
+    if(__uc<=0x7f) { \
+        (s)[(i)++]=(uint8_t)__uc; \
     } else { \
-        if((uint32_t)(c)<=0x7ff) { \
-            (s)[(i)++]=(uint8_t)(((c)>>6)|0xc0); \
+        if(__uc<=0x7ff) { \
+            (s)[(i)++]=(uint8_t)((__uc>>6)|0xc0); \
         } else { \
-            if((uint32_t)(c)<=0xffff) { \
-                (s)[(i)++]=(uint8_t)(((c)>>12)|0xe0); \
+            if(__uc<=0xffff) { \
+                (s)[(i)++]=(uint8_t)((__uc>>12)|0xe0); \
             } else { \
-                (s)[(i)++]=(uint8_t)(((c)>>18)|0xf0); \
-                (s)[(i)++]=(uint8_t)((((c)>>12)&0x3f)|0x80); \
+                (s)[(i)++]=(uint8_t)((__uc>>18)|0xf0); \
+                (s)[(i)++]=(uint8_t)(((__uc>>12)&0x3f)|0x80); \
             } \
-            (s)[(i)++]=(uint8_t)((((c)>>6)&0x3f)|0x80); \
+            (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \
         } \
-        (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
+        (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \
     } \
 }
 
@@ -470,17 +456,23 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
  * @stable ICU 2.4
  */
 #define U8_APPEND(s, i, capacity, c, isError) { \
-    if((uint32_t)(c)<=0x7f) { \
-        (s)[(i)++]=(uint8_t)(c); \
-    } else if((uint32_t)(c)<=0x7ff && (i)+1<(capacity)) { \
-        (s)[(i)++]=(uint8_t)(((c)>>6)|0xc0); \
-        (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
-    } else if((uint32_t)(c)<=0xd7ff && (i)+2<(capacity)) { \
-        (s)[(i)++]=(uint8_t)(((c)>>12)|0xe0); \
-        (s)[(i)++]=(uint8_t)((((c)>>6)&0x3f)|0x80); \
-        (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
+    uint32_t __uc=(c); \
+    if(__uc<=0x7f) { \
+        (s)[(i)++]=(uint8_t)__uc; \
+    } else if(__uc<=0x7ff && (i)+1<(capacity)) { \
+        (s)[(i)++]=(uint8_t)((__uc>>6)|0xc0); \
+        (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \
+    } else if((__uc<=0xd7ff || (0xe000<=__uc && __uc<=0xffff)) && (i)+2<(capacity)) { \
+        (s)[(i)++]=(uint8_t)((__uc>>12)|0xe0); \
+        (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \
+        (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \
+    } else if(0xffff<__uc && __uc<=0x10ffff && (i)+3<(capacity)) { \
+        (s)[(i)++]=(uint8_t)((__uc>>18)|0xf0); \
+        (s)[(i)++]=(uint8_t)(((__uc>>12)&0x3f)|0x80); \
+        (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \
+        (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \
     } else { \
-        (i)=utf8_appendCharSafeBody(s, (i), (capacity), c, &(isError)); \
+        (isError)=TRUE; \
     } \
 }
 
@@ -600,12 +592,15 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
  * If the offset points to a UTF-8 trail byte,
  * then the offset is moved backward to the corresponding lead byte.
  * Otherwise, it is not modified.
+ *
  * "Safe" macro, checks for illegal sequences and for string boundaries.
+ * Unlike U8_TRUNCATE_IF_INCOMPLETE(), this macro always reads s[i].
  *
  * @param s const uint8_t * string
  * @param start int32_t starting string offset (usually 0)
  * @param i int32_t string offset, must be start<=i
  * @see U8_SET_CP_START_UNSAFE
+ * @see U8_TRUNCATE_IF_INCOMPLETE
  * @stable ICU 2.4
  */
 #define U8_SET_CP_START(s, start, i) { \
@@ -614,6 +609,57 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
     } \
 }
 
+#ifndef U_HIDE_DRAFT_API
+/**
+ * If the string ends with a UTF-8 byte sequence that is valid so far
+ * but incomplete, then reduce the length of the string to end before
+ * the lead byte of that incomplete sequence.
+ * For example, if the string ends with E1 80, the length is reduced by 2.
+ *
+ * In all other cases (the string ends with a complete sequence, or it is not
+ * possible for any further trail byte to extend the trailing sequence)
+ * the length remains unchanged.
+ *
+ * Useful for processing text split across multiple buffers
+ * (save the incomplete sequence for later)
+ * and for optimizing iteration
+ * (check for string length only once per character).
+ *
+ * "Safe" macro, checks for illegal sequences and for string boundaries.
+ * Unlike U8_SET_CP_START(), this macro never reads s[length].
+ *
+ * (In UTF-16, simply check for U16_IS_LEAD(last code unit).)
+ *
+ * @param s const uint8_t * string
+ * @param start int32_t starting string offset (usually 0)
+ * @param length int32_t string length (usually start<=length)
+ * @see U8_SET_CP_START
+ * @draft ICU 61
+ */
+#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) \
+    if((length)>(start)) { \
+        uint8_t __b1=s[(length)-1]; \
+        if(U8_IS_SINGLE(__b1)) { \
+            /* common ASCII character */ \
+        } else if(U8_IS_LEAD(__b1)) { \
+            --(length); \
+        } else if(U8_IS_TRAIL(__b1) && ((length)-2)>=(start)) { \
+            uint8_t __b2=s[(length)-2]; \
+            if(0xe0<=__b2 && __b2<=0xf4) { \
+                if(__b2<0xf0 ? U8_IS_VALID_LEAD3_AND_T1(__b2, __b1) : \
+                        U8_IS_VALID_LEAD4_AND_T1(__b2, __b1)) { \
+                    (length)-=2; \
+                } \
+            } else if(U8_IS_TRAIL(__b2) && ((length)-3)>=(start)) { \
+                uint8_t __b3=s[(length)-3]; \
+                if(0xf0<=__b3 && __b3<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(__b3, __b2)) { \
+                    (length)-=3; \
+                } \
+            } \
+        } \
+    }
+#endif  // U_HIDE_DRAFT_API
+
 /* definitions with backward iteration -------------------------------------- */
 
 /**
index 6b4c4df..6626978 100644 (file)
@@ -183,7 +183,7 @@ UTraceData(const void *context, int32_t fnNumber, int32_t level,
   *  tracing functions must themselves filter by checking that the
   *  current thread is the desired thread.
   *
-  *  @param context an uninterpretted pointer.  Whatever is passed in
+  *  @param context an uninterpreted pointer.  Whatever is passed in
   *                 here will in turn be passed to each of the tracing
   *                 functions UTraceEntry, UTraceExit and UTraceData.
   *                 ICU does not use or alter this pointer.
@@ -320,7 +320,7 @@ utrace_getFunctions(const void **context,
   *                 human readable form.  Note that a UTraceData function may choose
   *                 to not format the data;  it could, for example, save it in
   *                 in the raw form it was received (more compact), leaving
-  *                 formatting for a later trace analyis tool.
+  *                 formatting for a later trace analysis tool.
   *  @param outBuf  pointer to a buffer to receive the formatted output.  Output
   *                 will be nul terminated if there is space in the buffer -
   *                 if the length of the requested output < the output buffer size.
index d60450b..dd89f39 100644 (file)
 /**
  *  U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library.
  *    Defined as a literal, not a string.
- *    Tricky Preprocessor use - ## operator replaces macro paramters with the literal string
+ *    Tricky Preprocessor use - ## operator replaces macro parameters with the literal string
  *                              from the corresponding macro invocation, _before_ other macro substitutions.
  *                              Need a nested \#defines to get the actual version numbers rather than
  *                              the literal text U_ICU_VERSION_MAJOR_NUM into the name.
@@ -446,14 +446,14 @@ typedef enum UErrorCode {
     U_BUFFER_OVERFLOW_ERROR   = 15,     /**< A result would not fit in the supplied buffer */
     U_UNSUPPORTED_ERROR       = 16,     /**< Requested operation not supported in current context */
     U_RESOURCE_TYPE_MISMATCH  = 17,     /**< an operation is requested over a resource that does not support it */
-    U_ILLEGAL_ESCAPE_SEQUENCE = 18,     /**< ISO-2022 illlegal escape sequence */
+    U_ILLEGAL_ESCAPE_SEQUENCE = 18,     /**< ISO-2022 illegal escape sequence */
     U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, /**< ISO-2022 unsupported escape sequence */
     U_NO_SPACE_AVAILABLE      = 20,     /**< No space available for in-buffer expansion for Arabic shaping */
     U_CE_NOT_FOUND_ERROR      = 21,     /**< Currently used only while setting variable top, but can be used generally */
     U_PRIMARY_TOO_LONG_ERROR  = 22,     /**< User tried to set variable top to a primary that is longer than two bytes */
     U_STATE_TOO_OLD_ERROR     = 23,     /**< ICU cannot construct a service from this state, as it is no longer supported */
     U_TOO_MANY_ALIASES_ERROR  = 24,     /**< There are too many aliases in the path to the requested resource.
-                                             It is very possible that a circular alias definition has occured */
+                                             It is very possible that a circular alias definition has occurred */
     U_ENUM_OUT_OF_SYNC_ERROR  = 25,     /**< UEnumeration out of sync with underlying collection */
     U_INVARIANT_CONVERSION_ERROR = 26,  /**< Unable to convert a UChar* string to char* with the invariant converter. */
     U_INVALID_STATE_ERROR     = 27,     /**< Requested operation can not be completed with ICU in its current state */
@@ -499,7 +499,7 @@ typedef enum UErrorCode {
     U_MULTIPLE_COMPOUND_FILTERS,      /**< More than one compound filter */
     U_INVALID_RBT_SYNTAX,             /**< A "::id" rule was passed to the RuleBasedTransliterator parser */
     U_INVALID_PROPERTY_PATTERN,       /**< UNUSED as of ICU 2.4 */
-    U_MALFORMED_PRAGMA,               /**< A 'use' pragma is invlalid */
+    U_MALFORMED_PRAGMA,               /**< A 'use' pragma is invalid */
     U_UNCLOSED_SEGMENT,               /**< A closing ')' is missing */
     U_ILLEGAL_CHAR_IN_SEGMENT,        /**< UNUSED as of ICU 2.4 */
     U_VARIABLE_RANGE_EXHAUSTED,       /**< Too many stand-ins generated for the given variable range */
@@ -539,12 +539,15 @@ typedef enum UErrorCode {
     U_DEFAULT_KEYWORD_MISSING,        /**< Missing DEFAULT rule in plural rules */
     U_DECIMAL_NUMBER_SYNTAX_ERROR,    /**< Decimal number syntax error */
     U_FORMAT_INEXACT_ERROR,           /**< Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY @stable ICU 4.8 */
+#ifndef U_HIDE_DRAFT_API
+    U_NUMBER_ARG_OUTOFBOUNDS_ERROR,   /**< The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999. @draft ICU 61 */
+#endif  // U_HIDE_DRAFT_API
 #ifndef U_HIDE_DEPRECATED_API
     /**
      * One more than the highest normal formatting API error code.
      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
      */
-    U_FMT_PARSE_ERROR_LIMIT,
+    U_FMT_PARSE_ERROR_LIMIT = 0x10113,
 #endif  // U_HIDE_DEPRECATED_API
 
     /*
@@ -555,7 +558,7 @@ typedef enum UErrorCode {
     U_BRK_HEX_DIGITS_EXPECTED,             /**< Hex digits expected as part of a escaped char in a rule. */
     U_BRK_SEMICOLON_EXPECTED,              /**< Missing ';' at the end of a RBBI rule.            */
     U_BRK_RULE_SYNTAX,                     /**< Syntax error in RBBI rule.                        */
-    U_BRK_UNCLOSED_SET,                    /**< UnicodeSet witing an RBBI rule missing a closing ']'.  */
+    U_BRK_UNCLOSED_SET,                    /**< UnicodeSet writing an RBBI rule missing a closing ']'. */
     U_BRK_ASSIGN_ERROR,                    /**< Syntax error in RBBI rule assignment statement.   */
     U_BRK_VARIABLE_REDFINITION,            /**< RBBI rule $Variable redefined.                    */
     U_BRK_MISMATCHED_PAREN,                /**< Mis-matched parentheses in an RBBI rule.          */
@@ -564,7 +567,7 @@ typedef enum UErrorCode {
     U_BRK_INIT_ERROR,                      /**< Initialization failure.  Probable missing ICU Data. */
     U_BRK_RULE_EMPTY_SET,                  /**< Rule contains an empty Unicode Set.               */
     U_BRK_UNRECOGNIZED_OPTION,             /**< !!option in RBBI rules not recognized.            */
-    U_BRK_MALFORMED_RULE_TAG,              /**< The {nnn} tag on a rule is mal formed             */
+    U_BRK_MALFORMED_RULE_TAG,              /**< The {nnn} tag on a rule is malformed              */
 #ifndef U_HIDE_DEPRECATED_API
     /**
      * One more than the highest normal BreakIterator error code.
index d905a0f..0427bcb 100644 (file)
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.4
  */
-#define U_ICU_VERSION_MAJOR_NUM 60
+#define U_ICU_VERSION_MAJOR_NUM 61
 
 /** The current ICU minor version as an integer.
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.6
  */
-#define U_ICU_VERSION_MINOR_NUM 2
+#define U_ICU_VERSION_MINOR_NUM 1
 
 /** The current ICU patchlevel version as an integer.
  *  This value will change in the subsequent releases of ICU
@@ -84,7 +84,7 @@
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.6
  */
-#define U_ICU_VERSION_SUFFIX _60
+#define U_ICU_VERSION_SUFFIX _61
 
 /**
  * \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 "60.2"
+#define U_ICU_VERSION "61.1"
 
-/** The current ICU library major/minor version as a string without dots, for library name suffixes.
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.6
+/**
+ * The current ICU library major version number as a string, for library name suffixes.
+ * This value will change in subsequent releases of ICU.
+ *
+ * Until ICU 4.8, this was the combination of the single-digit major and minor ICU version numbers
+ * into one string without dots ("48").
+ * Since ICU 49, it is the double-digit major ICU version number.
+ * See http://userguide.icu-project.org/design#TOC-Version-Numbers-in-ICU
+ *
+ * @stable ICU 2.6
  */
-#define U_ICU_VERSION_SHORT "60"
+#define U_ICU_VERSION_SHORT "61"
 
 #ifndef U_HIDE_INTERNAL_API
 /** Data version in ICU4C.
  * @internal ICU 4.4 Internal Use Only
  **/
-#define U_ICU_DATA_VERSION "60.2"
+#define U_ICU_DATA_VERSION "61.1"
 #endif  /* U_HIDE_INTERNAL_API */
 
 /*===========================================================================
index e24068d..4aaa8b4 100644 (file)
@@ -105,7 +105,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
  * @stable ICU 2.4
  */
 
-/* Define namespace symbols if the compiler supports it. */
+/* Define C++ namespace symbols. */
 #ifdef __cplusplus
 #   if U_DISABLE_RENAMING
 #       define U_ICU_NAMESPACE icu
@@ -122,7 +122,13 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
 #   define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
 
 #   ifndef U_USING_ICU_NAMESPACE
-#       define U_USING_ICU_NAMESPACE 1
+#       if defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || \
+                defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || \
+                defined(U_LAYOUTEX_IMPLEMENTATION) || defined(U_TOOLUTIL_IMPLEMENTATION)
+#           define U_USING_ICU_NAMESPACE 0
+#       else
+#           define U_USING_ICU_NAMESPACE 0
+#       endif
 #   endif
 #   if U_USING_ICU_NAMESPACE
         U_NAMESPACE_USE
index d023882..f0f660e 100644 (file)
@@ -2,28 +2,30 @@
 // License & terms of use: http://www.unicode.org/copyright.html
 /*
 ******************************************************************************
-* Copyright (C) 2015, International Business Machines Corporation and         
-* others. All Rights Reserved.                                                
+* Copyright (C) 2015, International Business Machines Corporation and
+* others. All Rights Reserved.
 ******************************************************************************
-*                                                                             
-* File UNIFIEDCACHE.CPP 
+*
+* File unifiedcache.cpp
 ******************************************************************************
 */
 
-#include "uhash.h"
 #include "unifiedcache.h"
-#include "umutex.h"
+
+#include <algorithm>      // For std::max()
+
 #include "mutex.h"
 #include "uassert.h"
+#include "uhash.h"
 #include "ucln_cmn.h"
+#include "umutex.h"
 
 static icu::UnifiedCache *gCache = NULL;
-static icu::SharedObject *gNoValue = NULL;
 static UMutex gCacheMutex = U_MUTEX_INITIALIZER;
 static UConditionVar gInProgressValueAddedCond = U_CONDITION_INITIALIZER;
 static icu::UInitOnce gCacheInitOnce = U_INITONCE_INITIALIZER;
-static const int32_t MAX_EVICT_ITERATIONS = 10;
 
+static const int32_t MAX_EVICT_ITERATIONS = 10;
 static const int32_t DEFAULT_MAX_UNUSED = 1000;
 static const int32_t DEFAULT_PERCENTAGE_OF_IN_USE = 100;
 
@@ -35,10 +37,6 @@ static UBool U_CALLCONV unifiedcache_cleanup() {
         delete gCache;
         gCache = NULL;
     }
-    if (gNoValue) {
-        delete gNoValue;
-        gNoValue = NULL;
-    }
     return TRUE;
 }
 U_CDECL_END
@@ -73,23 +71,15 @@ static void U_CALLCONV cacheInit(UErrorCode &status) {
     ucln_common_registerCleanup(
             UCLN_COMMON_UNIFIED_CACHE, unifiedcache_cleanup);
 
-    // gNoValue must be created first to avoid assertion error in
-    // cache constructor.
-    gNoValue = new SharedObject();
     gCache = new UnifiedCache(status);
     if (gCache == NULL) {
         status = U_MEMORY_ALLOCATION_ERROR;
     }
     if (U_FAILURE(status)) {
         delete gCache;
-        delete gNoValue;
         gCache = NULL;
-        gNoValue = NULL;
         return;
     }
-    // We add a softref because we want hash elements with gNoValue to be
-    // elligible for purging but we don't ever want gNoValue to be deleted.
-    gNoValue->addSoftRef();
 }
 
 UnifiedCache *UnifiedCache::getInstance(UErrorCode &status) {
@@ -104,14 +94,24 @@ UnifiedCache *UnifiedCache::getInstance(UErrorCode &status) {
 UnifiedCache::UnifiedCache(UErrorCode &status) :
         fHashtable(NULL),
         fEvictPos(UHASH_FIRST),
-        fItemsInUseCount(0),
+        fNumValuesTotal(0),
+        fNumValuesInUse(0),
         fMaxUnused(DEFAULT_MAX_UNUSED),
         fMaxPercentageOfInUse(DEFAULT_PERCENTAGE_OF_IN_USE),
-        fAutoEvictedCount(0) {
+        fAutoEvictedCount(0),
+        fNoValue(nullptr) {
     if (U_FAILURE(status)) {
         return;
     }
-    U_ASSERT(gNoValue != NULL);
+    fNoValue = new SharedObject();
+    if (fNoValue == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+        return;
+    }
+    fNoValue->softRefCount = 1;  // Add fake references to prevent fNoValue from being deleted
+    fNoValue->hardRefCount = 1;  // when other references to it are removed.
+    fNoValue->cachePtr = this;
+
     fHashtable = uhash_open(
             &ucache_hashKeys,
             &ucache_compareKeys,
@@ -139,7 +139,7 @@ void UnifiedCache::setEvictionPolicy(
 
 int32_t UnifiedCache::unusedCount() const {
     Mutex lock(&gCacheMutex);
-    return uhash_count(fHashtable) - fItemsInUseCount;
+    return uhash_count(fHashtable) - fNumValuesInUse;
 }
 
 int64_t UnifiedCache::autoEvictedCount() const {
@@ -161,6 +161,12 @@ void UnifiedCache::flush() const {
     while (_flush(FALSE));
 }
 
+void UnifiedCache::handleUnreferencedObject() const {
+    Mutex lock(&gCacheMutex);
+    --fNumValuesInUse;
+    _runEvictionSlice();
+}
+
 #ifdef UNIFIED_CACHE_DEBUG
 #include <stdio.h>
 
@@ -196,10 +202,10 @@ void UnifiedCache::_dumpContents() const {
             ++cnt;
             fprintf(
                     stderr,
-                    "Unified Cache: Key '%s', error %d, value %p, total refcount %d, soft refcount %d\n", 
+                    "Unified Cache: Key '%s', error %d, value %p, total refcount %d, soft refcount %d\n",
                     key->writeDescription(buffer, 256),
                     key->creationStatus,
-                    sharedObject == gNoValue ? NULL :sharedObject,
+                    sharedObject == fNoValue ? NULL :sharedObject,
                     sharedObject->getRefCount(),
                     sharedObject->getSoftRefCount());
         }
@@ -213,16 +219,17 @@ UnifiedCache::~UnifiedCache() {
     flush();
     {
         // Now all that should be left in the cache are entries that refer to
-        // each other and entries with hard references from outside the cache. 
+        // each other and entries with hard references from outside the cache.
         // Nothing we can do about these so proceed to wipe out the cache.
         Mutex lock(&gCacheMutex);
         _flush(TRUE);
     }
     uhash_close(fHashtable);
+    fHashtable = nullptr;
+    delete fNoValue;
+    fNoValue = nullptr;
 }
 
-// Returns the next element in the cache round robin style.
-// On entry, gCacheMutex must be held.
 const UHashElement *
 UnifiedCache::_nextElement() const {
     const UHashElement *element = uhash_nextElement(fHashtable, &fEvictPos);
@@ -233,46 +240,36 @@ UnifiedCache::_nextElement() const {
     return element;
 }
 
-// Flushes the contents of the cache. If cache values hold references to other
-// cache values then _flush should be called in a loop until it returns FALSE.
-// On entry, gCacheMutex must be held.
-// On exit, those values with are evictable are flushed. If all is true
-// then every value is flushed even if it is not evictable.
-// Returns TRUE if any value in cache was flushed or FALSE otherwise.
 UBool UnifiedCache::_flush(UBool all) const {
     UBool result = FALSE;
     int32_t origSize = uhash_count(fHashtable);
     for (int32_t i = 0; i < origSize; ++i) {
         const UHashElement *element = _nextElement();
+        if (element == nullptr) {
+            break;
+        }
         if (all || _isEvictable(element)) {
             const SharedObject *sharedObject =
                     (const SharedObject *) element->value.pointer;
+            U_ASSERT(sharedObject->cachePtr = this);
             uhash_removeElement(fHashtable, element);
-            sharedObject->removeSoftRef();
+            removeSoftRef(sharedObject);    // Deletes the sharedObject when softRefCount goes to zero.
             result = TRUE;
         }
     }
     return result;
 }
 
-// Computes how many items should be evicted.
-// On entry, gCacheMutex must be held.
-// Returns number of items that should be evicted or a value <= 0 if no
-// items need to be evicted.
 int32_t UnifiedCache::_computeCountOfItemsToEvict() const {
-    int32_t maxPercentageOfInUseCount =
-            fItemsInUseCount * fMaxPercentageOfInUse / 100;
-    int32_t maxUnusedCount = fMaxUnused;
-    if (maxUnusedCount < maxPercentageOfInUseCount) {
-        maxUnusedCount = maxPercentageOfInUseCount;
-    }
-    return uhash_count(fHashtable) - fItemsInUseCount - maxUnusedCount;
+    int32_t totalItems = uhash_count(fHashtable);
+    int32_t evictableItems = totalItems - fNumValuesInUse;
+
+    int32_t unusedLimitByPercentage = fNumValuesInUse * fMaxPercentageOfInUse / 100;
+    int32_t unusedLimit = std::max(unusedLimitByPercentage, fMaxUnused);
+    int32_t countOfItemsToEvict = std::max(0, evictableItems - unusedLimit);
+    return countOfItemsToEvict;
 }
 
-// Run an eviction slice.
-// On entry, gCacheMutex must be held.
-// _runEvictionSlice runs a slice of the evict pipeline by examining the next
-// 10 entries in the cache round robin style evicting them if they are eligible.
 void UnifiedCache::_runEvictionSlice() const {
     int32_t maxItemsToEvict = _computeCountOfItemsToEvict();
     if (maxItemsToEvict <= 0) {
@@ -280,11 +277,14 @@ void UnifiedCache::_runEvictionSlice() const {
     }
     for (int32_t i = 0; i < MAX_EVICT_ITERATIONS; ++i) {
         const UHashElement *element = _nextElement();
+        if (element == nullptr) {
+            break;
+        }
         if (_isEvictable(element)) {
             const SharedObject *sharedObject =
                     (const SharedObject *) element->value.pointer;
             uhash_removeElement(fHashtable, element);
-            sharedObject->removeSoftRef();
+            removeSoftRef(sharedObject);   // Deletes sharedObject when SoftRefCount goes to zero.
             ++fAutoEvictedCount;
             if (--maxItemsToEvict == 0) {
                 break;
@@ -293,13 +293,8 @@ void UnifiedCache::_runEvictionSlice() const {
     }
 }
 
-
-// Places a new value and creationStatus in the cache for the given key.
-// On entry, gCacheMutex must be held. key must not exist in the cache. 
-// On exit, value and creation status placed under key. Soft reference added
-// to value on successful add. On error sets status.
 void UnifiedCache::_putNew(
-        const CacheKeyBase &key, 
+        const CacheKeyBase &key,
         const SharedObject *value,
         const UErrorCode creationStatus,
         UErrorCode &status) const {
@@ -312,24 +307,17 @@ void UnifiedCache::_putNew(
         return;
     }
     keyToAdopt->fCreationStatus = creationStatus;
-    if (value->noSoftReferences()) {
+    if (value->softRefCount == 0) {
         _registerMaster(keyToAdopt, value);
     }
-    uhash_put(fHashtable, keyToAdopt, (void *) value, &status);
+    void *oldValue = uhash_put(fHashtable, keyToAdopt, (void *) value, &status);
+    U_ASSERT(oldValue == nullptr);
+    (void)oldValue;
     if (U_SUCCESS(status)) {
-        value->addSoftRef();
+        value->softRefCount++;
     }
 }
 
-// Places value and status at key if there is no value at key or if cache
-// entry for key is in progress. Otherwise, it leaves the current value and
-// status there.
-// On entry. gCacheMutex must not be held. value must be
-// included in the reference count of the object to which it points.
-// On exit, value and status are changed to what was already in the cache if
-// something was there and not in progress. Otherwise, value and status are left
-// unchanged in which case they are placed in the cache on a best-effort basis.
-// Caller must call removeRef() on value.
 void UnifiedCache::_putIfAbsentAndGet(
         const CacheKeyBase &key,
         const SharedObject *&value,
@@ -352,15 +340,7 @@ void UnifiedCache::_putIfAbsentAndGet(
     _runEvictionSlice();
 }
 
-// Attempts to fetch value and status for key from cache.
-// On entry, gCacheMutex must not be held value must be NULL and status must
-// be U_ZERO_ERROR.
-// On exit, either returns FALSE (In this
-// case caller should try to create the object) or returns TRUE with value
-// pointing to the fetched value and status set to fetched status. When
-// FALSE is returned status may be set to failure if an in progress hash
-// entry could not be made but value will remain unchanged. When TRUE is
-// returned, caler must call removeRef() on value.
+
 UBool UnifiedCache::_poll(
         const CacheKeyBase &key,
         const SharedObject *&value,
@@ -369,27 +349,29 @@ UBool UnifiedCache::_poll(
     U_ASSERT(status == U_ZERO_ERROR);
     Mutex lock(&gCacheMutex);
     const UHashElement *element = uhash_find(fHashtable, &key);
-    while (element != NULL && _inProgress(element)) {
+
+    // If the hash table contains an inProgress placeholder entry for this key,
+    // this means that another thread is currently constructing the value object.
+    // Loop, waiting for that construction to complete.
+     while (element != NULL && _inProgress(element)) {
         umtx_condWait(&gInProgressValueAddedCond, &gCacheMutex);
         element = uhash_find(fHashtable, &key);
     }
+
+    // If the hash table contains an entry for the key,
+    // fetch out the contents and return them.
     if (element != NULL) {
-        _fetch(element, value, status);
+         _fetch(element, value, status);
         return TRUE;
     }
-    _putNew(key, gNoValue, U_ZERO_ERROR, status);
+
+    // The hash table contained nothing for this key.
+    // Insert an inProgress place holder value.
+    // Our caller will create the final value and update the hash table.
+    _putNew(key, fNoValue, U_ZERO_ERROR, status);
     return FALSE;
 }
 
-// Gets value out of cache.
-// On entry. gCacheMutex must not be held. value must be NULL. status
-// must be U_ZERO_ERROR.
-// On exit. value and status set to what is in cache at key or on cache
-// miss the key's createObject() is called and value and status are set to
-// the result of that. In this latter case, best effort is made to add the
-// value and status to the cache. If createObject() fails to create a value,
-// gNoValue is stored in cache, and value is set to NULL. Caller must call
-// removeRef on value if non NULL.
 void UnifiedCache::_get(
         const CacheKeyBase &key,
         const SharedObject *&value,
@@ -398,7 +380,7 @@ void UnifiedCache::_get(
     U_ASSERT(value == NULL);
     U_ASSERT(status == U_ZERO_ERROR);
     if (_poll(key, value, status)) {
-        if (value == gNoValue) {
+        if (value == fNoValue) {
             SharedObject::clearPtr(value);
         }
         return;
@@ -410,134 +392,76 @@ void UnifiedCache::_get(
     U_ASSERT(value == NULL || value->hasHardReferences());
     U_ASSERT(value != NULL || status != U_ZERO_ERROR);
     if (value == NULL) {
-        SharedObject::copyPtr(gNoValue, value);
+        SharedObject::copyPtr(fNoValue, value);
     }
     _putIfAbsentAndGet(key, value, status);
-    if (value == gNoValue) {
+    if (value == fNoValue) {
         SharedObject::clearPtr(value);
     }
 }
 
-void UnifiedCache::decrementItemsInUseWithLockingAndEviction() const {
-    Mutex mutex(&gCacheMutex);
-    decrementItemsInUse();
-    _runEvictionSlice();
-}
-
-void UnifiedCache::incrementItemsInUse() const {
-    ++fItemsInUseCount;
-}
-
-void UnifiedCache::decrementItemsInUse() const {
-    --fItemsInUseCount;
+void UnifiedCache::_registerMaster(
+            const CacheKeyBase *theKey, const SharedObject *value) const {
+    theKey->fIsMaster = true;
+    value->cachePtr = this;
+    ++fNumValuesTotal;
+    ++fNumValuesInUse;
 }
 
-// Register a master cache entry.
-// On entry, gCacheMutex must be held.
-// On exit, items in use count incremented, entry is marked as a master
-// entry, and value registered with cache so that subsequent calls to
-// addRef() and removeRef() on it correctly updates items in use count
-void UnifiedCache::_registerMaster(
-        const CacheKeyBase *theKey, const SharedObject *value) const {
-    theKey->fIsMaster = TRUE;
-    ++fItemsInUseCount;
-    value->registerWithCache(this);
-}
-
-// Store a value and error in given hash entry.
-// On entry, gCacheMutex must be held. Hash entry element must be in progress.
-// value must be non NULL.
-// On Exit, soft reference added to value. value and status stored in hash
-// entry. Soft reference removed from previous stored value. Waiting
-// threads notified.
 void UnifiedCache::_put(
-        const UHashElement *element, 
+        const UHashElement *element,
         const SharedObject *value,
         const UErrorCode status) const {
     U_ASSERT(_inProgress(element));
     const CacheKeyBase *theKey = (const CacheKeyBase *) element->key.pointer;
     const SharedObject *oldValue = (const SharedObject *) element->value.pointer;
     theKey->fCreationStatus = status;
-    if (value->noSoftReferences()) {
+    if (value->softRefCount == 0) {
         _registerMaster(theKey, value);
     }
-    value->addSoftRef();
+    value->softRefCount++;
     UHashElement *ptr = const_cast<UHashElement *>(element);
     ptr->value.pointer = (void *) value;
-    oldValue->removeSoftRef();
+    U_ASSERT(oldValue == fNoValue);
+    removeSoftRef(oldValue);
 
     // Tell waiting threads that we replace in-progress status with
     // an error.
     umtx_condBroadcast(&gInProgressValueAddedCond);
 }
 
-void
-UnifiedCache::copyPtr(const SharedObject *src, const SharedObject *&dest) {
-    if(src != dest) {
-        if(dest != NULL) {
-            dest->removeRefWhileHoldingCacheLock();
-        }
-        dest = src;
-        if(src != NULL) {
-            src->addRefWhileHoldingCacheLock();
-        }
-    }
-}
-
-void
-UnifiedCache::clearPtr(const SharedObject *&ptr) {
-    if (ptr != NULL) {
-        ptr->removeRefWhileHoldingCacheLock();
-        ptr = NULL;
-    }
-}
-
-
-// Fetch value and error code from a particular hash entry.
-// On entry, gCacheMutex must be held. value must be either NULL or must be
-// included in the ref count of the object to which it points.
-// On exit, value and status set to what is in the hash entry. Caller must
-// eventually call removeRef on value.
-// If hash entry is in progress, value will be set to gNoValue and status will
-// be set to U_ZERO_ERROR.
 void UnifiedCache::_fetch(
         const UHashElement *element,
         const SharedObject *&value,
-        UErrorCode &status) {
+        UErrorCode &status) const {
     const CacheKeyBase *theKey = (const CacheKeyBase *) element->key.pointer;
     status = theKey->fCreationStatus;
 
-    // Since we have the cache lock, calling regular SharedObject methods
+    // Since we have the cache lock, calling regular SharedObject add/removeRef
     // could cause us to deadlock on ourselves since they may need to lock
     // the cache mutex.
-    UnifiedCache::copyPtr((const SharedObject *) element->value.pointer, value);
+    removeHardRef(value);
+    value = static_cast<const SharedObject *>(element->value.pointer);
+    addHardRef(value);
 }
 
-// Determine if given hash entry is in progress.
-// On entry, gCacheMutex must be held.
-UBool UnifiedCache::_inProgress(const UHashElement *element) {
-    const SharedObject *value = NULL;
+
+UBool UnifiedCache::_inProgress(const UHashElement* element) const {
     UErrorCode status = U_ZERO_ERROR;
+    const SharedObject * value = NULL;
     _fetch(element, value, status);
     UBool result = _inProgress(value, status);
-
-    // Since we have the cache lock, calling regular SharedObject methods
-    // could cause us to deadlock on ourselves since they may need to lock
-    // the cache mutex.
-    UnifiedCache::clearPtr(value);
+    removeHardRef(value);
     return result;
 }
 
-// Determine if given hash entry is in progress.
-// On entry, gCacheMutex must be held.
 UBool UnifiedCache::_inProgress(
-        const SharedObject *theValue, UErrorCode creationStatus) {
-    return (theValue == gNoValue && creationStatus == U_ZERO_ERROR);
+        const SharedObject* theValue, UErrorCode creationStatus) const {
+    return (theValue == fNoValue && creationStatus == U_ZERO_ERROR);
 }
 
-// Determine if given hash entry is eligible for eviction.
-// On entry, gCacheMutex must be held.
-UBool UnifiedCache::_isEvictable(const UHashElement *element) {
+UBool UnifiedCache::_isEvictable(const UHashElement *element) const
+{
     const CacheKeyBase *theKey = (const CacheKeyBase *) element->key.pointer;
     const SharedObject *theValue =
             (const SharedObject *) element->value.pointer;
@@ -549,7 +473,47 @@ UBool UnifiedCache::_isEvictable(const UHashElement *element) {
 
     // We can evict entries that are either not a master or have just
     // one reference (The one reference being from the cache itself).
-    return (!theKey->fIsMaster || (theValue->getSoftRefCount() == 1 && theValue->noHardReferences()));
+    return (!theKey->fIsMaster || (theValue->softRefCount == 1 && theValue->noHardReferences()));
+}
+
+void UnifiedCache::removeSoftRef(const SharedObject *value) const {
+    U_ASSERT(value->cachePtr == this);
+    U_ASSERT(value->softRefCount > 0);
+    if (--value->softRefCount == 0) {
+        --fNumValuesTotal;
+        if (value->noHardReferences()) {
+            delete value;
+        } else {
+            // This path only happens from flush(all). Which only happens from the
+            // UnifiedCache destructor.  Nulling out value.cacheptr changes the behavior
+            // of value.removeRef(), causing the deletion to be done there.
+            value->cachePtr = nullptr;
+        }
+    }
+}
+
+int32_t UnifiedCache::removeHardRef(const SharedObject *value) const {
+    int refCount = 0;
+    if (value) {
+        refCount = umtx_atomic_dec(&value->hardRefCount);
+        U_ASSERT(refCount >= 0);
+        if (refCount == 0) {
+            --fNumValuesInUse;
+        }
+    }
+    return refCount;
+}
+
+int32_t UnifiedCache::addHardRef(const SharedObject *value) const {
+    int refCount = 0;
+    if (value) {
+        refCount = umtx_atomic_inc(&value->hardRefCount);
+        U_ASSERT(refCount >= 1);
+        if (refCount == 1) {
+            fNumValuesInUse++;
+        }
+    }
+    return refCount;
 }
 
 U_NAMESPACE_END
index 957c0db..4c9992b 100644 (file)
@@ -190,7 +190,7 @@ class U_COMMON_API UnifiedCache : public UnifiedCacheBase {
    UnifiedCache(UErrorCode &status);
 
    /**
-    * Returns the cache instance.
+    * Return a pointer to the global cache instance.
     */
    static UnifiedCache *getInstance(UErrorCode &status);
 
@@ -294,7 +294,7 @@ class U_COMMON_API UnifiedCache : public UnifiedCacheBase {
 
    /**
     * Configures at what point evcition of unused entries will begin.
-    * Eviction is triggered whenever the number of unused entries exeeds
+    * Eviction is triggered whenever the number of evictable keys exeeds
     * BOTH count AND (number of in-use items) * (percentageOfInUseItems / 100).
     * Once the number of unused entries drops below one of these,
     * eviction ceases. Because eviction happens incrementally,
@@ -341,60 +341,214 @@ class U_COMMON_API UnifiedCache : public UnifiedCacheBase {
     */
    int32_t unusedCount() const;
 
-   virtual void incrementItemsInUse() const;
-   virtual void decrementItemsInUseWithLockingAndEviction() const;
-   virtual void decrementItemsInUse() const;
+   virtual void handleUnreferencedObject() const;
    virtual ~UnifiedCache();
+   
  private:
    UHashtable *fHashtable;
    mutable int32_t fEvictPos;
-   mutable int32_t fItemsInUseCount;
+   mutable int32_t fNumValuesTotal;
+   mutable int32_t fNumValuesInUse;
    int32_t fMaxUnused;
    int32_t fMaxPercentageOfInUse;
    mutable int64_t fAutoEvictedCount;
+   SharedObject *fNoValue;
+   
    UnifiedCache(const UnifiedCache &other);
    UnifiedCache &operator=(const UnifiedCache &other);
+   
+   /**
+    * Flushes the contents of the cache. If cache values hold references to other
+    * cache values then _flush should be called in a loop until it returns FALSE.
+    * 
+    * On entry, gCacheMutex must be held.
+    * On exit, those values with are evictable are flushed.
+    * 
+    *  @param all if false flush evictable items only, which are those with no external
+    *                    references, plus those that can be safely recreated.<br>
+    *            if true, flush all elements. Any values (sharedObjects) with remaining
+    *                     hard (external) references are not deleted, but are detached from
+    *                     the cache, so that a subsequent removeRefs can delete them.
+    *                     _flush is not thread safe when all is true.
+    *   @return TRUE if any value in cache was flushed or FALSE otherwise.
+    */
    UBool _flush(UBool all) const;
+   
+   /**
+    * Gets value out of cache.
+    * On entry. gCacheMutex must not be held. value must be NULL. status
+    * must be U_ZERO_ERROR.
+    * On exit. value and status set to what is in cache at key or on cache
+    * miss the key's createObject() is called and value and status are set to
+    * the result of that. In this latter case, best effort is made to add the
+    * value and status to the cache. If createObject() fails to create a value,
+    * fNoValue is stored in cache, and value is set to NULL. Caller must call
+    * removeRef on value if non NULL.
+    */
    void _get(
            const CacheKeyBase &key,
            const SharedObject *&value,
            const void *creationContext,
            UErrorCode &status) const;
-   UBool _poll(
-           const CacheKeyBase &key,
-           const SharedObject *&value,
-           UErrorCode &status) const;
-   void _putNew(
-           const CacheKeyBase &key,
-           const SharedObject *value,
-           const UErrorCode creationStatus,
-           UErrorCode &status) const;
+
+    /**
+     * Attempts to fetch value and status for key from cache.
+     * On entry, gCacheMutex must not be held value must be NULL and status must
+     * be U_ZERO_ERROR.
+     * On exit, either returns FALSE (In this
+     * case caller should try to create the object) or returns TRUE with value
+     * pointing to the fetched value and status set to fetched status. When
+     * FALSE is returned status may be set to failure if an in progress hash
+     * entry could not be made but value will remain unchanged. When TRUE is
+     * returned, caller must call removeRef() on value.
+     */
+    UBool _poll(
+            const CacheKeyBase &key,
+            const SharedObject *&value,
+            UErrorCode &status) const;
+    
+    /**
+     * Places a new value and creationStatus in the cache for the given key.
+     * On entry, gCacheMutex must be held. key must not exist in the cache. 
+     * On exit, value and creation status placed under key. Soft reference added
+     * to value on successful add. On error sets status.
+     */
+    void _putNew(
+        const CacheKeyBase &key,
+        const SharedObject *value,
+        const UErrorCode creationStatus,
+        UErrorCode &status) const;
+           
+    /**
+     * Places value and status at key if there is no value at key or if cache
+     * entry for key is in progress. Otherwise, it leaves the current value and
+     * status there.
+     * 
+     * On entry. gCacheMutex must not be held. Value must be
+     * included in the reference count of the object to which it points.
+     * 
+     * On exit, value and status are changed to what was already in the cache if
+     * something was there and not in progress. Otherwise, value and status are left
+     * unchanged in which case they are placed in the cache on a best-effort basis.
+     * Caller must call removeRef() on value.
+     */
    void _putIfAbsentAndGet(
            const CacheKeyBase &key,
            const SharedObject *&value,
            UErrorCode &status) const;
-   const UHashElement *_nextElement() const;
+
+    /**
+     * Returns the next element in the cache round robin style.
+     * Returns nullptr if the cache is empty.
+     * On entry, gCacheMutex must be held.
+     */
+    const UHashElement *_nextElement() const;
+   
+   /**
+    * Return the number of cache items that would need to be evicted
+    * to bring usage into conformance with eviction policy.
+    * 
+    * An item corresponds to an entry in the hash table, a hash table element.
+    * 
+    * On entry, gCacheMutex must be held.
+    */
    int32_t _computeCountOfItemsToEvict() const;
+   
+   /**
+    * Run an eviction slice.
+    * On entry, gCacheMutex must be held.
+    * _runEvictionSlice runs a slice of the evict pipeline by examining the next
+    * 10 entries in the cache round robin style evicting them if they are eligible.
+    */
    void _runEvictionSlice() const;
-   void _registerMaster( 
-        const CacheKeyBase *theKey, const SharedObject *value) const;
+   /**
+    * Register a master cache entry. A master key is the first key to create
+    * a given  SharedObject value. Subsequent keys whose create function
+    * produce referneces to an already existing SharedObject are not masters -
+    * they can be evicted and subsequently recreated.
+    * 
+    * On entry, gCacheMutex must be held.
+    * On exit, items in use count incremented, entry is marked as a master
+    * entry, and value registered with cache so that subsequent calls to
+    * addRef() and removeRef() on it correctly interact with the cache.
+    */
+   void _registerMaster(const CacheKeyBase *theKey, const SharedObject *value) const;
+        
+   /**
+    * Store a value and creation error status in given hash entry.
+    * On entry, gCacheMutex must be held. Hash entry element must be in progress.
+    * value must be non NULL.
+    * On Exit, soft reference added to value. value and status stored in hash
+    * entry. Soft reference removed from previous stored value. Waiting
+    * threads notified.
+    */
    void _put(
            const UHashElement *element,
            const SharedObject *value,
            const UErrorCode status) const;
+    /**
+     * Remove a soft reference, and delete the SharedObject if no references remain.
+     * To be used from within the UnifiedCache implementation only.
+     * gCacheMutex must be held by caller.
+     * @param value the SharedObject to be acted on.
+     */
+   void removeSoftRef(const SharedObject *value) const;
+   
+   /**
+    * Increment the hard reference count of the given SharedObject.
+    * gCacheMutex must be held by the caller.
+    * Update numValuesEvictable on transitions between zero and one reference.
+    * 
+    * @param value The SharedObject to be referenced.
+    * @return the hard reference count after the addition.
+    */
+   int32_t addHardRef(const SharedObject *value) const;
+   
+  /**
+    * Decrement the hard reference count of the given SharedObject.
+    * gCacheMutex must be held by the caller.
+    * Update numValuesEvictable on transitions between one and zero reference.
+    * 
+    * @param value The SharedObject to be referenced.
+    * @return the hard reference count after the removal.
+    */
+   int32_t removeHardRef(const SharedObject *value) const;
+
+   
 #ifdef UNIFIED_CACHE_DEBUG
    void _dumpContents() const;
 #endif
-   static void copyPtr(const SharedObject *src, const SharedObject *&dest);
-   static void clearPtr(const SharedObject *&ptr);
-   static void _fetch(
-           const UHashElement *element,
-           const SharedObject *&value,
-           UErrorCode &status);
-   static UBool _inProgress(const UHashElement *element);
-   static UBool _inProgress(
-           const SharedObject *theValue, UErrorCode creationStatus);
-   static UBool _isEvictable(const UHashElement *element);
+   
+   /**
+    *  Fetch value and error code from a particular hash entry.
+    *  On entry, gCacheMutex must be held. value must be either NULL or must be
+    *  included in the ref count of the object to which it points.
+    *  On exit, value and status set to what is in the hash entry. Caller must
+    *  eventually call removeRef on value.
+    *  If hash entry is in progress, value will be set to gNoValue and status will
+    *  be set to U_ZERO_ERROR.
+    */
+   void _fetch(const UHashElement *element, const SharedObject *&value,
+                       UErrorCode &status) const;
+                       
+    /**
+     * Determine if given hash entry is in progress.
+     * On entry, gCacheMutex must be held.
+     */
+   UBool _inProgress(const UHashElement *element) const;
+   
+   /**
+    * Determine if given hash entry is in progress.
+    * On entry, gCacheMutex must be held.
+    */
+   UBool _inProgress(const SharedObject *theValue, UErrorCode creationStatus) const;
+   
+   /**
+    * Determine if given hash entry is eligible for eviction.
+    * On entry, gCacheMutex must be held.
+    */
+   UBool _isEvictable(const UHashElement *element) const;
 };
 
 U_NAMESPACE_END
index 44bb4bc..0b7da79 100644 (file)
@@ -129,7 +129,7 @@ UnicodeSet& UnicodeSet::applyPattern(const UnicodeString& pattern,
     // _applyPattern calls add() etc., which set pat to empty.
     UnicodeString rebuiltPat;
     RuleCharacterIterator chars(pattern, symbols, pos);
-    applyPattern(chars, symbols, rebuiltPat, options, &UnicodeSet::closeOver, status);
+    applyPattern(chars, symbols, rebuiltPat, options, &UnicodeSet::closeOver, 0, status);
     if (U_FAILURE(status)) return *this;
     if (chars.inVariable()) {
         // syntaxError(chars, "Extra chars in variable value");
index 1c28a2d..6ae6e71 100644 (file)
@@ -231,7 +231,7 @@ void U_CALLCONV UnicodeSet_initInclusion(int32_t src, UErrorCode &status) {
         ucase_addPropertyStarts(&sa, &status);
         break;
     case UPROPS_SRC_BIDI:
-        ubidi_addPropertyStarts(ubidi_getSingleton(), &sa, &status);
+        ubidi_addPropertyStarts(&sa, &status);
         break;
     default:
         status = U_INTERNAL_PROGRAM_ERROR;
@@ -257,6 +257,7 @@ const UnicodeSet* UnicodeSet::getInclusions(int32_t src, UErrorCode &status) {
     return i.fSet;
 }
 
+namespace {
 
 // Cache some sets for other services -------------------------------------- ***
 void U_CALLCONV createUni32Set(UErrorCode &errorCode) {
@@ -315,6 +316,8 @@ isPOSIXClose(const UnicodeString &pattern, int32_t pos) {
 // memory leak checker tools
 #define _dbgct(me)
 
+}  // namespace
+
 //----------------------------------------------------------------
 // Constructors &c
 //----------------------------------------------------------------
@@ -382,7 +385,7 @@ UnicodeSet::applyPatternIgnoreSpace(const UnicodeString& pattern,
     // _applyPattern calls add() etc., which set pat to empty.
     UnicodeString rebuiltPat;
     RuleCharacterIterator chars(pattern, symbols, pos);
-    applyPattern(chars, symbols, rebuiltPat, USET_IGNORE_SPACE, NULL, status);
+    applyPattern(chars, symbols, rebuiltPat, USET_IGNORE_SPACE, NULL, 0, status);
     if (U_FAILURE(status)) return;
     if (chars.inVariable()) {
         // syntaxError(chars, "Extra chars in variable value");
@@ -406,6 +409,8 @@ UBool UnicodeSet::resemblesPattern(const UnicodeString& pattern, int32_t pos) {
 // Implementation: Pattern parsing
 //----------------------------------------------------------------
 
+namespace {
+
 /**
  * A small all-inline class to manage a UnicodeSet pointer.  Add
  * operator->() etc. as needed.
@@ -424,6 +429,10 @@ public:
     }
 };
 
+constexpr int32_t MAX_DEPTH = 100;
+
+}  // namespace
+
 /**
  * Parse the pattern from the given RuleCharacterIterator.  The
  * iterator is advanced over the parsed pattern.
@@ -443,8 +452,13 @@ void UnicodeSet::applyPattern(RuleCharacterIterator& chars,
                               UnicodeString& rebuiltPat,
                               uint32_t options,
                               UnicodeSet& (UnicodeSet::*caseClosure)(int32_t attribute),
+                              int32_t depth,
                               UErrorCode& ec) {
     if (U_FAILURE(ec)) return;
+    if (depth > MAX_DEPTH) {
+        ec = U_ILLEGAL_ARGUMENT_ERROR;
+        return;
+    }
 
     // Syntax characters: [ ] ^ - & { }
 
@@ -579,7 +593,7 @@ void UnicodeSet::applyPattern(RuleCharacterIterator& chars,
             }
             switch (setMode) {
             case 1:
-                nested->applyPattern(chars, symbols, patLocal, options, caseClosure, ec);
+                nested->applyPattern(chars, symbols, patLocal, options, caseClosure, depth + 1, ec);
                 break;
             case 2:
                 chars.skipIgnored(opts);
@@ -837,6 +851,8 @@ void UnicodeSet::applyPattern(RuleCharacterIterator& chars,
 // Property set implementation
 //----------------------------------------------------------------
 
+namespace {
+
 static UBool numericValueFilter(UChar32 ch, void* context) {
     return u_getNumericValue(ch) == *(double*)context;
 }
@@ -868,6 +884,8 @@ static UBool scriptExtensionsFilter(UChar32 ch, void* context) {
     return uscript_hasScript(ch, *(UScriptCode*)context);
 }
 
+}  // namespace
+
 /**
  * Generic filter-based scanning code for UCD property UnicodeSets.
  */
@@ -924,6 +942,8 @@ void UnicodeSet::applyFilter(UnicodeSet::Filter filter,
     }
 }
 
+namespace {
+
 static UBool mungeCharName(char* dst, const char* src, int32_t dstCapacity) {
     /* Note: we use ' ' in compiler code page */
     int32_t j = 0;
@@ -941,6 +961,8 @@ static UBool mungeCharName(char* dst, const char* src, int32_t dstCapacity) {
     return TRUE;
 }
 
+}  // namespace
+
 //----------------------------------------------------------------
 // Property set API
 //----------------------------------------------------------------
index ace3c4d..b76896d 100644 (file)
@@ -38,8 +38,6 @@
 
 U_NAMESPACE_USE
 
-#define GET_BIDI_PROPS() ubidi_getSingleton()
-
 /* general properties API functions ----------------------------------------- */
 
 struct BinaryProperty;
@@ -62,15 +60,15 @@ static UBool caseBinaryPropertyContains(const BinaryProperty &/*prop*/, UChar32
 }
 
 static UBool isBidiControl(const BinaryProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return ubidi_isBidiControl(GET_BIDI_PROPS(), c);
+    return ubidi_isBidiControl(c);
 }
 
 static UBool isMirrored(const BinaryProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return ubidi_isMirrored(GET_BIDI_PROPS(), c);
+    return ubidi_isMirrored(c);
 }
 
 static UBool isJoinControl(const BinaryProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return ubidi_isJoinControl(GET_BIDI_PROPS(), c);
+    return ubidi_isJoinControl(c);
 }
 
 #if UCONFIG_NO_NORMALIZATION
@@ -329,11 +327,11 @@ static int32_t getBiDiClass(const IntProperty &/*prop*/, UChar32 c, UProperty /*
 }
 
 static int32_t getBiDiPairedBracketType(const IntProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return (int32_t)ubidi_getPairedBracketType(GET_BIDI_PROPS(), c);
+    return (int32_t)ubidi_getPairedBracketType(c);
 }
 
 static int32_t biDiGetMaxValue(const IntProperty &/*prop*/, UProperty which) {
-    return ubidi_getMaxValue(GET_BIDI_PROPS(), which);
+    return ubidi_getMaxValue(which);
 }
 
 #if UCONFIG_NO_NORMALIZATION
@@ -351,11 +349,11 @@ static int32_t getGeneralCategory(const IntProperty &/*prop*/, UChar32 c, UPrope
 }
 
 static int32_t getJoiningGroup(const IntProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return ubidi_getJoiningGroup(GET_BIDI_PROPS(), c);
+    return ubidi_getJoiningGroup(c);
 }
 
 static int32_t getJoiningType(const IntProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
-    return ubidi_getJoiningType(GET_BIDI_PROPS(), c);
+    return ubidi_getJoiningType(c);
 }
 
 static int32_t getNumericType(const IntProperty &/*prop*/, UChar32 c, UProperty /*which*/) {
index 90f339b..a640ae2 100644 (file)
@@ -342,18 +342,16 @@ static void
 _shapeToArabicDigitsWithContext(UChar *s, int32_t length,
                                 UChar digitBase,
                                 UBool isLogical, UBool lastStrongWasAL) {
-    const UBiDiProps *bdp;
     int32_t i;
     UChar c;
 
-    bdp=ubidi_getSingleton();
     digitBase-=0x30;
 
     /* the iteration direction depends on the type of input */
     if(isLogical) {
         for(i=0; i<length; ++i) {
             c=s[i];
-            switch(ubidi_getClass(bdp, c)) {
+            switch(ubidi_getClass(c)) {
             case U_LEFT_TO_RIGHT: /* L */
             case U_RIGHT_TO_LEFT: /* R */
                 lastStrongWasAL=FALSE;
@@ -373,7 +371,7 @@ _shapeToArabicDigitsWithContext(UChar *s, int32_t length,
     } else {
         for(i=length; i>0; /* pre-decrement in the body */) {
             c=s[--i];
-            switch(ubidi_getClass(bdp, c)) {
+            switch(ubidi_getClass(c)) {
             case U_LEFT_TO_RIGHT: /* L */
             case U_RIGHT_TO_LEFT: /* R */
                 lastStrongWasAL=FALSE;
index d96e825..cc8069d 100644 (file)
@@ -347,10 +347,6 @@ usprep_getProfile(const char* path,
         newProfile->doNFKC = (UBool)((newProfile->indexes[_SPREP_OPTIONS] & _SPREP_NORMALIZATION_ON) > 0);
         newProfile->checkBiDi = (UBool)((newProfile->indexes[_SPREP_OPTIONS] & _SPREP_CHECK_BIDI_ON) > 0);
 
-        if(newProfile->checkBiDi) {
-            newProfile->bdp = ubidi_getSingleton();
-        }
-
         LocalMemory<UStringPrepKey> key;
         LocalMemory<char> keyName;
         LocalMemory<char> keyPath;
@@ -735,7 +731,7 @@ usprep_prepare(   const UStringPrepProfile* profile,
         }
 
         if(profile->checkBiDi) {
-            direction = ubidi_getClass(profile->bdp, ch);
+            direction = ubidi_getClass(ch);
             if(firstCharDir == U_CHAR_DIRECTION_COUNT){
                 firstCharDir = direction;
             }
index e720549..e9f278e 100644 (file)
@@ -342,7 +342,7 @@ _strFromWCS( UChar   *dest,
         pSrcLimit = src + srcLength;
 
         for(;;){
-            register int32_t nulLen = 0;
+            int32_t nulLen = 0;
 
             /* find nulls in the string */
             while(nulLen<srcLength && pSrc[nulLen++]!=0){
index b1beb34..978bd3b 100644 (file)
@@ -52,16 +52,8 @@ int32_t checkOverflowAndEditsError(int32_t destIndex, int32_t destCapacity,
     return destIndex;
 }
 
-}  // namespace
-
-U_NAMESPACE_END
-
-U_NAMESPACE_USE
-
-/* string casing ------------------------------------------------------------ */
-
 /* Appends a full case mapping result, see UCASE_MAX_STRING_LENGTH. */
-static inline int32_t
+inline int32_t
 appendResult(UChar *dest, int32_t destIndex, int32_t destCapacity,
              int32_t result, const UChar *s,
              int32_t cpLength, uint32_t options, icu::Edits *edits) {
@@ -134,7 +126,7 @@ appendResult(UChar *dest, int32_t destIndex, int32_t destCapacity,
     return destIndex;
 }
 
-static inline int32_t
+inline int32_t
 appendUChar(UChar *dest, int32_t destIndex, int32_t destCapacity, UChar c) {
     if(destIndex<destCapacity) {
         dest[destIndex]=c;
@@ -144,28 +136,34 @@ appendUChar(UChar *dest, int32_t destIndex, int32_t destCapacity, UChar c) {
     return destIndex+1;
 }
 
-static inline int32_t
+int32_t
+appendNonEmptyUnchanged(UChar *dest, int32_t destIndex, int32_t destCapacity,
+                        const UChar *s, int32_t length, uint32_t options, icu::Edits *edits) {
+    if(edits!=NULL) {
+        edits->addUnchanged(length);
+    }
+    if(options & U_OMIT_UNCHANGED_TEXT) {
+        return destIndex;
+    }
+    if(length>(INT32_MAX-destIndex)) {
+        return -1;  // integer overflow
+    }
+    if((destIndex+length)<=destCapacity) {
+        u_memcpy(dest+destIndex, s, length);
+    }
+    return destIndex + length;
+}
+
+inline int32_t
 appendUnchanged(UChar *dest, int32_t destIndex, int32_t destCapacity,
                 const UChar *s, int32_t length, uint32_t options, icu::Edits *edits) {
-    if(length>0) {
-        if(edits!=NULL) {
-            edits->addUnchanged(length);
-        }
-        if(options & U_OMIT_UNCHANGED_TEXT) {
-            return destIndex;
-        }
-        if(length>(INT32_MAX-destIndex)) {
-            return -1;  // integer overflow
-        }
-        if((destIndex+length)<=destCapacity) {
-            u_memcpy(dest+destIndex, s, length);
-        }
-        destIndex+=length;
+    if (length <= 0) {
+        return destIndex;
     }
-    return destIndex;
+    return appendNonEmptyUnchanged(dest, destIndex, destCapacity, s, length, options, edits);
 }
 
-static UChar32 U_CALLCONV
+UChar32 U_CALLCONV
 utf16_caseContextIterator(void *context, int8_t dir) {
     UCaseContext *csc=(UCaseContext *)context;
     UChar32 c;
@@ -197,39 +195,205 @@ utf16_caseContextIterator(void *context, int8_t dir) {
     return U_SENTINEL;
 }
 
-/*
- * Case-maps [srcStart..srcLimit[ but takes
- * context [0..srcLength[ into account.
+/**
+ * caseLocale >= 0: Lowercases [srcStart..srcLimit[ but takes context [0..srcLength[ into account.
+ * caseLocale < 0: Case-folds [srcStart..srcLimit[.
  */
-static int32_t
-_caseMap(int32_t caseLocale, uint32_t options, UCaseMapFull *map,
-         UChar *dest, int32_t destCapacity,
-         const UChar *src, UCaseContext *csc,
-         int32_t srcStart, int32_t srcLimit,
-         icu::Edits *edits,
-         UErrorCode &errorCode) {
-    /* case mapping loop */
-    int32_t srcIndex=srcStart;
-    int32_t destIndex=0;
-    while(srcIndex<srcLimit) {
-        int32_t cpStart;
-        csc->cpStart=cpStart=srcIndex;
+int32_t toLower(int32_t caseLocale, uint32_t options,
+                UChar *dest, int32_t destCapacity,
+                const UChar *src, UCaseContext *csc, int32_t srcStart, int32_t srcLimit,
+                icu::Edits *edits, UErrorCode &errorCode) {
+    const int8_t *latinToLower;
+    if (caseLocale == UCASE_LOC_ROOT ||
+            (caseLocale >= 0 ?
+                !(caseLocale == UCASE_LOC_TURKISH || caseLocale == UCASE_LOC_LITHUANIAN) :
+                (options & _FOLD_CASE_OPTIONS_MASK) == U_FOLD_CASE_DEFAULT)) {
+        latinToLower = LatinCase::TO_LOWER_NORMAL;
+    } else {
+        latinToLower = LatinCase::TO_LOWER_TR_LT;
+    }
+    const UTrie2 *trie = ucase_getTrie();
+    int32_t destIndex = 0;
+    int32_t prev = srcStart;
+    int32_t srcIndex = srcStart;
+    for (;;) {
+        // fast path for simple cases
+        UChar lead;
+        while (srcIndex < srcLimit) {
+            lead = src[srcIndex];
+            int32_t delta;
+            if (lead < LatinCase::LONG_S) {
+                int8_t d = latinToLower[lead];
+                if (d == LatinCase::EXC) { break; }
+                ++srcIndex;
+                if (d == 0) { continue; }
+                delta = d;
+            } else if (lead >= 0xd800) {
+                break;  // surrogate or higher
+            } else {
+                uint16_t props = UTRIE2_GET16_FROM_U16_SINGLE_LEAD(trie, lead);
+                if (UCASE_HAS_EXCEPTION(props)) { break; }
+                ++srcIndex;
+                if (!UCASE_IS_UPPER_OR_TITLE(props) || (delta = UCASE_GET_DELTA(props)) == 0) {
+                    continue;
+                }
+            }
+            lead += delta;
+            destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                        src + prev, srcIndex - 1 - prev, options, edits);
+            if (destIndex >= 0) {
+                destIndex = appendUChar(dest, destIndex, destCapacity, lead);
+                if (edits != nullptr) {
+                    edits->addReplace(1, 1);
+                }
+            }
+            if (destIndex < 0) {
+                errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+                return 0;
+            }
+            prev = srcIndex;
+        }
+        if (srcIndex >= srcLimit) {
+            break;
+        }
+        // slow path
+        int32_t cpStart = srcIndex++;
+        UChar trail;
         UChar32 c;
-        U16_NEXT(src, srcIndex, srcLimit, c);
-        csc->cpLimit=srcIndex;
+        if (U16_IS_LEAD(lead) && srcIndex < srcLimit && U16_IS_TRAIL(trail = src[srcIndex])) {
+            c = U16_GET_SUPPLEMENTARY(lead, trail);
+            ++srcIndex;
+        } else {
+            c = lead;
+        }
         const UChar *s;
-        c=map(c, utf16_caseContextIterator, csc, &s, caseLocale);
-        destIndex = appendResult(dest, destIndex, destCapacity, c, s,
-                                 srcIndex - cpStart, options, edits);
-        if (destIndex < 0) {
-            errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-            return 0;
+        if (caseLocale >= 0) {
+            csc->cpStart = cpStart;
+            csc->cpLimit = srcIndex;
+            c = ucase_toFullLower(c, utf16_caseContextIterator, csc, &s, caseLocale);
+        } else {
+            c = ucase_toFullFolding(c, &s, options);
         }
+        if (c >= 0) {
+            destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                        src + prev, cpStart - prev, options, edits);
+            if (destIndex >= 0) {
+                destIndex = appendResult(dest, destIndex, destCapacity, c, s,
+                                         srcIndex - cpStart, options, edits);
+            }
+            if (destIndex < 0) {
+                errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+                return 0;
+            }
+            prev = srcIndex;
+        }
+    }
+    destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                src + prev, srcIndex - prev, options, edits);
+    if (destIndex < 0) {
+        errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+        return 0;
     }
+    return destIndex;
+}
 
+int32_t toUpper(int32_t caseLocale, uint32_t options,
+                UChar *dest, int32_t destCapacity,
+                const UChar *src, UCaseContext *csc, int32_t srcLength,
+                icu::Edits *edits, UErrorCode &errorCode) {
+    const int8_t *latinToUpper;
+    if (caseLocale == UCASE_LOC_TURKISH) {
+        latinToUpper = LatinCase::TO_UPPER_TR;
+    } else {
+        latinToUpper = LatinCase::TO_UPPER_NORMAL;
+    }
+    const UTrie2 *trie = ucase_getTrie();
+    int32_t destIndex = 0;
+    int32_t prev = 0;
+    int32_t srcIndex = 0;
+    for (;;) {
+        // fast path for simple cases
+        UChar lead;
+        while (srcIndex < srcLength) {
+            lead = src[srcIndex];
+            int32_t delta;
+            if (lead < LatinCase::LONG_S) {
+                int8_t d = latinToUpper[lead];
+                if (d == LatinCase::EXC) { break; }
+                ++srcIndex;
+                if (d == 0) { continue; }
+                delta = d;
+            } else if (lead >= 0xd800) {
+                break;  // surrogate or higher
+            } else {
+                uint16_t props = UTRIE2_GET16_FROM_U16_SINGLE_LEAD(trie, lead);
+                if (UCASE_HAS_EXCEPTION(props)) { break; }
+                ++srcIndex;
+                if (UCASE_GET_TYPE(props) != UCASE_LOWER || (delta = UCASE_GET_DELTA(props)) == 0) {
+                    continue;
+                }
+            }
+            lead += delta;
+            destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                        src + prev, srcIndex - 1 - prev, options, edits);
+            if (destIndex >= 0) {
+                destIndex = appendUChar(dest, destIndex, destCapacity, lead);
+                if (edits != nullptr) {
+                    edits->addReplace(1, 1);
+                }
+            }
+            if (destIndex < 0) {
+                errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+                return 0;
+            }
+            prev = srcIndex;
+        }
+        if (srcIndex >= srcLength) {
+            break;
+        }
+        // slow path
+        int32_t cpStart;
+        csc->cpStart = cpStart = srcIndex++;
+        UChar trail;
+        UChar32 c;
+        if (U16_IS_LEAD(lead) && srcIndex < srcLength && U16_IS_TRAIL(trail = src[srcIndex])) {
+            c = U16_GET_SUPPLEMENTARY(lead, trail);
+            ++srcIndex;
+        } else {
+            c = lead;
+        }
+        csc->cpLimit = srcIndex;
+        const UChar *s;
+        c = ucase_toFullUpper(c, utf16_caseContextIterator, csc, &s, caseLocale);
+        if (c >= 0) {
+            destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                        src + prev, cpStart - prev, options, edits);
+            if (destIndex >= 0) {
+                destIndex = appendResult(dest, destIndex, destCapacity, c, s,
+                                         srcIndex - cpStart, options, edits);
+            }
+            if (destIndex < 0) {
+                errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+                return 0;
+            }
+            prev = srcIndex;
+        }
+    }
+    destIndex = appendUnchanged(dest, destIndex, destCapacity,
+                                src + prev, srcIndex - prev, options, edits);
+    if (destIndex < 0) {
+        errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
+        return 0;
+    }
     return destIndex;
 }
 
+}  // namespace
+
+U_NAMESPACE_END
+
+U_NAMESPACE_USE
+
 #if !UCONFIG_NO_BREAK_ITERATION
 
 U_CFUNC int32_t U_CALLCONV
@@ -344,11 +508,10 @@ ustrcase_internalToTitle(int32_t caseLocale, uint32_t options, BreakIterator *it
                     if((options&U_TITLECASE_NO_LOWERCASE)==0) {
                         /* Normal operation: Lowercase the rest of the word. */
                         destIndex+=
-                            _caseMap(
-                                caseLocale, options, ucase_toFullLower,
+                            toLower(
+                                caseLocale, options,
                                 dest+destIndex, destCapacity-destIndex,
-                                src, &csc,
-                                titleLimit, index,
+                                src, &csc, titleLimit, index,
                                 edits, errorCode);
                         if(errorCode==U_BUFFER_OVERFLOW_ERROR) {
                             errorCode=U_ZERO_ERROR;
@@ -1013,8 +1176,8 @@ ustrcase_internalToLower(int32_t caseLocale, uint32_t options, UCASEMAP_BREAK_IT
     UCaseContext csc=UCASECONTEXT_INITIALIZER;
     csc.p=(void *)src;
     csc.limit=srcLength;
-    int32_t destIndex = _caseMap(
-        caseLocale, options, ucase_toFullLower,
+    int32_t destIndex = toLower(
+        caseLocale, options,
         dest, destCapacity,
         src, &csc, 0, srcLength,
         edits, errorCode);
@@ -1035,10 +1198,10 @@ ustrcase_internalToUpper(int32_t caseLocale, uint32_t options, UCASEMAP_BREAK_IT
         UCaseContext csc=UCASECONTEXT_INITIALIZER;
         csc.p=(void *)src;
         csc.limit=srcLength;
-        destIndex = _caseMap(
-            caseLocale, options, ucase_toFullUpper,
+        destIndex = toUpper(
+            caseLocale, options,
             dest, destCapacity,
-            src, &csc, 0, srcLength,
+            src, &csc, srcLength,
             edits, errorCode);
     }
     return checkOverflowAndEditsError(destIndex, destCapacity, edits, errorCode);
@@ -1050,23 +1213,11 @@ ustrcase_internalFold(int32_t /* caseLocale */, uint32_t options, UCASEMAP_BREAK
                       const UChar *src, int32_t srcLength,
                       icu::Edits *edits,
                       UErrorCode &errorCode) {
-    /* case mapping loop */
-    int32_t srcIndex = 0;
-    int32_t destIndex = 0;
-    while (srcIndex < srcLength) {
-        int32_t cpStart = srcIndex;
-        UChar32 c;
-        U16_NEXT(src, srcIndex, srcLength, c);
-        const UChar *s;
-        c = ucase_toFullFolding(c, &s, options);
-        destIndex = appendResult(dest, destIndex, destCapacity, c, s,
-                                 srcIndex - cpStart, options, edits);
-        if (destIndex < 0) {
-            errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-            return 0;
-        }
-    }
-
+    int32_t destIndex = toLower(
+        -1, options,
+        dest, destCapacity,
+        src, nullptr, 0, srcLength,
+        edits, errorCode);
     return checkOverflowAndEditsError(destIndex, destCapacity, edits, errorCode);
 }
 
index f78c566..9dd241a 100644 (file)
@@ -238,33 +238,45 @@ utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, U
     int32_t i=*pi;
     if(U8_IS_TRAIL(c) && i>start) {
         uint8_t b1=s[--i];
-        if(0xc2<=b1 && b1<0xe0) {
-            *pi=i;
-            return ((b1-0xc0)<<6)|(c&0x3f);
+        if(U8_IS_LEAD(b1)) {
+            if(b1<0xe0) {
+                *pi=i;
+                return ((b1-0xc0)<<6)|(c&0x3f);
+            } else if(b1<0xf0 ? U8_IS_VALID_LEAD3_AND_T1(b1, c) : U8_IS_VALID_LEAD4_AND_T1(b1, c)) {
+                // Truncated 3- or 4-byte sequence.
+                *pi=i;
+                return errorValue(1, strict);
+            }
         } else if(U8_IS_TRAIL(b1) && i>start) {
             // Extract the value bits from the last trail byte.
             c&=0x3f;
             uint8_t b2=s[--i];
-            if(0xe0<=b2 && b2<0xf0) {
-                b2&=0xf;
-                if(strict!=-2) {
-                    if(U8_IS_VALID_LEAD3_AND_T1(b2, b1)) {
-                        *pi=i;
-                        c=(b2<<12)|((b1&0x3f)<<6)|c;
-                        if(strict<=0 || !U_IS_UNICODE_NONCHAR(c)) {
-                            return c;
-                        } else {
-                            // strict: forbid non-characters like U+fffe
-                            return errorValue(2, strict);
+            if(0xe0<=b2 && b2<=0xf4) {
+                if(b2<0xf0) {
+                    b2&=0xf;
+                    if(strict!=-2) {
+                        if(U8_IS_VALID_LEAD3_AND_T1(b2, b1)) {
+                            *pi=i;
+                            c=(b2<<12)|((b1&0x3f)<<6)|c;
+                            if(strict<=0 || !U_IS_UNICODE_NONCHAR(c)) {
+                                return c;
+                            } else {
+                                // strict: forbid non-characters like U+fffe
+                                return errorValue(2, strict);
+                            }
+                        }
+                    } else {
+                        // strict=-2 -> lenient: allow surrogates
+                        b1-=0x80;
+                        if((b2>0 || b1>=0x20)) {
+                            *pi=i;
+                            return (b2<<12)|(b1<<6)|c;
                         }
                     }
-                } else {
-                    // strict=-2 -> lenient: allow surrogates
-                    b1-=0x80;
-                    if((b2>0 || b1>=0x20)) {
-                        *pi=i;
-                        return (b2<<12)|(b1<<6)|c;
-                    }
+                } else if(U8_IS_VALID_LEAD4_AND_T1(b2, b1)) {
+                    // Truncated 4-byte sequence.
+                    *pi=i;
+                    return errorValue(2, strict);
                 }
             } else if(U8_IS_TRAIL(b2) && i>start) {
                 uint8_t b3=s[--i];
@@ -281,16 +293,7 @@ utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, U
                         }
                     }
                 }
-            } else if(0xf0<=b2 && b2<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(b2, b1)) {
-                // Truncated 4-byte sequence.
-                *pi=i;
-                return errorValue(2, strict);
             }
-        } else if((0xe0<=b1 && b1<0xf0 && U8_IS_VALID_LEAD3_AND_T1(b1, c)) ||
-                (0xf0<=b1 && b1<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(b1, c))) {
-            // Truncated 3- or 4-byte sequence.
-            *pi=i;
-            return errorValue(1, strict);
         }
     }
     return errorValue(0, strict);
@@ -303,29 +306,23 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i) {
     uint8_t c=s[i];
     if(U8_IS_TRAIL(c) && i>start) {
         uint8_t b1=s[--i];
-        if(0xc2<=b1 && b1<0xe0) {
-            return i;
+        if(U8_IS_LEAD(b1)) {
+            if(b1<0xe0 ||
+                    (b1<0xf0 ? U8_IS_VALID_LEAD3_AND_T1(b1, c) : U8_IS_VALID_LEAD4_AND_T1(b1, c))) {
+                return i;
+            }
         } else if(U8_IS_TRAIL(b1) && i>start) {
             uint8_t b2=s[--i];
-            if(0xe0<=b2 && b2<0xf0) {
-                if(U8_IS_VALID_LEAD3_AND_T1(b2, b1)) {
+            if(0xe0<=b2 && b2<=0xf4) {
+                if(b2<0xf0 ? U8_IS_VALID_LEAD3_AND_T1(b2, b1) : U8_IS_VALID_LEAD4_AND_T1(b2, b1)) {
                     return i;
                 }
             } else if(U8_IS_TRAIL(b2) && i>start) {
                 uint8_t b3=s[--i];
-                if(0xf0<=b3 && b3<=0xf4) {
-                    if(U8_IS_VALID_LEAD4_AND_T1(b3, b2)) {
-                        return i;
-                    }
+                if(0xf0<=b3 && b3<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(b3, b2)) {
+                    return i;
                 }
-            } else if(0xf0<=b2 && b2<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(b2, b1)) {
-                // Truncated 4-byte sequence.
-                return i;
             }
-        } else if((0xe0<=b1 && b1<0xf0 && U8_IS_VALID_LEAD3_AND_T1(b1, c)) ||
-                (0xf0<=b1 && b1<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(b1, c))) {
-            // Truncated 3- or 4-byte sequence.
-            return i;
         }
     }
     return orig_i;
index 9c5382c..641027a 100644 (file)
@@ -556,7 +556,7 @@ struct UNewTrie {
      * Index values at build-time are 32 bits wide for easier processing.
      * Bit 31 is set if the data block is used by multiple index values (from utrie_setRange()).
      */
-    int32_t index[UTRIE_MAX_INDEX_LENGTH];
+    int32_t index[UTRIE_MAX_INDEX_LENGTH+UTRIE_SURROGATE_BLOCK_COUNT];
     uint32_t *data;
 
     uint32_t leadUnitValue;
index 9b8d3de..5a23572 100644 (file)
@@ -1126,7 +1126,6 @@ isASCIIOkBiDi(const char *s, int32_t length) {
 
 UBool
 UTS46::isLabelOkContextJ(const UChar *label, int32_t labelLength) const {
-    const UBiDiProps *bdp=ubidi_getSingleton();
     // [IDNA2008-Tables]
     // 200C..200D  ; CONTEXTJ    # ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
     for(int32_t i=0; i<labelLength; ++i) {
@@ -1148,7 +1147,7 @@ UTS46::isLabelOkContextJ(const UChar *label, int32_t labelLength) const {
             }
             // check precontext (Joining_Type:{L,D})(Joining_Type:T)*
             for(;;) {
-                UJoiningType type=ubidi_getJoiningType(bdp, c);
+                UJoiningType type=ubidi_getJoiningType(c);
                 if(type==U_JT_TRANSPARENT) {
                     if(j==0) {
                         return FALSE;
@@ -1166,7 +1165,7 @@ UTS46::isLabelOkContextJ(const UChar *label, int32_t labelLength) const {
                     return FALSE;
                 }
                 U16_NEXT_UNSAFE(label, j, c);
-                UJoiningType type=ubidi_getJoiningType(bdp, c);
+                UJoiningType type=ubidi_getJoiningType(c);
                 if(type==U_JT_TRANSPARENT) {
                     // just skip this character
                 } else if(type==U_JT_RIGHT_JOINING || type==U_JT_DUAL_JOINING) {
index 8f5791b..5d6a050 100644 (file)
@@ -125,7 +125,8 @@ _uFmtErrorName[U_FMT_PARSE_ERROR_LIMIT - U_FMT_PARSE_ERROR_START] = {
     "U_UNDEFINED_KEYWORD",
     "U_DEFAULT_KEYWORD_MISSING",
     "U_DECIMAL_NUMBER_SYNTAX_ERROR",
-    "U_FORMAT_INEXACT_ERROR"
+    "U_FORMAT_INEXACT_ERROR",
+    "U_NUMBER_ARG_OUTOFBOUNDS_ERROR"
 };
 
 static const char * const
index 9afd676..31e01ef 100644 (file)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-11-29'
+timestamp='2017-11-07'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2013-11-29'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -24,12 +24,12 @@ timestamp='2013-11-29'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
 
 Output the configuration name of the system \`$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
        LIBC=gnu
        #endif
        EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
        ;;
 esac
 
@@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           /sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || \
+           echo unknown)`
        case "${UNAME_MACHINE_ARCH}" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
+           earmv*)
+               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine=${arch}${endian}-unknown
+               ;;
            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
+       # to ELF recently (or will in the future) and ABI.
        case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               os=netbsdelf
+               ;;
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
+       echo "${machine}-${os}${release}${abi}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
        exit ;;
+    *:LibertyBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+       exit ;;
+    *:MidnightBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+       exit ;;
     *:ekkoBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
        exit ;;
@@ -235,6 +259,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:MirBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
        exit ;;
+    *:Sortix:*:*)
+       echo ${UNAME_MACHINE}-unknown-sortix
+       exit ;;
+    *:Redox:*:*)
+       echo ${UNAME_MACHINE}-unknown-redox
+       exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -251,55 +281,46 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
        case "$ALPHA_CPU_TYPE" in
            "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
+               UNAME_MACHINE=alphaev5 ;;
            "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
+               UNAME_MACHINE=alphaev56 ;;
            "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
+               UNAME_MACHINE=alphapca56 ;;
            "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
+               UNAME_MACHINE=alphapca57 ;;
            "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
+               UNAME_MACHINE=alphaev6 ;;
            "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
+               UNAME_MACHINE=alphaev67 ;;
            "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
+               UNAME_MACHINE=alphaev69 ;;
            "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
+               UNAME_MACHINE=alphaev7 ;;
            "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
+               UNAME_MACHINE=alphaev79 ;;
        esac
        # A Pn.n version is a patched version.
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
        exitcode=$?
        trap '' 0
        exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
     Amiga*:UNIX_System_V:4.0:*)
        echo m68k-unknown-sysv4
        exit ;;
@@ -359,16 +380,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
        eval $set_cc_for_build
-       SUN_ARCH="i386"
+       SUN_ARCH=i386
        # If there is a compiler, see if it is configured for 64-bit objects.
        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
        # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+       if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
                grep IS_64BIT_ARCH >/dev/null
            then
-               SUN_ARCH="x86_64"
+               SUN_ARCH=x86_64
            fi
        fi
        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +414,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        exit ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
                echo m68k-sun-sunos${UNAME_RELEASE}
@@ -461,13 +482,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 #endif
        #if defined (host_mips) && defined (MIPSEB)
        #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
        #endif
        #endif
          exit (-1);
@@ -579,8 +600,9 @@ EOF
        else
                IBM_ARCH=powerpc
        fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
+       if [ -x /usr/bin/lslpp ] ; then
+               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+                          awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
        fi
@@ -589,7 +611,7 @@ EOF
     *:AIX:*:*)
        echo rs6000-ibm-aix
        exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
        echo romp-ibm-bsd4.4
        exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
@@ -610,20 +632,20 @@ EOF
     9000/[34678]??:HP-UX:*:*)
        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
        case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/31?)            HP_ARCH=m68000 ;;
+           9000/[34]??)         HP_ARCH=m68k ;;
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
                    case "${sc_cpu_version}" in
-                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                     523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+                     528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
                        case "${sc_kernel_bits}" in
-                         32) HP_ARCH="hppa2.0n" ;;
-                         64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                         32) HP_ARCH=hppa2.0n ;;
+                         64) HP_ARCH=hppa2.0w ;;
+                         '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
                        esac ;;
                    esac
                fi
@@ -662,11 +684,11 @@ EOF
                    exit (0);
                }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
                fi ;;
        esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
+       if [ ${HP_ARCH} = hppa2.0w ]
        then
            eval $set_cc_for_build
 
@@ -679,12 +701,12 @@ EOF
            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
            # => hppa64-hp-hpux11.23
 
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+           if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
                grep -q __LP64__
            then
-               HP_ARCH="hppa2.0w"
+               HP_ARCH=hppa2.0w
            else
-               HP_ARCH="hppa64"
+               HP_ARCH=hppa64
            fi
        fi
        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -724,7 +746,7 @@ EOF
                { echo "$SYSTEM_NAME"; exit; }
        echo unknown-hitachi-hiuxwe2
        exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
        echo hppa1.1-hp-bsd
        exit ;;
     9000/8??:4.3bsd:*:*)
@@ -733,7 +755,7 @@ EOF
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
        echo hppa1.0-hp-mpeix
        exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
        echo hppa1.1-hp-osf
        exit ;;
     hp8??:OSF1:*:*)
@@ -789,14 +811,14 @@ EOF
        echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+       FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -812,10 +834,11 @@ EOF
        UNAME_PROCESSOR=`/usr/bin/uname -p`
        case ${UNAME_PROCESSOR} in
            amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+               UNAME_PROCESSOR=x86_64 ;;
+           i386)
+               UNAME_PROCESSOR=i586 ;;
        esac
+       echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -826,13 +849,9 @@ EOF
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
        echo ${UNAME_MACHINE}-pc-msys
        exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
@@ -848,27 +867,12 @@ EOF
                echo ia64-unknown-interix${UNAME_RELEASE}
                exit ;;
        esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    8664:Windows_NT:*)
-       echo x86_64-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
        exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
        echo x86_64-unknown-cygwin
        exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
     prep*:SunOS:5.*:*)
        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit ;;
@@ -878,7 +882,7 @@ EOF
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
@@ -901,7 +905,7 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -932,6 +936,9 @@ EOF
     crisv32:Linux:*:*)
        echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
+    e2k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     frv:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -944,6 +951,9 @@ EOF
     ia64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
+    k1om:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     m32r*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -969,10 +979,13 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
-    or1k:Linux:*:*)
+    mips64el:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
-    or32:Linux:*:*)
+    openrisc*:Linux:*:*)
+       echo or1k-unknown-linux-${LIBC}
+       exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
@@ -1001,6 +1014,9 @@ EOF
     ppcle:Linux:*:*)
        echo powerpcle-unknown-linux-${LIBC}
        exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
        echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
@@ -1020,7 +1036,7 @@ EOF
        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1059,7 +1075,7 @@ EOF
     i*86:*DOS:*:*)
        echo ${UNAME_MACHINE}-pc-msdosdjgpp
        exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+    i*86:*:4.*:*)
        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
@@ -1099,7 +1115,7 @@ EOF
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
        # the processor, so we play safe by assuming i586.
        # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configury will decide that
+       # prints for the "djgpp" host, or else GDB configure will decide that
        # this is a cross-build.
        echo i586-pc-msdosdjgpp
        exit ;;
@@ -1248,6 +1264,9 @@ EOF
     SX-8R:SUPER-UX:*:*)
        echo sx8r-nec-superux${UNAME_RELEASE}
        exit ;;
+    SX-ACE:SUPER-UX:*:*)
+       echo sxace-nec-superux${UNAME_RELEASE}
+       exit ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
        exit ;;
@@ -1261,16 +1280,23 @@ EOF
            UNAME_PROCESSOR=powerpc
        fi
        if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-           if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                   (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                   grep IS_64BIT_ARCH >/dev/null
+                      (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+                      grep IS_64BIT_ARCH >/dev/null
                then
                    case $UNAME_PROCESSOR in
                        i386) UNAME_PROCESSOR=x86_64 ;;
                        powerpc) UNAME_PROCESSOR=powerpc64 ;;
                    esac
                fi
+               # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+               if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+                      (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+                      grep IS_PPC >/dev/null
+               then
+                   UNAME_PROCESSOR=powerpc
+               fi
            fi
        elif test "$UNAME_PROCESSOR" = i386 ; then
            # Avoid executing cc on OS X 10.9, as it ships with a stub
@@ -1285,7 +1311,7 @@ EOF
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
+       if test "$UNAME_PROCESSOR" = x86; then
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
@@ -1294,15 +1320,18 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
+    NEO-*:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-*:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+       echo nsx-tandem-nsk${UNAME_RELEASE}
+       exit ;;
     *:NonStop-UX:*:*)
        echo mips-compaq-nonstopux
        exit ;;
@@ -1316,7 +1345,7 @@ EOF
        # "uname -m" is not consistent, so use $cputype instead. 386
        # is converted to i386 for consistency with other x86
        # operating systems.
-       if test "$cputype" = "386"; then
+       if test "$cputype" = 386; then
            UNAME_MACHINE=i386
        else
            UNAME_MACHINE="$cputype"
@@ -1358,7 +1387,7 @@ EOF
        echo i386-pc-xenix
        exit ;;
     i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
        exit ;;
     i*86:rdos:*:*)
        echo ${UNAME_MACHINE}-pc-rdos
@@ -1369,171 +1398,37 @@ EOF
     x86_64:VMkernel:*:*)
        echo ${UNAME_MACHINE}-unknown-esx
        exit ;;
+    amd64:Isilon\ OneFS:*:*)
+       echo x86_64-unknown-onefs
+       exit ;;
 esac
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-       "4"
-#else
-       ""
-#endif
-       ); exit (0);
-#endif
-#endif
+echo "$0: unable to guess system type" >&2
 
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+    mips:Linux | mips64:Linux)
+       # If we got here on MIPS GNU/Linux, output extra information.
+       cat >&2 <<EOF
 
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
 EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
+       ;;
+esac
 
 cat >&2 <<EOF
-$0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
@@ -1561,7 +1456,7 @@ EOF
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'write-file-functions 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index 61cb4bc..fb57947 100644 (file)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-10-01'
+timestamp='2017-11-04'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2013-10-01'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -25,7 +25,7 @@ timestamp='2013-10-01'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@ timestamp='2013-10-01'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,12 +53,11 @@ timestamp='2013-10-01'
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -230,9 +229,6 @@ case $os in
        -ptx*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
                ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
        -psos*)
                os=-psos
                ;;
@@ -255,15 +251,16 @@ case $basic_machine in
        | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
+       | ba \
        | be32 | be64 \
        | bfin \
        | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
+       | e2k | epiphany \
+       | fido | fr30 | frv | ft32 \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | hexagon \
-       | i370 | i860 | i960 | ia64 \
+       | i370 | i860 | i960 | ia16 | ia64 \
        | ip2k | iq2000 \
        | k1om \
        | le32 | le64 \
@@ -283,8 +280,10 @@ case $basic_machine in
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa32r6 | mipsisa32r6el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64r6 | mipsisa64r6el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipsr5900 | mipsr5900el \
@@ -296,14 +295,15 @@ case $basic_machine in
        | nds32 | nds32le | nds32be \
        | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
-       | open8 \
-       | or1k | or32 \
+       | open8 | or1k | or1knd | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pru \
        | pyramid \
+       | riscv32 | riscv64 \
        | rl78 | rx \
        | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -311,7 +311,8 @@ case $basic_machine in
        | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
        | ubicom32 \
        | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
+       | visium \
+       | wasm32 \
        | x86 | xc16x | xstormy16 | xtensa \
        | z8k | z80)
                basic_machine=$basic_machine-unknown
@@ -325,6 +326,9 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
+       leon|leon[3-9])
+               basic_machine=sparc-$basic_machine
+               ;;
        m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
@@ -370,17 +374,18 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | ba-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
+       | e2k-* | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
+       | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
        | ip2k-* | iq2000-* \
        | k1om-* \
        | le32-* | le64-* \
@@ -402,8 +407,10 @@ case $basic_machine in
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa32r6-* | mipsisa32r6el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64r6-* | mipsisa64r6el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipsr5900-* | mipsr5900el-* \
@@ -415,16 +422,19 @@ case $basic_machine in
        | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
+       | or1k*-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pru-* \
        | pyramid-* \
+       | riscv32-* | riscv64-* \
        | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
        | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tile*-* \
@@ -432,6 +442,8 @@ case $basic_machine in
        | ubicom32-* \
        | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
        | vax-* \
+       | visium-* \
+       | wasm32-* \
        | we32k-* \
        | x86-* | x86_64-* | xc16x-* | xps100-* \
        | xstormy16-* | xtensa*-* \
@@ -508,6 +520,9 @@ case $basic_machine in
                basic_machine=i386-pc
                os=-aros
                ;;
+       asmjs)
+               basic_machine=asmjs-unknown
+               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -624,10 +639,18 @@ case $basic_machine in
                basic_machine=rs6000-bull
                os=-bosx
                ;;
-       dpx2* | dpx2*-bull)
+       dpx2*)
                basic_machine=m68k-bull
                os=-sysv3
                ;;
+       e500v[12])
+               basic_machine=powerpc-unknown
+               os=$os"spe"
+               ;;
+       e500v[12]-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=$os"spe"
+               ;;
        ebmon29k)
                basic_machine=a29k-amd
                os=-ebmon
@@ -769,6 +792,9 @@ case $basic_machine in
                basic_machine=m68k-isi
                os=-sysv
                ;;
+       leon-*|leon[3-9]-*)
+               basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+               ;;
        m68knommu)
                basic_machine=m68k-unknown
                os=-linux
@@ -824,6 +850,10 @@ case $basic_machine in
                basic_machine=powerpc-unknown
                os=-morphos
                ;;
+       moxiebox)
+               basic_machine=moxie-unknown
+               os=-moxiebox
+               ;;
        msdos)
                basic_machine=i386-pc
                os=-msdos
@@ -871,7 +901,7 @@ case $basic_machine in
                basic_machine=v70-nec
                os=-sysv
                ;;
-       next | m*-next )
+       next | m*-next)
                basic_machine=m68k-next
                case $os in
                    -nextstep* )
@@ -916,6 +946,9 @@ case $basic_machine in
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
+       nsx-tandem)
+               basic_machine=nsx-tandem
+               ;;
        op50n-* | op60c-*)
                basic_machine=hppa1.1-oki
                os=-proelf
@@ -1000,7 +1033,7 @@ case $basic_machine in
        ppc-* | ppcbe-*)
                basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
+       ppcle | powerpclittle)
                basic_machine=powerpcle-unknown
                ;;
        ppcle-* | powerpclittle-*)
@@ -1010,7 +1043,7 @@ case $basic_machine in
                ;;
        ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+       ppc64le | powerpc64little)
                basic_machine=powerpc64le-unknown
                ;;
        ppc64le-* | powerpc64little-*)
@@ -1211,6 +1244,9 @@ case $basic_machine in
                basic_machine=a29k-wrs
                os=-vxworks
                ;;
+       wasm32)
+               basic_machine=wasm32-unknown
+               ;;
        w65*)
                basic_machine=w65-wdc
                os=-none
@@ -1219,6 +1255,9 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
+       x64)
+               basic_machine=x86_64-pc
+               ;;
        xbox)
                basic_machine=i686-pc
                os=-mingw32
@@ -1326,8 +1365,8 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
-       # First match some system type aliases
-       # that might get confused with valid system types.
+       # First match some system type aliases that might get confused
+       # with valid system types.
        # -solaris* is a basic system type, with this one exception.
        -auroraux)
                os=-auroraux
@@ -1347,36 +1386,37 @@ case $os in
        -gnu/linux*)
                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
                ;;
-       # First accept the basic system types.
+       # Now accept the basic system types.
        # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
+       # Each alternative MUST end in a * to match a version number.
        # -sysv* is not here because it comes later, after sysvr4.
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
              | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
+             | -aos* | -aros* | -cloudabi* | -sortix* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -bitrig* | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+             | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1451,7 +1491,7 @@ case $os in
        -nova*)
                os=-rtmk-nova
                ;;
-       -ns2 )
+       -ns2)
                os=-nextstep2
                ;;
        -nsk*)
@@ -1508,6 +1548,8 @@ case $os in
                ;;
        -nacl*)
                ;;
+       -ios)
+               ;;
        -none)
                ;;
        *)
@@ -1594,9 +1636,6 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
-       or1k-*)
-               os=-elf
-               ;;
        or32-*)
                os=-coff
                ;;
@@ -1606,6 +1645,9 @@ case $basic_machine in
        sparc-* | *-sun)
                os=-sunos4.1.1
                ;;
+       pru-*)
+               os=-elf
+               ;;
        *-be)
                os=-beos
                ;;
@@ -1651,7 +1693,7 @@ case $basic_machine in
        m88k-omron*)
                os=-luna
                ;;
-       *-next )
+       *-next)
                os=-nextstep
                ;;
        *-sequent)
@@ -1786,7 +1828,7 @@ echo $basic_machine$os
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'write-file-functions 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index ccc5837..3e6e42e 100644 (file)
@@ -19,7 +19,7 @@ DISTY_DIR=dist
 DISTY_TMP=dist/tmp
 DISTY_ICU=$(DISTY_TMP)/icu
 DISTY_DATA=$(DISTY_ICU)/source/data
-DISTY_RMV=brkitr coll curr lang locales mappings rbnf region translit xml zone misc unit
+DISTY_RMV=brkitr coll curr lang locales mappings rbnf region translit xml zone misc/*.txt misc/*.mk unit
 DISTY_RMDIR=$(DISTY_RMV:%=$(DISTY_DATA)/%)
 DISTY_IN=$(DISTY_DATA)/in
 DOCZIP=icu-docs.zip
@@ -49,7 +49,7 @@ $(DISTY_TMP):
 
 $(DISTY_DOC_ZIP):  $(DOCZIP) $(DISTY_FILE_DIR)
        cp $(DOCZIP) $(DISTY_DOC_ZIP)
-       ln -sf $(DISTY_DOC_ZIP) $(DISTY_FILE_DIR)/icu4c-docs.zip
+       ln -sf $(shell basename $(DISTY_DOC_ZIP)) $(DISTY_FILE_DIR)/icu4c-docs.zip
 
 $(DISTY_DAT): 
        echo Missing $@
@@ -74,14 +74,14 @@ $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP):  $(DISTY_DAT) $(DISTY_TMP
        $(MKINSTALLDIRS) $(DISTY_IN)
        echo DISTY_DAT=$(DISTY_DAT)
        cp $(DISTY_DAT) $(DISTY_IN)
-       ( cd $(DISTY_TMP)/icu ; python as_is/bomlist.py > as_is/bomlist.txt || rm -f as_is/bomlist.txt )
-       ( cd $(DISTY_TMP) ; zip -rlq $(DISTY_FILE_ZIP) icu )
        $(RMV) $(DISTY_RMDIR)
        ( cd $(DISTY_TMP)/icu ; python as_is/bomlist.py > as_is/bomlist.txt || rm -f as_is/bomlist.txt )
        ( cd $(DISTY_TMP) ; tar cfpz $(DISTY_FILE_TGZ) icu )
-       ln -sf $(DISTY_FILE_ZIP) $(DISTY_FILE_DIR)/icu4c-src.zip
-       ln -sf $(DISTY_FILE_TGZ) $(DISTY_FILE_DIR)/icu4c-src.tgz
-       ln -sf $(DISTY_DATA_ZIP) $(DISTY_FILE_DIR)/icu4c-data.zip
+       ( cd $(DISTY_TMP) ; zip -rlq $(DISTY_FILE_ZIP) icu )
+       $(RMV) $(DISTY_TMP)
+       ln -sf $(shell basename $(DISTY_FILE_ZIP)) $(DISTY_FILE_DIR)/icu4c-src.zip
+       ln -sf $(shell basename $(DISTY_FILE_TGZ)) $(DISTY_FILE_DIR)/icu4c-src.tgz
+       ln -sf $(shell basename $(DISTY_DATA_ZIP)) $(DISTY_FILE_DIR)/icu4c-data.zip
        ls -l $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP)
 
 
index 36c06f9..56f87c5 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 60.1.
+# Generated by GNU Autoconf 2.69 for ICU 61.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='60.1'
-PACKAGE_STRING='ICU 60.1'
+PACKAGE_VERSION='61.1'
+PACKAGE_STRING='ICU 61.1'
 PACKAGE_BUGREPORT='http://icu-project.org/bugs'
 PACKAGE_URL='http://icu-project.org'
 
@@ -1368,7 +1368,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 60.1 to adapt to many kinds of systems.
+\`configure' configures ICU 61.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1435,7 +1435,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ICU 60.1:";;
+     short | recursive ) echo "Configuration of ICU 61.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1571,7 +1571,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ICU configure 60.1
+ICU configure 61.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2263,7 +2263,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 60.1, which was
+It was created by ICU $as_me 61.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8409,7 +8409,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 60.1, which was
+This file was extended by ICU $as_me 61.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8463,7 +8463,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 60.1
+ICU config.status 61.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 21f0189..c9db4fe 100644 (file)
@@ -594,7 +594,7 @@ $(BUILDDIR)/%.cnv: $(UCMSRCDIR)/%.ucm $(TOOLBINDIR)/makeconv$(TOOLEXEEXT)
 # RES FILES\r
 \r
 ### curr res\r
-$(CURRBLDDIR)/%.res: $(CURRSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(CURRBLDDIR)/%.res: $(CURRSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(CURRSRCDIR) -d $(CURRBLDDIR) $(<F)\r
 \r
 # copy the curr/pool.res file from the source folder to the build output folder\r
@@ -602,7 +602,7 @@ $(CURRBLDDIR)/%.res: $(CURRSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT
 $(CURRBLDDIR)/pool.res: $(CURRSRCDIR)/pool.res\r
        $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(CURRSRCDIR)/pool.res $(CURRBLDDIR)/pool.res\r
 \r
-$(CURRBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(CURR_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(CURRBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(CURR_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(CURR_TREE) -d $(CURRBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(CURR_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -618,7 +618,7 @@ $(CURR_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### lang res\r
-$(LANGBLDDIR)/%.res: $(LANGSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(LANGBLDDIR)/%.res: $(LANGSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(LANGSRCDIR) -d $(LANGBLDDIR) $(<F)\r
 \r
 # copy the lang/pool.res file from the source folder to the build output folder\r
@@ -626,7 +626,7 @@ $(LANGBLDDIR)/%.res: $(LANGSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT
 $(LANGBLDDIR)/pool.res: $(LANGSRCDIR)/pool.res\r
        $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(LANGSRCDIR)/pool.res $(LANGBLDDIR)/pool.res\r
 \r
-$(LANGBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(LANG_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(LANGBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(LANG_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(LANG_TREE) -d $(LANGBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(LANG_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -642,7 +642,7 @@ $(LANG_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### region res\r
-$(REGIONBLDDIR)/%.res: $(REGIONSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(REGIONBLDDIR)/%.res: $(REGIONSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(REGIONSRCDIR) -d $(REGIONBLDDIR) $(<F)\r
 \r
 # copy the region/pool.res file from the source folder to the build output folder\r
@@ -650,7 +650,7 @@ $(REGIONBLDDIR)/%.res: $(REGIONSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $
 $(REGIONBLDDIR)/pool.res: $(REGIONSRCDIR)/pool.res\r
        $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(REGIONSRCDIR)/pool.res $(REGIONBLDDIR)/pool.res\r
 \r
-$(REGIONBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(REGION_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(REGIONBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(REGION_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(REGION_TREE) -d $(REGIONBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(REGION_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -666,7 +666,7 @@ $(REGION_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### zone res\r
-$(ZONEBLDDIR)/%.res: $(ZONESRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(ZONEBLDDIR)/%.res: $(ZONESRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(ZONESRCDIR) -d $(ZONEBLDDIR) $(<F)\r
 \r
 # copy the zone/pool.res file from the source folder to the build output folder\r
@@ -674,7 +674,7 @@ $(ZONEBLDDIR)/%.res: $(ZONESRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT
 $(ZONEBLDDIR)/pool.res: $(ZONESRCDIR)/pool.res\r
        $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ZONESRCDIR)/pool.res $(ZONEBLDDIR)/pool.res\r
 \r
-$(ZONEBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(ZONE_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(ZONEBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(ZONE_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(ZONE_TREE) -d $(ZONEBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(ZONE_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -714,10 +714,10 @@ $(UNIT_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### collation res\r
-$(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(COLSRCDIR) -d $(COLBLDDIR) $(<F)\r
 \r
-$(COLBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(COLBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(COLLATION_TREE) -d $(COLBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(COLLATION_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -733,10 +733,10 @@ $(COLLATION_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### brk res\r
-$(BRKBLDDIR)/%.res: $(BRKSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(BRK_FILES) $(DICT_FILES) $(DAT_FILES)\r
+$(BRKBLDDIR)/%.res: $(BRKSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(BRK_FILES) $(DICT_FILES) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(BRKSRCDIR) -d $(BRKBLDDIR) $(<F)\r
 \r
-$(BRKBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(BREAK_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(BRKBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(BREAK_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(BREAK_TREE) -d $(BRKBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(BRK_RES_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -752,10 +752,10 @@ $(BRK_RES_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### RBNF res\r
-$(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(RBNFSRCDIR) -d $(RBNFBLDDIR) $(<F)\r
 \r
-$(RBNFBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(RBNFBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(RBNF_TREE) -d $(RBNFBLDDIR) $(INDEX_NAME).txt\r
 \r
 $(RBNF_INDEX_FILE): $(SRCLISTDEPS)\r
@@ -771,13 +771,13 @@ $(RBNF_INDEX_FILE): $(SRCLISTDEPS)
        echo "}" >> $@;\r
 \r
 ### TRANSLIT res\r
-$(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt  $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(TRANSLITSRCDIR) -d $(TRANSLITBLDDIR) $(<F)\r
 \r
 ### normal (locale) res\r
 all-RES:  $(RES_FILES)\r
 \r
-$(BUILDDIR)/%.res: $(LOCSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)\r
+$(BUILDDIR)/%.res: $(LOCSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(LOCSRCDIR) -d $(BUILDDIR) $(<F)\r
 \r
 # copy the locales/pool.res file from the source folder to the build output folder\r
@@ -797,7 +797,7 @@ ZONEINFO=$(TZCODE_DIR)/zoneinfo64.txt
 \r
 # Override the normal genrb for zoneinfo to always pull from\r
 # icu/source/tools/tzcode/zoneinfo64.txt\r
-$(BUILDDIR)/zoneinfo64.res: $(ZONEINFO) $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(BUILDDIR)/zoneinfo64.res: $(ZONEINFO) $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        @echo Note: $(MISCSRCDIR)/zoneinfo.txt is IGNORED because $(TZDATA) is present.\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -d $(BUILDDIR) $(ZONEINFO)\r
 \r
@@ -810,7 +810,7 @@ $(ZONEINFO): $(TZDATA)
 endif\r
 \r
 # zoneinfo has some issues. Ignore some warnings with -q\r
-$(BUILDDIR)/%.res: $(MISCSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(BUILDDIR)/%.res: $(MISCSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -s $(MISCSRCDIR) -d $(BUILDDIR) $(<F)\r
 \r
 \r
@@ -831,7 +831,7 @@ $(INDEX_FILE): $(SRCLISTDEPS)
 clean-resindex:\r
        -$(RMV) $(BUILDDIR)/$(INDEX_NAME).txt $(PKGDATA_LIST)\r
 \r
-$(BUILDDIR)/$(INDEX_NAME).res: $(INDEX_FILE) $(TOOLBINDIR)/genrb$(TOOLEXEEXT)\r
+$(BUILDDIR)/$(INDEX_NAME).res: $(INDEX_FILE) $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu\r
        $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -d $(BUILDDIR) $(INDEX_FILE)\r
 \r
 # The core Unicode properties files (pnames.icu, uprops.icu, ucase.icu, ubidi.icu)\r
index 43e9633..b26f6d4 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-BRK_RES_CLDR_VERSION = 32.0.1\r
+BRK_RES_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index ac17ada..5a5c262 100644 (file)
 #\r
 #----\r
 #\r
+# IP address whitelisting\r
+#\r
+# Parts of the build process (notably building the new ICU data filescin step 4)\r
+# require http: access to files in the CLDR repository; for example, processing\r
+# the files in icu4c/source/data/xml/ may require access to\r
+# http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd\r
+#\r
+# The IP address of the system requesting such access be whitelisted with Unicode,\r
+# otherwise there may be timeout failures; contact Rick McGowan.\r
+#\r
+#----\r
+#\r
 # There are several environment variables that need to be defined.\r
 #\r
 # a) Java- and ant-related variables\r
@@ -78,7 +90,7 @@
 # files are used in addition to the CLDR files as inputs to the CLDR data build\r
 # process for ICU):\r
 #\r
-#    icu/trunk/source/data/icu-config.xml - Update <locales> to add or remove\r
+#    icu4c/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
-#    icu/trunk/source/data/build.xml - If you are adding or removing break\r
+#    icu4c/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
-#    icu/trunk/source/data/xml/      - If you are adding a new locale, break\r
+#    icu4c/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
@@ -158,6 +170,11 @@ make check 2>&1 | tee /tmp/icu4c-oldData-makeCheck.txt
 # 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
+#\r
+# If you see timeout errors when building the rbnf data, for example, then the\r
+# system you are building on likely does not have its IP address whitelisted with\r
+# Unicode for access to the CLDR repository, see note on "IP address whitelisting"\r
+# near the top of this file.\r
 \r
 cd $ICU4C_DIR/source/data\r
 ant clean\r
index 09787e8..f7626b0 100644 (file)
@@ -5,7 +5,7 @@ af{
     collations{\r
         standard{\r
             Sequence{"&N<<<ʼn"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 3d3b10f..a788d07 100644 (file)
@@ -5,7 +5,7 @@ am{
     collations{\r
         standard{\r
             Sequence{"[reorder Ethi]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 9f8c595..03f1978 100644 (file)
@@ -9,7 +9,7 @@ ar{
                 "&ت<<ة<<<ﺔ<<<ﺓ"\r
                 "&ي<<ى<<<ﯨ<<<ﯩ<<<ﻰ<<<ﻯ<<<ﲐ<<<ﱝ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -397,7 +397,7 @@ ar{
                 "‎&ۓ‎=ﮰ‎=ﮱ"\r
                 "‎&ۀ‎=ﮤ‎=ﮥ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index e0d17af..c8ca27c 100644 (file)
@@ -11,7 +11,7 @@ as{
                 "&[before 1]ত<ৎ=ত্\u200D"\r
                 "&হ<ক্ষ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 8ba1ddb..f0d3da5 100644 (file)
@@ -9,7 +9,7 @@ az{
                 "[import az-u-co-standard]"\r
                 "[reorder others]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -26,7 +26,7 @@ az{
                 "&H<x<<<X"\r
                 "&Z<w<<<W"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index a4cc8e4..736726b 100644 (file)
@@ -9,7 +9,7 @@ be{
                 "&Е<ё<<<Ё"\r
                 "&у<ў<<<Ў"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index b30ab56..0c12b74 100644 (file)
@@ -5,7 +5,7 @@ bg{
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6dd6aa8..2e5356e 100644 (file)
@@ -9,7 +9,7 @@ bn{
                 "[reorder Beng Deva Guru Gujr Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ঔ<ং<ঃ<ঁ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -629,7 +629,7 @@ bn{
                 "&যৌ<<<য়ৌ"\r
                 "&য্<<<য়্"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 7da1582..2479cd2 100644 (file)
@@ -5,11 +5,11 @@ bs{
     collations{\r
         search{\r
             Sequence{"[import hr-u-co-search]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{"[import hr]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index b5917ab..05f7168 100644 (file)
@@ -5,7 +5,7 @@ bs_Cyrl{
     collations{\r
         standard{\r
             Sequence{"[import sr]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 4170854..2b38025 100644 (file)
@@ -8,7 +8,7 @@ ca{
                 "[import und-u-co-search]"\r
                 "&L<ŀ=l·<<<Ŀ=L·"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 43c1747..1ed2cf0 100644 (file)
@@ -5,7 +5,7 @@ chr{
     collations{\r
         standard{\r
             Sequence{"[reorder Cher]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index a1c3313..babd809 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-COLLATION_CLDR_VERSION = 32.0.1\r
+COLLATION_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index f4a1dbb..3362afc 100644 (file)
@@ -11,7 +11,7 @@ cs{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index ef607da..8a2bb84 100644 (file)
@@ -14,7 +14,7 @@ cy{
                 "&R<rh<<<Rh<<<RH"\r
                 "&T<th<<<Th<<<TH"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 8ddb2e1..e932000 100644 (file)
@@ -9,7 +9,7 @@ da{
                 "[import da-u-co-standard]"\r
                 "[caseFirst off]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ da{
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<å<<<Å<<<aa<<<Aa<<<AA"\r
                 "&oe<<œ<<<Œ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6275f61..b08f248 100644 (file)
@@ -9,14 +9,14 @@ de{
                 "&OE<<ö<<<Ö"\r
                 "&UE<<ü<<<Ü"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import de-u-co-phonebk]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index edfb73f..93ea9c6 100644 (file)
@@ -10,7 +10,7 @@ de_AT{
                 "&u<ü<<<Ü"\r
                 "&ss<ß<<<ẞ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 591efec..6ad3c0c 100644 (file)
@@ -14,7 +14,7 @@ dsb{
                 "&S<š<<<Š<ś<<<Ś"\r
                 "&Z<ž<<<Ž<ź<<<Ź"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 1f1b795..7f5b520 100644 (file)
@@ -17,7 +17,7 @@ ee{
                 "&T<ts<<<Ts<<<TS"\r
                 "&V<ʋ<<<Ʋ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d791a1f..87539e3 100644 (file)
@@ -8,7 +8,7 @@ el{
                 "[normalization on]"\r
                 "[reorder Grek]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 52e77b3..5812c50 100644 (file)
@@ -8,7 +8,7 @@ en_US_POSIX{
                 "&A<*'\u0020'-'/'<*0-'@'<*ABCDEFGHIJKLMNOPQRSTUVWXYZ<*'['-'`'<*abcdefghijklmnopqrstuvwxyz"\r
                 "<*'{'-'\u007F'"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 5cb2bc4..731ef08 100644 (file)
@@ -12,7 +12,7 @@ eo{
                 "&S<ŝ<<<Ŝ"\r
                 "&U<ŭ<<<Ŭ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 7879155..5cbe574 100644 (file)
@@ -8,11 +8,11 @@ es{
                 "[import und-u-co-search]"\r
                 "&N<ñ<<<Ñ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{"&N<ñ<<<Ñ"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -20,7 +20,7 @@ es{
                 "&C<ch<<<Ch<<<CH"\r
                 "&l<ll<<<Ll<<<LL"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index cbc7b5f..0dfc4ec 100644 (file)
@@ -8,7 +8,7 @@ et{
                 "&[before 1]T<š<<<Š<z<<<Z<ž<<<Ž"\r
                 "&[before 1]X<õ<<<Õ<ä<<<Ä<ö<<<Ö<ü<<<Ü"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 9a7cadd..cee10d3 100644 (file)
@@ -16,7 +16,7 @@ fa{
                 "&ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ"\r
                 "&ی<<*ىےيېۑۍێ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 255f005..70902fb 100644 (file)
@@ -5,7 +5,7 @@ fa_AF{
     collations{\r
         standard{\r
             Sequence{"[import ps]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 356abdd..f2dd74d 100644 (file)
@@ -8,7 +8,7 @@ fi{
                 "[import und-u-co-search]"\r
                 "[import fi-u-co-trad]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ fi{
                 "&Z\u0335<<ʒ<<<Ʒ"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<ö<<<Ö<<ø<<<Ø"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -31,7 +31,7 @@ fi{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<õ<<<Õ<<œ<<<Œ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d5114f7..e7cc624 100644 (file)
@@ -5,7 +5,7 @@ fil{
     collations{\r
         standard{\r
             Sequence{"&N<ñ<<<Ñ<ng<<<Ng<<<NG"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 50a88fd..2e299be 100644 (file)
@@ -8,7 +8,7 @@ fo{
                 "[import und-u-co-search]"\r
                 "[import fo-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -18,7 +18,7 @@ fo{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<<aa<<<Aa<<<AA"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 1e57d10..2dcf995 100644 (file)
@@ -5,7 +5,7 @@ fr_CA{
     collations{\r
         standard{\r
             Sequence{"[backwards 2]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index bdb3600..4e77d56 100644 (file)
@@ -5,11 +5,11 @@ gl{
     collations{\r
         search{\r
             Sequence{"[import es-u-co-search]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{"[import es]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d1f447b..038e1a6 100644 (file)
@@ -9,7 +9,7 @@ gu{
                 "[reorder Gujr Deva Beng Guru Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ૐ<ં<<ઁ<ઃ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 0809159..c3561f1 100644 (file)
@@ -12,7 +12,7 @@ ha{
                 "&T<ts<<<Ts<<<TS"\r
                 "&Y<ƴ<<<ʼy<<<''y<<<Ƴ<<<ʼY<<<''Y"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 2ec4ec9..f3d1d46 100644 (file)
@@ -8,7 +8,7 @@ haw{
                 "&a<e<<<E<i<<<I<o<<<O<u<<<U"\r
                 "&w<ʻ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index a40d97f..f1bc26e 100644 (file)
@@ -11,7 +11,7 @@ he{
                 "‎&״"\r
                 "<<'\u0022'"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ he{
                 "&[before 2]''<<׳"\r
                 "&[before 2]'\u0022'<<״"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6448c6f..ee2791d 100644 (file)
@@ -9,7 +9,7 @@ hi{
                 "[reorder Deva Beng Guru Gujr Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ॐ<ं<<ँ<ः"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 625e713..363a088 100644 (file)
@@ -9,7 +9,7 @@ hr{
                 "[import hr-u-co-standard]"\r
                 "[reorder others]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ hr{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 209fa95..f1bdc05 100644 (file)
@@ -13,7 +13,7 @@ hsb{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž<ź<<<Ź"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 5dc4606..7e85111 100644 (file)
@@ -44,7 +44,7 @@ hu{
                 "&Zs<<<Zzs/zs"\r
                 "&ZS<<<ZZS/ZS"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index aecd900..3abcfea 100644 (file)
@@ -8,7 +8,7 @@ hy{
                 "[reorder Armn]"\r
                 "&ք<և<<<Եւ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 412caca..7ed0cf8 100644 (file)
@@ -15,7 +15,7 @@ ig{
                 "&S<sh<<<Sh<<<SH"\r
                 "&U<ụ<<<Ụ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index fb156e1..ec6cabd 100644 (file)
@@ -8,7 +8,7 @@ is{
                 "[import und-u-co-search]"\r
                 "[import is-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ is{
                 "&[before 1]z<ý<<<Ý"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<ö<<<Ö<<ø<<<Ø<å<<<Å"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index be38e78..a0cc45b 100644 (file)
@@ -412,21 +412,21 @@ ja{
                 "&「=「"\r
                 "&」=」"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
                 "[import ja-u-co-private-kana]"\r
                 "&[last regular]<*亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         unihan{\r
             Sequence{\r
                 "[import und-u-co-private-unihan]"\r
                 "[import ja-u-co-private-kana]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6d4f481..612fa91 100644 (file)
@@ -5,7 +5,7 @@ ka{
     collations{\r
         standard{\r
             Sequence{"[reorder Geor]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 2e3ab3b..aa471e9 100644 (file)
@@ -10,7 +10,7 @@ kk{
                 "&Ұ<ү<<<Ү"\r
                 "&[before 1]ь<і<<<І"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 3a1451f..3c15129 100644 (file)
@@ -8,7 +8,7 @@ kl{
                 "[import und-u-co-search]"\r
                 "[import kl-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ kl{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 16ad661..149862c 100644 (file)
@@ -66,7 +66,7 @@ km{
                 "&ឱ<<<ឲ"\r
                 "&ៅ<ុំ<ំ<ាំ<ះ<ិះ<ុះ<េះ<ោះ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index e74458a..b935282 100644 (file)
@@ -9,7 +9,7 @@ kn{
                 "[reorder Knda Deva Beng Guru Gujr Orya Taml Telu Mlym Sinh]"\r
                 "&ಔ<ಂ<ಃ<ೱ<ೲ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -651,7 +651,7 @@ kn{
                 "&ಫೋ<<<ಫ಼ೋ"\r
                 "&ಫೌ<<<ಫ಼ೌ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index a8efc89..3b5953d 100644 (file)
@@ -283,7 +283,7 @@ ko{
                 "&ᅩᅣᅵ"\r
                 "=ᆧ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         searchjl{\r
             Sequence{\r
@@ -378,7 +378,7 @@ ko{
                 "&\u1109\u1109=\u110A<<<\u3146"\r
                 "&\u110C\u110C=\u110D<<<\u3149"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -862,14 +862,14 @@ ko{
                 "&희<<*僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲咥唏嘻悕戲暿欷燹爔豨餼"\r
                 "&힐<<*詰犵纈襭頡黠"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         unihan{\r
             Sequence{\r
                 "[import und-u-co-private-unihan]"\r
                 "[reorder Hang Hani]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 65f4ecb..35cf7ad 100644 (file)
@@ -11,7 +11,7 @@ kok{
                 "&ह<ळ"\r
                 "<क्ष"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index e489bd8..7ba9862 100644 (file)
@@ -8,7 +8,7 @@ ky{
                 "[reorder Cyrl]"\r
                 "&е<ё<<<Ё"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 88085c6..186d3c6 100644 (file)
@@ -11,7 +11,7 @@ lkt{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 09222f4..a2a9845 100644 (file)
@@ -16,14 +16,14 @@ ln{
                 "&S<sh<<<sH<<<Sh<<<SH"\r
                 "&T<ts<<<tS<<<Ts<<<TS"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
                 "&E<ɛ<<<Ɛ"\r
                 "&O<<ɔ<<<Ɔ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 92768a6..09fbb74 100644 (file)
@@ -5,7 +5,7 @@ lo{
     collations{\r
         standard{\r
             Sequence{"[reorder Laoo]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 236ccc7..4bb92c9 100644 (file)
@@ -16,7 +16,7 @@ lt{
                 "&U<<ų<<<Ų<<ū<<<Ū"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 32f1791..aff6274 100644 (file)
@@ -15,7 +15,7 @@ lv{
                 "&[before 1]T<š<<<Š"\r
                 "&[before 1]Ʒ<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 4c80401..d1ac2b2 100644 (file)
@@ -10,7 +10,7 @@ mk{
                 "&ԃ<ѓ<<<Ѓ"\r
                 "&ћ<ќ<<<Ќ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6903b14..dece237 100644 (file)
@@ -17,7 +17,7 @@ ml{
                 "&മ്<<ം"\r
                 "&ന്<<<ൻ്"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 8d90ca4..d3e3f67 100644 (file)
@@ -5,7 +5,7 @@ mn{
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl Mong]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index a3d8dca..d311751 100644 (file)
@@ -12,7 +12,7 @@ mr{
                 "<क्ष"\r
                 "<ज्ञ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d03e349..d46ca4e 100644 (file)
@@ -12,7 +12,7 @@ mt{
                 "&[before 1]i<ħ<<<Ħ"\r
                 "&[before 1]z<ż<<<Ż"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index c16709f..b0855f5 100644 (file)
@@ -373,7 +373,7 @@ my{
                 "&ထမင်း=ထ္မင်း"\r
                 "&လက်ဘက်=လ္ဘက်"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index fe9349a..42e7cee 100644 (file)
@@ -8,7 +8,7 @@ nb{
                 "[import und-u-co-search]"\r
                 "[import nb-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -18,7 +18,7 @@ nb{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<aa<<<Aa<<<AA"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index db59e05..25ee31a 100644 (file)
@@ -5,7 +5,7 @@ ne{
     collations{\r
         standard{\r
             Sequence{"[reorder Deva]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index ca48435..b6c3e5f 100644 (file)
@@ -5,11 +5,11 @@ nn{
     collations{\r
         search{\r
             Sequence{"[import nb-u-co-search]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{"[import nb-u-co-standard]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 0f246f8..13c6fe4 100644 (file)
@@ -8,7 +8,7 @@ om{
                 "&Z<ch<<<Ch<<<CH<dh<<<Dh<<<DH<kh<<<Kh<<<KH<ny<<<Ny<<<NY<ph<<<Ph<<<PH<"\r
                 "sh<<<Sh"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 7fd6627..86b15d6 100644 (file)
@@ -11,7 +11,7 @@ or{
                 "&ହ<କ୍ଷ"\r
                 "&ଯ<<ୟ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 400274a..9d80313 100644 (file)
@@ -10,7 +10,7 @@ pa{
                 "&ੱ<<ੰ<<ਂ<<ਁ<<਼"\r
                 "&ੜ<੍"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d347a97..e5ff0b7 100644 (file)
@@ -14,7 +14,7 @@ pl{
                 "&S<ś<<<Ś"\r
                 "&Z<ź<<<Ź<ż<<<Ż"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 461bdf9..a2fb1e5 100644 (file)
@@ -24,7 +24,7 @@ ps{
                 "&ی<<*ىےيېۍ<<یٔ<<<ىٔ<<<ئ"\r
                 "&\u00A0<<\u200C<<\u200D"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 97886c1..705a08f 100644 (file)
@@ -10,7 +10,7 @@ ro{
                 "&S<ş=ș<<<Ş=Ș"\r
                 "&T<ţ=ț<<<Ţ=Ț"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 024784a..7a7263b 100644 (file)
@@ -316,7 +316,7 @@ root{
                 "< 🏴󠁧󠁢󠁳󠁣󠁴󠁿"\r
                 "< 🏴󠁧󠁢󠁷󠁬󠁳󠁿"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         eor{\r
             Sequence{\r
@@ -856,7 +856,7 @@ root{
                 "&ք"\r
                 "<և"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         private-unihan{\r
             Sequence{\r
@@ -1099,7 +1099,7 @@ root{
                 "&龟=\uFDD0龟"\r
                 "&龠=\uFDD0龠"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         search{\r
             Sequence{\r
@@ -1218,11 +1218,11 @@ root{
                 "&ᅳᅵ"\r
                 "=ᅴ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{""}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
     depends:process(dependency){"ucadata.icu"}\r
index 9180527..c783404 100644 (file)
@@ -5,7 +5,7 @@ ru{
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 66d00b3..43daec6 100644 (file)
@@ -8,7 +8,7 @@ se{
                 "[import und-u-co-search]"\r
                 "[import se-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -53,7 +53,7 @@ se{
                 "<<<Ô<<ǫ"\r
                 "<<<Ǫ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 5e67024..7dab919 100644 (file)
@@ -10,7 +10,7 @@ si{
                 "&ඖ<ං<ඃ"\r
                 "&ජ්ඤ<<ඥ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ si{
                 "&ඖ<ං<ඃ"\r
                 "&ඥ<ඤ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 92afe69..e9ef150 100644 (file)
@@ -21,7 +21,7 @@ sk{
                 "&Y<ý<<<Ý"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -33,7 +33,7 @@ sk{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index b1b59f5..07e8d3b 100644 (file)
@@ -10,7 +10,7 @@ sl{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 28e4e57..156b6b8 100644 (file)
@@ -8,7 +8,7 @@ smn{
                 "[import und-u-co-search]"\r
                 "[import smn-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ smn{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž<æ<<<Æ<ø<<<Ø<å<<<Å<ã<<<Ã<ä<<<Ä<á<<<Á<ö<<<Ö"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 2479d87..2ec2d3c 100644 (file)
@@ -17,7 +17,7 @@ sq{
                 "&[before 1]Y<xh<<<Xh<<<XH"\r
                 "&[before 1]Ʒ<zh<<<Zh<<<ZH"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index ac0c57b..ac205ca 100644 (file)
@@ -8,7 +8,7 @@ sr{
                 "[reorder Cyrl]"\r
                 "[suppressContractions [Ии]]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 4bd84cf..594c993 100644 (file)
@@ -5,11 +5,11 @@ sr_Latn{
     collations{\r
         search{\r
             Sequence{"[import hr-u-co-search]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{"[import hr]"}\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 3f5c5b5..c2e3451 100644 (file)
@@ -12,14 +12,14 @@ sv{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<<ę<<<Ę<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<œ<<<Œ<<ô<<<Ô"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import sv-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -30,7 +30,7 @@ sv{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<<ę<<<Ę<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<œ<<<Œ<<ô<<<Ô"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index d9363f2..8615495 100644 (file)
@@ -34,7 +34,7 @@ ta{
                 "&[before 1]ஹ<ஹ்"\r
                 "&[before 1]க்ஷ<க்ஷ்"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 28fa66b..6ff7ddf 100644 (file)
@@ -9,7 +9,7 @@ te{
                 "[reorder Telu Deva Beng Guru Gujr Orya Taml Knda Mlym Sinh]"\r
                 "&ఔ<ఁ<ం<ః"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 9729b0b..5890281 100644 (file)
@@ -17,7 +17,7 @@ th{
                 "&ๅํ<<<ํๅ"\r
                 "&ไ<ฺ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index ba61603..05c3c9e 100644 (file)
@@ -13,7 +13,7 @@ to{
                 "&o<<ó<<<Ó<<ō<<<Ō"\r
                 "&u<<ú<<<Ú<<ū<<<Ū"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 64dd1ea..7bfcc17 100644 (file)
@@ -8,7 +8,7 @@ tr{
                 "[import und-u-co-search]"\r
                 "[import tr-u-co-standard]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ tr{
                 "&S<ş<<<Ş"\r
                 "&U<ü<<<Ü"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 9f4aa7b..91551ce 100644 (file)
@@ -10,7 +10,7 @@ ug{
                 "&ك<گ<ڭ<ل"\r
                 "&ھ<و<ۇ<ۆ<ۈ<ۋ<ې<ى<ي"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 40b6339..acbb810 100644 (file)
@@ -9,7 +9,7 @@ uk{
                 "&Г<ґ<<<Ґ"\r
                 "&ꙇ<ї<<<\uA676<<<Ї"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index e1277bf..65af6c0 100644 (file)
@@ -12,7 +12,7 @@ ur{
                 "<<\u0651<<\u0658<<\u0653"\r
                 "&[last tertiary ignorable]<<<\u0610<<<\u0611<<<\u0613<<<\u0612<<<\u0614"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 7434f7e..db13445 100644 (file)
@@ -10,7 +10,7 @@ uz{
                 "<sh<<<Sh<<<SH"\r
                 "<ch<<<Ch<<<CH"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index ee91f6b..74bcd94 100644 (file)
@@ -13,7 +13,7 @@ vi{
                 "&o<ô<<<Ô<ơ<<<Ơ"\r
                 "&u<ư<<<Ư"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -32,7 +32,7 @@ vi{
                 "&T<th<<<Th<<<TH<tr<<<Tr<<<TR"\r
                 "&u<ư<<<Ư"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index cdf1310..3bc05fd 100644 (file)
@@ -11,7 +11,7 @@ wo{
                 "&N<ñ<<<Ñ<ŋ<<<Ŋ"\r
                 "&O<ó<<<Ó"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 558e949..de078c4 100644 (file)
@@ -11,7 +11,7 @@ yi{
                 "‎&״"\r
                 "<<'\u0022'"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -28,7 +28,7 @@ yi{
                 "&ש<שׂ"\r
                 "&[before 1]ת<תּ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 6ffc8f3..4c6dd5f 100644 (file)
@@ -11,7 +11,7 @@ yo{
                 "&O<ọ<<<Ọ"\r
                 "&S<ṣ<<<Ṣ"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 78de433..6bfc1cc 100644 (file)
@@ -9,7 +9,7 @@ zh{
                 "[reorder Latn Hani Bopo]"\r
                 "&[last regular]<*兙兛兞兝兡兣嗧瓩糎一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲乂乜凵匚厂万丌乇亍囗屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛毻毼毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         default{"pinyin"}\r
         gb2312han{\r
@@ -18,7 +18,7 @@ zh{
                 "[reorder Latn Hani]"\r
                 "&[last regular]<*啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         pinyin{\r
             Sequence{\r
@@ -1888,7 +1888,7 @@ zh{
                 "&弞<沈阳/阳"\r
                 "&銺<藏文/文"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         private-pinyin{\r
             Sequence{\r
@@ -1902,7 +1902,7 @@ zh{
                 "&[before 2]u<<ū<<<Ū<<ú<<<Ú<<ǔ<<<Ǔ<<ù<<<Ù"\r
                 "&U<<ǖ<<<Ǖ<<ǘ<<<Ǘ<<ǚ<<<Ǚ<<ǜ<<<Ǜ<<ü<<<Ü"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         stroke{\r
             Sequence{\r
@@ -2603,7 +2603,7 @@ zh{
                 "&龟<<<⻳"\r
                 "&龠<<<⿕"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         unihan{\r
             Sequence{\r
@@ -2611,7 +2611,7 @@ zh{
                 "[import zh-u-co-private-pinyin]"\r
                 "[reorder Hani Bopo]"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
         zhuyin{\r
             Sequence{\r
@@ -4637,7 +4637,7 @@ zh{
                 "&龟<<<⻳"\r
                 "&龠<<<⿕"\r
             }\r
-            Version{"32.0.1"}\r
+            Version{"33"}\r
         }\r
     }\r
 }\r
index 9235493..1b07136 100644 (file)
@@ -392,6 +392,10 @@ af{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritaniese ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritaniese ouguiya",\r
         }\r
         MUR{\r
@@ -548,6 +552,10 @@ af{
         }\r
         STD{\r
             "STD",\r
+            "São Tomé en Príncipe dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomé en Príncipe dobra",\r
         }\r
         SYP{\r
@@ -755,7 +763,7 @@ af{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1146,6 +1154,10 @@ af{
             other{"Macaose pataca"}\r
         }\r
         MRO{\r
+            one{"Mauritaniese ouguiya (1973–2017)"}\r
+            other{"Mauritaniese ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritaniese ouguiya"}\r
             other{"Mauritaniese ouguiya"}\r
         }\r
@@ -1294,6 +1306,10 @@ af{
             other{"Suid-Soedanese pond"}\r
         }\r
         STD{\r
+            one{"São Tomé en Príncipe dobra (1977–2017)"}\r
+            other{"São Tomé en Príncipe dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomé en Príncipe dobra"}\r
             other{"São Tomé en Príncipe dobra"}\r
         }\r
@@ -1414,5 +1430,5 @@ af{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7f8c9bd..eeae6c3 100644 (file)
@@ -7,5 +7,5 @@ af_NA{
             "Namibiese dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 19aaa6a..6fffce6 100644 (file)
@@ -124,6 +124,10 @@ agq{
         }\r
         MRO{\r
             "MRO",\r
+            "Ùgueya è Mùlètenyìa (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ùgueya è Mùlètenyìa",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ agq{
         }\r
         STD{\r
             "STD",\r
+            "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ agq{
             "Dɔlà è Zìmbagbɛ̀",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2f9cd4c..0537ac1 100644 (file)
@@ -124,6 +124,10 @@ ak{
         }\r
         MRO{\r
             "MRO",\r
+            "Mɔretenia Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mɔretenia Ouguiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ ak{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome ne Principe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome ne Principe Dobra",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ak{
             "Zimbabwe Dɔla",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 137bc37..7ff192b 100644 (file)
@@ -384,6 +384,10 @@ am{
         }\r
         MRO{\r
             "MRO",\r
+            "የሞሪቴኒያ ኦውጉያ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "የሞሪቴኒያ ኦውጉያ",\r
         }\r
         MUR{\r
@@ -536,6 +540,10 @@ am{
         }\r
         STD{\r
             "STD",\r
+            "የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ",\r
         }\r
         SYP{\r
@@ -739,7 +747,7 @@ am{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1133,6 +1141,10 @@ am{
             other{"የማካኔዝ ፓታካ"}\r
         }\r
         MRO{\r
+            one{"የሞሪቴኒያ ኦውጉያ (1973–2017)"}\r
+            other{"የሞሪቴኒያ ኦውጉያ (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"የሞሪቴኒያ ኦውጉያ"}\r
             other{"የሞሪቴኒያ ኦውጉያ"}\r
         }\r
@@ -1281,6 +1293,10 @@ am{
             other{"የደቡብ ሱዳን ፓውንድ"}\r
         }\r
         STD{\r
+            one{"የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)"}\r
+            other{"የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ"}\r
             other{"የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ"}\r
         }\r
@@ -1405,5 +1421,5 @@ am{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 39d6d5d..d4b720e 100644 (file)
@@ -568,6 +568,10 @@ ar{
         }\r
         MRO{\r
             "أ.م.‏",\r
+            "أوقية موريتانية - 1973-2017",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "أوقية موريتانية",\r
         }\r
         MTL{\r
@@ -780,6 +784,10 @@ ar{
         }\r
         STD{\r
             "STD",\r
+            "دوبرا ساو تومي وبرينسيبي - 1977-2017",\r
+        }\r
+        STN{\r
+            "STN",\r
             "دوبرا ساو تومي وبرينسيبي",\r
         }\r
         SUR{\r
@@ -1107,7 +1115,7 @@ ar{
         SHP{"£"}\r
         SRD{"SR$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1873,6 +1881,14 @@ ar{
             zero{"باتاكا ماكاوي"}\r
         }\r
         MRO{\r
+            few{"أوقية موريتانية - 1973-2017"}\r
+            many{"أوقية موريتانية - 1973-2017"}\r
+            one{"أوقية موريتانية - 1973-2017"}\r
+            other{"أوقية موريتانية - 1973-2017"}\r
+            two{"أوقية موريتانية - 1973-2017"}\r
+            zero{"أوقية موريتانية - 1973-2017"}\r
+        }\r
+        MRU{\r
             few{"أوقية موريتانية"}\r
             many{"أوقية موريتانية"}\r
             one{"أوقية موريتانية"}\r
@@ -2169,6 +2185,14 @@ ar{
             zero{"جنيه جنوب السودان"}\r
         }\r
         STD{\r
+            few{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+            many{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+            one{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+            other{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+            two{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+            zero{"دوبرا ساو تومي وبرينسيبي - 1977-2017"}\r
+        }\r
+        STN{\r
             few{"دوبرا ساو تومي وبرينسيبي"}\r
             many{"دوبرا ساو تومي وبرينسيبي"}\r
             one{"دوبرا ساو تومي وبرينسيبي"}\r
@@ -2417,5 +2441,5 @@ ar{
         two{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 294ad5e..1ad21e2 100644 (file)
@@ -4,5 +4,5 @@ ar_AE{
     Currencies%narrow{\r
         BND{"$"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 53241ee..1431a36 100644 (file)
@@ -7,5 +7,5 @@ ar_DJ{
             "فرنك جيبوتي",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 435a54d..d11b2e8 100644 (file)
@@ -7,5 +7,5 @@ ar_ER{
             "ناكفا أريتري",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index e1666fb..00c0f48 100644 (file)
@@ -7,5 +7,5 @@ ar_KM{
             "فرنك جزر القمر",\r
         }\r
     }\r
-    Version{"2.1.35.71"}\r
+    Version{"2.1.38.80"}\r
 }\r
index ae0fb9d..7f0c0b4 100644 (file)
@@ -7,5 +7,5 @@ ar_LB{
             "جنيه سوداني",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.80"}\r
 }\r
index e837b5a..d869083 100644 (file)
@@ -7,5 +7,5 @@ ar_SO{
             "شلن صومالي",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.80"}\r
 }\r
index c23e2ba..97d21e8 100644 (file)
@@ -11,5 +11,5 @@ ar_SS{
             "جنيه جنوب السودان",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index c4b7c64..e10d5e9 100644 (file)
@@ -4,523 +4,531 @@ as{
     Currencies{\r
         AED{\r
             "AED",\r
-            "AED",\r
+            "সংযুক্ত আৰব আমিৰাত ডিৰহেম",\r
         }\r
         AFN{\r
             "AFN",\r
-            "AFN",\r
+            "আফগান আফগানী",\r
         }\r
         ALL{\r
             "ALL",\r
-            "ALL",\r
+            "আলবেনীয় লেক",\r
         }\r
         AMD{\r
             "AMD",\r
-            "AMD",\r
+            "আৰ্মেনিয়ান ড্ৰাম",\r
         }\r
         ANG{\r
             "ANG",\r
-            "ANG",\r
+            "নেডাৰলেণ্ডছ এণ্টিলিয়েন গিল্ডাৰ",\r
         }\r
         AOA{\r
             "AOA",\r
-            "AOA",\r
+            "এংগোলান কোৱাঞ্জা",\r
         }\r
         ARS{\r
             "ARS",\r
-            "ARS",\r
+            "আৰ্জেণ্টাইন পেছো",\r
         }\r
         AUD{\r
             "A$",\r
-            "à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦¡à¦²à¦¾à¦°",\r
+            "à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়ান à¦¡à¦²à¦¾à§°",\r
         }\r
         AWG{\r
             "AWG",\r
-            "AWG",\r
+            "আৰুবান ফ্ল’ৰিন",\r
         }\r
         AZN{\r
             "AZN",\r
-            "AZN",\r
+            "আজেৰবাইজানী মানাত",\r
         }\r
         BAM{\r
             "BAM",\r
-            "BAM",\r
+            "ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্‌ল মাৰ্ক",\r
         }\r
         BBD{\r
             "BBD",\r
-            "BBD",\r
+            "বাৰ্বাডিয়ান ডলাৰ",\r
         }\r
         BDT{\r
             "BDT",\r
-            "BDT",\r
+            "বাংলাদেশী টাকা",\r
         }\r
         BGN{\r
             "BGN",\r
-            "BGN",\r
+            "বুলগেৰীয় লেভ",\r
         }\r
         BHD{\r
             "BHD",\r
-            "BHD",\r
+            "বাহৰেইনী ডিনাৰ",\r
         }\r
         BIF{\r
             "BIF",\r
-            "BIF",\r
+            "বুৰুণ্ডিয়ান ফ্ৰেংক",\r
         }\r
         BMD{\r
             "BMD",\r
-            "BMD",\r
+            "বাৰ্মুডান ডলাৰ",\r
         }\r
         BND{\r
             "BND",\r
-            "BND",\r
+            "ব্ৰুনেই ডলাৰ",\r
         }\r
         BOB{\r
             "BOB",\r
-            "BOB",\r
+            "বলিভিয়ান বলিভিয়ানো",\r
         }\r
         BRL{\r
             "R$",\r
-            "BRL",\r
+            "ব্ৰাজিলিয়ান ৰিয়েল",\r
         }\r
         BSD{\r
             "BSD",\r
-            "BSD",\r
+            "বাহামিয়ান ডলাৰ",\r
         }\r
         BTN{\r
             "BTN",\r
-            "BTN",\r
+            "ভুটানী নংগলট্ৰাম",\r
         }\r
         BWP{\r
             "BWP",\r
-            "BWP",\r
+            "ব’টচোৱানান পুলা",\r
         }\r
         BYN{\r
             "BYN",\r
-            "BYN",\r
+            "বেলাৰুছীয় ৰুবেল",\r
         }\r
         BZD{\r
             "BZD",\r
-            "BZD",\r
+            "বেলিজ ডলাৰ",\r
         }\r
         CAD{\r
             "CA$",\r
-            "CAD",\r
+            "কানাডিয়ান ডলাৰ",\r
         }\r
         CDF{\r
             "CDF",\r
-            "CDF",\r
+            "কংগো ফ্ৰেংক",\r
         }\r
         CHF{\r
             "CHF",\r
-            "CHF",\r
+            "চুইছ ফ্ৰেংক",\r
         }\r
         CLP{\r
             "CLP",\r
-            "CLP",\r
+            "চিলিয়ান পেছো",\r
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "চীনা ইউৱান (অফশ্ব’ৰ)",\r
         }\r
         CNY{\r
             "CN¥",\r
-            "CNY",\r
+            "চীনা ইউৱান",\r
         }\r
         COP{\r
             "COP",\r
-            "COP",\r
+            "কলম্বিয়ান পেছো",\r
         }\r
         CRC{\r
             "CRC",\r
-            "CRC",\r
+            "কোষ্টা ৰিকান কোলন",\r
         }\r
         CUC{\r
             "CUC",\r
-            "CUC",\r
+            "কিউবান ৰূপান্তৰযোগ্য পেছো",\r
         }\r
         CUP{\r
             "CUP",\r
-            "CUP",\r
+            "কিউবান পেছো",\r
         }\r
         CVE{\r
             "CVE",\r
-            "CVE",\r
+            "কেপ ভাৰ্দে এছকুডো",\r
         }\r
         CZK{\r
             "CZK",\r
-            "CZK",\r
+            "চেক কোৰুনা",\r
         }\r
         DJF{\r
             "DJF",\r
-            "DJF",\r
+            "জিবুটি ফ্ৰেংক",\r
         }\r
         DKK{\r
             "DKK",\r
-            "DKK",\r
+            "ডেনিচ ক্ৰোন",\r
         }\r
         DOP{\r
             "DOP",\r
-            "DOP",\r
+            "ড’মিনিকান পেছো",\r
         }\r
         DZD{\r
             "DZD",\r
-            "DZD",\r
+            "আলজেৰীয় ডিনাৰ",\r
         }\r
         EGP{\r
             "EGP",\r
-            "EGP",\r
+            "ইজিপ্তৰ পাউণ্ড",\r
         }\r
         ERN{\r
             "ERN",\r
-            "ERN",\r
+            "এৰিট্ৰিয়ন নাক্‌ফা",\r
         }\r
         ETB{\r
             "ETB",\r
-            "ETB",\r
+            "ইথিঅ’পিয়ান বিৰ",\r
         }\r
         EUR{\r
             "€",\r
-            "à¦\87à¦\89রà§\8bর",\r
+            "à¦\87à¦\89ৰà§\8b",\r
         }\r
         FJD{\r
             "FJD",\r
-            "ফিà¦\9cিয়ান à¦¡à¦²à¦¾à¦°",\r
+            "ফিà¦\9cিয়ান à¦¡à¦²à¦¾à§°",\r
         }\r
         FKP{\r
             "FKP",\r
-            "FKP",\r
+            "ফকলেণ্ড দ্বীপপুঞ্জৰ পাউণ্ড",\r
         }\r
         GBP{\r
             "£",\r
-            "GBP",\r
+            "ব্ৰিটিছ পাউণ্ড",\r
         }\r
         GEL{\r
             "GEL",\r
-            "GEL",\r
+            "জৰ্জিয়ান লাৰি",\r
         }\r
         GHS{\r
             "GHS",\r
-            "GHS",\r
+            "ঘানাৰ চেডি",\r
         }\r
         GIP{\r
             "GIP",\r
-            "GIP",\r
+            "জিব্ৰাল্টৰ পাউণ্ড",\r
         }\r
         GMD{\r
             "GMD",\r
-            "GMD",\r
+            "গাম্বিয়া ডালাছি",\r
         }\r
         GNF{\r
             "GNF",\r
-            "GNF",\r
+            "গিনি ফ্ৰেংক",\r
         }\r
         GTQ{\r
             "GTQ",\r
-            "GTQ",\r
+            "গুৱাটেমালা কুৱেৎজাল",\r
         }\r
         GYD{\r
             "GYD",\r
-            "GYD",\r
+            "গায়ানিজ ডলাৰ",\r
         }\r
         HKD{\r
             "HK$",\r
-            "HKD",\r
+            "হং কং ডলাৰ",\r
         }\r
         HNL{\r
             "HNL",\r
-            "HNL",\r
+            "হোন্দুৰান লেম্পিৰা",\r
         }\r
         HRK{\r
             "HRK",\r
-            "HRK",\r
+            "ক্ৰোৱেছিয়ান কুনা",\r
         }\r
         HTG{\r
             "HTG",\r
-            "HTG",\r
+            "হাইটিয়ান গৌৰ্ড",\r
         }\r
         HUF{\r
             "HUF",\r
-            "HUF",\r
+            "হাংগেৰীয়ান ফ’ৰিণ্ট",\r
         }\r
         IDR{\r
             "IDR",\r
-            "IDR",\r
+            "ইণ্ডোনেচিয়ান ৰুপিয়াহ",\r
         }\r
         ILS{\r
             "₪",\r
-            "ILS",\r
+            "ইজৰাইলী নিউ শ্বেকেল",\r
         }\r
         INR{\r
             "₹",\r
-            "INR",\r
+            "ভাৰতীয় ৰুপী",\r
         }\r
         IQD{\r
             "IQD",\r
-            "IQD",\r
+            "ইৰাকী ডিনাৰ",\r
         }\r
         IRR{\r
             "IRR",\r
-            "IRR",\r
+            "ইৰানীয়ান ৰিয়েল",\r
         }\r
         ISK{\r
             "ISK",\r
-            "ISK",\r
+            "আইচলেণ্ডিক ক্ৰোনা",\r
         }\r
         JMD{\r
             "JMD",\r
-            "JMD",\r
+            "জামাইকান ডলাৰ",\r
         }\r
         JOD{\r
             "JOD",\r
-            "JOD",\r
+            "জৰ্ডানিয়ান ডিনাৰ",\r
         }\r
         JPY{\r
             "JP¥",\r
-            "JPY",\r
+            "জাপানী য়েন",\r
         }\r
         KES{\r
             "KES",\r
-            "KES",\r
+            "কেনিয়ান শ্বিলিং",\r
         }\r
         KGS{\r
             "KGS",\r
-            "KGS",\r
+            "কিৰ্গিস্তানী ছোম",\r
         }\r
         KHR{\r
             "KHR",\r
-            "KHR",\r
+            "কেম্ব’ডিয়ান ৰিয়েল",\r
         }\r
         KMF{\r
             "KMF",\r
-            "KMF",\r
+            "ক’মোৰিয়ান ফ্ৰেংক",\r
         }\r
         KPW{\r
             "KPW",\r
-            "KPW",\r
+            "উত্তৰ কোৰিয়াৰ ওৱান",\r
         }\r
         KRW{\r
             "₩",\r
-            "KRW",\r
+            "দক্ষিণ কোৰিয়াৰ ওৱান",\r
         }\r
         KWD{\r
             "KWD",\r
-            "KWD",\r
+            "কুৱেইটি ডিনাৰ",\r
         }\r
         KYD{\r
             "KYD",\r
-            "KYD",\r
+            "কেইমেন দ্বীপপুঞ্জৰ ডলাৰ",\r
         }\r
         KZT{\r
             "KZT",\r
-            "KZT",\r
+            "কাজাখস্তানী তেঞ্জ",\r
         }\r
         LAK{\r
             "LAK",\r
-            "LAK",\r
+            "লাওচিয়ান কিপ",\r
         }\r
         LBP{\r
             "LBP",\r
-            "LBP",\r
+            "লেবানীজ পাউণ্ড",\r
         }\r
         LKR{\r
             "LKR",\r
-            "LKR",\r
+            "শ্ৰীলংকান ৰুপী",\r
         }\r
         LRD{\r
             "LRD",\r
-            "LRD",\r
+            "লাইবেৰিয়ান ডলাৰ",\r
         }\r
         LYD{\r
             "LYD",\r
-            "LYD",\r
+            "লিবিয়ান ডিনাৰ",\r
         }\r
         MAD{\r
             "MAD",\r
-            "MAD",\r
+            "মৰোক্কান ডিৰহাম",\r
         }\r
         MDL{\r
             "MDL",\r
-            "MDL",\r
+            "মোলডোভান লেউ",\r
         }\r
         MGA{\r
             "MGA",\r
-            "MGA",\r
+            "মালাগাছী এৰিয়াৰী",\r
         }\r
         MKD{\r
             "MKD",\r
-            "MKD",\r
+            "মেচিডোনীয় ডেনাৰ",\r
         }\r
         MMK{\r
             "MMK",\r
-            "MMK",\r
+            "ম্যানমাৰ কিয়াট",\r
         }\r
         MNT{\r
             "MNT",\r
-            "MNT",\r
+            "মঙ্গোলিয়ান টুৰ্গিক",\r
         }\r
         MOP{\r
             "MOP",\r
-            "MOP",\r
+            "মেকানীজ পাটাকা",\r
         }\r
         MRO{\r
             "MRO",\r
-            "MRO",\r
+            "ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
+            "ম’ৰিটেনিয়ান ঔগুইয়া",\r
         }\r
         MUR{\r
             "MUR",\r
-            "MUR",\r
+            "মৰিচিয়ান ৰুপী",\r
         }\r
         MVR{\r
             "MVR",\r
-            "MVR",\r
+            "মালডিভিয়ান ৰুফিয়া",\r
         }\r
         MWK{\r
             "MWK",\r
-            "MWK",\r
+            "মালাউইয়ান কোৱাচা",\r
         }\r
         MXN{\r
             "MX$",\r
-            "MXN",\r
+            "মেক্সিকান পেছো",\r
         }\r
         MYR{\r
             "MYR",\r
-            "MYR",\r
+            "মালায়েচিয়ান ৰিংগিট",\r
         }\r
         MZN{\r
             "MZN",\r
-            "MZN",\r
+            "মোজাম্বিকান মেটিকল",\r
         }\r
         NAD{\r
             "NAD",\r
-            "NAD",\r
+            "নামিবিয়ান ডলাৰ",\r
         }\r
         NGN{\r
             "NGN",\r
-            "NGN",\r
+            "নাইজেৰিয়ান নাইৰা",\r
         }\r
         NIO{\r
             "NIO",\r
-            "NIO",\r
+            "নিকাৰাগুৱান কোৰ্ডোবা",\r
         }\r
         NOK{\r
             "NOK",\r
-            "NOK",\r
+            "নৰৱেজিয়ান ক্ৰোন",\r
         }\r
         NPR{\r
             "NPR",\r
-            "NPR",\r
+            "নেপালী ৰুপী",\r
         }\r
         NZD{\r
             "NZ$",\r
-            "নিà¦\89à¦\9cিলà§\8dযানà§\8dড à¦¡à¦²à¦¾à¦°",\r
+            "নিà¦\89à¦\9cিলà§\87ণà§\8dড à¦¡à¦²à¦¾à§°",\r
         }\r
         OMR{\r
             "OMR",\r
-            "OMR",\r
+            "ওমানি ৰিয়েল",\r
         }\r
         PAB{\r
             "PAB",\r
-            "PAB",\r
+            "পানামেনিয়ান বাল্বোৱা",\r
         }\r
         PEN{\r
             "PEN",\r
-            "PEN",\r
+            "পেৰুভিয়ান ছ’ল",\r
         }\r
         PGK{\r
             "PGK",\r
-            "পাপà§\81য়া à¦¨à¦¿à¦\89 à¦\97িনিন à¦\95à§\87নিয়া",\r
+            "পাপà§\81ৱা à¦¨à¦¿à¦\89 à¦\97িনি à¦\95িনা",\r
         }\r
         PHP{\r
             "PHP",\r
-            "ফিলিপাà¦\87ন à¦ªà§\87সà§\8b",\r
+            "ফিলিপিন à¦ªà§\87à¦\87à¦\9bâ\80\99",\r
         }\r
         PKR{\r
             "PKR",\r
-            "PKR",\r
+            "পাকিস্তানী ৰুপী",\r
         }\r
         PLN{\r
             "PLN",\r
-            "PLN",\r
+            "প’লিচ জোল্টী",\r
         }\r
         PYG{\r
             "PYG",\r
-            "PYG",\r
+            "পাৰাগুয়ান গুৱাৰানি",\r
         }\r
         QAR{\r
             "QAR",\r
-            "QAR",\r
+            "কাটাৰি ৰিয়েল",\r
         }\r
         RON{\r
             "RON",\r
-            "RON",\r
+            "ৰোমানীয় লেউ",\r
         }\r
         RSD{\r
             "RSD",\r
-            "RSD",\r
+            "চাৰ্বিয়ান ডিনাৰ",\r
         }\r
         RUB{\r
             "RUB",\r
-            "RUB",\r
+            "ৰাছিয়ান ৰুব্‌ল",\r
         }\r
         RWF{\r
             "RWF",\r
-            "RWF",\r
+            "ৰোৱান্দান ফ্ৰেংক",\r
         }\r
         SAR{\r
             "SAR",\r
-            "SAR",\r
+            "চৌডি ৰিয়েল",\r
         }\r
         SBD{\r
             "SBD",\r
-            "সলà§\8bমন à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c à¦¡à¦²à¦¾à¦°",\r
+            "à¦\9aà§\8bলà§\8bমà§\8bন à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ à¦¡à¦²à¦¾à§°",\r
         }\r
         SCR{\r
             "SCR",\r
-            "SCR",\r
+            "ছেচেলৱা ৰুপী",\r
         }\r
         SDG{\r
             "SDG",\r
-            "SDG",\r
+            "চুডানী পাউণ্ড",\r
         }\r
         SEK{\r
             "SEK",\r
-            "SEK",\r
+            "চুইডিছ ক্ৰোনা",\r
         }\r
         SGD{\r
             "SGD",\r
-            "সিà¦\99à§\8dà¦\97াপà§\81র à¦¡à¦²à¦¾à¦°",\r
+            "à¦\9bিà¦\82à¦\97াপà§\81ৰ à¦¡à¦²à¦¾à§°",\r
         }\r
         SHP{\r
             "SHP",\r
-            "SHP",\r
+            "ছেইণ্ট হেলেনা পাউণ্ড",\r
         }\r
         SLL{\r
             "SLL",\r
-            "SLL",\r
+            "চিয়েৰা লিঅ’নৰ লিঅ’ন",\r
         }\r
         SOS{\r
             "SOS",\r
-            "SOS",\r
+            "চোমালি শ্বিলিং",\r
         }\r
         SRD{\r
             "SRD",\r
-            "SRD",\r
+            "ছুৰিনামী ডলাৰ",\r
         }\r
         SSP{\r
             "SSP",\r
-            "SSP",\r
+            "দক্ষিণ চুডানীজ পাউণ্ড",\r
         }\r
         STD{\r
             "STD",\r
-            "STD",\r
+            "চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
+            "চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা",\r
         }\r
         SYP{\r
             "SYP",\r
-            "SYP",\r
+            "চিৰিয়ান পাউণ্ড",\r
         }\r
         SZL{\r
             "SZL",\r
-            "SZL",\r
+            "স্বাজি লিলেংগেনি",\r
         }\r
         THB{\r
             "THB",\r
@@ -528,99 +536,103 @@ as{
         }\r
         TJS{\r
             "TJS",\r
-            "TJS",\r
+            "তাজিকিস্তানী ছোমনি",\r
         }\r
         TMT{\r
             "TMT",\r
-            "TMT",\r
+            "তুৰ্কমেনিস্তানী মানাত",\r
         }\r
         TND{\r
             "TND",\r
-            "TND",\r
+            "টুনিচিয়ান ডিনাৰ",\r
         }\r
         TOP{\r
             "TOP",\r
-            "à¦\9fà§\8bà¦\99à§\8dà¦\97ান à¦ªà¦¾ংগা",\r
+            "à¦\9fà¦\82à¦\97ান à¦ªà¦¾à¦\86ংগা",\r
         }\r
         TRY{\r
             "TRY",\r
-            "TRY",\r
+            "তুৰ্কীৰ লিৰা",\r
         }\r
         TTD{\r
             "TTD",\r
-            "TTD",\r
+            "ট্ৰিনিডাড আৰু টোবাগো ডলাৰ",\r
         }\r
         TWD{\r
             "NT$",\r
-            "TWD",\r
+            "নিউ টাইৱান ডলাৰ",\r
         }\r
         TZS{\r
             "TZS",\r
-            "TZS",\r
+            "টানজানিয়ান শ্বিলিং",\r
         }\r
         UAH{\r
             "UAH",\r
-            "UAH",\r
+            "ইউক্ৰেইনীয় হৃভনিয়া",\r
         }\r
         UGX{\r
             "UGX",\r
-            "UGX",\r
+            "উগাণ্ডান শ্বিলিং",\r
         }\r
         USD{\r
             "US$",\r
-            "USD",\r
+            "ইউ. এছ. ডলাৰ",\r
         }\r
         UYU{\r
             "UYU",\r
-            "UYU",\r
+            "উৰুগুৱেয়ান পেছো",\r
         }\r
         UZS{\r
             "UZS",\r
-            "UZS",\r
+            "উজবেকিস্তানী ছোম",\r
         }\r
         VEF{\r
             "VEF",\r
-            "VEF",\r
+            "ভেনিজুৱেলান বলিভাৰ",\r
         }\r
         VND{\r
             "₫",\r
-            "ভিয়à§\87তনামà§\80 ডং",\r
+            "ভিয়à§\87à¦\9fনামà§\80à¦\9c ডং",\r
         }\r
         VUV{\r
             "VUV",\r
-            "ভানà§\81য়াতà§\81 à¦­à¦¾à¦¤ু",\r
+            "ভানাà¦\9fà§\81ৰ à¦­à¦¾à¦\9fু",\r
         }\r
         WST{\r
             "WST",\r
-            "সামà§\8bয়ান à¦¤à¦¾à¦²",\r
+            "à¦\9bামà§\8bৱান à¦\9fালা",\r
         }\r
         XAF{\r
             "FCFA",\r
-            "XAF",\r
+            "মধ্য আফ্ৰিকান CFA ফ্ৰেংক",\r
         }\r
         XCD{\r
             "EC$",\r
-            "XCD",\r
+            "ইষ্ট কেৰিবিয়ান ডলাৰ",\r
         }\r
         XOF{\r
             "CFA",\r
-            "XOF",\r
+            "পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক",\r
         }\r
         XPF{\r
             "CFPF",\r
-            "CFP ফ্রাঙ্ক",\r
+            "CFP ফ্ৰেংক",\r
+        }\r
+        XXX{\r
+            "XXX",\r
+            "অজ্ঞাত মুদ্ৰা",\r
         }\r
         YER{\r
             "YER",\r
-            "YER",\r
+            "য়েমেনী ৰিয়েল",\r
         }\r
         ZAR{\r
             "ZAR",\r
-            "ZAR",\r
+            "দক্ষিণ আফ্ৰিকাৰ ৰাণ্ড",\r
         }\r
         ZMW{\r
             "ZMW",\r
-            "ZMW",\r
+            "জাম্বিয়ান কোৱাচা",\r
         }\r
     }\r
     Currencies%narrow{\r
@@ -703,7 +715,7 @@ as{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -723,62 +735,638 @@ as{
         TRY{"TL"}\r
     }\r
     CurrencyPlurals{\r
+        AED{\r
+            one{"UAE ডিৰহেম"}\r
+            other{"UAE ডিৰহেম"}\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
+            one{"অষ্ট্ৰেলিয়ান ডলাৰ"}\r
+            other{"অষ্ট্ৰেলিয়ান ডলাৰ"}\r
+        }\r
+        AWG{\r
+            one{"আৰুবান ফ্ল’ৰিন"}\r
+            other{"আৰুবান ফ্ল’ৰিন"}\r
+        }\r
+        AZN{\r
+            one{"আজেৰবাইজানী মানাত"}\r
+            other{"আজেৰবাইজানী মানাত"}\r
+        }\r
+        BAM{\r
+            one{"ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্‌ল মাৰ্ক"}\r
+            other{"ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্‌ল মাৰ্ক"}\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{"à¦\87à¦\89রà§\8bর"}\r
-            other{"à¦\87à¦\89রà§\8bর"}\r
+            one{"à¦\87à¦\89ৰà§\8b"}\r
+            other{"à¦\87à¦\89ৰà§\8b"}\r
         }\r
         FJD{\r
-            one{"ফিজিয়ান ডলার"}\r
-            other{"ফিজিয়ান ডলার"}\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
+        HTG{\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{"ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)"}\r
+            other{"ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)"}\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
+            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{"পাপà§\81য়া à¦¨à¦¿à¦\89 à¦\97িনিন à¦\95à§\87নিয়া"}\r
-            other{"পাপà§\81য়া à¦¨à¦¿à¦\89 à¦\97িনিন à¦\95à§\87নিয়া"}\r
+            one{"পাপà§\81ৱা à¦¨à¦¿à¦\89 à¦\97িনি à¦\95িনা"}\r
+            other{"পাপà§\81ৱা à¦¨à¦¿à¦\89 à¦\97িনি à¦\95িনা"}\r
         }\r
         PHP{\r
-            one{"ফিলিপাইন পেসো"}\r
-            other{"ফিলিপাইন পেসো"}\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
-            one{"সলোমন দ্বীপপুঞ্জ ডলার"}\r
-            other{"সলোমন দ্বীপপুঞ্জ ডলার"}\r
+            one{"চোলোমোন দ্বীপপুঞ্জৰ ডলাৰ"}\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
+            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
+        STD{\r
+            one{"চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা (1977–2017)"}\r
+            other{"চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা (1977–2017)"}\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
+            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
         VND{\r
-            one{"ভিয়à§\87তনামà§\80 ডং"}\r
-            other{"ভিয়à§\87তনামà§\80 ডং"}\r
+            one{"ভিয়à§\87à¦\9fনামà§\80à¦\9c ডং"}\r
+            other{"ভিয়à§\87à¦\9fনামà§\80à¦\9c ডং"}\r
         }\r
         VUV{\r
-            one{"ভানà§\81য়াতà§\81 à¦­à¦¾à¦¤ু"}\r
-            other{"ভানà§\81য়াতà§\81 à¦­à¦¾à¦¤ু"}\r
+            one{"ভানাà¦\9fà§\81ৰ à¦­à¦¾à¦\9fু"}\r
+            other{"ভানাà¦\9fà§\81ৰ à¦­à¦¾à¦\9fু"}\r
         }\r
         WST{\r
-            one{"সামোয়ান তাল"}\r
-            other{"সামোয়ান তাল"}\r
+            one{"ছামোৱান টালা"}\r
+            other{"ছামোৱান টালা"}\r
+        }\r
+        XAF{\r
+            one{"মধ্য আফ্ৰিকান CFA ফ্ৰেংক"}\r
+            other{"মধ্য আফ্ৰিকান CFA ফ্ৰেংক"}\r
+        }\r
+        XCD{\r
+            one{"ইষ্ট কেৰিবিয়ান ডলাৰ"}\r
+            other{"ইষ্ট কেৰিবিয়ান ডলাৰ"}\r
+        }\r
+        XOF{\r
+            one{"পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক"}\r
+            other{"পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক"}\r
         }\r
         XPF{\r
-            one{"CFP ফ্রাঙ্ক"}\r
-            other{"CFP ফ্রাঙ্ক"}\r
+            one{"CFP ফ্ৰেংক"}\r
+            other{"CFP ফ্ৰেংক"}\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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7c5886b..9412d35 100644 (file)
@@ -124,6 +124,10 @@ asa{
         }\r
         MRO{\r
             "MRO",\r
+            "ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ asa{
         }\r
         STD{\r
             "STD",\r
+            "dobra ya Thao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra ya Thao Tome na Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ asa{
             "dola ya Dhimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 08d479c..b54ed6f 100644 (file)
@@ -680,6 +680,10 @@ ast{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya mauritanu (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya mauritanu",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ ast{
         }\r
         STD{\r
             "STD",\r
+            "dobra de Santu Tomé y Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra de Santu Tomé y Príncipe",\r
         }\r
         SUR{\r
@@ -1278,7 +1286,7 @@ ast{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1976,6 +1984,10 @@ ast{
             other{"pataques de Macáu"}\r
         }\r
         MRO{\r
+            one{"ouguiya mauritanu (1973–2017)"}\r
+            other{"ouguiyas mauritanos (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya mauritanu"}\r
             other{"ouguiyas mauritanos"}\r
         }\r
@@ -2208,6 +2220,10 @@ ast{
             other{"llibres sursudaneses"}\r
         }\r
         STD{\r
+            one{"dobra de Santu Tomé y Príncipe (1977–2017)"}\r
+            other{"dobras de Santu Tomé y Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra de Santu Tomé y Príncipe"}\r
             other{"dobras de Santu Tomé y Príncipe"}\r
         }\r
@@ -2496,5 +2512,5 @@ ast{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 606cfe5..91a0284 100644 (file)
@@ -228,7 +228,7 @@ az{
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "Çin Yuanı (ofşor)",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -620,6 +620,10 @@ az{
         }\r
         MRO{\r
             "MRO",\r
+            "Mavritaniya Ugiyası (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mavritaniya Ugiyası",\r
         }\r
         MTP{\r
@@ -828,6 +832,10 @@ az{
         }\r
         STD{\r
             "STD",\r
+            "San Tom və Prinsip Dobrası (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "San Tom və Prinsip Dobrası",\r
         }\r
         SUR{\r
@@ -1147,7 +1155,7 @@ az{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"S£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1393,8 +1401,8 @@ az{
             other{"Çili pesosu"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"Çin yuanı (ofşor)"}\r
+            other{"Çin yuanı (ofşor)"}\r
         }\r
         CNY{\r
             one{"Çin yuanı"}\r
@@ -1785,6 +1793,10 @@ az{
             other{"Makao patakası"}\r
         }\r
         MRO{\r
+            one{"Mavritaniya ugiyası (1973–2017)"}\r
+            other{"Mavritaniya ugiyası (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mavritaniya ugiyası"}\r
             other{"Mavritaniya ugiyası"}\r
         }\r
@@ -1993,6 +2005,10 @@ az{
             other{"Cənubi Sudan funtu"}\r
         }\r
         STD{\r
+            one{"San Tom və Prinsip dobrası (1977–2017)"}\r
+            other{"San Tom və Prinsip dobrası (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"San Tom və Prinsip dobrası"}\r
             other{"San Tom və Prinsip dobrası"}\r
         }\r
@@ -2237,5 +2253,5 @@ az{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9ea952a..29fda17 100644 (file)
@@ -11,5 +11,5 @@ az_Cyrl{
     Currencies%variant{\r
         AZN{"ман."}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e225799..28c45d8 100644 (file)
@@ -124,6 +124,10 @@ bas{
         }\r
         MRO{\r
             "MRO",\r
+            "Ùgwiya mòrìtanìa (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ùgwiya mòrìtanìa",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ bas{
         }\r
         STD{\r
             "STD",\r
+            "Dobrà sàotòme (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobrà sàotòme",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ bas{
             "Dɔ̀lâr sìmbàbwê",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2acba92..6f16ad0 100644 (file)
@@ -368,6 +368,10 @@ be{
         }\r
         MRO{\r
             "MRO",\r
+            "маўрытанская ўгія (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "маўрытанская ўгія",\r
         }\r
         MUR{\r
@@ -516,6 +520,10 @@ be{
         }\r
         STD{\r
             "STD",\r
+            "добра Сан-Тамэ і Прынсіпі (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "добра Сан-Тамэ і Прынсіпі",\r
         }\r
         SYP{\r
@@ -711,7 +719,7 @@ be{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1279,6 +1287,12 @@ be{
             other{"патакі Макаа"}\r
         }\r
         MRO{\r
+            few{"маўрытанскія ўгіі (1973–2017)"}\r
+            many{"маўрытанскіх угій (1973–2017)"}\r
+            one{"маўрытанская ўгія (1973–2017)"}\r
+            other{"маўрытанскай ўгіі (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"маўрытанскія ўгіі"}\r
             many{"маўрытанскіх угій"}\r
             one{"маўрытанская ўгія"}\r
@@ -1501,6 +1515,12 @@ be{
             other{"паўднёвасуданскага фунта"}\r
         }\r
         STD{\r
+            few{"добры Сан-Тамэ і Прынсіпі (1977–2017)"}\r
+            many{"добраў Сан-Тамэ і Прынсіпі (1977–2017)"}\r
+            one{"добра Сан-Тамэ і Прынсіпі (1977–2017)"}\r
+            other{"добры Сан-Тамэ і Прынсіпі (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"добры Сан-Тамэ і Прынсіпі"}\r
             many{"добраў Сан-Тамэ і Прынсіпі"}\r
             one{"добра Сан-Тамэ і Прынсіпі"}\r
@@ -1681,5 +1701,5 @@ be{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0c1ba7a..17ac2af 100644 (file)
@@ -7,5 +7,5 @@ bem{
             "ZMW",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2d925f0..dcd81ac 100644 (file)
@@ -124,6 +124,10 @@ bez{
         }\r
         MRO{\r
             "MRO",\r
+            "Lupila lwa Humolitania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Lupila lwa Humolitania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ bez{
         }\r
         STD{\r
             "STD",\r
+            "Lupila lwa Husaotome na Huprinisipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Lupila lwa Husaotome na Huprinisipe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ bez{
             "Lupila lwa Huzimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5274850..a57b3c3 100644 (file)
@@ -600,6 +600,10 @@ bg{
         }\r
         MRO{\r
             "MRO",\r
+            "Мавританска угия (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мавританска угия",\r
         }\r
         MTL{\r
@@ -820,6 +824,10 @@ bg{
         }\r
         STD{\r
             "STD",\r
+            "Добра на Сао Томе и Принсипи (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Добра на Сао Томе и Принсипи",\r
         }\r
         SUR{\r
@@ -1154,7 +1162,7 @@ bg{
         SHP{"£"}\r
         SRD{"SRD"}\r
         SSP{"SSP"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1696,6 +1704,10 @@ bg{
             other{"патаки на Макао"}\r
         }\r
         MRO{\r
+            one{"мавританска угия (1973–2017)"}\r
+            other{"мавритански угии (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"мавританска угия"}\r
             other{"мавритански угии"}\r
         }\r
@@ -1904,6 +1916,10 @@ bg{
             other{"южносудански лири"}\r
         }\r
         STD{\r
+            one{"добра на Сао Томе и Принсипи (1977–2017)"}\r
+            other{"добра на Сао Томе и Принсипи (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"добра на Сао Томе и Принсипи"}\r
             other{"добра на Сао Томе и Принсипи"}\r
         }\r
@@ -2104,5 +2120,5 @@ bg{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0faeccf..18bba62 100644 (file)
@@ -124,6 +124,10 @@ bm{
         }\r
         MRO{\r
             "MRO",\r
+            "mɔritani Uguwiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mɔritani Uguwiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ bm{
         }\r
         STD{\r
             "STD",\r
+            "sawotome Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "sawotome Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ bm{
             "zimbabuwe Dolar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ad3cea4..53ec718 100644 (file)
@@ -616,6 +616,10 @@ bn{
         }\r
         MRO{\r
             "MRO",\r
+            "মৌরিতানিয়ান ওউগুইয়া (১৯৭৩–২০১৭)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "মৌরিতানিয়ান ওউগুইয়া",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ bn{
         }\r
         STD{\r
             "STD",\r
+            "সাও টোমে এবং প্রিন্সিপে ডোবরা (১৯৭৭–২০১৭)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "সাও টোমে এবং প্রিন্সিপে ডোবরা",\r
         }\r
         SUR{\r
@@ -1167,7 +1175,7 @@ bn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1561,6 +1569,10 @@ bn{
             other{"ম্যাক্যাও পাটাকা"}\r
         }\r
         MRO{\r
+            one{"মৌরিতানিয়ান ওউগুইয়া (১৯৭৩–২০১৭)"}\r
+            other{"মৌরিতানিয়ান ওউগুইয়া (১৯৭৩–২০১৭)"}\r
+        }\r
+        MRU{\r
             one{"মৌরিতানিয়ান ওউগুইয়া"}\r
             other{"মৌরিতানিয়ান ওউগুইয়া"}\r
         }\r
@@ -1713,6 +1725,10 @@ bn{
             other{"দক্ষিণ সুদানি পাউন্ড"}\r
         }\r
         STD{\r
+            one{"সাও টোমে এবং প্রিন্সিপে ডোবরা (১৯৭৭–২০১৭)"}\r
+            other{"সাও টোমে এবং প্রিন্সিপে ডোবরা (১৯৭৭–২০১৭)"}\r
+        }\r
+        STN{\r
             one{"সাও টোমে এবং প্রিন্সিপে ডোবরা"}\r
             other{"সাও টোমে এবং প্রিন্সিপে ডোবরা"}\r
         }\r
@@ -1829,5 +1845,5 @@ bn{
             other{"জাম্বিয়ান কওয়াচা"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b636987..199b64f 100644 (file)
@@ -19,5 +19,5 @@ bo{
             "མ་རྟོགས་པའི་ནུས་མེད་དངུལ་ལོར",\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 866f7c5..3217cd4 100644 (file)
@@ -7,5 +7,5 @@ bo_IN{
             "ཡུ་ཨན་",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9f689e5..bb04a48 100644 (file)
@@ -680,6 +680,10 @@ br{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya Maouritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya Maouritania",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ br{
         }\r
         STD{\r
             "STD",\r
+            "dobra São Tomé ha Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra São Tomé ha Príncipe",\r
         }\r
         SUR{\r
@@ -1262,7 +1270,7 @@ br{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"$ T"}\r
@@ -2314,6 +2322,13 @@ br{
             two{"bataca Macau"}\r
         }\r
         MRO{\r
+            few{"ouguiya Maouritania (1973–2017)"}\r
+            many{"a ouguiyaoù Maouritania (1973–2017)"}\r
+            one{"ouguiya Maouritania (1973–2017)"}\r
+            other{"ouguiya Maouritania (1973–2017)"}\r
+            two{"ouguiya Maouritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya Maouritania"}\r
             many{"a ouguiyaoù Maouritania"}\r
             one{"ouguiya Maouritania"}\r
@@ -2706,6 +2721,13 @@ br{
             two{"lur Susoudan"}\r
         }\r
         STD{\r
+            few{"dobra São Tomé ha Príncipe (1977–2017)"}\r
+            many{"a zobraoù São Tomé ha Príncipe (1977–2017)"}\r
+            one{"dobra São Tomé ha Príncipe (1977–2017)"}\r
+            other{"dobra São Tomé ha Príncipe (1977–2017)"}\r
+            two{"zobra São Tomé ha Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobra São Tomé ha Príncipe"}\r
             many{"a zobraoù São Tomé ha Príncipe"}\r
             one{"dobra São Tomé ha Príncipe"}\r
@@ -3105,5 +3127,5 @@ br{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 99e6726..afc1dfd 100644 (file)
@@ -608,6 +608,10 @@ brx{
         }\r
         MRO{\r
             "MRO",\r
+            "मौरिटानी ऊगुया (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "मौरिटानी ऊगुया",\r
         }\r
         MTL{\r
@@ -824,6 +828,10 @@ brx{
         }\r
         STD{\r
             "STD",\r
+            "साँव तोमे एवं प्रीन्सीपे का डोब्रा (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "साँव तोमे एवं प्रीन्सीपे का डोब्रा",\r
         }\r
         SUR{\r
@@ -1075,5 +1083,5 @@ brx{
             "ज़ीम्बाबवेई डॉलर",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 29f9188..60b6c1b 100644 (file)
@@ -648,6 +648,10 @@ bs{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanijska ugvija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanijska ugvija",\r
         }\r
         MTL{\r
@@ -876,6 +880,10 @@ bs{
         }\r
         STD{\r
             "STD",\r
+            "Dobra Sao Toma i Principa (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra Sao Toma i Principa",\r
         }\r
         SUR{\r
@@ -1227,7 +1235,7 @@ bs{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2053,6 +2061,11 @@ bs{
             other{"makaonskih pataka"}\r
         }\r
         MRO{\r
+            few{"mauritanijske ugvije (1973–2017)"}\r
+            one{"mauritanijska ugvija (1973–2017)"}\r
+            other{"mauritanijskih ugvija (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauritanijske ugvije"}\r
             one{"mauritanijska ugvija"}\r
             other{"mauritanijskih ugvija"}\r
@@ -2338,6 +2351,11 @@ bs{
             other{"južnosudanskih funti"}\r
         }\r
         STD{\r
+            few{"dobre Sao Toma i Principa (1977–2017)"}\r
+            one{"dobra Sao Toma i Principa (1977–2017)"}\r
+            other{"dobri Sao Toma i Principa (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobre Sao Toma i Principa"}\r
             one{"dobra Sao Toma i Principa"}\r
             other{"dobri Sao Toma i Principa"}\r
@@ -2683,5 +2701,5 @@ bs{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1986611..badf5fe 100644 (file)
@@ -621,6 +621,10 @@ bs_Cyrl{
         }\r
         MRO{\r
             "MRO",\r
+            "Мауританијска угвија (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мауританијска угвија",\r
         }\r
         MTL{\r
@@ -845,6 +849,10 @@ bs_Cyrl{
         }\r
         STD{\r
             "STD",\r
+            "Сао Томе и Принципе добра (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Сао Томе и Принципе добра",\r
         }\r
         SUR{\r
@@ -1884,6 +1892,11 @@ bs_Cyrl{
             other{"маканешких патака"}\r
         }\r
         MRO{\r
+            few{"мауританијске угвиље (1973–2017)"}\r
+            one{"мауританијска угвиља (1973–2017)"}\r
+            other{"мауританијске угвиље (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"мауританијске угвиље"}\r
             one{"мауританијска угвиља"}\r
             other{"мауританијске угвиље"}\r
@@ -2164,6 +2177,11 @@ bs_Cyrl{
             other{"суринамских гилдера"}\r
         }\r
         STD{\r
+            few{"сао томе и принципе добра (1977–2017)"}\r
+            one{"сао томе и принципе добар (1977–2017)"}\r
+            other{"сао томе и принципе добри (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"сао томе и принципе добра"}\r
             one{"сао томе и принципе добар"}\r
             other{"сао томе и принципе добри"}\r
@@ -2494,5 +2512,5 @@ bs_Cyrl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2d3091e..208ee8e 100644 (file)
@@ -685,6 +685,10 @@ ca{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya maurità (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya maurità",\r
         }\r
         MTL{\r
@@ -913,6 +917,10 @@ ca{
         }\r
         STD{\r
             "STD",\r
+            "dobra de São Tomé i Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra de São Tomé i Príncipe",\r
         }\r
         SUR{\r
@@ -1268,7 +1276,7 @@ ca{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1970,6 +1978,10 @@ ca{
             other{"pataques de Macau"}\r
         }\r
         MRO{\r
+            one{"ouguiya maurità (1973–2017)"}\r
+            other{"ouguiyas mauritans (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya maurità"}\r
             other{"ouguiyas mauritans"}\r
         }\r
@@ -2198,6 +2210,10 @@ ca{
             other{"lliures del Sudan del Sud"}\r
         }\r
         STD{\r
+            one{"dobra de São Tomé i Príncipe (1977–2017)"}\r
+            other{"dobras de São Tomé i Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra de São Tomé i Príncipe"}\r
             other{"dobras de São Tomé i Príncipe"}\r
         }\r
@@ -2478,5 +2494,5 @@ ca{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 474ef88..839ebd0 100644 (file)
@@ -7,5 +7,5 @@ ca_FR{
             "franc francès",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index daf3f81..78555cd 100644 (file)
@@ -604,6 +604,10 @@ ccp{
         }\r
         MRO{\r
             "MRO",\r
+            "𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠",\r
         }\r
         MTL{\r
@@ -832,6 +836,10 @@ ccp{
         }\r
         STD{\r
             "STD",\r
+            "𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢",\r
         }\r
         SUR{\r
@@ -1146,7 +1154,7 @@ ccp{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1536,6 +1544,10 @@ ccp{
             other{"𑄟𑄳𑄠𑄇𑄳𑄠𑄃𑄮 𑄛𑄑𑄇"}\r
         }\r
         MRO{\r
+            one{"𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠 (1973–2017)"}\r
+            other{"𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠 (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠"}\r
             other{"𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄃𑄮𑄃𑄪𑄉𑄭𑄪𑄠"}\r
         }\r
@@ -1688,6 +1700,10 @@ ccp{
             other{"𑄘𑄧𑄉𑄨𑄚𑄴 𑄥𑄪𑄘𑄚𑄨 𑄛𑄃𑄪𑄚𑄳𑄓𑄴"}\r
         }\r
         STD{\r
+            one{"𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢 (1977–2017)"}\r
+            other{"𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢 (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢"}\r
             other{"𑄥𑄃𑄮 𑄑𑄮𑄟𑄬 𑄃𑄳𑄃 𑄛𑄳𑄢𑄨𑄚𑄴𑄥𑄨𑄛𑄬 𑄓𑄮𑄛𑄴𑄢"}\r
         }\r
@@ -1808,5 +1824,5 @@ ccp{
             other{"𑄎𑄟𑄴𑄝𑄨𑄠𑄚𑄴 𑄇𑄧𑄤𑄌"}\r
         }\r
     }\r
-    Version{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b6bcd63..c6a5960 100644 (file)
@@ -364,6 +364,10 @@ ce{
         }\r
         MRO{\r
             "MRO",\r
+            "Мавританин уги (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мавританин уги",\r
         }\r
         MUR{\r
@@ -512,6 +516,10 @@ ce{
         }\r
         STD{\r
             "STD",\r
+            "Сан-Томен а, Принсипин а добра (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Сан-Томен а, Принсипин а добра",\r
         }\r
         SYP{\r
@@ -705,7 +713,7 @@ ce{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1087,6 +1095,10 @@ ce{
             other{"Макаон патакаш"}\r
         }\r
         MRO{\r
+            one{"Мавританин уги (1973–2017)"}\r
+            other{"Мавританин угиш (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Мавританин уги"}\r
             other{"Мавританин угиш"}\r
         }\r
@@ -1235,6 +1247,10 @@ ce{
             other{"Къилба Суданан фунташ"}\r
         }\r
         STD{\r
+            one{"Сан-Томен а, Принсипин а добра (1977–2017)"}\r
+            other{"Сан-Томен а, Принсипин а добраш (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Сан-Томен а, Принсипин а добра"}\r
             other{"Сан-Томен а, Принсипин а добраш"}\r
         }\r
@@ -1355,5 +1371,5 @@ ce{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 372efa3..84c6742 100644 (file)
@@ -124,6 +124,10 @@ cgg{
         }\r
         MRO{\r
             "MRO",\r
+            "Ougwiya ya Mouriteeniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ougwiya ya Mouriteeniya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ cgg{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Purinsipo (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Purinsipo",\r
         }\r
         TND{\r
@@ -223,5 +231,5 @@ cgg{
             "Doora ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ab450a1..23bf79a 100644 (file)
@@ -122,6 +122,10 @@ chr{
             "CLP",\r
             "ᏥᎵ ᎠᏕᎳ",\r
         }\r
+        CNH{\r
+            "CNH",\r
+            "ᏣᏂᏏ ᎠᏕᎳ (ᏓᎹᏳᏟᏗ)",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "ᏓᎶᏂᎨ ᎠᏕᎳ",\r
@@ -148,7 +152,7 @@ chr{
         }\r
         CZK{\r
             "CZK",\r
-            "á\8f¤á\8e© á\8f\8dá\8e¦á\8f\9aá\8e© á\8e á\8f\95á\8e³",\r
+            "ᏤᎩ ᎠᏕᎳ",\r
         }\r
         DJF{\r
             "DJF",\r
@@ -364,6 +368,10 @@ chr{
         }\r
         MRO{\r
             "MRO",\r
+            "ᎼᎵᏏᎥᏍ ᎠᏕᎳ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ᎼᎵᏏᎥᏍ ᎠᏕᎳ",\r
         }\r
         MUR{\r
@@ -512,6 +520,10 @@ chr{
         }\r
         STD{\r
             "STD",\r
+            "ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ",\r
         }\r
         SYP{\r
@@ -707,7 +719,7 @@ chr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -847,6 +859,10 @@ chr{
             one{"ᏥᎵ ᎠᏕᎳ"}\r
             other{"ᏥᎵ ᎠᏕᎳ"}\r
         }\r
+        CNH{\r
+            one{"ᏣᏂᏏ ᎠᏕᎳ (ᏓᎹᏳᏟᏗ)"}\r
+            other{"ᏣᏂᏏ ᎠᏕᎳ (ᏓᎹᏳᏟᏗ)"}\r
+        }\r
         CNY{\r
             one{"ᏓᎶᏂᎨ ᎠᏕᎳ"}\r
             other{"ᏓᎶᏂᎨ ᎠᏕᎳ"}\r
@@ -872,8 +888,8 @@ chr{
             other{"ᎢᎬᎾᏕᎾ ᎢᏤᏳᏍᏗ ᎠᏕᎳ"}\r
         }\r
         CZK{\r
-            one{"á\8f¤á\8e© á\8f\8dá\8e¦á\8f\9aá\8e© á\8e á\8f\95á\8e³"}\r
-            other{"á\8f¤á\8e© á\8f\8dá\8e¦á\8f\9aá\8e© á\8e á\8f\95á\8e³"}\r
+            one{"ᏤᎩ ᎠᏕᎳ"}\r
+            other{"ᏤᎩ ᎠᏕᎳ"}\r
         }\r
         DJF{\r
             one{"ᏥᏊᏗ ᎠᏕᎳ"}\r
@@ -1088,6 +1104,10 @@ chr{
             other{"ᎹᎧᎣ ᎠᏕᎳ"}\r
         }\r
         MRO{\r
+            one{"ᎼᎵᏏᎥᏍ ᎠᏕᎳ (1973–2017)"}\r
+            other{"ᎼᎵᏏᎥᏍ ᎠᏕᎳ (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ᎼᎵᏏᎥᏍ ᎠᏕᎳ"}\r
             other{"ᎼᎵᏏᎥᏍ ᎠᏕᎳ"}\r
         }\r
@@ -1236,6 +1256,10 @@ chr{
             other{"ᏧᎦᎾᏮ ᏑᏕᏂ ᎠᏕᎳ"}\r
         }\r
         STD{\r
+            one{"ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ (1977–2017)"}\r
+            other{"ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ"}\r
             other{"ᏌᎣᏙᎺ ᎠᎴ ᏈᏂᏏᏇ ᎠᏕᎳ"}\r
         }\r
@@ -1356,5 +1380,5 @@ chr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 173f23a..2cc9153 100644 (file)
@@ -7,5 +7,5 @@ ckb{
             "IQD",\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
 }\r
index 1d5ea0a..1535f01 100644 (file)
@@ -684,6 +684,10 @@ cs{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritánská ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritánská ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ cs{
         }\r
         STD{\r
             "STD",\r
+            "svatotomášská dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "svatotomášská dobra",\r
         }\r
         SUR{\r
@@ -1283,7 +1291,7 @@ cs{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2325,6 +2333,12 @@ cs{
             other{"macajských patac"}\r
         }\r
         MRO{\r
+            few{"mauritánské ouguiye (1973–2017)"}\r
+            many{"mauritánské ouguiye (1973–2017)"}\r
+            one{"mauritánská ouguiya (1973–2017)"}\r
+            other{"mauritánských ouguiyí (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauritánské ouguiye"}\r
             many{"mauritánské ouguiye"}\r
             one{"mauritánská ouguiya"}\r
@@ -2673,6 +2687,12 @@ cs{
             other{"jihosúdánských liber"}\r
         }\r
         STD{\r
+            few{"svatotomášské dobry (1977–2017)"}\r
+            many{"svatotomášské dobry (1977–2017)"}\r
+            one{"svatotomášská dobra (1977–2017)"}\r
+            other{"svatotomášských dober (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"svatotomášské dobry"}\r
             many{"svatotomášské dobry"}\r
             one{"svatotomášská dobra"}\r
@@ -3093,5 +3113,5 @@ cs{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
 }\r
index d7b6656..f5d6269 100644 (file)
@@ -644,6 +644,10 @@ cy{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya Mauritania",\r
         }\r
         MTL{\r
@@ -860,6 +864,10 @@ cy{
         }\r
         STD{\r
             "STD",\r
+            "Dobra São Tomé a Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra São Tomé a Príncipe",\r
         }\r
         SVC{\r
@@ -1183,7 +1191,7 @@ cy{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2413,6 +2421,14 @@ cy{
             zero{"pataca Macau"}\r
         }\r
         MRO{\r
+            few{"ouguiya Mauritania (1973–2017)"}\r
+            many{"ouguiya Mauritania (1973–2017)"}\r
+            one{"ouguiya Mauritania (1973–2017)"}\r
+            other{"ouguiya Mauritania (1973–2017)"}\r
+            two{"ouguiya Mauritania (1973–2017)"}\r
+            zero{"ouguiya Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya Mauritania"}\r
             many{"ouguiya Mauritania"}\r
             one{"ouguiya Mauritania"}\r
@@ -2813,6 +2829,14 @@ cy{
             zero{"punt De Sudan"}\r
         }\r
         STD{\r
+            few{"dobra São Tomé a Príncipe (1977–2017)"}\r
+            many{"dobra São Tomé a Príncipe (1977–2017)"}\r
+            one{"dobra São Tomé a Príncipe (1977–2017)"}\r
+            other{"dobra São Tomé a Príncipe (1977–2017)"}\r
+            two{"dobra São Tomé a Príncipe (1977–2017)"}\r
+            zero{"dobra São Tomé a Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobra São Tomé a Príncipe"}\r
             many{"dobra São Tomé a Príncipe"}\r
             one{"dobra São Tomé a Príncipe"}\r
@@ -3237,5 +3261,5 @@ cy{
         two{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4d78eff..016881b 100644 (file)
@@ -604,6 +604,10 @@ da{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritansk ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritansk ouguiya",\r
         }\r
         MTL{\r
@@ -824,6 +828,10 @@ da{
         }\r
         STD{\r
             "STD",\r
+            "dobra fra Sao Tome og Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra fra Sao Tome og Principe",\r
         }\r
         SUR{\r
@@ -1159,7 +1167,7 @@ da{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1781,6 +1789,10 @@ da{
             other{"macaoske pataca"}\r
         }\r
         MRO{\r
+            one{"mauritansk ouguiya (1973–2017)"}\r
+            other{"mauritanske ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mauritansk ouguiya"}\r
             other{"mauritanske ouguiya"}\r
         }\r
@@ -2001,6 +2013,10 @@ da{
             other{"sydsudanske pund"}\r
         }\r
         STD{\r
+            one{"dobra fra Sao Tome og Principe (1977–2017)"}\r
+            other{"dobra fra Sao Tome og Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra fra Sao Tome og Principe"}\r
             other{"dobra fra Sao Tome og Principe"}\r
         }\r
@@ -2225,5 +2241,5 @@ da{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 7bdb437..98f1d99 100644 (file)
@@ -124,6 +124,10 @@ dav{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ dav{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ dav{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c185a28..861c136 100644 (file)
@@ -684,6 +684,10 @@ de{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauretanischer Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauretanischer Ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ de{
         }\r
         STD{\r
             "STD",\r
+            "São-toméischer Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São-toméischer Dobra",\r
         }\r
         SUR{\r
@@ -1281,7 +1289,7 @@ de{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"SYP"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1983,6 +1991,10 @@ de{
             other{"Macao-Pataca"}\r
         }\r
         MRO{\r
+            one{"Mauretanischer Ouguiya (1973–2017)"}\r
+            other{"Mauretanische Ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauretanischer Ouguiya"}\r
             other{"Mauretanische Ouguiya"}\r
         }\r
@@ -2215,6 +2227,10 @@ de{
             other{"Südsudanesische Pfund"}\r
         }\r
         STD{\r
+            one{"São-toméischer Dobra (1977–2017)"}\r
+            other{"São-toméische Dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São-toméischer Dobra"}\r
             other{"São-toméische Dobra"}\r
         }\r
@@ -2503,5 +2519,5 @@ de{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
 }\r
index 5b5f0cd..7497234 100644 (file)
@@ -18,6 +18,10 @@ de_CH{
             "PEN",\r
             "Peruanischer Neuer Sol",\r
         }\r
+        STN{\r
+            "STN",\r
+            "São-toméischer Dobra (2018)",\r
+        }\r
     }\r
     Currencies%narrow{\r
         EUR{"EUR"}\r
@@ -34,6 +38,10 @@ de_CH{
         PEN{\r
             one{"Peruanischer Neuer Sol"}\r
         }\r
+        STN{\r
+            one{"São-toméischer Dobra (2018)"}\r
+            other{"São-toméischer Dobra (2018)"}\r
+        }\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
 }\r
index fe6faf8..881a703 100644 (file)
@@ -7,5 +7,5 @@ de_LI{
             "Euro",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 16715da..50c1d49 100644 (file)
@@ -12,5 +12,5 @@ de_LU{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2c91cd6..e9db1d2 100644 (file)
@@ -124,6 +124,10 @@ dje{
         }\r
         MRO{\r
             "MRO",\r
+            "Mooritaani Ugiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mooritaani Ugiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ dje{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome nda Prinsipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome nda Prinsipe Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ dje{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f37d445..f96a776 100644 (file)
@@ -464,6 +464,10 @@ dsb{
         }\r
         MRO{\r
             "MRO",\r
+            "mauretański ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauretański ouguiya",\r
         }\r
         MUR{\r
@@ -620,6 +624,10 @@ dsb{
         }\r
         STD{\r
             "STD",\r
+            "são-tomeska dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "são-tomeska dobra",\r
         }\r
         SVC{\r
@@ -1434,6 +1442,12 @@ dsb{
             two{"macaoskej pataca"}\r
         }\r
         MRO{\r
+            few{"mauretańske ouguiya (1973–2017)"}\r
+            one{"mauretański ouguiya (1973–2017)"}\r
+            other{"mauretański ouguiya (1973–2017)"}\r
+            two{"mauretańskej ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauretańske ouguiya"}\r
             one{"mauretański ouguiya"}\r
             other{"mauretański ouguiya"}\r
@@ -1668,6 +1682,12 @@ dsb{
             two{"pódpołdnjowosudańskej punta"}\r
         }\r
         STD{\r
+            few{"são-tomeske dobry (1977–2017)"}\r
+            one{"são-tomeska dobra (1977–2017)"}\r
+            other{"são-tomeskich dobrow (1977–2017)"}\r
+            two{"são-tomeskej dobrje (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"são-tomeske dobry"}\r
             one{"são-tomeska dobra"}\r
             other{"são-tomeskich dobrow"}\r
@@ -1854,5 +1874,5 @@ dsb{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8401a2e..da85750 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c5d514c..d7ae212 100644 (file)
@@ -104,6 +104,10 @@ dyo{
         }\r
         MRO{\r
             "MRO",\r
+            "ugiiya yati Mooritanii (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ugiiya yati Mooritanii",\r
         }\r
         MWK{\r
@@ -119,5 +123,5 @@ dyo{
             "seefa yati BCEAO",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 082a2ce..ec2e36e 100644 (file)
@@ -303,5 +303,5 @@ dz{
             "སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད",\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 117c560..92ba697 100644 (file)
@@ -124,6 +124,10 @@ ebu{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ ebu{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ebu{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bb252f7..36f732c 100644 (file)
@@ -680,6 +680,10 @@ ee{
         }\r
         MRO{\r
             "MRO",\r
+            "mɔritaniaga ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mɔritaniaga ouguiya",\r
         }\r
         MTL{\r
@@ -876,6 +880,10 @@ ee{
         }\r
         STD{\r
             "STD",\r
+            "são tomé kple príncipega dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "são tomé kple príncipega dobra",\r
         }\r
         SUR{\r
@@ -1890,6 +1898,10 @@ ee{
             other{"makanesega pataca"}\r
         }\r
         MRO{\r
+            one{"mɔritaniaga ouguiya (1973–2017)"}\r
+            other{"mɔritaniaga ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mɔritaniaga ouguiya"}\r
             other{"mɔritaniaga ouguiya"}\r
         }\r
@@ -2086,6 +2098,10 @@ ee{
             other{"surinamega guilder"}\r
         }\r
         STD{\r
+            one{"são tomé kple príncipega dobra (1977–2017)"}\r
+            other{"são tomé kple príncipega dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"são tomé kple príncipega dobra"}\r
             other{"são tomé kple príncipega dobra"}\r
         }\r
@@ -2366,5 +2382,5 @@ ee{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d42117c..e0aadcf 100644 (file)
@@ -617,6 +617,10 @@ el{
         }\r
         MRO{\r
             "MRO",\r
+            "Ουγκίγια Μαυριτανίας (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ουγκίγια Μαυριτανίας",\r
         }\r
         MTL{\r
@@ -841,6 +845,10 @@ el{
         }\r
         STD{\r
             "STD",\r
+            "Ντόμπρα Σάο Τομέ και Πρίνσιπε (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Ντόμπρα Σάο Τομέ και Πρίνσιπε",\r
         }\r
         SUR{\r
@@ -1156,7 +1164,7 @@ el{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1778,6 +1786,10 @@ el{
             other{"πατάκα Μακάο"}\r
         }\r
         MRO{\r
+            one{"ουγκίγια Μαυριτανίας (1973–2017)"}\r
+            other{"ουγκίγια Μαυριτανίας (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ουγκίγια Μαυριτανίας"}\r
             other{"ουγκίγια Μαυριτανίας"}\r
         }\r
@@ -2002,6 +2014,10 @@ el{
             other{"λίρες Νότιου Σουδάν"}\r
         }\r
         STD{\r
+            one{"ντόμπρα Σάο Τομέ και Πρίνσιπε (1977–2017)"}\r
+            other{"ντόμπρα Σάο Τομέ και Πρίνσιπε (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"ντόμπρα Σάο Τομέ και Πρίνσιπε"}\r
             other{"ντόμπρα Σάο Τομέ και Πρίνσιπε"}\r
         }\r
@@ -2242,5 +2258,5 @@ el{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 63b9896..299b949 100644 (file)
@@ -684,6 +684,10 @@ en{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanian Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanian Ouguiya",\r
         }\r
         MTL{\r
@@ -916,11 +920,11 @@ en{
         }\r
         STD{\r
             "STD",\r
-            "São Tomé & Príncipe Dobra",\r
+            "São Tomé & Príncipe Dobra (1977–2017)",\r
         }\r
         STN{\r
             "STN",\r
-            "São Tomé & Príncipe Dobra (2018)",\r
+            "São Tomé & Príncipe Dobra",\r
         }\r
         SUR{\r
             "SUR",\r
@@ -1885,6 +1889,10 @@ en{
             other{"Macanese patacas"}\r
         }\r
         MRO{\r
+            one{"Mauritanian ouguiya (1973–2017)"}\r
+            other{"Mauritanian ouguiyas (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritanian ouguiya"}\r
             other{"Mauritanian ouguiyas"}\r
         }\r
@@ -2117,12 +2125,12 @@ en{
             other{"South Sudanese pounds"}\r
         }\r
         STD{\r
-            one{"São Tomé & Príncipe dobra"}\r
-            other{"São Tomé & Príncipe dobras"}\r
+            one{"São Tomé & Príncipe dobra (1977–2017)"}\r
+            other{"São Tomé & Príncipe dobras (1977–2017)"}\r
         }\r
         STN{\r
-            one{"São Tomé & Príncipe dobra (2018)"}\r
-            other{"São Tomé & Príncipe dobras (2018)"}\r
+            one{"São Tomé & Príncipe dobra"}\r
+            other{"São Tomé & Príncipe dobras"}\r
         }\r
         SUR{\r
             one{"Soviet rouble"}\r
@@ -2409,5 +2417,5 @@ en{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
 }\r
index 8be7a61..5d54d85 100644 (file)
@@ -69,5 +69,5 @@ en_001{
             other{"Tajikistani roubles"}\r
         }\r
     }\r
-    Version{"2.1.35.71"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5d1186c..888ee4e 100644 (file)
@@ -13,5 +13,5 @@ en_150{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0d10d9a..48309cf 100644 (file)
@@ -8,5 +8,5 @@ en_AG{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c92e1fa..9d8c0ec 100644 (file)
@@ -8,5 +8,5 @@ en_AI{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4310ea..e7db69b 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2371196..247d117 100644 (file)
@@ -208,5 +208,5 @@ en_AU{
             other{"Samoan talas"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 338180b..7aae9ef 100644 (file)
@@ -8,5 +8,5 @@ en_BB{
             "Barbadian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e58d31c..79bbbec 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 48e9892..6e462cc 100644 (file)
@@ -7,5 +7,5 @@ en_BI{
             "Burundian Franc",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a700b64..59722bd 100644 (file)
@@ -8,5 +8,5 @@ en_BM{
             "Bermudan Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 71da5b4..d719ff3 100644 (file)
@@ -8,5 +8,5 @@ en_BS{
             "Bahamian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index db7face..8cd012b 100644 (file)
@@ -8,5 +8,5 @@ en_BW{
             "Botswanan Pula",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f776d1e..6389158 100644 (file)
@@ -8,5 +8,5 @@ en_BZ{
             "Belize Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f32fd98..fd6ba68 100644 (file)
@@ -14,5 +14,5 @@ en_CA{
             other{"Israeli new sheqels"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index d5a9e5d..967e202 100644 (file)
@@ -8,5 +8,5 @@ en_CC{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0f0a97..7f88422 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 526cd70..9c1aaa9 100644 (file)
@@ -8,5 +8,5 @@ en_CK{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5aacc7b..a5cccf6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd09b6d..5cedc23 100644 (file)
@@ -8,5 +8,5 @@ en_CX{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72ed165..60e8574 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d758dd..b875050 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 498f702..591dad8 100644 (file)
@@ -8,5 +8,5 @@ en_DK{
             "Danish Krone",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 39aef87..0db7977 100644 (file)
@@ -8,5 +8,5 @@ en_DM{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77949ac..ef503f9 100644 (file)
@@ -8,5 +8,5 @@ en_ER{
             "Eritrean Nakfa",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d35b004..5440566 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1fbdccc..4f02695 100644 (file)
@@ -8,5 +8,5 @@ en_FJ{
             "Fijian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0e518be..4d3b844 100644 (file)
@@ -12,5 +12,5 @@ en_FK{
             "British Pound",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a84841..e028e10 100644 (file)
@@ -20,5 +20,5 @@ en_GB{
             other{"West African CFA francs"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index c11e18c..e410d58 100644 (file)
@@ -8,5 +8,5 @@ en_GD{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 602db61..9a5d214 100644 (file)
@@ -14,5 +14,5 @@ en_GG{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d6f700a..f03b649 100644 (file)
@@ -8,5 +8,5 @@ en_GH{
             "Ghanaian Cedi",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 47475c7..869edae 100644 (file)
@@ -12,5 +12,5 @@ en_GI{
             "Gibraltar Pound",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aefcdc8..82e7926 100644 (file)
@@ -8,5 +8,5 @@ en_GM{
             "Gambian Dalasi",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5e9190d..d7bd206 100644 (file)
@@ -8,5 +8,5 @@ en_GY{
             "Guyanaese Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a04a10..e057509 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 18bb2f3..56507ab 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76bee45..f1deccb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f7a089d..45029c0 100644 (file)
@@ -14,5 +14,5 @@ en_IM{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 81711c1..55ab372 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{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 2b8ba3f..30f0e6c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1d0587c..a9bae62 100644 (file)
@@ -14,5 +14,5 @@ en_JE{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a377865..4ae9e3e 100644 (file)
@@ -8,5 +8,5 @@ en_JM{
             "Jamaican Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 737e4b2..d0b3e66 100644 (file)
@@ -8,5 +8,5 @@ en_KE{
             "Kenyan Shilling",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cbb82b2..c395ce2 100644 (file)
@@ -8,5 +8,5 @@ en_KI{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b0c6ab9..459e650 100644 (file)
@@ -8,5 +8,5 @@ en_KN{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 32875f9..0d39257 100644 (file)
@@ -8,5 +8,5 @@ en_KY{
             "Cayman Islands Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 15a482f..36481d6 100644 (file)
@@ -8,5 +8,5 @@ en_LC{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bba2d7b..106be25 100644 (file)
@@ -8,5 +8,5 @@ en_LR{
             "Liberian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7e13bca..812629c 100644 (file)
@@ -8,5 +8,5 @@ en_LS{
             "South African Rand",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7132cbd..1fc047d 100644 (file)
@@ -8,5 +8,5 @@ en_MG{
             "Malagasy Ariary",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b57ad0d..e3be0a9 100644 (file)
@@ -8,5 +8,5 @@ en_MO{
             "Macanese Pataca",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index af0df1f..1c08b7e 100644 (file)
@@ -8,5 +8,5 @@ en_MS{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7dee04e..6245b31 100644 (file)
@@ -8,5 +8,5 @@ en_MT{
             "British Pound",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9183a07..24f8855 100644 (file)
@@ -8,5 +8,5 @@ en_MU{
             "Mauritian Rupee",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e5f5d6e..28aec33 100644 (file)
@@ -8,5 +8,5 @@ en_MW{
             "Malawian Kwacha",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1f42611..07e84c7 100644 (file)
@@ -8,5 +8,5 @@ en_MY{
             "Malaysian Ringgit",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9c09ad6..d0241d5 100644 (file)
@@ -8,5 +8,5 @@ en_NA{
             "Namibian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0354665..3fcb65a 100644 (file)
@@ -8,5 +8,5 @@ en_NF{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 708edd6..d2d5fc3 100644 (file)
@@ -8,5 +8,5 @@ en_NG{
             "Nigerian Naira",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9d0d0cd..aa5abc8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a8d731..481bca2 100644 (file)
@@ -8,5 +8,5 @@ en_NR{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852e226..4c15d77 100644 (file)
@@ -8,5 +8,5 @@ en_NU{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7f8ea8f..e2a9edc 100644 (file)
@@ -8,5 +8,5 @@ en_NZ{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 4248db9..32d9197 100644 (file)
@@ -8,5 +8,5 @@ en_PG{
             "Papua New Guinean Kina",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0ad9bf2..b30a54a 100644 (file)
@@ -8,5 +8,5 @@ en_PH{
             "Philippine Piso",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 426a67b..56c49d5 100644 (file)
@@ -8,5 +8,5 @@ en_PK{
             "Pakistani Rupee",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eb3b036..d578a98 100644 (file)
@@ -8,5 +8,5 @@ en_PN{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 30541dc..ce9d554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index baee0e1..1f1664e 100644 (file)
@@ -8,5 +8,5 @@ en_RW{
             "Rwandan Franc",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f0b3d68..93bbb4a 100644 (file)
@@ -8,5 +8,5 @@ en_SB{
             "Solomon Islands Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95dccc3..1ddee4f 100644 (file)
@@ -8,5 +8,5 @@ en_SC{
             "Seychellois Rupee",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 87a33e2..59aff7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d83e443..3a58be4 100644 (file)
@@ -8,5 +8,5 @@ en_SE{
             "Swedish Krona",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59612d6..e3d73d3 100644 (file)
@@ -8,5 +8,5 @@ en_SG{
             "Singapore Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0d5b103..5b8b568 100644 (file)
@@ -12,5 +12,5 @@ en_SH{
             "St. Helena Pound",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59ccb39..3dd1ef3 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2f85b93..5ca8226 100644 (file)
@@ -8,5 +8,5 @@ en_SL{
             "Sierra Leonean Leone",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e6ce7a7..e83b52b 100644 (file)
@@ -12,5 +12,5 @@ en_SS{
             "South Sudanese Pound",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 05b4580..e6af4d5 100644 (file)
@@ -8,5 +8,5 @@ en_SX{
             "Netherlands Antillean Guilder",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8d4b873..44a7526 100644 (file)
@@ -8,5 +8,5 @@ en_SZ{
             "Swazi Lilangeni",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d54759a..0e6efde 100644 (file)
@@ -8,5 +8,5 @@ en_TK{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35c561e..826af41 100644 (file)
@@ -8,5 +8,5 @@ en_TO{
             "Tongan Paʻanga",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 273a7c9..9be1ad7 100644 (file)
@@ -8,5 +8,5 @@ en_TT{
             "Trinidad & Tobago Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7296e5c..bca792e 100644 (file)
@@ -8,5 +8,5 @@ en_TV{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 71ccf96..37c036b 100644 (file)
@@ -8,5 +8,5 @@ en_TZ{
             "Tanzanian Shilling",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 06e3946..e9bbc9a 100644 (file)
@@ -8,5 +8,5 @@ en_UG{
             "Ugandan Shilling",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e84d9f5..61e1c15 100644 (file)
@@ -8,5 +8,5 @@ en_VC{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2fe5232..d619f80 100644 (file)
@@ -8,5 +8,5 @@ en_VU{
             "Vanuatu Vatu",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c3b96f4..c270ad5 100644 (file)
@@ -8,5 +8,5 @@ en_WS{
             "Samoan Tala",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5707f1c..e7e5aa5 100644 (file)
@@ -8,5 +8,5 @@ en_ZA{
             "South African Rand",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e84000e..7825a1d 100644 (file)
@@ -8,5 +8,5 @@ en_ZM{
             "Zambian Kwacha",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bb5dbed..3c7e040 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 01d90fd..2b44c0e 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b31ea97..7c44709 100644 (file)
@@ -616,6 +616,10 @@ es{
         }\r
         MRO{\r
             "MRO",\r
+            "uguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "uguiya",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ es{
         }\r
         STD{\r
             "STD",\r
+            "dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra",\r
         }\r
         SUR{\r
@@ -1187,7 +1195,7 @@ es{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1769,6 +1777,10 @@ es{
             other{"patacas de Macao"}\r
         }\r
         MRO{\r
+            one{"uguiya (1973–2017)"}\r
+            other{"uguiyas (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"uguiya"}\r
             other{"uguiyas"}\r
         }\r
@@ -1985,6 +1997,10 @@ es{
             other{"libras sursudanesas"}\r
         }\r
         STD{\r
+            one{"dobra (1977–2017)"}\r
+            other{"dobras (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra"}\r
             other{"dobras"}\r
         }\r
@@ -2197,5 +2213,5 @@ es{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 584e5ed..81bddb8 100644 (file)
@@ -51,5 +51,5 @@ es_419{
             other{"(moneda desconocida)"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b6845ba..88a9169 100644 (file)
@@ -15,5 +15,5 @@ es_AR{
     Currencies%variant{\r
         GEL{"GEL"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f1e0b50..a07d88f 100644 (file)
@@ -8,5 +8,5 @@ es_BO{
             "boliviano",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7d86e7f..a65efd1 100644 (file)
@@ -8,5 +8,5 @@ es_BR{
             "real brasileño",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 284c50a..2c54390 100644 (file)
@@ -8,5 +8,5 @@ es_BZ{
             "dólar beliceño",\r
         }\r
     }\r
-    Version{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c9f338f..d692f92 100644 (file)
@@ -12,5 +12,5 @@ es_CL{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3b1fdf7..5ce0385 100644 (file)
@@ -12,5 +12,5 @@ es_CO{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 81c6072..f70612b 100644 (file)
@@ -8,5 +8,5 @@ es_CR{
             "colón costarricense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 18c5b70..40be87c 100644 (file)
@@ -12,5 +12,5 @@ es_CU{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d090a29..647102a 100644 (file)
@@ -12,5 +12,5 @@ es_DO{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 200afc1..311f206 100644 (file)
@@ -8,5 +8,5 @@ es_EC{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ab6c51e..cdd2893 100644 (file)
@@ -7,5 +7,5 @@ es_GQ{
             "franco CFA de África Central",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2195370..dc81c3f 100644 (file)
@@ -18,5 +18,5 @@ es_GT{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2c4a146..9eeb5f5 100644 (file)
@@ -8,5 +8,5 @@ es_HN{
             "lempira hondureño",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index fe8bde5..6f9e6e4 100644 (file)
@@ -19,6 +19,10 @@ es_MX{
             "MYR",\r
             "ringit",\r
         }\r
+        STN{\r
+            "STN",\r
+            "dobra santotomense",\r
+        }\r
         THB{\r
             "THB",\r
             "baht tailandés",\r
@@ -55,6 +59,10 @@ es_MX{
             one{"ringit"}\r
             other{"ringits"}\r
         }\r
+        STN{\r
+            one{"dobra santotomense"}\r
+            other{"dobra santotomense"}\r
+        }\r
         THB{\r
             one{"baht tailandés"}\r
             other{"bats"}\r
@@ -71,5 +79,5 @@ es_MX{
             other{"kwachas zambianos"}\r
         }\r
     }\r
-    Version{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 453e3df..25c997a 100644 (file)
@@ -8,5 +8,5 @@ es_NI{
             "córdoba nicaragüense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5b12895..1b9783c 100644 (file)
@@ -8,5 +8,5 @@ es_PA{
             "balboa panameño",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f333530..a267b6e 100644 (file)
@@ -8,5 +8,5 @@ es_PE{
             "sol peruano",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a19010a..3abcd1f 100644 (file)
@@ -7,5 +7,5 @@ es_PH{
             "peso filipino",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 42070e2..b0d6846 100644 (file)
@@ -8,5 +8,5 @@ es_PR{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 10bc0ab..20d9c46 100644 (file)
@@ -8,5 +8,5 @@ es_PY{
             "guaraní paraguayo",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index fb40ff4..3e9949f 100644 (file)
@@ -8,5 +8,5 @@ es_SV{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 08398cc..b4cf939 100644 (file)
@@ -11,6 +11,10 @@ es_US{
             "MYR",\r
             "ringit",\r
         }\r
+        STN{\r
+            "STN",\r
+            "dobra santotomense",\r
+        }\r
         THB{\r
             "THB",\r
             "bat",\r
@@ -52,6 +56,10 @@ es_US{
         RON{\r
             one{"leu rumano"}\r
         }\r
+        STN{\r
+            one{"dobra santotomense"}\r
+            other{"dobra santotomense"}\r
+        }\r
         THB{\r
             one{"bat"}\r
             other{"bats"}\r
@@ -69,5 +77,5 @@ es_US{
             other{"francos CFA de África Occidental"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 96c9716..b3fe54e 100644 (file)
@@ -12,5 +12,5 @@ es_UY{
             "peso uruguayo",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4a4783c..2ae1878 100644 (file)
@@ -11,5 +11,5 @@ es_VE{
     Currencies%narrow{\r
         VEF{"Bs."}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4fea400..42dc4b3 100644 (file)
@@ -613,6 +613,10 @@ et{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritaania ugia (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritaania ugia",\r
         }\r
         MTL{\r
@@ -841,6 +845,10 @@ et{
         }\r
         STD{\r
             "STD",\r
+            "São Tomé ja Príncipe dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomé ja Príncipe dobra",\r
         }\r
         SUR{\r
@@ -1730,6 +1738,10 @@ et{
             other{"Macau pataakat"}\r
         }\r
         MRO{\r
+            one{"Mauritaania ugia (1973–2017)"}\r
+            other{"Mauritaania ugiat (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritaania ugia"}\r
             other{"Mauritaania ugiat"}\r
         }\r
@@ -1950,6 +1962,10 @@ et{
             other{"Lõuna-Sudaani naela"}\r
         }\r
         STD{\r
+            one{"São Tomé ja Príncipe dobra (1977–2017)"}\r
+            other{"São Tomé ja Príncipe dobrat (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomé ja Príncipe dobra"}\r
             other{"São Tomé ja Príncipe dobrat"}\r
         }\r
@@ -2158,5 +2174,5 @@ et{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 346cdce..ba55035 100644 (file)
@@ -389,6 +389,10 @@ eu{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritaniako ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritaniako ouguiya",\r
         }\r
         MUR{\r
@@ -537,6 +541,10 @@ eu{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tomeko eta Principeko dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tomeko eta Principeko dobra",\r
         }\r
         SYP{\r
@@ -735,7 +743,7 @@ eu{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1128,6 +1136,10 @@ eu{
             other{"Macanako pataca"}\r
         }\r
         MRO{\r
+            one{"Mauritaniako ouguiya (1973–2017)"}\r
+            other{"Mauritaniako ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritaniako ouguiya"}\r
             other{"Mauritaniako ouguiya"}\r
         }\r
@@ -1276,6 +1288,10 @@ eu{
             other{"Hego Sudango libera"}\r
         }\r
         STD{\r
+            one{"Sao Tomeko eta Principeko dobra (1977–2017)"}\r
+            other{"Sao Tomeko eta Principeko dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Sao Tomeko eta Principeko dobra"}\r
             other{"Sao Tomeko eta Principeko dobra"}\r
         }\r
@@ -1396,5 +1412,5 @@ eu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 83d6f63..9ebf70e 100644 (file)
@@ -124,6 +124,10 @@ ewo{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugiya yá Moritaní (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugiya yá Moritaní",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ ewo{
         }\r
         STD{\r
             "STD",\r
+            "Dóbə́ra yá Saó Tomé ai Pəlinəsípe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dóbə́ra yá Saó Tomé ai Pəlinəsípe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ ewo{
             "Dolár yá Zimbabwé",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1a3bc26..dbb0a09 100644 (file)
@@ -484,6 +484,10 @@ fa{
         }\r
         MRO{\r
             "MRO",\r
+            "اوگوئیای موریتانی (۱۹۷۳ تا ۲۰۱۷)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "اوگوئیای موریتانی",\r
         }\r
         MTL{\r
@@ -672,6 +676,10 @@ fa{
         }\r
         STD{\r
             "STD",\r
+            "دوبرای سائوتومه و پرنسیپ (۱۹۷۷ تا ۲۰۱۷)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "دوبرای سائوتومه و پرنسیپ",\r
         }\r
         SUR{\r
@@ -947,7 +955,7 @@ fa{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1362,6 +1370,10 @@ fa{
             other{"پاتاکای ماکائو"}\r
         }\r
         MRO{\r
+            one{"اوگوئیای موریتانی (۱۹۷۳ تا ۲۰۱۷)"}\r
+            other{"اوگوئیای موریتانی (۱۹۷۳ تا ۲۰۱۷)"}\r
+        }\r
+        MRU{\r
             one{"اوگوئیای موریتانی"}\r
             other{"اوگوئیای موریتانی"}\r
         }\r
@@ -1518,6 +1530,10 @@ fa{
             other{"پوند سودان جنوبی"}\r
         }\r
         STD{\r
+            one{"دوبرای سائوتومه و پرنسیپ (۱۹۷۷ تا ۲۰۱۷)"}\r
+            other{"دوبرای سائوتومه و پرنسیپ (۱۹۷۷ تا ۲۰۱۷)"}\r
+        }\r
+        STN{\r
             one{"دوبرای سائوتومه و پرنسیپ"}\r
             other{"دوبرای سائوتومه و پرنسیپ"}\r
         }\r
@@ -1646,5 +1662,5 @@ fa{
             other{"کواچای زامبیا"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4c0980b..d859a3e 100644 (file)
@@ -63,5 +63,5 @@ fa_AF{
             "دالر امریکا",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8b0281f..5d4a946 100644 (file)
@@ -124,6 +124,10 @@ ff{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugiyya Muritani (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugiyya Muritani",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ ff{
         }\r
         STD{\r
             "STD",\r
+            "Dobra Sawo Tome e Prensipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra Sawo Tome e Prensipe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ff{
             "Dolaar Simbaabuwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8272c61..52bc068 100644 (file)
@@ -7,5 +7,5 @@ ff_GN{
             "GNF",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9e0ba74..ac97c49 100644 (file)
@@ -2,10 +2,10 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_MR{\r
     Currencies{\r
-        MRO{\r
+        MRU{\r
             "UM",\r
             "Ugiyya Muritani",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c24794d..588a90e 100644 (file)
@@ -360,7 +360,7 @@ fi{
         }\r
         ESA{\r
             "ESA",\r
-            "Espanjan peseta (Atili)",\r
+            "Espanjan peseta (A-tili)",\r
         }\r
         ESB{\r
             "ESB",\r
@@ -684,6 +684,10 @@ fi{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanian ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanian ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ fi{
         }\r
         STD{\r
             "STD",\r
+            "São Tomén ja Príncipen dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomén ja Príncipen dobra",\r
         }\r
         SUR{\r
@@ -1283,7 +1291,7 @@ fi{
         SHP{"SHP"}\r
         SRD{"SRD"}\r
         SSP{"SSP"}\r
-        STD{"STD"}\r
+        STN{"STD"}\r
         SYP{"SYP"}\r
         THB{"THB"}\r
         TOP{"TOP"}\r
@@ -1660,8 +1668,8 @@ fi{
             other{"Eritrean nakfaa"}\r
         }\r
         ESA{\r
-            one{"Espanjan peseta (Atili)"}\r
-            other{"Espanjan pesetaa (Atili)"}\r
+            one{"Espanjan peseta (A-tili)"}\r
+            other{"Espanjan pesetaa (A-tili)"}\r
         }\r
         ESB{\r
             one{"Espanjan peseta (vaihdettava tili)"}\r
@@ -1984,6 +1992,10 @@ fi{
             other{"Macaon patacaa"}\r
         }\r
         MRO{\r
+            one{"Mauritanian ouguiya (1973–2017)"}\r
+            other{"Mauritanian ouguiyaa (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritanian ouguiya"}\r
             other{"Mauritanian ouguiyaa"}\r
         }\r
@@ -2216,6 +2228,10 @@ fi{
             other{"Etelä-Sudanin puntaa"}\r
         }\r
         STD{\r
+            one{"São Tomén ja Príncipen dobra (1977–2017)"}\r
+            other{"São Tomén ja Príncipen dobraa (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomén ja Príncipen dobra"}\r
             other{"São Tomén ja Príncipen dobraa"}\r
         }\r
@@ -2504,5 +2520,5 @@ fi{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 0a86d4e..a6fa9cc 100644 (file)
@@ -392,6 +392,10 @@ fil{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanian Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanian Ouguiya",\r
         }\r
         MUR{\r
@@ -548,6 +552,10 @@ fil{
         }\r
         STD{\r
             "STD",\r
+            "São Tomé & Príncipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomé & Príncipe Dobra",\r
         }\r
         SYP{\r
@@ -751,7 +759,7 @@ fil{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1145,6 +1153,10 @@ fil{
             other{"Macanese patacas"}\r
         }\r
         MRO{\r
+            one{"Mauritanian ouguiya (1973–2017)"}\r
+            other{"Mauritanian ouguiyas (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritanian ouguiya"}\r
             other{"Mauritanian ouguiyas"}\r
         }\r
@@ -1293,6 +1305,10 @@ fil{
             other{"pounds ng Timog Sudan"}\r
         }\r
         STD{\r
+            one{"São Tomé & Príncipe dobra (1977–2017)"}\r
+            other{"São Tomé & Príncipe dobras (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomé & Príncipe dobra"}\r
             other{"São Tomé & Príncipe dobras"}\r
         }\r
@@ -1413,5 +1429,5 @@ fil{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 37ff564..1ebabd9 100644 (file)
@@ -122,6 +122,10 @@ fo{
             "CLP",\r
             "Kili peso",\r
         }\r
+        CNH{\r
+            "CNH",\r
+            "kinesiskur yuan (úr landi)",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "kinesiskur yuan",\r
@@ -248,7 +252,7 @@ fo{
         }\r
         ILS{\r
             "₪",\r
-            "Ísrael new sheqel",\r
+            "Ísrael new shekel",\r
         }\r
         INR{\r
             "₹",\r
@@ -364,6 +368,10 @@ fo{
         }\r
         MRO{\r
             "MRO",\r
+            "Móritania ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Móritania ouguiya",\r
         }\r
         MUR{\r
@@ -512,6 +520,10 @@ fo{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome & Prinsipi dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome & Prinsipi dobra",\r
         }\r
         SYP{\r
@@ -723,7 +735,7 @@ fo{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -863,6 +875,10 @@ fo{
             one{"Kili peso"}\r
             other{"Kili peso"}\r
         }\r
+        CNH{\r
+            one{"kinesiskur yuan (úr landi)"}\r
+            other{"kinesiskur yuan (úr landi)"}\r
+        }\r
         CNY{\r
             one{"kinesiskur yuan"}\r
             other{"kinesiskir yuan"}\r
@@ -988,8 +1004,8 @@ fo{
             other{"Indonesia rupiah"}\r
         }\r
         ILS{\r
-            one{"Ísrael new sheqel"}\r
-            other{"Ísrael new sheqel"}\r
+            one{"Ísrael new shekel"}\r
+            other{"Ísrael new shekel"}\r
         }\r
         INR{\r
             one{"indiskur rupi"}\r
@@ -1104,6 +1120,10 @@ fo{
             other{"Makao pataca"}\r
         }\r
         MRO{\r
+            one{"Móritania ouguiya (1973–2017)"}\r
+            other{"Móritania ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Móritania ouguiya"}\r
             other{"Móritania ouguiya"}\r
         }\r
@@ -1252,6 +1272,10 @@ fo{
             other{"Suðursudan pund"}\r
         }\r
         STD{\r
+            one{"Sao Tome & Prinsipi dobra (1977–2017)"}\r
+            other{"Sao Tome & Prinsipi dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Sao Tome & Prinsipi dobra"}\r
             other{"Sao Tome & Prinsipi dobra"}\r
         }\r
@@ -1388,5 +1412,5 @@ fo{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index dba1e64..ae57928 100644 (file)
@@ -7,5 +7,5 @@ fo_DK{
             "donsk króna",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c1d3783..575d6d4 100644 (file)
@@ -620,6 +620,10 @@ fr{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya mauritanien (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya mauritanien",\r
         }\r
         MTL{\r
@@ -848,6 +852,10 @@ fr{
         }\r
         STD{\r
             "STD",\r
+            "dobra santoméen (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra santoméen",\r
         }\r
         SUR{\r
@@ -1195,7 +1203,7 @@ fr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1833,6 +1841,10 @@ fr{
             other{"patacas macanaises"}\r
         }\r
         MRO{\r
+            one{"ouguiya mauritanien (1973–2017)"}\r
+            other{"ouguiyas mauritaniens (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya mauritanien"}\r
             other{"ouguiyas mauritaniens"}\r
         }\r
@@ -2061,6 +2073,10 @@ fr{
             other{"livres sud-soudanaises"}\r
         }\r
         STD{\r
+            one{"dobra santoméen (1977–2017)"}\r
+            other{"dobras santoméens (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra santoméen"}\r
             other{"dobras santoméens"}\r
         }\r
@@ -2329,5 +2345,5 @@ fr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 35b99de..007dfaa 100644 (file)
@@ -7,5 +7,5 @@ fr_BI{
             "franc burundais",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a5ccf05..b0db616 100644 (file)
@@ -199,5 +199,5 @@ fr_CA{
             other{"rials yéménites"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 071897c..ecb87a8 100644 (file)
@@ -7,5 +7,5 @@ fr_CD{
             "franc congolais",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 55bfc29..8c6a8cc 100644 (file)
@@ -7,5 +7,5 @@ fr_DJ{
             "franc djiboutien",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a0af163..c12962b 100644 (file)
@@ -7,5 +7,5 @@ fr_DZ{
             "dinar algérien",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8f3969d..1c86b5e 100644 (file)
@@ -7,5 +7,5 @@ fr_GN{
             "franc guinéen",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d091e9b..63ac7ce 100644 (file)
@@ -7,5 +7,5 @@ fr_HT{
             "gourde haïtienne",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dccae96..3f79d39 100644 (file)
@@ -7,5 +7,5 @@ fr_KM{
             "franc comorien",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a26148e..10b8be4 100644 (file)
@@ -11,5 +11,5 @@ fr_LU{
             "franc luxembourgeois",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
 }\r
index db05262..d4d3c4e 100644 (file)
@@ -7,5 +7,5 @@ fr_MG{
             "ariary malgache",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 062186a..1951e1c 100644 (file)
@@ -2,10 +2,10 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MR{\r
     Currencies{\r
-        MRO{\r
+        MRU{\r
             "UM",\r
             "ouguiya mauritanien",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 87e3da7..3f0e605 100644 (file)
@@ -7,5 +7,5 @@ fr_MU{
             "roupie mauricienne",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2fdf2d8..289f9b8 100644 (file)
@@ -7,5 +7,5 @@ fr_RW{
             "franc rwandais",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f93b920..d316910 100644 (file)
@@ -7,5 +7,5 @@ fr_SC{
             "roupie des Seychelles",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3b67083..1b8e772 100644 (file)
@@ -7,5 +7,5 @@ fr_SY{
             "livre syrienne",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6572218..e70da5c 100644 (file)
@@ -7,5 +7,5 @@ fr_TN{
             "dinar tunisien",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ef54b61..cdaa55b 100644 (file)
@@ -7,5 +7,5 @@ fr_VU{
             "vatu vanuatuan",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9937844..749bfb2 100644 (file)
@@ -377,5 +377,5 @@ fur{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a6db2f3..7295c21 100644 (file)
@@ -664,6 +664,10 @@ fy{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritaanske ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritaanske ouguiya",\r
         }\r
         MTL{\r
@@ -892,6 +896,10 @@ fy{
         }\r
         STD{\r
             "STD",\r
+            "Santomese dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Santomese dobra",\r
         }\r
         SUR{\r
@@ -1837,6 +1845,10 @@ fy{
             other{"Macause pataca"}\r
         }\r
         MRO{\r
+            one{"Mauritaanske ouguiya (1973–2017)"}\r
+            other{"Mauritaanske ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritaanske ouguiya"}\r
             other{"Mauritaanske ouguiya"}\r
         }\r
@@ -2065,6 +2077,10 @@ fy{
             other{"Sûd-Soedaneeske pûn"}\r
         }\r
         STD{\r
+            one{"Santomese dobra (1977–2017)"}\r
+            other{"Santomese dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Santomese dobra"}\r
             other{"Santomese dobra"}\r
         }\r
@@ -2353,5 +2369,5 @@ fy{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2c8e12a..93dee33 100644 (file)
@@ -648,6 +648,10 @@ ga{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya na Máratáine (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya na Máratáine",\r
         }\r
         MTL{\r
@@ -876,6 +880,10 @@ ga{
         }\r
         STD{\r
             "STD",\r
+            "Dobra São Tomé agus Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra São Tomé agus Príncipe",\r
         }\r
         SUR{\r
@@ -1223,7 +1231,7 @@ ga{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2308,6 +2316,13 @@ ga{
             two{"phataca Mhacao"}\r
         }\r
         MRO{\r
+            few{"ouguiya na Máratáine (1973–2017)"}\r
+            many{"n-ouguiya na Máratáine (1973–2017)"}\r
+            one{"ouguiya na Máratáine (1973–2017)"}\r
+            other{"ouguiya na Máratáine (1973–2017)"}\r
+            two{"ouguiya na Máratáine (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya na Máratáine"}\r
             many{"n-ouguiya na Máratáine"}\r
             one{"ouguiya na Máratáine"}\r
@@ -2707,6 +2722,13 @@ ga{
             two{"phunt na Súdáine Theas"}\r
         }\r
         STD{\r
+            few{"dhobra São Tomé agus Príncipe (1977–2017)"}\r
+            many{"ndobra São Tomé agus Príncipe (1977–2017)"}\r
+            one{"dobra São Tomé agus Príncipe (1977–2017)"}\r
+            other{"dobra São Tomé agus Príncipe (1977–2017)"}\r
+            two{"dhobra São Tomé agus Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dhobra São Tomé agus Príncipe"}\r
             many{"ndobra São Tomé agus Príncipe"}\r
             one{"dobra São Tomé agus Príncipe"}\r
@@ -3155,5 +3177,5 @@ ga{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d1158f1..c4f2049 100644 (file)
@@ -680,6 +680,10 @@ gd{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya Moratàineach (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya Moratàineach",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ gd{
         }\r
         STD{\r
             "STD",\r
+            "Dobra São Tomé agus Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra São Tomé agus Príncipe",\r
         }\r
         SUR{\r
@@ -1279,7 +1287,7 @@ gd{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2314,6 +2322,12 @@ gd{
             two{"phataca Macàthuach"}\r
         }\r
         MRO{\r
+            few{"ouguiya Moratàineach (1973–2017)"}\r
+            one{"ouguiya Moratàineach (1973–2017)"}\r
+            other{"ouguiya Moratàineach (1973–2017)"}\r
+            two{"ouguiya Moratàineach (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya Moratàineach"}\r
             one{"ouguiya Moratàineach"}\r
             other{"ouguiya Moratàineach"}\r
@@ -2662,6 +2676,12 @@ gd{
             two{"phunnd Sudàin a Deas"}\r
         }\r
         STD{\r
+            few{"dobra São Tomé agus Príncipe (1977–2017)"}\r
+            one{"dobra São Tomé agus Príncipe (1977–2017)"}\r
+            other{"dobra São Tomé agus Príncipe (1977–2017)"}\r
+            two{"dhobra São Tomé agus Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobra São Tomé agus Príncipe"}\r
             one{"dobra São Tomé agus Príncipe"}\r
             other{"dobra São Tomé agus Príncipe"}\r
@@ -3094,5 +3114,5 @@ gd{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 24342d8..3454907 100644 (file)
@@ -501,6 +501,10 @@ gl{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya mauritano (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya mauritano",\r
         }\r
         MUR{\r
@@ -681,6 +685,10 @@ gl{
         }\r
         STD{\r
             "STD",\r
+            "Dobra de São Tomé e Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra de São Tomé e Príncipe",\r
         }\r
         SUR{\r
@@ -916,7 +924,7 @@ gl{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1378,6 +1386,10 @@ gl{
             other{"patacas de Macau"}\r
         }\r
         MRO{\r
+            one{"ouguiya mauritano (1973–2017)"}\r
+            other{"ouguiyas mauritanos (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya mauritano"}\r
             other{"ouguiyas mauritanos"}\r
         }\r
@@ -1534,6 +1546,10 @@ gl{
             other{"libras sursudanesa"}\r
         }\r
         STD{\r
+            one{"dobra de São Tomé e Príncipe (1977–2017)"}\r
+            other{"dobras de São Tomé e Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra de São Tomé e Príncipe"}\r
             other{"dobras de São Tomé e Príncipe"}\r
         }\r
@@ -1666,5 +1682,5 @@ gl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5e85e7a..9ed7a6c 100644 (file)
@@ -608,6 +608,10 @@ gsw{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya",\r
         }\r
         MTL{\r
@@ -836,6 +840,10 @@ gsw{
         }\r
         STD{\r
             "STD",\r
+            "Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra",\r
         }\r
         SUR{\r
@@ -1661,6 +1669,10 @@ gsw{
             other{"Pataca"}\r
         }\r
         MRO{\r
+            one{"Ouguiya (1973–2017)"}\r
+            other{"Ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Ouguiya"}\r
             other{"Ouguiya"}\r
         }\r
@@ -1889,6 +1901,10 @@ gsw{
             other{"Süüdsudaneesischi Pfund"}\r
         }\r
         STD{\r
+            one{"Dobra (1977–2017)"}\r
+            other{"Dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Dobra"}\r
             other{"Dobra"}\r
         }\r
@@ -2137,5 +2153,5 @@ gsw{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7b0cca6..e287629 100644 (file)
@@ -380,6 +380,10 @@ gu{
         }\r
         MRO{\r
             "MRO",\r
+            "મોરીશેનિયન ઓગુયા (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "મોરીશેનિયન ઓગુયા",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ gu{
         }\r
         STD{\r
             "STD",\r
+            "સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ gu{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1121,6 +1129,10 @@ gu{
             other{"માકાનિઝ પતાકા"}\r
         }\r
         MRO{\r
+            one{"મોરીશેનિયન ઓગુયા (1973–2017)"}\r
+            other{"મોરીશેનિયન ઓગુયા (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"મોરીશેનિયન ઓગુયા"}\r
             other{"મોરીશેનિયન ઓગુયા"}\r
         }\r
@@ -1269,6 +1281,10 @@ gu{
             other{"દક્ષિણ સુદાનિઝ પાઉન્ડ"}\r
         }\r
         STD{\r
+            one{"સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા (1977–2017)"}\r
+            other{"સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા"}\r
             other{"સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા"}\r
         }\r
@@ -1389,5 +1405,5 @@ gu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e95e307..0fff06c 100644 (file)
@@ -124,6 +124,10 @@ guz{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ guz{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ guz{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index aa8d6e1..263322a 100644 (file)
@@ -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{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dbfdf65..327e816 100644 (file)
@@ -124,6 +124,10 @@ ha{
         }\r
         MRO{\r
             "MRO",\r
+            "Kuɗin Moritaniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Kuɗin Moritaniya",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ ha{
         }\r
         STD{\r
             "STD",\r
+            "Kuɗin Sawo Tome da Paransip (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Kuɗin Sawo Tome da Paransip",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ha{
             "Dalar zimbabuwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8153857..cd3bbbc 100644 (file)
@@ -7,5 +7,5 @@ ha_GH{
             "GHS",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 89de12f..acb7f36 100644 (file)
@@ -11,5 +11,5 @@ haw{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b2765d2..00ba023 100644 (file)
@@ -500,6 +500,10 @@ he{
         }\r
         MRO{\r
             "MRO",\r
+            "אואוגויה מאוריטני (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "אואוגויה מאוריטני",\r
         }\r
         MTL{\r
@@ -700,6 +704,10 @@ he{
         }\r
         STD{\r
             "STD",\r
+            "דוברה של סן טומה ופרינסיפה (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "דוברה של סן טומה ופרינסיפה",\r
         }\r
         SUR{\r
@@ -979,7 +987,7 @@ he{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1554,6 +1562,12 @@ he{
             two{"פטקה של מקאו"}\r
         }\r
         MRO{\r
+            many{"אואוגויה מאוריטני (1973–2017)"}\r
+            one{"אואוגויה מאוריטני (1973–2017)"}\r
+            other{"אואוגויה מאוריטני (1973–2017)"}\r
+            two{"אואוגויה מאוריטני (1973–2017)"}\r
+        }\r
+        MRU{\r
             many{"אואוגויה מאוריטני"}\r
             one{"אואוגויה מאוריטני"}\r
             other{"אואוגויה מאוריטני"}\r
@@ -1782,6 +1796,12 @@ he{
             two{"לירה דרום-סודנית"}\r
         }\r
         STD{\r
+            many{"דוברה של סן טומה ופרינסיפה (1977–2017)"}\r
+            one{"דוברה של סן טומה ופרינסיפה (1977–2017)"}\r
+            other{"דוברה של סן טומה ופרינסיפה (1977–2017)"}\r
+            two{"דוברה של סן טומה ופרינסיפה (1977–2017)"}\r
+        }\r
+        STN{\r
             many{"דוברה של סן טומה ופרינסיפה"}\r
             one{"דוברה של סן טומה ופרינסיפה"}\r
             other{"דוברה של סן טומה ופרינסיפה"}\r
@@ -1968,5 +1988,5 @@ he{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 404449a..36b61a1 100644 (file)
@@ -416,6 +416,10 @@ hi{
         }\r
         MRO{\r
             "MRO",\r
+            "मॉरीटेनियन ओगुइया (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "मॉरीटेनियन ओगुइया",\r
         }\r
         MUR{\r
@@ -588,6 +592,10 @@ hi{
         }\r
         STD{\r
             "STD",\r
+            "साओ तोम और प्रिंसिपे डोबरा (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "साओ तोम और प्रिंसिपे डोबरा",\r
         }\r
         SUR{\r
@@ -811,7 +819,7 @@ hi{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1205,6 +1213,10 @@ hi{
             other{"मेकानीज़ पाटाका"}\r
         }\r
         MRO{\r
+            one{"मॉरीटेनियन ओगुइया (1973–2017)"}\r
+            other{"मॉरीटेनियन ओगुइया (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"मॉरीटेनियन ओगुइया"}\r
             other{"मॉरीटेनियन ओगुइया"}\r
         }\r
@@ -1353,6 +1365,10 @@ hi{
             other{"दक्षिण सूडानी पाउंड"}\r
         }\r
         STD{\r
+            one{"साओ तोम और प्रिंसिपे डोबरा (1977–2017)"}\r
+            other{"साओ तोम और प्रिंसिपे डोबरा (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"साओ तोम और प्रिंसिपे डोबरा"}\r
             other{"साओ तोम और प्रिंसिपे डोबरा"}\r
         }\r
@@ -1473,5 +1489,5 @@ hi{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1db5520..5700a70 100644 (file)
@@ -684,6 +684,10 @@ hr{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritanijska ouguja (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritanijska ouguja",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ hr{
         }\r
         STD{\r
             "STD",\r
+            "dobra Svetog Tome i Principa (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra Svetog Tome i Principa",\r
         }\r
         SUR{\r
@@ -1281,7 +1289,7 @@ hr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2143,6 +2151,11 @@ hr{
             other{"makaoških pataka"}\r
         }\r
         MRO{\r
+            few{"mauritanijske ouguje (1973–2017)"}\r
+            one{"mauritanijska ouguja (1973–2017)"}\r
+            other{"mauritanijskih ouguja (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauritanijske ouguje"}\r
             one{"mauritanijska ouguja"}\r
             other{"mauritanijskih ouguja"}\r
@@ -2433,6 +2446,11 @@ hr{
             other{"južnosudanskih funti"}\r
         }\r
         STD{\r
+            few{"dobre Svetog Tome i Principa (1977–2017)"}\r
+            one{"dobra Svetog Tome i Principa (1977–2017)"}\r
+            other{"dobri Svetog Tome i Principa (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobre Svetog Tome i Principa"}\r
             one{"dobra Svetog Tome i Principa"}\r
             other{"dobri Svetog Tome i Principa"}\r
@@ -2793,5 +2811,5 @@ hr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 04970ac..a5cbfcf 100644 (file)
@@ -7,5 +7,5 @@ hr_BA{
             "konvertibilna marka",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c00eee2..aa435ee 100644 (file)
@@ -464,6 +464,10 @@ hsb{
         }\r
         MRO{\r
             "MRO",\r
+            "mawretanska ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mawretanska ouguiya",\r
         }\r
         MUR{\r
@@ -620,6 +624,10 @@ hsb{
         }\r
         STD{\r
             "STD",\r
+            "são tomeski dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "são tomeski dobra",\r
         }\r
         SVC{\r
@@ -1434,6 +1442,12 @@ hsb{
             two{"macaoskej patace"}\r
         }\r
         MRO{\r
+            few{"mawretanske ouguije (1973–2017)"}\r
+            one{"mawretanska ouguiya (1973–2017)"}\r
+            other{"mawretanskich ouguijow (1973–2017)"}\r
+            two{"mawretanskej ouguiji (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mawretanske ouguije"}\r
             one{"mawretanska ouguiya"}\r
             other{"mawretanskich ouguijow"}\r
@@ -1668,6 +1682,12 @@ hsb{
             two{"južnosudanskej puntaj"}\r
         }\r
         STD{\r
+            few{"são tomeske dobry (1977–2017)"}\r
+            one{"são tomeski dobra (1977–2017)"}\r
+            other{"são tomeskich dobrow (1977–2017)"}\r
+            two{"são tomeskej dobraj (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"são tomeske dobry"}\r
             one{"são tomeski dobra"}\r
             other{"são tomeskich dobrow"}\r
@@ -1854,5 +1874,5 @@ hsb{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 76ce10c..f0536ee 100644 (file)
@@ -616,6 +616,10 @@ hu{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritániai ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritániai ouguiya",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ hu{
         }\r
         STD{\r
             "STD",\r
+            "São Tomé és Príncipe-i dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomé és Príncipe-i dobra",\r
         }\r
         SUR{\r
@@ -1191,7 +1199,7 @@ hu{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1673,6 +1681,10 @@ hu{
             other{"makaói pataca"}\r
         }\r
         MRO{\r
+            one{"mauritániai ouguiya (1973–2017)"}\r
+            other{"mauritániai ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mauritániai ouguiya"}\r
             other{"mauritániai ouguiya"}\r
         }\r
@@ -1841,6 +1853,10 @@ hu{
             other{"dél-szudáni font"}\r
         }\r
         STD{\r
+            one{"São Tomé és Príncipe-i dobra (1977–2017)"}\r
+            other{"São Tomé és Príncipe-i dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomé és Príncipe-i dobra"}\r
             other{"São Tomé és Príncipe-i dobra"}\r
         }\r
@@ -2021,5 +2037,5 @@ hu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 4de6cf3..a3b6b3e 100644 (file)
@@ -376,6 +376,10 @@ hy{
         }\r
         MRO{\r
             "MRO",\r
+            "մավրիտանական ուգիյա (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "մավրիտանական ուգիյա",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ hy{
         }\r
         STD{\r
             "STD",\r
+            "Սան Տոմե և Փրինսիպիի դոբրա (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Սան Տոմե և Փրինսիպիի դոբրա",\r
         }\r
         SYP{\r
@@ -723,7 +731,7 @@ hy{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1117,6 +1125,10 @@ hy{
             other{"Մակաոյի պատակա"}\r
         }\r
         MRO{\r
+            one{"մավրիտանական ուգիյա (1973–2017)"}\r
+            other{"մավրիտանական ուգիյա (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"մավրիտանական ուգիյա"}\r
             other{"մավրիտանական ուգիյա"}\r
         }\r
@@ -1265,6 +1277,10 @@ hy{
             other{"հարավսուդանական ֆունտ"}\r
         }\r
         STD{\r
+            one{"Սան Տոմե և Փրինսիպիի դոբրա (1977–2017)"}\r
+            other{"Սան Տոմե և Փրինսիպիի դոբրա (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Սան Տոմե և Փրինսիպիի դոբրա"}\r
             other{"Սան Տոմե և Փրինսիպիի դոբրա"}\r
         }\r
@@ -1389,5 +1405,5 @@ hy{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5647cc2..75c1704 100644 (file)
@@ -676,6 +676,10 @@ id{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya Mauritania",\r
         }\r
         MTL{\r
@@ -908,6 +912,10 @@ id{
         }\r
         STD{\r
             "STD",\r
+            "Dobra Sao Tome dan Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra Sao Tome dan Principe",\r
         }\r
         SUR{\r
@@ -1263,7 +1271,7 @@ id{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1641,6 +1649,9 @@ id{
             other{"Pataca Makau"}\r
         }\r
         MRO{\r
+            other{"Ouguiya Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"Ouguiya Mauritania"}\r
         }\r
         MUR{\r
@@ -1782,6 +1793,9 @@ id{
             other{"Pound Sudan Selatan"}\r
         }\r
         STD{\r
+            other{"Dobra Sao Tome dan Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"Dobra Sao Tome dan Principe"}\r
         }\r
         SYP{\r
@@ -1914,5 +1928,5 @@ id{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 7c8727e..3585802 100644 (file)
@@ -14,5 +14,5 @@ ig{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bcfd398..d09c934 100644 (file)
@@ -14,5 +14,5 @@ ii{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 92011d2..e14be5c 100644 (file)
@@ -500,6 +500,10 @@ is{
         }\r
         MRO{\r
             "MRO",\r
+            "márítönsk úgía (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "márítönsk úgía",\r
         }\r
         MTL{\r
@@ -708,6 +712,10 @@ is{
         }\r
         STD{\r
             "STD",\r
+            "Saó Tóme og Prinsípe-dóbra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Saó Tóme og Prinsípe-dóbra",\r
         }\r
         SUR{\r
@@ -975,7 +983,7 @@ is{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1373,6 +1381,10 @@ is{
             other{"makaóskar patökur"}\r
         }\r
         MRO{\r
+            one{"máritönsk úgía (1973–2017)"}\r
+            other{"máritanskar úgíur (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"máritönsk úgía"}\r
             other{"máritanskar úgíur"}\r
         }\r
@@ -1525,6 +1537,10 @@ is{
             other{"suðursúdönsk pund"}\r
         }\r
         STD{\r
+            one{"Saó Tóme og Prinsípe-dóbra (1977–2017)"}\r
+            other{"Saó Tóme og Prinsípe-dóbrur (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Saó Tóme og Prinsípe-dóbra"}\r
             other{"Saó Tóme og Prinsípe-dóbrur"}\r
         }\r
@@ -1653,5 +1669,5 @@ is{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bbde40c..8730604 100644 (file)
@@ -609,6 +609,10 @@ it{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya della Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya della Mauritania",\r
         }\r
         MTL{\r
@@ -829,6 +833,10 @@ it{
         }\r
         STD{\r
             "STD",\r
+            "dobra di Sao Tomé e Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra di Sao Tomé e Principe",\r
         }\r
         SUR{\r
@@ -1168,7 +1176,7 @@ it{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1566,6 +1574,10 @@ it{
             other{"patacas di Macao"}\r
         }\r
         MRO{\r
+            one{"ouguiya della Mauritania (1973–2017)"}\r
+            other{"ouguiya della Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya della Mauritania"}\r
             other{"ouguiya della Mauritania"}\r
         }\r
@@ -1722,6 +1734,10 @@ it{
             other{"sterline sud-sudanesi"}\r
         }\r
         STD{\r
+            one{"dobra di Sao Tomé e Principe (1977–2017)"}\r
+            other{"dobra di Sao Tomé e Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra di Sao Tomé e Principe"}\r
             other{"dobra di Sao Tomé e Principe"}\r
         }\r
@@ -1854,5 +1870,5 @@ it{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
 }\r
index 7171b71..fa737c7 100644 (file)
@@ -684,6 +684,10 @@ ja{
         }\r
         MRO{\r
             "MRO",\r
+            "モーリタニア ウギア (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "モーリタニア ウギア",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ ja{
         }\r
         STD{\r
             "STD",\r
+            "サントメ・プリンシペ ドブラ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "サントメ・プリンシペ ドブラ",\r
         }\r
         SUR{\r
@@ -1280,7 +1288,7 @@ ja{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1812,6 +1820,9 @@ ja{
             other{"マカオ パタカ"}\r
         }\r
         MRO{\r
+            other{"モーリタニア ウギア (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"モーリタニア ウギア"}\r
         }\r
         MTL{\r
@@ -1986,6 +1997,9 @@ ja{
             other{"南スーダン ポンド"}\r
         }\r
         STD{\r
+            other{"サントメ・プリンシペ ドブラ (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"サントメ・プリンシペ ドブラ"}\r
         }\r
         SUR{\r
@@ -2202,5 +2216,5 @@ ja{
     CurrencyUnitPatterns{\r
         other{"{0}{1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 8dfd7af..d9d031a 100644 (file)
@@ -23,5 +23,5 @@ jgo{
             "ntɛ-ŋkáp yi pɛ́ ká kɛ́ jínɛ",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 090e400..9886a93 100644 (file)
@@ -124,6 +124,10 @@ jmc{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ jmc{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ jmc{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 14f7464..0d93364 100644 (file)
@@ -552,6 +552,10 @@ ka{
         }\r
         MRO{\r
             "MRO",\r
+            "მავრიტანული უგია (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "მავრიტანული უგია",\r
         }\r
         MTL{\r
@@ -768,6 +772,10 @@ ka{
         }\r
         STD{\r
             "STD",\r
+            "სან-ტომე და პრინსიპის დობრა (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "სან-ტომე და პრინსიპის დობრა",\r
         }\r
         SUR{\r
@@ -1055,7 +1063,7 @@ ka{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1448,6 +1456,10 @@ ka{
             other{"მაკაუს პატაკა"}\r
         }\r
         MRO{\r
+            one{"მავრიტანული უგია (1973–2017)"}\r
+            other{"მავრიტანული უგია (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"მავრიტანული უგია"}\r
             other{"მავრიტანული უგია"}\r
         }\r
@@ -1600,6 +1612,10 @@ ka{
             other{"სამხრეთ სუდანური ფუნტი"}\r
         }\r
         STD{\r
+            one{"სან-ტომე და პრინსიპის დობრა (1977–2017)"}\r
+            other{"სან-ტომე და პრინსიპის დობრა (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"სან-ტომე და პრინსიპის დობრა"}\r
             other{"სან-ტომე და პრინსიპის დობრა"}\r
         }\r
@@ -1724,5 +1740,5 @@ ka{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 746a123..d7cc476 100644 (file)
@@ -124,6 +124,10 @@ kab{
         }\r
         MRO{\r
             "MRO",\r
+            "Agiya Amuriṭani (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Agiya Amuriṭani",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ kab{
         }\r
         STD{\r
             "STD",\r
+            "Asw Ṭum d Udubra Amenzay (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Asw Ṭum d Udubra Amenzay",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ kab{
             "Adular Azimbabwi",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1399904..ded7472 100644 (file)
@@ -124,6 +124,10 @@ kam{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ kam{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ kam{
             "Ndola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7adf0c1..27112db 100644 (file)
@@ -124,6 +124,10 @@ kde{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ kde{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ kde{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 670c9a4..4c4570f 100644 (file)
@@ -285,6 +285,10 @@ kea{
         }\r
         MRO{\r
             "MRO",\r
+            "Ougia (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ougia",\r
         }\r
         MUR{\r
@@ -413,6 +417,10 @@ kea{
         }\r
         STD{\r
             "STD",\r
+            "Dobra di Sãu Tume i Prínsipi (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra di Sãu Tume i Prínsipi",\r
         }\r
         SYP{\r
@@ -647,6 +655,9 @@ kea{
             other{"Ariari di Madagaskar"}\r
         }\r
         MRO{\r
+            other{"Ougia (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"Ougia"}\r
         }\r
         MUR{\r
@@ -698,6 +709,9 @@ kea{
             other{"Xelin somalianu"}\r
         }\r
         STD{\r
+            other{"Dobra di Sãu Tume i Prinsipi (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"Dobra di Sãu Tume i Prinsipi"}\r
         }\r
         SZL{\r
@@ -743,5 +757,5 @@ kea{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3381cf4..f91079e 100644 (file)
@@ -124,6 +124,10 @@ khq{
         }\r
         MRO{\r
             "MRO",\r
+            "Mooritaani Ugiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mooritaani Ugiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ khq{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome nda Prinsipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome nda Prinsipe Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ khq{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c47905b..d9eb5fd 100644 (file)
@@ -124,6 +124,10 @@ ki{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ ki{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ki{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6fc929f..d5c0ee6 100644 (file)
@@ -376,6 +376,10 @@ kk{
         }\r
         MRO{\r
             "MRO",\r
+            "Мавритания угиясы (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мавритания угиясы",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ kk{
         }\r
         STD{\r
             "STD",\r
+            "Сант-Томе мен Принсипи добрасы (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Сант-Томе мен Принсипи добрасы",\r
         }\r
         SYP{\r
@@ -717,7 +725,7 @@ kk{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1111,6 +1119,10 @@ kk{
             other{"Макао патакасы"}\r
         }\r
         MRO{\r
+            one{"Мавритания угиясы (1973–2017)"}\r
+            other{"Мавритания угиясы (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Мавритания угиясы"}\r
             other{"Мавритания угиясы"}\r
         }\r
@@ -1259,6 +1271,10 @@ kk{
             other{"Оңтүстік Судан фунты"}\r
         }\r
         STD{\r
+            one{"Сант-Томе мен Принсипи добрасы (1977–2017)"}\r
+            other{"Сант-Томе мен Принсипи добрасы (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Сант-Томе мен Принсипи добрасы"}\r
             other{"Сант-Томе мен Принсипи добрасы"}\r
         }\r
@@ -1379,5 +1395,5 @@ kk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4b57bcc..ced3df5 100644 (file)
@@ -7,5 +7,5 @@ kkj{
             "Franc CFA",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 67e793b..7861393 100644 (file)
@@ -17,5 +17,5 @@ kl{
             other{"euro"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 42a54fc..84d3e8e 100644 (file)
@@ -124,6 +124,10 @@ kln{
         }\r
         MRO{\r
             "MRO",\r
+            "Rabisiekab Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Rabisiekab Mauritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ kln{
         }\r
         STD{\r
             "STD",\r
+            "Rabisiekab Sao Tome ak Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Rabisiekab Sao Tome ak Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ kln{
             "Dolaitab ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d8f1b85..beda0fb 100644 (file)
@@ -376,6 +376,10 @@ km{
         }\r
         MRO{\r
             "MRO",\r
+            "អ៊ូហ្គីយ៉ា​ម៉ូរីតានី (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "អ៊ូហ្គីយ៉ា​ម៉ូរីតានី",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ km{
         }\r
         STD{\r
             "STD",\r
+            "ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប",\r
         }\r
         SYP{\r
@@ -719,7 +727,7 @@ km{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1020,6 +1028,9 @@ km{
             other{"ប៉ាតាកា​ម៉ាកាវ"}\r
         }\r
         MRO{\r
+            other{"អ៊ូហ្គីយ៉ា​ម៉ូរីតានី (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"អ៊ូហ្គីយ៉ា​ម៉ូរីតានី"}\r
         }\r
         MUR{\r
@@ -1131,6 +1142,9 @@ km{
             other{"ផោន​ស៊ូដង់​ខាង​ត្បូង"}\r
         }\r
         STD{\r
+            other{"ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប"}\r
         }\r
         SYP{\r
@@ -1221,5 +1235,5 @@ km{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 243e4f0..c52ca3d 100644 (file)
@@ -380,6 +380,10 @@ kn{
         }\r
         MRO{\r
             "MRO",\r
+            "ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ kn{
         }\r
         STD{\r
             "STD",\r
+            "ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ kn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1121,6 +1129,10 @@ kn{
             other{"ಮಕ್ಯೂದ ಪಟಕಾಗಳು"}\r
         }\r
         MRO{\r
+            one{"ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ (1973–2017)"}\r
+            other{"ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯಗಳು (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ"}\r
             other{"ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯಗಳು"}\r
         }\r
@@ -1269,6 +1281,10 @@ kn{
             other{"ದಕ್ಷಿಣ ಸೂಡಾನೀಸ್ ಪೌಂಡ್‍‍ಗಳು"}\r
         }\r
         STD{\r
+            one{"ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ (1977–2017)"}\r
+            other{"ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾಗಳು (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ"}\r
             other{"ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾಗಳು"}\r
         }\r
@@ -1389,5 +1405,5 @@ kn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4628e12..1654eb4 100644 (file)
@@ -660,6 +660,10 @@ ko{
         }\r
         MRO{\r
             "MRO",\r
+            "모리타니 우기야 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "모리타니 우기야",\r
         }\r
         MTL{\r
@@ -888,6 +892,10 @@ ko{
         }\r
         STD{\r
             "STD",\r
+            "상투메 프린시페 도브라 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "상투메 프린시페 도브라",\r
         }\r
         SUR{\r
@@ -1239,7 +1247,7 @@ ko{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1540,6 +1548,9 @@ ko{
             other{"마카오 파타카"}\r
         }\r
         MRO{\r
+            other{"모리타니 우기야 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"모리타니 우기야"}\r
         }\r
         MUR{\r
@@ -1651,6 +1662,9 @@ ko{
             other{"남수단 파운드"}\r
         }\r
         STD{\r
+            other{"상투메 프린시페 도브라 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"상투메 프린시페 도브라"}\r
         }\r
         SYP{\r
@@ -1741,5 +1755,5 @@ ko{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 8f6c6a6..e5f87b3 100644 (file)
@@ -81,5 +81,5 @@ kok{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f478c7a..41bedea 100644 (file)
@@ -552,6 +552,10 @@ ks{
         }\r
         MRO{\r
             "MRO",\r
+            "مورِٹینِیَن عوگیوٗیا (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "مورِٹینِیَن عوگیوٗیا",\r
         }\r
         MTL{\r
@@ -1011,5 +1015,5 @@ ks{
             "زِمبابِیُک ڈالَر",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6fb04bb..a06f981 100644 (file)
@@ -124,6 +124,10 @@ ksb{
         }\r
         MRO{\r
             "MRO",\r
+            "ugwiya ya Molitania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ugwiya ya Molitania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ ksb{
         }\r
         STD{\r
             "STD",\r
+            "dobla ya Sao Tome na Plincipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobla ya Sao Tome na Plincipe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ ksb{
             "dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 159de7e..385e675 100644 (file)
@@ -124,6 +124,10 @@ ksf{
         }\r
         MRO{\r
             "MRO",\r
+            "mɔni mǝ á mwaritaní (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mɔni mǝ á mwaritaní",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ ksf{
         }\r
         STD{\r
             "STD",\r
+            "mɔni mǝ á saotomɛ́ ri priŋsib (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "mɔni mǝ á saotomɛ́ ri priŋsib",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ ksf{
             "mɔni mǝ á zimbabwɛ́",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0630c57..c8f4226 100644 (file)
@@ -384,6 +384,10 @@ ksh{
         }\r
         MRO{\r
             "MRO",\r
+            "mauretanesche Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauretanesche Ouguiya",\r
         }\r
         MUR{\r
@@ -544,6 +548,10 @@ ksh{
         }\r
         STD{\r
             "STD",\r
+            "Dobra vun São Tomé un Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra vun São Tomé un Príncipe",\r
         }\r
         SVC{\r
@@ -855,6 +863,11 @@ ksh{
             zero{"södsudaneesesche Pongk"}\r
         }\r
         STD{\r
+            one{"Dobra vun São Tomé un Príncipe (1977–2017)"}\r
+            other{"Dobra vun São Tomé un Príncipe (1977–2017)"}\r
+            zero{"Dobra vun São Tomé un Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Dobra vun São Tomé un Príncipe"}\r
             other{"Dobra vun São Tomé un Príncipe"}\r
             zero{"Dobra vun São Tomé un Príncipe"}\r
@@ -895,5 +908,5 @@ ksh{
         other{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30cb7bd..dd763ab 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9e3fe6b..2c9f4bf 100644 (file)
@@ -376,6 +376,10 @@ ky{
         }\r
         MRO{\r
             "MRO",\r
+            "Мавритания угиясы (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мавритания угиясы",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ ky{
         }\r
         STD{\r
             "STD",\r
+            "Сао Томе жана Принсипе добрасы (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Сао Томе жана Принсипе добрасы",\r
         }\r
         SYP{\r
@@ -719,7 +727,7 @@ ky{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1113,6 +1121,10 @@ ky{
             other{"Макау патакасы"}\r
         }\r
         MRO{\r
+            one{"Мавритания угиясы (1973–2017)"}\r
+            other{"Мавритания угиясы (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Мавритания угиясы"}\r
             other{"Мавритания угиясы"}\r
         }\r
@@ -1261,6 +1273,10 @@ ky{
             other{"Түштүк Судан фунту"}\r
         }\r
         STD{\r
+            one{"Сао Томе жана Принсипе добрасы (1977–2017)"}\r
+            other{"Сао Томе жана Принсипе добрасы (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Сао Томе жана Принсипе добрасы"}\r
             other{"Сао Томе жана Принсипе добрасы"}\r
         }\r
@@ -1381,5 +1397,5 @@ ky{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5a65378..879ad4d 100644 (file)
@@ -124,6 +124,10 @@ lag{
         }\r
         MRO{\r
             "MRO",\r
+            "Ungwíiya ya Moritánia (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ungwíiya ya Moritánia",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ lag{
         }\r
         STD{\r
             "STD",\r
+            "Dóbura ya SaoTóome na Pirínsipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dóbura ya SaoTóome na Pirínsipe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ lag{
             "Dóola ya Simbáabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0f4b40b..ac11628 100644 (file)
@@ -612,6 +612,10 @@ lb{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauretaneschen Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauretaneschen Ouguiya",\r
         }\r
         MTL{\r
@@ -840,6 +844,10 @@ lb{
         }\r
         STD{\r
             "STD",\r
+            "São-toméeschen Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São-toméeschen Dobra",\r
         }\r
         SUR{\r
@@ -1729,6 +1737,10 @@ lb{
             other{"Macau-Pataca"}\r
         }\r
         MRO{\r
+            one{"Mauretaneschen Ouguiya (1973–2017)"}\r
+            other{"Mauretanesch Ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauretaneschen Ouguiya"}\r
             other{"Mauretanesch Ouguiya"}\r
         }\r
@@ -1957,6 +1969,10 @@ lb{
             other{"Südsudanesesch Pond"}\r
         }\r
         STD{\r
+            one{"São-toméeschen Dobra (1977–2017)"}\r
+            other{"São-toméesch Dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São-toméeschen Dobra"}\r
             other{"São-toméesch Dobra"}\r
         }\r
@@ -2225,5 +2241,5 @@ lb{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f16da89..701e4ab 100644 (file)
@@ -124,6 +124,10 @@ lg{
         }\r
         MRO{\r
             "MRO",\r
+            "Wugwiya ey’eMawritenya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Wugwiya ey’eMawritenya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ lg{
         }\r
         STD{\r
             "STD",\r
+            "Dobura ey’eSantome ne Purincipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobura ey’eSantome ne Purincipe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ lg{
             "Doola ey’eZimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index cba5710..2652579 100644 (file)
@@ -7,5 +7,5 @@ lkt{
             "USD",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c0cd644..747c20d 100644 (file)
@@ -124,6 +124,10 @@ ln{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritani (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritani",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ ln{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tomé mpé Presipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tomé mpé Presipe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ ln{
             "Dolarɛ ya Zimbabwɛ",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3b5af67..4c24efb 100644 (file)
@@ -7,5 +7,5 @@ ln_AO{
             "Kwanza ya Angóla",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 99360ae..4a5e053 100644 (file)
@@ -668,6 +668,10 @@ lo{
         }\r
         MRO{\r
             "MRO",\r
+            "ມົວ​ຣິ​ທາ​ນຽນ ອູ​ກິວ​ຢາ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ມົວ​ຣິ​ທາ​ນຽນ ອູ​ກິວ​ຢາ",\r
         }\r
         MTL{\r
@@ -896,6 +900,10 @@ lo{
         }\r
         STD{\r
             "STD",\r
+            "ເຊົາ ໂທ​ເມ ແອນ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ເຊົາ ໂທ​ເມ ແອນ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ",\r
         }\r
         SUR{\r
@@ -1250,7 +1258,7 @@ lo{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1551,6 +1559,9 @@ lo{
             other{"ມາ​ເກົ້າ ປາ​​ຕາ​ກາ"}\r
         }\r
         MRO{\r
+            other{"ມົວ​ຣິ​ທາ​ນຽນ ອູ​ກິວ​ຢາ (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"ມົວ​ຣິ​ທາ​ນຽນ ອູ​ກິວ​ຢາ"}\r
         }\r
         MUR{\r
@@ -1662,6 +1673,9 @@ lo{
             other{"ເຊົາ​ທ໌ ຊູ​ດານ​ນີ​ສ ພາວດ໌"}\r
         }\r
         STD{\r
+            other{"ເຊົາ ໂທ​ເມ ແອນ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"ເຊົາ ໂທ​ເມ ແອນ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ"}\r
         }\r
         SYP{\r
@@ -1752,5 +1766,5 @@ lo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7235f32..1785e83 100644 (file)
@@ -82,5 +82,5 @@ lrc{
             other{"پیل نادیار"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 288533d..6256bd6 100644 (file)
@@ -684,6 +684,10 @@ lt{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanijos ugija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanijos ugija",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ lt{
         }\r
         STD{\r
             "STD",\r
+            "San Tomės ir Principės dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "San Tomės ir Principės dobra",\r
         }\r
         SUR{\r
@@ -1279,7 +1287,7 @@ lt{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2322,6 +2330,12 @@ lt{
             other{"Makao patakų"}\r
         }\r
         MRO{\r
+            few{"Mauritanijos ugijos (1973–2017)"}\r
+            many{"Mauritanijos ugijos (1973–2017)"}\r
+            one{"Mauritanijos ugija (1973–2017)"}\r
+            other{"Mauritanijos ugijų (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"Mauritanijos ugijos"}\r
             many{"Mauritanijos ugijos"}\r
             one{"Mauritanijos ugija"}\r
@@ -2670,6 +2684,12 @@ lt{
             other{"Pietų Sudano svarų"}\r
         }\r
         STD{\r
+            few{"San Tomės ir Principės dobros (1977–2017)"}\r
+            many{"San Tomės ir Principės dobros (1977–2017)"}\r
+            one{"San Tomės ir Principės dobra (1977–2017)"}\r
+            other{"Sao Tomės ir Principės dobrų (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"San Tomės ir Principės dobros"}\r
             many{"San Tomės ir Principės dobros"}\r
             one{"San Tomės ir Principės dobra"}\r
@@ -3096,5 +3116,5 @@ lt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5dfe794..c88b1ef 100644 (file)
@@ -124,6 +124,10 @@ lu{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya wa Moritani (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya wa Moritani",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ lu{
         }\r
         STD{\r
             "STD",\r
+            "Dobra wa Sao Tome ne Presipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra wa Sao Tome ne Presipe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ lu{
             "Ndola wa Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6a6bd0f..c8d95ab 100644 (file)
@@ -124,6 +124,10 @@ luo{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ luo{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ luo{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a15c0f9..15485e4 100644 (file)
@@ -124,6 +124,10 @@ luy{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ luy{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ luy{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 989834f..5bb220e 100644 (file)
@@ -444,6 +444,10 @@ lv{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritānijas ugija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritānijas ugija",\r
         }\r
         MTL{\r
@@ -632,6 +636,10 @@ lv{
         }\r
         STD{\r
             "STD",\r
+            "Santome un Prinsipi dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Santome un Prinsipi dobra",\r
         }\r
         SVC{\r
@@ -907,7 +915,7 @@ lv{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1404,6 +1412,11 @@ lv{
             zero{"Makao patakas"}\r
         }\r
         MRO{\r
+            one{"Mauritānijas ugija (1973–2017)"}\r
+            other{"Mauritānijas ugijas (1973–2017)"}\r
+            zero{"Mauritānijas ugijas (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritānijas ugija"}\r
             other{"Mauritānijas ugijas"}\r
             zero{"Mauritānijas ugijas"}\r
@@ -1599,6 +1612,11 @@ lv{
             zero{"Dienvidsudānas mārciņas"}\r
         }\r
         STD{\r
+            one{"Santome un Prinsipi dobra (1977–2017)"}\r
+            other{"Santome un Prinsipi dobras (1977–2017)"}\r
+            zero{"Santome un Prinsipi dobras (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Santome un Prinsipi dobra"}\r
             other{"Santome un Prinsipi dobras"}\r
             zero{"Santome un Prinsipi dobras"}\r
@@ -1794,5 +1812,5 @@ lv{
         other{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 64bd1d3..a4f2697 100644 (file)
@@ -124,6 +124,10 @@ mas{
         }\r
         MRO{\r
             "MRO",\r
+            "Iropiyianí e Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Iropiyianí e Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ mas{
         }\r
         STD{\r
             "STD",\r
+            "Iropiyianí e Saotome (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Iropiyianí e Saotome",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ mas{
             "Iropiyianí e Simbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 275f665..8b8a50f 100644 (file)
@@ -7,5 +7,5 @@ mas_TZ{
             "Iropiyianí e Tanzania",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d5fedc7..2291aa1 100644 (file)
@@ -124,6 +124,10 @@ mer{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Mauritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ mer{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ mer{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4c79a3d..2d45c26 100644 (file)
@@ -124,6 +124,10 @@ mfe{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya moritanien (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya moritanien",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ mfe{
         }\r
         STD{\r
             "STD",\r
+            "dobra santomeen (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra santomeen",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ mfe{
             "dolar zimbawe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e69f9c7..8eea9d8 100644 (file)
@@ -124,6 +124,10 @@ mg{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya moritanianina (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya moritanianina",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ mg{
         }\r
         STD{\r
             "STD",\r
+            "Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra",\r
         }\r
         SZL{\r
@@ -231,5 +239,5 @@ mg{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b7f331e..28972bd 100644 (file)
@@ -7,5 +7,5 @@ mgh{
             "MZN",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d8b1247..a12f9c8 100644 (file)
@@ -15,5 +15,5 @@ mgo{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9f7f86c..1fd2a72 100644 (file)
@@ -500,6 +500,10 @@ mk{
         }\r
         MRO{\r
             "MRO",\r
+            "Мавританска угија (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мавританска угија",\r
         }\r
         MTL{\r
@@ -716,6 +720,10 @@ mk{
         }\r
         STD{\r
             "STD",\r
+            "Добра на Саун Томе и Принсип (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Добра на Саун Томе и Принсип",\r
         }\r
         SUR{\r
@@ -987,7 +995,7 @@ mk{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1381,6 +1389,10 @@ mk{
             other{"Макао патаки"}\r
         }\r
         MRO{\r
+            one{"Мавританска угија (1973–2017)"}\r
+            other{"Мавритански угии (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Мавританска угија"}\r
             other{"Мавритански угии"}\r
         }\r
@@ -1537,6 +1549,10 @@ mk{
             other{"Јужносудански фунти"}\r
         }\r
         STD{\r
+            one{"Добра на Саун Томе и Принсип (1977–2017)"}\r
+            other{"Добри на Саун Томе и Принсип (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Добра на Саун Томе и Принсип"}\r
             other{"Добри на Саун Томе и Принсип"}\r
         }\r
@@ -1665,5 +1681,5 @@ mk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ddb2189..4d7ad7a 100644 (file)
@@ -616,6 +616,10 @@ ml{
         }\r
         MRO{\r
             "MRO",\r
+            "മൗറിറ്റേനിയൻ ഔഗിയ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "മൗറിറ്റേനിയൻ ഔഗിയ",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ ml{
         }\r
         STD{\r
             "STD",\r
+            "സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര",\r
         }\r
         SUR{\r
@@ -1183,7 +1191,7 @@ ml{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1805,6 +1813,10 @@ ml{
             other{"മകാനീസ് പതാക്ക"}\r
         }\r
         MRO{\r
+            one{"മൗറിറ്റേനിയൻ ഔഗിയ (1973–2017)"}\r
+            other{"മൗറിറ്റേനിയൻ ഔഗിയ (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"മൗറിറ്റേനിയൻ ഔഗിയ"}\r
             other{"മൗറിറ്റേനിയൻ ഔഗിയ"}\r
         }\r
@@ -1973,6 +1985,10 @@ ml{
             other{"ദക്ഷിണ സുഡാനീസ് പൗണ്ട്"}\r
         }\r
         STD{\r
+            one{"സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര (1977–2017)"}\r
+            other{"സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര"}\r
             other{"സാവോ ടോമി ആൻഡ് പ്രിൻസിപെ ഡോബ്ര"}\r
         }\r
@@ -2221,5 +2237,5 @@ ml{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30d777f..4f07739 100644 (file)
@@ -152,7 +152,7 @@ mn{
         }\r
         CZK{\r
             "CZK",\r
-            "чехийн коруна",\r
+            "Чех крон",\r
         }\r
         DJF{\r
             "DJF",\r
@@ -376,6 +376,10 @@ mn{
         }\r
         MRO{\r
             "MRO",\r
+            "мавритан угия (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "мавритан угия",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ mn{
         }\r
         STD{\r
             "STD",\r
+            "сан-томе ба принсипи добра (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "сан-томе ба принсипи добра",\r
         }\r
         SYP{\r
@@ -723,7 +731,7 @@ mn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -893,8 +901,8 @@ mn{
             other{"кабо-верде эскудо"}\r
         }\r
         CZK{\r
-            one{"чехийн коруна"}\r
-            other{"чехийн коруна"}\r
+            one{"Чех крон"}\r
+            other{"Чех крон"}\r
         }\r
         DJF{\r
             one{"жибоути франк"}\r
@@ -1117,6 +1125,10 @@ mn{
             other{"макаогийн патака"}\r
         }\r
         MRO{\r
+            one{"мавритан угия (1973–2017)"}\r
+            other{"мавритан угия (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"мавритан угия"}\r
             other{"мавритан угия"}\r
         }\r
@@ -1129,7 +1141,7 @@ mn{
             other{"мальдив руфия"}\r
         }\r
         MWK{\r
-            one{"малави квача"}\r
+            one{"Ð\9cалавигийн квача"}\r
             other{"малави квача"}\r
         }\r
         MXN{\r
@@ -1265,8 +1277,12 @@ mn{
             other{"өмнөд судан паунд"}\r
         }\r
         STD{\r
-            one{"сан-томе ба принсипи добра"}\r
-            other{"сан-томе ба принсипи добра"}\r
+            one{"Сан-Томе Принсипигийн мөнгөн тэмдэгт добра (1977–2017)"}\r
+            other{"Сан-Томе Принсипигийн мөнгөн тэмдэгт добра (1977–2017)"}\r
+        }\r
+        STN{\r
+            one{"Сан-Томе Принсипигийн мөнгөн тэмдэгт добра"}\r
+            other{"Сан-Томе Принсипигийн мөнгөн тэмдэгт добра"}\r
         }\r
         SYP{\r
             one{"сири паунд"}\r
@@ -1389,5 +1405,5 @@ mn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 68552b7..a2d76de 100644 (file)
@@ -380,6 +380,10 @@ mr{
         }\r
         MRO{\r
             "MRO",\r
+            "मॉरिटानियन ओगिया (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "मॉरिटानियन ओगिया",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ mr{
         }\r
         STD{\r
             "STD",\r
+            "साओ टोम आणि प्रिन्सिपे डोबरा (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "साओ टोम आणि प्रिन्सिपे डोबरा",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ mr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1121,6 +1129,10 @@ mr{
             other{"मॅकॅनीज् पटाकाज"}\r
         }\r
         MRO{\r
+            one{"मॉरिटानियन ओगिया (1973–2017)"}\r
+            other{"मॉरिटानियन ओगियाज (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"मॉरिटानियन ओगिया"}\r
             other{"मॉरिटानियन ओगियाज"}\r
         }\r
@@ -1269,6 +1281,10 @@ mr{
             other{"दक्षिण सुदानी पाउंड्स"}\r
         }\r
         STD{\r
+            one{"साओ टोम आणि प्रिन्सिपे डोबरा (1977–2017)"}\r
+            other{"साओ टोम आणि प्रिन्सिपे डोबराज (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"साओ टोम आणि प्रिन्सिपे डोबरा"}\r
             other{"साओ टोम आणि प्रिन्सिपे डोबराज"}\r
         }\r
@@ -1385,5 +1401,5 @@ mr{
             other{"झांबियन क्वाचास"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f86f248..ada5483 100644 (file)
@@ -380,6 +380,10 @@ ms{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya Mauritania",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ ms{
         }\r
         STD{\r
             "STD",\r
+            "Dobra Sao Tome dan Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra Sao Tome dan Principe",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ ms{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1027,6 +1035,9 @@ ms{
             other{"Pataca Macau"}\r
         }\r
         MRO{\r
+            other{"Ouguiya Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"Ouguiya Mauritania"}\r
         }\r
         MUR{\r
@@ -1138,6 +1149,9 @@ ms{
             other{"Paun Sudan selatan"}\r
         }\r
         STD{\r
+            other{"Dobra Sao Tome dan Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"Dobra Sao Tome dan Principe"}\r
         }\r
         SYP{\r
@@ -1228,5 +1242,5 @@ ms{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 6bdd548..ecb6e4f 100644 (file)
@@ -7,5 +7,5 @@ ms_BN{
             "Dolar Brunei",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c50d23d..8b3f7b6 100644 (file)
@@ -7,5 +7,5 @@ ms_SG{
             "Dolar Singapura",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3b3d76c..658d1e2 100644 (file)
@@ -342,6 +342,10 @@ mt{
             "MRO",\r
             "MRO",\r
         }\r
+        MRU{\r
+            "MRU",\r
+            "MRU",\r
+        }\r
         MTL{\r
             "MTL",\r
             "Lira Maltija",\r
@@ -490,6 +494,10 @@ mt{
             "STD",\r
             "STD",\r
         }\r
+        STN{\r
+            "STN",\r
+            "STN",\r
+        }\r
         SYP{\r
             "SYP",\r
             "SYP",\r
@@ -674,7 +682,7 @@ mt{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1202,6 +1210,12 @@ mt{
             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
@@ -1412,6 +1426,12 @@ mt{
             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
@@ -1587,5 +1607,5 @@ mt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 626b244..a10fa16 100644 (file)
@@ -124,6 +124,10 @@ mua{
         }\r
         MRO{\r
             "MRO",\r
+            "Solai Mauritaniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Solai Mauritaniya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ mua{
         }\r
         STD{\r
             "STD",\r
+            "Solai Sao Tome (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Solai Sao Tome",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ mua{
             "Solai Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 93068f5..17d3c21 100644 (file)
@@ -24,7 +24,7 @@ my{
         }\r
         AOA{\r
             "AOA",\r
-            "á\80¡á\80\84á\80ºá\80\82á\80­á\80¯á\80\9cá\80¬ á\80\80á\80\94်ဇာ",\r
+            "á\80¡á\80\94á\80ºá\80\82á\80­á\80¯á\80\9cá\80¬ á\80\80á\80½á\80\99်ဇာ",\r
         }\r
         ARP{\r
             "ARP",\r
@@ -416,6 +416,10 @@ my{
         }\r
         MRO{\r
             "MRO",\r
+            "မော်ရီတေးနီးယား အူဂီးယာ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "မော်ရီတေးနီးယား အူဂီးယာ",\r
         }\r
         MUR{\r
@@ -572,6 +576,10 @@ my{
         }\r
         STD{\r
             "STD",\r
+            "ဆောင်တူမေးနှင့် ပရင်စီပီ ဒိုဘရာ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ဆောင်တူမေးနှင့် ပရင်စီပီ ဒိုဘရာ",\r
         }\r
         SUR{\r
@@ -811,7 +819,7 @@ my{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -847,7 +855,7 @@ my{
             other{"နယ်သာလန် အန်တီလန် ဂင်းဒါး"}\r
         }\r
         AOA{\r
-            other{"á\80¡á\80\84á\80ºá\80\82á\80­á\80¯á\80\9cá\80¬ á\80\80á\80\94်ဇာ"}\r
+            other{"á\80¡á\80\94á\80ºá\80\82á\80­á\80¯á\80\9cá\80¬ á\80\80á\80½á\80\99်ဇာ"}\r
         }\r
         ARS{\r
             other{"အာဂျင်တီးနား ပီဆို"}\r
@@ -1111,6 +1119,9 @@ my{
             other{"မကာအို ပါတားကား"}\r
         }\r
         MRO{\r
+            other{"မော်ရီတေးနီးယား အူဂီးယာ (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"မော်ရီတေးနီးယား အူဂီးယာ"}\r
         }\r
         MUR{\r
@@ -1222,6 +1233,9 @@ my{
             other{"တောင်ဆူဒန် ပေါင်"}\r
         }\r
         STD{\r
+            other{"ဆောင်တူမေးနှင့် ပရင်စီပီ ဒိုဘရာ (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"ဆောင်တူမေးနှင့် ပရင်စီပီ ဒိုဘရာ"}\r
         }\r
         SYP{\r
@@ -1309,5 +1323,5 @@ my{
             other{"ဇင်ဘာဘွေ ခွါးချာ"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 662f232..8dc3ba0 100644 (file)
@@ -356,6 +356,10 @@ mzn{
         }\r
         MRO{\r
             "MRO",\r
+            "موریتانی ِاوگوئیا (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "موریتانی ِاوگوئیا",\r
         }\r
         MUR{\r
@@ -492,6 +496,10 @@ mzn{
         }\r
         STD{\r
             "STD",\r
+            "سائوتومه و پرینسیپ ِدوبرا (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "سائوتومه و پرینسیپ ِدوبرا",\r
         }\r
         SYP{\r
@@ -661,7 +669,7 @@ mzn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TRY{"₺"}\r
@@ -946,6 +954,9 @@ mzn{
             other{"ماکائو ِپاتاجا"}\r
         }\r
         MRO{\r
+            other{"موریتانی ِاوگوئیا (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"موریتانی ِاوگوئیا"}\r
         }\r
         MUR{\r
@@ -1048,6 +1059,9 @@ mzn{
             other{"جنوبی سودان ِپوند"}\r
         }\r
         STD{\r
+            other{"سائوتومه و پرینسیپ ِدوبرا (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"سائوتومه و پرینسیپ ِدوبرا"}\r
         }\r
         SYP{\r
@@ -1120,5 +1134,5 @@ mzn{
             other{"زامبیای ِکواچا"}\r
         }\r
     }\r
-    Version{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ce8f599..c37dd05 100644 (file)
@@ -124,6 +124,10 @@ naq{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritania Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritania Ouguiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ naq{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome and Principe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome and Principe Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ naq{
             "Zimbabwe Dollari",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8186e62..f8f0a63 100644 (file)
@@ -684,6 +684,10 @@ nb{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritanske ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritanske ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ nb{
         }\r
         STD{\r
             "STD",\r
+            "saotomesiske dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "saotomesiske dobra",\r
         }\r
         SUR{\r
@@ -1281,7 +1289,7 @@ nb{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1975,6 +1983,10 @@ nb{
             other{"makaoiske pataca"}\r
         }\r
         MRO{\r
+            one{"mauritansk ouguiya (1973–2017)"}\r
+            other{"mauritanske ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mauritansk ouguiya"}\r
             other{"mauritanske ouguiya"}\r
         }\r
@@ -2207,6 +2219,10 @@ nb{
             other{"sørsudanske pund"}\r
         }\r
         STD{\r
+            one{"saotomesisk dobra (1977–2017)"}\r
+            other{"saotomesiske dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"saotomesisk dobra"}\r
             other{"saotomesiske dobra"}\r
         }\r
@@ -2491,5 +2507,5 @@ nb{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 3abf330..db8aeb1 100644 (file)
@@ -124,6 +124,10 @@ nd{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya yase Moritaniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya yase Moritaniya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ nd{
         }\r
         STD{\r
             "STD",\r
+            "Dobra yase Sao Tome lo Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra yase Sao Tome lo Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ nd{
             "Dola yase Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c94fe0f..a92ba8d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 05ecf67..5ff89f4 100644 (file)
@@ -380,6 +380,10 @@ ne{
         }\r
         MRO{\r
             "MRO",\r
+            "माउरिटानियानली औगुइया (१९७३–२०१७)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "माउरिटानियानली औगुइया",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ ne{
         }\r
         STD{\r
             "STD",\r
+            "साओ टोम र प्रिन्सिप डोब्रा (१९७७–२०१७)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "साओ टोम र प्रिन्सिप डोब्रा",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ ne{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1122,6 +1130,10 @@ ne{
             other{"माकानिज पटाका"}\r
         }\r
         MRO{\r
+            one{"माउरिटानियाली औगुइया (१९७३–२०१७)"}\r
+            other{"माउरिटानियानली औगुइया (१९७३–२०१७)"}\r
+        }\r
+        MRU{\r
             one{"माउरिटानियाली औगुइया"}\r
             other{"माउरिटानियानली औगुइया"}\r
         }\r
@@ -1270,6 +1282,10 @@ ne{
             other{"दक्षिण सुडानी पाउन्ड"}\r
         }\r
         STD{\r
+            one{"साओ टोम र प्रिन्सिप डोब्रा (१९७७–२०१७)"}\r
+            other{"साओ टोम र प्रिन्सिप डोब्रा (१९७७–२०१७)"}\r
+        }\r
+        STN{\r
             one{"साओ टोम र प्रिन्सिप डोब्रा"}\r
             other{"साओ टोम र प्रिन्सिप डोब्रा"}\r
         }\r
@@ -1390,5 +1406,5 @@ ne{
             other{"जाम्बियाली क्वाचा"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e4e5090..755b00e 100644 (file)
@@ -684,6 +684,10 @@ nl{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritaanse ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritaanse ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ nl{
         }\r
         STD{\r
             "STD",\r
+            "Santomese dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Santomese dobra",\r
         }\r
         SUR{\r
@@ -1281,7 +1289,7 @@ nl{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1983,6 +1991,10 @@ nl{
             other{"Macause pataca"}\r
         }\r
         MRO{\r
+            one{"Mauritaanse ouguiya (1973–2017)"}\r
+            other{"Mauritaanse ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mauritaanse ouguiya"}\r
             other{"Mauritaanse ouguiya"}\r
         }\r
@@ -2215,6 +2227,10 @@ nl{
             other{"Zuid-Soedanees pond"}\r
         }\r
         STD{\r
+            one{"Santomese dobra (1977–2017)"}\r
+            other{"Santomese dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Santomese dobra"}\r
             other{"Santomese dobra"}\r
         }\r
@@ -2503,5 +2519,5 @@ nl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 9a72fae..b9890a1 100644 (file)
@@ -7,5 +7,5 @@ nl_AW{
             "Arubaanse gulden",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aff2a9d..070edd5 100644 (file)
@@ -7,5 +7,5 @@ nl_BQ{
             "Amerikaanse dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 10378da..0b9481a 100644 (file)
@@ -7,5 +7,5 @@ nl_CW{
             "Nederlands-Antilliaanse gulden",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d9cc4d2..3e7af75 100644 (file)
@@ -7,5 +7,5 @@ nl_SR{
             "Surinaamse dollar",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e7e4a79..aea4544 100644 (file)
@@ -7,5 +7,5 @@ nl_SX{
             "Nederlands-Antilliaanse gulden",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3327b30..d0193e6 100644 (file)
@@ -124,6 +124,10 @@ nmg{
         }\r
         MRO{\r
             "MRO",\r
+            "Mɔn Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mɔn Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ nmg{
         }\r
         STD{\r
             "STD",\r
+            "Mɔn Sao tomé na prinship (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Mɔn Sao tomé na prinship",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ nmg{
             "Dɔ́llɔ Zimbabwǝ (1980–2008)",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7a96ed5..c2326b6 100644 (file)
@@ -612,6 +612,10 @@ nn{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritanske ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritanske ouguiya",\r
         }\r
         MTL{\r
@@ -840,6 +844,10 @@ nn{
         }\r
         STD{\r
             "STD",\r
+            "saotomesiske dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "saotomesiske dobra",\r
         }\r
         SUR{\r
@@ -872,7 +880,7 @@ nn{
         }\r
         TMM{\r
             "TMM",\r
-            "turkmenske manat (1993–2009)",\r
+            "turkmensk manat (1993–2009)",\r
         }\r
         TMT{\r
             "TMT",\r
@@ -1179,7 +1187,7 @@ nn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1716,6 +1724,10 @@ nn{
             other{"makaoiske pataca"}\r
         }\r
         MRO{\r
+            one{"mauritansk ouguiya (1973–2017)"}\r
+            other{"mauritanske ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mauritansk ouguiya"}\r
             other{"mauritanske ouguiya"}\r
         }\r
@@ -1944,6 +1956,10 @@ nn{
             other{"sørsudanske pund"}\r
         }\r
         STD{\r
+            one{"saotomesisk dobra (1977–2017)"}\r
+            other{"saotomesiske dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"saotomesisk dobra"}\r
             other{"saotomesiske dobra"}\r
         }\r
@@ -2188,5 +2204,5 @@ nn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5b8763b..e99e611 100644 (file)
@@ -7,5 +7,5 @@ nnh{
             "feláŋ CFA",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6f465ef..fd8a5ee 100644 (file)
@@ -11,5 +11,5 @@ nus{
             "SSP",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e158161..f4624c6 100644 (file)
@@ -124,6 +124,10 @@ nyn{
         }\r
         MRO{\r
             "MRO",\r
+            "Ougwiya ya Mouriteeniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ougwiya ya Mouriteeniya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ nyn{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Purinsipo (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Purinsipo",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ nyn{
             "Doora ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 95435e8..58a3f8e 100644 (file)
@@ -43,5 +43,5 @@ om{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ca09e9f..6ff3d1a 100644 (file)
@@ -7,5 +7,5 @@ om_KE{
             "KES",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d09e50c..40ed7b4 100644 (file)
@@ -8,7 +8,7 @@ or{
         }\r
         AFN{\r
             "AFN",\r
-            "à¬\86ଫà¬\98ାନà­\80à­\9f à¬\86ଫà¬\98ାନି",\r
+            "à¬\86ଫà¬\97ାନ à¬\86ଫà¬\97ାନି",\r
         }\r
         ALL{\r
             "ALL",\r
@@ -16,19 +16,19 @@ or{
         }\r
         AMD{\r
             "AMD",\r
-            "à¬\85ରà­\8dମà­\87ନିୟ ଡ୍ରାମ୍",\r
+            "à¬\85ରà­\8dମà­\87ନà­\80ୟ ଡ୍ରାମ୍",\r
         }\r
         ANG{\r
             "ANG",\r
-            "ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97à­\81à¬\87ଲଡà­\87ର୍",\r
+            "ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97ିଲଡର୍",\r
         }\r
         AOA{\r
             "AOA",\r
-            "à¬\85à¬\99à­\8dà¬\97à­\8bଲିୟ କୱାନଜା",\r
+            "à¬\85à¬\99à­\8dà¬\97à­\8bଲà­\80ୟ କୱାନଜା",\r
         }\r
         ARS{\r
             "ARS",\r
-            "à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fିନିà­\9f ପେସୋ",\r
+            "à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fାà¬\87ନà­\8dâ\80\8d ପେସୋ",\r
         }\r
         AUD{\r
             "A$",\r
@@ -36,7 +36,7 @@ or{
         }\r
         AWG{\r
             "AWG",\r
-            "à¬\86ରà­\81ବିà­\9f à¬«à­\8dଲà­\8bରିà­\9f",\r
+            "à¬\86ରà­\81ବà­\80à­\9f à¬«à­\8dଲà­\8bରିନà­\8d",\r
         }\r
         AZN{\r
             "AZN",\r
@@ -44,11 +44,11 @@ or{
         }\r
         BAM{\r
             "BAM",\r
-            "ବà­\8bସନିà¬\86-ହà­\87ରà¬\9cà­\87ବà­\8bଭିନା à¬\95ନଭà­\87ରିà¬\9fà­\87ବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95",\r
+            "ବà­\8bସନିà¬\86-ହରà­\8dà¬\9cà¬\97à­\8bଭିନା à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95à­\8d",\r
         }\r
         BBD{\r
             "BBD",\r
-            "ବାରà­\8dବଡିୟ ଡଲାର୍",\r
+            "ବାରà­\8dବାଡà­\80ୟ ଡଲାର୍",\r
         }\r
         BDT{\r
             "BDT",\r
@@ -56,19 +56,19 @@ or{
         }\r
         BGN{\r
             "BGN",\r
-            "ବଲଗେରୀୟ ଲେଭ୍",\r
+            "ବà­\81ଲà¬\97à­\87ରà­\80à­\9f à¬²à­\87ଭà­\8d",\r
         }\r
         BHD{\r
             "BHD",\r
-            "ବାହରାà¬\87ନି à¬¦à¬¿à¬¨à¬¾à¬°",\r
+            "ବାà¬\83ରà­\87ନି à¬¦à¬¿à¬¨à¬¾à¬°à­\8d",\r
         }\r
         BIF{\r
             "BIF",\r
-            "ବà­\81ରà­\81ନଡିୟ ଫ୍ରାଙ୍କ୍",\r
+            "ବà­\81ରà­\81ଣà­\8dଡିୟ ଫ୍ରାଙ୍କ୍",\r
         }\r
         BMD{\r
             "BMD",\r
-            "ବà­\87ରମà­\81ଣà­\8dଡିà­\9f ଡଲାର୍",\r
+            "ବରà­\8dମà­\8dà­\9fà­\81ଡା ଡଲାର୍",\r
         }\r
         BND{\r
             "BND",\r
@@ -76,31 +76,31 @@ or{
         }\r
         BOB{\r
             "BOB",\r
-            "ବà­\8bଲିଭିୟ ବୋଲିଭିଆନୋ",\r
+            "ବà­\8bଲିଭà­\80ୟ ବୋଲିଭିଆନୋ",\r
         }\r
         BRL{\r
             "R$",\r
-            "ବà­\8dରାà¬\9cିଲିà­\9f à¬ªà­\8dରà¬\95à­\83ତ",\r
+            "ବà­\8dରାà¬\9cିଲà­\80à­\9f à¬°à¬¿à¬\8fଲà­\8d",\r
         }\r
         BSD{\r
             "BSD",\r
-            "ବାହାମିୟ ଡଲାର୍",\r
+            "ବାହାମà­\80ୟ ଡଲାର୍",\r
         }\r
         BTN{\r
             "BTN",\r
-            "ଭୁଟାନୀୟ ନଗୁଲଟ୍ରୁମ୍",\r
+            "ଭୁଟାନୀ ଗଲଟ୍ରୁମ୍",\r
         }\r
         BWP{\r
             "BWP",\r
-            "ବà­\8bà¬\9fସୱାନିà­\9f ପୁଲା",\r
+            "ବà­\8bତà­\8dସୱାନା ପୁଲା",\r
         }\r
         BYN{\r
             "BYN",\r
-            "ବେଲାରୁସିୟ ରୁବଲେ",\r
+            "ବେଲାରୁସି ରୁବଲ୍",\r
         }\r
         BZD{\r
             "BZD",\r
-            "ବà­\87ଲିà¬\9cà­\87 ଡଲାର୍",\r
+            "ବà­\87ଲିà¬\9cà­\8d ଡଲାର୍",\r
         }\r
         CAD{\r
             "CA$",\r
@@ -108,7 +108,7 @@ or{
         }\r
         CDF{\r
             "CDF",\r
-            "à¬\95à­\8bନà¬\97à­\8bଲà­\87ସà­\87 ଫ୍ରାଙ୍କ୍",\r
+            "à¬\95à¬\99à­\8dà¬\97à­\8bଲିà¬\9cà­\8d ଫ୍ରାଙ୍କ୍",\r
         }\r
         CHF{\r
             "CHF",\r
@@ -116,35 +116,35 @@ or{
         }\r
         CLP{\r
             "CLP",\r
-            "ଚିଲି ପେସୋ",\r
+            "ଚିଲି ପେସୋ",\r
         }\r
         CNH{\r
             "CNH",\r
-            "à¬\9aà­\80ନିà­\9f ୟୁଆନ୍ (ଅଫସୋର୍)",\r
+            "à¬\9aିନà­\80 ୟୁଆନ୍ (ଅଫସୋର୍)",\r
         }\r
         CNY{\r
             "CN¥",\r
-            "ଚିନୀ ୟୁଆନ୍",\r
+            "ଚିନୀ ୟୁଆନ୍",\r
         }\r
         COP{\r
             "COP",\r
-            "à¬\95ଲà­\8bମà­\8dଵିୟ ପେସୋ",\r
+            "à¬\95ଲà­\8bମà­\8dବà­\80ୟ ପେସୋ",\r
         }\r
         CRC{\r
             "CRC",\r
-            "à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95ିୟ କୋଲୋନ୍",\r
+            "à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95à­\80ୟ କୋଲୋନ୍",\r
         }\r
         CUC{\r
             "CUC",\r
-            "à¬\95à­\81ବାନà­\8d à¬\95à­\8bନଭà­\87ରà­\8dà¬\9fିବà­\8dଲà­\87 ପେସୋ",\r
+            "à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d ପେସୋ",\r
         }\r
         CUP{\r
             "CUP",\r
-            "କୁବାନ୍ ପେସୋ",\r
+            "à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬ªà­\87ସà­\8b",\r
         }\r
         CVE{\r
             "CVE",\r
-            "କେପ୍ ଭେର୍ଦେୟ ଏସକୁଡୋ",\r
+            "à¬\95à­\87ପà­\8d à¬­à­\87ରà­\8dଦà­\87à­\9f à¬\8fସà­\8dà¬\95à­\81ଡà­\8b",\r
         }\r
         CZK{\r
             "CZK",\r
@@ -152,19 +152,19 @@ or{
         }\r
         DJF{\r
             "DJF",\r
-            "ଡà¬\9cିବà­\8cà¬\9fିà­\9f à¬«à­\8dରାà¬\99à­\8dà¬\95à­\8d",\r
+            "ଜିବୌଟିୟ ଫ୍ରାଙ୍କ୍",\r
         }\r
         DKK{\r
             "DKK",\r
-            "ଦାନିସà­\8d à¬\95à­\8dରà­\8bନà­\87",\r
+            "ଡାନିସà­\8d à¬\95à­\8dରà­\8bନà­\8d",\r
         }\r
         DOP{\r
             "DOP",\r
-            "ଡà­\8bମିନିà¬\95ିୟ ପେସୋ",\r
+            "ଡà­\8bମିନିà¬\95à­\80ୟ ପେସୋ",\r
         }\r
         DZD{\r
             "DZD",\r
-            "à¬\86ଲà¬\97à­\87ରିୟ ଦିନାର୍",\r
+            "à¬\86ଲà¬\9cà­\87ରà­\80ୟ ଦିନାର୍",\r
         }\r
         EGP{\r
             "EGP",\r
@@ -176,7 +176,7 @@ or{
         }\r
         ETB{\r
             "ETB",\r
-            "à¬\8fଥିà¬\93ପିà­\9fà­\8b ବିର୍",\r
+            "à¬\87ଥିà¬\93ପିà­\9f ବିର୍",\r
         }\r
         EUR{\r
             "€",\r
@@ -184,15 +184,15 @@ or{
         }\r
         FJD{\r
             "FJD",\r
-            "ଫିଜି ଡଲାର୍",\r
+            "ଫିଜି ଡଲାର୍",\r
         }\r
         FKP{\r
             "FKP",\r
-            "ଫାଲà­\8dà¬\95ଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¦à­\8dଵà­\80ପପà­\81à¬\9eà­\8dà¬\9c à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d",\r
+            "ଫକଲ୍ୟାଣ୍ଡ୍ ଦ୍ଵୀପପୁଞ୍ଜ ପାଉଣ୍ଡ୍",\r
         }\r
         GBP{\r
             "£",\r
-            "ବà­\8dରିà¬\9fିସ୍ ପାଉଣ୍ଡ୍",\r
+            "ବà­\8dରିà¬\9fିà¬୍ ପାଉଣ୍ଡ୍",\r
         }\r
         GEL{\r
             "GEL",\r
@@ -204,11 +204,11 @@ or{
         }\r
         GIP{\r
             "GIP",\r
-            "à¬\97ିବà­\8dରାଲà¬\9fାରà­\8d à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d",\r
+            "ଗିବ୍ରାଲଟର୍ ପାଉଣ୍ଡ୍",\r
         }\r
         GMD{\r
             "GMD",\r
-            "ଗାମବିୟ ଡାଲାସି",\r
+            "à¬\97ାମà­\8dବିà­\9f à¬¡à¬¾à¬²à¬¾à¬¸à¬¿",\r
         }\r
         GNF{\r
             "GNF",\r
@@ -216,11 +216,11 @@ or{
         }\r
         GTQ{\r
             "GTQ",\r
-            "à¬\97à­\81à¬\8fତà­\87ମାଲିୟ କ୍ଵେତଜାଲ୍",\r
+            "à¬\97à­\81à¬\8fà¬\9fମାଲà­\80ୟ କ୍ଵେତଜାଲ୍",\r
         }\r
         GYD{\r
             "GYD",\r
-            "à¬\97à­\81à­\9fାନାà¬\8fସà­\87 ଡଲାର୍",\r
+            "à¬\97ାà­\9fାନିସà­\8d ଡଲାର୍",\r
         }\r
         HKD{\r
             "HK$",\r
@@ -228,31 +228,31 @@ or{
         }\r
         HNL{\r
             "HNL",\r
-            "ହà­\8bଣà­\8dଡà­\81ରିୟ ଲେମପିରା",\r
+            "ହà­\8bଣà­\8dଡà­\81ରà­\80ୟ ଲେମପିରା",\r
         }\r
         HRK{\r
             "HRK",\r
-            "à¬\95à­\8dରà­\8bà¬\86à¬\9fିୟ କୁନା",\r
+            "à¬\95à­\8dରà­\8bà¬\8fସà­\80ୟ କୁନା",\r
         }\r
         HTG{\r
             "HTG",\r
-            "ହାà¬\87ତିà­\9f à¬\97à­\8cରଡà­\87",\r
+            "ହାà¬\87ତà­\80à­\9f à¬\97à­\8bରଡà­\8d",\r
         }\r
         HUF{\r
             "HUF",\r
-            "ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ",\r
+            "ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ",\r
         }\r
         IDR{\r
             "IDR",\r
-            "ଇଣ୍ଡୋନେସିୟ ରୁପିଆ",\r
+            "ଇଣ୍ଡୋନେସିୟ ରୁପିଆ",\r
         }\r
         ILS{\r
             "₪",\r
-            "à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬¸େକେଲ୍",\r
+            "à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬େକେଲ୍",\r
         }\r
         INR{\r
             "₹",\r
-            "ଟଙ୍କା",\r
+            "ଭାରତà­\80à­\9f à¬\9fà¬\99à­\8dà¬\95ା",\r
         }\r
         IQD{\r
             "IQD",\r
@@ -260,31 +260,31 @@ or{
         }\r
         IRR{\r
             "IRR",\r
-            "à¬\87ରିà­\9f ରିଆଲ୍",\r
+            "à¬\87ରାନà­\80 ରିଆଲ୍",\r
         }\r
         ISK{\r
             "ISK",\r
-            "à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà­\9f କ୍ରୋନା",\r
+            "à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà¬\95à­\8dâ\80\8d କ୍ରୋନା",\r
         }\r
         JMD{\r
             "JMD",\r
-            "à¬\9cାମାà¬\87à¬\95ିୟ ଡଲାର୍",\r
+            "à¬\9cାମାà¬\87à¬\95à­\80ୟ ଡଲାର୍",\r
         }\r
         JOD{\r
             "JOD",\r
-            "à¬\9cରà­\8dଡିà­\9fାନà­\8d ଦିନାର୍",\r
+            "à¬\9cରà­\8dଡାନିà­\9f ଦିନାର୍",\r
         }\r
         JPY{\r
             "¥",\r
-            "ଜାପାନୀ ୟେନ୍",\r
+            "ଜାପାନୀ ୟେନ୍",\r
         }\r
         KES{\r
             "KES",\r
-            "à¬\95à­\87ନà­\9fାନà­\8d à¬¸ିଲିଂ",\r
+            "à¬\95à­\87ନିà­\9f à¬¶ିଲିଂ",\r
         }\r
         KGS{\r
             "KGS",\r
-            "à¬\95à­\8dà­\9fାରà¬\97à­\8dà­\9fସà­\8dତାନିà­\9f ସୋମ୍",\r
+            "à¬\95ିରà­\8dà¬\97ିସà­\8dତାନà­\80 ସୋମ୍",\r
         }\r
         KHR{\r
             "KHR",\r
@@ -292,27 +292,27 @@ or{
         }\r
         KMF{\r
             "KMF",\r
-            "à¬\95à­\8bମà­\8bରିୟ ଫ୍ରାଙ୍କ୍",\r
+            "à¬\95à­\8bମà­\8bରà­\80ୟ ଫ୍ରାଙ୍କ୍",\r
         }\r
         KPW{\r
             "KPW",\r
-            "ପଶà­\8dà¬\9aିମ à¬\95à­\8bରିà­\9f ୱୋନ୍",\r
+            "à¬\89ତà­\8dତର à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍",\r
         }\r
         KRW{\r
             "₩",\r
-            "ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà­\9f ୱୋନ୍",\r
+            "ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍",\r
         }\r
         KWD{\r
             "KWD",\r
-            "କୁୱେତି ଦିନାର",\r
+            "କୁୱେତି ଦିନାର",\r
         }\r
         KYD{\r
             "KYD",\r
-            "à¬\95ାà­\9fମାନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍",\r
+            "à¬\95à­\87ମà­\87ନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍",\r
         }\r
         KZT{\r
             "KZT",\r
-            "à¬\95ାà¬\9cାà¬\96ସà­\8dତାନିà­\9f à¬¤à­\87ନଗେ",\r
+            "à¬\95ାà¬\9cାà¬\95ସà­\8dତାନà­\80 à¬¤à­\87à¬\99à­\8dଗେ",\r
         }\r
         LAK{\r
             "LAK",\r
@@ -320,7 +320,7 @@ or{
         }\r
         LBP{\r
             "LBP",\r
-            "ଲà­\87ବାନà­\87ସà­\87 ପାଉଣ୍ଡ୍",\r
+            "ଲà­\87ବାନିà¬\9cà­\8d ପାଉଣ୍ଡ୍",\r
         }\r
         LKR{\r
             "LKR",\r
@@ -328,7 +328,7 @@ or{
         }\r
         LRD{\r
             "LRD",\r
-            "ଲିବà­\87ରିୟ ଡଲାର୍",\r
+            "ଲିବà­\87ରà­\80ୟ ଡଲାର୍",\r
         }\r
         LYD{\r
             "LYD",\r
@@ -336,7 +336,7 @@ or{
         }\r
         MAD{\r
             "MAD",\r
-            "ମà­\8bରà­\8bà¬\95ିà­\9f à¬¡à¬¿à¬°ହାମ୍",\r
+            "ମà­\8bରà­\8bà¬\95à­\80à­\9f à¬¦à¬¿à¬°à­\8dହାମ୍",\r
         }\r
         MDL{\r
             "MDL",\r
@@ -344,31 +344,35 @@ or{
         }\r
         MGA{\r
             "MGA",\r
-            "ମାଲାà¬\97ାସà­\87 à¬\86ରିà¬\86ରà­\87",\r
+            "ମାଲାà¬\97ାସି à¬\8fରିà¬\86ରà­\80",\r
         }\r
         MKD{\r
             "MKD",\r
-            "ମାସà­\87ଡà­\8bନିà­\9f à¬¡à¬¿à¬¨à¬¾ର୍",\r
+            "ମାସà­\87ଡà­\8bନà­\80à­\9f à¬¡à¬¿à¬¨ର୍",\r
         }\r
         MMK{\r
             "MMK",\r
-            "ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାà¬\9fà­\8d",\r
+            "ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାତà­\8dâ\80\8c",\r
         }\r
         MNT{\r
             "MNT",\r
-            "ମà¬\99à­\8dà¬\97à­\8bଳିୟ ତୁଗ୍ରିକ୍",\r
+            "ମà¬\99à­\8dà¬\97à­\8bଲିୟ ତୁଗ୍ରିକ୍",\r
         }\r
         MOP{\r
             "MOP",\r
-            "ମାà¬\95ାନà­\87ସିà­\9f ପାଟାକା",\r
+            "ମାà¬\95ାନà­\87à¬\9cà­\8d ପାଟାକା",\r
         }\r
         MRO{\r
             "MRO",\r
-            "ମାଉରିଟାନିୟ ଓୟୁଗୁଇୟା",\r
+            "ମର୍ଟିନିୟ ଆଗୁଇଅ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
+            "ମର୍ଟିନିୟ ଆଗୁଇଅ",\r
         }\r
         MUR{\r
             "MUR",\r
-            "ମà­\8cରିସିୟ ରୁପି",\r
+            "ମà­\8cରିସà­\80ୟ ରୁପି",\r
         }\r
         MVR{\r
             "MVR",\r
@@ -376,19 +380,19 @@ or{
         }\r
         MWK{\r
             "MWK",\r
-            "ମଲୱିà­\9f à¬\95ୱାଚା",\r
+            "ମଲାୱି à¬\95à­\8dୱାଚା",\r
         }\r
         MXN{\r
             "MX$",\r
-            "ମà­\87à¬\95à­\8dସିà¬\95ିୟ ପେସୋ",\r
+            "ମà­\87à¬\95à­\8dସିà¬\95à­\80ୟ ପେସୋ",\r
         }\r
         MYR{\r
             "MYR",\r
-            "ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\82à¬\87ଟ୍",\r
+            "ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\99à­\8dà¬\97ିଟ୍",\r
         }\r
         MZN{\r
             "MZN",\r
-            "ମà­\8bà¬\9cାମବିà¬\95ାନà­\8d ମେଟିକାଲ୍",\r
+            "ମà­\8bà¬\9cାମà­\8dବିà¬\95à­\80à­\9f ମେଟିକାଲ୍",\r
         }\r
         NAD{\r
             "NAD",\r
@@ -396,23 +400,23 @@ or{
         }\r
         NGN{\r
             "NGN",\r
-            "ନାà¬\87à¬\9cà­\87ରିà­\9f ନାଇରା",\r
+            "ନାà¬\87à¬\9cà­\87ରିà¬\86à¬\87 ନାଇରା",\r
         }\r
         NIO{\r
             "NIO",\r
-            "ନିକାରାଗୁଆନ୍ କୋର୍ଡୋବା",\r
+            "ନିକାରାଗୁଆ କୋର୍ଡୋବା",\r
         }\r
         NOK{\r
             "NOK",\r
-            "ନରୱà­\87à¬\9cିà­\9f à¬\95à­\8dରà­\8bନà­\87",\r
+            "ନରୱà­\87à­\9fà­\80à­\9f à¬\95à­\8dରà­\8bନà­\8d",\r
         }\r
         NPR{\r
             "NPR",\r
-            "ନେପାଳି ରୁପି",\r
+            "ନେପାଳି ରୁପି",\r
         }\r
         NZD{\r
             "NZ$",\r
-            "ନ୍ୟୁଜଲ୍ୟାଣ୍ଡ୍ ଡଲାର୍",\r
+            "ନà­\8dà­\9fà­\81à¬\9cିଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¡à¬²à¬¾à¬°à­\8d",\r
         }\r
         OMR{\r
             "OMR",\r
@@ -424,7 +428,7 @@ or{
         }\r
         PEN{\r
             "PEN",\r
-            "ପà­\87ରà­\81ଭିୟ ସୋଲ୍",\r
+            "ପà­\87ରà­\81ଭà­\80ୟ ସୋଲ୍",\r
         }\r
         PGK{\r
             "PGK",\r
@@ -436,11 +440,11 @@ or{
         }\r
         PKR{\r
             "PKR",\r
-            "ପାà¬\95ିସà­\8dତାନି ରୁପି",\r
+            "ପାà¬\95ିସà­\8dତାନà­\80 ରୁପି",\r
         }\r
         PLN{\r
             "PLN",\r
-            "ପà­\8bଲିସà­\8d à¬\9cଲà­\8bà¬\9fି",\r
+            "ପà­\8bଲିଶà­\8d à¬\9cà­\8dଲà¬\9fà­\80",\r
         }\r
         PYG{\r
             "PYG",\r
@@ -456,15 +460,15 @@ or{
         }\r
         RSD{\r
             "RSD",\r
-            "ସରà­\8dବିà­\9f à¬¦à¬¿à¬¨à¬¾à¬°à­\8d",\r
+            "ସରà­\8dବିà¬\86à¬\87 à¬¦à¬¿à¬¨à¬¾à¬°",\r
         }\r
         RUB{\r
             "RUB",\r
-            "à¬\8bଷିà­\9f à¬°à­\81ବଲà­\87",\r
+            "ରà­\81ଷି à¬°à­\81ବଲà­\8d",\r
         }\r
         RWF{\r
             "RWF",\r
-            "ରୱାନାଦାନà­\8d ଫ୍ରାଙ୍କ୍",\r
+            "ରà­\81ୱାଣà­\8dଡା ଫ୍ରାଙ୍କ୍",\r
         }\r
         SAR{\r
             "SAR",\r
@@ -472,7 +476,7 @@ or{
         }\r
         SBD{\r
             "SBD",\r
-            "ସୋଲୋମୋନ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍",\r
+            "ସୋଲୋମୋନ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍",\r
         }\r
         SCR{\r
             "SCR",\r
@@ -480,15 +484,15 @@ or{
         }\r
         SDG{\r
             "SDG",\r
-            "ସà­\81ଦାନà­\80à­\9f ପାଉଣ୍ଡ୍",\r
+            "ସà­\81ଦାନà­\80à¬\9c ପାଉଣ୍ଡ୍",\r
         }\r
         SEK{\r
             "SEK",\r
-            "ସà­\8dà­±à­\87ଡିà­\9f କ୍ରୋନା",\r
+            "ସà­\8dà­±à­\87ଡିଶà­\8d କ୍ରୋନା",\r
         }\r
         SGD{\r
             "SGD",\r
-            "ସିà¬\82ଗାପୁର୍ ଡଲାର୍",\r
+            "ସିà¬\99à­\8dଗାପୁର୍ ଡଲାର୍",\r
         }\r
         SHP{\r
             "SHP",\r
@@ -496,7 +500,7 @@ or{
         }\r
         SLL{\r
             "SLL",\r
-            "ସିà¬\8fରା à¬²à­\87à¬\93ନà­\87à¬\86ନà­\8d à¬²à­\87à¬\93ନି",\r
+            "ସିà¬\8fରା à¬²à¬¿à¬\93ନà­\80à­\9f à¬²à­\87à¬\93ନà­\8d",\r
         }\r
         SOS{\r
             "SOS",\r
@@ -504,15 +508,19 @@ or{
         }\r
         SRD{\r
             "SRD",\r
-            "ସà­\81ରିନାମà­\87ସà­\87 ଡଲାର୍",\r
+            "ସà­\81ରିନାମିà¬\9cà­\8d ଡଲାର୍",\r
         }\r
         SSP{\r
             "SSP",\r
-            "ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଦାନà­\87ସà­\87 ପାଉଣ୍ଡ୍",\r
+            "ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଡାନିà¬\9cà­\8dâ\80\8d ପାଉଣ୍ଡ୍",\r
         }\r
         STD{\r
             "STD",\r
-            "ସାଓ ଟୋମେ ଏବଂ ପ୍ରିସିପେ ଡୋବ୍ରା",\r
+            "ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
+            "ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା",\r
         }\r
         SYP{\r
             "SYP",\r
@@ -520,27 +528,27 @@ or{
         }\r
         SZL{\r
             "SZL",\r
-            "ସà­\8dଵାà¬\9cି à¬²à¬¿à¬²à¬¾à¬¨ଜେନି",\r
+            "ସà­\8dଵାà¬\9cି à¬²à¬¿à¬²à¬¾à¬\9eà­\8dଜେନି",\r
         }\r
         THB{\r
             "THB",\r
-            "ଥାà¬\87 à¬¬à¬¾à¬¹à¬¤୍",\r
+            "ଥାà¬\87 à¬­à¬¾à¬\9f୍",\r
         }\r
         TJS{\r
             "TJS",\r
-            "ତାà¬\9cିà¬\95ିସà­\8dତାନିà­\9f ସୋମୋନି",\r
+            "ତାà¬\9cିà¬\95ିସà­\8dତାନà­\80 ସୋମୋନି",\r
         }\r
         TMT{\r
             "TMT",\r
-            "ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନିà­\9f à¬®à¬¨à¬¤",\r
+            "ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନà­\80 à¬®à¬¨à¬¤à­\8dâ\80\8c",\r
         }\r
         TND{\r
             "TND",\r
-            "ତà­\81ନିସିà­\9f ଦିନାର୍",\r
+            "à¬\9fà­\81ନà­\87ସିà¬\86à¬\87 ଦିନାର୍",\r
         }\r
         TOP{\r
             "TOP",\r
-            "ତà­\8bନà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97à­\8d",\r
+            "ତà­\8bà¬\99à­\8dà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97ା",\r
         }\r
         TRY{\r
             "TRY",\r
@@ -548,7 +556,7 @@ or{
         }\r
         TTD{\r
             "TTD",\r
-            "à¬\9fà­\8dରିନିଡାଡ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍",\r
+            "ତà­\8dରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍",\r
         }\r
         TWD{\r
             "NT$",\r
@@ -556,15 +564,15 @@ or{
         }\r
         TZS{\r
             "TZS",\r
-            "ତାନà¬\9cାନିà­\9f à¬¸ିଲିଂ",\r
+            "ତାନà¬\9cାନà­\80à­\9f à¬¶ିଲିଂ",\r
         }\r
         UAH{\r
             "UAH",\r
-            "à­\9fà­\81à¬\95à­\8dରà­\87ନିà­\9f à¬¹à¬°à­\9fଭନିଆ",\r
+            "à­\9fà­\81à¬\95à­\8dରà­\87ନà­\80à­\9f à¬¹à­\8dରାà¬\87ଭନିଆ",\r
         }\r
         UGX{\r
             "UGX",\r
-            "à­\9fà­\81à¬\97ାନଡିà­\9f à¬¸ିଲିଂ",\r
+            "à¬\89à¬\97ାଣà­\8dଡିà­\9f à¬¶ିଲିଂ",\r
         }\r
         USD{\r
             "$",\r
@@ -572,11 +580,11 @@ or{
         }\r
         UYU{\r
             "UYU",\r
-            "à­\9fà­\81ରà­\81à¬\97à­\81à¬\86ୟାନ୍ ପେସୋ",\r
+            "à¬\89ରà­\81à¬\97à­\81à¬\87ୟାନ୍ ପେସୋ",\r
         }\r
         UZS{\r
             "UZS",\r
-            "à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନିà­\9f ସୋମ୍",\r
+            "à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନà­\80 ସୋମ୍",\r
         }\r
         VEF{\r
             "VEF",\r
@@ -584,7 +592,7 @@ or{
         }\r
         VND{\r
             "₫",\r
-            "ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\82",\r
+            "ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\99à­\8dà¬\97",\r
         }\r
         VUV{\r
             "VUV",\r
@@ -592,15 +600,15 @@ or{
         }\r
         WST{\r
             "WST",\r
-            "ସମà­\8bୟ ତାଲା",\r
+            "ସାମà­\8bà­\9fିୟ ତାଲା",\r
         }\r
         XAF{\r
             "FCFA",\r
-            "à¬\95à­\87ନà­\8dଦà­\8dରà­\80à­\9f à¬\86ଫà­\8dରିà¬\95ିà­\9f CFA ଫ୍ରାଙ୍କ୍",\r
+            "ମଧà­\8dà­\9f à¬\86ଫà­\8dରିà¬\95à­\80 CFA ଫ୍ରାଙ୍କ୍",\r
         }\r
         XCD{\r
             "EC$",\r
-            "ପà­\82ରà­\8dବ à¬\95ାରିବିୟ ଡଲାର୍",\r
+            "ପà­\82ରà­\8dବ à¬\95ାରିବà­\80ୟ ଡଲାର୍",\r
         }\r
         XOF{\r
             "CFA",\r
@@ -624,7 +632,7 @@ or{
         }\r
         ZMW{\r
             "ZMW",\r
-            "à¬\9cମà­\8dଵିà­\9f à¬\95ୱାଚା",\r
+            "à¬\9cାମà­\8dବà­\80à­\9f à¬\95à­\8dୱାଚା",\r
         }\r
     }\r
     Currencies%narrow{\r
@@ -707,7 +715,7 @@ or{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -732,164 +740,164 @@ or{
             other{"UAE ଦିରହାମ୍"}\r
         }\r
         AFN{\r
-            one{"à¬\86ଫà¬\98ାନà­\80à­\9f à¬\86ଫà¬\98ାନି"}\r
-            other{"à¬\86ଫà¬\98ାନà­\80à­\9f à¬\86ଫà¬\98ାନି"}\r
+            one{"à¬\86ଫà¬\97ାନ à¬\86ଫà¬\97ାନି"}\r
+            other{"à¬\86ଫà¬\97ାନ à¬\86ଫà¬\97ାନି"}\r
         }\r
         ALL{\r
             one{"ଆଲବାନିୟ ଲେକ୍"}\r
             other{"ଆଲବାନିୟ ଲେକ୍"}\r
         }\r
         AMD{\r
-            one{"à¬\85ରà­\8dମà­\87ନିୟ ଡ୍ରାମ୍"}\r
-            other{"à¬\85ରà­\8dମà­\87ନିୟ ଡ୍ରାମ୍"}\r
+            one{"à¬\85ରà­\8dମà­\87ନà­\80ୟ ଡ୍ରାମ୍"}\r
+            other{"à¬\85ରà­\8dମà­\87ନà­\80ୟ ଡ୍ରାମ୍"}\r
         }\r
         ANG{\r
-            one{"ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97à­\81à¬\87ଲଡà­\87ର୍"}\r
-            other{"ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97à­\81à¬\87ଲଡà­\87ର୍"}\r
+            one{"ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97ିଲଡର୍"}\r
+            other{"ନà­\87ଦରଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬\86ଣà­\8dà¬\9fିଲିà­\9f à¬\97ିଲଡର୍"}\r
         }\r
         AOA{\r
-            one{"à¬\85à¬\99à­\8dà¬\97à­\8bଲିୟ କୱାନଜା"}\r
-            other{"à¬\85à¬\99à­\8dà¬\97à­\8bଲିୟ କୱାନଜା"}\r
+            one{"à¬\85à¬\99à­\8dà¬\97à­\8bଲà­\80ୟ କୱାନଜା"}\r
+            other{"à¬\85à¬\99à­\8dà¬\97à­\8bଲà­\80ୟ କୱାନଜା"}\r
         }\r
         ARS{\r
-            one{"à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fିନିà­\9f ପେସୋ"}\r
-            other{"à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fିନିà­\9f ପେସୋ"}\r
+            one{"à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fାà¬\87ନà­\8dâ\80\8d ପେସୋ"}\r
+            other{"à¬\86ରà­\8dà¬\9cà­\87ଣà­\8dà¬\9fାà¬\87ନà­\8dâ\80\8d ପେସୋ"}\r
         }\r
         AUD{\r
             one{"ଅଷ୍ଟ୍ରେଲିୟ ଡଲାର୍"}\r
             other{"ଅଷ୍ଟ୍ରେଲିୟ ଡଲାର୍"}\r
         }\r
         AWG{\r
-            one{"à¬\86ରà­\81ବିà­\9f à¬«à­\8dଲà­\8bରିà­\9f"}\r
-            other{"à¬\86ରà­\81ବିà­\9f à¬«à­\8dଲà­\8bରିà­\9f"}\r
+            one{"à¬\86ରà­\81ବà­\80à­\9f à¬«à­\8dଲà­\8bରିନà­\8d"}\r
+            other{"à¬\86ରà­\81ବà­\80à­\9f à¬«à­\8dଲà­\8bରିନà­\8d"}\r
         }\r
         AZN{\r
             one{"ଆଜେରବାଇଜାନି ମନତ୍"}\r
             other{"ଆଜେରବାଇଜାନି ମନତ୍"}\r
         }\r
         BAM{\r
-            one{"ବà­\8bସନିà¬\86-ହà­\87ରà¬\9cà­\87ବà­\8bଭିନା à¬\95ନଭà­\87ରିà¬\9fà­\87ବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95"}\r
-            other{"ବà­\8bସନିà¬\86-ହà­\87ରà¬\9cà­\87ବà­\8bଭିନା à¬\95ନଭà­\87ରିà¬\9fà­\87ବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95"}\r
+            one{"ବà­\8bସନିà¬\86-ହରà­\8dà¬\9cà¬\97à­\8bଭିନା à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95à­\8d"}\r
+            other{"ବà­\8bସନିà¬\86-ହରà­\8dà¬\9cà¬\97à­\8bଭିନା à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d à¬®à¬¾à¬°à­\8dà¬\95à­\8d"}\r
         }\r
         BBD{\r
-            one{"ବାରà­\8dବଡିୟ ଡଲାର୍"}\r
-            other{"ବାରà­\8dବଡିୟ ଡଲାର୍"}\r
+            one{"ବାରà­\8dବାଡà­\80ୟ ଡଲାର୍"}\r
+            other{"ବାରà­\8dବାଡà­\80ୟ ଡଲାର୍"}\r
         }\r
         BDT{\r
             one{"ବଙ୍ଗଳାଦେଶୀ ଟାକା"}\r
             other{"ବଙ୍ଗଳାଦେଶୀ ଟାକା"}\r
         }\r
         BGN{\r
-            one{"ବଲଗେରୀୟ ଲେଭ୍"}\r
-            other{"ବଲà¬\97à­\87ରà­\80à­\9f à¬²à­\87ଭା"}\r
+            one{"ବà­\81ଲà¬\97à­\87ରà­\80à­\9f à¬²à­\87ଭà­\8d"}\r
+            other{"ବà­\81ଲà¬\97à­\87ରà­\80à­\9f à¬²à­\87ଭà­\8d"}\r
         }\r
         BHD{\r
-            one{"ବାହରାà¬\87ନି à¬¦à¬¿à¬¨à¬¾à¬°"}\r
-            other{"ବାହରାà¬\87ନି à¬¦à¬¿à¬¨à¬¾à¬°"}\r
+            one{"ବାà¬\83ରà­\87ନି à¬¦à¬¿à¬¨à¬¾à¬°à­\8d"}\r
+            other{"ବାà¬\83ରà­\87ନି à¬¦à¬¿à¬¨à¬¾à¬°à­\8d"}\r
         }\r
         BIF{\r
-            one{"ବà­\81ରà­\81ନଡିୟ ଫ୍ରାଙ୍କ୍"}\r
-            other{"ବà­\81ରà­\81ନଡିୟ ଫ୍ରାଙ୍କ୍"}\r
+            one{"ବà­\81ରà­\81ଣà­\8dଡିୟ ଫ୍ରାଙ୍କ୍"}\r
+            other{"ବà­\81ରà­\81ଣà­\8dଡିୟ ଫ୍ରାଙ୍କ୍"}\r
         }\r
         BMD{\r
-            one{"ବà­\87ରମà­\81ଣà­\8dଡିà­\9f ଡଲାର୍"}\r
-            other{"ବà­\87ରମà­\81ଣà­\8dଡିà­\9f ଡଲାର୍"}\r
+            one{"ବରà­\8dମà­\8dà­\9fà­\81ଡା ଡଲାର୍"}\r
+            other{"ବରà­\8dମà­\8dà­\9fà­\81ଡା ଡଲାର୍"}\r
         }\r
         BND{\r
             one{"ବ୍ରୁନେଇ ଡଲାର୍"}\r
             other{"ବ୍ରୁନେଇ ଡଲାର୍"}\r
         }\r
         BOB{\r
-            one{"ବà­\8bଲିଭିୟ ବୋଲିଭିଆନୋ"}\r
-            other{"ବà­\8bଲିଭିୟ ବୋଲିଭିଆନୋ"}\r
+            one{"ବà­\8bଲିଭà­\80ୟ ବୋଲିଭିଆନୋ"}\r
+            other{"ବà­\8bଲିଭà­\80ୟ ବୋଲିଭିଆନୋ"}\r
         }\r
         BRL{\r
-            one{"ବà­\8dରାà¬\9cିଲିà­\9f à¬ªà­\8dରà¬\95à­\83ତ"}\r
-            other{"ବà­\8dରାà¬\9cିଲିà­\9f à¬ªà­\8dରà¬\95à­\83ତ"}\r
+            one{"ବà­\8dରାà¬\9cିଲà­\80à­\9f à¬°à¬¿à¬\8fଲà­\8d"}\r
+            other{"ବà­\8dରାà¬\9cିଲà­\80à­\9f à¬°à¬¿à¬\8fଲà­\8d"}\r
         }\r
         BSD{\r
-            one{"ବାହାମିୟ ଡଲାର୍"}\r
-            other{"ବାହାମିୟ ଡଲାର୍"}\r
+            one{"ବାହାମà­\80ୟ ଡଲାର୍"}\r
+            other{"ବାହାମà­\80ୟ ଡଲାର୍"}\r
         }\r
         BTN{\r
-            one{"ଭୁଟାନୀୟ ନଗୁଲଟ୍ରୁମ୍"}\r
-            other{"ଭୁଟାନୀୟ ନଗୁଲଟ୍ରୁମ୍"}\r
+            one{"ଭୁଟାନୀ ଗଲଟ୍ରୁମ୍"}\r
+            other{"ଭୁଟାନୀ ଗଲଟ୍ରୁମ୍"}\r
         }\r
         BWP{\r
-            one{"ବà­\8bà¬\9fସୱାନିà­\9f ପୁଲା"}\r
-            other{"ବà­\8bà¬\9fସୱାନିà­\9f ପୁଲା"}\r
+            one{"ବà­\8bତà­\8dସୱାନା ପୁଲା"}\r
+            other{"ବà­\8bତà­\8dସୱାନା ପୁଲା"}\r
         }\r
         BYN{\r
-            one{"ବେଲାରୁସିୟ ରୁବଲେ"}\r
-            other{"ବେଲାରୁସିୟ ରୁବଲେ"}\r
+            one{"ବେଲାରୁସି ରୁବଲ୍"}\r
+            other{"ବେଲାରୁସି ରୁବଲ୍"}\r
         }\r
         BZD{\r
-            one{"ବà­\87ଲିà¬\9cà­\87 ଡଲାର୍"}\r
-            other{"ବà­\87ଲିà¬\9cà­\87 ଡଲାର୍"}\r
+            one{"ବà­\87ଲିà¬\9cà­\8d ଡଲାର୍"}\r
+            other{"ବà­\87ଲିà¬\9cà­\8d ଡଲାର୍"}\r
         }\r
         CAD{\r
             one{"କାନେଡିୟ ଡଲାର୍"}\r
             other{"କାନେଡିୟ ଡଲାର୍"}\r
         }\r
         CDF{\r
-            one{"à¬\95à­\8bନà¬\97à­\8bଲà­\87ସà­\87 ଫ୍ରାଙ୍କ୍"}\r
-            other{"à¬\95à­\8bନà¬\97à­\8bଲà­\87ସà­\87 ଫ୍ରାଙ୍କ୍"}\r
+            one{"à¬\95à¬\99à­\8dà¬\97à­\8bଲିà¬\9cà­\8d ଫ୍ରାଙ୍କ୍"}\r
+            other{"à¬\95à¬\99à­\8dà¬\97à­\8bଲିà¬\9cà­\8d ଫ୍ରାଙ୍କ୍"}\r
         }\r
         CHF{\r
             one{"ସୁଇସ୍ ଫ୍ରାଙ୍କ୍"}\r
             other{"ସୁଇସ୍ ଫ୍ରାଙ୍କ୍"}\r
         }\r
         CLP{\r
-            one{"ଚିଲି ପେସୋ"}\r
-            other{"ଚିଲି ପେସୋ"}\r
+            one{"ଚିଲି ପେସୋ"}\r
+            other{"ଚିଲି ପେସୋ"}\r
         }\r
         CNH{\r
-            one{"à¬\9aà­\80ନିà­\9f ୟୁଆନ୍ (ଉପକୂଳବର୍ତ୍ତୀ)"}\r
-            other{"à¬\9aà­\80ନିà­\9f ୟୁଆନ୍ (ଅଫସୋର୍)"}\r
+            one{"à¬\9aିନà­\80 ୟୁଆନ୍ (ଉପକୂଳବର୍ତ୍ତୀ)"}\r
+            other{"à¬\9aିନà­\80 ୟୁଆନ୍ (ଅଫସୋର୍)"}\r
         }\r
         CNY{\r
-            one{"ଚିନୀ ୟୁଆନ୍"}\r
-            other{"ଚିନୀ ୟୁଆନ୍"}\r
+            one{"ଚିନୀ ୟୁଆନ୍"}\r
+            other{"ଚିନୀ ୟୁଆନ୍"}\r
         }\r
         COP{\r
-            one{"à¬\95ଲà­\8bମà­\8dଵିୟ ପେସୋ"}\r
-            other{"à¬\95ଲà­\8bମà­\8dଵିୟ ପେସୋ"}\r
+            one{"à¬\95ଲà­\8bମà­\8dବà­\80ୟ ପେସୋ"}\r
+            other{"à¬\95ଲà­\8bମà­\8dବà­\80ୟ ପେସୋ"}\r
         }\r
         CRC{\r
-            one{"à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95ିୟ କୋଲୋନ୍"}\r
-            other{"à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95ିୟ କୋଲୋନ୍"}\r
+            one{"à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95à­\80ୟ କୋଲୋନ୍"}\r
+            other{"à¬\95à­\8bଷà­\8dà¬\9fା à¬°à¬¿à¬\95à­\80ୟ କୋଲୋନ୍"}\r
         }\r
         CUC{\r
-            one{"à¬\95à­\81ବାନà­\8d à¬\95à­\8bନଭà­\87ରà­\8dà¬\9fିବà­\8dଲà­\87 ପେସୋ"}\r
-            other{"à¬\95à­\81ବାନà­\8d à¬\95à­\8bନଭà­\87ରà­\8dà¬\9fିବà­\8dଲà­\87 ପେସୋ"}\r
+            one{"à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d ପେସୋ"}\r
+            other{"à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬\95ନଭରà­\8dà¬\9fିବଲà­\8d ପେସୋ"}\r
         }\r
         CUP{\r
-            one{"କୁବାନ୍ ପେସୋ"}\r
-            other{"କୁବାନ୍ ପେସୋ"}\r
+            one{"à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬ªà­\87ସà­\8b"}\r
+            other{"à¬\95à­\8dà­\9fà­\81ବାନà­\8d à¬ªà­\87ସà­\8b"}\r
         }\r
         CVE{\r
-            one{"କେପ୍ ଭେର୍ଦେୟ ଏସକୁଡୋ"}\r
-            other{"କେପ୍ ଭେର୍ଦେୟ ଏସକୁଡୋ"}\r
+            one{"à¬\95à­\87ପà­\8d à¬­à­\87ରà­\8dଦà­\87à­\9f à¬\8fସà­\8dà¬\95à­\81ଡà­\8b"}\r
+            other{"à¬\95à­\87ପà­\8d à¬­à­\87ରà­\8dଦà­\87à­\9f à¬\8fସà­\8dà¬\95à­\81ଡà­\8b"}\r
         }\r
         CZK{\r
             one{"ଚେକ୍ କୋରୁନା"}\r
             other{"ଚେକ୍ କୋରୁନା"}\r
         }\r
         DJF{\r
-            one{"ଡà¬\9cିବà­\8cà¬\9fିà­\9f à¬«à­\8dରାà¬\99à­\8dà¬\95à­\8d"}\r
-            other{"ଡà¬\9cିବà­\8cà¬\9fିà­\9f à¬«à­\8dରାà¬\99à­\8dà¬\95à­\8d"}\r
+            one{"ଜିବୌଟିୟ ଫ୍ରାଙ୍କ୍"}\r
+            other{"ଜିବୌଟିୟ ଫ୍ରାଙ୍କ୍"}\r
         }\r
         DKK{\r
-            one{"ଦାନିସà­\8d à¬\95à­\8dରà­\8bନà­\87"}\r
-            other{"ଦାନିସà­\8d à¬\95à­\8dରà­\8bନà­\87"}\r
+            one{"ଡାନିସà­\8d à¬\95à­\8dରà­\8bନà­\8d"}\r
+            other{"ଡାନିସà­\8d à¬\95à­\8dରà­\8bନà­\8d"}\r
         }\r
         DOP{\r
-            one{"ଡà­\8bମିନିà¬\95ିୟ ପେସୋ"}\r
-            other{"ଡà­\8bମିନିà¬\95ିୟ ପେସୋ"}\r
+            one{"ଡà­\8bମିନିà¬\95à­\80ୟ ପେସୋ"}\r
+            other{"ଡà­\8bମିନିà¬\95à­\80ୟ ପେସୋ"}\r
         }\r
         DZD{\r
-            one{"à¬\86ଲà¬\97à­\87ରିୟ ଦିନାର୍"}\r
-            other{"à¬\86ଲà¬\97à­\87ରିୟ ଦିନାର୍"}\r
+            one{"à¬\86ଲà¬\9cà­\87ରà­\80ୟ ଦିନାର୍"}\r
+            other{"à¬\86ଲà¬\9cà­\87ରà­\80ୟ ଦିନାର୍"}\r
         }\r
         EGP{\r
             one{"ଇଜିପ୍ଟିୟ ପାଉଣ୍ଡ୍"}\r
@@ -900,24 +908,24 @@ or{
             other{"ଏରିଟ୍ରେୟ ନାକଫା"}\r
         }\r
         ETB{\r
-            one{"à¬\8fଥିà¬\93ପିà­\9fà­\8b ବିର୍"}\r
-            other{"à¬\8fଥିà¬\93ପିà­\9fà­\8b ବିର୍"}\r
+            one{"à¬\87ଥିà¬\93ପିà­\9f ବିର୍"}\r
+            other{"à¬\87ଥିà¬\93ପିà­\9f ବିର୍"}\r
         }\r
         EUR{\r
             one{"ୟୁରୋ"}\r
             other{"ୟୁରୋ"}\r
         }\r
         FJD{\r
-            one{"ଫିଜି ଡଲାର୍"}\r
-            other{"ଫିଜି ଡଲାର୍"}\r
+            one{"ଫିଜି ଡଲାର୍"}\r
+            other{"ଫିଜି ଡଲାର୍"}\r
         }\r
         FKP{\r
-            one{"ଫାଲà­\8dà¬\95ଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¦à­\8dଵà­\80ପପà­\81à¬\9eà­\8dà¬\9c à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
-            other{"ଫାଲà­\8dà¬\95ଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¦à­\8dଵà­\80ପପà­\81à¬\9eà­\8dà¬\9c à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
+            one{"ଫକଲ୍ୟାଣ୍ଡ୍ ଦ୍ଵୀପପୁଞ୍ଜ ପାଉଣ୍ଡ୍"}\r
+            other{"ଫକଲ୍ୟାଣ୍ଡ୍ ଦ୍ଵୀପପୁଞ୍ଜ ପାଉଣ୍ଡ୍"}\r
         }\r
         GBP{\r
-            one{"ବà­\8dରିà¬\9fିସ୍ ପାଉଣ୍ଡ୍"}\r
-            other{"ବà­\8dରିà¬\9fିସ୍ ପାଉଣ୍ଡ୍"}\r
+            one{"ବà­\8dରିà¬\9fିà¬୍ ପାଉଣ୍ଡ୍"}\r
+            other{"ବà­\8dରିà¬\9fିà¬୍ ପାଉଣ୍ଡ୍"}\r
         }\r
         GEL{\r
             one{"ଜର୍ଜିୟ ଲାରି"}\r
@@ -928,216 +936,220 @@ or{
             other{"ଘାନିୟ ସେଡି"}\r
         }\r
         GIP{\r
-            one{"à¬\97ିବà­\8dରାଲà¬\9fାରà­\8d à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
-            other{"à¬\97ିବà­\8dରାଲà¬\9fାରà­\8d à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
+            one{"ଗିବ୍ରାଲଟର୍ ପାଉଣ୍ଡ୍"}\r
+            other{"ଗିବ୍ରାଲଟର୍ ପାଉଣ୍ଡ୍"}\r
         }\r
         GMD{\r
-            one{"ଗାମବିୟ ଡାଲାସି"}\r
-            other{"ଗାମବିୟ ଡାଲାସି"}\r
+            one{"à¬\97ାମà­\8dବିà­\9f à¬¡à¬¾à¬²à¬¾à¬¸à¬¿"}\r
+            other{"à¬\97ାମà­\8dବିà­\9f à¬¡à¬¾à¬²à¬¾à¬¸à¬¿"}\r
         }\r
         GNF{\r
             one{"ଗୁଇନେୟ ଫ୍ରାଙ୍କ୍"}\r
             other{"ଗୁଇନେୟ ଫ୍ରାଙ୍କ୍"}\r
         }\r
         GTQ{\r
-            one{"à¬\97à­\81à¬\8fତà­\87ମାଲିୟ କ୍ଵେତଜାଲ୍"}\r
-            other{"à¬\97à­\81à¬\8fତà­\87ମାଲିୟ କ୍ଵେତଜାଲ୍"}\r
+            one{"à¬\97à­\81à¬\8fà¬\9fମାଲà­\80ୟ କ୍ଵେତଜାଲ୍"}\r
+            other{"à¬\97à­\81à¬\8fà¬\9fମାଲà­\80ୟ କ୍ଵେତଜାଲ୍"}\r
         }\r
         GYD{\r
-            one{"à¬\97à­\81à­\9fାନାà¬\8fସà­\87 ଡଲାର୍"}\r
-            other{"à¬\97à­\81à­\9fାନାà¬\8fସà­\87 ଡଲାର୍"}\r
+            one{"à¬\97ାà­\9fାନିସà­\8d ଡଲାର୍"}\r
+            other{"à¬\97ାà­\9fାନିସà­\8d ଡଲାର୍"}\r
         }\r
         HKD{\r
             one{"ହଂ କଂ ଡଲାର୍"}\r
             other{"ହଂ କଂ ଡଲାର୍"}\r
         }\r
         HNL{\r
-            one{"ହà­\8bଣà­\8dଡà­\81ରିୟ ଲେମପିରା"}\r
-            other{"ହà­\8bଣà­\8dଡà­\81ରିୟ ଲେମପିରା"}\r
+            one{"ହà­\8bଣà­\8dଡà­\81ରà­\80ୟ ଲେମପିରା"}\r
+            other{"ହà­\8bଣà­\8dଡà­\81ରà­\80ୟ ଲେମପିରା"}\r
         }\r
         HRK{\r
-            one{"à¬\95à­\8dରà­\8bà¬\86à¬\9fିୟ କୁନା"}\r
-            other{"à¬\95à­\8dରà­\8bà¬\86à¬\9fିୟ କୁନା"}\r
+            one{"à¬\95à­\8dରà­\8bà¬\8fସà­\80ୟ କୁନା"}\r
+            other{"à¬\95à­\8dରà­\8bà¬\8fସà­\80ୟ କୁନା"}\r
         }\r
         HTG{\r
-            one{"ହାà¬\87ତିà­\9f à¬\97à­\8cରଡà­\87"}\r
-            other{"ହାà¬\87ତିà­\9f à¬\97à­\8cରଡà­\87"}\r
+            one{"ହାà¬\87ତà­\80à­\9f à¬\97à­\8bରଡà­\8d"}\r
+            other{"ହାà¬\87ତà­\80à­\9f à¬\97à­\8bରଡà­\8d"}\r
         }\r
         HUF{\r
-            one{"ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ"}\r
-            other{"ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ"}\r
+            one{"ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ"}\r
+            other{"ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ"}\r
         }\r
         IDR{\r
-            one{"ଇଣ୍ଡୋନେସିୟ ରୁପିଆ"}\r
-            other{"ଇଣ୍ଡୋନେସିୟ ରୁପିଆ"}\r
+            one{"ଇଣ୍ଡୋନେସିୟ ରୁପିଆ"}\r
+            other{"ଇଣ୍ଡୋନେସିୟ ରୁପିଆ"}\r
         }\r
         ILS{\r
-            one{"à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬¸େକେଲ୍"}\r
-            other{"à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬¸େକେଲ୍"}\r
+            one{"à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬େକେଲ୍"}\r
+            other{"à¬\87ସà­\8dରାà¬\87ଲି à¬¨à­\8dà­\9fà­\81 à¬େକେଲ୍"}\r
         }\r
         INR{\r
-            one{"ଟଙ୍କା"}\r
-            other{"ଟଙ୍କା"}\r
+            one{"ଭାରତà­\80à­\9f à¬\9fà¬\99à­\8dà¬\95ା"}\r
+            other{"ଭାରତà­\80à­\9f à¬\9fà¬\99à­\8dà¬\95ା"}\r
         }\r
         IQD{\r
             one{"ଇରାକି ଦିନାର୍"}\r
             other{"ଇରାକି ଦିନାର୍"}\r
         }\r
         IRR{\r
-            one{"à¬\87ରିà­\9f ରିଆଲ୍"}\r
-            other{"à¬\87ରିà­\9f ରିଆଲ୍"}\r
+            one{"à¬\87ରାନà­\80 ରିଆଲ୍"}\r
+            other{"à¬\87ରାନà­\80 ରିଆଲ୍"}\r
         }\r
         ISK{\r
-            one{"à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà­\9f କ୍ରୋନା"}\r
-            other{"à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà­\9f କ୍ରୋନା"}\r
+            one{"à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà¬\95à­\8dâ\80\8d କ୍ରୋନା"}\r
+            other{"à¬\86à¬\87ସଲà­\8dà­\9fାଣà­\8dଡିà¬\95à­\8dâ\80\8d କ୍ରୋନା"}\r
         }\r
         JMD{\r
-            one{"à¬\9cାମାà¬\87à¬\95ିୟ ଡଲାର୍"}\r
-            other{"à¬\9cାମାà¬\87à¬\95ିୟ ଡଲାର୍"}\r
+            one{"à¬\9cାମାà¬\87à¬\95à­\80ୟ ଡଲାର୍"}\r
+            other{"à¬\9cାମାà¬\87à¬\95à­\80ୟ ଡଲାର୍"}\r
         }\r
         JOD{\r
-            one{"à¬\9cରà­\8dଡିà­\9fାନà­\8d ଦିନାର୍"}\r
-            other{"à¬\9cରà­\8dଡିà­\9fାନà­\8d ଦିନାର୍"}\r
+            one{"à¬\9cରà­\8dଡାନିà­\9f ଦିନାର୍"}\r
+            other{"à¬\9cରà­\8dଡାନିà­\9f ଦିନାର୍"}\r
         }\r
         JPY{\r
-            one{"ଜାପାନୀ ୟେନ୍"}\r
-            other{"ଜାପାନୀ ୟେନ୍"}\r
+            one{"ଜାପାନୀ ୟେନ୍"}\r
+            other{"ଜାପାନୀ ୟେନ୍"}\r
         }\r
         KES{\r
-            one{"à¬\95à­\87ନà­\9fାନà­\8d à¬¸ିଲିଂ"}\r
-            other{"à¬\95à­\87ନà­\9fାନà­\8d à¬¸ିଲିଂ"}\r
+            one{"à¬\95à­\87ନିà­\9f à¬¶ିଲିଂ"}\r
+            other{"à¬\95à­\87ନିà­\9f à¬¶ିଲିଂ"}\r
         }\r
         KGS{\r
-            one{"à¬\95à­\8dà­\9fାରà¬\97à­\8dà­\9fସà­\8dତାନିà­\9f ସୋମ୍"}\r
-            other{"à¬\95à­\8dà­\9fାରà¬\97à­\8dà­\9fସà­\8dତାନିà­\9f ସୋମ୍"}\r
+            one{"à¬\95ିରà­\8dà¬\97ିସà­\8dତାନà­\80 ସୋମ୍"}\r
+            other{"à¬\95ିରà­\8dà¬\97ିସà­\8dତାନà­\80 ସୋମ୍"}\r
         }\r
         KHR{\r
             one{"କାମ୍ଵୋଡିୟ ରିଏଲ୍"}\r
             other{"କାମ୍ଵୋଡିୟ ରିଏଲ୍"}\r
         }\r
         KMF{\r
-            one{"à¬\95à­\8bମà­\8bରିୟ ଫ୍ରାଙ୍କ୍"}\r
-            other{"à¬\95à­\8bମà­\8bରିୟ ଫ୍ରାଙ୍କ୍"}\r
+            one{"à¬\95à­\8bମà­\8bରà­\80ୟ ଫ୍ରାଙ୍କ୍"}\r
+            other{"à¬\95à­\8bମà­\8bରà­\80ୟ ଫ୍ରାଙ୍କ୍"}\r
         }\r
         KPW{\r
-            one{"ପଶà­\8dà¬\9aିମ à¬\95à­\8bରିà­\9f ୱୋନ୍"}\r
-            other{"ପଶà­\8dà¬\9aିମ à¬\95à­\8bରିà­\9f ୱୋନ୍"}\r
+            one{"à¬\89ତà­\8dତର à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍"}\r
+            other{"à¬\89ତà­\8dତର à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍"}\r
         }\r
         KRW{\r
-            one{"ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà­\9f ୱୋନ୍"}\r
-            other{"ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà­\9f ୱୋନ୍"}\r
+            one{"ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍"}\r
+            other{"ଦà¬\95à­\8dଷିଣ à¬\95à­\8bରିà¬\86à¬\87 ୱୋନ୍"}\r
         }\r
         KWD{\r
-            one{"କୁୱେତି ଦିନାର"}\r
-            other{"କୁୱେତି ଦିନାର"}\r
+            one{"କୁୱେତି ଦିନାର"}\r
+            other{"କୁୱେତି ଦିନାର"}\r
         }\r
         KYD{\r
-            one{"à¬\95ାà­\9fମାନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
-            other{"à¬\95ାà­\9fମାନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
+            one{"à¬\95à­\87ମà­\87ନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
+            other{"à¬\95à­\87ମà­\87ନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
         }\r
         KZT{\r
-            one{"à¬\95ାà¬\9cାà¬\96ସà­\8dତାନିà­\9f à¬¤à­\87ନଗେ"}\r
-            other{"à¬\95ାà¬\9cାà¬\96ସà­\8dତାନିà­\9f à¬¤à­\87ନଗେ"}\r
+            one{"à¬\95ାà¬\9cାà¬\95ସà­\8dତାନà­\80 à¬¤à­\87à¬\99à­\8dଗେ"}\r
+            other{"à¬\95ାà¬\9cାà¬\95ସà­\8dତାନà­\80 à¬¤à­\87à¬\99à­\8dଗେ"}\r
         }\r
         LAK{\r
             one{"ଲାଓଟିୟ କିପ୍"}\r
             other{"ଲାଓଟିୟ କିପ୍"}\r
         }\r
         LBP{\r
-            one{"ଲà­\87ବାନà­\87ସà­\87 ପାଉଣ୍ଡ୍"}\r
-            other{"ଲà­\87ବାନà­\87ସà­\87 ପାଉଣ୍ଡ୍"}\r
+            one{"ଲà­\87ବାନିà¬\9cà­\8d ପାଉଣ୍ଡ୍"}\r
+            other{"ଲà­\87ବାନିà¬\9cà­\8d ପାଉଣ୍ଡ୍"}\r
         }\r
         LKR{\r
             one{"ଶ୍ରୀଲଙ୍କିୟ ରୁପି"}\r
             other{"ଶ୍ରୀଲଙ୍କିୟ ରୁପି"}\r
         }\r
         LRD{\r
-            one{"ଲିବà­\87ରିୟ ଡଲାର୍"}\r
-            other{"ଲିବà­\87ରିୟ ଡଲାର୍"}\r
+            one{"ଲିବà­\87ରà­\80ୟ ଡଲାର୍"}\r
+            other{"ଲିବà­\87ରà­\80ୟ ଡଲାର୍"}\r
         }\r
         LYD{\r
             one{"ଲିବ୍ୟ ଦିନାର୍"}\r
             other{"ଲିବ୍ୟ ଦିନାର୍"}\r
         }\r
         MAD{\r
-            one{"ମà­\8bରà­\8bà¬\95ିà­\9f à¬¡à¬¿à¬°ହାମ୍"}\r
-            other{"ମà­\8bରà­\8bà¬\95ିà­\9f à¬¡à¬¿à¬°ହାମ୍"}\r
+            one{"ମà­\8bରà­\8bà¬\95à­\80à­\9f à¬¦à¬¿à¬°à­\8dହାମ୍"}\r
+            other{"ମà­\8bରà­\8bà¬\95à­\80à­\9f à¬¦à¬¿à¬°à­\8dହାମ୍"}\r
         }\r
         MDL{\r
             one{"ମୋଲଡୋଭାନ୍ ଲେୟୁ"}\r
             other{"ମୋଲଡୋଭାନ୍ ଲେୟୁ"}\r
         }\r
         MGA{\r
-            one{"ମାଲାà¬\97ାସà­\87 à¬\86ରିà¬\86ରà­\87"}\r
-            other{"ମାଲାà¬\97ାସà­\87 à¬\86ରିà¬\86ରà­\87"}\r
+            one{"ମାଲାà¬\97ାସି à¬\8fରିà¬\86ରà­\80"}\r
+            other{"ମାଲାà¬\97ାସି à¬\8fରିà¬\86ରà­\80"}\r
         }\r
         MKD{\r
-            one{"ମାସà­\87ଡà­\8bନିà­\9f à¬¡à¬¿à¬¨à¬¾ର୍"}\r
-            other{"ମାସà­\87ଡà­\8bନିà­\9f à¬¡à¬¿à¬¨à¬¾ର୍"}\r
+            one{"ମାସà­\87ଡà­\8bନà­\80à­\9f à¬¡à¬¿à¬¨ର୍"}\r
+            other{"ମାସà­\87ଡà­\8bନà­\80à­\9f à¬¡à¬¿à¬¨ର୍"}\r
         }\r
         MMK{\r
-            one{"ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାà¬\9fà­\8d"}\r
-            other{"ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାà¬\9fà­\8d"}\r
+            one{"ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାତà­\8dâ\80\8c"}\r
+            other{"ମà­\8dà­\9fାନମାରà­\8d à¬\95à­\8dà­\9fାତà­\8dâ\80\8c"}\r
         }\r
         MNT{\r
-            one{"ମà¬\99à­\8dà¬\97à­\8bଳିୟ ତୁଗ୍ରିକ୍"}\r
-            other{"ମà¬\99à­\8dà¬\97à­\8bଳିୟ ତୁଗ୍ରିକ୍"}\r
+            one{"ମà¬\99à­\8dà¬\97à­\8bଲିୟ ତୁଗ୍ରିକ୍"}\r
+            other{"ମà¬\99à­\8dà¬\97à­\8bଲିୟ ତୁଗ୍ରିକ୍"}\r
         }\r
         MOP{\r
-            one{"ମାà¬\95ାନà­\87ସିà­\9f ପାଟାକା"}\r
-            other{"ମାà¬\95ାନà­\87ସିà­\9f ପାଟାକା"}\r
+            one{"ମାà¬\95ାନà­\87à¬\9cà­\8d ପାଟାକା"}\r
+            other{"ମାà¬\95ାନà­\87à¬\9cà­\8d ପାଟାକା"}\r
         }\r
         MRO{\r
-            one{"ମାଉରିଟାନିୟ ଓୟୁଗୁଇୟା"}\r
-            other{"ମାଉରିଟାନିୟ ଓୟୁଗୁଇୟା"}\r
+            one{"ମର୍ଟିନିୟ ଆଗୁଇଅ (1973–2017)"}\r
+            other{"ମର୍ଟିନିୟ ଆଗୁଇଅ (1973–2017)"}\r
+        }\r
+        MRU{\r
+            one{"ମର୍ଟିନିୟ ଆଗୁଇଅ"}\r
+            other{"ମର୍ଟିନିୟ ଆଗୁଇଅ"}\r
         }\r
         MUR{\r
-            one{"ମà­\8cରିସିୟ ରୁପି"}\r
-            other{"ମà­\8cରିସିୟ ରୁପି"}\r
+            one{"ମà­\8cରିସà­\80ୟ ରୁପି"}\r
+            other{"ମà­\8cରିସà­\80ୟ ରୁପି"}\r
         }\r
         MVR{\r
             one{"ମାଲଡିଭିୟ ରୁଫିୟା"}\r
             other{"ମାଲଡିଭିୟ ରୁଫିୟା"}\r
         }\r
         MWK{\r
-            one{"ମଲୱିà­\9f à¬\95ୱାଚା"}\r
-            other{"ମଲୱିà­\9f à¬\95ୱାଚା"}\r
+            one{"ମଲାୱି à¬\95à­\8dୱାଚା"}\r
+            other{"ମଲାୱି à¬\95à­\8dୱାଚା"}\r
         }\r
         MXN{\r
-            one{"ମà­\87à¬\95à­\8dସିà¬\95ିୟ ପେସୋ"}\r
-            other{"ମà­\87à¬\95à­\8dସିà¬\95ିୟ ପେସୋ"}\r
+            one{"ମà­\87à¬\95à­\8dସିà¬\95à­\80ୟ ପେସୋ"}\r
+            other{"ମà­\87à¬\95à­\8dସିà¬\95à­\80ୟ ପେସୋ"}\r
         }\r
         MYR{\r
-            one{"ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\82à¬\87ଟ୍"}\r
-            other{"ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\82à¬\87ଟ୍"}\r
+            one{"ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\99à­\8dà¬\97ିଟ୍"}\r
+            other{"ମାଲà­\87ସିà­\9f à¬°à¬¿à¬\99à­\8dà¬\97ିଟ୍"}\r
         }\r
         MZN{\r
-            one{"ମà­\8bà¬\9cାମବିà¬\95ାନà­\8d ମେଟିକାଲ୍"}\r
-            other{"ମà­\8bà¬\9cାମବିà¬\95ାନà­\8d ମେଟିକାଲ୍"}\r
+            one{"ମà­\8bà¬\9cାମà­\8dବିà¬\95à­\80à­\9f ମେଟିକାଲ୍"}\r
+            other{"ମà­\8bà¬\9cାମà­\8dବିà¬\95à­\80à­\9f ମେଟିକାଲ୍"}\r
         }\r
         NAD{\r
             one{"ନାମିବିୟ ଡଲାର୍"}\r
             other{"ନାମିବିୟ ଡଲାର୍"}\r
         }\r
         NGN{\r
-            one{"ନାà¬\87à¬\9cà­\87ରିà­\9f ନାଇରା"}\r
-            other{"ନାà¬\87à¬\9cà­\87ରିà­\9f ନାଇରା"}\r
+            one{"ନାà¬\87à¬\9cà­\87ରିà¬\86à¬\87 ନାଇରା"}\r
+            other{"ନାà¬\87à¬\9cà­\87ରିà¬\86à¬\87 ନାଇରା"}\r
         }\r
         NIO{\r
-            one{"ନିକାରାଗୁଆନ୍ କୋର୍ଡୋବା"}\r
-            other{"ନିକାରାଗୁଆନ୍ କୋର୍ଡୋବା"}\r
+            one{"ନିକାରାଗୁଆ କୋର୍ଡୋବା"}\r
+            other{"ନିକାରାଗୁଆ କୋର୍ଡୋବା"}\r
         }\r
         NOK{\r
-            one{"ନରୱà­\87à¬\9cିà­\9f à¬\95à­\8dରà­\8bନà­\87"}\r
-            other{"ନରୱà­\87à¬\9cିà­\9f à¬\95à­\8dରà­\8bନà­\87"}\r
+            one{"ନରୱà­\87à­\9fà­\80à­\9f à¬\95à­\8dରà­\8bନà­\8d"}\r
+            other{"ନରୱà­\87à­\9fà­\80à­\9f à¬\95à­\8dରà­\8bନà­\8d"}\r
         }\r
         NPR{\r
-            one{"ନେପାଳି ରୁପି"}\r
-            other{"ନେପାଳି ରୁପି"}\r
+            one{"ନେପାଳି ରୁପି"}\r
+            other{"ନେପାଳି ରୁପି"}\r
         }\r
         NZD{\r
-            one{"ନ୍ୟୁଜଲ୍ୟାଣ୍ଡ୍ ଡଲାର୍"}\r
-            other{"ନ୍ୟୁଜଲ୍ୟାଣ୍ଡ୍ ଡଲାର୍"}\r
+            one{"ନà­\8dà­\9fà­\81à¬\9cିଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¡à¬²à¬¾à¬°à­\8d"}\r
+            other{"ନà­\8dà­\9fà­\81à¬\9cିଲà­\8dà­\9fାଣà­\8dଡà­\8d à¬¡à¬²à¬¾à¬°à­\8d"}\r
         }\r
         OMR{\r
             one{"ଓମାନି ରିଆଲ୍"}\r
@@ -1148,8 +1160,8 @@ or{
             other{"ପାନାମାନିୟ ବାଲବୋଆ"}\r
         }\r
         PEN{\r
-            one{"ପà­\87ରà­\81ଭିୟ ସୋଲ୍"}\r
-            other{"ପà­\87ରà­\81ଭିୟ ସୋଲ୍"}\r
+            one{"ପà­\87ରà­\81ଭà­\80ୟ ସୋଲ୍"}\r
+            other{"ପà­\87ରà­\81ଭà­\80ୟ ସୋଲ୍"}\r
         }\r
         PGK{\r
             one{"ପପୁଆ ନ୍ୟୁ ଗୁଇନିୟ କିନା"}\r
@@ -1160,12 +1172,12 @@ or{
             other{"ଫିଲିପିନି ପେସୋ"}\r
         }\r
         PKR{\r
-            one{"ପାà¬\95ିସà­\8dତାନି ରୁପି"}\r
-            other{"ପାà¬\95ିସà­\8dତାନି ରୁପି"}\r
+            one{"ପାà¬\95ିସà­\8dତାନà­\80 ରୁପି"}\r
+            other{"ପାà¬\95ିସà­\8dତାନà­\80 ରୁପି"}\r
         }\r
         PLN{\r
-            one{"ପà­\8bଲିସà­\8d à¬\9cଲà­\8bà¬\9fି"}\r
-            other{"ପà­\8bଲିସà­\8d à¬\9cଲà­\8bà¬\9fି"}\r
+            one{"ପà­\8bଲିଶà­\8d à¬\9cà­\8dଲà¬\9fà­\80"}\r
+            other{"ପà­\8bଲିଶà­\8d à¬\9cà­\8dଲà¬\9fà­\80"}\r
         }\r
         PYG{\r
             one{"ପାରାଗୁଆୟାନ୍ ଗୁଆରାନି"}\r
@@ -1180,23 +1192,23 @@ or{
             other{"ରୋମାନିୟ ଲେଉ"}\r
         }\r
         RSD{\r
-            one{"ସରà­\8dବିà­\9f à¬¦à¬¿à¬¨à¬¾à¬°à­\8d"}\r
-            other{"ସରà­\8dବିà­\9f à¬¦à¬¿à¬¨à¬¾à¬°à­\8d"}\r
+            one{"ସରà­\8dବିà¬\86à¬\87 à¬¦à¬¿à¬¨à¬¾à¬°"}\r
+            other{"ସରà­\8dବିà¬\86à¬\87 à¬¦à¬¿à¬¨à¬¾à¬°"}\r
         }\r
         RUB{\r
-            one{"à¬\8bଷିà­\9f à¬°à­\81ବଲà­\87"}\r
-            other{"à¬\8bଷିà­\9f à¬°à­\81ବଲà­\87"}\r
+            one{"ରà­\81ଷି à¬°à­\81ବଲà­\8d"}\r
+            other{"ରà­\81ଷି à¬°à­\81ବଲà­\8d"}\r
         }\r
         RWF{\r
-            one{"ରୱାନାଦାନà­\8d ଫ୍ରାଙ୍କ୍"}\r
-            other{"ରୱାନାଦାନà­\8d ଫ୍ରାଙ୍କ୍"}\r
+            one{"ରà­\81ୱାଣà­\8dଡା ଫ୍ରାଙ୍କ୍"}\r
+            other{"ରà­\81ୱାଣà­\8dଡା ଫ୍ରାଙ୍କ୍"}\r
         }\r
         SAR{\r
             one{"ସୌଦି ରିୟାଲ୍"}\r
             other{"ସୌଦି ରିୟାଲ୍"}\r
         }\r
         SBD{\r
-            one{"ସୋଲୋମୋନ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
+            one{"ସୋଲୋମୋନ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
             other{"ସୋଲୋମୋନ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"}\r
         }\r
         SCR{\r
@@ -1204,128 +1216,132 @@ or{
             other{"ସେୟଚେଲୋଇସ୍ ରୁପି"}\r
         }\r
         SDG{\r
-            one{"ସà­\81ଦାନà­\80à­\9f ପାଉଣ୍ଡ୍"}\r
+            one{"ସà­\81ଦାନà­\80à¬\9c ପାଉଣ୍ଡ୍"}\r
             other{"ସୁଦାନୀୟ ପାଉଣ୍ଡ୍"}\r
         }\r
         SEK{\r
-            one{"ସà­\8dà­±à­\87ଡିà­\9f କ୍ରୋନା"}\r
-            other{"ସà­\8dà­±à­\87ଡିà­\9f କ୍ରୋନା"}\r
+            one{"ସà­\8dà­±à­\87ଡିଶà­\8d କ୍ରୋନା"}\r
+            other{"ସà­\8dà­±à­\87ଡିଶà­\8d କ୍ରୋନା"}\r
         }\r
         SGD{\r
-            one{"ସିà¬\82ଗାପୁର୍ ଡଲାର୍"}\r
-            other{"ସିà¬\82ଗାପୁର୍ ଡଲାର୍"}\r
+            one{"ସିà¬\99à­\8dଗାପୁର୍ ଡଲାର୍"}\r
+            other{"ସିà¬\99à­\8dଗାପୁର୍ ଡଲାର୍"}\r
         }\r
         SHP{\r
             one{"ସେଣ୍ଟ୍. ହେଲେନା ପାଉଣ୍ଡ୍"}\r
             other{"ସେଣ୍ଟ୍. ହେଲେନା ପାଉଣ୍ଡ୍"}\r
         }\r
         SLL{\r
-            one{"ସିà¬\8fରା à¬²à­\87à¬\93ନà­\87à¬\86ନà­\8d à¬²à­\87à¬\93ନି"}\r
-            other{"ସିà¬\8fରା à¬²à­\87à¬\93ନà­\87à¬\86ନà­\8d à¬²à­\87à¬\93ନି"}\r
+            one{"ସିà¬\8fରା à¬²à¬¿à¬\93ନà­\80à­\9f à¬²à­\87à¬\93ନà­\8d"}\r
+            other{"ସିà¬\8fରା à¬²à¬¿à¬\93ନà­\80à­\9f à¬²à­\87à¬\93ନà­\8d"}\r
         }\r
         SOS{\r
             one{"ସୋମାଲି ସିଲିଂ"}\r
             other{"ସୋମାଲି ସିଲିଂ"}\r
         }\r
         SRD{\r
-            one{"ସà­\81ରିନାମà­\87ସà­\87 ଡଲାର୍"}\r
-            other{"ସà­\81ରିନାମà­\87ସà­\87 ଡଲାର୍"}\r
+            one{"ସà­\81ରିନାମିà¬\9cà­\8d ଡଲାର୍"}\r
+            other{"ସà­\81ରିନାମିà¬\9cà­\8d ଡଲାର୍"}\r
         }\r
         SSP{\r
-            one{"ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଦାନà­\87ସà­\87 ପାଉଣ୍ଡ୍"}\r
-            other{"ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଦାନà­\87ସà­\87 ପାଉଣ୍ଡ୍"}\r
+            one{"ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଡାନିà¬\9cà­\8dâ\80\8d ପାଉଣ୍ଡ୍"}\r
+            other{"ଦà¬\95à­\8dଷିଣ à¬¸à­\81ଡାନିà¬\9cà­\8dâ\80\8d ପାଉଣ୍ଡ୍"}\r
         }\r
         STD{\r
-            one{"ସାଓ ଟୋମେ ଏବଂ ପ୍ରିସିପେ ଡୋବ୍ରା"}\r
-            other{"ସାଓ ଟୋମେ ଏବଂ ପ୍ରିସିପେ ଡୋବ୍ରା"}\r
+            one{"ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା (1977–2017)"}\r
+            other{"ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା (1977–2017)"}\r
+        }\r
+        STN{\r
+            one{"ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା"}\r
+            other{"ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା"}\r
         }\r
         SYP{\r
             one{"ସିରିୟ ପାଉଣ୍ଡ୍"}\r
             other{"ସିରିୟ ପାଉଣ୍ଡ୍"}\r
         }\r
         SZL{\r
-            one{"ସà­\8dଵାà¬\9cି à¬²à¬¿à¬²à¬¾à¬¨ଜେନି"}\r
-            other{"ସà­\8dଵାà¬\9cି à¬\8fମାଲାନଜେନି"}\r
+            one{"ସà­\8dଵାà¬\9cି à¬²à¬¿à¬²à¬¾à¬\9eà­\8dଜେନି"}\r
+            other{"ସà­\8dଵାà¬\9cି à¬\87ମାଲà¬\9eà­\8dଜେନି"}\r
         }\r
         THB{\r
-            one{"ଥାà¬\87 à¬¬à¬¾à¬¹à¬¤୍"}\r
-            other{"ଥାà¬\87 à¬¬à¬¾à¬¹à¬¤୍"}\r
+            one{"ଥାà¬\87 à¬­à¬¾à¬\9f୍"}\r
+            other{"ଥାà¬\87 à¬­à¬¾à¬\9f୍"}\r
         }\r
         TJS{\r
-            one{"ତାà¬\9cିà¬\95ିସà­\8dତାନିà­\9f ସୋମୋନି"}\r
-            other{"ତାà¬\9cିà¬\95ିସà­\8dତାନିà­\9f ସୋମୋନି"}\r
+            one{"ତାà¬\9cିà¬\95ିସà­\8dତାନà­\80 ସୋମୋନି"}\r
+            other{"ତାà¬\9cିà¬\95ିସà­\8dତାନà­\80 ସୋମୋନି"}\r
         }\r
         TMT{\r
-            one{"ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନିà­\9f à¬®à¬¨à¬¤"}\r
-            other{"ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନିà­\9f à¬®à¬¨à¬¤"}\r
+            one{"ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନà­\80 à¬®à¬¨à¬¤à­\8dâ\80\8c"}\r
+            other{"ତà­\81ରà­\8dà¬\95ମà­\87ନିସà­\8dତାନà­\80 à¬®à¬¨à¬¤à­\8dâ\80\8c"}\r
         }\r
         TND{\r
-            one{"ତà­\81ନିସିà­\9f ଦିନାର୍"}\r
-            other{"ତà­\81ନିସିà­\9f ଦିନାର୍"}\r
+            one{"à¬\9fà­\81ନà­\87ସିà¬\86à¬\87 ଦିନାର୍"}\r
+            other{"à¬\9fà­\81ନà­\87ସିà¬\86à¬\87 ଦିନାର୍"}\r
         }\r
         TOP{\r
-            one{"ତà­\8bନà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97à­\8d"}\r
-            other{"ତà­\8bନà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97à­\8d"}\r
+            one{"ତà­\8bà¬\99à­\8dà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97ା"}\r
+            other{"ତà­\8bà¬\99à­\8dà¬\97ିà­\9f à¬ªà¬¾à¬\99à­\8dà¬\97ା"}\r
         }\r
         TRY{\r
             one{"ତୁର୍କିୟ ଲିରା"}\r
             other{"ତୁର୍କିୟ ଲିରା"}\r
         }\r
         TTD{\r
-            one{"à¬\9fà­\8dରିନିଡାଡ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍"}\r
-            other{"à¬\9fà­\8dରିନିଡାଡ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍"}\r
+            one{"ତà­\8dରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍"}\r
+            other{"ତà­\8dରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍"}\r
         }\r
         TWD{\r
             one{"ନ୍ୟୁ ତାଇୱାନ୍ ଡଲାର୍"}\r
             other{"ନ୍ୟୁ ତାଇୱାନ୍ ଡଲାର୍"}\r
         }\r
         TZS{\r
-            one{"ତାନà¬\9cାନିà­\9f à¬¸ିଲିଂ"}\r
-            other{"ତାନà¬\9cାନିà­\9f à¬¸ିଲିଂ"}\r
+            one{"ତାନà¬\9cାନà­\80à­\9f à¬¶ିଲିଂ"}\r
+            other{"ତାନà¬\9cାନà­\80à­\9f à¬¶ିଲିଂ"}\r
         }\r
         UAH{\r
-            one{"à­\9fà­\81à¬\95à­\8dରà­\87ନିà­\9f à¬¹à¬°à­\9fଭନିଆ"}\r
-            other{"à­\9fà­\81à¬\95à­\8dରà­\87ନିà­\9f à¬¹à¬°à­\9fଭନିଆ"}\r
+            one{"à­\9fà­\81à¬\95à­\8dରà­\87ନà­\80à­\9f à¬¹à­\8dରାà¬\87ଭନିଆ"}\r
+            other{"à­\9fà­\81à¬\95à­\8dରà­\87ନà­\80à­\9f à¬¹à­\8dରାà¬\87ଭନିଆ"}\r
         }\r
         UGX{\r
-            one{"à­\9fà­\81à¬\97ାନଡିà­\9f à¬¸ିଲିଂ"}\r
-            other{"à­\9fà­\81à¬\97ାନଡିà­\9f à¬¸ିଲିଂ"}\r
+            one{"à¬\89à¬\97ାଣà­\8dଡିà­\9f à¬¶ିଲିଂ"}\r
+            other{"à¬\89à¬\97ାଣà­\8dଡିà­\9f à¬¶ିଲିଂ"}\r
         }\r
         USD{\r
             one{"ଯୁକ୍ତରାଷ୍ଟ୍ର ଡଲାର୍"}\r
             other{"ଯୁକ୍ତରାଷ୍ଟ୍ର ଡଲାର୍"}\r
         }\r
         UYU{\r
-            one{"à­\9fà­\81ରà­\81à¬\97à­\81à¬\86ୟାନ୍ ପେସୋ"}\r
-            other{"à­\9fà­\81ରà­\81à¬\97à­\81à¬\86ୟାନ୍ ପେସୋ"}\r
+            one{"à¬\89ରà­\81à¬\97à­\81à¬\87ୟାନ୍ ପେସୋ"}\r
+            other{"à¬\89ରà­\81à¬\97à­\81à¬\87ୟାନ୍ ପେସୋ"}\r
         }\r
         UZS{\r
-            one{"à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନିà­\9f ସୋମ୍"}\r
-            other{"à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନିà­\9f ସୋମ୍"}\r
+            one{"à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନà­\80 ସୋମ୍"}\r
+            other{"à¬\89à¬\9cବà­\87à¬\95ିସà­\8dତାନà­\80 ସୋମ୍"}\r
         }\r
         VEF{\r
             one{"ଭେନେଜୁଏଲାନ୍ ବୋଲିଭାର୍"}\r
             other{"ଭେନେଜୁଏଲାନ୍ ବୋଲିଭାର୍"}\r
         }\r
         VND{\r
-            one{"ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\82"}\r
-            other{"ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\82"}\r
+            one{"ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\99à­\8dà¬\97"}\r
+            other{"ଭà­\80à¬\8fତନାମà­\80à­\9f à¬¡à¬\99à­\8dà¬\97"}\r
         }\r
         VUV{\r
             one{"ଭାନୁଆଟୁ ଭାଟୁ"}\r
             other{"ଭାନୁଆଟୁ ଭାଟୁ"}\r
         }\r
         WST{\r
-            one{"ସମà­\8bୟ ତାଲା"}\r
-            other{"ସମà­\8bୟ ତାଲା"}\r
+            one{"ସାମà­\8bà­\9fିୟ ତାଲା"}\r
+            other{"ସାମà­\8bà­\9fିୟ ତାଲା"}\r
         }\r
         XAF{\r
-            one{"à¬\95à­\87ନà­\8dଦà­\8dରà­\80à­\9f à¬\86ଫà­\8dରିà¬\95ିà­\9f CFA ଫ୍ରାଙ୍କ୍"}\r
-            other{"à¬\95à­\87ନà­\8dଦà­\8dରà­\80à­\9f à¬\86ଫà­\8dରିà¬\95ିà­\9f CFA ଫ୍ରାଙ୍କ୍"}\r
+            one{"ମଧà­\8dà­\9f à¬\86ଫà­\8dରିà¬\95à­\80 CFA ଫ୍ରାଙ୍କ୍"}\r
+            other{"ମଧà­\8dà­\9f à¬\86ଫà­\8dରିà¬\95à­\80 CFA ଫ୍ରାଙ୍କ୍"}\r
         }\r
         XCD{\r
-            one{"ପà­\82ରà­\8dବ à¬\95ାରିବିୟ ଡଲାର୍"}\r
-            other{"ପà­\82ରà­\8dବ à¬\95ାରିବିୟ ଡଲାର୍"}\r
+            one{"ପà­\82ରà­\8dବ à¬\95ାରିବà­\80ୟ ଡଲାର୍"}\r
+            other{"ପà­\82ରà­\8dବ à¬\95ାରିବà­\80ୟ ଡଲାର୍"}\r
         }\r
         XOF{\r
             one{"ପଶ୍ଚିମ ଆଫ୍ରିକିୟ CFA ଫ୍ରାଙ୍କ୍"}\r
@@ -1336,7 +1352,7 @@ or{
             other{"CFP ଫ୍ରାଙ୍କ୍"}\r
         }\r
         XXX{\r
-            one{"(à¬\85à¬\9cଣା à¬®à­\81ଦà­\8dରା ଏକକ)"}\r
+            one{"(ମà­\81ଦà­\8dରାର à¬\85à¬\9cଣା ଏକକ)"}\r
             other{"(ଅଜଣା ମୁଦ୍ରା)"}\r
         }\r
         YER{\r
@@ -1348,13 +1364,13 @@ or{
             other{"ଦକ୍ଷିଣ ଆଫ୍ରିକିୟ ରାଣ୍ଡ୍"}\r
         }\r
         ZMW{\r
-            one{"à¬\9cମà­\8dଵିà­\9f à¬\95ୱାଚା"}\r
-            other{"à¬\9cମà­\8dଵିà­\9f à¬\95ୱାଚା"}\r
+            one{"à¬\9cାମà­\8dବà­\80à­\9f à¬\95à­\8dୱାଚା"}\r
+            other{"à¬\9cାମà­\8dବà­\80à­\9f à¬\95à­\8dୱାଚା"}\r
         }\r
     }\r
     CurrencyUnitPatterns{\r
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7ae0fcb..ca255d1 100644 (file)
@@ -65,5 +65,5 @@ os{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3f80b21..b37d4ed 100644 (file)
@@ -11,5 +11,5 @@ os_RU{
             "Сом",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fecb671..64a1510 100644 (file)
@@ -440,6 +440,10 @@ pa{
         }\r
         MRO{\r
             "MRO",\r
+            "ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ",\r
         }\r
         MUR{\r
@@ -588,6 +592,10 @@ pa{
         }\r
         STD{\r
             "STD",\r
+            "ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ",\r
         }\r
         SUR{\r
@@ -832,7 +840,7 @@ pa{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1290,6 +1298,10 @@ pa{
             other{"ਮੇਕਾਨੀ ਪਟਾਕਾ"}\r
         }\r
         MRO{\r
+            one{"ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ (1973–2017)"}\r
+            other{"ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ"}\r
             other{"ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ"}\r
         }\r
@@ -1438,6 +1450,10 @@ pa{
             other{"ਦੱਖਣੀ ਸੂਡਾਨੀ ਪੌਂਡ"}\r
         }\r
         STD{\r
+            one{"ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ (1977–2017)"}\r
+            other{"ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ"}\r
             other{"ਸਾਉ ਟੋਮੀ ਐਂਡ ਪ੍ਰਿੰਸਪੀ ਡੋਬਰਾ"}\r
         }\r
@@ -1590,5 +1606,5 @@ pa{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e30f118..8343bbe 100644 (file)
@@ -16,5 +16,5 @@ pa_Arab{
             "روپئیہ",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b48d637..612ce29 100644 (file)
@@ -596,6 +596,10 @@ pl{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya mauretańska (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya mauretańska",\r
         }\r
         MTL{\r
@@ -820,6 +824,10 @@ pl{
         }\r
         STD{\r
             "STD",\r
+            "dobra Wysp Świętego Tomasza i Książęcej (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra Wysp Świętego Tomasza i Książęcej",\r
         }\r
         SUR{\r
@@ -1139,7 +1147,7 @@ pl{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1815,6 +1823,12 @@ pl{
             other{"pataca Makau"}\r
         }\r
         MRO{\r
+            few{"ouguiya mauretańskie (1973–2017)"}\r
+            many{"ouguiya mauretańskich (1973–2017)"}\r
+            one{"ouguiya mauretańska (1973–2017)"}\r
+            other{"ouguiya mauretańskiej (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya mauretańskie"}\r
             many{"ouguiya mauretańskich"}\r
             one{"ouguiya mauretańska"}\r
@@ -2085,6 +2099,12 @@ pl{
             other{"funta południowosudańskiego"}\r
         }\r
         STD{\r
+            few{"dobry Wysp Świętego Tomasza i Książęcej (1977–2017)"}\r
+            many{"dobr Wysp Świętego Tomasza i Książęcej (1977–2017)"}\r
+            one{"dobra Wysp Świętego Tomasza i Książęcej (1977–2017)"}\r
+            other{"dobry Wysp Świętego Tomasza i Książęcej (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobry Wysp Świętego Tomasza i Książęcej"}\r
             many{"dobr Wysp Świętego Tomasza i Książęcej"}\r
             one{"dobra Wysp Świętego Tomasza i Książęcej"}\r
@@ -2301,5 +2321,5 @@ pl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
 }\r
index c4171a8..3001bd9 100644 (file)
Binary files a/source/data/curr/pool.res and b/source/data/curr/pool.res differ
index 10d2a84..f4715bf 100644 (file)
@@ -370,6 +370,10 @@ ps{
             "MRO",\r
             "MRO",\r
         }\r
+        MRU{\r
+            "MRU",\r
+            "MRU",\r
+        }\r
         MUR{\r
             "MUR",\r
             "MUR",\r
@@ -518,6 +522,10 @@ ps{
             "STD",\r
             "STD",\r
         }\r
+        STN{\r
+            "STN",\r
+            "STN",\r
+        }\r
         SYP{\r
             "SYP",\r
             "SYP",\r
@@ -711,7 +719,7 @@ ps{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1099,6 +1107,10 @@ ps{
             one{"MRO"}\r
             other{"MRO"}\r
         }\r
+        MRU{\r
+            one{"MRU"}\r
+            other{"MRU"}\r
+        }\r
         MUR{\r
             one{"MUR"}\r
             other{"MUR"}\r
@@ -1247,6 +1259,10 @@ ps{
             one{"STD"}\r
             other{"STD"}\r
         }\r
+        STN{\r
+            one{"STN"}\r
+            other{"STN"}\r
+        }\r
         SYP{\r
             one{"SYP"}\r
             other{"SYP"}\r
@@ -1360,5 +1376,5 @@ ps{
             other{"ZMW"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index eaa4e27..f75df50 100644 (file)
@@ -684,6 +684,10 @@ pt{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya mauritana (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya mauritana",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ pt{
         }\r
         STD{\r
             "STD",\r
+            "Dobra de São Tomé e Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra de São Tomé e Príncipe",\r
         }\r
         SUR{\r
@@ -1267,7 +1275,7 @@ pt{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1969,6 +1977,10 @@ pt{
             other{"Patacas macaenses"}\r
         }\r
         MRO{\r
+            one{"Ouguiya mauritana (1973–2017)"}\r
+            other{"Ouguiyas mauritanas (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Ouguiya mauritana"}\r
             other{"Ouguiyas mauritanas"}\r
         }\r
@@ -2197,6 +2209,10 @@ pt{
             other{"Libras sul-sudanesas"}\r
         }\r
         STD{\r
+            one{"Dobra de São Tomé e Príncipe (1977–2017)"}\r
+            other{"Dobras de São Tomé e Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"Dobra de São Tomé e Príncipe"}\r
             other{"Dobras de São Tomé e Príncipe"}\r
         }\r
@@ -2477,5 +2493,5 @@ pt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 2c946f4..8bc1b6a 100644 (file)
@@ -8,5 +8,5 @@ pt_AO{
             "Kwanza angolano",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e57acab..037d522 100644 (file)
@@ -17,5 +17,5 @@ pt_CV{
             "Escudo português",\r
         }\r
     }\r
-    Version{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
 }\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f4cd124..0a9b33f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e2797cb..209ddaa 100644 (file)
@@ -8,5 +8,5 @@ pt_LU{
             "Franco luxemburguês",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6838025..f6c8340 100644 (file)
@@ -8,5 +8,5 @@ pt_MO{
             "Pataca de Macau",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b8f9c6e..dab5ae5 100644 (file)
@@ -8,5 +8,5 @@ pt_MZ{
             "Metical de Moçambique",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5941e09..34eaa59 100644 (file)
@@ -288,6 +288,10 @@ pt_PT{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya da Mauritânia (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya da Mauritânia",\r
         }\r
         MVR{\r
@@ -403,6 +407,10 @@ pt_PT{
             "SRD",\r
             "dólar do Suriname",\r
         }\r
+        STN{\r
+            "STN",\r
+            "São Tomé & Príncipe Dobra (2018)",\r
+        }\r
         SZL{\r
             "SZL",\r
             "Lilangeni da Suazilândia",\r
@@ -746,6 +754,10 @@ pt_PT{
             other{"Patacas de Macau"}\r
         }\r
         MRO{\r
+            one{"Ouguiya da Mauritânia (1973–2017)"}\r
+            other{"Ouguiyas da Mauritânia (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Ouguiya da Mauritânia"}\r
             other{"Ouguiyas da Mauritânia"}\r
         }\r
@@ -849,6 +861,10 @@ pt_PT{
             one{"dólar do Suriname"}\r
             other{"dólares do Suriname"}\r
         }\r
+        STN{\r
+            one{"São Tomé & Príncipe dobra (2018)"}\r
+            other{"São Tomé & Príncipe dobras (2018)"}\r
+        }\r
         SZL{\r
             one{"Lilangeni da Suazilândia"}\r
             other{"Lilangenis da Suazilândia"}\r
@@ -922,5 +938,5 @@ pt_PT{
             other{"Kwachas zambianos (1968–2012)"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c86713d..49f4bf9 100644 (file)
@@ -3,10 +3,10 @@
 pt_ST{\r
     %%Parent{"pt_PT"}\r
     Currencies{\r
-        STD{\r
+        STN{\r
             "Db",\r
-            "Dobra de São Tomé e Príncipe",\r
+            "São Tomé & Príncipe Dobra (2018)",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b8cb201..bc44bb6 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9b69b3b..a605577 100644 (file)
@@ -10,5 +10,5 @@ qu{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 3fb8817..8ac1a9e 100644 (file)
@@ -11,5 +11,5 @@ qu_BO{
             "PEN",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8e6e49e..d8938b6 100644 (file)
@@ -11,5 +11,5 @@ qu_EC{
             "USD",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2b4cb9d..8ca22e8 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-CURR_CLDR_VERSION = 32.0.1\r
+CURR_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index a78148d..a22f9db 100644 (file)
@@ -672,6 +672,10 @@ rm{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya da la Mauretania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya da la Mauretania",\r
         }\r
         MTL{\r
@@ -900,6 +904,10 @@ rm{
         }\r
         STD{\r
             "STD",\r
+            "dobra da São Tomé e Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra da São Tomé e Principe",\r
         }\r
         SUR{\r
@@ -1265,5 +1273,5 @@ rm{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fa0459d..a8da941 100644 (file)
@@ -124,6 +124,10 @@ rn{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ryo muri Moritaniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ryo muri Moritaniya",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ rn{
         }\r
         STD{\r
             "STD",\r
+            "Idobura ryo muri Sawotome na Perensipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Idobura ryo muri Sawotome na Perensipe",\r
         }\r
         SZL{\r
@@ -215,5 +223,5 @@ rn{
             "Idolari ryo muri Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a24f7a4..b03c30b 100644 (file)
@@ -532,6 +532,10 @@ ro{
         }\r
         MRO{\r
             "MRO",\r
+            "ouguiya mauritană (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ouguiya mauritană",\r
         }\r
         MTL{\r
@@ -744,6 +748,10 @@ ro{
         }\r
         STD{\r
             "STD",\r
+            "dobra Sao Tome și Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dobra Sao Tome și Principe",\r
         }\r
         SUR{\r
@@ -1075,7 +1083,7 @@ ro{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1707,6 +1715,11 @@ ro{
             other{"pataca din Macao"}\r
         }\r
         MRO{\r
+            few{"ouguiya mauritane (1973–2017)"}\r
+            one{"ouguiya mauritană (1973–2017)"}\r
+            other{"ouguiya mauritane (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"ouguiya mauritane"}\r
             one{"ouguiya mauritană"}\r
             other{"ouguiya mauritane"}\r
@@ -1952,6 +1965,11 @@ ro{
             other{"lire din Sudanul de Sud"}\r
         }\r
         STD{\r
+            few{"dobre Sao Tome și Principe (1977–2017)"}\r
+            one{"dobra Sao Tome și Principe (1977–2017)"}\r
+            other{"dobre Sao Tome și Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"dobre Sao Tome și Principe"}\r
             one{"dobra Sao Tome și Principe"}\r
             other{"dobre Sao Tome și Principe"}\r
@@ -2197,5 +2215,5 @@ ro{
         one{"{0} {1}"}\r
         other{"{0} de {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index d1d4189..0f968cd 100644 (file)
@@ -7,5 +7,5 @@ ro_MD{
             "leu moldovenesc",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4492bf0..6a99f8a 100644 (file)
@@ -124,6 +124,10 @@ rof{
         }\r
         MRO{\r
             "MRO",\r
+            "heleri sa Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "heleri sa Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ rof{
         }\r
         STD{\r
             "STD",\r
+            "heleri sa Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "heleri sa Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ rof{
             "heleri sa Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7505a05..2a60a38 100644 (file)
@@ -170,7 +170,7 @@ root{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -192,7 +192,7 @@ root{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
     currencySpacing{\r
         afterCurrency{\r
             currencyMatch{"[:^S:]"}\r
index 0501217..7fcf189 100644 (file)
@@ -616,6 +616,10 @@ ru{
         }\r
         MRO{\r
             "MRO",\r
+            "мавританская угия (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "мавританская угия",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ ru{
         }\r
         STD{\r
             "STD",\r
+            "добра Сан-Томе и Принсипи (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "добра Сан-Томе и Принсипи",\r
         }\r
         SUR{\r
@@ -1187,7 +1195,7 @@ ru{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1786,6 +1794,12 @@ ru{
             other{"патаки Макао"}\r
         }\r
         MRO{\r
+            few{"мавританские угии (1973–2017)"}\r
+            many{"мавританских угий (1973–2017)"}\r
+            one{"мавританская угия (1973–2017)"}\r
+            other{"мавританской угии (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"мавританские угии"}\r
             many{"мавританских угий"}\r
             one{"мавританская угия"}\r
@@ -2014,6 +2028,12 @@ ru{
             other{"южносуданского фунта"}\r
         }\r
         STD{\r
+            few{"добры Сан-Томе и Принсипи (1977–2017)"}\r
+            many{"добр Сан-Томе и Принсипи (1977–2017)"}\r
+            one{"добра Сан-Томе и Принсипи (1977–2017)"}\r
+            other{"добры Сан-Томе и Принсипи (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"добры Сан-Томе и Принсипи"}\r
             many{"добр Сан-Томе и Принсипи"}\r
             one{"добра Сан-Томе и Принсипи"}\r
@@ -2206,5 +2226,5 @@ ru{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
 }\r
index b4615ef..00247f4 100644 (file)
@@ -14,5 +14,5 @@ ru_BY{
     Currencies%narrow{\r
         BYN{"Br"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c2c76b4..ba7654b 100644 (file)
@@ -7,5 +7,5 @@ ru_KG{
             "киргизский сом",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 97150e1..529b080 100644 (file)
@@ -7,5 +7,5 @@ ru_KZ{
             "казахский тенге",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6cce466..cd01644 100644 (file)
@@ -7,5 +7,5 @@ ru_MD{
             "молдавский лей",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa2392b..813c60f 100644 (file)
@@ -10,5 +10,5 @@ rw{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 01315b5..089cb2e 100644 (file)
@@ -124,6 +124,10 @@ rwk{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ rwk{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ rwk{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30b5483..41870a8 100644 (file)
@@ -25,5 +25,5 @@ sah{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2e392d2..100a40c 100644 (file)
@@ -124,6 +124,10 @@ saq{
         }\r
         MRO{\r
             "MRO",\r
+            "Njilingi eel Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Njilingi eel Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ saq{
         }\r
         STD{\r
             "STD",\r
+            "Njilingi eel Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Njilingi eel Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ saq{
             "Dola eel Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 82fa619..93dbaad 100644 (file)
@@ -124,6 +124,10 @@ sbp{
         }\r
         MRO{\r
             "MRO",\r
+            "Ihela ya Molitaniya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ihela ya Molitaniya",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ sbp{
         }\r
         STD{\r
             "STD",\r
+            "Ihela ya Sao Tome ni Pilinsipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Ihela ya Sao Tome ni Pilinsipe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ sbp{
             "Ihela ya Simbabwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 683bca8..c35733e 100644 (file)
@@ -73,5 +73,5 @@ se{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 20c9078..83cfd2f 100644 (file)
@@ -11,5 +11,5 @@ se_SE{
             "ruoŧŧa kruvdno",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 239411b..8766c6f 100644 (file)
@@ -124,6 +124,10 @@ seh{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya da Mauritânia (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya da Mauritânia",\r
         }\r
         MUR{\r
@@ -184,6 +188,10 @@ seh{
         }\r
         STD{\r
             "STD",\r
+            "Dobra de São Tomé e Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra de São Tomé e Príncipe",\r
         }\r
         SZL{\r
@@ -231,5 +239,5 @@ seh{
             "Dólar do Zimbábue",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index aa53958..0d82207 100644 (file)
@@ -124,6 +124,10 @@ ses{
         }\r
         MRO{\r
             "MRO",\r
+            "Mooritaani Ugiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mooritaani Ugiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ ses{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome nda Prinsipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome nda Prinsipe Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ ses{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8eb7e3a..cd9d6e3 100644 (file)
@@ -124,6 +124,10 @@ sg{
         }\r
         MRO{\r
             "MRO",\r
+            "ugîya tî Moritanïi (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ugîya tî Moritanïi",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ sg{
         }\r
         STD{\r
             "STD",\r
+            "dôbra tî Sâô Tomë na Prinsîpe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "dôbra tî Sâô Tomë na Prinsîpe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ sg{
             "dolära tî Zimbäbwe",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b464c1c..60a8357 100644 (file)
@@ -124,6 +124,10 @@ shi{
         }\r
         MRO{\r
             "MRO",\r
+            "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ shi{
         }\r
         STD{\r
             "STD",\r
+            "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ shi{
             "ⴰⴷⵓⵍⴰⵔ ⵏ ⵣⵉⵎⴱⴰⴱⵡⵉ",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e24c1d0..974acf7 100644 (file)
@@ -125,6 +125,10 @@ shi_Latn{
         }\r
         MRO{\r
             "MRO",\r
+            "uqiyya n muṛiṭanya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "uqiyya n muṛiṭanya",\r
         }\r
         MUR{\r
@@ -181,6 +185,10 @@ shi_Latn{
         }\r
         STD{\r
             "STD",\r
+            "adubra n sanṭumi (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "adubra n sanṭumi",\r
         }\r
         SZL{\r
@@ -228,5 +236,5 @@ shi_Latn{
             "adular n zimbabwi",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cfc4433..0a9d51d 100644 (file)
@@ -376,6 +376,10 @@ si{
         }\r
         MRO{\r
             "MRO",\r
+            "මුරුසි ඔයිගුයියා (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "මුරුසි ඔයිගුයියා",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ si{
         }\r
         STD{\r
             "STD",\r
+            "සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා",\r
         }\r
         SYP{\r
@@ -722,7 +730,7 @@ si{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1113,6 +1121,10 @@ si{
             other{"මැකනීස් පටකා"}\r
         }\r
         MRO{\r
+            one{"මුරුසි ඔයිගුයියා (1973–2017)"}\r
+            other{"මුරුසි ඔයිගුයියා (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"මුරුසි ඔයිගුයියා"}\r
             other{"මුරුසි ඔයිගුයියා"}\r
         }\r
@@ -1261,6 +1273,10 @@ si{
             other{"දකුණු සුඩාන පවුම්"}\r
         }\r
         STD{\r
+            one{"සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා (1977–2017)"}\r
+            other{"සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා"}\r
             other{"සාඕ තෝම් සහ ප්‍රින්සිප් දොබ්‍රා"}\r
         }\r
@@ -1381,5 +1397,5 @@ si{
         one{"{1}{0}"}\r
         other{"{1}{0}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e44afb8..fe58789 100644 (file)
@@ -684,6 +684,10 @@ sk{
         }\r
         MRO{\r
             "MRO",\r
+            "mauritánska ukija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauritánska ukija",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ sk{
         }\r
         STD{\r
             "STD",\r
+            "svätotomášska dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "svätotomášska dobra",\r
         }\r
         SUR{\r
@@ -1283,7 +1291,7 @@ sk{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2326,6 +2334,12 @@ sk{
             other{"macajských patác"}\r
         }\r
         MRO{\r
+            few{"mauritánske ukije (1973–2017)"}\r
+            many{"mauritánskej ukije (1973–2017)"}\r
+            one{"mauritánska ukija (1973–2017)"}\r
+            other{"mauritánskych ukijí (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauritánske ukije"}\r
             many{"mauritánskej ukije"}\r
             one{"mauritánska ukija"}\r
@@ -2674,6 +2688,12 @@ sk{
             other{"juhosudánskych libier"}\r
         }\r
         STD{\r
+            few{"svätotomášske dobry (1977–2017)"}\r
+            many{"svätotomášskej dobry (1977–2017)"}\r
+            one{"svätotomášska dobra (1977–2017)"}\r
+            other{"svätotomášskych dobier (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"svätotomášske dobry"}\r
             many{"svätotomášskej dobry"}\r
             one{"svätotomášska dobra"}\r
@@ -3106,5 +3126,5 @@ sk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 159a956..f23d6be 100644 (file)
@@ -616,6 +616,10 @@ sl{
         }\r
         MRO{\r
             "MRO",\r
+            "mavretanska uguija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mavretanska uguija",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ sl{
         }\r
         STD{\r
             "STD",\r
+            "saotomejska dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "saotomejska dobra",\r
         }\r
         SUR{\r
@@ -1179,7 +1187,7 @@ sl{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1759,6 +1767,12 @@ sl{
             two{"makavski pataki"}\r
         }\r
         MRO{\r
+            few{"mavretanske uguije (1973–2017)"}\r
+            one{"mavretanska uguija (1973–2017)"}\r
+            other{"mavretanskih uguij (1973–2017)"}\r
+            two{"mavretanski uguiji (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mavretanske uguije"}\r
             one{"mavretanska uguija"}\r
             other{"mavretanskih uguij"}\r
@@ -1987,6 +2001,12 @@ sl{
             two{"južnosudanska funta"}\r
         }\r
         STD{\r
+            few{"saotomejske dobre (1977–2017)"}\r
+            one{"saotomejska dobra (1977–2017)"}\r
+            other{"saotomejskih dober (1977–2017)"}\r
+            two{"saotomejski dobri (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"saotomejske dobre"}\r
             one{"saotomejska dobra"}\r
             other{"saotomejskih dober"}\r
@@ -2167,5 +2187,5 @@ sl{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a522d5c..d361f87 100644 (file)
@@ -40,5 +40,5 @@ smn{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index de8bb8f..f3bb8be 100644 (file)
@@ -124,6 +124,10 @@ sn{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ye Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ye Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ sn{
         }\r
         STD{\r
             "STD",\r
+            "Dobra re Sao Tome ne Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra re Sao Tome ne Principe",\r
         }\r
         SZL{\r
@@ -231,5 +239,5 @@ sn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 300c63b..9400703 100644 (file)
@@ -35,5 +35,5 @@ so{
             "Lacag aan la qoon ama aan saxnayn",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8b18362..f358136 100644 (file)
@@ -7,5 +7,5 @@ so_DJ{
             "Faran Jabbuuti",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 87c7c4a..8557f42 100644 (file)
@@ -7,5 +7,5 @@ so_ET{
             "Birta Itoobbiya",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 20a5f43..0fa6a39 100644 (file)
@@ -7,5 +7,5 @@ so_KE{
             "KES",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12432e3..a84e748 100644 (file)
@@ -40,7 +40,7 @@ sq{
         }\r
         AZN{\r
             "AZN",\r
-            "Manata e Azerbajxhanit",\r
+            "Manata azerbajxhanase",\r
         }\r
         BAM{\r
             "BAM",\r
@@ -124,7 +124,7 @@ sq{
         }\r
         CNH{\r
             "CNH",\r
-            "Juani kinez (tregu i jashtëm)",\r
+            "Juani kinez (për treg të jashtëm)",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -152,7 +152,7 @@ sq{
         }\r
         CZK{\r
             "CZK",\r
-            "Koruna e Republikës Çeke",\r
+            "Koruna e Çekisë",\r
         }\r
         DJF{\r
             "DJF",\r
@@ -172,7 +172,7 @@ sq{
         }\r
         EGP{\r
             "EGP",\r
-            "Stërlina egjiptiane",\r
+            "Sterlina egjiptiane",\r
         }\r
         ERN{\r
             "ERN",\r
@@ -376,6 +376,10 @@ sq{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugija mauritane (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugija mauritane",\r
         }\r
         MUR{\r
@@ -492,7 +496,7 @@ sq{
         }\r
         SDG{\r
             "SDG",\r
-            "Stërlina sudaneze",\r
+            "Sterlina sudaneze",\r
         }\r
         SEK{\r
             "SEK",\r
@@ -504,7 +508,7 @@ sq{
         }\r
         SHP{\r
             "SHP",\r
-            "Stërlina e Ishullit të Shën-Helenës",\r
+            "Sterlina e Ishullit të Shën-Helenës",\r
         }\r
         SLL{\r
             "SLL",\r
@@ -520,10 +524,14 @@ sq{
         }\r
         SSP{\r
             "SSP",\r
-            "Stërlina e Sudanit të Jugut",\r
+            "Sterlina sudanezo-jugore",\r
         }\r
         STD{\r
             "STD",\r
+            "Dobra e Sao-Tomes dhe Prinsipes (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra e Sao-Tomes dhe Prinsipes",\r
         }\r
         SYP{\r
@@ -681,8 +689,8 @@ sq{
             other{"florinë aruban"}\r
         }\r
         AZN{\r
-            one{"manatë azere"}\r
-            other{"manata azere"}\r
+            one{"manatë azerbajxhanase"}\r
+            other{"manata azerbajxhanase"}\r
         }\r
         BAM{\r
             one{"markë e Bosnjë-Hercegovinës [e shkëmbyeshme]"}\r
@@ -765,8 +773,8 @@ sq{
             other{"peso kiliane"}\r
         }\r
         CNH{\r
-            one{"juan kinez (tregu i jashtëm)"}\r
-            other{"juanë kinez (tregu i jashtëm)"}\r
+            one{"juan kinez (për treg të jashtëm)"}\r
+            other{"juanë kinez (për treg të jashtëm)"}\r
         }\r
         CNY{\r
             one{"juan kinez"}\r
@@ -813,8 +821,8 @@ sq{
             other{"dinarë algjerian"}\r
         }\r
         EGP{\r
-            one{"stërlinë egjiptiane"}\r
-            other{"stërlina egjiptiane"}\r
+            one{"sterlinë egjiptiane"}\r
+            other{"sterlina egjiptiane"}\r
         }\r
         ERN{\r
             one{"nakfë eritreje"}\r
@@ -1017,6 +1025,10 @@ sq{
             other{"pataka të Makaos"}\r
         }\r
         MRO{\r
+            one{"ugijë mauritane (1973–2017)"}\r
+            other{"ugija mauritane (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ugijë mauritane"}\r
             other{"ugija mauritane"}\r
         }\r
@@ -1133,8 +1145,8 @@ sq{
             other{"rupi të Ishujve Sishelë"}\r
         }\r
         SDG{\r
-            one{"stërlinë sudaneze"}\r
-            other{"stërlina sudaneze"}\r
+            one{"sterlinë sudaneze"}\r
+            other{"sterlina sudaneze"}\r
         }\r
         SEK{\r
             one{"koronë suedeze"}\r
@@ -1145,8 +1157,8 @@ sq{
             other{"dollarë singapori"}\r
         }\r
         SHP{\r
-            one{"stërlinë e Ishullit të Shën-Helenës"}\r
-            other{"stërlina të Ishullit të Shën-Helenës"}\r
+            one{"sterlinë e Ishullit të Shën-Helenës"}\r
+            other{"sterlina e Ishullit të Shën-Helenës"}\r
         }\r
         SLL{\r
             one{"leon i Sierra-Leones"}\r
@@ -1161,10 +1173,14 @@ sq{
             other{"dollarë surinamez"}\r
         }\r
         SSP{\r
-            one{"stërlinë e Sudanit të Jugut"}\r
-            other{"stërlina të Sudanit të Jugut"}\r
+            one{"sterlinë sudanezo-jugore"}\r
+            other{"sterlina sudanezo-jugore"}\r
         }\r
         STD{\r
+            one{"dobër e Sao-Tomes dhe Prinsipes (1977–2017)"}\r
+            other{"dobra të Sao-Tomes dhe Prinsipes (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobër e Sao-Tomes dhe Prinsipes"}\r
             other{"dobra të Sao-Tomes dhe Prinsipes"}\r
         }\r
@@ -1285,5 +1301,5 @@ sq{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f5039be..e45c0db 100644 (file)
@@ -7,5 +7,5 @@ sq_MK{
             "Denari maqedonas",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c790ae7..0bb4c97 100644 (file)
@@ -624,6 +624,10 @@ sr{
         }\r
         MRO{\r
             "MRO",\r
+            "Мауританијска oгија (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Мауританијска oгија",\r
         }\r
         MTL{\r
@@ -764,11 +768,11 @@ sr{
         }\r
         ROL{\r
             "ROL",\r
-            "Румунски леј",\r
+            "Румунски леј (1952–2006)",\r
         }\r
         RON{\r
             "RON",\r
-            "Румунски леј (1952–2006)",\r
+            "Румунски леј",\r
         }\r
         RSD{\r
             "RSD",\r
@@ -852,6 +856,10 @@ sr{
         }\r
         STD{\r
             "STD",\r
+            "Саотомска добра (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Саотомска добра",\r
         }\r
         SUR{\r
@@ -1203,7 +1211,7 @@ sr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2000,6 +2008,11 @@ sr{
             other{"макаоских патака"}\r
         }\r
         MRO{\r
+            few{"мауританијскe oгијe (1973–2017)"}\r
+            one{"мауританијска oгија (1973–2017)"}\r
+            other{"мауританијских oгијa (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"мауританијскe oгијe"}\r
             one{"мауританијска oгија"}\r
             other{"мауританијских oгијa"}\r
@@ -2175,15 +2188,15 @@ sr{
             other{"родежанских долара"}\r
         }\r
         ROL{\r
-            few{"румунскa леја"}\r
-            one{"румунски леј"}\r
-            other{"румунских леја"}\r
-        }\r
-        RON{\r
             few{"румунскa леја (1952–2006)"}\r
             one{"румунски леј (1952–2006)"}\r
             other{"румунских леја (1952–2006)"}\r
         }\r
+        RON{\r
+            few{"румунскa леја"}\r
+            one{"румунски леј"}\r
+            other{"румунских леја"}\r
+        }\r
         RSD{\r
             few{"српска динара"}\r
             one{"српски динар"}\r
@@ -2285,6 +2298,11 @@ sr{
             other{"јужносуданских фунти"}\r
         }\r
         STD{\r
+            few{"саотомске добре (1977–2017)"}\r
+            one{"саотомска добра (1977–2017)"}\r
+            other{"саотомских добри (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"саотомске добре"}\r
             one{"саотомска добра"}\r
             other{"саотомских добри"}\r
@@ -2630,5 +2648,5 @@ sr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9a6d7aa..34c5bb9 100644 (file)
@@ -625,6 +625,10 @@ sr_Latn{
         }\r
         MRO{\r
             "MRO",\r
+            "Mauritanijska ogija (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mauritanijska ogija",\r
         }\r
         MTL{\r
@@ -765,11 +769,11 @@ sr_Latn{
         }\r
         ROL{\r
             "ROL",\r
-            "Rumunski lej",\r
+            "Rumunski lej (1952–2006)",\r
         }\r
         RON{\r
             "RON",\r
-            "Rumunski lej (1952–2006)",\r
+            "Rumunski lej",\r
         }\r
         RSD{\r
             "RSD",\r
@@ -853,6 +857,10 @@ sr_Latn{
         }\r
         STD{\r
             "STD",\r
+            "Saotomska dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Saotomska dobra",\r
         }\r
         SUR{\r
@@ -1204,7 +1212,7 @@ sr_Latn{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -2001,6 +2009,11 @@ sr_Latn{
             other{"makaoskih pataka"}\r
         }\r
         MRO{\r
+            few{"mauritanijske ogije (1973–2017)"}\r
+            one{"mauritanijska ogija (1973–2017)"}\r
+            other{"mauritanijskih ogija (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"mauritanijske ogije"}\r
             one{"mauritanijska ogija"}\r
             other{"mauritanijskih ogija"}\r
@@ -2176,15 +2189,15 @@ sr_Latn{
             other{"rodežanskih dolara"}\r
         }\r
         ROL{\r
-            few{"rumunska leja"}\r
-            one{"rumunski lej"}\r
-            other{"rumunskih leja"}\r
-        }\r
-        RON{\r
             few{"rumunska leja (1952–2006)"}\r
             one{"rumunski lej (1952–2006)"}\r
             other{"rumunskih leja (1952–2006)"}\r
         }\r
+        RON{\r
+            few{"rumunska leja"}\r
+            one{"rumunski lej"}\r
+            other{"rumunskih leja"}\r
+        }\r
         RSD{\r
             few{"srpska dinara"}\r
             one{"srpski dinar"}\r
@@ -2286,6 +2299,11 @@ sr_Latn{
             other{"južnosudanskih funti"}\r
         }\r
         STD{\r
+            few{"saotomske dobre (1977–2017)"}\r
+            one{"saotomska dobra (1977–2017)"}\r
+            other{"saotomskih dobri (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"saotomske dobre"}\r
             one{"saotomska dobra"}\r
             other{"saotomskih dobri"}\r
@@ -2631,5 +2649,5 @@ sr_Latn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
 }\r
index 906db5e..4ff0f4b 100644 (file)
@@ -2854,10 +2854,21 @@ supplementalData:table(nofallback){
         MR{\r
             {\r
                 from:intvector{\r
+                    352,\r
+                    -1358655488,\r
+                }\r
+                id{"MRU"}\r
+            }\r
+            {\r
+                from:intvector{\r
                     25,\r
                     -1509149696,\r
                 }\r
                 id{"MRO"}\r
+                to:intvector{\r
+                    356,\r
+                    1394842623,\r
+                }\r
             }\r
             {\r
                 from:intvector{\r
index 2a03409..451323d 100644 (file)
@@ -684,6 +684,10 @@ sv{
         }\r
         MRO{\r
             "MRO",\r
+            "mauretansk ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "mauretansk ouguiya",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ sv{
         }\r
         STD{\r
             "STD",\r
+            "saotomeansk dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "saotomeansk dobra",\r
         }\r
         SUR{\r
@@ -1280,7 +1288,7 @@ sv{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1982,6 +1990,10 @@ sv{
             other{"makanesiska pataca"}\r
         }\r
         MRO{\r
+            one{"mauretansk ouguiya (1973–2017)"}\r
+            other{"mauretanska ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"mauretansk ouguiya"}\r
             other{"mauretanska ouguiya"}\r
         }\r
@@ -2214,6 +2226,10 @@ sv{
             other{"sydsudanesiska pund"}\r
         }\r
         STD{\r
+            one{"saotomeansk dobra (1977–2017)"}\r
+            other{"saotomeanska dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"saotomeansk dobra"}\r
             other{"saotomeanska dobra"}\r
         }\r
@@ -2502,5 +2518,5 @@ sv{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 2e33b15..97a328a 100644 (file)
@@ -388,6 +388,10 @@ sw{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya ya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya ya Mauritania",\r
         }\r
         MUR{\r
@@ -544,6 +548,10 @@ sw{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SYP{\r
@@ -747,7 +755,7 @@ sw{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1141,6 +1149,10 @@ sw{
             other{"pataca za Macau"}\r
         }\r
         MRO{\r
+            one{"ouguiya ya Mauritania (1973–2017)"}\r
+            other{"ouguiya za Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ouguiya ya Mauritania"}\r
             other{"ouguiya za Mauritania"}\r
         }\r
@@ -1297,6 +1309,10 @@ sw{
             other{"pauni za Sudan Kusini"}\r
         }\r
         STD{\r
+            one{"dobra ya Sao Tome na Principe (1977–2017)"}\r
+            other{"dobra za Sao Tome na Principe (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"dobra ya Sao Tome na Principe"}\r
             other{"dobra za Sao Tome na Principe"}\r
         }\r
@@ -1417,5 +1433,5 @@ sw{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9922715..86ba63b 100644 (file)
@@ -24,6 +24,10 @@ sw_CD{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         SCR{\r
@@ -39,5 +43,5 @@ sw_CD{
             "Faranga CFA BCEAO",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 64f7fd3..948ee34 100644 (file)
@@ -7,5 +7,5 @@ sw_UG{
             "Shilingi ya Uganda",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7febb6b..a601a1b 100644 (file)
@@ -380,6 +380,10 @@ ta{
         }\r
         MRO{\r
             "MRO",\r
+            "மொரிஷானியன் ஒகுயா (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "மொரிஷானியன் ஒகுயா",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ ta{
         }\r
         STD{\r
             "STD",\r
+            "சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ரா (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ரா",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ ta{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1121,6 +1129,10 @@ ta{
             other{"மெகனீஸ் படாகாக்கள்"}\r
         }\r
         MRO{\r
+            one{"மொரிஷானியன் ஒகுயா (1973–2017)"}\r
+            other{"மொரிஷானியன் ஒகுயாக்கள் (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"மொரிஷானியன் ஒகுயா"}\r
             other{"மொரிஷானியன் ஒகுயாக்கள்"}\r
         }\r
@@ -1269,6 +1281,10 @@ ta{
             other{"தெற்கு சூடானீஸ் பவுண்டுகள்"}\r
         }\r
         STD{\r
+            one{"சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ரா (1977–2017)"}\r
+            other{"சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ராக்கள் (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ரா"}\r
             other{"சாவ் டோமி மற்றும் பிரின்ஸ்பி டோப்ராக்கள்"}\r
         }\r
@@ -1389,5 +1405,5 @@ ta{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ec2c52e..8b70ec3 100644 (file)
@@ -7,5 +7,5 @@ ta_LK{
             "இலங்கை ரூபாய்",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8181993..4f719ac 100644 (file)
@@ -11,5 +11,5 @@ ta_MY{
             "சிங்கப்பூர் டாலர்",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 016265c..0fb9c57 100644 (file)
@@ -15,5 +15,5 @@ ta_SG{
             "அமெரிக்க டாலர்",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f5b8812..ac1b841 100644 (file)
@@ -380,6 +380,10 @@ te{
         }\r
         MRO{\r
             "MRO",\r
+            "మౌరిటానియన్ ఒగ్యియా (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "మౌరిటానియన్ ఒగ్యియా",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ te{
         }\r
         STD{\r
             "STD",\r
+            "సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రా (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రా",\r
         }\r
         SYP{\r
@@ -727,7 +735,7 @@ te{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1121,6 +1129,10 @@ te{
             other{"మకనీస్ పటాకాలు"}\r
         }\r
         MRO{\r
+            one{"మౌరిటానియన్ ఒగ్యియా (1973–2017)"}\r
+            other{"మౌరిటానియన్ ఒగ్యియాలు (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"మౌరిటానియన్ ఒగ్యియా"}\r
             other{"మౌరిటానియన్ ఒగ్యియాలు"}\r
         }\r
@@ -1269,6 +1281,10 @@ te{
             other{"దక్షిణ సుడానీస్ పౌండ్‌లు"}\r
         }\r
         STD{\r
+            one{"సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రా (1977–2017)"}\r
+            other{"సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రాలు (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రా"}\r
             other{"సావో టోమ్ మరియు ప్రిన్సిపి డోబ్రాలు"}\r
         }\r
@@ -1389,5 +1405,5 @@ te{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 13e1af3..00de023 100644 (file)
@@ -124,6 +124,10 @@ teo{
         }\r
         MRO{\r
             "MRO",\r
+            "Ango’otol lok’ Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ango’otol lok’ Moritania",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ teo{
         }\r
         STD{\r
             "STD",\r
+            "Ango’otol lok’ Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Ango’otol lok’ Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ teo{
             "Edola lok’Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 074c930..2f3dfaa 100644 (file)
@@ -7,5 +7,5 @@ teo_KE{
             "Ango’otol lok’ Kenya",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9e99a76..f8d6a9b 100644 (file)
@@ -88,5 +88,5 @@ tg{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
 }\r
index f664b75..1afdd37 100644 (file)
@@ -668,6 +668,10 @@ th{
         }\r
         MRO{\r
             "MRO",\r
+            "อูกียามอริเตเนีย (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "อูกียามอริเตเนีย",\r
         }\r
         MTL{\r
@@ -896,6 +900,10 @@ th{
         }\r
         STD{\r
             "STD",\r
+            "ดอบราเซาตูเมและปรินซิปี (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ดอบราเซาตูเมและปรินซิปี",\r
         }\r
         SUR{\r
@@ -1259,7 +1267,7 @@ th{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1561,6 +1569,9 @@ th{
             other{"ปาตากามาเก๊า"}\r
         }\r
         MRO{\r
+            other{"อูกียามอริเตเนีย (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"อูกียามอริเตเนีย"}\r
         }\r
         MUR{\r
@@ -1675,6 +1686,9 @@ th{
             other{"ปอนด์ซูดานใต้"}\r
         }\r
         STD{\r
+            other{"ดอบราเซาตูเมและปรินซิปี (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"ดอบราเซาตูเมและปรินซิปี"}\r
         }\r
         SYP{\r
@@ -1771,5 +1785,5 @@ th{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 2e9dcee..26a1435 100644 (file)
@@ -43,5 +43,5 @@ ti{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index e15d073..48d8378 100644 (file)
@@ -7,5 +7,5 @@ ti_ER{
             "ERN",\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 3ee177d..49b059b 100644 (file)
@@ -74,5 +74,5 @@ to{
     CurrencyUnitPatterns{\r
         other{"{1} {0}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 448abf6..2ad8ff7 100644 (file)
@@ -684,6 +684,10 @@ tr{
         }\r
         MRO{\r
             "MRO",\r
+            "Moritanya Ouguiyası (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Moritanya Ouguiyası",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ tr{
         }\r
         STD{\r
             "STD",\r
+            "São Tomé ve Príncipe Dobrası (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "São Tomé ve Príncipe Dobrası",\r
         }\r
         SUR{\r
@@ -1286,7 +1294,7 @@ tr{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1940,6 +1948,10 @@ tr{
             other{"Makao patakası"}\r
         }\r
         MRO{\r
+            one{"Moritanya ouguiyası (1973–2017)"}\r
+            other{"Moritanya ouguiyası (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Moritanya ouguiyası"}\r
             other{"Moritanya ouguiyası"}\r
         }\r
@@ -2152,6 +2164,10 @@ tr{
             other{"Güney Sudan lirası"}\r
         }\r
         STD{\r
+            one{"São Tomé ve Príncipe dobrası (1977–2017)"}\r
+            other{"São Tomé ve Príncipe dobrası (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"São Tomé ve Príncipe dobrası"}\r
             other{"São Tomé ve Príncipe dobrası"}\r
         }\r
@@ -2376,5 +2392,5 @@ tr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 4ed4fa8..e216e94 100644 (file)
@@ -81,5 +81,5 @@ tt{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 07e019c..873f065 100644 (file)
@@ -124,6 +124,10 @@ twq{
         }\r
         MRO{\r
             "MRO",\r
+            "Mooritaani Ugiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mooritaani Ugiya",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ twq{
         }\r
         STD{\r
             "STD",\r
+            "Sao Tome nda Prinsipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sao Tome nda Prinsipe Dobra",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ twq{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7fc777e..316e6a7 100644 (file)
@@ -124,6 +124,10 @@ tzm{
         }\r
         MRO{\r
             "MRO",\r
+            "Uqiyya Umuritani (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Uqiyya Umuritani",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ tzm{
         }\r
         STD{\r
             "STD",\r
+            "Dubra Usawṭumi (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dubra Usawṭumi",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ tzm{
             "Ḍular Uzimbabwi",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ddb8c79..45886f2 100644 (file)
@@ -680,6 +680,10 @@ ug{
         }\r
         MRO{\r
             "MRO",\r
+            "ماۋرىتانىيە ئۇگىيەسى (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ماۋرىتانىيە ئۇگىيەسى",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ ug{
         }\r
         STD{\r
             "STD",\r
+            "سان-تومې ۋە پىرىنسىپى دوبراسى (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "سان-تومې ۋە پىرىنسىپى دوبراسى",\r
         }\r
         SUR{\r
@@ -1873,6 +1881,10 @@ ug{
             other{"ئاۋمېن پاتاكاسى"}\r
         }\r
         MRO{\r
+            one{"ماۋرىتانىيە ئۇگىيەسى (1973–2017)"}\r
+            other{"ماۋرىتانىيە ئۇگىيەسى (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"ماۋرىتانىيە ئۇگىيەسى"}\r
             other{"ماۋرىتانىيە ئۇگىيەسى"}\r
         }\r
@@ -2105,6 +2117,10 @@ ug{
             other{"جەنۇبىي سۇدان فوندستېرلىڭى"}\r
         }\r
         STD{\r
+            one{"سان-تومې ۋە پىرىنسىپى دوبراسى (1977–2017)"}\r
+            other{"سان-تومې ۋە پىرىنسىپى دوبراسى (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"سان-تومې ۋە پىرىنسىپى دوبراسى"}\r
             other{"سان-تومې ۋە پىرىنسىپى دوبراسى"}\r
         }\r
@@ -2393,5 +2409,5 @@ ug{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 46a548c..ff606c3 100644 (file)
@@ -616,6 +616,10 @@ uk{
         }\r
         MRO{\r
             "MRO",\r
+            "мавританська угія (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "мавританська угія",\r
         }\r
         MTL{\r
@@ -844,6 +848,10 @@ uk{
         }\r
         STD{\r
             "STD",\r
+            "добра Сан-Томе і Прінсіпі (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "добра Сан-Томе і Прінсіпі",\r
         }\r
         SUR{\r
@@ -1187,7 +1195,7 @@ uk{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1822,6 +1830,12 @@ uk{
             other{"патаки Макао"}\r
         }\r
         MRO{\r
+            few{"мавританські угії (1973–2017)"}\r
+            many{"мавританських угій (1973–2017)"}\r
+            one{"мавританська угія (1973–2017)"}\r
+            other{"мавританської угії (1973–2017)"}\r
+        }\r
+        MRU{\r
             few{"мавританські угії"}\r
             many{"мавританських угій"}\r
             one{"мавританська угія"}\r
@@ -2062,6 +2076,12 @@ uk{
             other{"південносуданського фунта"}\r
         }\r
         STD{\r
+            few{"добри Сан-Томе і Принсіпі (1977–2017)"}\r
+            many{"добр Сан-Томе і Принсіпі (1977–2017)"}\r
+            one{"добра Сан-Томе і Прінсіпі (1977–2017)"}\r
+            other{"добри Сан-Томе і Прінсіпі (1977–2017)"}\r
+        }\r
+        STN{\r
             few{"добри Сан-Томе і Принсіпі"}\r
             many{"добр Сан-Томе і Принсіпі"}\r
             one{"добра Сан-Томе і Прінсіпі"}\r
@@ -2284,5 +2304,5 @@ uk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 579d74b..544ecb7 100644 (file)
@@ -388,6 +388,10 @@ ur{
         }\r
         MRO{\r
             "MRO",\r
+            "موریطانیائی اوگوئیا (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "موریطانیائی اوگوئیا",\r
         }\r
         MUR{\r
@@ -544,6 +548,10 @@ ur{
         }\r
         STD{\r
             "STD",\r
+            "ساؤ ٹوم اور پرنسپے ڈوبرا (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ساؤ ٹوم اور پرنسپے ڈوبرا",\r
         }\r
         SYP{\r
@@ -747,7 +755,7 @@ ur{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1141,6 +1149,10 @@ ur{
             other{"میکانیز پٹاکا"}\r
         }\r
         MRO{\r
+            one{"موریطانیائی اوگوئیا (1973–2017)"}\r
+            other{"موریطانیائی اوگوئیا (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"موریطانیائی اوگوئیا"}\r
             other{"موریطانیائی اوگوئیا"}\r
         }\r
@@ -1289,6 +1301,10 @@ ur{
             other{"جنوبی سوڈانی پاؤنڈز"}\r
         }\r
         STD{\r
+            one{"ساؤ ٹوم اور پرنسپے ڈوبرا (1977–2017)"}\r
+            other{"ساؤ ٹوم اور پرنسپے ڈوبرا (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"ساؤ ٹوم اور پرنسپے ڈوبرا"}\r
             other{"ساؤ ٹوم اور پرنسپے ڈوبرا"}\r
         }\r
@@ -1409,5 +1425,5 @@ ur{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5ebe23d..56e1a67 100644 (file)
@@ -77,5 +77,5 @@ ur_IN{
             other{"ساموآئی ٹالا"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5903ff3..292fed1 100644 (file)
@@ -376,6 +376,10 @@ uz{
         }\r
         MRO{\r
             "MRO",\r
+            "Mavritaniya uqiyasi (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mavritaniya uqiyasi",\r
         }\r
         MUR{\r
@@ -524,6 +528,10 @@ uz{
         }\r
         STD{\r
             "STD",\r
+            "San-Tome va Prinsipi dobrasi (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "San-Tome va Prinsipi dobrasi",\r
         }\r
         SYP{\r
@@ -719,7 +727,7 @@ uz{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1113,6 +1121,10 @@ uz{
             other{"Makao patakasi"}\r
         }\r
         MRO{\r
+            one{"Mavritaniya uqiyasi (1973–2017)"}\r
+            other{"Mavritaniya uqiyasi (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"Mavritaniya uqiyasi"}\r
             other{"Mavritaniya uqiyasi"}\r
         }\r
@@ -1261,6 +1273,10 @@ uz{
             other{"Janubiy Sudan funti"}\r
         }\r
         STD{\r
+            one{"San-Tome va Prinsipi dobrasi (1977–2017)"}\r
+            other{"San-Tome va Prinsipi dobrasi (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"San-Tome va Prinsipi dobrasi"}\r
             other{"San-Tome va Prinsipi dobrasi"}\r
         }\r
@@ -1381,5 +1397,5 @@ uz{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7dbf2f6..e106440 100644 (file)
@@ -8,5 +8,5 @@ uz_Arab{
             "افغانی",\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 803e7d4..23fafeb 100644 (file)
@@ -414,5 +414,5 @@ uz_Cyrl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b127fed..894f6d9 100644 (file)
@@ -124,6 +124,10 @@ vai{
         }\r
         MRO{\r
             "MRO",\r
+            "ꗞꔸꕚꕇꕰ ꖳꕅꕩ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ꗞꔸꕚꕇꕰ ꖳꕅꕩ",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ vai{
         }\r
         STD{\r
             "STD",\r
+            "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕗꕴ ꖁꖜꕟ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕗꕴ ꖁꖜꕟ",\r
         }\r
         SZL{\r
@@ -220,5 +228,5 @@ vai{
             other{"ꔖꗼꔷ ꖩꔪ"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c8a8daa..95649fa 100644 (file)
@@ -125,6 +125,10 @@ vai_Latn{
         }\r
         MRO{\r
             "MRO",\r
+            "Mɔretani Yugiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Mɔretani Yugiya",\r
         }\r
         MUR{\r
@@ -173,6 +177,10 @@ vai_Latn{
         }\r
         STD{\r
             "STD",\r
+            "Sawo Tombe ɓɛ a Gbawo Dobura (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Sawo Tombe ɓɛ a Gbawo Dobura",\r
         }\r
         SZL{\r
@@ -220,5 +228,5 @@ vai_Latn{
             "Zimbhabhuwe Dala",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 96fe581..4f3e71a 100644 (file)
@@ -668,6 +668,10 @@ vi{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya Mauritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya Mauritania",\r
         }\r
         MTL{\r
@@ -896,6 +900,10 @@ vi{
         }\r
         STD{\r
             "STD",\r
+            "Dobra São Tomé và Príncipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra São Tomé và Príncipe",\r
         }\r
         SUR{\r
@@ -1251,7 +1259,7 @@ vi{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1552,6 +1560,9 @@ vi{
             other{"Pataca Ma Cao"}\r
         }\r
         MRO{\r
+            other{"Ouguiya Mauritania (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"Ouguiya Mauritania"}\r
         }\r
         MUR{\r
@@ -1663,6 +1674,9 @@ vi{
             other{"Bảng Nam Sudan"}\r
         }\r
         STD{\r
+            other{"Dobra São Tomé và Príncipe (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"Dobra São Tomé và Príncipe"}\r
         }\r
         SYP{\r
@@ -1756,5 +1770,5 @@ vi{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index fa96613..9763e10 100644 (file)
@@ -124,6 +124,10 @@ vun{
         }\r
         MRO{\r
             "MRO",\r
+            "Ugwiya ya Moritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ugwiya ya Moritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ vun{
         }\r
         STD{\r
             "STD",\r
+            "Dobra ya Sao Tome na Principe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobra ya Sao Tome na Principe",\r
         }\r
         SZL{\r
@@ -227,5 +235,5 @@ vun{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7d788dd..1e61fe2 100644 (file)
@@ -81,5 +81,5 @@ wae{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0736b9d..080abc6 100644 (file)
@@ -88,5 +88,5 @@ wo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
 }\r
index e554eb0..dddbad8 100644 (file)
@@ -124,6 +124,10 @@ xog{
         }\r
         MRO{\r
             "MRO",\r
+            "Wugwiya ey’eMawritenya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Wugwiya ey’eMawritenya",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ xog{
         }\r
         STD{\r
             "STD",\r
+            "Dobura ey’eSantome ne Purincipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobura ey’eSantome ne Purincipe",\r
         }\r
         SZL{\r
@@ -223,5 +231,5 @@ xog{
             "Doola ey’eZimbabwe",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9203db5..9b9330e 100644 (file)
@@ -95,5 +95,5 @@ yav{
             "́faláŋɛ u kɔmɔ́ɔl",\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77093ba..d47882b 100644 (file)
@@ -105,5 +105,5 @@ yi{
             other{"אומבאַוואוסטע וואַלוטע"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e044832..7842b82 100644 (file)
@@ -124,6 +124,10 @@ yo{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya ti Orílẹ́ède Maritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya ti Orílẹ́ède Maritania",\r
         }\r
         MUR{\r
@@ -180,6 +184,10 @@ yo{
         }\r
         STD{\r
             "STD",\r
+            "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe",\r
         }\r
         SZL{\r
@@ -230,5 +238,5 @@ yo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 198c240..27416f5 100644 (file)
@@ -120,6 +120,10 @@ yo_BJ{
         }\r
         MRO{\r
             "MRO",\r
+            "Ouguiya ti Orílɛ́ède Maritania (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "Ouguiya ti Orílɛ́ède Maritania",\r
         }\r
         MUR{\r
@@ -172,6 +176,10 @@ yo_BJ{
         }\r
         STD{\r
             "STD",\r
+            "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe",\r
         }\r
         TND{\r
@@ -215,5 +223,5 @@ yo_BJ{
             "Dɔla ti Orílɛ́ède Siibabuwe",\r
         }\r
     }\r
-    Version{"2.1.37.9"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 36187c6..d2149b8 100644 (file)
@@ -684,6 +684,10 @@ yue{
         }\r
         MRO{\r
             "MRO",\r
+            "茅利塔尼亞烏吉亞 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "茅利塔尼亞烏吉亞",\r
         }\r
         MTL{\r
@@ -916,6 +920,10 @@ yue{
         }\r
         STD{\r
             "STD",\r
+            "聖多美島和普林西比島多布拉 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "聖多美島和普林西比島多布拉",\r
         }\r
         SUR{\r
@@ -1281,7 +1289,7 @@ yue{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1810,6 +1818,9 @@ yue{
             other{"澳門元"}\r
         }\r
         MRO{\r
+            other{"茅利塔尼亞烏吉亞 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"茅利塔尼亞烏吉亞"}\r
         }\r
         MTL{\r
@@ -1984,6 +1995,9 @@ yue{
             other{"南蘇丹鎊"}\r
         }\r
         STD{\r
+            other{"聖多美島和普林西比島多布拉 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"聖多美島和普林西比島多布拉"}\r
         }\r
         SUR{\r
@@ -2200,5 +2214,5 @@ yue{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 23b3170..8ed52a0 100644 (file)
@@ -685,6 +685,10 @@ yue_Hans{
         }\r
         MRO{\r
             "MRO",\r
+            "茅利塔尼亚乌吉亚 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "茅利塔尼亚乌吉亚",\r
         }\r
         MTL{\r
@@ -917,6 +921,10 @@ yue_Hans{
         }\r
         STD{\r
             "STD",\r
+            "圣多美岛和普林西比岛多布拉 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "圣多美岛和普林西比岛多布拉",\r
         }\r
         SUR{\r
@@ -1282,7 +1290,7 @@ yue_Hans{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1811,6 +1819,9 @@ yue_Hans{
             other{"澳门元"}\r
         }\r
         MRO{\r
+            other{"茅利塔尼亚乌吉亚 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"茅利塔尼亚乌吉亚"}\r
         }\r
         MTL{\r
@@ -1985,6 +1996,9 @@ yue_Hans{
             other{"南苏丹镑"}\r
         }\r
         STD{\r
+            other{"圣多美岛和普林西比岛多布拉 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"圣多美岛和普林西比岛多布拉"}\r
         }\r
         SUR{\r
@@ -2201,5 +2215,5 @@ yue_Hans{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8ba3e24..c99e2b9 100644 (file)
@@ -120,6 +120,10 @@ zgh{
         }\r
         MRO{\r
             "MRO",\r
+            "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ",\r
         }\r
         MUR{\r
@@ -176,6 +180,10 @@ zgh{
         }\r
         STD{\r
             "STD",\r
+            "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ",\r
         }\r
         SZL{\r
@@ -234,5 +242,5 @@ zgh{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ff0c093..f397385 100644 (file)
@@ -680,6 +680,10 @@ zh{
         }\r
         MRO{\r
             "MRO",\r
+            "毛里塔尼亚乌吉亚 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "毛里塔尼亚乌吉亚",\r
         }\r
         MTL{\r
@@ -912,6 +916,10 @@ zh{
         }\r
         STD{\r
             "STD",\r
+            "圣多美和普林西比多布拉 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "圣多美和普林西比多布拉",\r
         }\r
         SUR{\r
@@ -1269,7 +1277,7 @@ zh{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1786,6 +1794,9 @@ zh{
             other{"澳门元"}\r
         }\r
         MRO{\r
+            other{"毛里塔尼亚乌吉亚 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"毛里塔尼亚乌吉亚"}\r
         }\r
         MTL{\r
@@ -1960,6 +1971,9 @@ zh{
             other{"南苏丹镑"}\r
         }\r
         STD{\r
+            other{"圣多美和普林西比多布拉 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"圣多美和普林西比多布拉"}\r
         }\r
         SUR{\r
@@ -2125,5 +2139,5 @@ zh{
     CurrencyUnitPatterns{\r
         other{"{0}{1}"}\r
     }\r
-    Version{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 75e266e..1221e4f 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_HK{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 85d5b6e..04a4a7a 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_MO{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d1a3b53..f919f06 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_SG{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 787f12d..278f9a4 100644 (file)
@@ -685,6 +685,10 @@ zh_Hant{
         }\r
         MRO{\r
             "MRO",\r
+            "茅利塔尼亞烏吉亞 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "茅利塔尼亞烏吉亞",\r
         }\r
         MTL{\r
@@ -917,6 +921,10 @@ zh_Hant{
         }\r
         STD{\r
             "STD",\r
+            "聖多美島和普林西比島多布拉 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "聖多美島和普林西比島多布拉",\r
         }\r
         SUR{\r
@@ -1282,7 +1290,7 @@ zh_Hant{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1808,6 +1816,9 @@ zh_Hant{
             other{"澳門元"}\r
         }\r
         MRO{\r
+            other{"茅利塔尼亞烏吉亞 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"茅利塔尼亞烏吉亞"}\r
         }\r
         MTL{\r
@@ -1982,6 +1993,9 @@ zh_Hant{
             other{"南蘇丹鎊"}\r
         }\r
         STD{\r
+            other{"聖多美島和普林西比島多布拉 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"聖多美島和普林西比島多布拉"}\r
         }\r
         SUR{\r
@@ -2198,5 +2212,5 @@ zh_Hant{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 6749bd4..3bcdc59 100644 (file)
@@ -132,6 +132,10 @@ zh_Hant_HK{
         }\r
         MRO{\r
             "MRO",\r
+            "毛里塔尼亞烏吉亞 (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "毛里塔尼亞烏吉亞",\r
         }\r
         MUR{\r
@@ -204,6 +208,10 @@ zh_Hant_HK{
         }\r
         STD{\r
             "STD",\r
+            "聖多美和普林西比多布拉 (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "聖多美和普林西比多布拉",\r
         }\r
         SYP{\r
@@ -354,6 +362,9 @@ zh_Hant_HK{
             other{"摩爾多瓦列伊"}\r
         }\r
         MRO{\r
+            other{"毛里塔尼亞烏吉亞 (1973–2017)"}\r
+        }\r
+        MRU{\r
             other{"毛里塔尼亞烏吉亞"}\r
         }\r
         MUR{\r
@@ -408,6 +419,9 @@ zh_Hant_HK{
             other{"蘇里南元"}\r
         }\r
         STD{\r
+            other{"聖多美和普林西比多布拉 (1977–2017)"}\r
+        }\r
+        STN{\r
             other{"聖多美和普林西比多布拉"}\r
         }\r
         SYP{\r
@@ -447,5 +461,5 @@ zh_Hant_HK{
             other{"贊比亞克瓦查"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9430aa4..3012a7e 100644 (file)
@@ -8,5 +8,5 @@ zh_Hant_MO{
             "澳門元",\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index fe7a2df..bc5eb1f 100644 (file)
@@ -380,6 +380,10 @@ zu{
         }\r
         MRO{\r
             "MRO",\r
+            "i-Mauritanian Ouguiya (1973–2017)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
             "i-Mauritanian Ouguiya",\r
         }\r
         MUR{\r
@@ -528,6 +532,10 @@ zu{
         }\r
         STD{\r
             "STD",\r
+            "i-São Tomé kanye ne-Príncipe Dobra (1977–2017)",\r
+        }\r
+        STN{\r
+            "STN",\r
             "i-São Tomé kanye ne-Príncipe Dobra",\r
         }\r
         SYP{\r
@@ -726,7 +734,7 @@ zu{
         SHP{"£"}\r
         SRD{"$"}\r
         SSP{"£"}\r
-        STD{"Db"}\r
+        STN{"Db"}\r
         SYP{"£"}\r
         THB{"฿"}\r
         TOP{"T$"}\r
@@ -1112,6 +1120,10 @@ zu{
             other{"i-Macanese Pataca"}\r
         }\r
         MRO{\r
+            one{"i-Mauritanian Ouguiya (1973–2017)"}\r
+            other{"i-Mauritanian Ouguiya (1973–2017)"}\r
+        }\r
+        MRU{\r
             one{"i-Mauritanian Ouguiya"}\r
             other{"i-Mauritanian Ouguiya"}\r
         }\r
@@ -1260,6 +1272,10 @@ zu{
             other{"i-South Sudanese Pound"}\r
         }\r
         STD{\r
+            one{"i-São Tomé kanye ne-Príncipe Dobra (1977–2017)"}\r
+            other{"i-São Tomé kanye ne-Príncipe Dobra (1977–2017)"}\r
+        }\r
+        STN{\r
             one{"i-São Tomé kanye ne-Príncipe Dobra"}\r
             other{"i-São Tomé kanye ne-Príncipe Dobra"}\r
         }\r
@@ -1380,5 +1396,5 @@ zu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d29cdb1..1af4c21 100644 (file)
@@ -19,10 +19,11 @@ In the following,
 \r
 1. Download and build ICU4C. For more instructions on downloading and building\r
         ICU4C, see the ICU4C readme at:\r
-        http://source.icu-project.org/repos/icu/icu/trunk/readme.html#HowToBuild\r
-       (Windows: build as x86, Release otherwise you will have to set 'CFG' differently below.)\r
+        http://source.icu-project.org/repos/icu/trunk/icu4c/readme.html#HowToBuild\r
+        (Windows: build as 'x86, Release' otherwise you will have to set 'CFG' differently below.)\r
 \r
-       *NOTE* You should do a full rebuild after any data changes.\r
+    *NOTE* You should do a full rebuild after any data changes.\r
+    \r
 1a.  If you didn't download from Subversion, you will also need the "icu4c-*-data.zip" file.  Unpack this file and replace the icu/source/data directory's contents with the contents of the data directory from the zip file.  \r
 \r
 \r
diff --git a/source/data/in/icudt61l.dat b/source/data/in/icudt61l.dat
new file mode 100644 (file)
index 0000000..a96345d
Binary files /dev/null and b/source/data/in/icudt61l.dat differ
index 5db7d20..f7369a7 100644 (file)
@@ -420,6 +420,8 @@ af{
         yue{"Kantonees"}\r
         zgh{"Standaard Marokkaanse Tamazight"}\r
         zh{"Sjinees"}\r
+        zh_Hans{"Chinees (Vereenvoudig)"}\r
+        zh_Hant{"Chinees (Tradisioneel)"}\r
         zu{"Zoeloe"}\r
         zun{"Zuni"}\r
         zxx{"Geen taalinhoud nie"}\r
@@ -624,7 +626,7 @@ af{
             vaii{"Vai-syfers"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – Alle"}\r
         category-list{"{0}: {1}"}\r
index b5e7e53..1c13cec 100644 (file)
@@ -48,5 +48,5 @@ agq{
         zh{"Chàenê"}\r
         zu{"Zulù"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 390bba7..5648b6f 100644 (file)
@@ -47,5 +47,5 @@ ak{
         zh{"Kyaena kasa"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 562c9c4..aa88d2a 100644 (file)
@@ -688,7 +688,7 @@ am{
             vaii{"የቫይ አሃዞች"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ሁሉም"}\r
         category-list{"{0}: {1}"}\r
index f3c5149..26408ba 100644 (file)
@@ -852,7 +852,7 @@ ar{
         VALENCIA{"بلنسية"}\r
         WADEGILE{"المندرين باللاتينية - ويد–جيلز"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} - الكل"}\r
         category-list{"{0}: {1}"}\r
@@ -864,11 +864,11 @@ ar{
         other{"{0} - غير ذلك"}\r
         scripts{"أنظمة الكتابة - {0}"}\r
         strokes{\r
-            few{"{0} Ø¶ØºØ·Ø§Øª"}\r
+            few{"{0} Ø¶ØºØ·Ø©"}\r
             many{"{0} ضغطة"}\r
-            one{"ضغطة ({0})"}\r
+            one{"{0} ضغطة"}\r
             other{"{0} ضغطة"}\r
-            two{"ضغطتان ({0})"}\r
+            two{"{0} ضغطة"}\r
             zero{"{0} ضغطة"}\r
         }\r
     }\r
index ccdddda..0cbd3cb 100644 (file)
@@ -4,5 +4,5 @@ ar_EG{
     Languages{\r
         da{"الدنماركية"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 3ce49d1..6642411 100644 (file)
@@ -12,5 +12,5 @@ ar_LY{
         sw_CD{"السواحيلية الكونغولية"}\r
         ti{"التيغرينية"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 04782bb..d5475e4 100644 (file)
@@ -13,5 +13,5 @@ ar_SA{
         te{"التيلوجو"}\r
         ti{"التيغرينية"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 65b7d35..00ce762 100644 (file)
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
     Keys{\r
-        calendar{"পঞ্জিকা"}\r
-        collation{"শৰীকৰণ"}\r
+        calendar{"কেলেণ্ডাৰ"}\r
+        cf{"মুদ্ৰা সজ্জা"}\r
+        collation{"সজোৱা ক্ৰম"}\r
         currency{"মুদ্ৰা"}\r
+        hc{"ঘণ্টীয়া চক্ৰ (১২ বনাম ২৪)"}\r
+        lb{"পংক্তি বিচ্ছেদ শৈলী"}\r
+        ms{"জোখ-মাখৰ প্ৰণালী"}\r
+        numbers{"সংখ্যা"}\r
     }\r
     Languages{\r
+        aa{"আফাৰ"}\r
+        ab{"আবখাজিয়ান"}\r
+        ace{"আচিনিজ"}\r
+        ada{"আদাংমে"}\r
+        ady{"আদিগে"}\r
+        af{"আফ্ৰিকানছ্"}\r
+        agq{"আঘেম"}\r
+        ain{"আইনু"}\r
+        ak{"আকান"}\r
+        ale{"আলেউট"}\r
+        alt{"দাক্ষিণাত্য আল্টাই"}\r
+        am{"আমহাৰিক"}\r
+        an{"আৰ্গোনিজ"}\r
+        anp{"আঙ্গিকা"}\r
+        ar{"আৰবী"}\r
+        ar_001{"আধুনিক মানক আৰবী"}\r
+        arn{"মাপুচে"}\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
+        bla{"ছিক্সিকা"}\r
+        bm{"বামবাৰা"}\r
+        bn{"বাংলা"}\r
+        bo{"তিব্বতী"}\r
+        br{"ব্ৰেটন"}\r
+        brx{"বড়ো"}\r
+        bs{"বছনীয়"}\r
+        bug{"বগিনীজ"}\r
+        byn{"ব্লিন"}\r
+        ca{"কাতালান"}\r
+        ce{"চেচেন"}\r
+        ceb{"চিবুৱানো"}\r
+        cgg{"চিগা"}\r
+        ch{"চামোৰো"}\r
+        chk{"চুকিজ"}\r
+        chm{"মাৰি"}\r
+        cho{"চোক্টাউ"}\r
+        chr{"চেৰোকি"}\r
+        chy{"চাইয়েন"}\r
+        ckb{"চেণ্ট্ৰেল কুৰ্ডিচ"}\r
+        co{"কোৰ্ছিকান"}\r
+        crs{"ছেছেলৱা ক্ৰিওল ফ্ৰেন্স"}\r
+        cs{"চেক"}\r
+        cu{"চাৰ্চ শ্লেভিক"}\r
+        cv{"চুভাচ"}\r
+        cy{"ৱেলচ"}\r
+        da{"ডেনিচ"}\r
+        dak{"ডাকোটা"}\r
+        dar{"দাৰ্গৱা"}\r
+        dav{"তেইতা"}\r
+        de{"জাৰ্মান"}\r
+        de_AT{"অষ্ট্ৰেলিয়ান জাৰ্মান"}\r
+        de_CH{"ছুইচ হাই জাৰ্মান"}\r
+        dgr{"ডোগ্ৰিব"}\r
+        dje{"ঝাৰ্মা"}\r
+        dsb{"ল’ৱাৰ ছোৰ্বিয়ান"}\r
+        dua{"ডুৱালা"}\r
+        dv{"দিবেহি"}\r
+        dyo{"জোলা-ফ’নি"}\r
+        dz{"জোংখা"}\r
+        dzg{"দাজাগা"}\r
+        ebu{"এম্বু"}\r
+        ee{"ইৱে"}\r
+        efi{"এফিক"}\r
+        eka{"একাজুক"}\r
+        el{"গ্ৰীক"}\r
+        en{"ইংৰাজী"}\r
+        en_AU{"অষ্ট্ৰেলিয়ান ইংৰাজী"}\r
+        en_CA{"কানাডিয়ান ইংৰাজী"}\r
+        en_GB{"ব্ৰিটিছ ইংৰাজী"}\r
+        en_US{"আমেৰিকান ইংৰাজী"}\r
+        eo{"এস্পেৰান্তো"}\r
+        es{"স্পেনিচ"}\r
         es_419{"লেটিন আমেৰিকান স্পেনিচ"}\r
+        es_ES{"ইউৰোপীয়ান স্পেনিচ"}\r
+        es_MX{"মেক্সিকান স্পেনিচ"}\r
+        et{"এষ্টোনিয়"}\r
+        eu{"বাস্ক"}\r
+        ewo{"ইওন্দো"}\r
+        fa{"ফাৰ্ছী"}\r
+        ff{"ফুলাহ"}\r
+        fi{"ফিনিচ"}\r
+        fil{"ফিলিপিনো"}\r
+        fj{"ফিজিয়ান"}\r
+        fo{"ফাৰোইজ"}\r
+        fon{"ফ’ন"}\r
+        fr{"ফ্ৰেন্স"}\r
+        fr_CA{"কানাডিয়ান ফ্ৰেন্স"}\r
+        fr_CH{"ছুইচ ফ্ৰেন্স"}\r
+        fur{"ফ্ৰিউলিয়ান"}\r
+        fy{"ৱেষ্টাৰ্ণ ফ্ৰিছিয়ান"}\r
+        ga{"আইৰিচ"}\r
+        gaa{"গা"}\r
+        gd{"স্কটিচ গেইলিক"}\r
+        gez{"গীজ"}\r
+        gil{"গিলবাৰ্টিছ"}\r
+        gl{"গেলিচিয়ান"}\r
+        gn{"গুৱাৰাণী"}\r
+        gor{"গোৰোন্তালো"}\r
+        gsw{"ছুইচ জাৰ্মান"}\r
+        gu{"গুজৰাটী"}\r
+        guz{"গুছি"}\r
+        gv{"মেংক্স"}\r
+        gwi{"জিউইচিন"}\r
+        ha{"হাউছা"}\r
+        haw{"হাৱাই"}\r
+        he{"হিব্ৰু"}\r
+        hi{"হিন্দী"}\r
+        hil{"হিলিগায়নোন"}\r
+        hmn{"হমং"}\r
+        hr{"ক্ৰোৱেচিয়ান"}\r
+        hsb{"আপাৰ ছোৰ্বিয়ান"}\r
+        ht{"হেইটিয়ান ক্ৰিয়ল"}\r
+        hu{"হাঙ্গেৰিয়ান"}\r
+        hup{"হুপা"}\r
+        hy{"আৰ্মেনীয়"}\r
+        hz{"হেৰেৰো"}\r
+        ia{"ইণ্টাৰলিংগুৱা"}\r
+        iba{"ইবান"}\r
+        ibb{"ইবিবিও"}\r
+        id{"ইণ্ডোনেচিয়"}\r
+        ig{"ইগ্বো"}\r
+        ii{"ছিচুৱান ই"}\r
+        ilo{"ইলোকো"}\r
+        inh{"ইংগুচ"}\r
+        io{"ইডো"}\r
+        is{"আইচলেণ্ডিক"}\r
+        it{"ইটালিয়ান"}\r
+        iu{"ইনুক্টিটুট"}\r
+        ja{"জাপানী"}\r
+        jbo{"লোজ্বান"}\r
+        jgo{"নগোম্বা"}\r
+        jmc{"মেকহেম"}\r
+        jv{"জাভানী"}\r
+        ka{"জৰ্জিয়ান"}\r
+        kab{"কাবাইল"}\r
+        kac{"কাচিন"}\r
+        kaj{"জজু"}\r
+        kam{"কাম্বা"}\r
+        kbd{"কাবাৰ্ডিয়ান"}\r
+        kcg{"ত্যাপ"}\r
+        kde{"মাকোণ্ড"}\r
+        kea{"কাবুভেৰ্ডিয়ানু"}\r
+        kfo{"কোৰো"}\r
+        kha{"খাচি"}\r
+        khq{"কোয়াৰ চিনি"}\r
+        ki{"কিকুয়ু"}\r
+        kj{"কুয়ানিয়ামা"}\r
+        kk{"কাজাখ"}\r
+        kkj{"কাকো"}\r
+        kl{"কালালিছুট"}\r
+        kln{"কালেনজিন"}\r
+        km{"খমেৰ"}\r
+        kmb{"কিম্বুন্দু"}\r
+        kn{"কানাড়া"}\r
+        ko{"কোৰিয়ান"}\r
+        kok{"কোংকণী"}\r
+        kpe{"কেপেল"}\r
+        kr{"কানুৰি"}\r
+        krc{"কাৰাচে-বাল্কাৰ"}\r
+        krl{"কেৰেলিয়ান"}\r
+        kru{"কুৰুখ"}\r
+        ks{"কাশ্মিৰী"}\r
+        ksb{"চাম্বালা"}\r
+        ksf{"বাফিয়া"}\r
+        ksh{"কোলোগনিয়ান"}\r
+        ku{"কুৰ্ডিচ"}\r
+        kum{"কুমিক"}\r
+        kv{"কোমি"}\r
+        kw{"কোৰ্নিচ"}\r
+        ky{"কিৰ্গিজ"}\r
+        la{"লেটিন"}\r
+        lad{"লাডিনো"}\r
+        lag{"লাংগি"}\r
+        lb{"লাক্সেমবাৰ্গিচ"}\r
+        lez{"লেজঘিয়ান"}\r
+        lg{"গান্দা"}\r
+        li{"লিম্বুৰ্গিচ"}\r
+        lkt{"লাকোটা"}\r
+        ln{"লিংগালা"}\r
+        lo{"লাও"}\r
+        loz{"লোজি"}\r
+        lrc{"উদীচ্য লুৰি"}\r
+        lt{"লিথুৱানিয়ান"}\r
+        lu{"লুবা-কাটাংগা"}\r
+        lua{"লুবা-লুলুৱা"}\r
+        lun{"লুণ্ডা"}\r
+        luo{"লুও"}\r
+        lus{"মিজো"}\r
+        luy{"লুইয়া"}\r
+        lv{"লাটভিয়ান"}\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
+        mi{"মাওৰি"}\r
+        mic{"মিকমেক"}\r
+        min{"মিনাংকাবাউ"}\r
+        mk{"মেচিডোনীয়"}\r
+        ml{"মালায়ালম"}\r
+        mn{"মংগোলীয়"}\r
+        mni{"মণিপুৰী"}\r
+        moh{"মোহোক"}\r
+        mos{"মোছি"}\r
+        mr{"মাৰাঠী"}\r
+        ms{"মালয়"}\r
+        mt{"মাল্টিজ"}\r
+        mua{"মুণ্ডাং"}\r
+        mul{"একাধিক ভাষা"}\r
+        mus{"ক্ৰীক"}\r
+        mwl{"মিৰাণ্ডিজ"}\r
+        my{"বাৰ্মীজ"}\r
+        myv{"এৰজিয়া"}\r
+        mzn{"মাজেন্দাৰানি"}\r
+        na{"নাউৰু"}\r
+        nap{"নিয়াপোলিটেন"}\r
+        naq{"নামা"}\r
+        nb{"নৰৱেজিয়ান বোকমাল"}\r
+        nd{"উত্তৰ নিবেবেলে"}\r
+        ne{"নেপালী"}\r
+        new{"নেৱাৰি"}\r
+        ng{"এন্দোঙ্গা"}\r
+        nia{"নিয়াছ"}\r
+        niu{"নিয়ুৱান"}\r
+        nl{"ডাচ"}\r
+        nl_BE{"ফ্লেমিচ"}\r
+        nmg{"কোৱাছিঅ’"}\r
+        nn{"নৰৱেজিয়ান নায়নোৰ্স্ক"}\r
+        nnh{"নিয়েম্বোন"}\r
+        nog{"নোগাই"}\r
+        nqo{"এন্কো"}\r
+        nr{"দক্ষিণ দেবেল"}\r
+        nso{"উদীচ্য ছোথো"}\r
+        nus{"নুয়েৰ"}\r
+        nv{"নাভাজো"}\r
+        ny{"ন্যাঞ্জা"}\r
+        nyn{"ন্যানকোল"}\r
+        oc{"অ’চিটান"}\r
+        om{"ওৰোমো"}\r
+        or{"ওড়িয়া"}\r
+        os{"ওছেটিক"}\r
+        pa{"পাঞ্জাবী"}\r
+        pag{"পংগাছিনান"}\r
+        pam{"পাম্পান্গা"}\r
+        pap{"পাপিয়ামেণ্টো"}\r
+        pau{"পালাউৱান"}\r
+        pcm{"নাইজেৰিয়ান পিজিন"}\r
+        pl{"প’লিচ"}\r
+        prg{"প্ৰুছিয়ান"}\r
+        ps{"পুস্ত"}\r
+        pt{"পৰ্তুগীজ"}\r
+        pt_BR{"ব্ৰাজিলিয়ান পৰ্তুগীজ"}\r
+        pt_PT{"ইউৰোপীয়ান পৰ্তুগীজ"}\r
+        qu{"কুৱেচুৱা"}\r
+        quc{"কিচিয়ে"}\r
+        rap{"ৰাপানুই"}\r
+        rar{"ৰাৰোতোঙ্গন"}\r
+        rm{"ৰোমানচ"}\r
+        rn{"ৰুন্দি"}\r
+        ro{"ৰোমানীয়"}\r
+        ro_MD{"মোল্ডাভিয়ান"}\r
+        rof{"ৰোম্বো"}\r
+        root{"ৰুট"}\r
+        ru{"ৰাছিয়ান"}\r
+        rup{"আৰোমানীয়"}\r
+        rw{"কিনয়াৰোৱাণ্ডা"}\r
+        rwk{"ৰৱা"}\r
+        sa{"সংস্কৃত"}\r
+        sad{"ছান্দাৱে"}\r
+        sah{"ছাখা"}\r
+        saq{"ছাম্বুৰু"}\r
+        sat{"চাওতালি"}\r
+        sba{"নাংম্বে"}\r
+        sbp{"ছাঙ্গু"}\r
+        sc{"ছাৰ্ডিনিয়ান"}\r
+        scn{"ছিচিলিয়ান"}\r
+        sco{"স্কটছ"}\r
+        sd{"সিন্ধি"}\r
+        se{"উদীচ্য ছামি"}\r
+        seh{"ছেনা"}\r
+        ses{"কোইৰাবোৰো চেন্নি"}\r
+        sg{"ছাঙ্গো"}\r
+        shi{"তাচেলহিট"}\r
+        shn{"চান"}\r
+        si{"সিংহলা"}\r
+        sk{"শ্লোভাক"}\r
+        sl{"শ্লোভেনিয়ান"}\r
+        sm{"ছামোন"}\r
+        sma{"দাক্ষিণাত্য ছামি"}\r
+        smj{"লুলে ছামি"}\r
+        smn{"ইনাৰি ছামি"}\r
+        sms{"স্কোল্ট ছামি"}\r
+        sn{"চোনা"}\r
+        snk{"ছোনিনকে"}\r
+        so{"ছোমালি"}\r
+        sq{"আলবেনীয়"}\r
+        sr{"ছাৰ্বিয়ান"}\r
+        srn{"স্ৰানান টোঙ্গো"}\r
+        ss{"স্বাতি"}\r
+        ssy{"ছাহো"}\r
+        st{"দাক্ষিণাত্য ছোথো"}\r
+        su{"ছুণ্ডানীজ"}\r
+        suk{"ছুকুমা"}\r
+        sv{"ছুইডিচ"}\r
+        sw{"স্বাহিলি"}\r
+        sw_CD{"কঙ্গো স্বাহিলি"}\r
+        swb{"কোমোৰিয়ান"}\r
+        syr{"চিৰিয়াক"}\r
+        ta{"তামিল"}\r
+        te{"তেলুগু"}\r
+        tem{"টিম্নে"}\r
+        teo{"তেছো"}\r
+        tet{"তেতুম"}\r
+        tg{"তাজিক"}\r
+        th{"থাই"}\r
+        ti{"টিগৰিনিয়া"}\r
+        tig{"তাইগ্ৰে"}\r
+        tk{"তুৰ্কমেন"}\r
+        tlh{"ক্লিংগন"}\r
+        tn{"ছোৱানা"}\r
+        to{"টোঙ্গান"}\r
+        tpi{"টোক পিছিন"}\r
+        tr{"তুৰ্কী"}\r
+        trv{"তাৰোকো"}\r
+        ts{"ছোঙ্গা"}\r
+        tt{"তাতাৰ"}\r
+        tum{"তুম্বুকা"}\r
+        tvl{"টুভালু"}\r
+        twq{"টাছাৱাক"}\r
+        ty{"তাহিতিয়ান"}\r
+        tyv{"তুভিনিয়ান"}\r
+        tzm{"চেণ্ট্ৰেল এটলাছ টামাজাইট"}\r
+        udm{"উদমুৰ্ত"}\r
+        ug{"উইঘুৰ"}\r
+        uk{"ইউক্ৰেইনীয়"}\r
+        umb{"উম্বুন্দু"}\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
+        xal{"কাল্মিক"}\r
+        xh{"হোছা"}\r
+        xog{"ছোগা"}\r
+        yav{"য়াংবেন"}\r
+        ybb{"য়েম্বা"}\r
+        yi{"ইদ্দিছ"}\r
+        yo{"ইউৰুবা"}\r
+        yue{"কেণ্টোনীজ"}\r
+        zgh{"ষ্টেণ্ডাৰ্ড মোৰোক্কান তামাজাইট"}\r
+        zh{"চীনা"}\r
+        zh_Hans{"সৰলীকৃত চীনা"}\r
+        zh_Hant{"পৰম্পৰাগত চীনা"}\r
+        zu{"ঝুলু"}\r
+        zun{"ঝুনি"}\r
+        zxx{"কোনো ভাষা সমল নাই"}\r
+        zza{"ঝাঝা"}\r
+    }\r
+    Languages%short{\r
+        az{"আজেৰি"}\r
+        en_GB{"ইউ. কে. ইংৰাজী"}\r
+        en_US{"ইউ. এছ. ইংৰাজী"}\r
     }\r
     Scripts{\r
-        Beng{"বঙালী"}\r
+        Arab{"আৰবী"}\r
+        Armn{"আৰ্মেনীয়"}\r
+        Beng{"বাংলা"}\r
+        Bopo{"বোপোমোফো"}\r
+        Brai{"ব্ৰেইল"}\r
+        Cyrl{"চিৰিলিক"}\r
+        Deva{"দেৱনাগৰী"}\r
+        Ethi{"ইথিঅ’পিক"}\r
+        Geor{"জৰ্জিয়ান"}\r
+        Grek{"গ্ৰীক"}\r
+        Gujr{"গুজৰাটী"}\r
+        Guru{"গুৰুমুখী"}\r
+        Hanb{"বোপোমোফোৰ সৈতে হান"}\r
+        Hang{"হেঙ্গুল"}\r
+        Hani{"হান"}\r
+        Hans{"সৰলীকৃত"}\r
+        Hant{"পৰম্পৰাগত"}\r
+        Hebr{"হিব্ৰু"}\r
+        Hira{"হিৰাগানা"}\r
+        Hrkt{"জাপানী ছিলেবেৰিজ"}\r
+        Jamo{"জামো"}\r
+        Jpan{"জাপানী"}\r
+        Kana{"কাটাকানা"}\r
+        Khmr{"খমেৰ"}\r
+        Knda{"কানাড়া"}\r
+        Kore{"কোৰিয়ান"}\r
+        Laoo{"লাও"}\r
+        Latn{"লেটিন"}\r
+        Mlym{"মালায়ালম"}\r
+        Mong{"মঙ্গোলিয়"}\r
+        Mymr{"ম্যানমাৰ"}\r
+        Orya{"ওড়িয়া"}\r
+        Sinh{"সিংহলী"}\r
+        Taml{"তামিল"}\r
+        Telu{"তেলুগু"}\r
+        Thaa{"থানা"}\r
+        Thai{"থাই"}\r
+        Tibt{"তিব্বতী"}\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
-            chinese{"চীনা পঞ্জিকা"}\r
-            gregorian{"গ্ৰিগোৰীয় পঞ্জিকা"}\r
-            hebrew{"হীব্ৰু পঞ্জিকা"}\r
+            buddhist{"বৌদ্ধ কেলেণ্ডাৰ"}\r
+            chinese{"চীনা কেলেণ্ডাৰ"}\r
+            dangi{"দাংগি কেলেণ্ডাৰ"}\r
+            ethiopic{"ইথিঅ’পিক কেলেণ্ডাৰ"}\r
+            gregorian{"গ্ৰেগোৰিয়ান কেলেণ্ডাৰ"}\r
+            hebrew{"হিব্ৰু কেলেণ্ডাৰ"}\r
             indian{"ভাৰতীয় ৰাষ্ট্ৰীয় পঞ্জিকা"}\r
-            islamic{"à¦\87à¦\9aলামà§\80 à¦ªà¦\9eà§\8dà¦\9cিà¦\95া"}\r
+            islamic{"à¦\87à¦\9bলামà§\80 à¦\95à§\87লà§\87ণà§\8dডাৰ"}\r
             islamic-civil{"ইচলামী-নাগৰিকৰ পঞ্জিকা"}\r
-            iso8601{"iso8601"}\r
-            japanese{"জাপানী পঞ্জিকা"}\r
-            roc{"চীনা গণৰাজ্যৰ পঞ্জিকা"}\r
+            iso8601{"আই. এছ. অ’.-৮৬০১ কেলেণ্ডাৰ"}\r
+            japanese{"জাপানী কেলেণ্ডাৰ"}\r
+            persian{"ফাৰ্চী কেলেণ্ডাৰ"}\r
+            roc{"চীনা প্ৰজাতন্ত্ৰৰ কেলেণ্ডাৰ"}\r
+        }\r
+        cf{\r
+            account{"গাণনিক মুদ্ৰা সজ্জা"}\r
+            standard{"মান্য মুদ্ৰা সজ্জা"}\r
         }\r
         collation{\r
             big5han{"পৰম্পৰাগত চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - Big5"}\r
+            ducet{"ডিফ’ল্ট ইউনিকোড সজোৱা ক্ৰম"}\r
             gb2312han{"সৰল চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - GB2312"}\r
             phonebook{"টেলিফোন বহিৰ মতেশৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম"}\r
             pinyin{"পিন্‌য়িন শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম"}\r
-            standard{"standard"}\r
+            search{"সাধাৰণ উদ্দেশ্যে অনুসন্ধান"}\r
+            standard{"মান্য সজোৱা ক্ৰম"}\r
             stroke{"স্ট্ৰোক শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম"}\r
             traditional{"পৰম্পৰাগতভাবে শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম"}\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
-            beng{"beng"}\r
-            latn{"latn"}\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{"2.1.39.11"}\r
+    characterLabelPattern{\r
+        all{"{0} — সকলো"}\r
+        category-list{"{0}: {1}"}\r
+        compatibility{"{0} — সুসমতা"}\r
+        enclosed{"{0} — সংযোজিত"}\r
+        extended{"{0} — বিস্তাৰিত"}\r
+        historic{"{0} — ঐতিহাসিক"}\r
+        miscellaneous{"{0} — বিবিধ"}\r
+        other{"{0} — অন্যান্য"}\r
+        scripts{"লিপি — {0}"}\r
+        strokes{\r
+            one{"{0} ষ্ট্ৰ’ক"}\r
+            other{"{0} ষ্ট্ৰ’ক"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
     codePatterns{\r
-        language{"{0}"}\r
-        script{"{0}"}\r
-        territory{"{0}"}\r
+        language{"ভাষা: {0}"}\r
+        script{"লিপি: {0}"}\r
+        territory{"ক্ষেত্ৰ: {0}"}\r
     }\r
     localeDisplayPattern{\r
         keyTypePattern{"{0}: {1}"}\r
index cedcb4b..72168c0 100644 (file)
@@ -48,5 +48,5 @@ asa{
         zh{"Kichina"}\r
         zu{"Kidhulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d745fc9..86f6b66 100644 (file)
@@ -1077,7 +1077,7 @@ ast{
         VALLADER{"VALLADER"}\r
         WADEGILE{"romanización de Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — too"}\r
         category-list{"{0}: {1}"}\r
index 61bdd4c..84a3635 100644 (file)
@@ -17,7 +17,7 @@ az{
         ace{"akin"}\r
         ach{"akoli"}\r
         ada{"adanqme"}\r
-        ady{"aduge"}\r
+        ady{"adıgey"}\r
         ae{"avestan"}\r
         af{"afrikaans"}\r
         afh{"afrihili"}\r
@@ -87,7 +87,7 @@ az{
         chp{"çipevyan"}\r
         chr{"çeroki"}\r
         chy{"çeyen"}\r
-        ckb{"soran"}\r
+        ckb{"Mərkəzi kürdcə"}\r
         co{"korsika"}\r
         cop{"kopt"}\r
         cr{"kri"}\r
@@ -662,7 +662,7 @@ az{
         Zzzz{"tanınmayan yazı"}\r
     }\r
     Scripts%stand-alone{\r
-        Hans{"Sadələşdirilmiş Han"}\r
+        Hans{"Sadələşmiş Han"}\r
         Hant{"Ənənəvi Han"}\r
     }\r
     Types{\r
@@ -745,7 +745,7 @@ az{
             tibt{"Tibet Rəqəmləri"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Bütün"}\r
         category-list{"{0}: {1}"}\r
index 0955cd5..b15a7db 100644 (file)
@@ -399,7 +399,7 @@ az_Cyrl{
     Scripts{\r
         Cyrl{"Кирил"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"Дил: {0}"}\r
         script{"Скрипт: {0}"}\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2557ff0..d30d0e4 100644 (file)
@@ -48,5 +48,5 @@ bas{
         zh{"Hɔp u kinà"}\r
         zu{"Hɔp u zulù"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3194c2b..074e2f2 100644 (file)
@@ -101,9 +101,6 @@ be{
         en{"англійская"}\r
         eo{"эсперанта"}\r
         es{"іспанская"}\r
-        es_419{"лацінаамерыканская іспанская"}\r
-        es_ES{"еўрапейская іспанская"}\r
-        es_MX{"мексіканская іспанская"}\r
         et{"эстонская"}\r
         eu{"баскская"}\r
         ewo{"эвонда"}\r
@@ -115,8 +112,6 @@ be{
         fo{"фарэрская"}\r
         fon{"фон"}\r
         fr{"французская"}\r
-        fr_CA{"канадская французская"}\r
-        fr_CH{"швейцарская французская"}\r
         fro{"старафранцузская"}\r
         fur{"фрыульская"}\r
         fy{"заходняя фрызская"}\r
@@ -312,7 +307,6 @@ be{
         rm{"рэтараманская"}\r
         rn{"рундзі"}\r
         ro{"румынская"}\r
-        ro_MD{"малдаўская румынская"}\r
         rof{"ромба"}\r
         root{"корань"}\r
         ru{"руская"}\r
@@ -417,6 +411,8 @@ be{
         zap{"сапатэк"}\r
         zgh{"стандартная мараканская тамазіхт"}\r
         zh{"кітайская"}\r
+        zh_Hans{"кітайская (спрошчаныя іерогліфы)"}\r
+        zh_Hant{"кітайская (традыцыйныя іерогліфы)"}\r
         zu{"зулу"}\r
         zun{"зуні"}\r
         zxx{"няма моўнага матэрыялу"}\r
@@ -554,7 +550,7 @@ be{
             tibt{"тыбецкія лічбы"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Усё"}\r
         category-list{"{0}: {1}"}\r
index 9f11ce7..dab2bb4 100644 (file)
@@ -48,5 +48,5 @@ bem{
         zh{"Ichi Chainisi"}\r
         zu{"Ichi Zulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2911e12..426e9c7 100644 (file)
@@ -48,5 +48,5 @@ bez{
         zh{"Hichina"}\r
         zu{"Hizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 50eba4a..79b68fb 100644 (file)
@@ -828,7 +828,7 @@ bg{
         VALENCIA{"Валенсиански"}\r
         WADEGILE{"Уейд-Джайлс романизация"}\r
     }\r
-    Version{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – всички"}\r
         category-list{"{0}: {1}"}\r
index 49574b9..935bf1e 100644 (file)
@@ -48,5 +48,5 @@ bm{
         zh{"siniwakan"}\r
         zu{"zulukan"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 64ed2a4..3795047 100644 (file)
@@ -872,7 +872,7 @@ bn{
             wara{"ওয়ারেং সিটি সংখ্যা"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — সমস্ত"}\r
         category-list{"{0}: {1}"}\r
index 257a7d2..3fca182 100644 (file)
@@ -4,5 +4,5 @@ bn_IN{
     Languages{\r
         ksh{"কোলোনিয়ান"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 90670df..948b8e3 100644 (file)
@@ -21,5 +21,5 @@ bo{
         Tibt{"བོད་ཡིག་"}\r
         Zxxx{"སྙན་བརྒྱུད། ཡིག་རིགས་སུ་མ་བཀོད་པའི་ཟིན་ཐོ།"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e7d3834..70859b2 100644 (file)
@@ -3,6 +3,7 @@
 br{\r
     Keys{\r
         calendar{"deiziadur"}\r
+        cf{"furmad moneiz"}\r
         collation{"doare rummañ"}\r
         currency{"moneiz"}\r
         hc{"kelcʼhiad eurioù"}\r
@@ -65,6 +66,7 @@ br{
         bi{"bislama"}\r
         bik{"bikol"}\r
         bin{"bini"}\r
+        bla{"siksika"}\r
         bm{"bambara"}\r
         bn{"bengali"}\r
         bo{"tibetaneg"}\r
@@ -83,8 +85,10 @@ br{
         cch{"atsam"}\r
         ce{"tchetcheneg"}\r
         ceb{"cebuano"}\r
+        cgg{"chigaeg"}\r
         ch{"chamorru"}\r
         chb{"chibcha"}\r
+        chk{"chuuk"}\r
         chm{"marieg"}\r
         cho{"choktaw"}\r
         chp{"chipewyan"}\r
@@ -95,6 +99,7 @@ br{
         cop{"kopteg"}\r
         cr{"kri"}\r
         crh{"turkeg Krimea"}\r
+        crs{"kreoleg Sechelez"}\r
         cs{"tchekeg"}\r
         csb{"kachoubeg"}\r
         cu{"slavoneg iliz"}\r
@@ -103,18 +108,23 @@ br{
         da{"daneg"}\r
         dak{"dakota"}\r
         dar{"dargwa"}\r
+        dav{"taita"}\r
         de{"alamaneg"}\r
         de_AT{"alamaneg Aostria"}\r
         de_CH{"alamaneg uhel Suis"}\r
         del{"delaware"}\r
         dgr{"dogrib"}\r
         din{"dinka"}\r
+        dje{"zarma"}\r
         doi{"dogri"}\r
         dsb{"izelsorabeg"}\r
+        dua{"douala"}\r
         dum{"nederlandeg krenn"}\r
         dv{"divehi"}\r
+        dyo{"diola"}\r
         dyu{"dyula"}\r
         dz{"dzongkha"}\r
+        dzg{"dazagaeg"}\r
         ebu{"embu"}\r
         ee{"ewe"}\r
         efi{"efik"}\r
@@ -139,6 +149,7 @@ br{
         fa{"perseg"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
+        ff{"fula"}\r
         fi{"finneg"}\r
         fil{"filipineg"}\r
         fit{"finneg traoñienn an Torne"}\r
@@ -175,7 +186,9 @@ br{
         grc{"hencʼhresianeg"}\r
         gsw{"alamaneg Suis"}\r
         gu{"gujarati"}\r
+        guz{"gusiieg"}\r
         gv{"manaveg"}\r
+        gwi{"gwich’in"}\r
         ha{"haousa"}\r
         hai{"haida"}\r
         hak{"sinaeg Hakka"}\r
@@ -201,6 +214,7 @@ br{
         ig{"igbo"}\r
         ii{"yieg Sichuan"}\r
         ik{"inupiaq"}\r
+        ilo{"ilokanoeg"}\r
         inh{"ingoucheg"}\r
         io{"ido"}\r
         is{"islandeg"}\r
@@ -208,6 +222,9 @@ br{
         iu{"inuktitut"}\r
         ja{"japaneg"}\r
         jam{"kreoleg Jamaika"}\r
+        jbo{"lojban"}\r
+        jgo{"ngomba"}\r
+        jmc{"machame"}\r
         jpr{"yuzev-perseg"}\r
         jrb{"yuzev-arabeg"}\r
         jv{"javaneg"}\r
@@ -215,15 +232,23 @@ br{
         kaa{"karakalpak"}\r
         kab{"kabileg"}\r
         kac{"kachin"}\r
+        kaj{"jju"}\r
         kam{"kamba"}\r
         kbd{"kabardeg"}\r
+        kcg{"tyap"}\r
+        kde{"makonde"}\r
         kea{"kabuverdianu"}\r
+        kfo{"koroeg"}\r
         kg{"kongo"}\r
         kha{"khasi"}\r
         kho{"khotaneg"}\r
+        khq{"koyra chiini"}\r
         ki{"kikuyu"}\r
         kj{"kwanyama"}\r
         kk{"kazak"}\r
+        kkj{"kakoeg"}\r
+        kl{"greunlandeg"}\r
+        kln{"kalendjineg"}\r
         km{"khmer"}\r
         kmb{"kimbundu"}\r
         kn{"kanareg"}\r
@@ -233,16 +258,22 @@ br{
         kpe{"kpelle"}\r
         kr{"kanouri"}\r
         krc{"karatchay-balkar"}\r
+        kri{"krio"}\r
         krl{"karelieg"}\r
         kru{"kurukh"}\r
         ks{"kashmiri"}\r
+        ksb{"shambala"}\r
+        ksf{"bafiaeg"}\r
         ksh{"koluneg"}\r
         ku{"kurdeg"}\r
+        kum{"koumikeg"}\r
         kut{"kutenai"}\r
+        kv{"komieg"}\r
         kw{"kerneveureg"}\r
         ky{"kirgiz"}\r
         la{"latin"}\r
         lad{"ladino"}\r
+        lag{"langi"}\r
         lah{"lahnda"}\r
         lam{"lamba"}\r
         lb{"luksembourgeg"}\r
@@ -251,10 +282,13 @@ br{
         lg{"ganda"}\r
         li{"limbourgeg"}\r
         lij{"ligurieg"}\r
+        lkt{"lakota"}\r
         ln{"lingala"}\r
         lo{"laoseg"}\r
         lol{"mongo"}\r
+        lou{"kreoleg Louiziana"}\r
         loz{"lozi"}\r
+        lrc{"loureg an Norzh"}\r
         lt{"lituaneg"}\r
         lu{"luba-katanga"}\r
         lua{"luba-lulua"}\r
@@ -265,35 +299,46 @@ br{
         luy{"luyia"}\r
         lv{"latvieg"}\r
         lzh{"sinaeg lennegel"}\r
+        mad{"madoureg"}\r
         mag{"magahi"}\r
         mai{"maithili"}\r
+        mak{"makasar"}\r
         mas{"masai"}\r
         mdf{"moksha"}\r
         mdr{"mandar"}\r
         men{"mende"}\r
+        mer{"meru"}\r
         mfe{"moriseg"}\r
         mg{"malgacheg"}\r
         mga{"krenniwerzhoneg"}\r
+        mgh{"makhuwa-meetto"}\r
+        mgo{"metaʼ"}\r
         mh{"marshall"}\r
         mi{"maori"}\r
+        mic{"mikmakeg"}\r
+        min{"minangkabau"}\r
         mk{"makedoneg"}\r
         ml{"malayalam"}\r
         mn{"mongoleg"}\r
         mnc{"manchou"}\r
         mni{"manipuri"}\r
         moh{"mohawk"}\r
+        mos{"more"}\r
         mr{"marathi"}\r
         mrj{"marieg ar Cʼhornôg"}\r
         ms{"malayseg"}\r
         mt{"malteg"}\r
+        mua{"moundangeg"}\r
         mul{"yezhoù lies"}\r
         mus{"muskogi"}\r
         mwl{"mirandeg"}\r
         my{"birmaneg"}\r
         myv{"erza"}\r
+        mzn{"mazanderaneg"}\r
         na{"naurueg"}\r
         nan{"sinaeg Min Nan"}\r
         nap{"napolitaneg"}\r
+        naq{"nama"}\r
         nb{"norvegeg bokmål"}\r
         nd{"ndebele an Norzh"}\r
         nds{"alamaneg izel"}\r
@@ -306,13 +351,17 @@ br{
         njo{"aoeg"}\r
         nl{"nederlandeg"}\r
         nl_BE{"flandrezeg"}\r
+        nmg{"ngoumbeg"}\r
         nn{"norvegeg nynorsk"}\r
+        nnh{"ngiemboon"}\r
         no{"norvegeg"}\r
         nog{"nogay"}\r
         non{"hennorseg"}\r
         nov{"novial"}\r
+        nqo{"nkoeg"}\r
         nr{"ndebele ar Su"}\r
         nso{"sotho an Norzh"}\r
+        nus{"nouereg"}\r
         nv{"navacʼho"}\r
         nwc{"newari klasel"}\r
         ny{"nyanja"}\r
@@ -321,6 +370,7 @@ br{
         nyo{"nyoro"}\r
         oc{"okitaneg"}\r
         oj{"ojibwa"}\r
+        om{"oromoeg"}\r
         or{"oriya"}\r
         os{"oseteg"}\r
         osa{"osage"}\r
@@ -332,6 +382,7 @@ br{
         pap{"papiamento"}\r
         pau{"palau"}\r
         pcd{"pikardeg"}\r
+        pcm{"pidjin Nigeria"}\r
         pdc{"alamaneg Pennsylvania"}\r
         peo{"henberseg"}\r
         phn{"fenikianeg"}\r
@@ -347,6 +398,7 @@ br{
         pt_BR{"portugaleg Brazil"}\r
         pt_PT{"portugaleg Europa"}\r
         qu{"kechuaeg"}\r
+        quc{"kʼicheʼ"}\r
         qug{"kichuaeg Chimborazo"}\r
         raj{"rajasthani"}\r
         rap{"rapanui"}\r
@@ -358,6 +410,7 @@ br{
         ro_MD{"moldoveg"}\r
         rof{"rombo"}\r
         rom{"romanieg"}\r
+        root{"gwrizienn"}\r
         ru{"rusianeg"}\r
         rup{"aroumaneg"}\r
         rw{"kinyarwanda"}\r
@@ -366,14 +419,19 @@ br{
         sad{"sandawe"}\r
         sah{"yakouteg"}\r
         sam{"arameeg ar Samaritaned"}\r
+        saq{"samburu"}\r
         sas{"sasak"}\r
         sat{"santali"}\r
+        sba{"ngambayeg"}\r
+        sbp{"sangu"}\r
         sc{"sardeg"}\r
         scn{"sikilieg"}\r
         sco{"skoteg"}\r
         sd{"sindhi"}\r
         sdc{"sasareseg"}\r
         se{"sámi an Norzh"}\r
+        seh{"sena"}\r
+        ses{"koyraboro senni"}\r
         sg{"sango"}\r
         sga{"heniwerzhoneg"}\r
         sh{"serb-kroateg"}\r
@@ -395,10 +453,13 @@ br{
         sog{"sogdieg"}\r
         sq{"albaneg"}\r
         sr{"serbeg"}\r
+        srn{"sranan tongo"}\r
         srr{"serer"}\r
         ss{"swati"}\r
+        ssy{"sahoeg"}\r
         st{"sotho ar Su"}\r
         su{"sundaneg"}\r
+        suk{"sukuma"}\r
         sux{"sumereg"}\r
         sv{"svedeg"}\r
         sw{"swahili"}\r
@@ -410,6 +471,8 @@ br{
         ta{"tamileg"}\r
         tcy{"touloueg"}\r
         te{"telougou"}\r
+        tem{"temne"}\r
+        teo{"tesoeg"}\r
         ter{"tereno"}\r
         tet{"tetum"}\r
         tg{"tadjik"}\r
@@ -429,12 +492,14 @@ br{
         tpi{"tok pisin"}\r
         tr{"turkeg"}\r
         tru{"turoyoeg"}\r
+        trv{"taroko"}\r
         ts{"tsonga"}\r
         tsi{"tsimshian"}\r
         tt{"tatar"}\r
         tum{"tumbuka"}\r
         tvl{"tuvalu"}\r
         tw{"twi"}\r
+        twq{"tasawakeg"}\r
         ty{"tahitianeg"}\r
         tyv{"touva"}\r
         tzm{"tamazigteg Kreizatlas"}\r
@@ -455,6 +520,7 @@ br{
         vo{"volapük"}\r
         vot{"votyakeg"}\r
         vro{"voroeg"}\r
+        vun{"vunjo"}\r
         wa{"walloneg"}\r
         wae{"walser"}\r
         wal{"walamo"}\r
@@ -465,8 +531,11 @@ br{
         xal{"kalmouk"}\r
         xh{"xhosa"}\r
         xmf{"megreleg"}\r
+        xog{"sogaeg"}\r
         yao{"yao"}\r
         yap{"yapeg"}\r
+        yav{"yangben"}\r
+        ybb{"yemba"}\r
         yi{"yiddish"}\r
         yo{"yorouba"}\r
         yue{"kantoneg"}\r
@@ -482,6 +551,7 @@ br{
         zu{"zouloueg"}\r
         zun{"zuni"}\r
         zxx{"diyezh"}\r
+        zza{"zazakeg"}\r
     }\r
     Languages%short{\r
         az{"azeri"}\r
@@ -489,11 +559,13 @@ br{
         en_US{"saozneg SU"}\r
     }\r
     Scripts{\r
+        Adlm{"adlam"}\r
         Arab{"arabek"}\r
         Armi{"arameek impalaerel"}\r
         Armn{"armenianek"}\r
         Avst{"avestek"}\r
         Bali{"balinek"}\r
+        Bamu{"bamounek"}\r
         Beng{"bengali"}\r
         Bopo{"bopomofo"}\r
         Brai{"Braille"}\r
@@ -510,6 +582,7 @@ br{
         Grek{"gresianek"}\r
         Gujr{"gujarati"}\r
         Guru{"gurmukhi"}\r
+        Hanb{"han gant bopomofo"}\r
         Hang{"hangeul"}\r
         Hani{"han"}\r
         Hans{"eeunaet"}\r
@@ -517,7 +590,9 @@ br{
         Hebr{"hebraek"}\r
         Hira{"hiragana"}\r
         Hluw{"hieroglifoù Anatolia"}\r
+        Hrkt{"silabennaouegoù japanek"}\r
         Ital{"henitalek"}\r
+        Jamo{"jamo"}\r
         Java{"javanek"}\r
         Jpan{"japanek"}\r
         Kana{"katakana"}\r
@@ -550,6 +625,7 @@ br{
         Vaii{"vai"}\r
         Xpeo{"persek kozh"}\r
         Zmth{"notadur jedoniel"}\r
+        Zsye{"fromlunioù"}\r
         Zsym{"arouezioù"}\r
         Zxxx{"anskrivet"}\r
         Zyyy{"boutin"}\r
@@ -580,10 +656,14 @@ br{
             persian{"deiziadur persek"}\r
             roc{"deiziadur Republik Sina"}\r
         }\r
+        cf{\r
+            standard{"furmad moneiz standart"}\r
+        }\r
         collation{\r
             big5han{"urzh rummañ sinaek hengounel - Big5"}\r
             dictionary{"urzh rummañ ar geriadur"}\r
             ducet{"urzh rummañ Unicode dre ziouer"}\r
+            emoji{"urzh rummañ ar fromlunioù"}\r
             eor{"reolennoù urzhiañ europat"}\r
             gb2312han{"urzh rummañ sinaek eeunaet - GB2312"}\r
             phonebook{"urzh rummañ al levr-pellgomz"}\r
@@ -617,6 +697,7 @@ br{
             brah{"sifroù brahmi"}\r
             cakm{"sifroù chakma"}\r
             cham{"sifroù cham"}\r
+            cyrl{"niveroù kirillek"}\r
             deva{"sifroù devanagari"}\r
             ethi{"niveroù etiopiat"}\r
             fullwide{"sifroù led plaen"}\r
@@ -672,23 +753,36 @@ br{
         1959ACAD{"belaruseg akademek"}\r
         1994{"reizhskrivadur resianek skoueriekaet"}\r
         1996{"reizhskrivadur alamanek 1996"}\r
+        ABL1943{"doare reizhskrivañ 1943"}\r
+        AKUAPEM{"akuapem"}\r
         ALALC97{"romanekadur ALA-LC 1997"}\r
         ALUKU{"rannyezh aloukou"}\r
+        AO1990{"emglev 1990 war ar reizhskrivadur portugalek"}\r
         AREVELA{"armenianeg ar Reter"}\r
         AREVMDA{"armenianeg ar Cʼhornôg"}\r
+        ASANTE{"achanti"}\r
         BAKU1926{"lizherenneg latin turkek unvan"}\r
+        BALANKA{"rannyezh aniiek Balanka"}\r
+        BARLA{"rannyezhoù Barlavento kreoleg ar Cʼhab-Glas"}\r
+        BASICENG{"saozneg diazez"}\r
         BAUDDHA{"sanskriteg hiron boudaat"}\r
         BISCAYAN{"rannyezh euskarek Bizkaia"}\r
         BISKE{"rannyezh San Giorgio/Bila"}\r
         BOHORIC{"lizherenneg Bohorič"}\r
         BOONT{"boontling"}\r
+        COLB1945{"emglev 1945 war reizhskrivadur portugaleg Brazil"}\r
+        CORNU{"saozneg Kerne-Veur"}\r
         DAJNKO{"lizherenneg Dajnko"}\r
+        EKAVSK{"serbeg gant distagadur ekavian"}\r
         EMODENG{"saozneg rakvodern"}\r
         FONIPA{"lizherenneg fonetek etrebroadel"}\r
+        FONNAPA{"FONNAPA"}\r
         FONUPA{"lizherenneg fonetek ouralek"}\r
         FONXSAMP{"treuzskrivadur X-SAMPA"}\r
         HEPBURN{"romanekadur Hepburn"}\r
         HOGNORSK{"uhelnorvegeg"}\r
+        HSISTEMO{"esperanteg sistem H"}\r
+        IJEKAVSK{"serbeg gant distagadur ijekavian"}\r
         ITIHASA{"sanskriteg itihâsa"}\r
         JAUER{"rannyezh romañchek Jauer"}\r
         JYUTPING{"romanekadur kantonek Jyutping"}\r
@@ -702,9 +796,14 @@ br{
         MONOTON{"gresianeg untonel"}\r
         NDYUKA{"rannyezh Ndyuka"}\r
         NEDIS{"rannyezh Natisone"}\r
+        NEWFOUND{"saozneg an Douar-Nevez"}\r
         NJIVA{"rannyezh Gniva/Njiva"}\r
         NULIK{"volapük modern"}\r
         OSOJS{"rannyezh Oseacco/Osojane"}\r
+        OXENDICT{"skritur Oxford English Dictionary"}\r
+        PAHAWH2{"PAHAWH2"}\r
+        PAHAWH3{"PAHAWH3"}\r
+        PAHAWH4{"PAHAWH4"}\r
         PAMAKA{"rannyezh Pamaka"}\r
         PETR1708{"reizhskrivadur rusianek 1708 Pêr I"}\r
         PINYIN{"romanekadur pinyin"}\r
@@ -716,9 +815,12 @@ br{
         ROZAJ{"resianeg"}\r
         RUMGR{"romañcheg Grischun"}\r
         SAAHO{"saho"}\r
-        SCOTLAND{"saozneg standart skos"}\r
-        SCOUSE{"scouse"}\r
+        SCOTLAND{"saozneg standart Skos"}\r
+        SCOUSE{"saozneg Liverpool (scouse)"}\r
+        SIMPLE{"SIMPLE"}\r
         SOLBA{"rannyezh Stolvizza/Solbica"}\r
+        SOTAV{"rannyezhoù Sotavento kreoleg ar Cʼhab-Glas"}\r
+        SPANGLIS{"SPANGLIS"}\r
         SURMIRAN{"rannyezh romañchek surmiran"}\r
         SURSILV{"rannyezh romañchek sursilvan"}\r
         SUTSILV{"rannyezh romañchek sutsilvan"}\r
@@ -731,8 +833,9 @@ br{
         VALENCIA{"valensianeg"}\r
         VALLADER{"rannyezh romañchek Vallader"}\r
         WADEGILE{"romanekadur Wade-Giles"}\r
+        XSISTEMO{"esperanteg sistem X"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 16bcea3..e0ae3ad 100644 (file)
@@ -609,7 +609,7 @@ brx{
         SOLBA{"श्टोलविज़्ज़ा या सोलबीका डायलेक्ट"}\r
         TARASK{"तारास्कीएवीचा वर्तनी"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         script{"देवनागरी: {0}"}\r
         territory{"क्षेत्र:भारत {0}"}\r
index faea7e6..0976b7f 100644 (file)
@@ -796,7 +796,7 @@ bs{
         TARASK{"Taraskijevica ortografija"}\r
         VALENCIA{"Valencijski"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — sve"}\r
         category-list{"{0}: {1}"}\r
index 25732df..19f8ef5 100644 (file)
@@ -696,7 +696,7 @@ bs_Cyrl{
         TARASK{"Тараскијевичка ортографија"}\r
         VALENCIA{"Валенцијска"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — све"}\r
         strokes{\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a6dacf2..245ecad 100644 (file)
@@ -49,6 +49,7 @@ ca{
         arn{"mapudungu"}\r
         aro{"araona"}\r
         arp{"arapaho"}\r
+        ars{"àrab najdi"}\r
         arw{"arauac"}\r
         arz{"àrab egipci"}\r
         as{"assamès"}\r
@@ -998,7 +999,7 @@ ca{
         VALLADER{"baix engiadinès"}\r
         WADEGILE{"romanització Wade-Giles"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — tot"}\r
         category-list{"{0}: {1}"}\r
index 13d4f67..573f6b0 100644 (file)
@@ -833,7 +833,7 @@ ccp{
             vaii{"𑄞𑄭 𑄚𑄘"}\r
         }\r
     }\r
-    Version{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — 𑄗𑄪𑄟𑄴"}\r
         category-list{"{0}: {1}"}\r
index 09ff6f2..971aece 100644 (file)
@@ -465,7 +465,7 @@ ce{
             persian{"гӀажарийн"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Мотт: {0}"}\r
         script{"Скрипт: {0}"}\r
index fea3e5c..801b0fb 100644 (file)
@@ -48,5 +48,5 @@ cgg{
         zh{"Oruchaina"}\r
         zu{"Oruzuru"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4ef8639..0c92fae 100644 (file)
@@ -538,7 +538,7 @@ chr{
             tibt{"ᏘᏇᏔᏂ ᏗᏎᏍᏗ"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ᏂᎦᏓ"}\r
         category-list{"{0}: {1}"}\r
index 2aae1ca..7ea1cbc 100644 (file)
@@ -135,5 +135,5 @@ ckb{
         Thaa{"تانە"}\r
         Thai{"تایلەندی"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
 }\r
index a6191d7..24f7513 100644 (file)
@@ -51,6 +51,7 @@ cs{
         aro{"araonština"}\r
         arp{"arapažština"}\r
         arq{"arabština (alžírská)"}\r
+        ars{"arabština (nadžd)"}\r
         arw{"arawacké jazyky"}\r
         ary{"arabština (marocká)"}\r
         arz{"arabština (egyptská)"}\r
@@ -960,7 +961,7 @@ cs{
         SCOTLAND{"angličtina (Skotsko)"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
     characterLabelPattern{\r
         all{"{0} – vše"}\r
         category-list{"{0}: {1}"}\r
index 8f27213..800ba5e 100644 (file)
@@ -732,7 +732,7 @@ cy{
         VAIDIKA{"VAIDIKA"}\r
         VALLADER{"VALLADER"}\r
     }\r
-    Version{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — y cwbl"}\r
         category-list{"{0}: {1}"}\r
index 9deb5b9..d814abf 100644 (file)
@@ -46,6 +46,7 @@ da{
         arc{"aramæisk"}\r
         arn{"mapudungun"}\r
         arp{"arapaho"}\r
+        ars{"najd-arabisk"}\r
         arw{"arawak"}\r
         as{"assamesisk"}\r
         asa{"asu"}\r
@@ -556,6 +557,7 @@ da{
     Languages%short{\r
         az{"azeri"}\r
         en_GB{"engelsk (UK)"}\r
+        en_US{"en-US"}\r
     }\r
     Languages%variant{\r
         ps{"pushto"}\r
@@ -956,7 +958,7 @@ da{
         VALLADER{"vallader"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} – alle"}\r
         category-list{"{0}: {1}"}\r
index d85c264..b3b6892 100644 (file)
@@ -48,5 +48,5 @@ dav{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a50a5a6..b084f00 100644 (file)
@@ -51,6 +51,7 @@ de{
         aro{"Araona"}\r
         arp{"Arapaho"}\r
         arq{"Algerisches Arabisch"}\r
+        ars{"Nadschd-Arabisch"}\r
         arw{"Arawak"}\r
         ary{"Marokkanisches Arabisch"}\r
         arz{"Ägyptisches Arabisch"}\r
@@ -1018,7 +1019,7 @@ de{
         VALENCIA{"Valencianisch"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
     characterLabelPattern{\r
         all{"{0} — Alle"}\r
         category-list{"{0}: {1}"}\r
index 5da6d4d..7c70684 100644 (file)
@@ -16,5 +16,5 @@ de_AT{
         sh{"Serbokroatisch"}\r
         szl{"Schlesisch"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6ac762e..44f0620 100644 (file)
@@ -34,5 +34,5 @@ de_CH{
             ussystem{"US Mass-System"}\r
         }\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
 }\r
index 1b16c8b..edad6c5 100644 (file)
@@ -4,5 +4,5 @@ de_LU{
     Languages{\r
         be{"Belarussisch"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index cc6ef52..75eef73 100644 (file)
@@ -48,5 +48,5 @@ dje{
         zh{"Sinuwa senni"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a6600b1..702198b 100644 (file)
@@ -378,7 +378,7 @@ dsb{
             tibt{"tibetske cyfry"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Rěc: {0}"}\r
         script{"Pismo: {0}"}\r
index bc98fa0..846d89d 100644 (file)
@@ -4,5 +4,5 @@ dua{
     Languages{\r
         dua{"duálá"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index be399b0..03e029b 100644 (file)
@@ -48,5 +48,5 @@ dyo{
         zh{"sinua"}\r
         zu{"sulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6fd2f37..16620bc 100644 (file)
@@ -234,7 +234,7 @@ dz{
             tibt{"ང་བཅས་ཀྱི་ཨང་ཡིག"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"ཁ་སྐད་: {0}"}\r
         script{"ཡིག་གཟུགས་: {0}"}\r
index 1a78def..3241ec1 100644 (file)
@@ -48,5 +48,5 @@ ebu{
         zh{"Kĩchina"}\r
         zu{"Kĩzulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5c000e0..b316613 100644 (file)
@@ -299,7 +299,7 @@ ee{
             tibt{"tibet digitwo"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"gbegbɔgblɔ {0}"}\r
         script{"gbeŋɔŋlɔ {0}"}\r
index c56947b..dba061d 100644 (file)
@@ -46,6 +46,7 @@ el{
         arc{"Αραμαϊκά"}\r
         arn{"Αραουκανικά"}\r
         arp{"Αραπάχο"}\r
+        ars{"Αραβικά Νάτζντι"}\r
         arw{"Αραγουάκ"}\r
         as{"Ασαμικά"}\r
         asa{"Άσου"}\r
@@ -526,7 +527,7 @@ el{
         was{"Γουασό"}\r
         wbp{"Γουαρλπίρι"}\r
         wo{"Γουόλοφ"}\r
-        wuu{"wuu"}\r
+        wuu{"Κινεζικά Γου"}\r
         xal{"Καλμίκ"}\r
         xh{"Κόσα"}\r
         xog{"Σόγκα"}\r
@@ -881,7 +882,7 @@ el{
         VALENCIA{"Βαλενθιανά"}\r
         WADEGILE{"Εκλατινισμένα Γουάντ-Γκιλς"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — όλα"}\r
         category-list{"{0}: {1}"}\r
index 0a2c940..188c674 100644 (file)
@@ -548,6 +548,7 @@ en{
         sog{"Sogdien"}\r
         sq{"Albanian"}\r
         sr{"Serbian"}\r
+        sr_ME{"Montenegrin"}\r
         srn{"Sranan Tongo"}\r
         srr{"Serer"}\r
         ss{"Swati"}\r
@@ -1226,7 +1227,7 @@ en{
         VALENCIA{"Valencian"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
     characterLabelPattern{\r
         all{"{0} — all"}\r
         category-list{"{0}: {1}"}\r
index 16fe348..f0bb120 100644 (file)
@@ -10,5 +10,5 @@ en_001{
             yes{"Sort Unicode Normalised"}\r
         }\r
     }\r
-    Version{"2.1.35.71"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c92182..bc9e517 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8a0d454..77b05c3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 07cb4ef..beab069 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4310ea..e7db69b 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 57cf534..71b6b1d 100644 (file)
@@ -18,5 +18,5 @@ en_AU{
             ethiopic{"Ethiopian Calendar"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 84a0efd..9ed875f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e58d31c..79bbbec 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3b9186..1221395 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95e82b5..2302f22 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a73b7bc..c19e046 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5891076..7a35027 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b6f2a81..404bc99 100644 (file)
@@ -13,6 +13,13 @@ en_CA{
             dangi{"Korean Calendar"}\r
             ethiopic{"Ethiopian Calendar"}\r
         }\r
+        d0{\r
+            fwidth{"To Full Width"}\r
+            hwidth{"To Half Width"}\r
+            lower{"To Lower Case"}\r
+            title{"To Title Case"}\r
+            upper{"To Upper Case"}\r
+        }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index a54c911..be9edae 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0f0a97..7f88422 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f59d92a..412c586 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5aacc7b..a5cccf6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c9c483..671fbc2 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72ed165..60e8574 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d758dd..b875050 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e767286..a597d81 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b548583..0895e8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7fd2c9a..8d07c9f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d35b004..5440566 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 86f8e9d..1262667 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5df30b2..dcebb46 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3bed12a..763d7d8 100644 (file)
@@ -19,7 +19,7 @@ en_GB{
             h24{"24-Hour System (1–24)"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     characterLabelPattern{\r
         all{"{0} – all"}\r
         compatibility{"{0} – compatibility"}\r
index 7921b24..f97da06 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c0d3839..446b666 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b66f585..2cbef88 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5fe0d68..0011868 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1a05f40..d1321fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f7397d6..fd7bc58 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a04a10..e057509 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 18bb2f3..56507ab 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76bee45..f1deccb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e66ecc0..334249a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9969b0d..a09576c 100644 (file)
@@ -4,7 +4,6 @@ en_IN{
     %%Parent{"en_001"}\r
     Languages{\r
         bn{"Bengali"}\r
-        or{"Oriya"}\r
     }\r
     Scripts{\r
         Beng{"Bengali"}\r
@@ -16,5 +15,5 @@ en_IN{
             orya{"Oriya Digits"}\r
         }\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 2b8ba3f..30f0e6c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c47ce4e..58a67ff 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d812c18..47beda6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b11b581..08c9c35 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 899b1ea..e32ac54 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35fb03c..5071564 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd356e9..f41f763 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bfd0689..266321d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc63c0..299bf7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b723857..58abc12 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f967e69..4931947 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f6dfb6a..f86302e 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a027fc6..6f2ffa6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8464a2e..6c3347d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 890b025..ea74072 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 873b8e1..cdfcd49 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b36d9ba..9ceae05 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5f0af42..e4f578d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 358d626..f6a4801 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 745a114..c6fd6e5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9d0d0cd..aa5abc8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 165856c..6f449af 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 266914a..3ed1d47 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2d2e828..0f1eb73 100644 (file)
@@ -5,5 +5,5 @@ en_NZ{
     Languages{\r
         mi{"Māori"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 6aa4d92..b38e2e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 080d0e6..95260de 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fef2013..b579c0d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4094568..c2a368a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 30541dc..ce9d554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76b4d89..290785c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e2de69a..b43b4f6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77c65fa..f714f79 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 87a33e2..59aff7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 264d713..385979d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5250ec4..78699e3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cf6ab49..b7760f3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59ccb39..3dd1ef3 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3e61485..3f479d4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2b3a430..5eb9913 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ec1778f..e557d34 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cc8b6f1..3f88c75 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 020c31b..57b8d9b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d27b6ec..e1d7464 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 21b8b30..4901b27 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4ebd07d..2138644 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5e30f2b..1bd5428 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eaac010..8c7bdb7 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12317cf..b20e591 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12b8824..8eba2ed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c90fd7..5ce4a40 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa82ef7..dde447b 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 19ed0d0..de58bed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bb5dbed..3c7e040 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6e2778f..8617781 100644 (file)
@@ -156,5 +156,5 @@ eo{
         zu{"zulua"}\r
         zxx{"nelingvaĵo"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4865223..ed4c4ed 100644 (file)
@@ -46,6 +46,7 @@ es{
         arc{"arameo"}\r
         arn{"mapuche"}\r
         arp{"arapaho"}\r
+        ars{"árabe najdí"}\r
         arw{"arahuaco"}\r
         as{"asamés"}\r
         asa{"asu"}\r
@@ -850,7 +851,7 @@ es{
         VALENCIA{"Valenciano"}\r
         WADEGILE{"Romanización Wade-Giles"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — Todo"}\r
         category-list{"{0}: {1}"}\r
index cfcb297..9e35f65 100644 (file)
@@ -14,6 +14,7 @@ es_419{
         ady{"adigeo"}\r
         alt{"altái del sur"}\r
         arp{"arapajó"}\r
+        ars{"árabe de Néyed"}\r
         bla{"siksiká"}\r
         eu{"vasco"}\r
         fon{"fon"}\r
@@ -95,7 +96,7 @@ es_419{
             wara{"dígitos en Warang Citi"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     characterLabelPattern{\r
         enclosed{"{0} — Adjunto"}\r
         extended{"{0} — Extendido"}\r
index 7836c46..6970461 100644 (file)
@@ -18,5 +18,5 @@ es_AR{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 24a6776..598b201 100644 (file)
@@ -18,5 +18,5 @@ es_BO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e68498b..fb21200 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa10911..fa5a9f6 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{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 12f1d72..322dfcd 100644 (file)
@@ -23,5 +23,5 @@ es_CL{
             phonebook{"orden de directorio telefónico"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 899d2c6..565c600 100644 (file)
@@ -18,5 +18,5 @@ es_CO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 67e214b..e0e53d7 100644 (file)
@@ -18,5 +18,5 @@ es_CR{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 66f010e..b2e6637 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 84d31c4..366a15d 100644 (file)
@@ -18,5 +18,5 @@ es_DO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f8440cb..7f511a3 100644 (file)
@@ -18,5 +18,5 @@ es_EC{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e2cff1c..e9ff6bf 100644 (file)
@@ -18,5 +18,5 @@ es_GT{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b886511..f3f6898 100644 (file)
@@ -18,5 +18,5 @@ es_HN{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9cb8a47..8071b6f 100644 (file)
@@ -112,7 +112,7 @@ es_MX{
             tibt{"Dígitos en tibetano"}\r
         }\r
     }\r
-    Version{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
     characterLabelPattern{\r
         historic{"{0} — Históricos"}\r
         miscellaneous{"{0} — Varios"}\r
index ecffa9b..80cb43c 100644 (file)
@@ -18,5 +18,5 @@ es_NI{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 0a7f6eb..de21812 100644 (file)
@@ -18,5 +18,5 @@ es_PA{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9610e30..98b9d44 100644 (file)
@@ -18,5 +18,5 @@ es_PE{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1ec406e..709a3cb 100644 (file)
@@ -11,5 +11,5 @@ es_PR{
         ss{"siswati"}\r
         wo{"wolof"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dad4cc9..d210966 100644 (file)
@@ -18,5 +18,5 @@ es_PY{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2ccf1af..c8a1d45 100644 (file)
@@ -11,5 +11,5 @@ es_SV{
         ss{"siswati"}\r
         wo{"wolof"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 15e45bc..1f207eb 100644 (file)
@@ -64,7 +64,7 @@ es_US{
             laoo{"números en lao"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     characterLabelPattern{\r
         historic{"{0} — Históricos"}\r
         miscellaneous{"{0} — Varios"}\r
index 5d07624..93c3e61 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8142688..b4b8c18 100644 (file)
@@ -18,5 +18,5 @@ es_VE{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6aa7c7f..794a06b 100644 (file)
@@ -1036,7 +1036,7 @@ et{
         VALENCIA{"valentsia"}\r
         WADEGILE{"Wade’i-Gilesi latinisatsioon"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – kõik"}\r
         category-list{"{0}: {1}"}\r
index 4caef47..d5de4e7 100644 (file)
@@ -27,7 +27,7 @@ eu{
         ace{"acehnera"}\r
         ach{"acholiera"}\r
         ada{"adangmera"}\r
-        ady{"adyghera"}\r
+        ady{"adigera"}\r
         af{"afrikaansa"}\r
         agq{"aghemera"}\r
         ain{"ainuera"}\r
@@ -423,7 +423,7 @@ eu{
         zza{"zazakia"}\r
     }\r
     Languages%short{\r
-        az{"azeriera"}\r
+        az{"azerbaijanera"}\r
         en_GB{"Erresuma Batuko ingelesa"}\r
         en_US{"AEBko ingelesa"}\r
     }\r
@@ -625,7 +625,7 @@ eu{
         SCOTLAND{"ESKOZIAR INGELESA"}\r
         VALENCIA{"VALENTZIERA"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Guztiak"}\r
         category-list{"{0}: {1}"}\r
index 7bb3b42..6768fe6 100644 (file)
@@ -48,5 +48,5 @@ ewo{
         zh{"Ǹkɔ́bɔ tsainís"}\r
         zu{"ǹkɔ́bɔ zulú"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7bc1b8d..5c78aa1 100644 (file)
@@ -855,7 +855,7 @@ fa{
         SAAHO{"ساهویی"}\r
         SCOTLAND{"انگلیسی معیار اسکاتلند"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — همه"}\r
         category-list{"{0}: {1}"}\r
index 9562b8e..bba10ad 100644 (file)
@@ -32,5 +32,5 @@ fa_AF{
     Scripts{\r
         Mong{"مغلی"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6609066..56f27ec 100644 (file)
@@ -48,5 +48,5 @@ ff{
         zh{"Sinuwaare"}\r
         zu{"Suluŋkoore"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7ea0aca..1146b3e 100644 (file)
@@ -51,6 +51,7 @@ fi{
         aro{"araona"}\r
         arp{"arapaho"}\r
         arq{"algerianarabia"}\r
+        ars{"arabia – najd"}\r
         arw{"arawak"}\r
         ary{"marokonarabia"}\r
         arz{"egyptinarabia"}\r
@@ -1117,7 +1118,7 @@ fi{
     Variants%secondary{\r
         FONUPA{"suomalais-ugrilainen tarkekirjoitus"}\r
     }\r
-    Version{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} – kaikki"}\r
         category-list{"{0}: {1}"}\r
index 350047f..669e2c3 100644 (file)
@@ -664,7 +664,7 @@ fil{
         PINYIN{"Pinyin Romanization"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — lahat"}\r
         category-list{"{0}: {1}"}\r
index 995419f..ece0065 100644 (file)
@@ -50,7 +50,7 @@ fo{
         bin{"bini"}\r
         bla{"siksika"}\r
         bm{"bambara"}\r
-        bn{"bengalskt"}\r
+        bn{"bangla"}\r
         bo{"tibetskt"}\r
         br{"bretonskt"}\r
         brx{"bodo"}\r
@@ -135,7 +135,7 @@ fo{
         hr{"kroatiskt"}\r
         hsb{"ovara sorbian"}\r
         hsn{"xiang kinesiskt"}\r
-        ht{"haitiskt"}\r
+        ht{"haitiskt creole"}\r
         hu{"ungarskt"}\r
         hup{"hupa"}\r
         hy{"armenskt"}\r
@@ -278,7 +278,7 @@ fo{
         nyn{"nyankole"}\r
         oc{"occitanskt"}\r
         om{"oromo"}\r
-        or{"oriya"}\r
+        or{"odia"}\r
         os{"ossetiskt"}\r
         pa{"punjabi"}\r
         pag{"pangasinan"}\r
@@ -419,7 +419,7 @@ fo{
     Scripts{\r
         Arab{"arabisk"}\r
         Armn{"armenskt"}\r
-        Beng{"bengali"}\r
+        Beng{"bangla"}\r
         Bopo{"bopomofo"}\r
         Brai{"blindaskrift"}\r
         Cyrl{"kyrilliskt"}\r
@@ -448,7 +448,7 @@ fo{
         Mlym{"malayalam"}\r
         Mong{"mongolsk"}\r
         Mymr{"myanmarskt"}\r
-        Orya{"oriya"}\r
+        Orya{"odia"}\r
         Sinh{"sinhala"}\r
         Taml{"tamilskt"}\r
         Telu{"telugu"}\r
@@ -511,7 +511,7 @@ fo{
             arabext{"víðkað arabisk tøl"}\r
             armn{"armensk tøl"}\r
             armnlow{"armensk tøl (smáir bókstavir)"}\r
-            beng{"bengalisk tøl"}\r
+            beng{"bangla tøl"}\r
             deva{"devanagarik tøl"}\r
             ethi{"etiopisk tøl"}\r
             fullwide{"tøl í fullari longd"}\r
@@ -534,7 +534,7 @@ fo{
             latn{"vesturlendsk tøl"}\r
             mlym{"malayalam tøl"}\r
             mymr{"myanmarsk tøl"}\r
-            orya{"oriya tøl"}\r
+            orya{"odia tøl"}\r
             roman{"rómartøl"}\r
             romanlow{"rómartøl (smáir bókstavir)"}\r
             taml{"vanlig tamilsk tøl"}\r
@@ -550,7 +550,7 @@ fo{
         POLYTON{"polytonísk"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Alt"}\r
         category-list{"{0}: {1}"}\r
index 302ceca..a5b47a3 100644 (file)
@@ -51,6 +51,7 @@ fr{
         aro{"araona"}\r
         arp{"arapaho"}\r
         arq{"arabe algérien"}\r
+        ars{"arabe najdi"}\r
         arw{"arawak"}\r
         ary{"arabe marocain"}\r
         arz{"arabe égyptien"}\r
@@ -966,7 +967,7 @@ fr{
         VALENCIA{"valencien"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — tout"}\r
         category-list{"{0} : {1}"}\r
index 68f47b6..97db582 100644 (file)
@@ -13,5 +13,5 @@ fr_BE{
         smn{"same d’Inari"}\r
         sms{"same skolt"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9a6ab9c..a60ed61 100644 (file)
@@ -95,7 +95,7 @@ fr_CA{
             taml{"chiffres tamouls traditionnels"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     characterLabelPattern{\r
         category-list{"{0} : {1}"}\r
     }\r
index 865df1b..1d0702a 100644 (file)
@@ -6,5 +6,5 @@ fr_CH{
         pdc{"allemand de Pennsylvanie"}\r
         sdh{"kurde méridional"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.85"}\r
 }\r
index 9b965b9..7fc9ad5 100644 (file)
@@ -299,7 +299,7 @@ fur{
         SOLBA{"dialet di Stolvize"}\r
         VALENCIA{"valenzian"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"Lenghe: {0}"}\r
         script{"Scriture: {0}"}\r
index 48fdee1..2d9928b 100644 (file)
@@ -886,7 +886,7 @@ fy{
         VALLADER{"Vallader"}\r
         WADEGILE{"Wade-Giles-romanisering"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Taal: {0}"}\r
         script{"Skrift: {0}"}\r
index f4304a2..62c4b80 100644 (file)
@@ -853,7 +853,7 @@ ga{
         WADEGILE{"Rómhánú Wade-Giles"}\r
         XSISTEMO{"XSISTEMO"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Uile"}\r
         category-list{"{0}: {1}"}\r
index 7f4a830..57fb1a8 100644 (file)
@@ -1004,7 +1004,7 @@ gd{
         WADEGILE{"Ròmanachadh Wade-Giles"}\r
         XSISTEMO{"XSISTEMO"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – na h-uile"}\r
         category-list{"{0}: {1}"}\r
index c2417a0..c3569d2 100644 (file)
@@ -626,7 +626,7 @@ gl{
             vaii{"Díxitos Vai"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} (todo)"}\r
         category-list{"{0}: {1}"}\r
index 5a855bf..524f863 100644 (file)
@@ -619,7 +619,7 @@ gsw{
         SOLBA{"Solbica-Mundart"}\r
         TARASK{"Taraskievica-Rächtschriibig"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Schpraach: {0}"}\r
         script{"Schrift: {0}"}\r
index 530a841..18da8a9 100644 (file)
@@ -850,7 +850,7 @@ gu{
         PINYIN{"પિનયિન રોમનાઇઝેશન"}\r
         WADEGILE{"વેડ-ગિલ્સ રોમનાઇઝેશન"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — તમામ"}\r
         category-list{"{0}: {1}"}\r
index b047423..3f65d99 100644 (file)
@@ -48,5 +48,5 @@ guz{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 930f21c..15ad271 100644 (file)
@@ -4,5 +4,5 @@ gv{
     Languages{\r
         gv{"Gaelg"}\r
     }\r
-    Version{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 97e3a34..084acce 100644 (file)
@@ -47,5 +47,5 @@ ha{
         zh{"Harshen Sin"}\r
         zu{"Harshen Zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d1ad8ab..9006724 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b6efc26..87555bc 100644 (file)
@@ -46,6 +46,7 @@ he{
         arc{"ארמית"}\r
         arn{"אראוקנית"}\r
         arp{"אראפהו"}\r
+        ars{"ערבית - נג׳ד"}\r
         arw{"ארוואק"}\r
         as{"אסאמית"}\r
         asa{"אסו"}\r
@@ -782,7 +783,7 @@ he{
         SCOTLAND{"אנגלית סקוטית סטנדרטית"}\r
         WADEGILE{"ווייד-גיילס, שיטה לתעתוק סינית לאותיות לטיניות"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} - הכל"}\r
         category-list{"{0}: {1}"}\r
index 1d7921e..53eac80 100644 (file)
@@ -46,6 +46,7 @@ hi{
         arc{"ऐरेमेक"}\r
         arn{"मापूचे"}\r
         arp{"अरापाहो"}\r
+        ars{"नज्दी अरबी"}\r
         arw{"अरावक"}\r
         as{"असमिया"}\r
         asa{"असु"}\r
@@ -513,6 +514,7 @@ hi{
         was{"वाशो"}\r
         wbp{"वॉल्पेरी"}\r
         wo{"वोलोफ़"}\r
+        wuu{"वू चीनी"}\r
         xal{"काल्मिक"}\r
         xh{"ख़ोसा"}\r
         xog{"सोगा"}\r
@@ -838,7 +840,7 @@ hi{
         POSIX{"कम्प्यूटर"}\r
         REVISED{"संशोधित वर्तनी"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} - सभी"}\r
         category-list{"{0}: {1}"}\r
index 8132aa6..5d38528 100644 (file)
@@ -46,6 +46,7 @@ hr{
         arc{"aramejski"}\r
         arn{"mapuche"}\r
         arp{"arapaho"}\r
+        ars{"najdi arapski"}\r
         arw{"aravački"}\r
         as{"asamski"}\r
         asa{"asu"}\r
@@ -915,7 +916,7 @@ hr{
         VALENCIA{"valencijski"}\r
         WADEGILE{"Wade-Giles romanizacija"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Sve"}\r
         category-list{"{0}: {1}"}\r
index 8c5826c..4acd822 100644 (file)
@@ -378,7 +378,7 @@ hsb{
             tibt{"tibetske cyfry"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"rěč: {0}"}\r
         script{"pismo: {0}"}\r
index 8e13f37..542d089 100644 (file)
@@ -46,6 +46,7 @@ hu{
         arc{"arámi"}\r
         arn{"mapucse"}\r
         arp{"arapaho"}\r
+        ars{"nedzsdi arab"}\r
         arw{"aravak"}\r
         as{"asszámi"}\r
         asa{"asu"}\r
@@ -899,7 +900,7 @@ hu{
         VALLADER{"Vallader"}\r
         WADEGILE{"Wade-Giles átírás"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} – összes"}\r
         category-list{"{0}: {1}"}\r
index 3e214d7..32c1405 100644 (file)
@@ -620,7 +620,7 @@ hy{
         AREVELA{"արևելահայերեն"}\r
         AREVMDA{"արեւմտահայերէն"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — բոլորը"}\r
         category-list{"{0}՝ {1}"}\r
index 11221bc..3a07b6b 100644 (file)
@@ -49,6 +49,7 @@ id{
         arn{"Mapuche"}\r
         arp{"Arapaho"}\r
         arq{"Arab Aljazair"}\r
+        ars{"Arab Najdi"}\r
         arw{"Arawak"}\r
         ary{"Arab Maroko"}\r
         arz{"Arab Mesir"}\r
@@ -963,7 +964,7 @@ id{
         VALLADER{"VALLADER"}\r
         WADEGILE{"Wade-Giles Latin"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — Semua"}\r
         category-list{"{0}: {1}"}\r
index 8a3e29f..6ce40e1 100644 (file)
@@ -47,5 +47,5 @@ ig{
         zh{"Mandarịịnị"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9d33dfe..ef912c2 100644 (file)
@@ -33,7 +33,7 @@ ii{
             islamic{"ꑳꌦꇂꑍꉖ"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"ꅇꉙ: {0}"}\r
         script{"ꇇꁱ: {0}"}\r
index f312e96..8168ef5 100644 (file)
@@ -738,7 +738,7 @@ is{
             vaii{"Vai-tölustafir"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — allt"}\r
         category-list{"{0}: {1}"}\r
index 958aee9..4d8d055 100644 (file)
@@ -51,6 +51,7 @@ it{
         aro{"araona"}\r
         arp{"arapaho"}\r
         arq{"arabo algerino"}\r
+        ars{"arabo, najd"}\r
         arw{"aruaco"}\r
         ary{"arabo marocchino"}\r
         arz{"arabo egiziano"}\r
@@ -1019,7 +1020,7 @@ it{
         VALENCIA{"valenziano"}\r
         WADEGILE{"romanizzazione Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
     characterLabelPattern{\r
         all{"{0} — Tutto"}\r
         category-list{"{0}: {1}"}\r
index f884431..5294734 100644 (file)
@@ -51,6 +51,7 @@ ja{
         aro{"アラオナ語"}\r
         arp{"アラパホー語"}\r
         arq{"アルジェリア・アラビア語"}\r
+        ars{"ナジュド地方・アラビア語"}\r
         arw{"アラワク語"}\r
         ary{"モロッコ・アラビア語"}\r
         arz{"エジプト・アラビア語"}\r
@@ -1046,7 +1047,7 @@ ja{
         VALLADER{"ヴァラダー"}\r
         WADEGILE{"ウェード式ローマ字表記法"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — すべて"}\r
         category-list{"{0}: {1}"}\r
index 8129658..3974501 100644 (file)
@@ -28,5 +28,5 @@ jgo{
             latn{"pɛnɔ́mba"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 42bdfae..dd92cdf 100644 (file)
@@ -48,5 +48,5 @@ jmc{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 32e8b13..4549067 100644 (file)
@@ -734,7 +734,7 @@ ka{
             tibt{"ტიბეტური ციფრები"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ყველა"}\r
         category-list{"{0}: {1}"}\r
index 2442cc2..da14562 100644 (file)
@@ -48,5 +48,5 @@ kab{
         zh{"Tacinwat, Tamundarint"}\r
         zu{"Tazulut"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1d1833e..3b70cc3 100644 (file)
@@ -48,5 +48,5 @@ kam{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7792f5f..87b38dd 100644 (file)
@@ -48,5 +48,5 @@ kde{
         zh{"Chichina"}\r
         zu{"Chizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1a954d0..12c1984 100644 (file)
@@ -249,7 +249,7 @@ kea{
             latn{"Númerus Arábikus"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Lingua: {0}"}\r
         script{"Skrita: {0}"}\r
index 72868f3..108b2ed 100644 (file)
@@ -48,5 +48,5 @@ khq{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Julu senni"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c19c4b6..b80f367 100644 (file)
@@ -48,5 +48,5 @@ ki{
         zh{"Kĩcaina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e117bcc..33d9b66 100644 (file)
@@ -545,7 +545,7 @@ kk{
             tibt{"Тибет сандары"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — барлығы"}\r
         category-list{"{0}: {1}"}\r
index f5e3ded..cbfc87d 100644 (file)
@@ -6,5 +6,5 @@ kkj{
         fr{"numbu buy"}\r
         kkj{"kakɔ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0aab826..f8df3f1 100644 (file)
@@ -4,7 +4,7 @@ kl{
     Languages{\r
         kl{"kalaallisut"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     localeDisplayPattern{\r
         keyTypePattern{"{0}: {1}"}\r
         pattern{"{0} ({1})"}\r
index 0d0bdff..8a8a7e0 100644 (file)
@@ -48,5 +48,5 @@ kln{
         zh{"kutitab China"}\r
         zu{"kutitab Zulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 756331e..4ddccbe 100644 (file)
@@ -535,7 +535,7 @@ km{
             tibt{"លេខទីបេ"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ទាំងអស់"}\r
         category-list{"{0}: {1}"}\r
index 46b4f6d..4a27e4e 100644 (file)
@@ -832,7 +832,7 @@ kn{
             vaii{"ವಾಯ್ ಅಂಕೆಗಳು"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ಎಲ್ಲ"}\r
         category-list{"{0}: {1}"}\r
index 2d17afd..aeb0c31 100644 (file)
@@ -48,6 +48,7 @@ ko{
         arn{"마푸둔군어"}\r
         arp{"아라파호어"}\r
         arq{"알제리 아랍어"}\r
+        ars{"나즈디 아랍어"}\r
         arw{"아라와크어"}\r
         ary{"모로코 아랍어"}\r
         arz{"이집트 아랍어"}\r
@@ -918,7 +919,7 @@ ko{
         VAIDIKA{"바이디카"}\r
         VALLADER{"발라더"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — 전체"}\r
         category-list{"{0}: {1}"}\r
index 01e56a8..5add580 100644 (file)
@@ -430,7 +430,7 @@ kok{
             latn{"अस्तंत अंक"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"भाशा: {0}"}\r
         script{"लिपी: {0}"}\r
index bd4b751..b8d24c0 100644 (file)
@@ -609,7 +609,7 @@ ks{
         SOLBA{"ثٹولوِزا/سولبِکا بوٗلۍ"}\r
         TARASK{"تاراسکیٖوِکا علمہ ہِجاِ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"زَبان: {0}"}\r
         script{"رَسم الخط: {0}"}\r
index 295eaae..f099a40 100644 (file)
@@ -48,5 +48,5 @@ ksb{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9b92dcb..975b40f 100644 (file)
@@ -48,5 +48,5 @@ ksf{
         zh{"ricinɔá"}\r
         zu{"rizúlu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 767a04e..197b705 100644 (file)
@@ -512,7 +512,7 @@ ksh{
         VALENCIA{"valenzijaanesche Dijaläk"}\r
         WADEGILE{"lateijnesche Ömschreff noh Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"de Schprohch afjekööz met „{0}“"}\r
         script{"de Schreff afjekööz met „{0}“"}\r
index 591b24a..876dc02 100644 (file)
@@ -4,5 +4,5 @@ kw{
     Languages{\r
         kw{"kernewek"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 08a75c2..767c775 100644 (file)
@@ -539,20 +539,20 @@ ky{
             tibt{"Тибет сандары"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
-        all{"{0} â\80\94 Ð\91аары"}\r
+        all{"{0} â\80\94 Ð±аары"}\r
         category-list{"{0}: {1}"}\r
-        compatibility{"{0} — Ылайыктуулук"}\r
-        enclosed{"{0} â\80\94 Ð\9aаÑ\88аага/Тырмакчага алынган"}\r
-        extended{"{0} â\80\94 Ð\9aеңейтилген"}\r
-        historic{"{0} — Тарыхый"}\r
-        miscellaneous{"{0} â\80\94 Ð\91ашка"}\r
-        other{"{0} —Башкалар"}\r
+        compatibility{"{0} — ылайыктуулук"}\r
+        enclosed{"{0} â\80\94 ÐºÐ°Ñ\88аага/Ñ\82ырмакчага алынган"}\r
+        extended{"{0} â\80\94 Ðºеңейтилген"}\r
+        historic{"{0} — тарыхый"}\r
+        miscellaneous{"{0} â\80\94 Ð±ашка"}\r
+        other{"{0} — башкалар"}\r
         scripts{"Жазуулар — {0}"}\r
         strokes{\r
             one{"{0} штрих"}\r
-            other{"{0} штрихтер"}\r
+            other{"{0} штрих"}\r
         }\r
     }\r
     codePatterns{\r
index 46785ea..568e35d 100644 (file)
@@ -48,5 +48,5 @@ lag{
         zh{"Kɨchíina"}\r
         zu{"Kɨzúulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 02242ef..0a0df5d 100644 (file)
@@ -875,7 +875,7 @@ lb{
         VALENCIA{"Valencianesch"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Sprooch: {0}"}\r
         script{"Schrëft: {0}"}\r
index 8fcb47e..e009fc5 100644 (file)
@@ -48,5 +48,5 @@ lg{
         zh{"Lucayina"}\r
         zu{"Luzzulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 39cdd4d..a1cce92 100644 (file)
@@ -152,5 +152,5 @@ lkt{
         zu{"Zulu Iyápi"}\r
         zza{"Zaza Iyápi"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 878b730..a82c4e2 100644 (file)
@@ -48,5 +48,5 @@ ln{
         zh{"lisinwa"}\r
         zu{"zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fa88646..56f2c77 100644 (file)
@@ -875,7 +875,7 @@ lo{
         VALLADER{"ວັລລາເດີ"}\r
         WADEGILE{"ການຖອດອັກສອນແບບເວດ-ໄຈລ໌"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ທັງໝົດ"}\r
         category-list{"{0}: {1}"}\r
index c656a7d..b9dbd9c 100644 (file)
@@ -296,7 +296,7 @@ lrc{
             latn{"عأدأدیا لاتین"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 7da8d65..d0df68d 100644 (file)
@@ -1023,7 +1023,7 @@ lt{
         VALENCIA{"Valenciečiai"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – visi"}\r
         category-list{"{0}: {1}"}\r
index 7f87814..2466cb9 100644 (file)
@@ -46,5 +46,5 @@ lu{
         zh{"shinɛ"}\r
         zu{"Nzulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3119467..f39403b 100644 (file)
@@ -48,5 +48,5 @@ luo{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 137740f..79ae42b 100644 (file)
@@ -48,5 +48,5 @@ luy{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a0be53c..f34e178 100644 (file)
@@ -796,7 +796,7 @@ lv{
         VALENCIA{"valensiešu"}\r
         WADEGILE{"Veida-Džailza romanizācija"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — visas"}\r
         category-list{"{0}: {1}"}\r
index 8273bb5..5e12b54 100644 (file)
@@ -48,5 +48,5 @@ mas{
         zh{"nkʉtʉ́k ɔ́ɔ̄ lchina"}\r
         zu{"nkʉtʉ́k ɔ́ɔ̄ lzulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b766409..38dcd23 100644 (file)
@@ -48,5 +48,5 @@ mer{
         zh{"Kĩchina"}\r
         zu{"Kĩzulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b69d54f..38768b3 100644 (file)
@@ -48,5 +48,5 @@ mfe{
         zh{"sinwa, mandarin"}\r
         zu{"zoulou"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1c04f25..5240cf3 100644 (file)
@@ -48,5 +48,5 @@ mg{
         zh{"Sinoa, Mandarin"}\r
         zu{"Zolò"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4c85f0e..064b3c6 100644 (file)
@@ -47,5 +47,5 @@ mgh{
         zh{"Ichina"}\r
         zu{"Izulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2edb82d..171a3bb 100644 (file)
@@ -18,7 +18,7 @@ mgo{
             latn{"inu"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 071fa66..0d28c9d 100644 (file)
@@ -908,7 +908,7 @@ mk{
         PINYIN{"Пинјин романизација"}\r
         WADEGILE{"Вејд-Џајлс романизација"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} - сите"}\r
         category-list{"{0}: {1}"}\r
index 1e92b29..cad958e 100644 (file)
@@ -899,7 +899,7 @@ ml{
         POSIX{"കമ്പ്യൂട്ടർ"}\r
         REVISED{"പരിഷ്ക്കരിച്ച ലിപി"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — എല്ലാം"}\r
         category-list{"{0}: {1}"}\r
index caa3442..a97da0e 100644 (file)
@@ -100,6 +100,9 @@ mn{
         en_US{"америк-англи"}\r
         eo{"эсперанто"}\r
         es{"испани"}\r
+        es_419{"испани хэл (Латин Америк)"}\r
+        es_ES{"испани хэл (Европ)"}\r
+        es_MX{"испани хэл (Мексик)"}\r
         et{"эстони"}\r
         eu{"баск"}\r
         ewo{"эвондо"}\r
@@ -289,6 +292,8 @@ mn{
         prg{"прусс"}\r
         ps{"пашто"}\r
         pt{"португал"}\r
+        pt_BR{"португал хэл (Бразил)"}\r
+        pt_PT{"португал хэл (Европ)"}\r
         qu{"кечуа"}\r
         quc{"киче"}\r
         rap{"рапануи"}\r
@@ -374,7 +379,7 @@ mn{
         ug{"уйгур"}\r
         uk{"украин"}\r
         umb{"умбунду"}\r
-        und{"тодорхойгүй хэл"}\r
+        und{"Үл мэдэгдэх хэл"}\r
         ur{"урду"}\r
         uz{"узбек"}\r
         vai{"вай"}\r
@@ -412,7 +417,7 @@ mn{
     Scripts{\r
         Arab{"араб"}\r
         Armn{"армени"}\r
-        Beng{"бенгал"}\r
+        Beng{"бенгал хэл"}\r
         Bopo{"вопомофо"}\r
         Brai{"брайл"}\r
         Cyrl{"кирилл"}\r
@@ -537,7 +542,7 @@ mn{
             tibt{"төвд тоо"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} - Бүгд"}\r
         category-list{"{0}: {1}"}\r
index a45a4ce..e78c5fd 100644 (file)
@@ -835,7 +835,7 @@ mr{
         PINYIN{"पिनयिन रोमनायझेशन"}\r
         WADEGILE{"वादे-गिलेस रोमनायझेशन"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — सर्व"}\r
         category-list{"{0}: {1}"}\r
index 6e91db9..79cda60 100644 (file)
@@ -44,6 +44,7 @@ ms{
         arn{"Mapuche"}\r
         arp{"Arapaho"}\r
         arq{"Arab Algeria"}\r
+        ars{"Arab Najdi"}\r
         ary{"Arab Maghribi"}\r
         arz{"Arab Mesir"}\r
         as{"Assam"}\r
@@ -716,7 +717,7 @@ ms{
     Variants{\r
         POSIX{"Komputer"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — Semua"}\r
         category-list{"{0}: {1}"}\r
index 0b073df..d181526 100644 (file)
@@ -559,7 +559,7 @@ mt{
     Variants{\r
         REVISED{"Ortografija Irriveda"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Lingwa: {0}"}\r
         script{"Skript: {0}"}\r
index 59cb3c4..02e065d 100644 (file)
@@ -48,5 +48,5 @@ mua{
         zh{"zah Syiŋ"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bfb20c2..2b2fbc8 100644 (file)
@@ -580,7 +580,7 @@ my{
         REVISED{"ပြန်လည်စီစစ်ထားသော ရေးထုံး"}\r
         SCOTLAND{"စကော့ စံ အင်္ဂလိပ်"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — အားလုံး"}\r
         category-list{"{0} − {1}"}\r
index 9f96b2d..8c7fbe8 100644 (file)
@@ -265,7 +265,7 @@ mzn{
         Hans{"ساده‌بَیی هان"}\r
         Hant{"استاندارد ِسنتی هانت"}\r
     }\r
-    Version{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"زوون: {0}"}\r
         script{"اسکریپت: {0}"}\r
index cefef59..20839d6 100644 (file)
@@ -48,5 +48,5 @@ naq{
         zh{"Chineesǁî gowab, Mandarinni"}\r
         zu{"Zulub"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b9c0fd8..5aee6ab 100644 (file)
@@ -51,6 +51,7 @@ nb{
         aro{"araona"}\r
         arp{"arapaho"}\r
         arq{"algerisk arabisk"}\r
+        ars{"najdi-arabisk"}\r
         arw{"arawak"}\r
         ary{"marokkansk-arabisk"}\r
         arz{"egyptisk arabisk"}\r
@@ -1096,7 +1097,7 @@ nb{
         VALLADER{"vallader"}\r
         WADEGILE{"Wade-Giles-romanisering"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} – alt"}\r
         category-list{"{0}: {1}"}\r
index f98a8e0..fe85607 100644 (file)
@@ -48,5 +48,5 @@ nd{
         zh{"isi-China"}\r
         zu{"isi-Zulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c94fe0f..a92ba8d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index df404af..56581f3 100644 (file)
@@ -127,6 +127,7 @@ ne{
         dar{"दार्ग्वा"}\r
         dav{"ताइता"}\r
         de{"जर्मन"}\r
+        de_AT{"अस्ट्रिएन जर्मन"}\r
         de_CH{"स्वीस हाई जर्मन"}\r
         del{"देलावर"}\r
         dgr{"दोग्रिब"}\r
@@ -177,6 +178,7 @@ ne{
         fon{"फोन"}\r
         fr{"फ्रान्सेली"}\r
         fr_CA{"क्यानेडाली फ्रान्सेली"}\r
+        fr_CH{"स्विस फ्रेन्च"}\r
         frc{"काहुन फ्रान्सेली"}\r
         frm{"मध्य फ्रान्सेली"}\r
         fro{"पुरातन फ्रान्सेली"}\r
@@ -795,7 +797,7 @@ ne{
         AREVELA{"पूर्वी आर्मेनियाली"}\r
         POSIX{"कम्प्युटर"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0}-सबै"}\r
         category-list{"{0}: {1}"}\r
index 0f9b8a0..bd8fe19 100644 (file)
@@ -50,6 +50,7 @@ nl{
         aro{"Araona"}\r
         arp{"Arapaho"}\r
         arq{"Algerijns Arabisch"}\r
+        ars{"Nadjdi-Arabisch"}\r
         arw{"Arawak"}\r
         ary{"Marokkaans Arabisch"}\r
         arz{"Egyptisch Arabisch"}\r
@@ -1131,7 +1132,7 @@ nl{
         WADEGILE{"Wade-Giles-romanisering"}\r
         XSISTEMO{"X-sistemo"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — alle"}\r
         category-list{"{0}: {1}"}\r
index e988ef7..4f10a75 100644 (file)
@@ -47,5 +47,5 @@ nmg{
         zh{"Kiɛl bó chinois"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d210f5a..3375c29 100644 (file)
@@ -761,7 +761,7 @@ nn{
         TARASK{"taraskievica-ortografi"}\r
         VALENCIA{"valensisk dialekt"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – alt"}\r
         category-list{"{0}: {1}"}\r
index 795aeac..f2e129e 100644 (file)
@@ -24,5 +24,5 @@ nnh{
         yav{"Shwóŋò pʉa shÿó Mbafìa"}\r
         ybb{"Shwóŋò Tsaŋ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5e75387..a1ed1e2 100644 (file)
@@ -48,5 +48,5 @@ nus{
         zh{"Thok cayna"}\r
         zu{"Thok dhuluni"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba7e0d0..590162f 100644 (file)
@@ -48,5 +48,5 @@ nyn{
         zh{"Oruchaina"}\r
         zu{"Oruzuru"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f257cfc..bddfc28 100644 (file)
@@ -92,5 +92,5 @@ om{
     Scripts{\r
         Latn{"Latin"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8dbe195..09406b3 100644 (file)
@@ -7,9 +7,9 @@ or{
         collation{"ସର୍ଟ୍‌ କ୍ରମ"}\r
         currency{"ମୁଦ୍ରା"}\r
         hc{"ଘଣ୍ଟା ଚକ୍ର (12 ବନାମ 24)"}\r
-        lb{"ଧାଡି ବିରତି ଶୈଳୀ"}\r
-        ms{"ମାପ à¬¬à­\8dà­\9fବସà­\8dଥା"}\r
-        numbers{"ସଂଖ୍ୟାଗୁଡିକ"}\r
+        lb{"ଧାଡ଼ି à¬¬à¬¿à¬°à¬¤à¬¿ à¬¶à­\88ଳà­\80"}\r
+        ms{"ମାପ à¬ªà¬¦à­\8dଧତି"}\r
+        numbers{"ସà¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
     }\r
     Languages{\r
         aa{"ଅଫାର୍"}\r
@@ -525,7 +525,7 @@ or{
     Scripts{\r
         Arab{"ଆରବିକ୍"}\r
         Armi{"ଇମ୍ପେରିଆଲ୍ ଆରମିକ୍"}\r
-        Armn{"à¬\86ରà­\8dମà­\87ନିà¬\86ନà­\8d"}\r
+        Armn{"à¬\86ରà­\8dମà­\87ନà­\80à­\9f"}\r
         Avst{"ଆବେସ୍ଥାନ୍"}\r
         Bali{"ବାଲିନୀଜ୍"}\r
         Batk{"ବାଟାକ୍"}\r
@@ -533,7 +533,7 @@ or{
         Blis{"ବ୍ଲିସିମ୍ବଲସ୍"}\r
         Bopo{"ବୋପୋମୋଫୋ"}\r
         Brah{"ବ୍ରାହ୍ମୀ"}\r
-        Brai{"ବà­\8dରà­\87ଲି"}\r
+        Brai{"ବà­\8dରà­\87ଲà­\8d"}\r
         Bugi{"ବୁଗାନୀଜ୍"}\r
         Buhd{"ବୁହିଦ୍"}\r
         Cakm{"ଚକମା"}\r
@@ -546,29 +546,29 @@ or{
         Cprt{"ସିପ୍ରଅଟ୍"}\r
         Cyrl{"ସିରିଲିକ୍"}\r
         Cyrs{"ଓଲ୍ଡ ଚର୍ଚ୍ଚ ସାଲଭୋନିକ୍ ସିରିଲିକ୍"}\r
-        Deva{"ଦà­\87ବନାà¬\97ରà­\80"}\r
+        Deva{"ଦେବନଗରୀ"}\r
         Dsrt{"ଡେସର୍ଟ"}\r
         Egyd{"ଇଜିପ୍ଟିଆନ୍ ଡେମୋଟିକ୍"}\r
         Egyh{"ଇଜିପ୍ଟିଆନ୍ ହାଇଅରଟିକ୍"}\r
         Egyp{"ଇଜିପ୍ଟିଆନ୍ ହାଅରଗ୍ଲିପସ୍"}\r
         Ethi{"ଇଥୋପିକ୍"}\r
         Geok{"ଜର୍ଜିଆନ୍ ଖୁଟସୁରୀ"}\r
-        Geor{"à¬\9cରà­\8dà¬\9cିà¬\86ନà­\8d"}\r
+        Geor{"à¬\9cରà­\8dà¬\9cିà­\9f"}\r
         Glag{"ଗ୍ଲାଗ୍ଲୋଟିକ୍"}\r
         Goth{"ଗୋଥିକ୍"}\r
         Grek{"ଗ୍ରୀକ୍"}\r
         Gujr{"ଗୁଜୁରାଟୀ"}\r
-        Guru{"à¬\97à­\81ରà­\81ମà­\81à¬\96à­\80"}\r
+        Guru{"ଗୁରମୁଖୀ"}\r
         Hanb{"ବୋପୋମୋଫୋ ସହିତ ହାନ୍‌"}\r
         Hang{"ହାଙ୍ଗୁଲ୍"}\r
         Hani{"ହାନ୍"}\r
         Hano{"ହାନୁନ୍"}\r
         Hans{"ସରଳୀକୃତ"}\r
         Hant{"ପାରମ୍ପରିକ"}\r
-        Hebr{"ହà­\87ବà­\8dରà­\8dà­\9fà­\81"}\r
+        Hebr{"ହିବà­\83"}\r
         Hira{"ହିରାଗାନା"}\r
         Hmng{"ପାହୋ ହୋଙ୍ଗ"}\r
-        Hrkt{"à¬\9cାପାନିà¬\9cà­\8dâ\80\8c à¬¸à¬¿à¬²à­\8dଲାବà­\87ରିଜ୍‌"}\r
+        Hrkt{"à¬\9cାପାନà­\80 à¬¸à¬¿à¬²à¬¾à¬¬ରିଜ୍‌"}\r
         Hung{"ପୁରୁଣା ହଙ୍ଗେରିଆନ୍"}\r
         Inds{"ସିନ୍ଧୁ"}\r
         Ital{"ପୁରୁଣା ଇଟାଲୀ"}\r
@@ -576,10 +576,10 @@ or{
         Java{"ଜାଭାନୀଜ୍"}\r
         Jpan{"ଜାପାନୀଜ୍"}\r
         Kali{"କାୟାହା ଲୀ"}\r
-        Kana{"à¬\95ାà¬\9fà¬\95ାନà­\8d"}\r
+        Kana{"à¬\95ାତାà¬\95ାନା"}\r
         Khar{"ଖାରୋସ୍ଥି"}\r
-        Khmr{"à¬\96ାମà­\87ରà­\8d"}\r
-        Knda{"କନ୍ନଡ"}\r
+        Khmr{"ଖମେର୍"}\r
+        Knda{"କନ୍ନଡ"}\r
         Kore{"କୋରିଆନ୍"}\r
         Kthi{"କୈଥି"}\r
         Lana{"ଲାନା"}\r
@@ -597,11 +597,11 @@ or{
         Mani{"ମନଶୀନ୍"}\r
         Maya{"ମୟାନ୍ ହାୟରଲଜିକସ୍"}\r
         Mero{"ମେରୋଇଟିକ୍"}\r
-        Mlym{"ମାଲà­\9fଲମ୍"}\r
+        Mlym{"ମଲà­\9fାଲମ୍"}\r
         Mong{"ମଙ୍ଗୋଲିଆନ୍"}\r
         Moon{"ଚନ୍ଦ୍ର"}\r
         Mtei{"ମାଏତି ମାୟେକ୍"}\r
-        Mymr{"ମିà¬\86à¬\81ମାରà­\8dâ\80\8c"}\r
+        Mymr{"ମà­\8dà­\9fାନମାରà­\8d"}\r
         Nkoo{"ଏନ୍ କୋ"}\r
         Ogam{"ଓଘାମା"}\r
         Olck{"ଓଲ୍ ଚିକି"}\r
@@ -624,7 +624,7 @@ or{
         Saur{"ସୌରାଷ୍ଟ୍ର"}\r
         Sgnw{"ସାଙ୍କେତିକ ଲିଖ"}\r
         Shaw{"ସାବିୟାନ୍"}\r
-        Sinh{"ସିà¬\82ହଳ"}\r
+        Sinh{"ସିà¬\82ହାଲା"}\r
         Sund{"ସୁଦାନୀଜ୍"}\r
         Sylo{"ସୀଲିତୋ ନଗରୀ"}\r
         Syrc{"ସିରିୟାକ୍"}\r
@@ -634,7 +634,7 @@ or{
         Tagb{"ତଗବାନ୍ୱା"}\r
         Tale{"ତାଇ ଲେ"}\r
         Talu{"ନୂତନ ତାଇ ଲୁଏ"}\r
-        Taml{"ତାମିଲ"}\r
+        Taml{"ତାମିଲ"}\r
         Tavt{"ତାଇ ଭିଏତ୍"}\r
         Telu{"ତେଲୁଗୁ"}\r
         Teng{"ତେଙ୍ଗୱାର୍"}\r
@@ -667,8 +667,8 @@ or{
             chinese{"ଚାଇନିଜ୍‌ କ୍ୟାଲେଣ୍ଡର୍‌"}\r
             dangi{"ଦାଙ୍ଗି କ୍ୟାଲେଣ୍ଡର୍‌"}\r
             ethiopic{"ଇଥିଓପିକ୍‌ କ୍ୟାଲେଣ୍ଡର୍‌"}\r
-            gregorian{"à¬\9cରà­\8dà¬\9cିà¬\86ନà­\8dâ\80\8c à¬\95à­\8dà­\9fାଲà­\87ଣà­\8dଡରà­\8dâ\80\8c"}\r
-            hebrew{"ହିବà­\8dରà­\8dà­\9fà­\81 କ୍ୟାଲେଣ୍ଡର୍‌"}\r
+            gregorian{"à¬\97à­\8dରà­\87à¬\97à­\8bରିà­\9f à¬\95à­\8dà­\9fାଲà­\87ଣà­\8dଡରà­\8d"}\r
+            hebrew{"ହିବà­\83 କ୍ୟାଲେଣ୍ଡର୍‌"}\r
             islamic{"ଇସଲାମିକ୍‌ କ୍ୟାଲେଣ୍ଡର୍‌"}\r
             iso8601{"ISO-8601 କ୍ୟାଲେଣ୍ଡର୍‌"}\r
             japanese{"ଜାପାନିଜ୍‌ କ୍ୟାଲେଣ୍ଡର୍‌"}\r
@@ -685,60 +685,60 @@ or{
             standard{"ମାନାଙ୍କ ସର୍ଟ୍‌ କ୍ରମ"}\r
         }\r
         hc{\r
-            h11{"12 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬¬à­\8dà­\9fବସà­\8dଥା (0–11)"}\r
-            h12{"12 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬¬à­\8dà­\9fବସà­\8dଥା (1–12)"}\r
-            h23{"24 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬¬à­\8dà­\9fବସà­\8dଥା (0–23)"}\r
-            h24{"24 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬¬à­\8dà­\9fବସà­\8dଥା (1–24)"}\r
+            h11{"12 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬ªà¬¦à­\8dଧତି (0–11)"}\r
+            h12{"12 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬ªà¬¦à­\8dଧତି (1–12)"}\r
+            h23{"24 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬ªà¬¦à­\8dଧତି (0–23)"}\r
+            h24{"24 à¬\98ଣà­\8dà¬\9fିà¬\86 à¬ªà¬¦à­\8dଧତି (1–24)"}\r
         }\r
         lb{\r
-            loose{"ଢିଲା ଧାଡି ବିରତି ଶୈଳୀ"}\r
-            normal{"ସାଧାରଣ ଧାଡି ବିରତି ଶୈଳୀ"}\r
-            strict{"କଠୋର ଧାଡି ବିରତି ଶୈଳୀ"}\r
+            loose{"ଢିଲା à¬§à¬¾à¬¡à¬¼à¬¿ à¬¬à¬¿à¬°à¬¤à¬¿ à¬¶à­\88ଳà­\80"}\r
+            normal{"ସାଧାରଣ à¬§à¬¾à¬¡à¬¼à¬¿ à¬¬à¬¿à¬°à¬¤à¬¿ à¬¶à­\88ଳà­\80"}\r
+            strict{"à¬\95ଠà­\8bର à¬§à¬¾à¬¡à¬¼à¬¿ à¬¬à¬¿à¬°à¬¤à¬¿ à¬¶à­\88ଳà­\80"}\r
         }\r
         ms{\r
-            metric{"ମà­\87à¬\9fà­\8dରିà¬\95à­\8dâ\80\8c à¬¬à­\8dà­\9fବସà­\8dଥା"}\r
-            uksystem{"ସାମà­\8dରାà¬\9cà­\8dà­\9f à¬¸à¬®à­\8dବନà­\8dଧà­\80à­\9f à¬®à¬¾à¬ª à¬¬à­\8dà­\9fବସà­\8dଥା"}\r
-            ussystem{"à­\9fà­\81à¬\8fସà­\8dâ\80\8c à¬®à¬¾à¬ª à¬¬à­\8dà­\9fବସà­\8dଥା"}\r
+            metric{"ମà­\87à¬\9fà­\8dରିà¬\95à­\8dâ\80\8c à¬ªà¬¦à­\8dଧତି"}\r
+            uksystem{"ସାମà­\8dରାà¬\9cà­\8dà­\9f à¬¸à¬®à­\8dବନà­\8dଧà­\80à­\9f à¬®à¬¾à¬ª à¬ªà¬¦à­\8dଧତି"}\r
+            ussystem{"à­\9fà­\81à¬\8fସà­\8dâ\80\8c à¬®à¬¾à¬ª à¬ªà¬¦à­\8dଧତି"}\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{"à¬\97à­\81ରà­\81ମà­\81à¬\96à­\80 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡିକ"}\r
-            hanidec{"à¬\9aିନà­\80à­\9f à¬¦à¬¶à¬®à¬¿à¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            hans{"ସରଳà­\80à¬\95à­\83ତ à¬\9aିନà­\80à­\9f à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            hansfin{"ସରଳà­\80à¬\95à­\83ତ à¬\9aିନà­\80à­\9f à¬\86ରà­\8dଥିà¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            hant{"ପାରମà­\8dପରିà¬\95 à¬\9aିନà­\80à­\9f à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            hantfin{"ପାରମà­\8dପରିà¬\95 à¬\9aିନà­\80à­\9f à¬\86ରà­\8dଥିà¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            hebr{"ହିବà­\8dରà­\8dà­\9fà­\81 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡିକ"}\r
-            jpan{"ଜାପାନୀ ସଂଖ୍ୟାଗୁଡିକ"}\r
-            jpanfin{"ଜାପାନୀ ଆର୍ଥିକ ସଂଖ୍ୟାଗୁଡିକ"}\r
-            khmr{"à¬\96à­\87ମରà­\8dâ\80\8c à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡିକ"}\r
-            knda{"କନ୍ନଡ ଅଙ୍କଗୁଡିକ"}\r
-            laoo{"ଲାଓ ଅଙ୍କଗୁଡିକ"}\r
-            latn{"ପାଶ୍ଚାତ୍ୟ ଅଙ୍କଗୁଡିକ"}\r
-            mlym{"ମାଲାà­\9fଲମ à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡିକ"}\r
-            mymr{"ମିଆଁମାର୍‌ ଅଙ୍କଗୁଡିକ"}\r
-            orya{"ଓଡ଼ିଆ ଅଙ୍କଗୁଡିକ"}\r
-            roman{"ରୋମାନ୍‌ ସଂଖ୍ୟାଗୁଡିକ"}\r
-            romanlow{"ରୋମାନ୍‌ ଛୋଟ ଅକ୍ଷର ସଂଖ୍ୟାଗୁଡିକ"}\r
-            taml{"ପାରମ୍ପରିକ ତାମିଲ ସଂଖ୍ୟାଗୁଡିକ"}\r
-            tamldec{"ତାମିଲ ଅଙ୍କଗୁଡିକ"}\r
-            telu{"ତେଲୁଗୁ ଅଙ୍କଗୁଡିକ"}\r
-            thai{"ଥାଇ ଅଙ୍କଗୁଡିକ"}\r
-            tibt{"ତିବà­\87ତାନà­\8d à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡିକ"}\r
+            arab{"à¬\86ରବିà¬\95à­\8dâ\80\8c-à¬\87ଣà­\8dଡିà¬\95à­\8dâ\80\8c à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            arabext{"ପରିବରà­\8dଦà­\8dଧିତ à¬\86ରବିà¬\95à­\8dâ\80\8c-à¬\87ଣà­\8dଡିà¬\95à­\8dâ\80\8c à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            armn{"à¬\86ରà­\8dମà­\87ନିà­\9f à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            armnlow{"à¬\86ରà­\8dମà­\87ନିà­\9f à¬\9bà­\8bà¬\9f à¬\85à¬\95à­\8dଷର à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            beng{"ବà¬\99à­\8dà¬\97ଳା à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            deva{"ଦà­\87ବନାà¬\97ରà­\80 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            ethi{"à¬\87ଥିà¬\93ପିà¬\95à­\8dâ\80\8c à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            fullwide{"ପà­\82ରà­\8dଣà­\8dଣ-ପà­\8dରସà­\8dଥ à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            geor{"à¬\9cରà­\8dà¬\9cିà¬\86ନà­\8dâ\80\8c à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            grek{"à¬\97à­\8dରà­\80à¬\95à­\8dâ\80\8c à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            greklow{"à¬\97à­\8dରà­\80à¬\95à­\8dâ\80\8c à¬\9bà­\8bà¬\9f à¬\85à¬\95à­\8dଷର à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            gujr{"à¬\97à­\81à¬\9cରାà¬\9fà­\80 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            guru{"à¬\97à­\81ରମà­\81à¬\96à­\80 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିକ"}\r
+            hanidec{"à¬\9aିନି à¬¦à¬¶à¬®à¬¿à¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            hans{"ସରଳà­\80à¬\95à­\83ତ à¬\9aିନି à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            hansfin{"ସରଳà­\80à¬\95à­\83ତ à¬\9aିନି à¬\86ରà­\8dଥିà¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            hant{"ପାରମà­\8dପରିà¬\95 à¬\9aିନି à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            hantfin{"ପାରମà­\8dପରିà¬\95 à¬\9aିନି à¬\86ରà­\8dଥିà¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            hebr{"ହିବà­\83 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିକ"}\r
+            jpan{"à¬\9cାପାନà­\80 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            jpanfin{"à¬\9cାପାନà­\80 à¬\86ରà­\8dଥିà¬\95 à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            khmr{"à¬\96ିମରà­\8dâ\80\8c à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିକ"}\r
+            knda{"କନ୍ନଡ଼ ଅଙ୍କଗୁଡ଼ିକ"}\r
+            laoo{"ଲାà¬\93 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            latn{"ପାଶà­\8dà¬\9aାତà­\8dà­\9f à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            mlym{"ମଲà­\9fାଲମà­\8d à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିକ"}\r
+            mymr{"ମିà¬\86à¬\81ମାରà­\8dâ\80\8c à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            orya{"à¬\93ଡ଼ିà¬\86 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            roman{"ରà­\8bମାନà­\8dâ\80\8c à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            romanlow{"ରà­\8bମାନà­\8dâ\80\8c à¬\9bà­\8bà¬\9f à¬\85à¬\95à­\8dଷର à¬¸à¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
+            taml{"ପାରମ୍ପରିକ ତାମିଲ୍ ସଂଖ୍ୟାଗୁଡ଼ିକ"}\r
+            tamldec{"ତାମିଲ୍ ଅଙ୍କଗୁଡ଼ିକ"}\r
+            telu{"ତà­\87ଲà­\81à¬\97à­\81 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            thai{"ଥାà¬\87 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିà¬\95"}\r
+            tibt{"ତିବତà­\80 à¬\85à¬\99à­\8dà¬\95à¬\97à­\81ଡ଼ିକ"}\r
         }\r
     }\r
-    Version{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ସମସ୍ତ"}\r
         category-list{"{0}: {1}"}\r
@@ -748,16 +748,16 @@ or{
         historic{"{0} — ଐତିହାସିକ"}\r
         miscellaneous{"{0} — ବିବିଧ"}\r
         other{"{0} — ଅନ୍ୟ"}\r
-        scripts{"ସà­\8dà¬\95à­\8dରିପà­\8dà¬\9f — {0}"}\r
+        scripts{"ଲିପି — {0}"}\r
         strokes{\r
             one{"{0} ଷ୍ଟ୍ରୋକ୍‍"}\r
-            other{"{0} à¬\9fି à¬·à­\8dà¬\9fà­\8dରà­\8bà¬\95à­\8dâ\80\8d"}\r
+            other{"{0} ଷ୍ଟ୍ରୋକ୍‍"}\r
         }\r
     }\r
     codePatterns{\r
         language{"ଭାଷା: {0}"}\r
-        script{"ସà­\8dà¬\95à­\8dରà­\80ପà­\8dà¬\9f: {0}"}\r
-        territory{"ଧରà­\8dମ: {0}"}\r
+        script{"ଲିପି: {0}"}\r
+        territory{"à¬\85à¬\9eà­\8dà¬\9aଳ: {0}"}\r
     }\r
     localeDisplayPattern{\r
         keyTypePattern{"{0}: {1}"}\r
index b9a1f11..329a42c 100644 (file)
@@ -96,7 +96,7 @@ os{
             latn{"Нырыккон цифрӕтӕ"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"Ӕвзаг: {0}"}\r
         script{"Скрипт: {0}"}\r
index a73490d..58009e1 100644 (file)
@@ -82,6 +82,7 @@ pa{
         dav{"ਟੇਟਾ"}\r
         de{"ਜਰਮਨ"}\r
         de_AT{"ਜਰਮਨ (ਆਸਟਰੀਆਈ)"}\r
+        de_CH{"ਹਾਈ ਜਰਮਨ (ਸਵਿਟਜ਼ਰਲੈਂਡ)"}\r
         dgr{"ਡੋਗਰਿੱਬ"}\r
         dje{"ਜ਼ਾਰਮਾ"}\r
         dsb{"ਲੋਅਰ ਸੋਰਬੀਅਨ"}\r
@@ -563,7 +564,7 @@ pa{
             tibt{"ਤਿੱਬਤੀ ਅੰਕ"}\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — ਸਭ"}\r
         category-list{"{0}: {1}"}\r
index 6260b5b..b98e56d 100644 (file)
@@ -9,5 +9,5 @@ pa_Arab{
         Arab{"عربی"}\r
         Guru{"گُرمُکھی"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b23a8b4..c52ee1b 100644 (file)
@@ -51,6 +51,7 @@ pl{
         aro{"araona"}\r
         arp{"arapaho"}\r
         arq{"algierski arabski"}\r
+        ars{"arabski nadżdyjski"}\r
         arw{"arawak"}\r
         ary{"marokański arabski"}\r
         arz{"egipski arabski"}\r
@@ -965,7 +966,7 @@ pl{
         VALENCIA{"walencki"}\r
         WADEGILE{"latynizacja Wade’a i Gilesa"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
     characterLabelPattern{\r
         all{"{0} — wszystko"}\r
         category-list{"{0}: {1}"}\r
index f741932..08c3d35 100644 (file)
Binary files a/source/data/lang/pool.res and b/source/data/lang/pool.res differ
index 7cbc924..e3d9bed 100644 (file)
@@ -96,6 +96,8 @@ ps{
         el{"یوناني"}\r
         en{"انګریزي"}\r
         en_AU{"انګریزي (AU)"}\r
+        en_CA{"کاناډايي انګلیسي"}\r
+        en_GB{"برتانوی انګلیسي"}\r
         en_US{"انګریزي (US)"}\r
         eo{"اسپرانتو"}\r
         es{"هسپانوي"}\r
@@ -291,9 +293,10 @@ ps{
         quc{"کچی"}\r
         rap{"رپانوئي"}\r
         rar{"راروټانګان"}\r
-        rm{"رومانش"}\r
+        rm{"رومانیش"}\r
         rn{"رونډی"}\r
-        ro{"روماني"}\r
+        ro{"رومانیایی"}\r
+        ro_MD{"مولداویایی"}\r
         rof{"رومبو"}\r
         root{"روټ"}\r
         ru{"روسي"}\r
@@ -338,6 +341,7 @@ ps{
         suk{"سکوما"}\r
         sv{"سویډنی"}\r
         sw{"سواهېلي"}\r
+        sw_CD{"کانګو سواهلی"}\r
         swb{"کومورياني"}\r
         syr{"سوریاني"}\r
         ta{"تامیل"}\r
@@ -531,7 +535,7 @@ ps{
             tibt{"tibt"}\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} - ټول"}\r
         category-list{"{0}: {1}"}\r
index 3b05c89..886e1df 100644 (file)
@@ -46,6 +46,7 @@ pt{
         arc{"aramaico"}\r
         arn{"mapudungun"}\r
         arp{"arapaho"}\r
+        ars{"árabe - Négede"}\r
         arw{"arauaqui"}\r
         as{"assamês"}\r
         asa{"asu"}\r
@@ -879,7 +880,7 @@ pt{
         VALENCIA{"valenciano"}\r
         WADEGILE{"romanização Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — Tudo"}\r
         category-list{"{0}: {1}"}\r
index a385088..1aff836 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 13c0236..2b17974 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{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
 }\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f4cd124..0a9b33f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b5a1669..0c74f8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d30b2ff..5cf402d 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 060a5fc..0f426fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f3a2f7a..17e1d8e 100644 (file)
@@ -17,6 +17,7 @@ pt_PT{
         ang{"inglês antigo"}\r
         ar_001{"árabe moderno padrão"}\r
         arn{"mapuche"}\r
+        ars{"árabe do Négede"}\r
         av{"avaric"}\r
         bax{"bamun"}\r
         bbj{"ghomala"}\r
@@ -40,6 +41,7 @@ pt_PT{
         en_US{"inglês americano"}\r
         es_419{"espanhol latino-americano"}\r
         es_ES{"espanhol europeu"}\r
+        es_MX{"espanhol mexicano"}\r
         et{"estónio"}\r
         fon{"fon"}\r
         fr_CA{"francês canadiano"}\r
@@ -249,7 +251,7 @@ pt_PT{
         MONOTON{"monotónico"}\r
         POLYTON{"politónico"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – tudo"}\r
         compatibility{"{0} – compatibilidade"}\r
index e3f0965..9287a10 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b8cb201..bc44bb6 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 55e8737..2bd1b8d 100644 (file)
@@ -134,5 +134,5 @@ qu{
     Variants{\r
         VALENCIA{"Valenciano Simi"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index b3f7e5f..33f0cf3 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-LANG_CLDR_VERSION = 32.0.1\r
+LANG_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index 7558f41..6e236c1 100644 (file)
@@ -627,7 +627,7 @@ rm{
         TARASK{"ortografia taraskievica"}\r
         VALENCIA{"valencian"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"Lingua: {0}"}\r
         script{"Scrittira: {0}"}\r
index 1b9bae7..ceea071 100644 (file)
@@ -48,5 +48,5 @@ rn{
         zh{"Igishinwa"}\r
         zu{"Ikizulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 5373fb2..183e085 100644 (file)
@@ -46,6 +46,7 @@ ro{
         arc{"aramaică"}\r
         arn{"mapuche"}\r
         arp{"arapaho"}\r
+        ars{"arabă najdi"}\r
         arw{"arawak"}\r
         as{"asameză"}\r
         asa{"asu"}\r
@@ -777,7 +778,7 @@ ro{
         SCOTLAND{"engleză standard scoțiană"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} – toate"}\r
         category-list{"{0}: {1}"}\r
index 795eace..11c8525 100644 (file)
@@ -5,5 +5,5 @@ ro_MD{
         sw_CD{"swahili (R. D. Congo)"}\r
         wal{"wolaytta"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 29ec3a7..a04be5d 100644 (file)
@@ -48,5 +48,5 @@ rof{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index baf805a..ac6005b 100644 (file)
@@ -4,7 +4,7 @@
  * ICU <specials> source: <path>/common/main/root.xml\r
  */\r
 root{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
     characterLabelPattern{\r
         all{"{0} — all"}\r
         category-list{"{0}: {1}"}\r
index 4ac19f8..07e81b3 100644 (file)
@@ -46,6 +46,7 @@ ru{
         arc{"арамейский"}\r
         arn{"мапуче"}\r
         arp{"арапахо"}\r
+        ars{"арабская — недждийская"}\r
         arw{"аравакский"}\r
         as{"ассамский"}\r
         asa{"асу"}\r
@@ -606,8 +607,8 @@ ru{
         Hang{"хангыль"}\r
         Hani{"китайская"}\r
         Hano{"хануну"}\r
-        Hans{"упрощенный"}\r
-        Hant{"традиционный"}\r
+        Hans{"упрощенная китайская"}\r
+        Hant{"традиционная китайская"}\r
         Hebr{"еврейская"}\r
         Hira{"хирагана"}\r
         Hluw{"лувийские иероглифы"}\r
@@ -916,17 +917,17 @@ ru{
         VALENCIA{"Валенсийский"}\r
         WADEGILE{"Система Уэйда – Джайлза"}\r
     }\r
-    Version{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
-        all{"{0} â\80\93 все"}\r
+        all{"{0} â\80\94 все"}\r
         category-list{"{0}: {1}"}\r
-        compatibility{"{0} â\80\93 совместимые"}\r
-        enclosed{"{0} â\80\93 вложенные"}\r
-        extended{"{0} â\80\93 расширенные"}\r
-        historic{"{0} â\80\93 исторические"}\r
-        miscellaneous{"{0} â\80\93 разное"}\r
-        other{"{0} â\80\93 другое"}\r
-        scripts{"письменность – {0}"}\r
+        compatibility{"{0} â\80\94 совместимые"}\r
+        enclosed{"{0} â\80\94 вложенные"}\r
+        extended{"{0} â\80\94 расширенные"}\r
+        historic{"{0} â\80\94 исторические"}\r
+        miscellaneous{"{0} â\80\94 разное"}\r
+        other{"{0} â\80\94 другое"}\r
+        scripts{"письменности — {0}"}\r
         strokes{\r
             few{"{0} черты"}\r
             many{"{0} черт"}\r
index bf0afa0..b185555 100644 (file)
@@ -108,5 +108,5 @@ rw{
         yi{"Inyeyidishi"}\r
         zu{"Inyezulu"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 0505ddf..035a0e5 100644 (file)
@@ -48,5 +48,5 @@ rwk{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1e82859..b37e8c8 100644 (file)
@@ -91,7 +91,7 @@ sah{
             h24{"24 чаастаах тиһик (0–24)"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     characterLabelPattern{\r
         strokes{\r
             other{"{0} Strokes"}\r
index d150a22..cce5d1b 100644 (file)
@@ -48,5 +48,5 @@ saq{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e8359e3..abd0673 100644 (file)
@@ -48,5 +48,5 @@ sbp{
         zh{"Ishishina"}\r
         zu{"Ishisulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 11a072d..84b7130 100644 (file)
@@ -154,7 +154,7 @@ se{
         PINYIN{"pinyin"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"giella: {0}"}\r
         script{"chállin: {0}"}\r
index 8db2bd7..37f143a 100644 (file)
@@ -62,7 +62,7 @@ se_FI{
             fullwide{"fullwide"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     codePatterns{\r
         script{"čállin: {0}"}\r
     }\r
index fa2450e..5386265 100644 (file)
@@ -48,5 +48,5 @@ seh{
         zh{"chinês"}\r
         zu{"zulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 57eb85d..b1305f9 100644 (file)
@@ -48,5 +48,5 @@ ses{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 44ddf00..3398f5c 100644 (file)
@@ -48,5 +48,5 @@ sg{
         zh{"Shinuäa"}\r
         zu{"Zûlu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f84959b..ab6b236 100644 (file)
@@ -48,5 +48,5 @@ shi{
         zh{"ⵜⴰⵛⵉⵏⵡⵉⵜ"}\r
         zu{"ⵜⴰⵣⵓⵍⵓⵜ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 498d929..174ae6c 100644 (file)
@@ -49,5 +49,5 @@ shi_Latn{
         zh{"Tacinwit"}\r
         zu{"Tazulut"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72f0c6e..614b5f0 100644 (file)
@@ -548,7 +548,7 @@ si{
             tibt{"ටිබෙට ඉලක්කම්"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — සියල්ල"}\r
         category-list{"{0}: {1}"}\r
index 823920b..27959b3 100644 (file)
@@ -46,6 +46,7 @@ sk{
         arc{"aramejčina"}\r
         arn{"mapudungun"}\r
         arp{"arapažština"}\r
+        ars{"arabčina – nadžd"}\r
         arw{"arawačtina"}\r
         as{"ásamčina"}\r
         asa{"asu"}\r
@@ -760,7 +761,7 @@ sk{
     Variants{\r
         SCOTLAND{"škótska štandardná angličtina"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – všetko"}\r
         category-list{"{0}: {1}"}\r
index 0d8915f..f50993b 100644 (file)
@@ -395,6 +395,7 @@ sl{
         rm{"retoromanščina"}\r
         rn{"rundščina"}\r
         ro{"romunščina"}\r
+        ro_MD{"moldavščina"}\r
         rof{"rombo"}\r
         rom{"romščina"}\r
         root{"rootščina"}\r
@@ -877,7 +878,7 @@ sl{
         VALENCIA{"valencijski pravopis"}\r
         WADEGILE{"romanizacija Wade-Giles"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} – vse"}\r
         category-list{"{0}: {1}"}\r
index c9b37f3..ce1d789 100644 (file)
@@ -401,7 +401,7 @@ smn{
         en_GB{"eŋgâlâskielâ (OK)"}\r
         en_US{"eŋgâlâskielâ (USA)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"kielâ: {0}"}\r
         script{"čäällimvuáhádâh: {0}"}\r
index af380f5..3667ad6 100644 (file)
@@ -48,5 +48,5 @@ sn{
         zh{"chiChinese"}\r
         zu{"chiZulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f4f906f..dd1385e 100644 (file)
@@ -52,5 +52,5 @@ so{
         Zxxx{"Aan la qorin"}\r
         Zzzz{"Far aan la aqoon amase aan saxnayn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f70f2bf..8171ff4 100644 (file)
@@ -555,7 +555,7 @@ sq{
             tibt{"shifra tibetiane"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — Të gjitha"}\r
         category-list{"{0}: {1}"}\r
index 5b27e89..f8ccbd3 100644 (file)
@@ -847,7 +847,7 @@ sr{
         TARASK{"Тараскијевичка ортографија"}\r
         VALENCIA{"Валенцијска"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — све"}\r
         category-list{"{0}: {1}"}\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c8b216b..7ce272f 100644 (file)
@@ -18,5 +18,5 @@ sr_Cyrl_BA{
         zgh{"стандардни марокански тамашек"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2d6edb2..c11fc8b 100644 (file)
@@ -17,5 +17,5 @@ sr_Cyrl_ME{
         zgh{"стандардни марокански тамашек"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ec3217f..7b48031 100644 (file)
@@ -17,5 +17,5 @@ sr_Cyrl_XK{
         zgh{"стандардни марокански тамашек"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6b3ba18..02bb192 100644 (file)
@@ -848,7 +848,7 @@ sr_Latn{
         TARASK{"Taraskijevička ortografija"}\r
         VALENCIA{"Valencijska"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     characterLabelPattern{\r
         all{"{0} — sve"}\r
         category-list{"{0}: {1}"}\r
index a7763d9..288e1fc 100644 (file)
@@ -18,5 +18,5 @@ sr_Latn_BA{
         zgh{"standardni marokanski tamašek"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 112a218..a7dfa84 100644 (file)
@@ -17,5 +17,5 @@ sr_Latn_ME{
         zgh{"standardni marokanski tamašek"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7b54f3f..7f46f71 100644 (file)
@@ -17,5 +17,5 @@ sr_Latn_XK{
         zgh{"standardni marokanski tamašek"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 176a786..9e35630 100644 (file)
@@ -51,6 +51,7 @@ sv{
         aro{"araoniska"}\r
         arp{"arapaho"}\r
         arq{"algerisk arabiska"}\r
+        ars{"najdiarabiska"}\r
         arw{"arawakiska"}\r
         ary{"marockansk arabiska"}\r
         arz{"egyptisk arabiska"}\r
@@ -1096,7 +1097,7 @@ sv{
         WADEGILE{"Wade-Giles"}\r
         XSISTEMO{"x-system"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — alla"}\r
         category-list{"{0}: {1}"}\r
index 3017eb3..100d004 100644 (file)
@@ -10,5 +10,5 @@ sv_FI{
     Scripts%variant{\r
         Arab{"persisk-arabiska"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d8e32b6..90432b8 100644 (file)
@@ -644,7 +644,7 @@ sw{
             vaii{"Dijiti za Vai"}\r
         }\r
     }\r
-    Version{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — zote"}\r
         category-list{"{0}: {1}"}\r
index 88f4cc7..594eb3b 100644 (file)
@@ -39,5 +39,5 @@ sw_CD{
         wae{"Kiwalser"}\r
         yi{"Kiyidi"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 50dadb9..aa78815 100644 (file)
@@ -42,5 +42,5 @@ sw_KE{
         wae{"Kiwalser"}\r
         zgh{"Tamazight Sanifu ya Moroko"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 14206d3..cea6a53 100644 (file)
@@ -841,7 +841,7 @@ ta{
         PINYIN{"பின்யின் ரோமானைசெஷன்"}\r
         WADEGILE{"வேட்-கைல்ஸ் ரோமனைஷேசன்"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — அனைத்தும்"}\r
         category-list{"{0}: {1}"}\r
index 5712ba1..d1a4a3d 100644 (file)
@@ -844,7 +844,7 @@ te{
         REVISED{"సవరించబడిన వర్ణక్రమం"}\r
         WADEGILE{"వేడ్-గైల్స్ రోమనైజేషన్"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — అన్ని"}\r
         category-list{"{0}: {1}"}\r
index 90f053d..46e839f 100644 (file)
@@ -48,5 +48,5 @@ teo{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3dd989a..d88343a 100644 (file)
@@ -183,7 +183,7 @@ tg{
             latn{"Рақамҳои ғарбӣ"}\r
         }\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index aed94ac..291c446 100644 (file)
@@ -51,6 +51,7 @@ th{
         aro{"อาเรานา"}\r
         arp{"อาราปาโฮ"}\r
         arq{"อาหรับแอลจีเรีย"}\r
+        ars{"อาหรับนัจญ์ดี"}\r
         arw{"อาราวัก"}\r
         ary{"อาหรับโมร็อกโก"}\r
         arz{"อาหรับพื้นเมืองอียิปต์"}\r
@@ -1054,7 +1055,7 @@ th{
         VALLADER{"วัลลาเดอร์"}\r
         WADEGILE{"การถอดอักษรแบบเวด-ไจลส์"}\r
     }\r
-    Version{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — ทั้งหมด"}\r
         category-list{"{0}: {1}"}\r
index ab86499..25f6c44 100644 (file)
@@ -104,7 +104,7 @@ ti{
         Ethi{"ፊደል"}\r
         Latn{"ላቲን"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 115d84a..ee7fc5c 100644 (file)
@@ -887,7 +887,7 @@ to{
             tibt{"fika fakatipeti"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
     codePatterns{\r
         language{"Lea: {0}"}\r
         script{"Tohinima: {0}"}\r
index dcf2c51..9037fda 100644 (file)
@@ -51,6 +51,7 @@ tr{
         aro{"Araona"}\r
         arp{"Arapaho Dili"}\r
         arq{"Cezayir Arapçası"}\r
+        ars{"Necd Arapçası"}\r
         arw{"Arawak Dili"}\r
         ary{"Fas Arapçası"}\r
         arz{"Mısır Arapçası"}\r
@@ -1037,7 +1038,7 @@ tr{
         VALENCIA{"Valensiyaca"}\r
         WADEGILE{"Wade-Giles (Latin Alfabesinde Yazımı)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — tümü"}\r
         category-list{"{0}: {1}"}\r
index 63684f4..d0b6dfe 100644 (file)
@@ -177,7 +177,7 @@ tt{
             latn{"көнбатыш цифрлары"}\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     codePatterns{\r
         language{"Тел: {0}"}\r
         script{"Язу: {0}"}\r
index e28b926..d120507 100644 (file)
@@ -48,5 +48,5 @@ twq{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 854c6d4..6223732 100644 (file)
@@ -48,5 +48,5 @@ tzm{
         zh{"Tacinwit,Mandarin"}\r
         zu{"tazulut"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8973f92..6f3e38a 100644 (file)
@@ -830,7 +830,7 @@ ug{
         VALENCIA{"ۋالېنسىيە"}\r
         WADEGILE{"ۋېي ئائىلىسى پىنيىن لاتىنلاشتۇرۇش"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     codePatterns{\r
         language{"تىل: {0}"}\r
         script{"يېزىق: {0}"}\r
index 103fd7e..68f6382 100644 (file)
@@ -49,6 +49,7 @@ uk{
         aro{"араона"}\r
         arp{"арапахо"}\r
         arq{"алжирська арабська"}\r
+        ars{"надждійська арабська"}\r
         arw{"аравакська"}\r
         as{"ассамська"}\r
         asa{"асу"}\r
@@ -889,7 +890,7 @@ uk{
         VALENCIA{"Валенсійська"}\r
         WADEGILE{"Романізація Вейда-Джайлза"}\r
     }\r
-    Version{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — усі"}\r
         category-list{"{0}: {1}"}\r
index 32497ec..2f5ce92 100644 (file)
@@ -632,7 +632,7 @@ ur{
             vaii{"وائی ہندسے"}\r
         }\r
     }\r
-    Version{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — تمام"}\r
         category-list{"{0}: {1}"}\r
index 9f92050..3803f2c 100644 (file)
@@ -23,5 +23,5 @@ ur_IN{
             tibt{"تبتی ہندسے"}\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index bdc22a3..240634f 100644 (file)
@@ -242,7 +242,7 @@ uz{
         min{"minangkabau"}\r
         mk{"makedon"}\r
         ml{"malayalam"}\r
-        mn{"mo‘g‘ul"}\r
+        mn{"mongol"}\r
         mni{"manipur"}\r
         moh{"mohauk"}\r
         mos{"mossi"}\r
@@ -269,7 +269,7 @@ uz{
         ng{"ndonga"}\r
         nia{"nias"}\r
         niu{"niue"}\r
-        nl{"golland"}\r
+        nl{"niderland"}\r
         nl_BE{"flamand"}\r
         nmg{"kvasio"}\r
         nn{"norveg-nyunorsk"}\r
@@ -546,7 +546,7 @@ uz{
             tibt{"tibet raqamlari"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — hammasi"}\r
         category-list{"{0}: {1}"}\r
index 05017a8..8bea1cd 100644 (file)
@@ -10,5 +10,5 @@ uz_Arab{
     Scripts{\r
         Arab{"عربی"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4fa0b49..f08534b 100644 (file)
@@ -407,7 +407,7 @@ uz_Cyrl{
             tibt{"Тибет рақамлари"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"Тил: {0}"}\r
         script{"{0}"}\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9f0774c..42dcea2 100644 (file)
@@ -48,5 +48,5 @@ vai{
         zh{"ꕦꕇꔧ"}\r
         zu{"ꖮꖨ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 593448b..564f023 100644 (file)
@@ -49,5 +49,5 @@ vai_Latn{
         zh{"Chaniĩ"}\r
         zu{"Zúlu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9630fb1..3c6998e 100644 (file)
@@ -50,6 +50,7 @@ vi{
         aro{"Tiếng Araona"}\r
         arp{"Tiếng Arapaho"}\r
         arq{"Tiếng Ả Rập Algeria"}\r
+        ars{"Tiếng Ả Rập Najdi"}\r
         arw{"Tiếng Arawak"}\r
         arz{"Tiếng Ả Rập Ai Cập"}\r
         as{"Tiếng Assam"}\r
@@ -982,7 +983,7 @@ vi{
         VALLADER{"VALLADER"}\r
         WADEGILE{"La Mã hóa Wade-Giles"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — tất cả"}\r
         category-list{"{0}: {1}"}\r
index c635e38..50fe331 100644 (file)
@@ -48,5 +48,5 @@ vun{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 76b54f8..d8cb46d 100644 (file)
@@ -193,7 +193,7 @@ wae{
             latn{"Arabiši Zálä"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"Sprač: {0}"}\r
         script{"Alfabét: {0}"}\r
index 95f0857..ae39e4c 100644 (file)
@@ -181,7 +181,7 @@ wo{
             latn{"Siifari Tugal"}\r
         }\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 5d8ac18..9511365 100644 (file)
@@ -48,5 +48,5 @@ xog{
         zh{"Olucayina"}\r
         zu{"Oluzzulu"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 257c603..266e7b5 100644 (file)
@@ -48,5 +48,5 @@ yav{
         zh{"sinúɛ"}\r
         zu{"nusulú"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5c0dcc7..37bdf2d 100644 (file)
@@ -171,7 +171,7 @@ yi{
             gregorian{"גרעגארישער קאַלענדאַר"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     codePatterns{\r
         language{"שפראַך: {0}"}\r
         script{"שריפֿט: {0}"}\r
index 8c509f4..83e0746 100644 (file)
@@ -101,5 +101,5 @@ yo{
         zh{"Èdè Mandari"}\r
         zu{"Èdè Ṣulu"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 80f87c8..c1aef54 100644 (file)
@@ -11,5 +11,5 @@ yo_BJ{
         tr{"Èdè Tɔɔkisi"}\r
         zu{"Èdè Shulu"}\r
     }\r
-    Version{"2.1.37.9"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 99d49b1..bcc4f32 100644 (file)
@@ -1024,7 +1024,7 @@ yue{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥瑪式拼音"}\r
     }\r
-    Version{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index 8dd8fe1..b8c92c2 100644 (file)
@@ -1025,7 +1025,7 @@ yue_Hans{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥玛式拼音"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fe2f19f..02ebb8b 100644 (file)
@@ -61,5 +61,5 @@ zgh{
             islamic{"ⴰⵙⵎⵍⵓⵙⵙⴰⵏ ⵏ ⵍⵉⵙⵍⴰⵎ"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1c202e2..20a84db 100644 (file)
@@ -46,6 +46,7 @@ zh{
         arc{"阿拉米语"}\r
         arn{"马普切语"}\r
         arp{"阿拉帕霍语"}\r
+        ars{"纳吉迪阿拉伯文"}\r
         arw{"阿拉瓦克语"}\r
         as{"阿萨姆语"}\r
         asa{"帕雷语"}\r
@@ -132,7 +133,7 @@ zh{
         dsb{"下索布语"}\r
         dua{"都阿拉语"}\r
         dum{"中古荷兰语"}\r
-        dv{"迪维西语"}\r
+        dv{"迪维语"}\r
         dyo{"朱拉语"}\r
         dyu{"迪尤拉语"}\r
         dz{"宗卡语"}\r
@@ -305,7 +306,7 @@ zh{
         lua{"卢巴-卢拉语"}\r
         lui{"卢伊塞诺语"}\r
         lun{"隆达语"}\r
-        luo{"卢语"}\r
+        luo{"卢语"}\r
         lus{"米佐语"}\r
         luy{"卢雅语"}\r
         lv{"拉脱维亚语"}\r
@@ -978,7 +979,7 @@ zh{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"WG 威氏拼音法"}\r
     }\r
-    Version{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7343a1a..0130e6c 100644 (file)
@@ -52,6 +52,7 @@ zh_Hant{
         aro{"阿拉奧納文"}\r
         arp{"阿拉帕霍文"}\r
         arq{"阿爾及利亞阿拉伯文"}\r
+        ars{"納吉迪阿拉伯文"}\r
         arw{"阿拉瓦克文"}\r
         ary{"摩洛哥阿拉伯文"}\r
         arz{"埃及阿拉伯文"}\r
@@ -1073,7 +1074,7 @@ zh_Hant{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥瑪式拼音"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index 48dbfb8..f3a8b07 100644 (file)
@@ -130,7 +130,7 @@ zh_Hant_HK{
         SCOTLAND{"蘇格蘭標準英語"}\r
         SOTAV{"SOTAV"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         enclosed{"{0} — 包含"}\r
         historic{"{0} — 舊式"}\r
index 9589854..43c2f1f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c75f9c7..9358930 100644 (file)
@@ -629,7 +629,7 @@ zu{
             vaii{"Izinhlazu Zezinombolo ze-Vai"}\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     characterLabelPattern{\r
         all{"{0} — All"}\r
         category-list{"{0}: {1}"}\r
index a3a17b8..cbbcad6 100644 (file)
@@ -213,7 +213,7 @@ af{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 59ce215..65b313f 100644 (file)
@@ -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_NA{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e15bf85..2a70eb0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 40b91d6..7147e61 100644 (file)
@@ -23,7 +23,7 @@ agq{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b72facf..b4ce7d1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 42118e8..a5bae77 100644 (file)
@@ -25,7 +25,7 @@ ak{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4506ad6..68bdbdb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index de6e9f7..bc3f03f 100644 (file)
@@ -219,7 +219,7 @@ am{
         native{"latn"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1286,15 +1286,15 @@ am{
         animals_nature{"እንስሳት እና ተፈጥሮ"}\r
         arrows{"ቀስቶች"}\r
         body{"ሰውነት"}\r
-        box_drawing{"Box Drawing"}\r
+        box_drawing{"ስዕላዊ ሳጥን"}\r
         braille{"ብሬይል"}\r
         building{"ህንጻ"}\r
-        bullets_stars{"ጥይቶች/ኮከቦች"}\r
-        consonantal_jamo{"Consonantal Jamo"}\r
+        bullets_stars{"ጥይቶች ወይም ኮከቦች"}\r
+        consonantal_jamo{"የጃሞ ሆሄያት"}\r
         currency_symbols{"የምንዛሪ ምልክቶች"}\r
-        dash_connector{"Dash/Connector"}\r
+        dash_connector{"ጭረት ወይም አያያዥ"}\r
         digits{"ዲጂት"}\r
-        dingbats{"Dingbats"}\r
+        dingbats{"ነቁጥ"}\r
         divination_symbols{"የመለኮት ምልክቶች"}\r
         downwards_arrows{"ወደታች ቀስቶች"}\r
         downwards_upwards_arrows{"ወደታች ወደላይ ቀስቶች"}\r
@@ -1303,22 +1303,22 @@ am{
         european_scripts{"የኤውሮጳ ስክሪፕቶች"}\r
         female{"ሴት"}\r
         flag{"ባንዲራ"}\r
-        flags{"Flags"}\r
+        flags{"ባንዲራዎች"}\r
         food_drink{"ምግብ እና መጠጥ"}\r
         format{"ቅርጸት"}\r
         format_whitespace{"ቅርጸት እና ባዶቦታ"}\r
-        full_width_form_variant{"Full-Width Form Variants"}\r
+        full_width_form_variant{"ሙሉ ስፋት የተለያየ መልክ"}\r
         geometric_shapes{"ጂኦሜትሪክ ቅርጽ"}\r
-        half_width_form_variant{"Half-Width Form Variants"}\r
-        han_characters{"Han Characters"}\r
+        half_width_form_variant{"ግማሽ ስፋት የተለያየ መልክ"}\r
+        han_characters{"ሃን ቁምፊ"}\r
         han_radicals{"ሃን ራዲካልስ"}\r
         hanja{"ሃንጃ"}\r
         hanzi_simplified{"ሃንዚ(በቀላሉ)"}\r
         hanzi_traditional{"ሃንዚ(ባህላዊ)"}\r
         heart{"ልብ"}\r
         historic_scripts{"ታሪካዊ ስክሪፕቶች"}\r
-        ideographic_desc_characters{"Ideographic Desc. Characters"}\r
-        japanese_kana{"Japanese Kana"}\r
+        ideographic_desc_characters{"ሃሳባዊ ቁምፊዎች"}\r
+        japanese_kana{"የጃፓን ፊደል"}\r
         kanbun{"ካንቡን"}\r
         kanji{"ካንጂ"}\r
         keycap{"የአብይ ሆሄ ቁልፍ ማብሪያ"}\r
@@ -1328,43 +1328,43 @@ am{
         limited_use{"የተወሰነ ኣጠቃቀም"}\r
         male{"ወንድ"}\r
         math_symbols{"የሂሳብ ምልክቶች"}\r
-        middle_eastern_scripts{"Middle Eastern Scripts"}\r
+        middle_eastern_scripts{"የመካከለኛው ምስራቅ ስክሪፕቶች"}\r
         miscellaneous{"የተለያዩ"}\r
-        modern_scripts{"Modern Scripts"}\r
+        modern_scripts{"ዘመናዊ ስክሪፕቶች"}\r
         modifier{"ማሻሻያ"}\r
         musical_symbols{"የሙዚቃ ምልክቶች"}\r
         nature{"ተፈጥሮ"}\r
-        nonspacing{"Nonspacing"}\r
+        nonspacing{"የተጣበቁ ቃላት"}\r
         numbers{"ቁጥሮች"}\r
         objects{"ነገሮች"}\r
         other{"ሌሎች"}\r
         paired{"የተጣመረ"}\r
         person{"ሰው"}\r
-        phonetic_alphabet{"Phonetic Alphabet"}\r
-        pictographs{"Pictographs"}\r
+        phonetic_alphabet{"የድምፅ ፊደል"}\r
+        pictographs{"ስዕላዊ"}\r
         place{"ቦታ"}\r
         plant{"አትክልት"}\r
         punctuation{"ስርዓተ ነጥብ"}\r
         rightwards_arrows{"ወደቀኝ ቀስቶች"}\r
-        sign_standard_symbols{"Sign/Standard Symbols"}\r
-        small_form_variant{"Small Form Variants"}\r
+        sign_standard_symbols{"አርማ ወይም ምልክት"}\r
+        small_form_variant{"ትንሽ የተለያየ መልክ"}\r
         smiley{"ሳቅ"}\r
-        smileys_people{"Smileys & People"}\r
-        south_asian_scripts{"á\8b°á\89¡á\89¥ á\8a¤ስያ ስክሪፕት"}\r
-        southeast_asian_scripts{"Southeast Asian Scripts"}\r
-        spacing{"Spacing"}\r
+        smileys_people{"ሳቂታ ወይም ሰው"}\r
+        south_asian_scripts{"á\8b°á\89¡á\89¥ á\8a¥ስያ ስክሪፕት"}\r
+        southeast_asian_scripts{"ደቡብ ምስራቅ እስያ ስክሪፕት"}\r
+        spacing{"ባዶ ቦታ"}\r
         sport{"ስፖርት"}\r
         symbols{"ምልክቶች"}\r
         technical_symbols{"ቴክኒካል ምልክቶች"}\r
-        tone_marks{"Tone Marks"}\r
+        tone_marks{"የኖታ ምልክት"}\r
         travel{"ጉዞ"}\r
         travel_places{"ጉዞ እና ቦታ"}\r
         upwards_arrows{"ወደላይ ቀስቶች"}\r
-        variant_forms{"Variant Forms"}\r
+        variant_forms{"የተለያየ መልክ ቅጾች"}\r
         vocalic_jamo{"ቮልካኒክ ጃሞ"}\r
         weather{"የአየር ሁኔታ"}\r
         western_asian_scripts{"ምእራባዊ ኤስያ ስክሪፕት"}\r
-        whitespace{"Whitespace"}\r
+        whitespace{"ባዶ ቦታ"}\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"›"}\r
index e12ac7c..61c20e3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5c899bd..8a6948a 100644 (file)
@@ -23,7 +23,7 @@ ar{
             patterns{\r
                 currencyFormat{"#,##0.00 ¤"}\r
                 decimalFormat{"#,##0.###"}\r
-                percentFormat{"#,##0 %"}\r
+                percentFormat{"#,##0%"}\r
                 scientificFormat{"#E0"}\r
             }\r
             symbols{\r
@@ -42,6 +42,7 @@ ar{
             }\r
         }\r
         default{"arab"}\r
+        default_latn{"latn"}\r
         latn{\r
             miscPatterns{\r
                 atLeast{"+{0}"}\r
@@ -383,7 +384,7 @@ ar{
         minimumGroupingDigits{"1"}\r
         native{"arab"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index cdb4dd3..58a0c44 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 770ccd4..867f73f 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
 ar_AE{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             eras{\r
index a44e4b5..a346cc8 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_BH{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 8df511d..55543d2 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_DJ{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index db07466..9d0aa51 100644 (file)
@@ -11,7 +11,7 @@ ar_DZ{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index e1bef50..153ecc5 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_EG{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 6a4708e..b448406 100644 (file)
@@ -4,5 +4,5 @@ ar_EH{
     NumberElements{\r
         default{"latn"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a4136a6..f5885c6 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_ER{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index ddbdedc..d12d251 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
 ar_IL{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 86ac42f..f87e5a3 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
 ar_IQ{\r
-    Version{"2.1.36.32"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index ce77f75..4ab20aa 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
 ar_JO{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 307d4c3..d6f1e10 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
 ar_KM{\r
-    Version{"2.1.35.71"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 0f9ac56..93595db 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_KW{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index ec6f5dd..f57e3d7 100644 (file)
@@ -3,6 +3,7 @@
 ar_LB{\r
     ExemplarCharactersNumbers{"[\u200E \\- , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
     NumberElements{\r
+        default{"arab"}\r
         latn{\r
             symbols{\r
                 decimal{","}\r
@@ -10,7 +11,7 @@ ar_LB{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 1bcf134..b52c28f 100644 (file)
@@ -11,7 +11,7 @@ ar_LY{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index ff1f9b8..749b29c 100644 (file)
@@ -12,7 +12,7 @@ ar_MA{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index ba8bda1..b3b1986 100644 (file)
@@ -3,6 +3,7 @@
 ar_MR{\r
     ExemplarCharactersNumbers{"[\u200E \\- , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
     NumberElements{\r
+        default{"arab"}\r
         latn{\r
             symbols{\r
                 decimal{","}\r
@@ -10,7 +11,7 @@ ar_MR{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 505f05d..461ffe8 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_OM{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 6b28eab..5898804 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
 ar_PS{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 279803a..254121e 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_QA{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 768f533..d94aae2 100644 (file)
@@ -3,13 +3,14 @@
 ar_SA{\r
     ExemplarCharactersNumbers{"[\u200E \\- , . ٪ ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
     NumberElements{\r
+        default{"arab"}\r
         latn{\r
             symbols{\r
                 percentSign{"٪"}\r
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         default{"islamic-umalqura"}\r
         gregorian{\r
index 9dc2875..c895628 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_SD{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 89c8e25..71ceed8 100644 (file)
@@ -3,11 +3,12 @@
 ar_SO{\r
     ExemplarCharactersNumbers{"[\u200E \\- , . ٪ ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
     NumberElements{\r
+        default{"arab"}\r
         latn{\r
             symbols{\r
                 percentSign{"٪"}\r
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 20ad16a..db43742 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_SS{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 7231a4a..ac6caab 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
 ar_SY{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 8f291a8..6d494df 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_TD{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index 688321a..ab8525c 100644 (file)
@@ -11,7 +11,7 @@ ar_TN{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index a8db505..8445c50 100644 (file)
@@ -1,5 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_YE{\r
-    Version{"2.1.31.33"}\r
+    NumberElements{\r
+        default{"arab"}\r
+    }\r
+    Version{"2.1.38.80"}\r
 }\r
index d858ab8..f9cd35d 100644 (file)
@@ -66,40 +66,40 @@ as{
                         other{"0 লাখ"}\r
                     }\r
                     1000000{\r
-                        one{"00 লাখ"}\r
-                        other{"00 লাখ"}\r
+                        one{"0 নিযুত"}\r
+                        other{"0 নিযুত"}\r
                     }\r
                     10000000{\r
-                        one{"0 কোটি"}\r
-                        other{"0 কোটি"}\r
+                        one{"00 নিযুত"}\r
+                        other{"00 নিযুত"}\r
                     }\r
                     100000000{\r
-                        one{"00 কোটি"}\r
-                        other{"00 কোটি"}\r
+                        one{"000 নিযুত"}\r
+                        other{"000 নিযুত"}\r
                     }\r
                     1000000000{\r
-                        one{"0 à¦\86ৰব"}\r
-                        other{"0 à¦\86ৰব"}\r
+                        one{"0 à¦¶à¦¤ à¦\95à§\8bà¦\9fি"}\r
+                        other{"0 à¦¶à¦¤ à¦\95à§\8bà¦\9fি"}\r
                     }\r
                     10000000000{\r
-                        one{"00 à¦\86ৰব"}\r
-                        other{"00 à¦\86ৰব"}\r
+                        one{"00 à¦¶à¦¤ à¦\95à§\8bà¦\9fি"}\r
+                        other{"00 à¦¶à¦¤ à¦\95à§\8bà¦\9fি"}\r
                     }\r
                     100000000000{\r
-                        one{"0 খৰব"}\r
-                        other{"0 খৰব"}\r
+                        one{"000 শত কোটি"}\r
+                        other{"000 শত কোটি"}\r
                     }\r
                     1000000000000{\r
-                        one{"00 খৰব"}\r
-                        other{"00 খৰব"}\r
+                        one{"0 শত পৰাৰ্দ্ধ"}\r
+                        other{"0 শত পৰাৰ্দ্ধ"}\r
                     }\r
                     10000000000000{\r
-                        one{"000 খৰব"}\r
-                        other{"000 খৰব"}\r
+                        one{"00 শত পৰাৰ্দ্ধ"}\r
+                        other{"00 শত পৰাৰ্দ্ধ"}\r
                     }\r
                     100000000000000{\r
-                        one{"0000 খৰব"}\r
-                        other{"0000 খৰব"}\r
+                        one{"000 শত পৰাৰ্দ্ধ"}\r
+                        other{"000 শত পৰাৰ্দ্ধ"}\r
                     }\r
                 }\r
             }\r
@@ -118,40 +118,40 @@ as{
                         other{"¤ 000 লাখ"}\r
                     }\r
                     1000000{\r
-                        one{"¤ 00 লাখ"}\r
-                        other{"¤ 00 লাখ"}\r
+                        one{"¤ 0 নিযুত"}\r
+                        other{"¤ 0 নিযুত"}\r
                     }\r
                     10000000{\r
-                        one{"¤ 0 ক'.'"}\r
-                        other{"¤ 0 ক'.'"}\r
+                        one{"¤ 00 নিযুত"}\r
+                        other{"¤ 00 নিযুত"}\r
                     }\r
                     100000000{\r
-                        one{"¤ 00 ক'.'"}\r
-                        other{"¤ 00 ক'.'"}\r
+                        one{"¤ 000 নিযুত"}\r
+                        other{"¤ 000 নিযুত"}\r
                     }\r
                     1000000000{\r
-                        one{"¤0 আ'.'"}\r
-                        other{"¤0 আ'.'"}\r
+                        one{"¤ 0 শত কোটি"}\r
+                        other{"¤ 0 শত কোটি"}\r
                     }\r
                     10000000000{\r
-                        one{"¤00 আ'.'"}\r
-                        other{"¤00 আ'.'"}\r
+                        one{"¤ 00 শত কোটি"}\r
+                        other{"¤ 00 শত কোটি"}\r
                     }\r
                     100000000000{\r
-                        one{"¤0 খ'.'"}\r
-                        other{"¤0 খ'.'"}\r
+                        one{"¤ 000 শত কোটি"}\r
+                        other{"¤ 000 শত কোটি"}\r
                     }\r
                     1000000000000{\r
-                        one{"¤00 খ'.'"}\r
-                        other{"¤00 খ'.'"}\r
+                        one{"¤ 0 শত পৰাৰ্দ্ধ"}\r
+                        other{"¤ 0 শত পৰাৰ্দ্ধ"}\r
                     }\r
                     10000000000000{\r
-                        one{"¤0 তিল"}\r
-                        other{"¤0 তিল"}\r
+                        one{"¤ 00 শত পৰাৰ্দ্ধ"}\r
+                        other{"¤ 00 শত পৰাৰ্দ্ধ"}\r
                     }\r
                     100000000000000{\r
-                        one{"¤00 তিল"}\r
-                        other{"¤00 তিল"}\r
+                        one{"¤ 000 শত পৰাৰ্দ্ধ"}\r
+                        other{"¤ 000 শত পৰাৰ্দ্ধ"}\r
                     }\r
                 }\r
                 decimalFormat{\r
@@ -168,40 +168,40 @@ as{
                         other{"0 লাখ"}\r
                     }\r
                     1000000{\r
-                        one{"00 লাখ"}\r
-                        other{"00 লাখ"}\r
+                        one{"0 নিযুত"}\r
+                        other{"0 নিযুত"}\r
                     }\r
                     10000000{\r
-                        one{"0 ক'.'"}\r
-                        other{"0 ক'.'"}\r
+                        one{"00 নিযুত"}\r
+                        other{"00 নিযুত"}\r
                     }\r
                     100000000{\r
-                        one{"00 ক'.'"}\r
-                        other{"00 ক'.'"}\r
+                        one{"000 নিঃ"}\r
+                        other{"000 নিঃ"}\r
                     }\r
                     1000000000{\r
-                        one{"0 à¦\86'.'"}\r
-                        other{"0 à¦\86'.'"}\r
+                        one{"0 শà¦\83 à¦\95à§\8bà¦\83"}\r
+                        other{"0 শà¦\83 à¦\95à§\8bà¦\83"}\r
                     }\r
                     10000000000{\r
-                        one{"00 à¦\86'.'"}\r
-                        other{"00 à¦\86'.'"}\r
+                        one{"00 শà¦\83 à¦\95à§\8bà¦\83"}\r
+                        other{"00 শà¦\83 à¦\95à§\8bà¦\83"}\r
                     }\r
                     100000000000{\r
-                        one{"0 খ'.'"}\r
-                        other{"0 খ'.'"}\r
+                        one{"000 শঃ কঃ"}\r
+                        other{"000 শঃ কঃ"}\r
                     }\r
                     1000000000000{\r
-                        one{"00 খ'.'"}\r
-                        other{"00 খ'.'"}\r
+                        one{"0 শঃ পঃ"}\r
+                        other{"0 শঃ পঃ"}\r
                     }\r
                     10000000000000{\r
-                        one{"0 তিল"}\r
-                        other{"0 তিল"}\r
+                        one{"00 শঃ পঃ"}\r
+                        other{"00 শঃ পঃ"}\r
                     }\r
                     100000000000000{\r
-                        one{"00 তিল"}\r
-                        other{"00 তিল"}\r
+                        one{"000 শঃ পঃ"}\r
+                        other{"000 শঃ পঃ"}\r
                     }\r
                 }\r
             }\r
@@ -219,6 +219,9 @@ as{
             }\r
         }\r
         minimalPairs{\r
+            ordinal{\r
+                other{"সোঁফালে {0}ৰ্থ পাক লওক৷"}\r
+            }\r
             plural{\r
                 one{"আপোনালৈ {0} টা বাৰ্তা আহিছে;আপুনিসেইটোপঢ়িব বিচাৰেনে?"}\r
                 other{"{0} দিন"}\r
@@ -227,31 +230,36 @@ as{
         minimumGroupingDigits{"1"}\r
         native{"beng"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\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
+                "a h.mm.ss zzzz",\r
+                "a h.mm.ss z",\r
+                "a h.mm.ss",\r
+                "a h.mm",\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
                 "{1} {0}",\r
                 "{1} {0}",\r
             }\r
             availableFormats{\r
+                Bh{"B h"}\r
+                Bhm{"B h:mm"}\r
+                Bhms{"B h:mm:ss"}\r
                 E{"ccc"}\r
+                EBhm{"E B h:mm"}\r
+                EBhms{"E, B h:mm:ss"}\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
+                Ehm{"E, a h:mm"}\r
+                Ehms{"E, a h:mm:ss"}\r
                 Gy{"G y"}\r
                 GyMMM{"G y MMM"}\r
                 GyMMMEd{"G y MMM d, E"}\r
@@ -267,19 +275,19 @@ as{
                 MMMd{"MMM d"}\r
                 Md{"MM-dd"}\r
                 d{"d"}\r
-                h{"h a"}\r
-                hm{"h:mm a"}\r
-                hms{"h:mm:ss a"}\r
+                h{"a h"}\r
+                hm{"a h:mm"}\r
+                hms{"a h:mm:ss"}\r
                 ms{"mm:ss"}\r
-                y{"G y"}\r
-                yyyy{"G y"}\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
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM-y GGGGG"}\r
+                yyyyMEd{"E, dd-MM-y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E, d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd-MM-y GGGGG"}\r
                 yyyyQQQ{"G y QQQ"}\r
                 yyyyQQQQ{"G y QQQQ"}\r
             }\r
@@ -292,7 +300,7 @@ as{
                     d{"MM-dd, E – MM-dd, E"}\r
                 }\r
                 MMM{\r
-                    M{"LLL–LLL"}\r
+                    M{"MMM – MMM"}\r
                 }\r
                 MMMEd{\r
                     M{"MMM d, E – MMM d, E"}\r
@@ -349,22 +357,22 @@ as{
         }\r
         gregorian{\r
             AmPmMarkers{\r
-                "পà§\82ৰà§\8dবাহà§\8dণ",\r
-                "à¦\85পৰাহà§\8dণ",\r
+                "পà§\82ৰà§\8dবাহà§\8dন",\r
+                "à¦\85পৰাহà§\8dন",\r
             }\r
             AmPmMarkersAbbr{\r
-                "পà§\82ৰà§\8dবাহà§\8dণ",\r
-                "à¦\85পৰাহà§\8dণ",\r
+                "পà§\82ৰà§\8dবাহà§\8dন",\r
+                "à¦\85পৰাহà§\8dন",\r
             }\r
             AmPmMarkersNarrow{\r
-                "পà§\82ৰà§\8dবাহà§\8dণ",\r
-                "à¦\85পৰাহà§\8dণ",\r
+                "পà§\82ৰà§\8dবাহà§\8dন",\r
+                "à¦\85পৰাহà§\8dন",\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
+                "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
                 "dd-MM-y",\r
@@ -513,27 +521,27 @@ as{
             dayPeriod{\r
                 stand-alone{\r
                     abbreviated{\r
-                        am{"পà§\82ৰà§\8dবাহà§\8dণ"}\r
-                        pm{"à¦\85পৰাহà§\8dণ"}\r
+                        am{"পà§\82ৰà§\8dবাহà§\8dন"}\r
+                        pm{"à¦\85পৰাহà§\8dন"}\r
                     }\r
                     narrow{\r
-                        am{"পà§\82ৰà§\8dবাহà§\8dণ"}\r
-                        pm{"à¦\85পৰাহà§\8dণ"}\r
+                        am{"পà§\82ৰà§\8dবাহà§\8dন"}\r
+                        pm{"à¦\85পৰাহà§\8dন"}\r
                     }\r
                     wide{\r
-                        am{"পà§\82ৰà§\8dবাহà§\8dণ"}\r
-                        pm{"à¦\85পৰাহà§\8dণ"}\r
+                        am{"পà§\82ৰà§\8dবাহà§\8dন"}\r
+                        pm{"à¦\85পৰাহà§\8dন"}\r
                     }\r
                 }\r
             }\r
             eras{\r
                 abbreviated{\r
-                    "খ্ৰী.পূ.",\r
-                    "খ্ৰী.দ.",\r
+                    "খ্ৰীঃ পূঃ",\r
+                    "খ্ৰী",\r
                 }\r
                 abbreviated%variant{\r
-                    "BCE",\r
-                    "খ্ৰীঃদঃ",\r
+                    "খ্ৰীষ্টপূৰ্ব",\r
+                    "CE",\r
                 }\r
                 wide{\r
                     "খ্ৰীষ্টপূৰ্ব",\r
@@ -571,7 +579,7 @@ as{
                 }\r
                 MMMd{\r
                     M{"d MMM – d MMM"}\r
-                    d{"d MMM–d"}\r
+                    d{"d – d MMM"}\r
                 }\r
                 Md{\r
                     M{"dd-MM – dd-MM"}\r
@@ -696,18 +704,18 @@ as{
                         "ডিচে",\r
                     }\r
                     narrow{\r
-                        "1",\r
-                        "2",\r
-                        "3",\r
-                        "4",\r
-                        "5",\r
-                        "6",\r
-                        "7",\r
-                        "8",\r
-                        "9",\r
-                        "10",\r
-                        "11",\r
-                        "12",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
                     }\r
                     wide{\r
                         "জানুৱাৰী",\r
@@ -728,36 +736,36 @@ as{
             quarters{\r
                 format{\r
                     abbreviated{\r
-                        "তি1",\r
-                        "তি2",\r
-                        "তি3",\r
-                        "তি4",\r
+                        "১মà¦\83 à¦¤à¦¿à¦\83",\r
+                        "২য়à¦\83 à¦¤à¦¿à¦\83",\r
+                        "৩য়à¦\83 à¦¤à¦¿à¦\83",\r
+                        "৪ৰà§\8dথà¦\83 à¦¤à¦¿à¦\83",\r
                     }\r
                     narrow{\r
-                        "1",\r
-                        "2",\r
-                        "3",\r
-                        "4",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
                     }\r
                     wide{\r
-                        "পà§\8dৰথম à¦ªà§\8dৰহৰ",\r
-                        "দà§\8dবিতà§\80য় à¦ªà§\8dৰহৰ",\r
-                        "তà§\83তà§\80য় à¦ªà§\8dৰহৰ",\r
-                        "à¦\9aতà§\81ৰà§\8dথ à¦ªà§\8dৰহৰ",\r
+                        "পà§\8dৰথম à¦¤à¦¿à¦¨à¦¿à¦®à¦¾à¦¹",\r
+                        "দà§\8dবিতà§\80য় à¦¤à¦¿à¦¨à¦¿à¦®à¦¾à¦¹",\r
+                        "তà§\83তà§\80য় à¦¤à¦¿à¦¨à¦¿à¦®à¦¾à¦¹",\r
+                        "à¦\9aতà§\81ৰà§\8dথ à¦¤à¦¿à¦¨à¦¿à¦®à¦¾à¦¹",\r
                     }\r
                 }\r
                 stand-alone{\r
                     abbreviated{\r
-                        "তি1",\r
-                        "তি2",\r
-                        "তি3",\r
-                        "তি4",\r
+                        "১মà¦\83 à¦¤à¦¿à¦\83",\r
+                        "২য়à¦\83 à¦¤à¦¿à¦\83",\r
+                        "৩য়à¦\83 à¦¤à¦¿à¦\83",\r
+                        "৪ৰà§\8dথà¦\83 à¦¤à¦¿à¦\83",\r
                     }\r
                     narrow{\r
-                        "1",\r
-                        "2",\r
-                        "3",\r
-                        "4",\r
+                        "",\r
+                        "",\r
+                        "",\r
+                        "",\r
                     }\r
                     wide{\r
                         "প্ৰথম তিনিমাহ",\r
@@ -769,6 +777,94 @@ as{
             }\r
         }\r
     }\r
+    characterLabel{\r
+        activities{"ক্ৰিয়া-কলাপ"}\r
+        african_scripts{"আফ্ৰিকান স্ক্ৰিপ্ট"}\r
+        american_scripts{"আমেৰিকান স্ক্ৰিপ্ট"}\r
+        animal{"জীৱ-জন্তু"}\r
+        animals_nature{"জীৱ-জন্তু বা প্ৰকৃতি"}\r
+        arrows{"কাঁড়"}\r
+        body{"শৰীৰ"}\r
+        box_drawing{"বক্স ড্ৰয়িং"}\r
+        braille{"ব্ৰেইলী"}\r
+        building{"বিল্ডিং"}\r
+        bullets_stars{"বুলেট বা তৰা"}\r
+        consonantal_jamo{"ব্যঞ্জনবৰ্ণ-সংক্ৰান্তীয় জামো"}\r
+        currency_symbols{"মুদ্ৰা প্ৰতীক"}\r
+        dash_connector{"ডেচ বা সংযোজক"}\r
+        digits{"অংক"}\r
+        dingbats{"ডিংবাট"}\r
+        divination_symbols{"ভৱিষ্যদ্বাণী প্ৰতীক"}\r
+        downwards_arrows{"তলমুৱা কাঁড়"}\r
+        downwards_upwards_arrows{"তলফালে উৰ্দ্ধমুখী কাঁড়"}\r
+        east_asian_scripts{"পূব এছীয় লিপি"}\r
+        emoji{"ইম’জি"}\r
+        european_scripts{"ইউৰোপীয় লিপি"}\r
+        female{"মহিলা"}\r
+        flag{"পতাকা"}\r
+        flags{"পতাকাসমূহ"}\r
+        food_drink{"খাদ্য আৰু পানীয়"}\r
+        format{"ফৰ্মেট"}\r
+        format_whitespace{"ফৰ্মেট আৰু হোৱাইটস্পেচ"}\r
+        full_width_form_variant{"পূৰ্ণ-প্ৰস্থৰ বৈভাষিক"}\r
+        geometric_shapes{"জ্যামিতিক আকৃতি"}\r
+        half_width_form_variant{"অৰ্ধ-প্ৰস্থৰ বৈভাষিক"}\r
+        han_characters{"হান বৰ্ণ"}\r
+        han_radicals{"হান ৰেডিকেল"}\r
+        hanja{"হাঞ্জা"}\r
+        hanzi_simplified{"হাঞ্জি (সৰলীকৃত)"}\r
+        hanzi_traditional{"হাঞ্জি (পৰম্পৰাগত)"}\r
+        heart{"হাৰ্ট"}\r
+        historic_scripts{"ঐতিহাসিক লিপি"}\r
+        ideographic_desc_characters{"আইডিঅ’গ্ৰাফিক ডেস্ক কেৰেক্টাৰ"}\r
+        japanese_kana{"জাপানী কানা"}\r
+        kanbun{"কানবান"}\r
+        kanji{"কাঞ্জি"}\r
+        keycap{"কীকেপ"}\r
+        leftwards_arrows{"বাওঁফালে মুখ কৰা কাঁড়"}\r
+        leftwards_rightwards_arrows{"বাওঁফালে সোঁফালে মুখ কৰা কাঁড়"}\r
+        letterlike_symbols{"বৰ্ণৰ দৰে প্ৰতীক"}\r
+        limited_use{"সীমিত-ব্যৱহাৰ"}\r
+        male{"পুৰুষ"}\r
+        math_symbols{"অংকৰ প্ৰতীক"}\r
+        middle_eastern_scripts{"মধ্য প্ৰাচ্য লিপি"}\r
+        miscellaneous{"বিবিধ"}\r
+        modern_scripts{"আধুনিক লিপি"}\r
+        modifier{"সংশোধক"}\r
+        musical_symbols{"সাংগীতিক প্ৰতীক"}\r
+        nature{"প্ৰকৃতি"}\r
+        nonspacing{"খালীস্থান নথকা"}\r
+        numbers{"সংখ্যা"}\r
+        objects{"অবজেক্ট"}\r
+        other{"অন্যান্য"}\r
+        paired{"যুগ্ম"}\r
+        person{"ব্যক্তি"}\r
+        phonetic_alphabet{"ধ্বনিগত বৰ্ণমালা"}\r
+        pictographs{"চিত্ৰলেখ"}\r
+        place{"স্থান"}\r
+        plant{"উদ্ভিদ"}\r
+        punctuation{"যতিচিহ্ন"}\r
+        rightwards_arrows{"সোঁফালে মুখ কৰা কাঁড়"}\r
+        sign_standard_symbols{"চিহ্ন বা প্ৰতীক"}\r
+        small_form_variant{"সৰু বৈভাষিক"}\r
+        smiley{"স্মাইলী"}\r
+        smileys_people{"স্মাইলী বা ব্যক্তি"}\r
+        south_asian_scripts{"দক্ষিণ এছীয় লিপি"}\r
+        southeast_asian_scripts{"দক্ষিণ-পূব এছীয় লিপি"}\r
+        spacing{"ব্যৱধান"}\r
+        sport{"ক্ৰীড়া"}\r
+        symbols{"প্ৰতীক"}\r
+        technical_symbols{"কাৰিকৰী প্ৰতীক"}\r
+        tone_marks{"স্বৰ চিহ্ন"}\r
+        travel{"যাত্ৰা"}\r
+        travel_places{"যাত্ৰা বা স্থান"}\r
+        upwards_arrows{"ওপৰমুৱা কাঁড়"}\r
+        variant_forms{"বৈভাষিক"}\r
+        vocalic_jamo{"স্বৰধ্বনি-সম্পৰ্কীয় জামো"}\r
+        weather{"বতৰ"}\r
+        western_asian_scripts{"পাশ্চাত্য এছীয় লিপি"}\r
+        whitespace{"হোৱাইটস্পেচ"}\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
         alternateQuotationStart{"‘"}\r
@@ -832,13 +928,13 @@ as{
             dn{"বছৰৰ দিন"}\r
         }\r
         dayperiod{\r
-            dn{"পà§\82ৰà§\8dবাহà§\8dণ/à¦\85পৰাহà§\8dণ"}\r
+            dn{"পà§\82ৰà§\8dবাহà§\8dন/à¦\85পৰাহà§\8dন"}\r
         }\r
         dayperiod-narrow{\r
-            dn{"পà§\82ৰà§\8dবাহà§\8dণ/à¦\85পৰাহà§\8dণ"}\r
+            dn{"পà§\82ৰà§\8dবাহà§\8dন/à¦\85পৰাহà§\8dন"}\r
         }\r
         dayperiod-short{\r
-            dn{"পà§\82ৰà§\8dবাহà§\8dণ/à¦\85পৰাহà§\8dণ"}\r
+            dn{"পà§\82ৰà§\8dবাহà§\8dন/à¦\85পৰাহà§\8dন"}\r
         }\r
         era{\r
             dn{"যুগ"}\r
@@ -1539,7 +1635,7 @@ as{
             }\r
         }\r
         zone{\r
-            dn{"ক্ষেত্ৰ"}\r
+            dn{"সময় à¦\95à§\8dষà§\87তà§\8dৰ"}\r
         }\r
         zone-narrow{\r
             dn{"ক্ষেত্ৰ"}\r
@@ -1551,19 +1647,19 @@ as{
     listPattern{\r
         or{\r
             2{"{0} বা {1}"}\r
-            end{"{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
+            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
+            2{"{0} আৰু {1}"}\r
+            end{"{0} আৰু {1}"}\r
             middle{"{0}, {1}"}\r
             start{"{0}, {1}"}\r
         }\r
@@ -1574,10 +1670,10 @@ as{
             start{"{0}, {1}"}\r
         }\r
         unit-narrow{\r
-            2{"{0}, {1}"}\r
-            end{"{0}, {1}"}\r
-            middle{"{0}, {1}"}\r
-            start{"{0}, {1}"}\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
@@ -1587,8 +1683,35 @@ as{
         }\r
     }\r
     measurementSystemNames{\r
-        UK{"UK"}\r
-        US{"US"}\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
+                "[₨₹{Rp}{Rs}]",\r
+            }\r
+        }\r
+        number{\r
+            lenient{\r
+                "[\\-‒⁻₋−➖﹣-]",\r
+                "[,،٫、︐︑﹐﹑,、]",\r
+                "[+⁺₊➕﬩﹢+]",\r
+            }\r
+            stricter{\r
+                "[,٫︐﹐,]",\r
+                "[.․﹒.。]",\r
+            }\r
+        }\r
+    }\r
 }\r
index 0bebae7..0d35857 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2a9f108..19d9f33 100644 (file)
@@ -11,7 +11,7 @@ asa{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3c9c8ab..c2d6bec 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ee6c0a6..8bef8e3 100644 (file)
@@ -236,7 +236,7 @@ ast{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1154,8 +1154,8 @@ ast{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ 'de' y"}\r
                 yw{\r
-                    one{"'selmana' w 'de' Y"}\r
-                    other{"'selmana' w 'de' Y"}\r
+                    one{"'selmana' w 'de' y"}\r
+                    other{"'selmana' w 'de' y"}\r
                 }\r
             }\r
             dayNames{\r
@@ -3934,4 +3934,31 @@ ast{
         US{"EE.XX."}\r
         metric{"Métricu"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index 7357025..ac73a4d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 675df89..fe14322 100644 (file)
@@ -216,7 +216,7 @@ az{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5e1d95a..2ee97a2 100644 (file)
@@ -27,7 +27,7 @@ az_Cyrl{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ffc7620..c1f6738 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 51285e0..b59be5b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 27e12be..75a1784 100644 (file)
@@ -24,7 +24,7 @@ bas{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7996233..21c560c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6f31cb4..d00444d 100644 (file)
@@ -287,7 +287,7 @@ be{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 232d7f5..2009464 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 80e66b0..107f611 100644 (file)
@@ -12,7 +12,7 @@ bem{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9418213..f9f96d2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7779102..206581b 100644 (file)
@@ -11,7 +11,7 @@ bez{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6a24740..3d9ac03 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1cfaef4..553cd84 100644 (file)
@@ -210,7 +210,7 @@ bg{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 08a3624..a03b6c4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 660d64e..f250afd 100644 (file)
@@ -12,7 +12,7 @@ bm{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f0e75ca..e78b382 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 602edf9..8268caa 100644 (file)
@@ -241,7 +241,7 @@ bn{
         minimumGroupingDigits{"1"}\r
         native{"beng"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 5c3efb3..946e90e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aea3cbd..a224b70 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aaf0828..fd1fb8c 100644 (file)
@@ -33,7 +33,7 @@ bo{
             }\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d078c62..528ded2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c910621..75d2e28 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 341c5c9..ba8c8be 100644 (file)
@@ -16,11 +16,133 @@ br{
     MoreInformation{"?"}\r
     NumberElements{\r
         arab{\r
+            patterns{\r
+                accountingFormat{"#,##0.00 ¤"}\r
+                currencyFormat{"#,##0.00 ¤"}\r
+                percentFormat{"#,##0 %"}\r
+            }\r
+            symbols{\r
+                decimal{"٫"}\r
+                exponential{"اس"}\r
+                group{"٬"}\r
+                infinity{"∞"}\r
+                list{"؛"}\r
+                minusSign{"؜-"}\r
+                nan{"NaN"}\r
+                perMille{"؉"}\r
+                percentSign{"٪؜"}\r
+                plusSign{"؜+"}\r
+                superscriptingExponent{"×"}\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        arabext{\r
+            symbols{\r
+                decimal{"٫"}\r
+                exponential{"×۱۰^"}\r
+                group{"٬"}\r
+                infinity{"∞"}\r
+                list{"؛"}\r
+                minusSign{"‎-‎"}\r
+                nan{"NaN"}\r
+                perMille{"؉"}\r
+                percentSign{"٪"}\r
+                plusSign{"‎+‎"}\r
+                superscriptingExponent{"×"}\r
+                timeSeparator{"٫"}\r
+            }\r
+        }\r
+        bali{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        beng{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        brah{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        cakm{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        cham{\r
             symbols{\r
                 timeSeparator{":"}\r
             }\r
         }\r
         default{"latn"}\r
+        deva{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        fullwide{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        gonm{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        gujr{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        guru{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        hanidec{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        java{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        kali{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        khmr{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        knda{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        lana{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        lanatham{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        laoo{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
         latn{\r
             miscPatterns{\r
                 atLeast{"⩾{0}"}\r
@@ -33,6 +155,268 @@ br{
                 percentFormat{"#,##0 %"}\r
                 scientificFormat{"#E0"}\r
             }\r
+            patternsLong{\r
+                decimalFormat{\r
+                    1000{\r
+                        few{"0 miliad"}\r
+                        many{"0 a viliadoù"}\r
+                        one{"0 miliad"}\r
+                        other{"0 miliad"}\r
+                        two{"0 viliad"}\r
+                    }\r
+                    10000{\r
+                        few{"00 miliad"}\r
+                        many{"00 a viliadoù"}\r
+                        one{"00 miliad"}\r
+                        other{"00 miliad"}\r
+                        two{"00 viliad"}\r
+                    }\r
+                    100000{\r
+                        few{"000 miliad"}\r
+                        many{"000 a viliadoù"}\r
+                        one{"000 miliad"}\r
+                        other{"000 miliad"}\r
+                        two{"000 viliad"}\r
+                    }\r
+                    1000000{\r
+                        few{"0 milion"}\r
+                        many{"0 a v/milionoù"}\r
+                        one{"0 milion"}\r
+                        other{"0 milion"}\r
+                        two{"0 v/milion"}\r
+                    }\r
+                    10000000{\r
+                        few{"00 milion"}\r
+                        many{"00 a v/milionoù"}\r
+                        one{"00 milion"}\r
+                        other{"00 milion"}\r
+                        two{"00 v/milion"}\r
+                    }\r
+                    100000000{\r
+                        few{"000 milion"}\r
+                        many{"000 a v/milionoù"}\r
+                        one{"000 milion"}\r
+                        other{"000 milion"}\r
+                        two{"000 v/milion"}\r
+                    }\r
+                    1000000000{\r
+                        few{"0 miliard"}\r
+                        many{"0 a viliardoù"}\r
+                        one{"0 miliard"}\r
+                        other{"0 miliard"}\r
+                        two{"0 viliard"}\r
+                    }\r
+                    10000000000{\r
+                        few{"00 miliard"}\r
+                        many{"00 a viliardoù"}\r
+                        one{"00 miliard"}\r
+                        other{"00 miliard"}\r
+                        two{"00 viliard"}\r
+                    }\r
+                    100000000000{\r
+                        few{"000 miliard"}\r
+                        many{"000 a viliardoù"}\r
+                        one{"000 miliard"}\r
+                        other{"000 miliard"}\r
+                        two{"000 viliard"}\r
+                    }\r
+                    1000000000000{\r
+                        few{"0 bilion"}\r
+                        many{"0 a v/bilionoù"}\r
+                        one{"0 bilion"}\r
+                        other{"0 bilion"}\r
+                        two{"0 v/bilion"}\r
+                    }\r
+                    10000000000000{\r
+                        few{"00 bilion"}\r
+                        many{"00 a v/bilionoù"}\r
+                        one{"00 bilion"}\r
+                        other{"00 bilion"}\r
+                        two{"00 v/bilion"}\r
+                    }\r
+                    100000000000000{\r
+                        few{"000 bilion"}\r
+                        many{"000 a v/bilionoù"}\r
+                        one{"000 bilion"}\r
+                        other{"000 bilion"}\r
+                        two{"000 v/bilion"}\r
+                    }\r
+                }\r
+            }\r
+            patternsShort{\r
+                currencyFormat{\r
+                    1000{\r
+                        few{"0 k¤"}\r
+                        many{"0 k¤"}\r
+                        one{"0 k¤"}\r
+                        other{"0 k¤"}\r
+                        two{"0 k¤"}\r
+                    }\r
+                    10000{\r
+                        few{"00 k¤"}\r
+                        many{"00 k¤"}\r
+                        one{"00 k¤"}\r
+                        other{"00 k¤"}\r
+                        two{"00 k¤"}\r
+                    }\r
+                    100000{\r
+                        few{"000 k¤"}\r
+                        many{"000 k¤"}\r
+                        one{"000 k¤"}\r
+                        other{"000 k¤"}\r
+                        two{"000 k¤"}\r
+                    }\r
+                    1000000{\r
+                        few{"0 M¤"}\r
+                        many{"0 M¤"}\r
+                        one{"0 M¤"}\r
+                        other{"0 M¤"}\r
+                        two{"0 M¤"}\r
+                    }\r
+                    10000000{\r
+                        few{"00 M¤"}\r
+                        many{"00 M¤"}\r
+                        one{"00 M¤"}\r
+                        other{"00 M¤"}\r
+                        two{"00 M¤"}\r
+                    }\r
+                    100000000{\r
+                        few{"000 M¤"}\r
+                        many{"000 M¤"}\r
+                        one{"000 M¤"}\r
+                        other{"000 M¤"}\r
+                        two{"000 M¤"}\r
+                    }\r
+                    1000000000{\r
+                        few{"0 G¤"}\r
+                        many{"0 G¤"}\r
+                        one{"0 G¤"}\r
+                        other{"0 G¤"}\r
+                        two{"0 G¤"}\r
+                    }\r
+                    10000000000{\r
+                        few{"00 G¤"}\r
+                        many{"00 G¤"}\r
+                        one{"00 G¤"}\r
+                        other{"00 G¤"}\r
+                        two{"00 G¤"}\r
+                    }\r
+                    100000000000{\r
+                        few{"000 G¤"}\r
+                        many{"000 G¤"}\r
+                        one{"000 G¤"}\r
+                        other{"000 G¤"}\r
+                        two{"000 G¤"}\r
+                    }\r
+                    1000000000000{\r
+                        few{"0 T¤"}\r
+                        many{"0 T¤"}\r
+                        one{"0 T¤"}\r
+                        other{"0 T¤"}\r
+                        two{"0 T¤"}\r
+                    }\r
+                    10000000000000{\r
+                        few{"00 T¤"}\r
+                        many{"00 T¤"}\r
+                        one{"00 T¤"}\r
+                        other{"00 T¤"}\r
+                        two{"00 T¤"}\r
+                    }\r
+                    100000000000000{\r
+                        few{"000 T¤"}\r
+                        many{"000 T¤"}\r
+                        one{"000 T¤"}\r
+                        other{"000 T¤"}\r
+                        two{"000 T¤"}\r
+                    }\r
+                }\r
+                decimalFormat{\r
+                    1000{\r
+                        few{"0k"}\r
+                        many{"0k"}\r
+                        one{"0k"}\r
+                        other{"0k"}\r
+                        two{"0k"}\r
+                    }\r
+                    10000{\r
+                        few{"00k"}\r
+                        many{"00k"}\r
+                        one{"00k"}\r
+                        other{"00k"}\r
+                        two{"00k"}\r
+                    }\r
+                    100000{\r
+                        few{"000k"}\r
+                        many{"000k"}\r
+                        one{"000k"}\r
+                        other{"000k"}\r
+                        two{"000k"}\r
+                    }\r
+                    1000000{\r
+                        few{"0M"}\r
+                        many{"0M"}\r
+                        one{"0M"}\r
+                        other{"0M"}\r
+                        two{"0M"}\r
+                    }\r
+                    10000000{\r
+                        few{"00M"}\r
+                        many{"00M"}\r
+                        one{"00M"}\r
+                        other{"00M"}\r
+                        two{"00M"}\r
+                    }\r
+                    100000000{\r
+                        few{"000M"}\r
+                        many{"000M"}\r
+                        one{"000M"}\r
+                        other{"000M"}\r
+                        two{"000M"}\r
+                    }\r
+                    1000000000{\r
+                        few{"0G"}\r
+                        many{"0G"}\r
+                        one{"0G"}\r
+                        other{"0G"}\r
+                        two{"0G"}\r
+                    }\r
+                    10000000000{\r
+                        few{"00G"}\r
+                        many{"00G"}\r
+                        one{"00G"}\r
+                        other{"00G"}\r
+                        two{"00G"}\r
+                    }\r
+                    100000000000{\r
+                        few{"000G"}\r
+                        many{"000G"}\r
+                        one{"000G"}\r
+                        other{"000G"}\r
+                        two{"000G"}\r
+                    }\r
+                    1000000000000{\r
+                        few{"0T"}\r
+                        many{"0T"}\r
+                        one{"0T"}\r
+                        other{"0T"}\r
+                        two{"0T"}\r
+                    }\r
+                    10000000000000{\r
+                        few{"00T"}\r
+                        many{"00T"}\r
+                        one{"00T"}\r
+                        other{"00T"}\r
+                        two{"00T"}\r
+                    }\r
+                    100000000000000{\r
+                        few{"000T"}\r
+                        many{"000T"}\r
+                        one{"000T"}\r
+                        other{"000T"}\r
+                        two{"000T"}\r
+                    }\r
+                }\r
+            }\r
             symbols{\r
                 decimal{","}\r
                 exponential{"E"}\r
@@ -48,318 +432,4155 @@ br{
                 timeSeparator{":"}\r
             }\r
         }\r
+        lepc{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        limb{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"{0}vet"}\r
+            }\r
+        }\r
         minimumGroupingDigits{"1"}\r
+        mlym{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        mong{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        mtei{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        mymr{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        mymrshan{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
         native{"latn"}\r
+        nkoo{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        olck{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        orya{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        osma{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        saur{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        shrd{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        sora{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        sund{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        takr{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        talu{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        tamldec{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        telu{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        thai{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        tibt{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
+        vaii{\r
+            symbols{\r
+                timeSeparator{":"}\r
+            }\r
+        }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
-        generic{\r
+        buddhist{\r
             DateTimePatterns{\r
                 "HH:mm:ss zzzz",\r
                 "HH:mm:ss z",\r
                 "HH:mm:ss",\r
                 "HH:mm",\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
+                "EEEE d MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/y GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
                 "{1} {0}",\r
             }\r
             availableFormats{\r
-                E{"ccc"}\r
-                Ed{"d, E"}\r
-                Gy{"G y"}\r
-                GyMMM{"G y MMM"}\r
-                GyMMMEd{"G y MMM d, E"}\r
-                GyMMMd{"G y MMM d"}\r
-                M{"L"}\r
-                MEd{"MM-dd, E"}\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
                 MMM{"LLL"}\r
-                MMMEd{"MMM d, E"}\r
-                MMMMd{"MMMM d"}\r
-                MMMd{"MMM d"}\r
-                Md{"MM-dd"}\r
-                d{"d"}\r
-                y{"G y"}\r
-                yyyy{"G y"}\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
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
             }\r
             intervalFormats{\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{"MM-dd, E – MM-dd, E"}\r
-                    d{"MM-dd, E – MM-dd, E"}\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{"MMM d, E – MMM d, E"}\r
-                    d{"MMM d, E – MMM d, E"}\r
+                    M{"E d MMM – E d MMM"}\r
+                    d{"E d MMM – E d MMM"}\r
                 }\r
                 MMMd{\r
-                    M{"MMM d – MMM d"}\r
-                    d{"MMM d–d"}\r
+                    M{"d MMM – d MMM"}\r
+                    d{"d–d MMM"}\r
                 }\r
                 Md{\r
-                    M{"MM-dd – MM-dd"}\r
-                    d{"MM-dd – MM-dd"}\r
-                }\r
-                d{\r
-                    d{"d–d"}\r
+                    M{"dd/MM–dd/MM"}\r
+                    d{"dd/MM–dd/MM"}\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{"G y–y"}\r
+                    y{"y–y G"}\r
                 }\r
                 yM{\r
-                    M{"GGGGG y-MM – y-MM"}\r
-                    y{"GGGGG y-MM – y-MM"}\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\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
+                    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
                 yMMM{\r
-                    M{"G y MMM–MMM"}\r
-                    y{"G y MMM – y MMM"}\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\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
+                    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
                 yMMMM{\r
-                    M{"G y MMMM–MMMM"}\r
-                    y{"G y MMMM – y MMMM"}\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\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
+                    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
                 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
+                    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
             }\r
         }\r
-        gregorian{\r
-            AmPmMarkers{\r
-                "A.M.",\r
-                "G.M.",\r
-            }\r
-            AmPmMarkersAbbr{\r
-                "A.M.",\r
-                "G.M.",\r
-            }\r
-            AmPmMarkersNarrow{\r
-                "am",\r
-                "gm",\r
-            }\r
+        chinese{\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
+                "EEEE d MMMM r (U)",\r
+                "d MMMM r (U)",\r
+                "d MMM r",\r
+                "dd/MM/r",\r
+                "{1}, {0}",\r
                 "{1} 'da' {0}",\r
                 "{1} 'da' {0}",\r
+                "{1}, {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
-                EHm{"E HH:mm"}\r
-                EHms{"E HH:mm:ss"}\r
+                EBhm{"E h:mm B"}\r
+                EBhms{"E h:mm:ss B"}\r
                 Ed{"E d"}\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
+                Gy{"r (U)"}\r
+                GyMMM{"MMM r (U)"}\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{"MM"}\r
-                MEd{"E dd/MM"}\r
+                M{"L"}\r
                 MMM{"LLL"}\r
-                MMMEd{"E d MMM"}\r
-                MMMMW{\r
-                    few{"'week' W 'of' MMM"}\r
-                    many{"'week' W 'of' MMM"}\r
-                    one{"'week' W 'of' MMM"}\r
-                    other{"'week' W 'of' MMM"}\r
-                    two{"'week' W 'of' MMM"}\r
-                }\r
-                MMMMd{"MMMM d"}\r
-                MMMd{"d MMM"}\r
-                Md{"dd/MM"}\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{"MM/y"}\r
-                yMEd{"E dd/MM/y"}\r
-                yMMM{"MMM y"}\r
-                yMMMEd{"E d MMM y"}\r
-                yMMMM{"y MMMM"}\r
-                yMMMd{"d MMM y"}\r
-                yMd{"dd/MM/y"}\r
-                yQQQ{"QQQ y"}\r
-                yQQQQ{"QQQQ y"}\r
-                yw{\r
-                    few{"'week' w 'of' Y"}\r
-                    many{"'week' w 'of' Y"}\r
-                    one{"'week' w 'of' Y"}\r
-                    other{"'week' w 'of' Y"}\r
-                    two{"'week' w 'of' Y"}\r
+            }\r
+            cyclicNameSets{\r
+                dayParts{\r
+                    format{\r
+                        abbreviated{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                        narrow{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                        wide{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                    }\r
+                }\r
+                days{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
+                }\r
+                months{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
+                }\r
+                years{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
                 }\r
             }\r
-            dayNames{\r
+            intervalFormats{\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
+                MMM{\r
+                    M{"LLL–LLL"}\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{"U–U"}\r
+                }\r
+            }\r
+            monthNames{\r
                 format{\r
                     abbreviated{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meu.",\r
-                        "Mer.",\r
-                        "Yaou",\r
-                        "Gwe.",\r
-                        "Sad.",\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
                     }\r
                     narrow{\r
-                        "Su",\r
-                        "L",\r
-                        "Mz",\r
-                        "Mc",\r
-                        "Y",\r
-                        "G",\r
-                        "Sa",\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
-                    short{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meu.",\r
-                        "Mer.",\r
-                        "Yaou",\r
-                        "Gwe.",\r
-                        "Sad.",\r
+                    wide{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
                     wide{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meurzh",\r
-                        "Mercʼher",\r
-                        "Yaou",\r
-                        "Gwener",\r
-                        "Sadorn",\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        coptic{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
+                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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Tout",\r
+                        "Baba",\r
+                        "Hator",\r
+                        "Kiahk",\r
+                        "Toba",\r
+                        "Amshir",\r
+                        "Baramhat",\r
+                        "Baramouda",\r
+                        "Bashans",\r
+                        "Paona",\r
+                        "Epep",\r
+                        "Mesra",\r
+                        "Nasie",\r
                     }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                    }\r
+                    wide{\r
+                        "Tout",\r
+                        "Baba",\r
+                        "Hator",\r
+                        "Kiahk",\r
+                        "Toba",\r
+                        "Amshir",\r
+                        "Baramhat",\r
+                        "Baramouda",\r
+                        "Bashans",\r
+                        "Paona",\r
+                        "Epep",\r
+                        "Mesra",\r
+                        "Nasie",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Tout",\r
+                        "Baba",\r
+                        "Hator",\r
+                        "Kiahk",\r
+                        "Toba",\r
+                        "Amshir",\r
+                        "Baramhat",\r
+                        "Baramouda",\r
+                        "Bashans",\r
+                        "Paona",\r
+                        "Epep",\r
+                        "Mesra",\r
+                        "Nasie",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                    }\r
+                    wide{\r
+                        "Tout",\r
+                        "Baba",\r
+                        "Hator",\r
+                        "Kiahk",\r
+                        "Toba",\r
+                        "Amshir",\r
+                        "Baramhat",\r
+                        "Baramouda",\r
+                        "Bashans",\r
+                        "Paona",\r
+                        "Epep",\r
+                        "Mesra",\r
+                        "Nasie",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        dangi{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH:mm:ss z",\r
+                "HH:mm:ss",\r
+                "HH:mm",\r
+                "EEEE d MMMM r (U)",\r
+                "d MMMM r (U)",\r
+                "d MMM r",\r
+                "dd/MM/r",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                E{"ccc"}\r
+                Ed{"E d"}\r
+                Gy{"r (U)"}\r
+                GyMMM{"MMM r (U)"}\r
+                GyMMMEd{"E d MMM r (U)"}\r
+                GyMMMd{"d MMM r"}\r
+                M{"L"}\r
+                MEd{"E, d/M"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"d/M"}\r
+                UM{"M/U"}\r
+                UMMM{"MMM U"}\r
+                UMMMd{"d MMM, U"}\r
+                UMd{"d/M/U"}\r
+                d{"d"}\r
+                y{"r (U)"}\r
+                yMd{"d/M/r"}\r
+                yyyy{"r (U)"}\r
+                yyyyM{"M/r"}\r
+                yyyyMEd{"E, M/d/r"}\r
+                yyyyMMM{"MMM r (U)"}\r
+                yyyyMMMEd{"E d MMM r (U)"}\r
+                yyyyMMMM{"MMMM r (U)"}\r
+                yyyyMMMd{"d MMM r"}\r
+                yyyyMd{"d/M/r"}\r
+                yyyyQQQ{"QQQ r (U)"}\r
+                yyyyQQQQ{"QQQQ r (U)"}\r
+            }\r
+            cyclicNameSets{\r
+                dayParts{\r
+                    format{\r
+                        abbreviated{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                        narrow{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                        wide{\r
+                            "zi",\r
+                            "chou",\r
+                            "yin",\r
+                            "mao",\r
+                            "chen",\r
+                            "si",\r
+                            "wu",\r
+                            "wei",\r
+                            "shen",\r
+                            "you",\r
+                            "xu",\r
+                            "hai",\r
+                        }\r
+                    }\r
+                }\r
+                days{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
+                }\r
+                months{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
+                }\r
+                solarTerms{\r
+                    format{\r
+                        abbreviated{\r
+                            "spring begins",\r
+                            "rain water",\r
+                            "insects awaken",\r
+                            "kedez-Veurzh",\r
+                            "bright and clear",\r
+                            "grain rain",\r
+                            "summer begins",\r
+                            "grain full",\r
+                            "grain in ear",\r
+                            "goursav-heol an hañv",\r
+                            "minor heat",\r
+                            "major heat",\r
+                            "autumn begins",\r
+                            "end of heat",\r
+                            "white dew",\r
+                            "autumn equinox",\r
+                            "cold dew",\r
+                            "frost descends",\r
+                            "winter begins",\r
+                            "minor snow",\r
+                            "major snow",\r
+                            "winter solstice",\r
+                            "minor cold",\r
+                            "major cold",\r
+                        }\r
+                        wide{\r
+                            "spring begins",\r
+                            "rain water",\r
+                            "insects awaken",\r
+                            "kedez-Veurzh",\r
+                            "bright and clear",\r
+                            "grain rain",\r
+                            "summer begins",\r
+                            "grain full",\r
+                            "grain in ear",\r
+                            "goursav-heol an hañv",\r
+                            "minor heat",\r
+                            "major heat",\r
+                            "autumn begins",\r
+                            "end of heat",\r
+                            "white dew",\r
+                            "autumn equinox",\r
+                            "cold dew",\r
+                            "frost descends",\r
+                            "winter begins",\r
+                            "minor snow",\r
+                            "major snow",\r
+                            "winter solstice",\r
+                            "minor cold",\r
+                            "major cold",\r
+                        }\r
+                    }\r
+                }\r
+                years{\r
+                    format{\r
+                        abbreviated{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        narrow{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                        wide{\r
+                            "jia-zi",\r
+                            "yi-chou",\r
+                            "bing-yin",\r
+                            "ding-mao",\r
+                            "wu-chen",\r
+                            "ji-si",\r
+                            "geng-wu",\r
+                            "xin-wei",\r
+                            "ren-shen",\r
+                            "gui-you",\r
+                            "jia-xu",\r
+                            "yi-hai",\r
+                            "bing-zi",\r
+                            "ding-chou",\r
+                            "wu-yin",\r
+                            "ji-mao",\r
+                            "geng-chen",\r
+                            "xin-si",\r
+                            "ren-wu",\r
+                            "gui-wei",\r
+                            "jia-shen",\r
+                            "yi-you",\r
+                            "bing-xu",\r
+                            "ding-hai",\r
+                            "wu-zi",\r
+                            "ji-chou",\r
+                            "geng-yin",\r
+                            "xin-mao",\r
+                            "ren-chen",\r
+                            "gui-si",\r
+                            "jia-wu",\r
+                            "yi-wei",\r
+                            "bing-shen",\r
+                            "ding-you",\r
+                            "wu-xu",\r
+                            "ji-hai",\r
+                            "geng-zi",\r
+                            "xin-chou",\r
+                            "ren-yin",\r
+                            "gui-mao",\r
+                            "jia-chen",\r
+                            "yi-si",\r
+                            "bing-wu",\r
+                            "ding-wei",\r
+                            "wu-shen",\r
+                            "ji-you",\r
+                            "geng-xu",\r
+                            "xin-hai",\r
+                            "ren-zi",\r
+                            "gui-chou",\r
+                            "jia-yin",\r
+                            "yi-mao",\r
+                            "bing-chen",\r
+                            "ding-si",\r
+                            "wu-wu",\r
+                            "ji-wei",\r
+                            "geng-shen",\r
+                            "xin-you",\r
+                            "ren-xu",\r
+                            "gui-hai",\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            intervalFormats{\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
+                MMM{\r
+                    M{"LLL–LLL"}\r
+                }\r
+                Md{\r
+                    M{"MM-dd – MM-dd"}\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
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\r
+                    wide{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\r
+                    wide{\r
+                        "kentañ miz",\r
+                        "eil miz",\r
+                        "trede miz",\r
+                        "pevare miz",\r
+                        "pempvet miz",\r
+                        "cʼhwecʼhvet miz",\r
+                        "seizhvet miz",\r
+                        "eizhvet miz",\r
+                        "navet miz",\r
+                        "dekvet miz",\r
+                        "unnekvet miz",\r
+                        "daouzekvet miz",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        ethiopic{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
+                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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Meskerem",\r
+                        "Tekemt",\r
+                        "Hedar",\r
+                        "Tahsas",\r
+                        "Ter",\r
+                        "Yekatit",\r
+                        "Megabit",\r
+                        "Miazia",\r
+                        "Genbot",\r
+                        "Sene",\r
+                        "Hamle",\r
+                        "Nehasse",\r
+                        "Pagumen",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                    }\r
+                    wide{\r
+                        "Meskerem",\r
+                        "Tekemt",\r
+                        "Hedar",\r
+                        "Tahsas",\r
+                        "Ter",\r
+                        "Yekatit",\r
+                        "Megabit",\r
+                        "Miazia",\r
+                        "Genbot",\r
+                        "Sene",\r
+                        "Hamle",\r
+                        "Nehasse",\r
+                        "Pagumen",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Meskerem",\r
+                        "Tekemt",\r
+                        "Hedar",\r
+                        "Tahsas",\r
+                        "Ter",\r
+                        "Yekatit",\r
+                        "Megabit",\r
+                        "Miazia",\r
+                        "Genbot",\r
+                        "Sene",\r
+                        "Hamle",\r
+                        "Nehasse",\r
+                        "Pagumen",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                    }\r
+                    wide{\r
+                        "Meskerem",\r
+                        "Tekemt",\r
+                        "Hedar",\r
+                        "Tahsas",\r
+                        "Ter",\r
+                        "Yekatit",\r
+                        "Megabit",\r
+                        "Miazia",\r
+                        "Genbot",\r
+                        "Sene",\r
+                        "Hamle",\r
+                        "Nehasse",\r
+                        "Pagumen",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        generic{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {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{"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
+                H{"HH"}\r
+                Hm{"HH:mm"}\r
+                Hms{"HH:mm:ss"}\r
+                M{"L"}\r
+                MEd{"E dd/MM"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\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{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "A.M.",\r
+                "G.M.",\r
+            }\r
+            AmPmMarkersAbbr{\r
+                "A.M.",\r
+                "G.M.",\r
+            }\r
+            AmPmMarkersNarrow{\r
+                "am",\r
+                "gm",\r
+            }\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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} 'da' {0}",\r
+                "{1} 'da' {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{"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
+                H{"HH"}\r
+                Hm{"HH:mm"}\r
+                Hms{"HH:mm:ss"}\r
+                Hmsv{"HH:mm:ss v"}\r
+                Hmv{"HH:mm v"}\r
+                M{"MM"}\r
+                MEd{"E dd/MM"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMW{\r
+                    few{"'sizhun' W MMM"}\r
+                    many{"'sizhun' W MMM"}\r
+                    one{"'sizhun' W MMM"}\r
+                    other{"'sizhun' W MMM"}\r
+                    two{"'sizhun' W MMM"}\r
+                }\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\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{"MM/y"}\r
+                yMEd{"E dd/MM/y"}\r
+                yMMM{"MMM y"}\r
+                yMMMEd{"E d MMM y"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"d MMM y"}\r
+                yMd{"dd/MM/y"}\r
+                yQQQ{"QQQ y"}\r
+                yQQQQ{"QQQQ y"}\r
+                yw{\r
+                    few{"'sizhun' w Y"}\r
+                    many{"'sizhun' w Y"}\r
+                    one{"'sizhun' w Y"}\r
+                    other{"'sizhun' w Y"}\r
+                    two{"'sizhun' w Y"}\r
+                }\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meu.",\r
+                        "Mer.",\r
+                        "Yaou",\r
+                        "Gwe.",\r
+                        "Sad.",\r
+                    }\r
+                    narrow{\r
+                        "Su",\r
+                        "L",\r
+                        "Mz",\r
+                        "Mc",\r
+                        "Y",\r
+                        "G",\r
+                        "Sa",\r
+                    }\r
+                    short{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meu.",\r
+                        "Mer.",\r
+                        "Yaou",\r
+                        "Gwe.",\r
+                        "Sad.",\r
+                    }\r
+                    wide{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meurzh",\r
+                        "Mercʼher",\r
+                        "Yaou",\r
+                        "Gwener",\r
+                        "Sadorn",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meu.",\r
+                        "Mer.",\r
+                        "Yaou",\r
+                        "Gwe.",\r
+                        "Sad.",\r
+                    }\r
+                    narrow{\r
+                        "Su",\r
+                        "L",\r
+                        "Mz",\r
+                        "Mc",\r
+                        "Y",\r
+                        "G",\r
+                        "Sa",\r
+                    }\r
+                    short{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meu.",\r
+                        "Mer.",\r
+                        "Yaou",\r
+                        "Gwe.",\r
+                        "Sad.",\r
+                    }\r
+                    wide{\r
+                        "Sul",\r
+                        "Lun",\r
+                        "Meurzh",\r
+                        "Mercʼher",\r
+                        "Yaou",\r
+                        "Gwener",\r
+                        "Sadorn",\r
+                    }\r
+                }\r
+            }\r
+            dayPeriod{\r
+                stand-alone{\r
+                    abbreviated{\r
+                        am{"A.M."}\r
+                        pm{"G.M."}\r
+                    }\r
+                    narrow{\r
+                        am{"A.M."}\r
+                        pm{"G.M."}\r
+                    }\r
+                    wide{\r
+                        am{"A.M."}\r
+                        pm{"G.M."}\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "a-raok J.K.",\r
+                    "goude J.K.",\r
+                }\r
+                abbreviated%variant{\r
+                    "BCE",\r
+                    "CE",\r
+                }\r
+                narrow{\r
+                    "a-raok J.K.",\r
+                    "goude J.K.",\r
+                }\r
+                wide{\r
+                    "a-raok Jezuz-Krist",\r
+                    "goude Jezuz-Krist",\r
+                }\r
+                wide%variant{\r
+                    "BCE",\r
+                    "CE",\r
+                }\r
+            }\r
+            intervalFormats{\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{"MM/y – MM/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 – E d MMM y"}\r
+                    d{"E d MMM – 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
+                        "Gen.",\r
+                        "Cʼhwe.",\r
+                        "Meur.",\r
+                        "Ebr.",\r
+                        "Mae",\r
+                        "Mezh.",\r
+                        "Goue.",\r
+                        "Eost",\r
+                        "Gwen.",\r
+                        "Here",\r
+                        "Du",\r
+                        "Kzu.",\r
+                    }\r
+                    narrow{\r
+                        "01",\r
+                        "02",\r
+                        "03",\r
+                        "04",\r
+                        "05",\r
+                        "06",\r
+                        "07",\r
+                        "08",\r
+                        "09",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\r
+                    wide{\r
+                        "Genver",\r
+                        "Cʼhwevrer",\r
+                        "Meurzh",\r
+                        "Ebrel",\r
+                        "Mae",\r
+                        "Mezheven",\r
+                        "Gouere",\r
+                        "Eost",\r
+                        "Gwengolo",\r
+                        "Here",\r
+                        "Du",\r
+                        "Kerzu",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Gen.",\r
+                        "Cʼhwe.",\r
+                        "Meur.",\r
+                        "Ebr.",\r
+                        "Mae",\r
+                        "Mezh.",\r
+                        "Goue.",\r
+                        "Eost",\r
+                        "Gwen.",\r
+                        "Here",\r
+                        "Du",\r
+                        "Kzu.",\r
+                    }\r
+                    narrow{\r
+                        "01",\r
+                        "02",\r
+                        "03",\r
+                        "04",\r
+                        "05",\r
+                        "06",\r
+                        "07",\r
+                        "08",\r
+                        "09",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\r
+                    wide{\r
+                        "Genver",\r
+                        "Cʼhwevrer",\r
+                        "Meurzh",\r
+                        "Ebrel",\r
+                        "Mae",\r
+                        "Mezheven",\r
+                        "Gouere",\r
+                        "Eost",\r
+                        "Gwengolo",\r
+                        "Here",\r
+                        "Du",\r
+                        "Kerzu",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "1añ trim.",\r
+                        "2l trim.",\r
+                        "3e trim.",\r
+                        "4e trim.",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                    }\r
+                    wide{\r
+                        "1añ trimiziad",\r
+                        "2l trimiziad",\r
+                        "3e trimiziad",\r
+                        "4e trimiziad",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "1añ trim.",\r
+                        "2l trim.",\r
+                        "3e trim.",\r
+                        "4e trim.",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                    }\r
+                    wide{\r
+                        "1añ trimiziad",\r
+                        "2l trimiziad",\r
+                        "3e trimiziad",\r
+                        "4e trimiziad",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        hebrew{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                E{"ccc"}\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                M{"L"}\r
+                MEd{"E d MMM"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"d MMM"}\r
+                d{"d"}\r
+                y{"y"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\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
+                MEd{\r
+                    M{"E d MMM – E d MMM"}\r
+                    d{"E d MMM – E d MMM"}\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{"d MMM – d MMM"}\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 G"}\r
+                }\r
+                yM{\r
+                    M{"MMM y – MMM y GGGGG"}\r
+                    y{"MMM y – MMM y GGGGG"}\r
+                }\r
+                yMEd{\r
+                    M{"E d MMM – E d MMM y GGGGG"}\r
+                    d{"E d MMM – E d MMM y GGGGG"}\r
+                    y{"E d MMM y – E d MMM y GGGGG"}\r
+                }\r
+                yMMM{\r
+                    M{"MMM y – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\r
+                    M{"d MMM y – d MMM y GGGGG"}\r
+                    d{"d–d MMM y GGGGG"}\r
+                    y{"d MMM y – d MMM y GGGGG"}\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                        "7",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                        "13",\r
+                        "7",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        indian{\r
+            eras{\r
+                abbreviated{\r
+                    "Saka",\r
+                }\r
+                narrow{\r
+                    "Saka",\r
+                }\r
+                wide{\r
+                    "Saka",\r
+                }\r
+            }\r
+            intervalFormats{\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
+                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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
+            }\r
+            monthNames{\r
+                format{\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
+                    }\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 d MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/y GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
+                }\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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
-                stand-alone{\r
-                    abbreviated{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meu.",\r
-                        "Mer.",\r
-                        "Yaou",\r
-                        "Gwe.",\r
-                        "Sad.",\r
-                    }\r
+                yMd{\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
+            }\r
+            monthNames{\r
+                format{\r
                     narrow{\r
-                        "Su",\r
-                        "L",\r
-                        "Mz",\r
-                        "Mc",\r
-                        "Y",\r
-                        "G",\r
-                        "Sa",\r
-                    }\r
-                    short{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meu.",\r
-                        "Mer.",\r
-                        "Yaou",\r
-                        "Gwe.",\r
-                        "Sad.",\r
-                    }\r
-                    wide{\r
-                        "Sul",\r
-                        "Lun",\r
-                        "Meurzh",\r
-                        "Mercʼher",\r
-                        "Yaou",\r
-                        "Gwener",\r
-                        "Sadorn",\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
                 }\r
-            }\r
-            dayPeriod{\r
                 stand-alone{\r
-                    abbreviated{\r
-                        am{"A.M."}\r
-                        pm{"G.M."}\r
-                    }\r
                     narrow{\r
-                        am{"A.M."}\r
-                        pm{"G.M."}\r
-                    }\r
-                    wide{\r
-                        am{"A.M."}\r
-                        pm{"G.M."}\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
                 }\r
             }\r
+        }\r
+        japanese{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
             eras{\r
                 abbreviated{\r
-                    "a-raok J.K.",\r
-                    "goude J.K.",\r
-                }\r
-                abbreviated%variant{\r
-                    "BCE",\r
-                    "CE",\r
+                    "Taika (645–650)",\r
+                    "Hakuchi (650–671)",\r
+                    "Hakuhō (672–686)",\r
+                    "Shuchō (686–701)",\r
+                    "Taihō (701–704)",\r
+                    "Keiun (704–708)",\r
+                    "Wadō (708–715)",\r
+                    "Reiki (715–717)",\r
+                    "Yōrō (717–724)",\r
+                    "Jinki (724–729)",\r
+                    "Tenpyō (729–749)",\r
+                    "Tenpyō-kampō (749–749)",\r
+                    "Tenpyō-shōhō (749–757)",\r
+                    "Tenpyō-hōji (757–765)",\r
+                    "Tenpyō-jingo (765–767)",\r
+                    "Jingo-keiun (767–770)",\r
+                    "Hōki (770–780)",\r
+                    "Ten-ō (781–782)",\r
+                    "Enryaku (782–806)",\r
+                    "Daidō (806–810)",\r
+                    "Kōnin (810–824)",\r
+                    "Tenchō (824–834)",\r
+                    "Jōwa (834–848)",\r
+                    "Kajō (848–851)",\r
+                    "Ninju (851–854)",\r
+                    "Saikō (854–857)",\r
+                    "Ten-an (857–859)",\r
+                    "Jōgan (859–877)",\r
+                    "Gangyō (877–885)",\r
+                    "Ninna (885–889)",\r
+                    "Kanpyō (889–898)",\r
+                    "Shōtai (898–901)",\r
+                    "Engi (901–923)",\r
+                    "Enchō (923–931)",\r
+                    "Jōhei (931–938)",\r
+                    "Tengyō (938–947)",\r
+                    "Tenryaku (947–957)",\r
+                    "Tentoku (957–961)",\r
+                    "Ōwa (961–964)",\r
+                    "Kōhō (964–968)",\r
+                    "Anna (968–970)",\r
+                    "Tenroku (970–973)",\r
+                    "Ten’en (973–976)",\r
+                    "Jōgen (976–978)",\r
+                    "Tengen (978–983)",\r
+                    "Eikan (983–985)",\r
+                    "Kanna (985–987)",\r
+                    "Eien (987–989)",\r
+                    "Eiso (989–990)",\r
+                    "Shōryaku (990–995)",\r
+                    "Chōtoku (995–999)",\r
+                    "Chōhō (999–1004)",\r
+                    "Kankō (1004–1012)",\r
+                    "Chōwa (1012–1017)",\r
+                    "Kannin (1017–1021)",\r
+                    "Jian (1021–1024)",\r
+                    "Manju (1024–1028)",\r
+                    "Chōgen (1028–1037)",\r
+                    "Chōryaku (1037–1040)",\r
+                    "Chōkyū (1040–1044)",\r
+                    "Kantoku (1044–1046)",\r
+                    "Eishō (1046–1053)",\r
+                    "Tengi (1053–1058)",\r
+                    "Kōhei (1058–1065)",\r
+                    "Jiryaku (1065–1069)",\r
+                    "Enkyū (1069–1074)",\r
+                    "Shōho (1074–1077)",\r
+                    "Shōryaku (1077–1081)",\r
+                    "Eihō (1081–1084)",\r
+                    "Ōtoku (1084–1087)",\r
+                    "Kanji (1087–1094)",\r
+                    "Kahō (1094–1096)",\r
+                    "Eichō (1096–1097)",\r
+                    "Jōtoku (1097–1099)",\r
+                    "Kōwa (1099–1104)",\r
+                    "Chōji (1104–1106)",\r
+                    "Kashō (1106–1108)",\r
+                    "Tennin (1108–1110)",\r
+                    "Ten-ei (1110–1113)",\r
+                    "Eikyū (1113–1118)",\r
+                    "Gen’ei (1118–1120)",\r
+                    "Hōan (1120–1124)",\r
+                    "Tenji (1124–1126)",\r
+                    "Daiji (1126–1131)",\r
+                    "Tenshō (1131–1132)",\r
+                    "Chōshō (1132–1135)",\r
+                    "Hōen (1135–1141)",\r
+                    "Eiji (1141–1142)",\r
+                    "Kōji (1142–1144)",\r
+                    "Ten’yō (1144–1145)",\r
+                    "Kyūan (1145–1151)",\r
+                    "Ninpei (1151–1154)",\r
+                    "Kyūju (1154–1156)",\r
+                    "Hōgen (1156–1159)",\r
+                    "Heiji (1159–1160)",\r
+                    "Eiryaku (1160–1161)",\r
+                    "Ōho (1161–1163)",\r
+                    "Chōkan (1163–1165)",\r
+                    "Eiman (1165–1166)",\r
+                    "Nin’an (1166–1169)",\r
+                    "Kaō (1169–1171)",\r
+                    "Shōan (1171–1175)",\r
+                    "Angen (1175–1177)",\r
+                    "Jishō (1177–1181)",\r
+                    "Yōwa (1181–1182)",\r
+                    "Juei (1182–1184)",\r
+                    "Genryaku (1184–1185)",\r
+                    "Bunji (1185–1190)",\r
+                    "Kenkyū (1190–1199)",\r
+                    "Shōji (1199–1201)",\r
+                    "Kennin (1201–1204)",\r
+                    "Genkyū (1204–1206)",\r
+                    "Ken’ei (1206–1207)",\r
+                    "Jōgen (1207–1211)",\r
+                    "Kenryaku (1211–1213)",\r
+                    "Kenpō (1213–1219)",\r
+                    "Jōkyū (1219–1222)",\r
+                    "Jōō (1222–1224)",\r
+                    "Gennin (1224–1225)",\r
+                    "Karoku (1225–1227)",\r
+                    "Antei (1227–1229)",\r
+                    "Kanki (1229–1232)",\r
+                    "Jōei (1232–1233)",\r
+                    "Tenpuku (1233–1234)",\r
+                    "Bunryaku (1234–1235)",\r
+                    "Katei (1235–1238)",\r
+                    "Ryakunin (1238–1239)",\r
+                    "En’ō (1239–1240)",\r
+                    "Ninji (1240–1243)",\r
+                    "Kangen (1243–1247)",\r
+                    "Hōji (1247–1249)",\r
+                    "Kenchō (1249–1256)",\r
+                    "Kōgen (1256–1257)",\r
+                    "Shōka (1257–1259)",\r
+                    "Shōgen (1259–1260)",\r
+                    "Bun’ō (1260–1261)",\r
+                    "Kōchō (1261–1264)",\r
+                    "Bun’ei (1264–1275)",\r
+                    "Kenji (1275–1278)",\r
+                    "Kōan (1278–1288)",\r
+                    "Shōō (1288–1293)",\r
+                    "Einin (1293–1299)",\r
+                    "Shōan (1299–1302)",\r
+                    "Kengen (1302–1303)",\r
+                    "Kagen (1303–1306)",\r
+                    "Tokuji (1306–1308)",\r
+                    "Enkyō (1308–1311)",\r
+                    "Ōchō (1311–1312)",\r
+                    "Shōwa (1312–1317)",\r
+                    "Bunpō (1317–1319)",\r
+                    "Genō (1319–1321)",\r
+                    "Genkō (1321–1324)",\r
+                    "Shōchū (1324–1326)",\r
+                    "Karyaku (1326–1329)",\r
+                    "Gentoku (1329–1331)",\r
+                    "Genkō (1331–1334)",\r
+                    "Kenmu (1334–1336)",\r
+                    "Engen (1336–1340)",\r
+                    "Kōkoku (1340–1346)",\r
+                    "Shōhei (1346–1370)",\r
+                    "Kentoku (1370–1372)",\r
+                    "Bunchū (1372–1375)",\r
+                    "Tenju (1375–1379)",\r
+                    "Kōryaku (1379–1381)",\r
+                    "Kōwa (1381–1384)",\r
+                    "Genchū (1384–1392)",\r
+                    "Meitoku (1384–1387)",\r
+                    "Kakei (1387–1389)",\r
+                    "Kōō (1389–1390)",\r
+                    "Meitoku (1390–1394)",\r
+                    "Ōei (1394–1428)",\r
+                    "Shōchō (1428–1429)",\r
+                    "Eikyō (1429–1441)",\r
+                    "Kakitsu (1441–1444)",\r
+                    "Bun’an (1444–1449)",\r
+                    "Hōtoku (1449–1452)",\r
+                    "Kyōtoku (1452–1455)",\r
+                    "Kōshō (1455–1457)",\r
+                    "Chōroku (1457–1460)",\r
+                    "Kanshō (1460–1466)",\r
+                    "Bunshō (1466–1467)",\r
+                    "Ōnin (1467–1469)",\r
+                    "Bunmei (1469–1487)",\r
+                    "Chōkyō (1487–1489)",\r
+                    "Entoku (1489–1492)",\r
+                    "Meiō (1492–1501)",\r
+                    "Bunki (1501–1504)",\r
+                    "Eishō (1504–1521)",\r
+                    "Taiei (1521–1528)",\r
+                    "Kyōroku (1528–1532)",\r
+                    "Tenbun (1532–1555)",\r
+                    "Kōji (1555–1558)",\r
+                    "Eiroku (1558–1570)",\r
+                    "Genki (1570–1573)",\r
+                    "Tenshō (1573–1592)",\r
+                    "Bunroku (1592–1596)",\r
+                    "Keichō (1596–1615)",\r
+                    "Genna (1615–1624)",\r
+                    "Kan’ei (1624–1644)",\r
+                    "Shōho (1644–1648)",\r
+                    "Keian (1648–1652)",\r
+                    "Jōō (1652–1655)",\r
+                    "Meireki (1655–1658)",\r
+                    "Manji (1658–1661)",\r
+                    "Kanbun (1661–1673)",\r
+                    "Enpō (1673–1681)",\r
+                    "Tenna (1681–1684)",\r
+                    "Jōkyō (1684–1688)",\r
+                    "Genroku (1688–1704)",\r
+                    "Hōei (1704–1711)",\r
+                    "Shōtoku (1711–1716)",\r
+                    "Kyōhō (1716–1736)",\r
+                    "Genbun (1736–1741)",\r
+                    "Kanpō (1741–1744)",\r
+                    "Enkyō (1744–1748)",\r
+                    "Kan’en (1748–1751)",\r
+                    "Hōreki (1751–1764)",\r
+                    "Meiwa (1764–1772)",\r
+                    "An’ei (1772–1781)",\r
+                    "Tenmei (1781–1789)",\r
+                    "Kansei (1789–1801)",\r
+                    "Kyōwa (1801–1804)",\r
+                    "Bunka (1804–1818)",\r
+                    "Bunsei (1818–1830)",\r
+                    "Tenpō (1830–1844)",\r
+                    "Kōka (1844–1848)",\r
+                    "Kaei (1848–1854)",\r
+                    "Ansei (1854–1860)",\r
+                    "Man’en (1860–1861)",\r
+                    "Bunkyū (1861–1864)",\r
+                    "Genji (1864–1865)",\r
+                    "Keiō (1865–1868)",\r
+                    "Meiji",\r
+                    "Taishō",\r
+                    "Shōwa",\r
+                    "Heisei",\r
                 }\r
                 narrow{\r
-                    "a-raok J.K.",\r
-                    "goude J.K.",\r
+                    "Taika (645–650)",\r
+                    "Hakuchi (650–671)",\r
+                    "Hakuhō (672–686)",\r
+                    "Shuchō (686–701)",\r
+                    "Taihō (701–704)",\r
+                    "Keiun (704–708)",\r
+                    "Wadō (708–715)",\r
+                    "Reiki (715–717)",\r
+                    "Yōrō (717–724)",\r
+                    "Jinki (724–729)",\r
+                    "Tenpyō (729–749)",\r
+                    "Tenpyō-kampō (749–749)",\r
+                    "Tenpyō-shōhō (749–757)",\r
+                    "Tenpyō-hōji (757–765)",\r
+                    "Tenpyō-jingo (765–767)",\r
+                    "Jingo-keiun (767–770)",\r
+                    "Hōki (770–780)",\r
+                    "Ten-ō (781–782)",\r
+                    "Enryaku (782–806)",\r
+                    "Daidō (806–810)",\r
+                    "Kōnin (810–824)",\r
+                    "Tenchō (824–834)",\r
+                    "Jōwa (834–848)",\r
+                    "Kajō (848–851)",\r
+                    "Ninju (851–854)",\r
+                    "Saikō (854–857)",\r
+                    "Ten-an (857–859)",\r
+                    "Jōgan (859–877)",\r
+                    "Gangyō (877–885)",\r
+                    "Ninna (885–889)",\r
+                    "Kanpyō (889–898)",\r
+                    "Shōtai (898–901)",\r
+                    "Engi (901–923)",\r
+                    "Enchō (923–931)",\r
+                    "Jōhei (931–938)",\r
+                    "Tengyō (938–947)",\r
+                    "Tenryaku (947–957)",\r
+                    "Tentoku (957–961)",\r
+                    "Ōwa (961–964)",\r
+                    "Kōhō (964–968)",\r
+                    "Anna (968–970)",\r
+                    "Tenroku (970–973)",\r
+                    "Ten’en (973–976)",\r
+                    "Jōgen (976–978)",\r
+                    "Tengen (978–983)",\r
+                    "Eikan (983–985)",\r
+                    "Kanna (985–987)",\r
+                    "Eien (987–989)",\r
+                    "Eiso (989–990)",\r
+                    "Shōryaku (990–995)",\r
+                    "Chōtoku (995–999)",\r
+                    "Chōhō (999–1004)",\r
+                    "Kankō (1004–1012)",\r
+                    "Chōwa (1012–1017)",\r
+                    "Kannin (1017–1021)",\r
+                    "Jian (1021–1024)",\r
+                    "Manju (1024–1028)",\r
+                    "Chōgen (1028–1037)",\r
+                    "Chōryaku (1037–1040)",\r
+                    "Chōkyū (1040–1044)",\r
+                    "Kantoku (1044–1046)",\r
+                    "Eishō (1046–1053)",\r
+                    "Tengi (1053–1058)",\r
+                    "Kōhei (1058–1065)",\r
+                    "Jiryaku (1065–1069)",\r
+                    "Enkyū (1069–1074)",\r
+                    "Shōho (1074–1077)",\r
+                    "Shōryaku (1077–1081)",\r
+                    "Eihō (1081–1084)",\r
+                    "Ōtoku (1084–1087)",\r
+                    "Kanji (1087–1094)",\r
+                    "Kahō (1094–1096)",\r
+                    "Eichō (1096–1097)",\r
+                    "Jōtoku (1097–1099)",\r
+                    "Kōwa (1099–1104)",\r
+                    "Chōji (1104–1106)",\r
+                    "Kashō (1106–1108)",\r
+                    "Tennin (1108–1110)",\r
+                    "Ten-ei (1110–1113)",\r
+                    "Eikyū (1113–1118)",\r
+                    "Gen’ei (1118–1120)",\r
+                    "Hōan (1120–1124)",\r
+                    "Tenji (1124–1126)",\r
+                    "Daiji (1126–1131)",\r
+                    "Tenshō (1131–1132)",\r
+                    "Chōshō (1132–1135)",\r
+                    "Hōen (1135–1141)",\r
+                    "Eiji (1141–1142)",\r
+                    "Kōji (1142–1144)",\r
+                    "Ten’yō (1144–1145)",\r
+                    "Kyūan (1145–1151)",\r
+                    "Ninpei (1151–1154)",\r
+                    "Kyūju (1154–1156)",\r
+                    "Hōgen (1156–1159)",\r
+                    "Heiji (1159–1160)",\r
+                    "Eiryaku (1160–1161)",\r
+                    "Ōho (1161–1163)",\r
+                    "Chōkan (1163–1165)",\r
+                    "Eiman (1165–1166)",\r
+                    "Nin’an (1166–1169)",\r
+                    "Kaō (1169–1171)",\r
+                    "Shōan (1171–1175)",\r
+                    "Angen (1175–1177)",\r
+                    "Jishō (1177–1181)",\r
+                    "Yōwa (1181–1182)",\r
+                    "Juei (1182–1184)",\r
+                    "Genryaku (1184–1185)",\r
+                    "Bunji (1185–1190)",\r
+                    "Kenkyū (1190–1199)",\r
+                    "Shōji (1199–1201)",\r
+                    "Kennin (1201–1204)",\r
+                    "Genkyū (1204–1206)",\r
+                    "Ken’ei (1206–1207)",\r
+                    "Jōgen (1207–1211)",\r
+                    "Kenryaku (1211–1213)",\r
+                    "Kenpō (1213–1219)",\r
+                    "Jōkyū (1219–1222)",\r
+                    "Jōō (1222–1224)",\r
+                    "Gennin (1224–1225)",\r
+                    "Karoku (1225–1227)",\r
+                    "Antei (1227–1229)",\r
+                    "Kanki (1229–1232)",\r
+                    "Jōei (1232–1233)",\r
+                    "Tenpuku (1233–1234)",\r
+                    "Bunryaku (1234–1235)",\r
+                    "Katei (1235–1238)",\r
+                    "Ryakunin (1238–1239)",\r
+                    "En’ō (1239–1240)",\r
+                    "Ninji (1240–1243)",\r
+                    "Kangen (1243–1247)",\r
+                    "Hōji (1247–1249)",\r
+                    "Kenchō (1249–1256)",\r
+                    "Kōgen (1256–1257)",\r
+                    "Shōka (1257–1259)",\r
+                    "Shōgen (1259–1260)",\r
+                    "Bun’ō (1260–1261)",\r
+                    "Kōchō (1261–1264)",\r
+                    "Bun’ei (1264–1275)",\r
+                    "Kenji (1275–1278)",\r
+                    "Kōan (1278–1288)",\r
+                    "Shōō (1288–1293)",\r
+                    "Einin (1293–1299)",\r
+                    "Shōan (1299–1302)",\r
+                    "Kengen (1302–1303)",\r
+                    "Kagen (1303–1306)",\r
+                    "Tokuji (1306–1308)",\r
+                    "Enkyō (1308–1311)",\r
+                    "Ōchō (1311–1312)",\r
+                    "Shōwa (1312–1317)",\r
+                    "Bunpō (1317–1319)",\r
+                    "Genō (1319–1321)",\r
+                    "Genkō (1321–1324)",\r
+                    "Shōchū (1324–1326)",\r
+                    "Karyaku (1326–1329)",\r
+                    "Gentoku (1329–1331)",\r
+                    "Genkō (1331–1334)",\r
+                    "Kenmu (1334–1336)",\r
+                    "Engen (1336–1340)",\r
+                    "Kōkoku (1340–1346)",\r
+                    "Shōhei (1346–1370)",\r
+                    "Kentoku (1370–1372)",\r
+                    "Bunchū (1372–1375)",\r
+                    "Tenju (1375–1379)",\r
+                    "Kōryaku (1379–1381)",\r
+                    "Kōwa (1381–1384)",\r
+                    "Genchū (1384–1392)",\r
+                    "Meitoku (1384–1387)",\r
+                    "Kakei (1387–1389)",\r
+                    "Kōō (1389–1390)",\r
+                    "Meitoku (1390–1394)",\r
+                    "Ōei (1394–1428)",\r
+                    "Shōchō (1428–1429)",\r
+                    "Eikyō (1429–1441)",\r
+                    "Kakitsu (1441–1444)",\r
+                    "Bun’an (1444–1449)",\r
+                    "Hōtoku (1449–1452)",\r
+                    "Kyōtoku (1452–1455)",\r
+                    "Kōshō (1455–1457)",\r
+                    "Chōroku (1457–1460)",\r
+                    "Kanshō (1460–1466)",\r
+                    "Bunshō (1466–1467)",\r
+                    "Ōnin (1467–1469)",\r
+                    "Bunmei (1469–1487)",\r
+                    "Chōkyō (1487–1489)",\r
+                    "Entoku (1489–1492)",\r
+                    "Meiō (1492–1501)",\r
+                    "Bunki (1501–1504)",\r
+                    "Eishō (1504–1521)",\r
+                    "Taiei (1521–1528)",\r
+                    "Kyōroku (1528–1532)",\r
+                    "Tenbun (1532–1555)",\r
+                    "Kōji (1555–1558)",\r
+                    "Eiroku (1558–1570)",\r
+                    "Genki (1570–1573)",\r
+                    "Tenshō (1573–1592)",\r
+                    "Bunroku (1592–1596)",\r
+                    "Keichō (1596–1615)",\r
+                    "Genna (1615–1624)",\r
+                    "Kan’ei (1624–1644)",\r
+                    "Shōho (1644–1648)",\r
+                    "Keian (1648–1652)",\r
+                    "Jōō (1652–1655)",\r
+                    "Meireki (1655–1658)",\r
+                    "Manji (1658–1661)",\r
+                    "Kanbun (1661–1673)",\r
+                    "Enpō (1673–1681)",\r
+                    "Tenna (1681–1684)",\r
+                    "Jōkyō (1684–1688)",\r
+                    "Genroku (1688–1704)",\r
+                    "Hōei (1704–1711)",\r
+                    "Shōtoku (1711–1716)",\r
+                    "Kyōhō (1716–1736)",\r
+                    "Genbun (1736–1741)",\r
+                    "Kanpō (1741–1744)",\r
+                    "Enkyō (1744–1748)",\r
+                    "Kan’en (1748–1751)",\r
+                    "Hōreki (1751–1764)",\r
+                    "Meiwa (1764–1772)",\r
+                    "An’ei (1772–1781)",\r
+                    "Tenmei (1781–1789)",\r
+                    "Kansei (1789–1801)",\r
+                    "Kyōwa (1801–1804)",\r
+                    "Bunka (1804–1818)",\r
+                    "Bunsei (1818–1830)",\r
+                    "Tenpō (1830–1844)",\r
+                    "Kōka (1844–1848)",\r
+                    "Kaei (1848–1854)",\r
+                    "Ansei (1854–1860)",\r
+                    "Man’en (1860–1861)",\r
+                    "Bunkyū (1861–1864)",\r
+                    "Genji (1864–1865)",\r
+                    "Keiō (1865–1868)",\r
+                    "M",\r
+                    "T",\r
+                    "S",\r
+                    "H",\r
                 }\r
                 wide{\r
-                    "a-raok Jezuz-Krist",\r
-                    "goude Jezuz-Krist",\r
-                }\r
-                wide%variant{\r
-                    "BCE",\r
-                    "CE",\r
+                    "Taika (645–650)",\r
+                    "Hakuchi (650–671)",\r
+                    "Hakuhō (672–686)",\r
+                    "Shuchō (686–701)",\r
+                    "Taihō (701–704)",\r
+                    "Keiun (704–708)",\r
+                    "Wadō (708–715)",\r
+                    "Reiki (715–717)",\r
+                    "Yōrō (717–724)",\r
+                    "Jinki (724–729)",\r
+                    "Tenpyō (729–749)",\r
+                    "Tenpyō-kampō (749–749)",\r
+                    "Tenpyō-shōhō (749–757)",\r
+                    "Tenpyō-hōji (757–765)",\r
+                    "Tenpyō-jingo (765–767)",\r
+                    "Jingo-keiun (767–770)",\r
+                    "Hōki (770–780)",\r
+                    "Ten-ō (781–782)",\r
+                    "Enryaku (782–806)",\r
+                    "Daidō (806–810)",\r
+                    "Kōnin (810–824)",\r
+                    "Tenchō (824–834)",\r
+                    "Jōwa (834–848)",\r
+                    "Kajō (848–851)",\r
+                    "Ninju (851–854)",\r
+                    "Saikō (854–857)",\r
+                    "Ten-an (857–859)",\r
+                    "Jōgan (859–877)",\r
+                    "Gangyō (877–885)",\r
+                    "Ninna (885–889)",\r
+                    "Kanpyō (889–898)",\r
+                    "Shōtai (898–901)",\r
+                    "Engi (901–923)",\r
+                    "Enchō (923–931)",\r
+                    "Jōhei (931–938)",\r
+                    "Tengyō (938–947)",\r
+                    "Tenryaku (947–957)",\r
+                    "Tentoku (957–961)",\r
+                    "Ōwa (961–964)",\r
+                    "Kōhō (964–968)",\r
+                    "Anna (968–970)",\r
+                    "Tenroku (970–973)",\r
+                    "Ten’en (973–976)",\r
+                    "Jōgen (976–978)",\r
+                    "Tengen (978–983)",\r
+                    "Eikan (983–985)",\r
+                    "Kanna (985–987)",\r
+                    "Eien (987–989)",\r
+                    "Eiso (989–990)",\r
+                    "Shōryaku (990–995)",\r
+                    "Chōtoku (995–999)",\r
+                    "Chōhō (999–1004)",\r
+                    "Kankō (1004–1012)",\r
+                    "Chōwa (1012–1017)",\r
+                    "Kannin (1017–1021)",\r
+                    "Jian (1021–1024)",\r
+                    "Manju (1024–1028)",\r
+                    "Chōgen (1028–1037)",\r
+                    "Chōryaku (1037–1040)",\r
+                    "Chōkyū (1040–1044)",\r
+                    "Kantoku (1044–1046)",\r
+                    "Eishō (1046–1053)",\r
+                    "Tengi (1053–1058)",\r
+                    "Kōhei (1058–1065)",\r
+                    "Jiryaku (1065–1069)",\r
+                    "Enkyū (1069–1074)",\r
+                    "Shōho (1074–1077)",\r
+                    "Shōryaku (1077–1081)",\r
+                    "Eihō (1081–1084)",\r
+                    "Ōtoku (1084–1087)",\r
+                    "Kanji (1087–1094)",\r
+                    "Kahō (1094–1096)",\r
+                    "Eichō (1096–1097)",\r
+                    "Jōtoku (1097–1099)",\r
+                    "Kōwa (1099–1104)",\r
+                    "Chōji (1104–1106)",\r
+                    "Kashō (1106–1108)",\r
+                    "Tennin (1108–1110)",\r
+                    "Ten-ei (1110–1113)",\r
+                    "Eikyū (1113–1118)",\r
+                    "Gen’ei (1118–1120)",\r
+                    "Hōan (1120–1124)",\r
+                    "Tenji (1124–1126)",\r
+                    "Daiji (1126–1131)",\r
+                    "Tenshō (1131–1132)",\r
+                    "Chōshō (1132–1135)",\r
+                    "Hōen (1135–1141)",\r
+                    "Eiji (1141–1142)",\r
+                    "Kōji (1142–1144)",\r
+                    "Ten’yō (1144–1145)",\r
+                    "Kyūan (1145–1151)",\r
+                    "Ninpei (1151–1154)",\r
+                    "Kyūju (1154–1156)",\r
+                    "Hōgen (1156–1159)",\r
+                    "Heiji (1159–1160)",\r
+                    "Eiryaku (1160–1161)",\r
+                    "Ōho (1161–1163)",\r
+                    "Chōkan (1163–1165)",\r
+                    "Eiman (1165–1166)",\r
+                    "Nin’an (1166–1169)",\r
+                    "Kaō (1169–1171)",\r
+                    "Shōan (1171–1175)",\r
+                    "Angen (1175–1177)",\r
+                    "Jishō (1177–1181)",\r
+                    "Yōwa (1181–1182)",\r
+                    "Juei (1182–1184)",\r
+                    "Genryaku (1184–1185)",\r
+                    "Bunji (1185–1190)",\r
+                    "Kenkyū (1190–1199)",\r
+                    "Shōji (1199–1201)",\r
+                    "Kennin (1201–1204)",\r
+                    "Genkyū (1204–1206)",\r
+                    "Ken’ei (1206–1207)",\r
+                    "Jōgen (1207–1211)",\r
+                    "Kenryaku (1211–1213)",\r
+                    "Kenpō (1213–1219)",\r
+                    "Jōkyū (1219–1222)",\r
+                    "Jōō (1222–1224)",\r
+                    "Gennin (1224–1225)",\r
+                    "Karoku (1225–1227)",\r
+                    "Antei (1227–1229)",\r
+                    "Kanki (1229–1232)",\r
+                    "Jōei (1232–1233)",\r
+                    "Tenpuku (1233–1234)",\r
+                    "Bunryaku (1234–1235)",\r
+                    "Katei (1235–1238)",\r
+                    "Ryakunin (1238–1239)",\r
+                    "En’ō (1239–1240)",\r
+                    "Ninji (1240–1243)",\r
+                    "Kangen (1243–1247)",\r
+                    "Hōji (1247–1249)",\r
+                    "Kenchō (1249–1256)",\r
+                    "Kōgen (1256–1257)",\r
+                    "Shōka (1257–1259)",\r
+                    "Shōgen (1259–1260)",\r
+                    "Bun’ō (1260–1261)",\r
+                    "Kōchō (1261–1264)",\r
+                    "Bun’ei (1264–1275)",\r
+                    "Kenji (1275–1278)",\r
+                    "Kōan (1278–1288)",\r
+                    "Shōō (1288–1293)",\r
+                    "Einin (1293–1299)",\r
+                    "Shōan (1299–1302)",\r
+                    "Kengen (1302–1303)",\r
+                    "Kagen (1303–1306)",\r
+                    "Tokuji (1306–1308)",\r
+                    "Enkyō (1308–1311)",\r
+                    "Ōchō (1311–1312)",\r
+                    "Shōwa (1312–1317)",\r
+                    "Bunpō (1317–1319)",\r
+                    "Genō (1319–1321)",\r
+                    "Genkō (1321–1324)",\r
+                    "Shōchū (1324–1326)",\r
+                    "Karyaku (1326–1329)",\r
+                    "Gentoku (1329–1331)",\r
+                    "Genkō (1331–1334)",\r
+                    "Kenmu (1334–1336)",\r
+                    "Engen (1336–1340)",\r
+                    "Kōkoku (1340–1346)",\r
+                    "Shōhei (1346–1370)",\r
+                    "Kentoku (1370–1372)",\r
+                    "Bunchū (1372–1375)",\r
+                    "Tenju (1375–1379)",\r
+                    "Kōryaku (1379–1381)",\r
+                    "Kōwa (1381–1384)",\r
+                    "Genchū (1384–1392)",\r
+                    "Meitoku (1384–1387)",\r
+                    "Kakei (1387–1389)",\r
+                    "Kōō (1389–1390)",\r
+                    "Meitoku (1390–1394)",\r
+                    "Ōei (1394–1428)",\r
+                    "Shōchō (1428–1429)",\r
+                    "Eikyō (1429–1441)",\r
+                    "Kakitsu (1441–1444)",\r
+                    "Bun’an (1444–1449)",\r
+                    "Hōtoku (1449–1452)",\r
+                    "Kyōtoku (1452–1455)",\r
+                    "Kōshō (1455–1457)",\r
+                    "Chōroku (1457–1460)",\r
+                    "Kanshō (1460–1466)",\r
+                    "Bunshō (1466–1467)",\r
+                    "Ōnin (1467–1469)",\r
+                    "Bunmei (1469–1487)",\r
+                    "Chōkyō (1487–1489)",\r
+                    "Entoku (1489–1492)",\r
+                    "Meiō (1492–1501)",\r
+                    "Bunki (1501–1504)",\r
+                    "Eishō (1504–1521)",\r
+                    "Taiei (1521–1528)",\r
+                    "Kyōroku (1528–1532)",\r
+                    "Tenbun (1532–1555)",\r
+                    "Kōji (1555–1558)",\r
+                    "Eiroku (1558–1570)",\r
+                    "Genki (1570–1573)",\r
+                    "Tenshō (1573–1592)",\r
+                    "Bunroku (1592–1596)",\r
+                    "Keichō (1596–1615)",\r
+                    "Genna (1615–1624)",\r
+                    "Kan’ei (1624–1644)",\r
+                    "Shōho (1644–1648)",\r
+                    "Keian (1648–1652)",\r
+                    "Jōō (1652–1655)",\r
+                    "Meireki (1655–1658)",\r
+                    "Manji (1658–1661)",\r
+                    "Kanbun (1661–1673)",\r
+                    "Enpō (1673–1681)",\r
+                    "Tenna (1681–1684)",\r
+                    "Jōkyō (1684–1688)",\r
+                    "Genroku (1688–1704)",\r
+                    "Hōei (1704–1711)",\r
+                    "Shōtoku (1711–1716)",\r
+                    "Kyōhō (1716–1736)",\r
+                    "Genbun (1736–1741)",\r
+                    "Kanpō (1741–1744)",\r
+                    "Enkyō (1744–1748)",\r
+                    "Kan’en (1748–1751)",\r
+                    "Hōreki (1751–1764)",\r
+                    "Meiwa (1764–1772)",\r
+                    "An’ei (1772–1781)",\r
+                    "Tenmei (1781–1789)",\r
+                    "Kansei (1789–1801)",\r
+                    "Kyōwa (1801–1804)",\r
+                    "Bunka (1804–1818)",\r
+                    "Bunsei (1818–1830)",\r
+                    "Tenpō (1830–1844)",\r
+                    "Kōka (1844–1848)",\r
+                    "Kaei (1848–1854)",\r
+                    "Ansei (1854–1860)",\r
+                    "Man’en (1860–1861)",\r
+                    "Bunkyū (1861–1864)",\r
+                    "Genji (1864–1865)",\r
+                    "Keiō (1865–1868)",\r
+                    "Meiji",\r
+                    "Taishō",\r
+                    "Shōwa",\r
+                    "Heisei",\r
                 }\r
             }\r
             intervalFormats{\r
@@ -377,16 +4598,10 @@ br{
                 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
@@ -396,11 +4611,8 @@ br{
                     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
+                    M{"dd/MM–dd/MM"}\r
+                    d{"dd/MM–dd/MM"}\r
                 }\r
                 fallback{"{0} – {1}"}\r
                 h{\r
@@ -422,170 +4634,197 @@ br{
                     h{"h–h a v"}\r
                 }\r
                 y{\r
-                    y{"y–y"}\r
+                    y{"y–y G"}\r
                 }\r
                 yM{\r
-                    M{"MM/y – MM/y"}\r
-                    y{"MM/y – MM/y"}\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\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
+                    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
                 yMMM{\r
-                    M{"MMM – MMM y"}\r
-                    y{"MMM y – MMM y"}\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
                 }\r
                 yMMMEd{\r
-                    M{"E d MMM – E d MMM y"}\r
-                    d{"E d MMM – E d MMM y"}\r
-                    y{"E d MMM y – E d MMM y"}\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
                 yMMMM{\r
-                    M{"MMMM – MMMM y"}\r
-                    y{"MMMM y – MMMM y"}\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\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
+                    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
                 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
+                    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
             }\r
-            monthNames{\r
-                format{\r
-                    abbreviated{\r
-                        "Gen.",\r
-                        "Cʼhwe.",\r
-                        "Meur.",\r
-                        "Ebr.",\r
-                        "Mae",\r
-                        "Mezh.",\r
-                        "Goue.",\r
-                        "Eost",\r
-                        "Gwen.",\r
-                        "Here",\r
-                        "Du",\r
-                        "Kzu.",\r
-                    }\r
-                    narrow{\r
-                        "01",\r
-                        "02",\r
-                        "03",\r
-                        "04",\r
-                        "05",\r
-                        "06",\r
-                        "07",\r
-                        "08",\r
-                        "09",\r
-                        "10",\r
-                        "11",\r
-                        "12",\r
-                    }\r
-                    wide{\r
-                        "Genver",\r
-                        "Cʼhwevrer",\r
-                        "Meurzh",\r
-                        "Ebrel",\r
-                        "Mae",\r
-                        "Mezheven",\r
-                        "Gouere",\r
-                        "Eost",\r
-                        "Gwengolo",\r
-                        "Here",\r
-                        "Du",\r
-                        "Kerzu",\r
-                    }\r
+        }\r
+        persian{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH: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 GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
+            intervalFormats{\r
+                H{\r
+                    H{"HH–HH"}\r
                 }\r
-                stand-alone{\r
-                    abbreviated{\r
-                        "Gen.",\r
-                        "Cʼhwe.",\r
-                        "Meur.",\r
-                        "Ebr.",\r
-                        "Mae",\r
-                        "Mezh.",\r
-                        "Goue.",\r
-                        "Eost",\r
-                        "Gwen.",\r
-                        "Here",\r
-                        "Du",\r
-                        "Ker.",\r
-                    }\r
-                    narrow{\r
-                        "01",\r
-                        "02",\r
-                        "03",\r
-                        "04",\r
-                        "05",\r
-                        "06",\r
-                        "07",\r
-                        "08",\r
-                        "09",\r
-                        "10",\r
-                        "11",\r
-                        "12",\r
-                    }\r
-                    wide{\r
-                        "Genver",\r
-                        "Cʼhwevrer",\r
-                        "Meurzh",\r
-                        "Ebrel",\r
-                        "Mae",\r
-                        "Mezheven",\r
-                        "Gouere",\r
-                        "Eost",\r
-                        "Gwengolo",\r
-                        "Here",\r
-                        "Du",\r
-                        "Kerzu",\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
+                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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
             }\r
-            quarters{\r
+            monthNames{\r
                 format{\r
-                    abbreviated{\r
-                        "1añ trim.",\r
-                        "2l trim.",\r
-                        "3e trim.",\r
-                        "4e trim.",\r
-                    }\r
                     narrow{\r
                         "1",\r
                         "2",\r
                         "3",\r
                         "4",\r
-                    }\r
-                    wide{\r
-                        "1añ trimiziad",\r
-                        "2l trimiziad",\r
-                        "3e trimiziad",\r
-                        "4e trimiziad",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
                 }\r
                 stand-alone{\r
-                    abbreviated{\r
-                        "1añ trim.",\r
-                        "2l trim.",\r
-                        "3e trim.",\r
-                        "4e trim.",\r
-                    }\r
                     narrow{\r
                         "1",\r
                         "2",\r
                         "3",\r
                         "4",\r
-                    }\r
-                    wide{\r
-                        "1añ trimiziad",\r
-                        "2l trimiziad",\r
-                        "3e trimiziad",\r
-                        "4e trimiziad",\r
+                        "5",\r
+                        "6",\r
+                        "7",\r
+                        "8",\r
+                        "9",\r
+                        "10",\r
+                        "11",\r
+                        "12",\r
                     }\r
                 }\r
             }\r
@@ -596,16 +4835,39 @@ br{
                 "HH:mm:ss z",\r
                 "HH:mm:ss",\r
                 "HH:mm",\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
+                "EEEE d MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/y GGGG",\r
+                "{1}, {0}",\r
+                "{1} 'da' {0}",\r
+                "{1} 'da' {0}",\r
+                "{1}, {0}",\r
                 "{1} {0}",\r
             }\r
+            availableFormats{\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E dd/MM"}\r
+                MMMEd{"E d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"dd/MM"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"MM/y GGGGG"}\r
+                yyyyMEd{"E dd/MM/y GGGGG"}\r
+                yyyyMMM{"MMM y G"}\r
+                yyyyMMMEd{"E d MMM y G"}\r
+                yyyyMMMM{"MMMM y G"}\r
+                yyyyMMMd{"d MMM y G"}\r
+                yyyyMd{"dd/MM/y GGGGG"}\r
+                yyyyQQQ{"QQQ y G"}\r
+                yyyyQQQQ{"QQQQ y G"}\r
+            }\r
             eras{\r
                 abbreviated{\r
                     "a-raok R.S.",\r
@@ -621,15 +4883,123 @@ br{
                 }\r
             }\r
             intervalFormats{\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
+                MEd{\r
+                    M{"E dd/MM – E dd/MM"}\r
+                    d{"E dd/MM – E dd/MM"}\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
                 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 G"}\r
+                }\r
+                yM{\r
+                    M{"MM/y–MM/y GGGGG"}\r
+                    y{"MM/y–MM/y GGGGG"}\r
+                }\r
+                yMEd{\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
+                yMMM{\r
+                    M{"MMM – MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                yMMMEd{\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
+                yMMMM{\r
+                    M{"MMMM – MMMM y G"}\r
+                    y{"MMMM y – MMMM y G"}\r
+                }\r
+                yMMMd{\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
+                yMd{\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
             }\r
         }\r
     }\r
+    characterLabel{\r
+        activities{"obererezh"}\r
+        african_scripts{"skritur Afrika"}\r
+        american_scripts{"skritur Amerika"}\r
+        animal{"loen"}\r
+        animals_nature{"loened pe natur"}\r
+        arrows{"biroù"}\r
+        body{"korf"}\r
+        braille{"braille"}\r
+        building{"savadur"}\r
+        currency_symbols{"arouez moneiz"}\r
+        digits{"sifr"}\r
+        flag{"banniel"}\r
+        flags{"bannieloù"}\r
+        han_radicals{"gwrizienn han"}\r
+        nature{"natur"}\r
+        numbers{"niveroù"}\r
+        objects{"tra"}\r
+        person{"den"}\r
+        sport{"sport"}\r
+        symbols{"arouez"}\r
+        travel{"beaj"}\r
+        travel_places{"beaj ha lecʼhioù"}\r
+        weather{"amzer"}\r
+    }\r
     delimiters{\r
-        alternateQuotationEnd{""}\r
-        alternateQuotationStart{""}\r
-        quotationEnd{"»"}\r
-        quotationStart{"«"}\r
+        alternateQuotationEnd{"»"}\r
+        alternateQuotationStart{"«"}\r
+        quotationEnd{""}\r
+        quotationStart{""}\r
     }\r
     fields{\r
         day{\r
@@ -719,6 +5089,22 @@ br{
                 "0"{"ar Gwener-mañ"}\r
                 "1"{"Digwener a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Gwener"}\r
+                    many{"a-benn {0} a Wenerioù"}\r
+                    one{"a-benn {0} Gwener"}\r
+                    other{"a-benn {0} Gwener"}\r
+                    two{"a-benn {0} Wener"}\r
+                }\r
+                past{\r
+                    few{"{0} Gwener zo"}\r
+                    many{"{0} a Wenerioù zo"}\r
+                    one{"{0} Gwener zo"}\r
+                    other{"{0} Gwener zo"}\r
+                    two{"{0} Wener zo"}\r
+                }\r
+            }\r
         }\r
         fri-narrow{\r
             relative{\r
@@ -736,6 +5122,9 @@ br{
         }\r
         hour{\r
             dn{"eur"}\r
+            relative{\r
+                "0"{"dʼan eur-mañ"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"a-benn {0} eur"}\r
@@ -774,6 +5163,9 @@ br{
         }\r
         hour-short{\r
             dn{"e"}\r
+            relative{\r
+                "0"{"dʼan eur-mañ"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"a-benn {0} e"}\r
@@ -854,6 +5246,22 @@ br{
                 "0"{"al Lun-mañ"}\r
                 "1"{"Dilun a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Lun"}\r
+                    many{"a-benn {0} a Lunioù"}\r
+                    one{"a-benn {0} Lun"}\r
+                    other{"a-benn {0} Lun"}\r
+                    two{"a-benn {0} Lun"}\r
+                }\r
+                past{\r
+                    few{"{0} Lun zo"}\r
+                    many{"{0} a Lunioù zo"}\r
+                    one{"{0} Lun zo"}\r
+                    other{"{0} Lun zo"}\r
+                    two{"{0} Lun zo"}\r
+                }\r
+            }\r
         }\r
         mon-narrow{\r
             relative{\r
@@ -861,6 +5269,22 @@ br{
                 "0"{"L-mañ"}\r
                 "1"{"L a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} L"}\r
+                    many{"a-benn {0} a L"}\r
+                    one{"a-benn {0} L"}\r
+                    other{"a-benn {0} L"}\r
+                    two{"a-benn {0} L"}\r
+                }\r
+                past{\r
+                    few{"{0} L zo"}\r
+                    many{"{0} a L zo"}\r
+                    one{"{0} L zo"}\r
+                    other{"{0} L zo"}\r
+                    two{"{0} L zo"}\r
+                }\r
+            }\r
         }\r
         mon-short{\r
             relative{\r
@@ -868,6 +5292,22 @@ br{
                 "0"{"Lun-mañ"}\r
                 "1"{"Lun a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Lun"}\r
+                    many{"a-benn {0} a Lun."}\r
+                    one{"a-benn {0} Lun"}\r
+                    other{"a-benn {0} Lun"}\r
+                    two{"a-benn {0} Lun"}\r
+                }\r
+                past{\r
+                    few{"{0} Lun zo"}\r
+                    many{"{0} a Lun. zo"}\r
+                    one{"{0} Lun zo"}\r
+                    other{"{0} Lun zo"}\r
+                    two{"{0} Lun zo"}\r
+                }\r
+            }\r
         }\r
         month{\r
             dn{"miz"}\r
@@ -943,6 +5383,11 @@ br{
         }\r
         quarter{\r
             dn{"trimiziad"}\r
+            relative{\r
+                "-1"{"an trimiziad diaraok"}\r
+                "0"{"an trimiziad-mañ"}\r
+                "1"{"an trimiziad a zeu"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"a-benn {0} zrimiziad"}\r
@@ -962,6 +5407,11 @@ br{
         }\r
         quarter-narrow{\r
             dn{"trim."}\r
+            relative{\r
+                "-1"{"an trim. diaraok"}\r
+                "0"{"an trim.-mañ"}\r
+                "1"{"an trim. a zeu"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"+{0} trim."}\r
@@ -981,6 +5431,11 @@ br{
         }\r
         quarter-short{\r
             dn{"trim."}\r
+            relative{\r
+                "-1"{"an trim. diaraok"}\r
+                "0"{"an trim.-mañ"}\r
+                "1"{"an trim. a zeu"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"a-benn {0} trim."}\r
@@ -1004,6 +5459,22 @@ br{
                 "0"{"ar Sadorn-mañ"}\r
                 "1"{"Disadorn a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Sadorn"}\r
+                    many{"a-benn {0} a Sadornioù"}\r
+                    one{"a-benn {0} Sadorn"}\r
+                    other{"a-benn {0} Sadorn"}\r
+                    two{"a-benn {0} Sadorn"}\r
+                }\r
+                past{\r
+                    few{"{0} Sadorn zo"}\r
+                    many{"{0} a Sadornioù zo"}\r
+                    one{"{0} Sadorn zo"}\r
+                    other{"{0} Sadorn zo"}\r
+                    two{"{0} Sadorn zo"}\r
+                }\r
+            }\r
         }\r
         sat-narrow{\r
             relative{\r
@@ -1011,6 +5482,22 @@ br{
                 "0"{"Sa-mañ"}\r
                 "1"{"Sa a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Sa"}\r
+                    many{"a-benn {0} a Sa"}\r
+                    one{"a-benn {0} Sa"}\r
+                    other{"a-benn {0} Sa"}\r
+                    two{"a-benn {0} Sa"}\r
+                }\r
+                past{\r
+                    few{"{0} Sa zo"}\r
+                    many{"{0} a Sa zo"}\r
+                    one{"{0} Sa zo"}\r
+                    other{"{0} Sa zo"}\r
+                    two{"{0} Sa zo"}\r
+                }\r
+            }\r
         }\r
         sat-short{\r
             relative{\r
@@ -1018,6 +5505,22 @@ br{
                 "0"{"Sad.-mañ"}\r
                 "1"{"Sad. a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Sad."}\r
+                    many{"a-benn {0} a Sad."}\r
+                    one{"a-benn {0} Sad."}\r
+                    other{"a-benn {0} Sad."}\r
+                    two{"a-benn {0} Sad."}\r
+                }\r
+                past{\r
+                    few{"{0} Sad. zo"}\r
+                    many{"{0} a Sad. zo"}\r
+                    one{"{0} Sad. zo"}\r
+                    other{"{0} Sad. zo"}\r
+                    two{"{0} Sad. zo"}\r
+                }\r
+            }\r
         }\r
         second{\r
             dn{"eilenn"}\r
@@ -1091,6 +5594,22 @@ br{
                 "0"{"ar Sul-mañ"}\r
                 "1"{"Disul a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Sul"}\r
+                    many{"a-benn {0} a Sulioù"}\r
+                    one{"a-benn {0} Sul"}\r
+                    other{"a-benn {0} Sul"}\r
+                    two{"a-benn {0} Sul"}\r
+                }\r
+                past{\r
+                    few{"{0} Sul zo"}\r
+                    many{"{0} a Sulioù zo"}\r
+                    one{"{0} Sul zo"}\r
+                    other{"{0} Sul zo"}\r
+                    two{"{0} Sul zo"}\r
+                }\r
+            }\r
         }\r
         sun-narrow{\r
             relative{\r
@@ -1098,6 +5617,22 @@ br{
                 "0"{"Su-mañ"}\r
                 "1"{"Su a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Su"}\r
+                    many{"a-benn {0} a Su"}\r
+                    one{"a-benn {0} Su"}\r
+                    other{"a-benn {0} Su"}\r
+                    two{"a-benn {0} Su"}\r
+                }\r
+                past{\r
+                    few{"{0} Su zo"}\r
+                    many{"{0} a Su zo"}\r
+                    one{"{0} Su zo"}\r
+                    other{"{0} Su zo"}\r
+                    two{"{0} Su zo"}\r
+                }\r
+            }\r
         }\r
         sun-short{\r
             relative{\r
@@ -1105,6 +5640,22 @@ br{
                 "0"{"Sul-mañ"}\r
                 "1"{"Sul a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Sul"}\r
+                    many{"a-benn {0} a Sul."}\r
+                    one{"a-benn {0} Sul"}\r
+                    other{"a-benn {0} Sul"}\r
+                    two{"a-benn {0} Sul"}\r
+                }\r
+                past{\r
+                    few{"{0} Sul zo"}\r
+                    many{"{0} a Sul. zo"}\r
+                    one{"{0} Sul zo"}\r
+                    other{"{0} Sul zo"}\r
+                    two{"{0} Sul zo"}\r
+                }\r
+            }\r
         }\r
         thu{\r
             relative{\r
@@ -1112,12 +5663,44 @@ br{
                 "0"{"ar Yaou-mañ"}\r
                 "1"{"Diriaou a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Yaou"}\r
+                    many{"a-benn {0} a Yaouioù"}\r
+                    one{"a-benn {0} Yaou"}\r
+                    other{"a-benn {0} Yaou"}\r
+                    two{"a-benn {0} Yaou"}\r
+                }\r
+                past{\r
+                    few{"{0} Yaou zo"}\r
+                    many{"{0} a Yaouioù zo"}\r
+                    one{"{0} Yaou zo"}\r
+                    other{"{0} Yaou zo"}\r
+                    two{"{0} Yaou zo"}\r
+                }\r
+            }\r
         }\r
         thu-narrow{\r
             relative{\r
                 "-1"{"Y diwezhañ"}\r
                 "0"{"Y-mañ"}\r
-                "1"{"Yaou a zeu"}\r
+                "1"{"Y a zeu"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Y"}\r
+                    many{"a-benn {0} a Yaou."}\r
+                    one{"a-benn {0} Y"}\r
+                    other{"a-benn {0} Y"}\r
+                    two{"a-benn {0} Y"}\r
+                }\r
+                past{\r
+                    few{"{0} Y zo"}\r
+                    many{"{0} a Y zo"}\r
+                    one{"{0} Y zo"}\r
+                    other{"{0} Y zo"}\r
+                    two{"{0} Y zo"}\r
+                }\r
             }\r
         }\r
         thu-short{\r
@@ -1126,6 +5709,22 @@ br{
                 "0"{"Yaou-mañ"}\r
                 "1"{"Yaou a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Yaou"}\r
+                    many{"a-benn {0} a Yaou."}\r
+                    one{"a-benn {0} Yaou"}\r
+                    other{"a-benn {0} Yaou"}\r
+                    two{"a-benn {0} Yaou"}\r
+                }\r
+                past{\r
+                    few{"{0} Yaou zo"}\r
+                    many{"{0} a Yaou. zo"}\r
+                    one{"{0} Yaou zo"}\r
+                    other{"{0} Yaou zo"}\r
+                    two{"{0} Yaou zo"}\r
+                }\r
+            }\r
         }\r
         tue{\r
             relative{\r
@@ -1133,6 +5732,22 @@ br{
                 "0"{"ar Meurzh-mañ"}\r
                 "1"{"Dimeurzh a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Meurzh"}\r
+                    many{"a-benn {0} a Veurzhioù"}\r
+                    one{"a-benn {0} Meurzh"}\r
+                    other{"a-benn {0} Meurzh"}\r
+                    two{"a-benn {0} Veurzh"}\r
+                }\r
+                past{\r
+                    few{"{0} Meurzh zo"}\r
+                    many{"{0} a Veurzhioù zo"}\r
+                    one{"{0} Meurzh zo"}\r
+                    other{"{0} Meurzh zo"}\r
+                    two{"{0} Veurzh zo"}\r
+                }\r
+            }\r
         }\r
         tue-narrow{\r
             relative{\r
@@ -1154,6 +5769,22 @@ br{
                 "0"{"ar Mercʼher-mañ"}\r
                 "1"{"Dimercʼher a zeu"}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    few{"a-benn {0} Mercʼher"}\r
+                    many{"a-benn {0} a Vercʼherioù"}\r
+                    one{"a-benn {0} Mercʼher"}\r
+                    other{"a-benn {0} Mercʼher"}\r
+                    two{"a-benn {0} Vercʼher"}\r
+                }\r
+                past{\r
+                    few{"{0} Mercʼher zo"}\r
+                    many{"{0} Mercʼher zo"}\r
+                    one{"{0} Mercʼher zo"}\r
+                    other{"{0} Mercʼher zo"}\r
+                    two{"{0} Vercʼher zo"}\r
+                }\r
+            }\r
         }\r
         wed-narrow{\r
             relative{\r
@@ -1273,6 +5904,12 @@ br{
         }\r
     }\r
     listPattern{\r
+        or{\r
+            2{"{0} pe {1}"}\r
+            end{"{0}, pe {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
         standard{\r
             2{"{0}, {1}"}\r
             end{"{0}, {1}"}\r
@@ -1303,4 +5940,31 @@ br{
         US{"SU"}\r
         metric{"metrek"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index f70dc3a..472cbf8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6093849..f07fe63 100644 (file)
@@ -36,7 +36,7 @@ brx{
         }\r
         native{"deva"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d25903d..0013c2a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6975e57..553575f 100644 (file)
@@ -234,7 +234,7 @@ bs{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -445,9 +445,9 @@ bs{
                 yQQQ{"QQQ y."}\r
                 yQQQQ{"QQQQ y."}\r
                 yw{\r
-                    few{"w. 'sedmica' 'u' Y."}\r
-                    one{"w. 'sedmica' 'u' Y."}\r
-                    other{"w. 'sedmica' 'u' Y."}\r
+                    few{"w. 'sedmica' 'u' y."}\r
+                    one{"w. 'sedmica' 'u' y."}\r
+                    other{"w. 'sedmica' 'u' y."}\r
                 }\r
             }\r
             dayNames{\r
@@ -593,14 +593,14 @@ bs{
                     "p. n. e.",\r
                     "n. e.",\r
                 }\r
+                narrow{\r
+                    "p.n.e.",\r
+                    "n.e.",\r
+                }\r
                 wide{\r
                     "prije nove ere",\r
                     "nove ere",\r
                 }\r
-                wide%variant{\r
-                    "BCE",\r
-                    "n. e.",\r
-                }\r
             }\r
             intervalFormats{\r
                 H{\r
index d1533d5..49ad527 100644 (file)
@@ -160,8 +160,13 @@ bs_Cyrl{
                 superscriptingExponent{"×"}\r
             }\r
         }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"Скрените на {0}. крижању десно."}\r
+            }\r
+        }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 4335d9f..d4320bd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b892c9e..2d6e823 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index db17f34..2a715d1 100644 (file)
@@ -216,7 +216,7 @@ ca{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1417,6 +1417,12 @@ ca{
         western_asian_scripts{"escriptures de l’Àsia Sud-occidental"}\r
         whitespace{"espai en blanc"}\r
     }\r
+    contextTransforms{\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"”"}\r
         alternateQuotationStart{"“"}\r
index 8084f9d..fe7df90 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 17b5d30..62fa600 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d037446..05805f9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2ad3e6c..44755b9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e751a5d..9267486 100644 (file)
@@ -71,7 +71,7 @@ ccp{
         minimumGroupingDigits{"1"}\r
         native{"cakm"}\r
     }\r
-    Version{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 815a3be..15701f2 100644 (file)
@@ -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{"2.1.36.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f3c654c..e2a1b78 100644 (file)
@@ -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{"2.1.36.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e92dedf..e362261 100644 (file)
@@ -193,7 +193,7 @@ ce{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -299,6 +299,10 @@ ce{
                     "в. э. тӀ. я",\r
                     "в. э",\r
                 }\r
+                abbreviated%variant{\r
+                    "МАССО",\r
+                    "CE",\r
+                }\r
                 wide{\r
                     "Ӏийса пайхамар вина де кхачале",\r
                     "Ӏийса пайхамар вина дийнахь дуьйна",\r
@@ -473,6 +477,15 @@ ce{
                 }\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
@@ -485,6 +498,16 @@ ce{
                 "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
@@ -492,6 +515,12 @@ ce{
                 "0"{"карарчу пӀераскан д."}\r
                 "1"{"рогӀерчу пӀераскан д."}\r
             }\r
+            relativeTime{\r
+                past{\r
+                    one{"-{0} ПӀерасканденошкахь"}\r
+                    other{"-{0} ПӀерасканденошкахь"}\r
+                }\r
+            }\r
         }\r
         fri-short{\r
             relative{\r
@@ -499,9 +528,18 @@ ce{
                 "0"{"карарчу пӀераскан д."}\r
                 "1"{"рогӀерчу пӀераскан д."}\r
             }\r
+            relativeTime{\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
@@ -541,6 +579,9 @@ ce{
         }\r
         minute{\r
             dn{"минот"}\r
+            relative{\r
+                "0"{"хӀокху минотехь"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} минот яьлча"}\r
@@ -688,6 +729,16 @@ ce{
                 "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
@@ -705,6 +756,9 @@ ce{
         }\r
         second{\r
             dn{"секунд"}\r
+            relative{\r
+                "0"{"хӀинца"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} секунд яьлча"}\r
@@ -748,6 +802,16 @@ ce{
                 "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
@@ -755,6 +819,16 @@ ce{
                 "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
@@ -762,6 +836,16 @@ ce{
                 "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
@@ -769,6 +853,16 @@ ce{
                 "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
@@ -776,6 +870,12 @@ ce{
                 "0"{"карарчу еарин д."}\r
                 "1"{"рогӀерчу еарин д."}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    one{"+{0} Еаринденошкахь"}\r
+                    other{"+{0} Еаринденошкахь"}\r
+                }\r
+            }\r
         }\r
         thu-short{\r
             relative{\r
@@ -783,6 +883,12 @@ ce{
                 "0"{"карарчу еарин д."}\r
                 "1"{"рогӀерчу еарин д."}\r
             }\r
+            relativeTime{\r
+                future{\r
+                    one{"+{0} Еаринденошкахь"}\r
+                    other{"+{0} Еаринденошкахь"}\r
+                }\r
+            }\r
         }\r
         tue{\r
             relative{\r
@@ -790,6 +896,16 @@ ce{
                 "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
@@ -797,6 +913,16 @@ ce{
                 "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
@@ -804,6 +930,16 @@ ce{
                 "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
@@ -811,6 +947,16 @@ ce{
                 "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
@@ -818,6 +964,12 @@ ce{
                 "0"{"карарчу кхаарин д."}\r
                 "1"{"рогӀерчу кхаарин д."}\r
             }\r
+            relativeTime{\r
+                past{\r
+                    one{"-{0} Кхааринденошкахь"}\r
+                    other{"-{0} Кхааринденошкахь"}\r
+                }\r
+            }\r
         }\r
         wed-short{\r
             relative{\r
@@ -825,6 +977,12 @@ ce{
                 "0"{"карарчу кхаарин д."}\r
                 "1"{"рогӀерчу кхаарин д."}\r
             }\r
+            relativeTime{\r
+                past{\r
+                    one{"-{0} Кхааринденошкахь"}\r
+                    other{"-{0} Кхааринденошкахь"}\r
+                }\r
+            }\r
         }\r
         week{\r
             dn{"кӀира"}\r
@@ -846,6 +1004,7 @@ ce{
         }\r
         week-narrow{\r
             dn{"кӀир."}\r
+            relativePeriod{"кӀирнахь {0}"}\r
             relativeTime{\r
                 future{\r
                     one{"{0} кӀир. даьлча"}\r
@@ -859,6 +1018,7 @@ ce{
         }\r
         week-short{\r
             dn{"кӀир."}\r
+            relativePeriod{"кӀирнахь"}\r
             relativeTime{\r
                 future{\r
                     one{"{0} кӀир. даьлча"}\r
@@ -870,8 +1030,29 @@ ce{
                 }\r
             }\r
         }\r
+        weekOfMonth{\r
+            dn{"беттан кӀира"}\r
+        }\r
+        weekOfMonth-narrow{\r
+            dn{"беттан кӀира"}\r
+        }\r
+        weekOfMonth-short{\r
+            dn{"беттан кӀира"}\r
+        }\r
         weekday{\r
-            dn{"кӀиран де"}\r
+            dn{"кӀиранан де"}\r
+        }\r
+        weekday-narrow{\r
+            dn{"кӀиранан де"}\r
+        }\r
+        weekday-short{\r
+            dn{"кӀиранан де"}\r
+        }\r
+        weekdayOfMonth{\r
+            dn{"кӀиранан де"}\r
+        }\r
+        weekdayOfMonth-short{\r
+            dn{"кӀиранан де"}\r
         }\r
         year{\r
             dn{"шо"}\r
index 290d689..8bfc348 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8185aed..bdfa349 100644 (file)
@@ -10,7 +10,7 @@ cgg{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 37782c1..d519807 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 84507c2..f77ff86 100644 (file)
@@ -116,7 +116,7 @@ chr{
                     }\r
                     10000000000{\r
                         one{"¤00B"}\r
-                        other{"¤ 00G"}\r
+                        other{"¤00B"}\r
                     }\r
                     100000000000{\r
                         one{"¤000B"}\r
@@ -213,7 +213,7 @@ chr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -232,12 +232,22 @@ chr{
                 "{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{"y G"}\r
                 GyMMM{"MMM y G"}\r
                 GyMMMEd{"E, MMM d, y G"}\r
                 GyMMMd{"MMM d, y G"}\r
+                H{"HH"}\r
                 Hm{"H:mm"}\r
                 Hms{"H:mm:ss"}\r
                 M{"L"}\r
@@ -248,8 +258,10 @@ chr{
                 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{"M/y GGGGG"}\r
@@ -333,7 +345,7 @@ chr{
             }\r
             AmPmMarkersAbbr{\r
                 "ᏌᎾᎴ",\r
-                "ᏒᎯᏱᎢᏗᏢ",\r
+                "ᏒᎯᏱᎢ",\r
             }\r
             AmPmMarkersNarrow{\r
                 "Ꮜ",\r
@@ -358,7 +370,12 @@ chr{
                 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
@@ -508,14 +525,14 @@ chr{
                         am{"ᏌᎾᎴ"}\r
                         morning1{"ᏌᎾᎴ"}\r
                         noon{"ᎢᎦ"}\r
-                        pm{"ᏒᎯᏱᎢᏗᏢ"}\r
+                        pm{"ᏒᎯᏱᎢ"}\r
                     }\r
                     narrow{\r
                         afternoon1{"ᏒᎯᏱᎢᏗᏢ"}\r
                         am{"ᏌᎾᎴ"}\r
                         morning1{"ᏌᎾᎴ"}\r
                         noon{"ᎢᎦ"}\r
-                        pm{"ᏒᎯᏱᎢᏗᏢ"}\r
+                        pm{"ᏒᎯᏱᎢ"}\r
                     }\r
                     wide{\r
                         afternoon1{"ᏒᎯᏱᎢᏗᏢ"}\r
@@ -1640,8 +1657,8 @@ chr{
     }\r
     listPattern{\r
         or{\r
-            2{"{0} or {1}"}\r
-            end{"{0}, or {1}"}\r
+            2{"{0} ᎠᎴᏱᎩ {1}"}\r
+            end{"{0}, ᎠᎴᏱᎩ {1}"}\r
             middle{"{0}, {1}"}\r
             start{"{0}, {1}"}\r
         }\r
index 82fc619..051ff8f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f4c3bc7..b80149f 100644 (file)
@@ -57,7 +57,7 @@ ckb{
         minimumGroupingDigits{"1"}\r
         native{"arab"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -248,8 +248,8 @@ ckb{
                 yQQQ{"y QQQ"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    one{"هەفتەی w ی Y"}\r
-                    other{"هەفتەی w ی Y"}\r
+                    one{"هەفتەی w ی y"}\r
+                    other{"هەفتەی w ی y"}\r
                 }\r
             }\r
             dayNames{\r
index c395e28..8250635 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2a21718..fd8ab0f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         default{"persian"}\r
         gregorian{\r
index 9d6a98c..fc19af6 100644 (file)
@@ -519,7 +519,7 @@ cs{
             }\r
         }\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -4661,6 +4661,10 @@ cs{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"‘"}\r
index 62dfe6d..be26cd0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 36c79df..c3c12a8 100644 (file)
@@ -393,7 +393,7 @@ cy{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -727,6 +727,20 @@ cy{
             }\r
             dayPeriod{\r
                 format{\r
+                    abbreviated{\r
+                        afternoon1{"y prynhawn"}\r
+                        evening1{"yr hwyr"}\r
+                        midnight{"canol nos"}\r
+                        morning1{"y bore"}\r
+                        noon{"canol dydd"}\r
+                    }\r
+                    narrow{\r
+                        afternoon1{"yn y prynhawn"}\r
+                        evening1{"min nos"}\r
+                        midnight{"canol nos"}\r
+                        morning1{"yn y bore"}\r
+                        noon{"canol dydd"}\r
+                    }\r
                     wide{\r
                         afternoon1{"y prynhawn"}\r
                         evening1{"yr hwyr"}\r
@@ -737,11 +751,21 @@ cy{
                 }\r
                 stand-alone{\r
                     abbreviated{\r
+                        afternoon1{"prynhawn"}\r
                         am{"yb"}\r
+                        evening1{"yr hwyr"}\r
+                        midnight{"canol nos"}\r
+                        morning1{"bore"}\r
+                        noon{"canol dydd"}\r
                         pm{"yh"}\r
                     }\r
                     narrow{\r
+                        afternoon1{"prynhawn"}\r
                         am{"yb"}\r
+                        evening1{"min nos"}\r
+                        midnight{"canol nos"}\r
+                        morning1{"bore"}\r
+                        noon{"canol dydd"}\r
                         pm{"yh"}\r
                     }\r
                     wide{\r
index 547e137..d62c53c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 498be13..3471ef9 100644 (file)
@@ -210,7 +210,7 @@ da{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1194,6 +1194,10 @@ da{
             1,\r
             0,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index 6383109..28d2a64 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3ebd541..ee6b72e 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2b67547..2b93a1c 100644 (file)
@@ -12,7 +12,7 @@ dav{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 332362d..16373f9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 96fe9a0..694c39b 100644 (file)
@@ -90,16 +90,16 @@ de{
             patternsShort{\r
                 currencyFormat{\r
                     1000{\r
-                        one{"0 Tsd'.' ¤"}\r
-                        other{"0 Tsd'.' ¤"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     10000{\r
-                        one{"00 Tsd'.' ¤"}\r
-                        other{"00 Tsd'.' ¤"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     100000{\r
-                        one{"000 Tsd'.' ¤"}\r
-                        other{"000 Tsd'.' ¤"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     1000000{\r
                         one{"0 Mio'.' ¤"}\r
@@ -140,16 +140,16 @@ de{
                 }\r
                 decimalFormat{\r
                     1000{\r
-                        one{"0 Tsd'.'"}\r
-                        other{"0 Tsd'.'"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     10000{\r
-                        one{"00 Tsd'.'"}\r
-                        other{"00 Tsd'.'"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     100000{\r
-                        one{"000 Tsd'.'"}\r
-                        other{"000 Tsd'.'"}\r
+                        one{"0"}\r
+                        other{"0"}\r
                     }\r
                     1000000{\r
                         one{"0 Mio'.'"}\r
@@ -216,7 +216,7 @@ de{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1713,7 +1713,7 @@ de{
         dash_connector{"Gedankenstrich/Bindestrich"}\r
         digits{"Stellen"}\r
         dingbats{"Zierrat"}\r
-        divination_symbols{"Teilungszeichen"}\r
+        divination_symbols{"Wahrsagezeichen"}\r
         downwards_arrows{"Abwärtspfeile"}\r
         downwards_upwards_arrows{"Aufwärts-Abwärtspfeile"}\r
         east_asian_scripts{"Ostasiatische Schriften"}\r
@@ -1784,6 +1784,12 @@ de{
         western_asian_scripts{"Westasiatische Schriften"}\r
         whitespace{"Leerzeichen"}\r
     }\r
+    contextTransforms{\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"‘"}\r
         alternateQuotationStart{"‚"}\r
index 5cabccd..25dfcb6 100644 (file)
@@ -14,7 +14,7 @@ de_AT{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 4696925..c614462 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 40bd698..e2076a4 100644 (file)
@@ -15,7 +15,7 @@ de_CH{
             }\r
         }\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index 0457b99..a0527fd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f736601..600d52b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 060755d..24f718e 100644 (file)
@@ -14,7 +14,7 @@ de_LI{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index dbdfbfc..bcb4e2e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkersNarrow{\r
index 4eff473..79a798d 100644 (file)
@@ -18,7 +18,7 @@ dje{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7fa4142..beef00c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c4c63b..64ead55 100644 (file)
@@ -196,7 +196,7 @@ dsb{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index dfd2e47..7b72234 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index baf7d4a..d6384f7 100644 (file)
@@ -21,7 +21,7 @@ dua{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 35ac1cb..c4c90b7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ae542a3..7a4c6cd 100644 (file)
@@ -18,7 +18,7 @@ dyo{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d820173..ca76769 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa0f063..d199e22 100644 (file)
@@ -106,7 +106,7 @@ dz{
             }\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5ab1f9d..72d62fb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b5778b2..9fdc815 100644 (file)
@@ -11,7 +11,7 @@ ebu{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7a1736f..ca6b01c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7c0e6b4..25920ce 100644 (file)
@@ -193,9 +193,14 @@ ee{
                 superscriptingExponent{"×"}\r
             }\r
         }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"{0}lia"}\r
+            }\r
+        }\r
         minimumGroupingDigits{"3"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -426,8 +431,8 @@ ee{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    one{"'kɔsiɖa' w 'lia' 'le' 'ƒe' Y 'me'"}\r
-                    other{"'kɔsiɖa' w 'lia' 'le' 'ƒe' Y 'me'"}\r
+                    one{"'kɔsiɖa' w 'lia' 'le' 'ƒe' y 'me'"}\r
+                    other{"'kɔsiɖa' w 'lia' 'le' 'ƒe' y 'me'"}\r
                 }\r
             }\r
             dayNames{\r
index e1b3995..97da4f9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b198936..dd1901a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f842570..a9ca007 100644 (file)
@@ -214,7 +214,7 @@ el{
         native{"latn"}\r
         traditional{"grek"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 86a27e9..eb53294 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 97a35ea..0e2a1ba 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2c2889d..8165528 100644 (file)
@@ -205,7 +205,7 @@ en{
             }\r
         }\r
     }\r
-    Version{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1221,6 +1221,10 @@ en{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index a67f468..1512333 100644 (file)
@@ -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{"2.1.35.71"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index 6b10730..1ee6cb4 100644 (file)
@@ -14,7 +14,7 @@ en_150{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 8a0d454..77b05c3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6eaf0f6..3612912 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 7555155..db5044f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f5e4c9a..5d4e736 100644 (file)
@@ -14,5 +14,5 @@ en_AT{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 07f4c12..b86a56a 100644 (file)
@@ -10,7 +10,7 @@ en_AU{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
@@ -222,6 +222,26 @@ en_AU{
         upwards_arrows{"upward arrows"}\r
     }\r
     fields{\r
+        day-narrow{\r
+            relativeTime{\r
+                future{\r
+                    other{"in {0} days"}\r
+                }\r
+                past{\r
+                    other{"{0} days ago"}\r
+                }\r
+            }\r
+        }\r
+        day-short{\r
+            relativeTime{\r
+                future{\r
+                    other{"in {0} days"}\r
+                }\r
+                past{\r
+                    other{"{0} days ago"}\r
+                }\r
+            }\r
+        }\r
         dayOfYear-narrow{\r
             dn{"day of yr"}\r
         }\r
@@ -483,6 +503,9 @@ en_AU{
             }\r
         }\r
         tue-narrow{\r
+            relative{\r
+                "-1"{"last Tu"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"in {0} Tu"}\r
index 84a0efd..9ed875f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8e5cb8e..d76b0bf 100644 (file)
@@ -13,7 +13,7 @@ en_BE{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 33e77f4..828bfda 100644 (file)
@@ -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_BI{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3b9186..1221395 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95e82b5..2302f22 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 677df7e..a11001a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8289b54..0027a74 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index aa80644..9c013a4 100644 (file)
@@ -9,7 +9,7 @@ en_CA{
             }\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
@@ -199,6 +199,10 @@ en_CA{
                 yMMMEd{"E, MMM d, y"}\r
                 yMMMd{"MMM d, y"}\r
                 yMd{"y-MM-dd"}\r
+                yw{\r
+                    one{"'week' w 'of' y"}\r
+                    other{"'week' w 'of' y"}\r
+                }\r
             }\r
             dayNames{\r
                 format{\r
@@ -339,6 +343,7 @@ en_CA{
         leftwards_rightwards_arrows{"leftward rightward arrow"}\r
         letterlike_symbols{"letter-like symbol"}\r
         limited_use{"limited use"}\r
+        math_symbols{"math symbol"}\r
         nonspacing{"non-spacing"}\r
         rightwards_arrows{"rightward arrow"}\r
         upwards_arrows{"upward arrows"}\r
index d85cc61..7819717 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 3c1cb82..fda6a9f 100644 (file)
@@ -13,5 +13,5 @@ en_CH{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2501fc4..7baafef 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 9fb27c4..edc8aee 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4b9b79e..bcb9f08 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5b7a859..df546f9 100644 (file)
@@ -12,5 +12,5 @@ en_DE{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ddfd8fd..180dca7 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a151d3d..35526c6 100644 (file)
@@ -12,7 +12,7 @@ en_DK{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index b548583..0895e8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7fd2c9a..8d07c9f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c9f3edd..6943f70 100644 (file)
@@ -14,7 +14,7 @@ en_FI{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 86f8e9d..1262667 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba255c5..8f44576 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d37c54f..48a51aa 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
@@ -154,13 +154,6 @@ en_GB{
                 "1"{"tomorrow"}\r
             }\r
         }\r
-        day-narrow{\r
-            relative{\r
-                "-1"{"yesterday"}\r
-                "0"{"today"}\r
-                "1"{"tomorrow"}\r
-            }\r
-        }\r
         day-short{\r
             relativeTime{\r
                 future{\r
index 7921b24..f97da06 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 69c8058..833f4f8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index b66f585..2cbef88 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 667e366..69f65e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 1a05f40..d1321fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 256d083..0244e6e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f7397d6..fd7bc58 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dab5987..b5f27fe 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index df8a004..23321e3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 71034d7..3c1db97 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 3d7409a..98da55c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 89f1e09..2429731 100644 (file)
@@ -11,7 +11,7 @@ en_IN{
             }\r
         }\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b07f34d..568ccf4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f5a11ab..0b9b574 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index d812c18..47beda6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2bf986d..11ba61b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 899b1ea..e32ac54 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35fb03c..5071564 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd356e9..f41f763 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bfd0689..266321d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc63c0..299bf7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b723857..58abc12 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1726249..a206fe8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 896123a..824095a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f6dfb6a..f86302e 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 680d6fc..e1878d4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0e04e95..a04a9ce 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 87588fd..6a81dc3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3400c0e..261b143 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 873b8e1..cdfcd49 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b36d9ba..9ceae05 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5f0af42..e4f578d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e4dcad2..c1dab15 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 745a114..c6fd6e5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 38287ea..7c0ce9f 100644 (file)
@@ -10,5 +10,5 @@ en_NL{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1d2feef..5596322 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 1ece2f6..446d80a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a9a4d64..5ea0e54 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6aa4d92..b38e2e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 080d0e6..95260de 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 96e49db..e8375cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 08b159c..15fcf55 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 8ae7e2c..a11e3ff 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 30541dc..ce9d554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0918a8..a11a1f5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e2de69a..b43b4f6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0761ab..447f4fd 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 87a33e2..59aff7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d9be884..7c3e1a0 100644 (file)
@@ -14,7 +14,7 @@ en_SE{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 64467d4..7e2d8dc 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 29ee033..9a15336 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 21acba4..779225d 100644 (file)
@@ -12,5 +12,5 @@ en_SI{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3e61485..3f479d4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2b3a430..5eb9913 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 38d5dc1..1817836 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index cc8b6f1..3f88c75 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d6622a5..371f88d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index d27b6ec..e1d7464 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 21b8b30..4901b27 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d7868af..bd4bd93 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 51903ab..4c9b46d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index df87949..239b29a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index d466437..0f648a1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa8243b..c6e0923 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5727296..fad90a3 100644 (file)
@@ -16,5 +16,5 @@ en_US_POSIX{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12317cf..b20e591 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e2d5079..75a3195 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12b8824..8eba2ed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c90fd7..5ce4a40 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0327533..0e81ec7 100644 (file)
@@ -15,7 +15,7 @@ en_ZA{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 19ed0d0..de58bed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a8cbbc8..e264e18 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0ee1261..77309c0 100644 (file)
@@ -14,7 +14,7 @@ eo{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 576109e..33a983e 100644 (file)
@@ -213,7 +213,7 @@ es{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -751,8 +751,8 @@ es{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ 'de' y"}\r
                 yw{\r
-                    one{"'semana' w 'de' Y"}\r
-                    other{"'semana' w 'de' Y"}\r
+                    one{"'semana' w 'de' y"}\r
+                    other{"'semana' w 'de' y"}\r
                 }\r
             }\r
             dayNames{\r
@@ -1718,6 +1718,10 @@ es{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"”"}\r
index a9d5d9f..385e3c3 100644 (file)
@@ -57,7 +57,7 @@ es_419{
             }\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         coptic{\r
             monthNames{\r
@@ -221,6 +221,10 @@ es_419{
                 yMMMEd{"E, d 'de' MMM 'de' y"}\r
                 yMMMd{"d 'de' MMMM 'de' y"}\r
                 yQQQ{"QQQ 'de' y"}\r
+                yw{\r
+                    one{"'semana' w 'de' Y"}\r
+                    other{"'semana' w 'de' Y"}\r
+                }\r
             }\r
             dayNames{\r
                 format{\r
index d8bf430..be051de 100644 (file)
@@ -14,7 +14,7 @@ es_AR{
             }\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 1667f83..91decf1 100644 (file)
@@ -10,7 +10,7 @@ es_BO{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index e68498b..fb21200 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa10911..fa5a9f6 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{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index fbdb107..24d55e2 100644 (file)
@@ -13,7 +13,7 @@ es_CL{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index dd8c769..46cb446 100644 (file)
@@ -13,7 +13,7 @@ es_CO{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5cb8080..818d73e 100644 (file)
@@ -11,7 +11,7 @@ es_CR{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 66f010e..b2e6637 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index eb184be..6c27bdf 100644 (file)
@@ -9,7 +9,7 @@ es_DO{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 09bdd5d..022cef2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b159dd0..4f8294e 100644 (file)
@@ -13,7 +13,7 @@ es_EC{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 79fe19a..f5674ed 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a314885..2d80c2f 100644 (file)
@@ -8,5 +8,5 @@ es_GQ{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 45c03d9..1744ae8 100644 (file)
@@ -46,7 +46,7 @@ es_GT{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f649ef5..fe46b6f 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 416ff84..b95c082 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 640af48..9a84e45 100644 (file)
@@ -92,7 +92,7 @@ es_MX{
             }\r
         }\r
     }\r
-    Version{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -180,8 +180,6 @@ es_MX{
                 GyMMMd{"d MMM y G"}\r
                 Hm{"H:mm"}\r
                 Hms{"H:mm:ss"}\r
-                Hmsv{"H:mm:ss v"}\r
-                Hmv{"H:mm v"}\r
                 MMMEd{"E d 'de' MMM"}\r
                 MMd{"d/MM"}\r
                 MMdd{"dd/MM"}\r
index a18c46e..2d65e0f 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 433e8d8..ab025b3 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3ce3476..78544ff 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 65eec7d..59c12b1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index cacb4e4..aec69df 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8d98cb0..eb563f6 100644 (file)
@@ -13,7 +13,7 @@ es_PY{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 3006283..1aab805 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 88ef161..36eb334 100644 (file)
@@ -58,7 +58,7 @@ es_US{
                         other{"0"}\r
                     }\r
                     10000{\r
-                        one{"00 K"}\r
+                        one{"00 K"}\r
                         other{"00 K"}\r
                     }\r
                     100000{\r
@@ -81,7 +81,7 @@ es_US{
             }\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -261,24 +261,6 @@ es_US{
                     d{"d–d 'de' MMM 'de' y"}\r
                 }\r
             }\r
-            monthNames{\r
-                format{\r
-                    abbreviated{\r
-                        "ene.",\r
-                        "feb.",\r
-                        "mar.",\r
-                        "abr.",\r
-                        "may.",\r
-                        "jun.",\r
-                        "jul.",\r
-                        "ago.",\r
-                        "sep.",\r
-                        "oct.",\r
-                        "nov.",\r
-                        "dic.",\r
-                    }\r
-                }\r
-            }\r
         }\r
     }\r
     characterLabel{\r
index c4a9099..35022c0 100644 (file)
@@ -14,7 +14,7 @@ es_UY{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 9800a7a..870fceb 100644 (file)
@@ -13,7 +13,7 @@ es_VE{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index a4d656c..00517dc 100644 (file)
@@ -210,7 +210,7 @@ et{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 5774de7..960ad33 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 04f36a6..d30cd77 100644 (file)
@@ -213,7 +213,7 @@ eu{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 4435291..9623fb5 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 47266d5..d20f05d 100644 (file)
@@ -23,7 +23,7 @@ ewo{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ee87b16..cf0ce2c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0d9a359..c929885 100644 (file)
@@ -254,7 +254,7 @@ fa{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -2627,5 +2627,24 @@ fa{
                 "[\\:∶]",\r
             }\r
         }\r
+        general{\r
+            lenient{\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
index 431646e..2e598e2 100644 (file)
@@ -18,7 +18,7 @@ fa_AF{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             appendItems{\r
index 5e88314..6d9f062 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7a039df..3d37cf1 100644 (file)
@@ -16,7 +16,7 @@ ff{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b0a5ac3..80fc708 100644 (file)
@@ -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_CM{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 619454e..c03bd8c 100644 (file)
@@ -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_GN{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7749d83..0f5d4ba 100644 (file)
@@ -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_MR{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 45198cf..041e8ac 100644 (file)
@@ -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_SN{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 448dfe7..f21f717 100644 (file)
@@ -214,7 +214,7 @@ fi{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1450,7 +1450,7 @@ fi{
         }\r
     }\r
     characterLabel{\r
-        activities{"toiminnot"}\r
+        activities{"toiminta"}\r
         african_scripts{"afrikkalaiset kirjoitusjärjestelmät"}\r
         american_scripts{"amerikkalaiset kirjoitusjärjestelmät"}\r
         animal{"eläin"}\r
@@ -1546,6 +1546,10 @@ fi{
             0,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index d41272f..da7ad21 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e59c345..7505005 100644 (file)
@@ -211,7 +211,7 @@ fil{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 464d643..9f439a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 382bac6..6f8016e 100644 (file)
@@ -210,7 +210,7 @@ fo{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -1719,4 +1719,31 @@ fo{
         US{"US"}\r
         metric{"metralagið"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index e84f93a..74eb613 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a028b1e..1f24690 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2252616..259d85b 100644 (file)
@@ -214,7 +214,7 @@ fr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1944,6 +1944,10 @@ fr{
             0,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"»"}\r
index 3c05883..4bdd893 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b3e4267..21dcecd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9c128eb..1952c43 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2d26a4e..8ff60aa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7fa8eac..db09a93 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3762db4..a45f0f4 100644 (file)
@@ -91,7 +91,7 @@ fr_CA{
             }\r
         }\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         coptic{\r
             monthNames{\r
index 3017847..5fdc465 100644 (file)
@@ -8,7 +8,7 @@ fr_CD{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index c975a94..45bf631 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8b8b429..72608eb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 42d3c13..4772c3c 100644 (file)
@@ -4,7 +4,7 @@ fr_CH{
     NumberElements{\r
         latn{\r
             patterns{\r
-                currencyFormat{"#,##0.00 ¤ ;-#,##0.00 ¤"}\r
+                currencyFormat{"#,##0.00 ¤;-#,##0.00 ¤"}\r
                 percentFormat{"#,##0%"}\r
             }\r
             symbols{\r
@@ -12,7 +12,7 @@ fr_CH{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.85"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a7b2a89..9806a0c 100644 (file)
@@ -8,5 +8,5 @@ fr_CI{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4e0f60f..6a882d7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index d5da59e..e4b42d9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 39d4f9b..a9416a7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 729f59e..cb5330c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3ea2c27..2a07ace 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 87c23c5..a7767ad 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 21a9ae9..f91dcbb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f1b2f94..27acea0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 21aa066..d644139 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5c7da26..69f0291 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 755f149..1bddd8d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dbf22e3..26c188c 100644 (file)
@@ -9,5 +9,5 @@ fr_LU{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 553a576..214cb0e 100644 (file)
@@ -9,7 +9,7 @@ fr_MA{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 59fa216..cc85a25 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9f256b4..e8c02a2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e830691..3841491 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1454742..1de0338 100644 (file)
@@ -8,7 +8,7 @@ fr_ML{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e8488e0..0c511b8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c015b4b..8903e3e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 12aa4a3..e8c3cfa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa1c620..0c772e3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1283f0c..3d75492 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e2284ac..292aa91 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8f05344..380932b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3459130..176a603 100644 (file)
@@ -8,7 +8,7 @@ fr_RE{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index c520c4d..3b4be81 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9e2524c..eb4814e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a18a173..9747da4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 56afc7e..4649775 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 27f147d..8281da9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index d0cb211..b515af4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 703a322..0eaadaf 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 217c71a..734bcda 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index cb51349..430cbac 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b6cf074..f11539e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index be630d8..9fd81f3 100644 (file)
@@ -27,7 +27,7 @@ fur{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3f23aea..d0a09aa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9096c98..09d4dd0 100644 (file)
@@ -155,7 +155,7 @@ fy{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 4960d0f..8295edf 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 66ee1e2..2dca9a3 100644 (file)
@@ -319,7 +319,7 @@ ga{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1071,8 +1071,8 @@ ga{
         african_scripts{"Scripteanna na hAfraice"}\r
         american_scripts{"Scripteanna Meiriceánacha"}\r
         animal{"ainmhí"}\r
-        animals_nature{"Ainmhithe agus an Nádúr"}\r
-        arrows{"Saighde"}\r
+        animals_nature{"Ainmhithe  an Nádúr"}\r
+        arrows{"saighead"}\r
         body{"corp"}\r
         box_drawing{"Líníocht Boscaí"}\r
         braille{"Braille"}\r
@@ -1084,8 +1084,8 @@ ga{
         digits{"Digití"}\r
         dingbats{"Smísteoga"}\r
         divination_symbols{"Siombailí na Fáistine"}\r
-        downwards_arrows{"Saighde Síos"}\r
-        downwards_upwards_arrows{"Saighde Síos Suas"}\r
+        downwards_arrows{"Saigheada Síos"}\r
+        downwards_upwards_arrows{"Saigheada Síos Suas"}\r
         east_asian_scripts{"Scripteanna na hÁise Thoir"}\r
         emoji{"Emoji"}\r
         european_scripts{"Scripteanna na hEorpa"}\r
@@ -1095,9 +1095,9 @@ ga{
         food_drink{"Bia agus Deoch"}\r
         format{"Formáid"}\r
         format_whitespace{"Formáid agus Spás Bán"}\r
-        full_width_form_variant{"Foirmeacha Malartacha Lánleithid"}\r
+        full_width_form_variant{"Foirm Lánleithid"}\r
         geometric_shapes{"Cruthanna Geoiméadracha"}\r
-        half_width_form_variant{"Foirmeacha Malartacha Leathleithid"}\r
+        half_width_form_variant{"Foirm Leathleithid"}\r
         han_characters{"Carachtair Han"}\r
         han_radicals{"Fréamhacha Han"}\r
         hanja{"Hanaí"}\r
@@ -1110,8 +1110,8 @@ ga{
         kanbun{"Kanbun"}\r
         kanji{"Ceansaí"}\r
         keycap{"caipín eochrach"}\r
-        leftwards_arrows{"Saighde Clé"}\r
-        leftwards_rightwards_arrows{"Saighde Clé-Deas"}\r
+        leftwards_arrows{"Saighead Chlé"}\r
+        leftwards_rightwards_arrows{"Saighead Chlé-Dheas"}\r
         letterlike_symbols{"Siombailí Cosúil le Litreacha"}\r
         limited_use{"Neamhfhorleathan"}\r
         male{"fireann"}\r
@@ -1122,7 +1122,7 @@ ga{
         modifier{"Mionathraitheoir"}\r
         musical_symbols{"Siombailí Ceoil"}\r
         nature{"nádúr"}\r
-        nonspacing{"Neamhspásáilte"}\r
+        nonspacing{"Neamhspásáil"}\r
         numbers{"Uimhreacha"}\r
         objects{"Nithe"}\r
         other{"Eile"}\r
@@ -1133,11 +1133,11 @@ ga{
         place{"áit"}\r
         plant{"planda"}\r
         punctuation{"Poncaíocht"}\r
-        rightwards_arrows{"Saighde Deasa"}\r
+        rightwards_arrows{"Saighead Dheas"}\r
         sign_standard_symbols{"Comharthaí/Siombailí Coitianta"}\r
-        small_form_variant{"Foirmeacha Beaga Malartacha"}\r
+        small_form_variant{"Foirmeacha Beaga"}\r
         smiley{"straoiseog"}\r
-        smileys_people{"Straoiseoga agus Daoine"}\r
+        smileys_people{"Straoiseoga  Daoine"}\r
         south_asian_scripts{"Scripteanna na hÁise Theas"}\r
         southeast_asian_scripts{"Scripteanna na hÁise Thoir Theas"}\r
         spacing{"Spásáil"}\r
@@ -1146,8 +1146,8 @@ ga{
         technical_symbols{"Siombailí Teicniúla"}\r
         tone_marks{"Comharthaí Toin"}\r
         travel{"taisteal"}\r
-        travel_places{"Taisteal agus Áiteanna"}\r
-        upwards_arrows{"Saighde Suas"}\r
+        travel_places{"Taisteal  Áiteanna"}\r
+        upwards_arrows{"Saighead suas"}\r
         variant_forms{"Foirmeacha Malartacha"}\r
         vocalic_jamo{"Seamó Guthach"}\r
         weather{"aimsir"}\r
index df7d38b..973b5c5 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 96dc49f..031c35e 100644 (file)
@@ -915,7 +915,7 @@ gd{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             intervalFormats{\r
@@ -1176,10 +1176,10 @@ gd{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    few{"'seachdain' w 'dhe' Y"}\r
-                    one{"'seachdain' w 'dhe' Y"}\r
-                    other{"'seachdain' w 'dhe' Y"}\r
-                    two{"'seachdain' w 'dhe' Y"}\r
+                    few{"'seachdain' w 'dhe' y"}\r
+                    one{"'seachdain' w 'dhe' y"}\r
+                    other{"'seachdain' w 'dhe' y"}\r
+                    two{"'seachdain' w 'dhe' y"}\r
                 }\r
             }\r
             dayNames{\r
index 6776e7a..8b7250d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 338e4a1..4bbc80e 100644 (file)
@@ -157,8 +157,8 @@ gl{
                         other{"00 mill'.'"}\r
                     }\r
                     100000000{\r
-                        one{"000 mill'.'"}\r
-                        other{"000 mill'.'"}\r
+                        one{"000 mill"}\r
+                        other{"000 mill"}\r
                     }\r
                     1000000000{\r
                         one{"0"}\r
@@ -213,7 +213,7 @@ gl{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a4c005c..c3ba908 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 0c41564..c2b93a3 100644 (file)
@@ -180,7 +180,7 @@ gsw{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index c6b65d5..65adaca 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 71a250a..bac81e0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 420e0a4..96e8f39 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3c445c3..c53e1a7 100644 (file)
@@ -250,7 +250,7 @@ gu{
         minimumGroupingDigits{"1"}\r
         native{"gujr"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 0b3a7b6..0e3d1d2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e06f68c..bd91459 100644 (file)
@@ -12,7 +12,7 @@ guz{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fd9d618..0329e5c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9f155d6..6556c27 100644 (file)
@@ -23,7 +23,7 @@ gv{
             }\r
         }\r
     }\r
-    Version{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index a84d272..e0d9c48 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f944f9e..770a647 100644 (file)
@@ -173,7 +173,7 @@ ha{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9aa8cff..ad7a4de 100644 (file)
@@ -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_GH{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0c0fe0..bf3d3e3 100644 (file)
@@ -1,5 +1,17 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha_NE{\r
-    Version{"2.1.31.33"}\r
+    AuxExemplarCharacters{"[á à â é è ê í ì î ó ò ô p q {r\u0303} ú ù û v x {ʼy}]"}\r
+    ExemplarCharacters{"[a b ɓ c d ɗ e f g h i j k ƙ l m n o r s {sh} t {ts} u w 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{"2.1.39.37"}\r
+    fields{\r
+        day{\r
+            relative{\r
+                "-1"{"Jiya"}\r
+                "0"{"Yau"}\r
+                "1"{"Gobe"}\r
+            }\r
+        }\r
+    }\r
 }\r
index df6cf24..822a750 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a542200..1bb07b3 100644 (file)
@@ -32,7 +32,7 @@ haw{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1880315..7fd63fd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6f0be51..e1089f7 100644 (file)
@@ -300,7 +300,7 @@ he{
         native{"latn"}\r
         traditional{"hebr"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -2014,7 +2014,7 @@ he{
         miscellaneous{"שונות"}\r
         modern_scripts{"סקריפטים מודרניים"}\r
         modifier{"סימן מחליף"}\r
-        musical_symbols{"ס×\9e×\9c×\99×\9d ×\9e×\95סיקליים"}\r
+        musical_symbols{"ס×\9e×\9c×\99×\9d ×\9e×\95×\96יקליים"}\r
         nature{"טבע"}\r
         nonspacing{"ללא ריווח"}\r
         numbers{"מספרים"}\r
@@ -2045,6 +2045,7 @@ he{
         variant_forms{"חלופות"}\r
         vocalic_jamo{"ג׳אמו ווקאלי"}\r
         weather{"מזג אוויר"}\r
+        western_asian_scripts{"סקריפטים ממערב אסיה"}\r
         whitespace{"רווח לבן"}\r
     }\r
     delimiters{\r
@@ -3105,4 +3106,31 @@ he{
         US{"ארה״ב"}\r
         metric{"מטרי"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index 33cad82..a66c83a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 884ce81..1efd010 100644 (file)
@@ -236,7 +236,7 @@ hi{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         ethiopic{\r
             monthNames{\r
index 3febf3a..72cf441 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 985462a..ed1c78f 100644 (file)
@@ -237,10 +237,20 @@ hr{
                 timeSeparator{":"}\r
             }\r
         }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"Skrenite {0}. desno."}\r
+            }\r
+            plural{\r
+                few{"{0} dana"}\r
+                one{"{0} dan"}\r
+                other{"{0} dan/a"}\r
+            }\r
+        }\r
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 73e934b..eac541c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 10191f7..e79ca98 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 79468b4..169b892 100644 (file)
@@ -196,7 +196,7 @@ hsb{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 385b64f..606f901 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3f153b9..a85730c 100644 (file)
@@ -221,7 +221,7 @@ hu{
         minimumGroupingDigits{"4"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1524,6 +1524,12 @@ hu{
         western_asian_scripts{"nyugat-ázsiai írásrendszerek"}\r
         whitespace{"térköz"}\r
     }\r
+    contextTransforms{\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"«"}\r
         alternateQuotationStart{"»"}\r
index 0ab8597..cfd8bb4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 68c2e46..cc5744a 100644 (file)
@@ -214,7 +214,7 @@ hy{
         native{"latn"}\r
         traditional{"armn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6b4422b..6aa0499 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9947cfe..ccdab60 100644 (file)
@@ -173,7 +173,7 @@ id{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -2460,6 +2460,10 @@ id{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index 8cd4655..49d8315 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3b6e374..99e9a07 100644 (file)
@@ -90,7 +90,7 @@ ig{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -208,7 +208,7 @@ ig{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    other{"'week' w 'of' Y"}\r
+                    other{"'week' w 'of' y"}\r
                 }\r
             }\r
             dayNames{\r
index 7eff6a9..a6b9553 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 921ec2b..630c1bd 100644 (file)
@@ -20,7 +20,7 @@ ii{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 405f3a5..3bb9c6b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e9c66b8..1ace1bd 100644 (file)
@@ -219,7 +219,7 @@ is{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index f906424..ed97f6f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3f1de65..324f20c 100644 (file)
@@ -211,7 +211,7 @@ it{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index bb3fc6b..a852098 100644 (file)
@@ -13,7 +13,7 @@ it_CH{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 58298b8..a9a3fa1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9b06c39..e2c5d62 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f555501..37ec95e 100644 (file)
@@ -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{"2.1.32.51"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 843a12c..8b7133e 100644 (file)
@@ -233,7 +233,7 @@ ja{
         native{"latn"}\r
         traditional{"jpan"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 3baabb8..961ee45 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index bd2aa66..5156e62 100644 (file)
@@ -39,7 +39,7 @@ jgo{
         }\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index eca904e..a1976c9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 09ec87d..fae9b6e 100644 (file)
@@ -11,7 +11,7 @@ jmc{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 06eadaa..4b30315 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 24fd573..f7dd0f8 100644 (file)
@@ -219,7 +219,7 @@ ka{
         native{"latn"}\r
         traditional{"geor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b4e467a..d592894 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7513d5a..03b3dd4 100644 (file)
@@ -16,7 +16,7 @@ kab{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9efcf0e..55e0740 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 99635b5..e48cb2b 100644 (file)
@@ -11,7 +11,7 @@ kam{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a8d7400..b20a61f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7deeb95..38e4c1e 100644 (file)
@@ -11,7 +11,7 @@ kde{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6c6d2c9..da64eeb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ee482d3..5e3a506 100644 (file)
@@ -129,7 +129,7 @@ kea{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b98fab1..0b868fd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f595327..bcd45b2 100644 (file)
@@ -15,7 +15,7 @@ khq{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0a9f663..73eb213 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 82e7732..176a7cb 100644 (file)
@@ -12,7 +12,7 @@ ki{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f6a0df7..30d3e9b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 91f61ef..62f11e8 100644 (file)
@@ -219,7 +219,7 @@ kk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -600,6 +600,10 @@ kk{
                     "б.з.д.",\r
                     "б.з.",\r
                 }\r
+                abbreviated%variant{\r
+                    "BCE",\r
+                    "CE",\r
+                }\r
                 wide{\r
                     "Біздің заманымызға дейін",\r
                     "біздің заманымыз",\r
index 5500950..e3e36b1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ade2fd4..c7167d9 100644 (file)
@@ -24,7 +24,7 @@ kkj{
         }\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0816d67..e7a41d7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e5e5a8d..4c36cb1 100644 (file)
@@ -25,7 +25,7 @@ kl{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c7b1c74..c5003cf 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6c260ad..90a7297 100644 (file)
@@ -12,7 +12,7 @@ kln{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8dcf16e..c2a5913 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6e97c54..f20ecd7 100644 (file)
@@ -176,7 +176,7 @@ km{
         minimumGroupingDigits{"1"}\r
         native{"khmr"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e16ae14..75925d9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 334fb94..0c358fd 100644 (file)
@@ -238,7 +238,7 @@ kn{
         minimumGroupingDigits{"1"}\r
         native{"knda"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -717,8 +717,8 @@ kn{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    one{"'week' w 'of' Y"}\r
-                    other{"'week' w 'of' Y"}\r
+                    one{"'week' w 'of' y"}\r
+                    other{"'week' w 'of' y"}\r
                 }\r
             }\r
             dayNames{\r
index baabc4f..2702efa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7b36324..4ccb0ba 100644 (file)
@@ -205,7 +205,7 @@ ko{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 27e3e2c..5f4c440 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 18f6899..f9221fb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b30c9da..a4f6e0c 100644 (file)
@@ -180,7 +180,7 @@ kok{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -282,7 +282,7 @@ kok{
                 yQQQ{"y QQQ"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    other{"'week' w 'of' Y"}\r
+                    other{"'week' w 'of' y"}\r
                 }\r
             }\r
             dayNames{\r
index ac19051..59816de 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 94a8b41..2fae1c6 100644 (file)
@@ -32,7 +32,7 @@ ks{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c6f74c6..8299bf0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e13e0b2..d014edf 100644 (file)
@@ -11,7 +11,7 @@ ksb{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5f42d59..ce1c91d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d434fc2..e38f6df 100644 (file)
@@ -20,7 +20,7 @@ ksf{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c5a4ba4..4273445 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d28c399..dd2877c 100644 (file)
@@ -161,7 +161,7 @@ ksh{
         }\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index b734281..c16a48b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc4090..5774812 100644 (file)
@@ -9,7 +9,7 @@ kw{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index ae45c12..15138be 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4ae9d0f..90cf8e0 100644 (file)
@@ -212,7 +212,7 @@ ky{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -804,36 +804,36 @@ ky{
         }\r
     }\r
     characterLabel{\r
-        activities{"Ð\90ракеттер"}\r
-        african_scripts{"Ð\90фрика жазуулары"}\r
-        american_scripts{"Ð\90мерика жазуулары"}\r
+        activities{"аракеттер"}\r
+        african_scripts{"африка жазуулары"}\r
+        american_scripts{"америка жазуулары"}\r
         animal{"жаныбар"}\r
-        animals_nature{"Ð\96анÑ\8bбаÑ\80лаÑ\80 Ð¶Ð°Ð½Ð° жаратылыш"}\r
-        arrows{"Ð\96ебелер"}\r
+        animals_nature{"жанÑ\8bбаÑ\80лаÑ\80 Ð¶Ðµ жаратылыш"}\r
+        arrows{"Ðебелер"}\r
         body{"дене"}\r
-        box_drawing{"Ð\9aутуча чийүү"}\r
+        box_drawing{"кутуча чийүү"}\r
         braille{"Брайль"}\r
         building{"имарат"}\r
-        bullets_stars{"Ð\9cаÑ\80кеÑ\80леÑ\80\96ылдызчалар"}\r
-        consonantal_jamo{"ҮнÑ\81үз Ð\96амо"}\r
-        currency_symbols{"Ð\92алюта белгилери"}\r
-        dash_connector{"Тире/Байламта"}\r
-        digits{"Сандар"}\r
-        dingbats{"Ð\9fолиграфиялык белгилер"}\r
-        divination_symbols{"Төлгө белгилери"}\r
-        downwards_arrows{"Төмөн караган жебелер"}\r
-        downwards_upwards_arrows{"Төмөн жана жогору караган жебелер"}\r
+        bullets_stars{"маÑ\80кеÑ\80леÑ\80/жылдызчалар"}\r
+        consonantal_jamo{"үнÑ\81үз Ð¶амо"}\r
+        currency_symbols{"валюта белгилери"}\r
+        dash_connector{"тире/байламта"}\r
+        digits{"сандар"}\r
+        dingbats{"полиграфиялык белгилер"}\r
+        divination_symbols{"төлгө белгиси"}\r
+        downwards_arrows{"төмөн караган жебе"}\r
+        downwards_upwards_arrows{"төмөн жана жогору караган жебе"}\r
         east_asian_scripts{"Чыгыш Азия өлкөлөрүнүн жазуулары"}\r
-        emoji{"Ð\91Ñ\8bйÑ\82Ñ\8bкÑ\87алаÑ\80"}\r
+        emoji{"бÑ\8bйÑ\82Ñ\8bкÑ\87а"}\r
         european_scripts{"Европа өлкөлөрүнүн жазуулары"}\r
         female{"аял"}\r
         flag{"желек"}\r
-        flags{"Ð\96елекÑ\87елер"}\r
-        food_drink{"Тамак-аш жана суусундуктар"}\r
-        format{"Формат"}\r
-        format_whitespace{"Формат жана боштук"}\r
+        flags{"желекÑ\82ер"}\r
+        food_drink{"тамак-аш жана суусундуктар"}\r
+        format{"формат"}\r
+        format_whitespace{"формат жана боштук"}\r
         full_width_form_variant{"Толук жазы формасынын варианттары"}\r
-        geometric_shapes{"Ð\93еометриялык фигуралар"}\r
+        geometric_shapes{"геометриялык фигуралар"}\r
         half_width_form_variant{"Жарым жазы формасынын варианттары"}\r
         han_characters{"Хань белгилери"}\r
         han_radicals{"Хань уңгулары"}\r
@@ -841,8 +841,8 @@ ky{
         hanzi_simplified{"Ханьзи (Жөнөкөйлөштүрүлгөн)"}\r
         hanzi_traditional{"Ханьзи (Салттуу)"}\r
         heart{"жүрөк"}\r
-        historic_scripts{"Тарыхый жазуулар"}\r
-        ideographic_desc_characters{"Идеографиялык сүрөттөө белгилери"}\r
+        historic_scripts{"тарыхый жазуулар"}\r
+        ideographic_desc_characters{"ideographic desc. character"}\r
         japanese_kana{"Жапон Канасы"}\r
         kanbun{"Канбун"}\r
         kanji{"Кандзи"}\r
index 224cbdb..1daf8f0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 34b3539..8b3fb59 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1b25b3e..5a37c33 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d25dcb6..2b4041f 100644 (file)
@@ -156,7 +156,7 @@ lb{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 7a42806..c770165 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f0a0b5f..9eb9bfb 100644 (file)
@@ -11,7 +11,7 @@ lg{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d88ad66..79ab081 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e9db330..3b6a9ca 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index ec0bf2e..720d5e3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eaf561b..d4e6cd5 100644 (file)
@@ -24,7 +24,7 @@ ln{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b22b145..860604d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 56898f8..1952920 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 89a7f7f..2930975 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 247e15e..a991f6a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b9a6cfe..91e1847 100644 (file)
@@ -266,7 +266,7 @@ lo{
         minimumGroupingDigits{"1"}\r
         native{"laoo"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index b27b901..d657278 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dda3591..3a3ad97 100644 (file)
@@ -31,7 +31,7 @@ lrc{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         default{"persian"}\r
         generic{\r
index d48cc09..3d50d83 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         default{"gregorian"}\r
         gregorian{\r
index 8339c5a..701e5c0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 10b9af8..41f0351 100644 (file)
@@ -290,7 +290,7 @@ lt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -3723,4 +3723,31 @@ lt{
         US{"JAV"}\r
         metric{"metrinė"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index 54830de..a514f8b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e335049..3dc4b25 100644 (file)
@@ -20,7 +20,7 @@ lu{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 36480ae..8229aef 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ead4a98..7f385c1 100644 (file)
@@ -11,7 +11,7 @@ luo{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index bd544bc..8c92056 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 549c9ba..5cfd58a 100644 (file)
@@ -10,7 +10,7 @@ luy{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4c060f4..5c132d7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e356ee7..3d96e91 100644 (file)
@@ -250,7 +250,7 @@ lv{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 06933d4..7084d34 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ef70d09..4583f4c 100644 (file)
@@ -15,7 +15,7 @@ mas{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 948c554..0bdef94 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 17a1ab1..6f4d052 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cae44a9..44440aa 100644 (file)
@@ -11,7 +11,7 @@ mer{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7b48e1e..e4b1045 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1ccce60..a32a5f8 100644 (file)
@@ -11,7 +11,7 @@ mfe{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7c9fed6..b864dd0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6e7e0ff..37f50e9 100644 (file)
@@ -33,7 +33,7 @@ mg{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index eb57bf6..5fb64fc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0ffa615..daf98fd 100644 (file)
@@ -13,7 +13,7 @@ mgh{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index db5642d..5e57f79 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95c6e71..0873210 100644 (file)
@@ -39,7 +39,7 @@ mgo{
         }\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index eb0366b..f18c484 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 03cf864..d3cb464 100644 (file)
@@ -213,7 +213,7 @@ mk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index c76a54e..b966d83 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 26d93a6..9a41412 100644 (file)
@@ -239,7 +239,7 @@ ml{
         }\r
         native{"mlym"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index ddf9180..9cb2c47 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7581689..5fe2e8c 100644 (file)
@@ -212,7 +212,7 @@ mn{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -387,8 +387,8 @@ mn{
                 "HH:mm:ss (z)",\r
                 "HH:mm:ss",\r
                 "HH:mm",\r
-                "y 'оны' MMM'ын' d. EEEE 'гараг'.",\r
-                "y 'оны' MMM'ын' d",\r
+                "y.MM.dd, EEEE",\r
+                "y.MM.dd",\r
                 "y.MM.dd",\r
                 "y.MM.dd",\r
                 "{1} {0}",\r
index c294231..7d8e1d4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9c9e8c4..ac1252c 100644 (file)
@@ -241,7 +241,7 @@ mr{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 71e6a42..a67b6c9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 0638df9..23119de 100644 (file)
@@ -180,7 +180,7 @@ ms{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index a8de894..6b59f78 100644 (file)
@@ -12,7 +12,7 @@ ms_BN{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9ffb9df..bfb74ca 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3ba4291..e4c4775 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8d68972..6337334 100644 (file)
@@ -45,7 +45,7 @@ mt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4ae4520..21b0422 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8ea77f2..b8c61a5 100644 (file)
@@ -19,7 +19,7 @@ mua{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8c043d4..29c1912 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 88e0e1a..e7ca055 100644 (file)
@@ -201,7 +201,7 @@ my{
         }\r
         native{"mymr"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -440,7 +440,7 @@ my{
                 yQQQ{"y QQQ"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    other{"Y ခု w ပတ်မြောက်"}\r
+                    other{"y ခု w ပတ်မြောက်"}\r
                 }\r
             }\r
             dayNames{\r
index 4b22c00..7c279c4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8b149e0..93803fd 100644 (file)
@@ -21,7 +21,7 @@ mzn{
         default{"arabext"}\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         default{"persian"}\r
         gregorian{\r
index 0814d6d..92d9ee7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3e8f55d..f04cd45 100644 (file)
@@ -11,7 +11,7 @@ naq{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 914f50a..3262cad 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 22c6dbf..fa5cb20 100644 (file)
@@ -1277,7 +1277,7 @@ nb{
             }\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -6488,6 +6488,10 @@ nb{
             0,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
@@ -6520,8 +6524,10 @@ nb{
             dn{"d."}\r
             relative{\r
                 "-1"{"i går"}\r
+                "-2"{"-2 d."}\r
                 "0"{"i dag"}\r
                 "1"{"i morgen"}\r
+                "2"{"+2 d."}\r
             }\r
             relativeTime{\r
                 future{\r
index 5e00af2..4a78cae 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9041be5..eb26956 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index db430e9..968a0fc 100644 (file)
@@ -12,7 +12,7 @@ nd{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8720335..a8f65f8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9e1bcdd..f44d2e4 100644 (file)
@@ -4,5 +4,5 @@ nds{
     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
     ExemplarCharactersNumbers{"[\\- , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6989592..1870e0d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d33dd45..646d524 100644 (file)
@@ -8,5 +8,5 @@ nds_NL{
         "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ ′ "\r
         "″]"\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d160853..54a9acf 100644 (file)
@@ -235,7 +235,7 @@ ne{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -925,7 +925,7 @@ ne{
         punctuation{"विराम"}\r
         rightwards_arrows{"दायाँतर्फी बाँणहरू"}\r
         sign_standard_symbols{"संकेत/मानक चिन्हहरू"}\r
-        small_form_variant{"सानà¥\8b à¤«à¤¾à¤°à¤¾à¤® भ्यारियन्टहरू"}\r
+        small_form_variant{"साना भ्यारियन्टहरू"}\r
         smiley{"स्माइली"}\r
         smileys_people{"स्माइली तथा व्यक्तिहरू"}\r
         south_asian_scripts{"दक्षिण एशियाली लिपिहरू"}\r
@@ -938,7 +938,7 @@ ne{
         travel{"यात्रा"}\r
         travel_places{"यात्रा तथा ठाउँहरू"}\r
         upwards_arrows{"माथितिरका बाँणहरू"}\r
-        variant_forms{"भ्यारियन्ट फारामहरू"}\r
+        variant_forms{"भ्यारियन्ट"}\r
         vocalic_jamo{"भोकालिक जामोहरू"}\r
         weather{"मौंसम"}\r
         western_asian_scripts{"पश्चिमी एशियाली लिपिहरू"}\r
index 68dc7fa..1ac764a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f748284..9f3a9cf 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c016721..a6d2eb6 100644 (file)
@@ -1319,7 +1319,7 @@ nl{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -5643,6 +5643,10 @@ nl{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"”"}\r
index bdeca2d..8512c34 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 899cb4f..5c0e95d 100644 (file)
@@ -8,7 +8,7 @@ nl_BE{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a5b7af3..ead7d4b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 893b69f..d91cb5d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 53f1f9f..8185c3b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7603e3e..8f00a3e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a89d35f..b160725 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 769a659..655fa34 100644 (file)
@@ -22,7 +22,7 @@ nmg{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fc69a67..a6de85b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7b7c972..615682a 100644 (file)
@@ -98,7 +98,7 @@ nn{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 73baa40..a0526ef 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3309ab..be868c8 100644 (file)
@@ -28,7 +28,7 @@ nnh{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ffda18e..471ee37 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f2d9baa..6ac6965 100644 (file)
@@ -22,7 +22,7 @@ nus{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c2e7960..bd4ddb0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index acb8e9e..1255f39 100644 (file)
@@ -10,7 +10,7 @@ nyn{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 316c23e..32720d8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 79f2831..f554f94 100644 (file)
@@ -35,7 +35,7 @@ om{
         native{"latn"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index bf0cbaf..ca9ea6a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 38968cb..98eaae6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 1278cd7..d26d0ee 100644 (file)
@@ -202,6 +202,15 @@ or{
                 superscriptingExponent{"×"}\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{"orya"}\r
         orya{\r
@@ -225,7 +234,7 @@ or{
             }\r
         }\r
     }\r
-    Version{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -360,8 +369,8 @@ or{
                 "PM",\r
             }\r
             AmPmMarkersAbbr{\r
-                "am",\r
-                "pm",\r
+                "AM",\r
+                "PM",\r
             }\r
             AmPmMarkersNarrow{\r
                 "ପୂ",\r
@@ -791,15 +800,15 @@ or{
         arrows{"ତୀର"}\r
         body{"ଶରୀର"}\r
         box_drawing{"ବକ୍ସ ଅଙ୍କନ କରିବା"}\r
-        braille{"ବà­\8dରà­\87ଲି"}\r
+        braille{"ବà­\8dରà­\87ଲà­\8d"}\r
         building{"ଅଟ୍ଟାଳିକା"}\r
         bullets_stars{"ବୁଲେଟ୍‍ କିମ୍ବା ତାରା"}\r
         consonantal_jamo{"ବ୍ୟଞ୍ଜନ ବର୍ଣ୍ଣ ସମ୍ବନ୍ଧୀୟ ଜାମୋ"}\r
-        currency_symbols{"ମà­\81ଦà­\8dରା à¬¸à¬\99à­\8dà¬\95à­\87ତ"}\r
+        currency_symbols{"ମà­\81ଦà­\8dରା à¬\9aିହà­\8dନ"}\r
         dash_connector{"ଡ୍ୟାଶ୍‍ କିମ୍ବା ସଂଯୋଜକ"}\r
         digits{"ଅଙ୍କ"}\r
         dingbats{"ଡିଙ୍ଗବ୍ୟାଟ୍‍"}\r
-        divination_symbols{"à¬\85ଲà­\8cà¬\95ିà¬\95 à¬¸à¬\99à­\8dà¬\95à­\87ତ"}\r
+        divination_symbols{"à¬\85ଲà­\8cà¬\95ିà¬\95 à¬\9aିହà­\8dନ"}\r
         downwards_arrows{"ନିମ୍ନାଭିମୁଖୀ ତୀର"}\r
         downwards_upwards_arrows{"ନିମ୍ନାଭିମୁଖୀ ଉର୍ଦ୍ଧ୍ୱମୁଖୀ ତୀର"}\r
         east_asian_scripts{"ପୂର୍ବ ଏସିୟ ସ୍କ୍ରିପ୍ଟ"}\r
@@ -807,15 +816,15 @@ or{
         european_scripts{"ୟୁରୋପିୟ ସ୍କ୍ରିପ୍ଟ"}\r
         female{"ମହିଳା"}\r
         flag{"ପତାକା"}\r
-        flags{"ପତାକାଗୁଡିକ"}\r
+        flags{"ପତାà¬\95ାà¬\97à­\81ଡ଼ିà¬\95"}\r
         food_drink{"ଖାଦ୍ୟ ଏବଂ ପାନୀୟ"}\r
         format{"ଫର୍ମାଟ୍‍"}\r
         format_whitespace{"ଫର୍ମାଟ୍‍ ଏବଂ ଧଳା ଖାଲି ସ୍ଥାନ"}\r
-        full_width_form_variant{"ପà­\82ରà­\8dଣà­\8dଣ-ପà­\8dରସà­\8dଥ à¬­à¬¾à¬°à¬¿à¬\8fଣà­\8dà¬\9f"}\r
+        full_width_form_variant{"ପà­\82ରà­\8dଣà­\8dଣ-ପà­\8dରସà­\8dଥ à¬­à¬¿à¬¨à­\8dନତା"}\r
         geometric_shapes{"ଜ୍ୟାମିତିକ ଆକୃତି"}\r
-        half_width_form_variant{"à¬\85ରà­\8dଦà­\8dଧ-ପà­\8dରସà­\8dଥ à¬­à¬¾à¬°à¬¿à¬\8fଣà­\8dà¬\9f"}\r
+        half_width_form_variant{"à¬\85ରà­\8dଦà­\8dଧ-ପà­\8dରସà­\8dଥ à¬­à¬¿à¬¨à­\8dନତା"}\r
         han_characters{"ହାନ୍‍ ବର୍ଣ୍ଣ"}\r
-        han_radicals{"ହାନà­\8dâ\80\8d à¬®à­\82ଳ à¬°à¬¾à¬¶à¬¿"}\r
+        han_radicals{"ହାନà­\8dâ\80\8d à¬°à¬¾à¬¡à¬¿à¬\95ାଲà­\8d"}\r
         hanja{"ହାଞ୍ଜା"}\r
         hanzi_simplified{"ହାଞ୍ଜି (ସରଳୀକୃତ)"}\r
         hanzi_traditional{"ହାଞ୍ଜି (ପାରମ୍ପରିକ)"}\r
@@ -828,43 +837,43 @@ or{
         keycap{"କୀକ୍ୟାପ୍‍"}\r
         leftwards_arrows{"ବାମମୁଖୀ ତୀର"}\r
         leftwards_rightwards_arrows{"ବାମମୁଖୀ ଡାହାଣମୁଖୀ ତୀର"}\r
-        letterlike_symbols{"ଅକ୍ଷର ପରି ସଙ୍କେତ"}\r
-        limited_use{"ସୀମିତ ବ୍ୟବହାର"}\r
+        letterlike_symbols{"ଅକ୍ଷରପରି ଚିହ୍ନ"}\r
+        limited_use{"ସୀମିତ-ବ୍ୟବହାର"}\r
         male{"ପୁରୁଷ"}\r
-        math_symbols{"à¬\97ାଣିତିà¬\95 à¬¸à¬\99à­\8dà¬\95à­\87ତ"}\r
-        middle_eastern_scripts{"ମଧ୍ୟ ପୂର୍ବ ସ୍କ୍ରିପ୍ଟ"}\r
+        math_symbols{"à¬\97ାଣିତିà¬\95 à¬\9aିହà­\8dନ"}\r
+        middle_eastern_scripts{"ମଧ୍ୟପ୍ରାଚ୍ୟ ସ୍କ୍ରିପ୍ଟ"}\r
         miscellaneous{"ବିବିଧ"}\r
         modern_scripts{"ଆଧୁନିକ ସ୍କ୍ରିପ୍ଟ"}\r
         modifier{"ସଂଶୋଧକ"}\r
-        musical_symbols{"ସà¬\99à­\8dà¬\97à­\80ତ à¬¸à¬®à­\8dବନà­\8dଧà­\80à­\9f à¬¸à¬\99à­\8dà¬\95à­\87ତ"}\r
+        musical_symbols{"ସାà¬\99à­\8dà¬\97à­\80ତିà¬\95 à¬\9aିହà­\8dନ"}\r
         nature{"ପ୍ରକୃତି"}\r
         nonspacing{"ଅଣବ୍ୟବଧାନୀକରଣ"}\r
-        numbers{"ସଂଖ୍ୟାଗୁଡିକ"}\r
+        numbers{"ସà¬\82à¬\96à­\8dà­\9fାà¬\97à­\81ଡ଼ିà¬\95"}\r
         objects{"ପଦାର୍ଥ"}\r
         other{"ଅନ୍ୟ"}\r
-        paired{"ଯୋଡା"}\r
+        paired{"ଯà­\8bଡ଼ା"}\r
         person{"ବ୍ୟକ୍ତି"}\r
         phonetic_alphabet{"ଫୋନେଟିକ୍‍ ବର୍ଣ୍ଣମାଳା"}\r
-        pictographs{"à¬\9aିତà­\8dର à¬ªà­\8dରତà­\80à¬\95"}\r
+        pictographs{"ପିà¬\95à­\8dà¬\9fà­\8bà¬\97à­\8dରାଫà­\8d"}\r
         place{"ସ୍ଥାନ"}\r
-        plant{"à¬\89ଦà­\8dଭିଦ"}\r
+        plant{"à¬\97à¬\9b"}\r
         punctuation{"ବିରାମ ଚିହ୍ନ"}\r
         rightwards_arrows{"ଡାହାଣମୁଖୀ ତୀର"}\r
         sign_standard_symbols{"ଚିହ୍ନ କିମ୍ବା ସଙ୍କେତ"}\r
-        small_form_variant{"à¬\9bà­\8bà¬\9f à¬­à¬¾à¬°à¬¿à¬\8fଣà­\8dà¬\9f"}\r
+        small_form_variant{"à¬\9bà­\8bà¬\9f à¬­à¬¿à¬¨à­\8dନତା"}\r
         smiley{"ସ୍ମାଇଲି"}\r
         smileys_people{"ସ୍ମାଇଲି କିମ୍ବା ବ୍ୟକ୍ତି"}\r
         south_asian_scripts{"ଦକ୍ଷିଣ ଏସିୟ ସ୍କ୍ରିପ୍ଟ"}\r
         southeast_asian_scripts{"ଦକ୍ଷିଣପୂର୍ବ ଏସିୟ ସ୍କ୍ରିପ୍ଟ"}\r
         spacing{"ବ୍ୟବଧାନୀକରଣ"}\r
-        sport{"କ୍ରୀଡା"}\r
+        sport{"à¬\95à­\8dରà­\80ଡ଼ା"}\r
         symbols{"ସଙ୍କେତ"}\r
-        technical_symbols{"ବà­\88ଷà­\9fିà¬\95 à¬¸à¬\99à­\8dà¬\95à­\87ତ"}\r
+        technical_symbols{"ବà­\88ଷà­\9fିà¬\95 à¬\9aିହà­\8dନ"}\r
         tone_marks{"ସ୍ୱର ଚିହ୍ନ"}\r
         travel{"ଯାତ୍ରା"}\r
         travel_places{"ଯାତ୍ରା କିମ୍ବା ସ୍ଥାନ"}\r
-        upwards_arrows{"ଉର୍ଦ୍ଧ୍ୱମୁଖୀ ତୀରଗୁଡିକ"}\r
-        variant_forms{"ଭାରିà¬\8fଣà­\8dà¬\9f"}\r
+        upwards_arrows{"à¬\89ରà­\8dଦà­\8dଧà­\8dୱମà­\81à¬\96à­\80 à¬¤à­\80ରà¬\97à­\81ଡ଼ିà¬\95"}\r
+        variant_forms{"ଭିନà­\8dନତା"}\r
         vocalic_jamo{"ସ୍ୱରବର୍ଣ୍ଣ ସମ୍ବନ୍ଧୀୟ ଜାମୋ"}\r
         weather{"ପାଣିପାଗ"}\r
         western_asian_scripts{"ପଶ୍ଚିମ ଏସିୟ ସ୍କ୍ରିପ୍ଟ"}\r
@@ -1690,4 +1699,31 @@ or{
         US{"ୟୁଏସ୍‌"}\r
         metric{"ମେଟ୍ରିକ୍‌"}\r
     }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\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
index b34ec0f..8638266 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 60df79d..db9246a 100644 (file)
@@ -44,7 +44,7 @@ os{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f43cbb5..b7b7e93 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 001710c..242ee3b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d6ff3b4..8b25cb4 100644 (file)
@@ -254,7 +254,7 @@ pa{
         minimumGroupingDigits{"1"}\r
         native{"guru"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 961ca98..96ae305 100644 (file)
@@ -18,7 +18,7 @@ pa_Arab{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b75ed4d..2ca2779 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 0b35aa7..3e93b70 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7a36158..daa53de 100644 (file)
@@ -287,7 +287,7 @@ pl{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1713,6 +1713,10 @@ pl{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"»"}\r
index 05a9748..61f5593 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e9ba99d..917ec42 100644 (file)
Binary files a/source/data/locales/pool.res and b/source/data/locales/pool.res differ
index 756f892..5508623 100644 (file)
@@ -230,7 +230,7 @@ ps{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         default{"persian"}\r
         generic{\r
index 5741f9c..c8b0a6d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 057c9fd..4c3e25d 100644 (file)
@@ -216,7 +216,7 @@ pt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1757,6 +1757,10 @@ pt{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index 3d5fbf3..fe62b34 100644 (file)
@@ -5,5 +5,5 @@ pt_AO{
     NumberElements{\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3aab755..0cc0b63 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 13c0236..2b17974 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{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
 }\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f4cd124..0a9b33f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b5a1669..0c74f8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ca01c7f..a9da74a 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 060a5fc..0f426fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index db8dcb0..2ac3dd2 100644 (file)
@@ -156,7 +156,7 @@ pt_PT{
         }\r
         minimumGroupingDigits{"2"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index e3f0965..9287a10 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b8cb201..bc44bb6 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7a2d911..0191cdd 100644 (file)
@@ -153,7 +153,7 @@ qu{
             }\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 6c9a743..4a54bc0 100644 (file)
@@ -9,5 +9,5 @@ qu_BO{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0da49d8..d8d597a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 803056f..2714da9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a96d3d1..4c13234 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-GENRB_CLDR_VERSION = 32.0.1\r
+GENRB_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index 31be1be..b6bc0a4 100644 (file)
@@ -35,7 +35,7 @@ rm{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9139d92..e59041e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5da8876..e0480c5 100644 (file)
@@ -17,7 +17,7 @@ rn{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e0a6706..89275e6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 528b87b..f96feba 100644 (file)
@@ -248,7 +248,7 @@ ro{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1718,6 +1718,12 @@ ro{
         western_asian_scripts{"scriere vest-asiatică"}\r
         whitespace{"spațiu alb"}\r
     }\r
+    contextTransforms{\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"»"}\r
         alternateQuotationStart{"«"}\r
index f76f446..f13ec3c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index d04ff69..e384cf3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c1ff90c..b2e7399 100644 (file)
@@ -11,7 +11,7 @@ rof{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8ad4782..fbe1a0f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f1fbacf..6d718af 100644 (file)
@@ -22,7 +22,7 @@ root{
             patterns{\r
                 accountingFormat:alias{"/LOCALE/NumberElements/arab/patterns/currencyFormat"}\r
                 currencyFormat{"#,##0.00 ¤"}\r
-                percentFormat{"#,##0 %"}\r
+                percentFormat{"#,##0%"}\r
             }\r
             symbols{\r
                 decimal{"٫"}\r
@@ -172,7 +172,7 @@ root{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
     calendar{\r
         buddhist{\r
             AmPmMarkers:alias{"/LOCALE/calendar/gregorian/AmPmMarkers"}\r
index 2c1d4c2..b6baee6 100644 (file)
@@ -290,7 +290,7 @@ ru{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1962,8 +1962,8 @@ ru{
     }\r
     characterLabel{\r
         activities{"занятия"}\r
-        african_scripts{"аÑ\84Ñ\80иканÑ\81каÑ\8f Ð¿Ð¸Ñ\81Ñ\8cменноÑ\81Ñ\82Ñ\8c"}\r
-        american_scripts{"амеÑ\80иканÑ\81каÑ\8f Ð¿Ð¸Ñ\81Ñ\8cменноÑ\81Ñ\82Ñ\8c"}\r
+        african_scripts{"пиÑ\81Ñ\8cменноÑ\81Ñ\82и Ð\90Ñ\84Ñ\80ики"}\r
+        american_scripts{"пиÑ\81Ñ\8cменноÑ\81Ñ\82и Ð\90меÑ\80ики"}\r
         animal{"животные"}\r
         animals_nature{"животные и природа"}\r
         arrows{"стрелки"}\r
@@ -1972,7 +1972,7 @@ ru{
         braille{"шрифт Брайля"}\r
         building{"здания"}\r
         bullets_stars{"маркеры списка/звезды"}\r
-        consonantal_jamo{"согласные джамо"}\r
+        consonantal_jamo{"согласные чамо"}\r
         currency_symbols{"символы валюты"}\r
         dash_connector{"тире/связка"}\r
         digits{"цифры"}\r
@@ -1980,9 +1980,9 @@ ru{
         divination_symbols{"оккультные символы"}\r
         downwards_arrows{"стрелки вниз"}\r
         downwards_upwards_arrows{"стрелки вверх и вниз"}\r
-        east_asian_scripts{"воÑ\81Ñ\82оÑ\87ноазиаÑ\82Ñ\81каÑ\8f Ð¿Ð¸Ñ\81Ñ\8cменноÑ\81Ñ\82Ñ\8c"}\r
+        east_asian_scripts{"пиÑ\81Ñ\8cменноÑ\81Ñ\82и Ð\92оÑ\81Ñ\82оÑ\87ной Ð\90зии"}\r
         emoji{"эмодзи"}\r
-        european_scripts{"евÑ\80опейÑ\81каÑ\8f Ð¿Ð¸Ñ\81Ñ\8cменноÑ\81Ñ\82Ñ\8c"}\r
+        european_scripts{"пиÑ\81Ñ\8cменноÑ\81Ñ\82и Ð\95вÑ\80опÑ\8b"}\r
         female{"женщины"}\r
         flag{"флаги"}\r
         flags{"флаги"}\r
@@ -2010,10 +2010,10 @@ ru{
         limited_use{"ограниченное использование"}\r
         male{"мужчины"}\r
         math_symbols{"математические символы"}\r
-        middle_eastern_scripts{"центрально-восточная письменность"}\r
+        middle_eastern_scripts{"письменности Среднего Востока"}\r
         miscellaneous{"разное"}\r
         modern_scripts{"современная письменность"}\r
-        modifier{"модификатор"}\r
+        modifier{"модификаторы"}\r
         musical_symbols{"музыкальные символы"}\r
         nature{"природа"}\r
         nonspacing{"непротяженные символы"}\r
@@ -2032,9 +2032,9 @@ ru{
         small_form_variant{"маленькие варианты формы"}\r
         smiley{"смайлики"}\r
         smileys_people{"смайлики и люди"}\r
-        south_asian_scripts{"южноазиатская письменность"}\r
-        southeast_asian_scripts{"письменность Юго-Восточной Азии"}\r
-        spacing{"пÑ\80обелÑ\8b"}\r
+        south_asian_scripts{"письменности Южной Азии"}\r
+        southeast_asian_scripts{"письменности Юго-Восточной Азии"}\r
+        spacing{"пÑ\80омежÑ\83Ñ\82ки"}\r
         sport{"спорт"}\r
         symbols{"символы"}\r
         technical_symbols{"технические символы"}\r
@@ -2043,9 +2043,9 @@ ru{
         travel_places{"путешествия и места"}\r
         upwards_arrows{"стрелки вверх"}\r
         variant_forms{"вариативные формы"}\r
-        vocalic_jamo{"гласные джамо"}\r
+        vocalic_jamo{"гласные чамо"}\r
         weather{"погода"}\r
-        western_asian_scripts{"западноазиаÑ\82Ñ\81каÑ\8f Ð¿Ð¸Ñ\81Ñ\8cменноÑ\81Ñ\82Ñ\8c"}\r
+        western_asian_scripts{"пиÑ\81Ñ\8cменноÑ\81Ñ\82и Ð\97ападной Ð\90зии"}\r
         whitespace{"пробелы"}\r
     }\r
     contextTransforms{\r
@@ -2093,6 +2093,10 @@ ru{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"“"}\r
index 7f8050c..86f9ae1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 28d8764..1bb6c8e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5d66d72..ff2197c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d674bbc..1b7c2bf 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d023d79..0616691 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b4da836..64d98bf 100644 (file)
@@ -4,7 +4,7 @@ ru_UA{
     NumberElements{\r
         minimumGroupingDigits{"2"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7368403..e6f9e1d 100644 (file)
@@ -32,7 +32,7 @@ rw{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -126,7 +126,7 @@ rw{
                 yQQQ{"y QQQ"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    other{"'week' w 'of' Y"}\r
+                    other{"'week' w 'of' y"}\r
                 }\r
             }\r
             dayNames{\r
index 4420ad9..09679a4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cb33ef8..3bd2e53 100644 (file)
@@ -11,7 +11,7 @@ rwk{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1ef6afe..55cb8c2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 922c727..5282aa3 100644 (file)
@@ -164,7 +164,7 @@ sah{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 83f1bde..f512ff3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0287914..fe81ed0 100644 (file)
@@ -12,7 +12,7 @@ saq{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c2085bf..2502e11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e2cb321..a8957f0 100644 (file)
@@ -18,7 +18,7 @@ sbp{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index bc9f302..32b3c03 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ca2345c..b6ca189 100644 (file)
@@ -166,7 +166,7 @@ se{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index d7b21ad..4014e67 100644 (file)
@@ -1,7 +1,68 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se_FI{\r
-    Version{"2.1.37.6"}\r
+    NumberElements{\r
+        latn{\r
+            patternsLong{\r
+                decimalFormat{\r
+                    1000{\r
+                        other{"0 duháhat"}\r
+                        two{"0 dt"}\r
+                    }\r
+                    10000{\r
+                        one{"00 duháhat"}\r
+                        two{"00 dt"}\r
+                    }\r
+                    100000{\r
+                        one{"000 duháhat"}\r
+                        two{"000 dt"}\r
+                    }\r
+                    1000000{\r
+                        two{"0 mn"}\r
+                    }\r
+                    10000000{\r
+                        one{"00 miljonat"}\r
+                        two{"00 mn"}\r
+                    }\r
+                    100000000{\r
+                        one{"000 miljonat"}\r
+                        two{"000 mn"}\r
+                    }\r
+                    1000000000{\r
+                        one{"0 miljárda"}\r
+                        other{"0 miljárdat"}\r
+                        two{"0 miljárdat"}\r
+                    }\r
+                    10000000000{\r
+                        one{"00 miljárdat"}\r
+                        other{"00 miljárdat"}\r
+                        two{"00 md"}\r
+                    }\r
+                    100000000000{\r
+                        one{"000 miljárdat"}\r
+                        other{"000 miljárdat"}\r
+                        two{"000 md"}\r
+                    }\r
+                    1000000000000{\r
+                        one{"0 biljovdna"}\r
+                        other{"0 biljovdnat"}\r
+                        two{"0 bn"}\r
+                    }\r
+                    10000000000000{\r
+                        one{"00 biljovdnat"}\r
+                        other{"00 biljovdnat"}\r
+                        two{"00 bn"}\r
+                    }\r
+                    100000000000000{\r
+                        one{"000 biljovdnat"}\r
+                        other{"000 biljovdnat"}\r
+                        two{"000 bn"}\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -482,20 +543,30 @@ se_FI{
             }\r
         }\r
         fri-narrow{\r
+            relative{\r
+                "-1"{"mannan be"}\r
+                "0"{"dán be"}\r
+                "1"{"boahtte be"}\r
+            }\r
             relativeTime{\r
                 future{\r
-                    one{"boahtte be"}\r
+                    one{"boahtte {0} be"}\r
                     other{"boahtte {0} be"}\r
                     two{"boahtte {0} bearjadaga"}\r
                 }\r
                 past{\r
-                    one{"mannan be"}\r
+                    one{"{0} mannan be"}\r
                     other{"-{0} be dás ovdal"}\r
                     two{"ovddet bearjadaga"}\r
                 }\r
             }\r
         }\r
         fri-short{\r
+            relative{\r
+                "-1"{"mannan be"}\r
+                "0"{"dán be"}\r
+                "1"{"boahtte be"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"boahtte be"}\r
@@ -623,6 +694,11 @@ se_FI{
             }\r
         }\r
         mon-narrow{\r
+            relative{\r
+                "-1"{"mannan má"}\r
+                "0"{"dán má"}\r
+                "1"{"boahtte má"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} boahtte má"}\r
@@ -630,13 +706,18 @@ se_FI{
                     two{"{0} boahtte mánnodaga"}\r
                 }\r
                 past{\r
-                    one{"mannan má"}\r
+                    one{"{0} mannan má"}\r
                     other{"{0} má dás ovdal"}\r
                     two{"ovddet má"}\r
                 }\r
             }\r
         }\r
         mon-short{\r
+            relative{\r
+                "-1"{"mannan má"}\r
+                "0"{"dán má"}\r
+                "1"{"boahtte má"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} boahtte má"}\r
@@ -769,6 +850,11 @@ se_FI{
             }\r
         }\r
         sat-narrow{\r
+            relative{\r
+                "-1"{"mannan lá"}\r
+                "0"{"dán lá"}\r
+                "1"{"boahtte lá"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"+{0} boahtte lá"}\r
@@ -776,13 +862,18 @@ se_FI{
                     two{"boahtte {0} lá"}\r
                 }\r
                 past{\r
-                    one{"mannan lá"}\r
+                    one{"{0} mannan lá"}\r
                     other{"-{0} lá dás ovdal"}\r
                     two{"ovddet lá"}\r
                 }\r
             }\r
         }\r
         sat-short{\r
+            relative{\r
+                "-1"{"mannan lá"}\r
+                "0"{"dán lá"}\r
+                "1"{"boahtte lá"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"+{0} boahtte lá"}\r
@@ -863,6 +954,11 @@ se_FI{
             }\r
         }\r
         sun-narrow{\r
+            relative{\r
+                "-1"{"mannan so"}\r
+                "0"{"dán so"}\r
+                "1"{"boahtte so"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} boahtte so"}\r
@@ -870,13 +966,18 @@ se_FI{
                     two{"boahtte {0} sotnabeaivve"}\r
                 }\r
                 past{\r
-                    one{"mannan so"}\r
+                    one{"{0} mannan so"}\r
                     other{"{0} so dás ovdal"}\r
                     two{"ovddet sotnabeaivve"}\r
                 }\r
             }\r
         }\r
         sun-short{\r
+            relative{\r
+                "-1"{"mannan so"}\r
+                "0"{"dán so"}\r
+                "1"{"boahtte so"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"boahtte so"}\r
@@ -910,20 +1011,30 @@ se_FI{
             }\r
         }\r
         thu-narrow{\r
+            relative{\r
+                "-1"{"mannan du"}\r
+                "0"{"dán du"}\r
+                "1"{"boahtte du"}\r
+            }\r
             relativeTime{\r
                 future{\r
-                    one{"boahtte du"}\r
+                    one{"{0} boahtte du"}\r
                     other{"+{0} boahtte du"}\r
                     two{"+{0} boahtte duorastaga"}\r
                 }\r
                 past{\r
-                    one{"mannan du"}\r
+                    one{"{0} mannan du"}\r
                     other{"{0} du dás ovdal"}\r
                     two{"ovddet duorastaga"}\r
                 }\r
             }\r
         }\r
         thu-short{\r
+            relative{\r
+                "-1"{"mannan du"}\r
+                "0"{"dán du"}\r
+                "1"{"boahtte du"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"boahtte du"}\r
@@ -957,20 +1068,30 @@ se_FI{
             }\r
         }\r
         tue-narrow{\r
+            relative{\r
+                "-1"{"mannan di"}\r
+                "0"{"dán di"}\r
+                "1"{"boahtte di"}\r
+            }\r
             relativeTime{\r
                 future{\r
-                    one{"boahtte di"}\r
+                    one{"{0} boahtte di"}\r
                     other{"{0} boahtte di"}\r
                     two{"{0} boahtte disdaga"}\r
                 }\r
                 past{\r
-                    one{"mannan di"}\r
+                    one{"{0} mannan di"}\r
                     other{"{0} di dás ovdal"}\r
                     two{"ovddet disdaga"}\r
                 }\r
             }\r
         }\r
         tue-short{\r
+            relative{\r
+                "-1"{"mannan di"}\r
+                "0"{"dán di"}\r
+                "1"{"boahtte di"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"boahtte di"}\r
@@ -1004,20 +1125,30 @@ se_FI{
             }\r
         }\r
         wed-narrow{\r
+            relative{\r
+                "-1"{"mannan ga"}\r
+                "0"{"dán ga"}\r
+                "1"{"boahtte ga"}\r
+            }\r
             relativeTime{\r
                 future{\r
-                    one{"boahtte ga"}\r
+                    one{"{0} boahtte ga"}\r
                     other{"{0} boahtte ga"}\r
                     two{"{0} boahtte gaskavahku"}\r
                 }\r
                 past{\r
-                    one{"mannan ga"}\r
+                    one{"{0} mannan ga"}\r
                     other{"{0} ga dás ovdal"}\r
                     two{"ovddet gaskavahku"}\r
                 }\r
             }\r
         }\r
         wed-short{\r
+            relative{\r
+                "-1"{"mannan ga"}\r
+                "0"{"dán ga"}\r
+                "1"{"boahtte ga"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"boahtte ga"}\r
index 0ab7c02..dc806f8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8cd1231..74ebe13 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5dc12d8..2e0fb68 100644 (file)
@@ -18,7 +18,7 @@ seh{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9836fd7..d60a1fe 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 75ce2f8..5cab754 100644 (file)
@@ -15,7 +15,7 @@ ses{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6ee0aec..be81197 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7e30c44..a47f514 100644 (file)
@@ -16,7 +16,7 @@ sg{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e1a1f71..ec211df 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index beb3aac..4b44fb1 100644 (file)
@@ -15,7 +15,7 @@ shi{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1defa4d..bb15535 100644 (file)
@@ -17,7 +17,7 @@ shi_Latn{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b77a991..f954873 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b7a021d..3cf5602 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59e1f95..3db35a6 100644 (file)
@@ -219,7 +219,7 @@ si{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b716329..7dbc7f5 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 73944ff..d86a06a 100644 (file)
@@ -287,7 +287,7 @@ sk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1582,6 +1582,13 @@ sk{
         }\r
         day-narrow{\r
             dn{"d."}\r
+            relative{\r
+                "-1"{"včera"}\r
+                "-2"{"predvčerom"}\r
+                "0"{"dnes"}\r
+                "1"{"zajtra"}\r
+                "2"{"pozajtra"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"o {0} d."}\r
@@ -1599,6 +1606,13 @@ sk{
         }\r
         day-short{\r
             dn{"d."}\r
+            relative{\r
+                "-1"{"včera"}\r
+                "-2"{"predvčerom"}\r
+                "0"{"dnes"}\r
+                "1"{"zajtra"}\r
+                "2"{"pozajtra"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     few{"o {0} d."}\r
index e8c63e1..cb0ec3e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d9454ef..3ec35b8 100644 (file)
@@ -287,7 +287,7 @@ sl{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 8d5f82a..a49c3d7 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5af8776..e65548d 100644 (file)
@@ -98,7 +98,7 @@ smn{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8f651d8..14a46d6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5dae29b..6881a8c 100644 (file)
@@ -33,7 +33,7 @@ sn{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8b6a348..f21a12d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b1a3af0..8d5606b 100644 (file)
@@ -30,7 +30,7 @@ so{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8436049..e588bd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 20a9611..9ec088a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e0775cb..42e4910 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 02860c7..52babe4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b027abb..f5c2543 100644 (file)
@@ -220,7 +220,7 @@ sq{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -848,7 +848,7 @@ sq{
         currency_symbols{"simbole monedhash/valutash"}\r
         dash_connector{"vizë lidhëse"}\r
         digits{"shifra"}\r
-        dingbats{"dingbats (shndërrues germash në yje ose figura)"}\r
+        dingbats{"dingbat (shndërrues germash në yje ose figura)"}\r
         divination_symbols{"simbole parashikimi"}\r
         downwards_arrows{"shigjeta për së poshti"}\r
         downwards_upwards_arrows{"shigjeta lart-poshtë"}\r
index 61b9457..1cf4103 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4f32aa8..69a0967 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c0d40dd..b1a42db 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f54c754..dfd4d28 100644 (file)
@@ -234,10 +234,20 @@ sr{
                 timeSeparator{":"}\r
             }\r
         }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"Скрените у {0}. десно."}\r
+            }\r
+            plural{\r
+                few{"{0} сата"}\r
+                one{"{0} сат"}\r
+                other{"{0} сати"}\r
+            }\r
+        }\r
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cffaca2..9604803 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 396340d..21a3a14 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 7d0223f..6f21c0f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0471087..2bafb0f 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index bf69f00..e0de7a7 100644 (file)
@@ -235,10 +235,20 @@ sr_Latn{
                 timeSeparator{":"}\r
             }\r
         }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"Skrenite u {0}. desno."}\r
+            }\r
+            plural{\r
+                few{"{0} sata"}\r
+                one{"{0} sat"}\r
+                other{"{0} sati"}\r
+            }\r
+        }\r
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 1807383..ef898c9 100644 (file)
@@ -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{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index ae7c6c8..f65e4f7 100644 (file)
@@ -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{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index dbfd1b6..7d5d7bb 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 41e9934..e5f7874 100644 (file)
@@ -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{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 4b580d7..faf9129 100644 (file)
@@ -251,7 +251,7 @@ sv{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1839,6 +1839,10 @@ sv{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index f71e3c6..fac9919 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f6765b4..bdc0670 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 365ee3d..a22cce0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c1471f9..27f8383 100644 (file)
@@ -209,7 +209,7 @@ sw{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -864,14 +864,14 @@ sw{
         divination_symbols{"alama za kugawa"}\r
         downwards_arrows{"mishale inayoelekea chini"}\r
         downwards_upwards_arrows{"mishale ya kuwili"}\r
-        east_asian_scripts{"hati za mashariki wa Asia"}\r
+        east_asian_scripts{"hati za mashariki ya Asia"}\r
         emoji{"emoji"}\r
         european_scripts{"hati za Ulaya"}\r
         female{"mwanamke"}\r
         flag{"bendera"}\r
         flags{"bendera"}\r
         food_drink{"vyakula na vinywaji"}\r
-        format{"miundo"}\r
+        format{"muundo"}\r
         format_whitespace{"miundo na sehemu wazi"}\r
         full_width_form_variant{"sehemu za fomu ya upana kamili"}\r
         geometric_shapes{"maumbo ya jiometri"}\r
@@ -884,14 +884,14 @@ sw{
         heart{"moyo"}\r
         historic_scripts{"hati za kihistoria"}\r
         ideographic_desc_characters{"herufi za maelezo ya idiografia"}\r
-        japanese_kana{"herufi za kijapani"}\r
+        japanese_kana{"herufi za kijapani (kana)"}\r
         kanbun{"herufi za kanbun"}\r
-        kanji{"kanji"}\r
+        kanji{"herufi za kijapani (kanji)"}\r
         keycap{"kitufe"}\r
         leftwards_arrows{"mishale inayoelekea kushoto"}\r
         leftwards_rightwards_arrows{"mishale inayoelekea kulia na kushoto"}\r
-        letterlike_symbols{"alama Zinazofanana na Herufi"}\r
-        limited_use{"matumizi machache"}\r
+        letterlike_symbols{"alama zinazofanana na herufi"}\r
+        limited_use{"matumizi finyu"}\r
         male{"mwanamume"}\r
         math_symbols{"alama za hesabu"}\r
         middle_eastern_scripts{"hati za mashariki ya kati"}\r
@@ -929,7 +929,7 @@ sw{
         variant_forms{"maumbo mbalimbali"}\r
         vocalic_jamo{"vibambo vya jamo vya sauti"}\r
         weather{"hali ya hewa"}\r
-        western_asian_scripts{"hati za magharibi wa Asia"}\r
+        western_asian_scripts{"hati za magharibi mwa Asia"}\r
         whitespace{"sehemu wazi"}\r
     }\r
     delimiters{\r
index 69a2b81..fb1e8a0 100644 (file)
@@ -11,7 +11,7 @@ sw_CD{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 9ece8fd..1e2e4dc 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c9c96ae..7c6fc16 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 341bdf9..dad61a6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 00a530f..dba2583 100644 (file)
@@ -236,7 +236,7 @@ ta{
         }\r
         traditional{"taml"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index bb765c8..fbf3f4b 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6704eb0..22cfc01 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4f84bf9..1ca524f 100644 (file)
@@ -10,5 +10,5 @@ ta_MY{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index def1605..d2f6ca6 100644 (file)
@@ -10,5 +10,5 @@ ta_SG{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b8726b1..7e0311e 100644 (file)
@@ -238,7 +238,7 @@ te{
             }\r
         }\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 0ec2d2a..3d27459 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d44e8bf..2c158e6 100644 (file)
@@ -12,7 +12,7 @@ teo{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index eff4185..8b74ef4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b987f93..49f8732 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f18acb8..e51e468 100644 (file)
@@ -34,7 +34,7 @@ tg{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -143,7 +143,7 @@ tg{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    other{"'ҳафтаи' w, Y"}\r
+                    other{"'ҳафтаи' w, y"}\r
                 }\r
             }\r
             dayNames{\r
index 61b6431..57a24e1 100644 (file)
@@ -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{"2.1.36.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index edff03b..8357f3c 100644 (file)
@@ -181,7 +181,7 @@ th{
         minimumGroupingDigits{"1"}\r
         native{"thai"}\r
     }\r
-    Version{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index b06acb6..5a9f501 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7bb06b4..2f1a5da 100644 (file)
@@ -202,7 +202,7 @@ ti{
         native{"latn"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -312,8 +312,8 @@ ti{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    one{"መበል w ሰሙን ናይ Y"}\r
-                    other{"መበል w ሰሙን ናይ Y"}\r
+                    one{"መበል w ሰሙን ናይ y"}\r
+                    other{"መበል w ሰሙን ናይ y"}\r
                 }\r
             }\r
             dayNames{\r
index cd2bb1a..e188463 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f4af622..2bceea1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 232078b..d4e6174 100644 (file)
@@ -166,7 +166,7 @@ to{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e8f96ad..ec50adc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a4eefbe..4eaa10f 100644 (file)
@@ -216,7 +216,7 @@ tr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -412,7 +412,12 @@ tr{
                 "{1} {0}",\r
             }\r
             availableFormats{\r
+                Bh{"B h"}\r
+                Bhm{"B h:mm"}\r
+                Bhms{"B h:mm:ss"}\r
                 E{"ccc"}\r
+                EBhm{"E B h:mm"}\r
+                EBhms{"E B h:mm:ss"}\r
                 EHm{"E HH:mm"}\r
                 EHms{"E HH:mm:ss"}\r
                 Ed{"d E"}\r
@@ -1403,6 +1408,10 @@ tr{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
index fbe5e60..055015e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a805a98..32a0d5c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ddef687..7313d2e 100644 (file)
@@ -40,7 +40,7 @@ tt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -135,7 +135,7 @@ tt{
                 yQQQ{"QQQ, y 'ел'"}\r
                 yQQQQ{"QQQQ, y 'ел'"}\r
                 yw{\r
-                    other{"Y 'елның' w 'атнасы'"}\r
+                    other{"y 'елның' w 'атнасы'"}\r
                 }\r
             }\r
             dayNames{\r
index e9c0a50..b77dfdc 100644 (file)
@@ -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{"2.1.36.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f9f6f07..a269e09 100644 (file)
@@ -17,7 +17,7 @@ twq{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e506ace..90c612f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fe21bfd..a3950a4 100644 (file)
@@ -16,7 +16,7 @@ tzm{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a23008a..571c156 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fb600b7..453ce82 100644 (file)
@@ -142,7 +142,7 @@ ug{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -406,8 +406,8 @@ ug{
                 yQQQ{"y QQQ"}\r
                 yQQQQ{"y QQQQ"}\r
                 yw{\r
-                    one{"Y، w-ھەپتە"}\r
-                    other{"Y، w-ھەپتە"}\r
+                    one{"y، w-ھەپتە"}\r
+                    other{"y، w-ھەپتە"}\r
                 }\r
             }\r
             dayNames{\r
index 6860a05..b0b66b9 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 89a2011..f13b04a 100644 (file)
@@ -288,7 +288,7 @@ uk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -1550,6 +1550,10 @@ uk{
             1,\r
             1,\r
         }\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
     }\r
     delimiters{\r
         alternateQuotationEnd{"“"}\r
index 4e294e0..2db66bc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c9ffc96..d61ba44 100644 (file)
@@ -240,7 +240,7 @@ ur{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -458,7 +458,7 @@ ur{
                 MEd{"E، d/M"}\r
                 MMM{"LLL"}\r
                 MMMEd{"E، d MMM"}\r
-                MMMMd{"MMMM d"}\r
+                MMMMd{"d MMMM"}\r
                 MMMd{"d MMM"}\r
                 Md{"d/M"}\r
                 d{"d"}\r
@@ -592,9 +592,9 @@ ur{
                 "h:mm:ss a z",\r
                 "h:mm:ss a",\r
                 "h:mm a",\r
-                "EEEE, MMMM d, y",\r
-                "MMMM d, y",\r
-                "MMM d, y",\r
+                "EEEE، d MMMM، y",\r
+                "d MMMM، y",\r
+                "d MMM، y",\r
                 "d/M/yy",\r
                 "{1} {0}",\r
                 "{1} {0}",\r
@@ -634,7 +634,7 @@ ur{
                     one{"MMMM کا ہفتہ W"}\r
                     other{"MMMM کا ہفتہ W"}\r
                 }\r
-                MMMMd{"MMMM d"}\r
+                MMMMd{"d MMMM"}\r
                 MMMd{"d MMM"}\r
                 Md{"d/M"}\r
                 d{"d"}\r
@@ -901,7 +901,7 @@ ur{
                 }\r
                 yMMMd{\r
                     M{"d MMM – d MMM، y"}\r
-                    d{"y MMM d–d"}\r
+                    d{"d–d MMM y"}\r
                     y{"d MMM، y – d MMM، y"}\r
                 }\r
                 yMd{\r
index 7355308..49363b1 100644 (file)
@@ -14,7 +14,7 @@ ur_IN{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     fields{\r
         day-narrow{\r
             relativeTime{\r
index 03a7aba..976d070 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 11610ba..af28be3 100644 (file)
@@ -233,7 +233,7 @@ uz{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -439,8 +439,8 @@ uz{
                 yQQQ{"y, QQQ"}\r
                 yQQQQ{"y, QQQQ"}\r
                 yw{\r
-                    one{"Y, w-'hafta'"}\r
-                    other{"Y, w-'hafta'"}\r
+                    one{"y, w-'hafta'"}\r
+                    other{"y, w-'hafta'"}\r
                 }\r
             }\r
             dayNames{\r
@@ -987,6 +987,15 @@ uz{
                 }\r
             }\r
         }\r
+        dayOfYear{\r
+            dn{"yilning kuni"}\r
+        }\r
+        dayOfYear-narrow{\r
+            dn{"yilning kuni"}\r
+        }\r
+        dayOfYear-short{\r
+            dn{"yilning kuni"}\r
+        }\r
         dayperiod{\r
             dn{"TO/TK"}\r
         }\r
index 0bdc86b..56d4ca3 100644 (file)
@@ -28,7 +28,7 @@ uz_Arab{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index e4b7967..c9de0ae 100644 (file)
@@ -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_Arab_AF{\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         default{"persian"}\r
     }\r
index 519a78a..c53606a 100644 (file)
@@ -165,7 +165,7 @@ uz_Cyrl{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0debf66..d2ebe2c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 0069ccc..b465140 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 434f443..656c6eb 100644 (file)
@@ -28,7 +28,7 @@ vai{
         }\r
         native{"vaii"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -125,7 +125,7 @@ vai{
             monthNames{\r
                 format{\r
                     abbreviated{\r
-                        "ê\96¨ê\95ªê\96\83",\r
+                        "ê\96¨ê\96\95ê\94\9e",\r
                         "ꕒꕡ",\r
                         "ꕾꖺ",\r
                         "ꖢꖕ",\r
@@ -136,10 +136,10 @@ vai{
                         "ꕢꕌ",\r
                         "ꕭꖃ",\r
                         "ꔞꘋ",\r
-                        "ê\96¨ê\95ªê\95±",\r
+                        "ê\96¨ê\96\95ê\97\8f",\r
                     }\r
                     wide{\r
-                        "ê\96¨ê\95ªê\96\83 ê\94\9eê\95®",\r
+                        "ê\96¨ê\96\95 ê\95ªê\95´ ê\94\9eê\94\80ê\95®ê\95\8a",\r
                         "ꕒꕡꖝꖕ",\r
                         "ꕾꖺ",\r
                         "ꖢꖕ",\r
@@ -150,12 +150,12 @@ vai{
                         "ꕢꕌ",\r
                         "ꕭꖃ",\r
                         "ꔞꘋꕔꕿ ꕸꖃꗏ",\r
-                        "ê\96¨ê\95ªê\95± ê\97\8fê\95®",\r
+                        "ê\96¨ê\96\95 ê\95ªê\95´ ê\97\8fê\96ºê\95®ê\95\8a",\r
                     }\r
                 }\r
                 stand-alone{\r
                     abbreviated{\r
-                        "ê\96¨ê\95ªê\96\83",\r
+                        "ê\96¨ê\96\95ê\94\9e",\r
                         "ꕒꕡ",\r
                         "ꕾꖺ",\r
                         "ꖢꖕ",\r
@@ -166,10 +166,10 @@ vai{
                         "ꕢꕌ",\r
                         "ꕭꖃ",\r
                         "ꔞꘋ",\r
-                        "ê\96¨ê\95ªê\95±",\r
+                        "ê\96¨ê\96\95ê\97\8f",\r
                     }\r
                     wide{\r
-                        "ê\96¨ê\95ªê\96\83 ê\94\9eê\95®",\r
+                        "ê\96¨ê\96\95 ê\95ªê\95´ ê\94\9eê\94\80ê\95®ê\95\8a",\r
                         "ꕒꕡꖝꖕ",\r
                         "ꕾꖺ",\r
                         "ꖢꖕ",\r
@@ -180,7 +180,7 @@ vai{
                         "ꕢꕌ",\r
                         "ꕭꖃ",\r
                         "ꔞꘋꕔꕿ ꕸꖃꗏ",\r
-                        "ê\96¨ê\95ªê\95± ê\97\8fê\95®",\r
+                        "ê\96¨ê\96\95 ê\95ªê\95´ ê\97\8fê\96ºê\95®ê\95\8a",\r
                     }\r
                 }\r
             }\r
index 49dcdcc..dfb57c5 100644 (file)
@@ -23,7 +23,7 @@ vai_Latn{
         }\r
         native{"vaii"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 59e39ea..45764c5 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9aefce3..6eeedf4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2186dfe..2f73a62 100644 (file)
@@ -182,7 +182,7 @@ vi{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1040,7 +1040,7 @@ vi{
                     "sau CN",\r
                 }\r
                 abbreviated%variant{\r
-                    "BCE",\r
+                    "trước CN",\r
                     "CN",\r
                 }\r
                 narrow{\r
@@ -1052,7 +1052,7 @@ vi{
                     "sau CN",\r
                 }\r
                 wide%variant{\r
-                    "BCE",\r
+                    "trước CN",\r
                     "CN",\r
                 }\r
             }\r
@@ -1611,6 +1611,12 @@ vi{
         western_asian_scripts{"chữ viết Tây Á"}\r
         whitespace{"dấu cách"}\r
     }\r
+    contextTransforms{\r
+        typographicNames:intvector{\r
+            1,\r
+            1,\r
+        }\r
+    }\r
     delimiters{\r
         alternateQuotationEnd{"’"}\r
         alternateQuotationStart{"‘"}\r
@@ -2275,6 +2281,9 @@ vi{
         weekday{\r
             dn{"ngày trong tuần"}\r
         }\r
+        weekday-narrow{\r
+            dn{"ngày trong tuần"}\r
+        }\r
         weekday-short{\r
             dn{"ngày trong tuần"}\r
         }\r
index 43b4da3..61a2cbc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 42c4678..dee84f3 100644 (file)
@@ -11,7 +11,7 @@ vun{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b6e01ac..42c7151 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0a7c13e..0141a40 100644 (file)
@@ -16,7 +16,7 @@ wae{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 67f3676..40b53a4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b59dffb..56c4412 100644 (file)
@@ -35,7 +35,7 @@ wo{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 55522df..1747a8d 100644 (file)
@@ -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{"2.1.36.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 841dc76..a1bc105 100644 (file)
@@ -10,7 +10,7 @@ xog{
             }\r
         }\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 21ab0f7..6471ef2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 219c17c..8138a7a 100644 (file)
@@ -22,7 +22,7 @@ yav{
             }\r
         }\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7a57c8e..065754a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2c49f30..ba4085c 100644 (file)
@@ -29,7 +29,7 @@ yi{
         native{"latn"}\r
         traditional{"hebr"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c45325b..1d200a2 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9018b97..4a22cd3 100644 (file)
@@ -36,7 +36,7 @@ yo{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -154,7 +154,7 @@ yo{
                 yQQQ{"QQQ y"}\r
                 yQQQQ{"QQQQ y"}\r
                 yw{\r
-                    other{"'week' w 'of' Y"}\r
+                    other{"'week' w 'of' y"}\r
                 }\r
             }\r
             dayNames{\r
index 55a6fdf..52d9286 100644 (file)
@@ -5,7 +5,7 @@ yo_BJ{
         "[a á à b d e é è ɛ {ɛ\u0301} {ɛ\u0300} f g {gb} h i í ì j k l m n o ó ò ɔ {ɔ"\r
         "\u0301} {ɔ\u0300} p r s {sh} t u ú ù w y]"\r
     }\r
-    Version{"2.1.37.9"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index ef97b8c..94e07af 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5a8ccd5..1355959 100644 (file)
@@ -118,7 +118,7 @@ yue{
             patternsLong{\r
                 decimalFormat{\r
                     1000{\r
-                        other{"0"}\r
+                        other{"0"}\r
                     }\r
                     10000{\r
                         other{"0萬"}\r
@@ -158,7 +158,7 @@ yue{
             patternsShort{\r
                 currencyFormat{\r
                     1000{\r
-                        other{"0"}\r
+                        other{"¤0千"}\r
                     }\r
                     10000{\r
                         other{"¤0萬"}\r
@@ -196,7 +196,7 @@ yue{
                 }\r
                 decimalFormat{\r
                     1000{\r
-                        other{"0"}\r
+                        other{"0"}\r
                     }\r
                     10000{\r
                         other{"0萬"}\r
@@ -260,7 +260,7 @@ yue{
         native{"hanidec"}\r
         traditional{"hant"}\r
     }\r
-    Version{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -2619,7 +2619,7 @@ yue{
         sign_standard_symbols{"標記/標準符號"}\r
         small_form_variant{"小寫變體"}\r
         smiley{"表情符號"}\r
-        smileys_people{"表情符號人"}\r
+        smileys_people{"表情符號人"}\r
         south_asian_scripts{"南亞字體"}\r
         southeast_asian_scripts{"東南亞字體"}\r
         spacing{"空位"}\r
@@ -2628,7 +2628,7 @@ yue{
         technical_symbols{"技術符號"}\r
         tone_marks{"聲調符號"}\r
         travel{"旅遊"}\r
-        travel_places{"æ\97\85é\81\8aå\92\8cå\9c°é»\9e"}\r
+        travel_places{"æ\97\85é\81\8aå\90\8cå\9c°é»\9e"}\r
         upwards_arrows{"向上箭咀"}\r
         variant_forms{"變化型"}\r
         vocalic_jamo{"元音字母"}\r
index ed59e46..f3e6017 100644 (file)
@@ -258,7 +258,7 @@ yue_Hans{
         native{"hanidec"}\r
         traditional{"hans"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index e8af35a..a33c23f 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 304a460..361cb50 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 39deedb..9047f58 100644 (file)
@@ -32,7 +32,7 @@ zgh{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1d9ed9d..a1fd76a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f9b600f..68fe281 100644 (file)
@@ -825,7 +825,7 @@ zh{
             }\r
         }\r
     }\r
-    Version{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9990427..ef7be71 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index eda72fc..a04123d 100644 (file)
@@ -31,7 +31,7 @@ zh_Hans_HK{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 9b9e201..0a8b3d7 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index fa4a58d..52fa5a7 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index e48f631..1caa1a4 100644 (file)
@@ -1374,7 +1374,7 @@ zh_Hant{
             }\r
         }\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 33c4eae..ed7a37e 100644 (file)
@@ -91,7 +91,7 @@ zh_Hant_HK{
             }\r
         }\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         buddhist{\r
             availableFormats{\r
index 9589854..43c2f1f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 365603b..72f9cea 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 61b5a7e..5bd704c 100644 (file)
@@ -216,7 +216,7 @@ zu{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -1776,6 +1776,10 @@ zu{
                 "[,،٫、︐︑﹐﹑,、]",\r
                 "[+⁺₊➕﬩﹢+]",\r
             }\r
+            stricter{\r
+                "[,٫︐﹐,]",\r
+                "[.․﹒.。]",\r
+            }\r
         }\r
     }\r
 }\r
index 1db9f3a..d0ab83f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 773835f..5f27966 100644 (file)
 \r
 ##############################################################################\r
 # Keep the following in sync with the version - see common/unicode/uvernum.h\r
-U_ICUDATA_NAME=icudt60\r
+U_ICUDATA_NAME=icudt61\r
 ##############################################################################\r
 !IF "$(UWP)" == "UWP"\r
 # Optionally change the name of the data file for the UWP version.\r
-U_ICUDATA_NAME=icudt60\r
+U_ICUDATA_NAME=icudt61\r
 !ENDIF\r
 U_ICUDATA_ENDIAN_SUFFIX=l\r
 UNICODE_VERSION=10.0\r
@@ -38,7 +38,7 @@ ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
 \r
 ICUOUT=$(ICUMAKE)\out\r
 \r
-#  the prefix "icudt21_" for use in filenames\r
+#  the prefix "icudt61_" for use in filenames\r
 ICUPKG=$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX)\r
 \r
 # need to nuke \\ for .NET...\r
index ef96f40..14a3d38 100644 (file)
@@ -1,28 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <ItemGroup Label="ProjectConfigurations">\r
-    <ProjectConfiguration Include="Debug|Win32">\r
-      <Configuration>Debug</Configuration>\r
-      <Platform>Win32</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Debug|x64">\r
-      <Configuration>Debug</Configuration>\r
-      <Platform>x64</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Release|Win32">\r
-      <Configuration>Release</Configuration>\r
-      <Platform>Win32</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Release|x64">\r
-      <Configuration>Release</Configuration>\r
-      <Platform>x64</Platform>\r
-    </ProjectConfiguration>\r
-  </ItemGroup>\r
+  <!-- The following import will include the 'default' configuration options for VS projects. -->\r
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />\r
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{D9DF7F2F-93B7-4810-B5CD-96F4F33C079B}</ProjectGuid>\r
     <Keyword>MakeFileProj</Keyword>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
     <ConfigurationType>Makefile</ConfigurationType>\r
     <UseOfMfc>false</UseOfMfc>\r
   </PropertyGroup>\r
index 49eac76..c14da3c 100644 (file)
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <!-- The following import will include the 'default' configuration options for VS UWP projects. -->\r
+  <Import Project="..\allinone\Build.Windows.UWP.ProjectConfiguration.props" />\r
   <ItemGroup Label="ProjectConfigurations">\r
     <ProjectConfiguration Include="Debug|Win32">\r
       <Configuration>Debug</Configuration>\r
     <ProjectGuid>{B1D53358-37BD-48BC-B27C-68BAF1E78508}</ProjectGuid>\r
     <Keyword>MakeFileProj</Keyword>\r
     <DefaultLanguage>en-US</DefaultLanguage>\r
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>\r
-    <AppContainerApplication>true</AppContainerApplication>\r
-    <ApplicationType>Windows Store</ApplicationType>\r
-    <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>\r
-    <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>\r
-    <ApplicationTypeRevision>10.0</ApplicationTypeRevision>\r
     <ConfigurationType>Makefile</ConfigurationType>\r
     <UseOfMfc>false</UseOfMfc>\r
   </PropertyGroup>\r
index 8180839..a7bbe78 100644 (file)
@@ -1,4 +1,4 @@
-//---------------------------------------------------------\r
+//---------------------------------------------------------\r
 // Copyright (C) 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html\r
 //---------------------------------------------------------\r
@@ -6,7 +6,7 @@
 // Corporation and others.  All Rights Reserved.\r
 //---------------------------------------------------------\r
 // Build tool: com.ibm.icu.dev.tool.currency.NumericCodeData\r
-// Build date: 2017-09-28T21:49:02Z\r
+// Build date: 2018-03-06T17:38:16Z\r
 //---------------------------------------------------------\r
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<\r
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<\r
@@ -179,6 +179,7 @@ currencyNumericCodes:table(nofallback){
         MNT:int{496}\r
         MOP:int{446}\r
         MRO:int{478}\r
+        MRU:int{929}\r
         MTL:int{470}\r
         MTP:int{470}\r
         MUR:int{480}\r
@@ -239,6 +240,7 @@ currencyNumericCodes:table(nofallback){
         SRG:int{740}\r
         SSP:int{728}\r
         STD:int{678}\r
+        STN:int{930}\r
         SUR:int{810}\r
         SVC:int{222}\r
         SYP:int{760}\r
index d4c9ece..be59cb2 100644 (file)
@@ -8,6 +8,6 @@
 // ***************************************************************************\r
 \r
 icuver:table(nofallback){ \r
-    DataVersion { "59.1.0.0" }\r
-    ICUVersion  { "59.1.0.0" }\r
+    DataVersion { "61.1.0.0" }\r
+    ICUVersion  { "61.1.0.0" }\r
 }\r
index d7741b7..488261a 100644 (file)
@@ -335,6 +335,7 @@ keyTypeData:table(nofallback){
             mnt{""}\r
             mop{""}\r
             mro{""}\r
+            mru{""}\r
             mtl{""}\r
             mtp{""}\r
             mur{""}\r
index 326b7af..85ada1d 100644 (file)
@@ -1576,7 +1576,7 @@ likelySubtags:table(nofallback){
     und_Plrd{"hmd_Plrd_CN"}\r
     und_Prti{"xpr_Prti_IR"}\r
     und_QA{"ar_Arab_QA"}\r
-    und_QO{"en_Latn_IO"}\r
+    und_QO{"en_Latn_DG"}\r
     und_RE{"fr_Latn_RE"}\r
     und_RO{"ro_Latn_RO"}\r
     und_RS{"sr_Cyrl_RS"}\r
index 1dfc342..21c3826 100644 (file)
@@ -131,11 +131,11 @@ metaZones:table(nofallback){
             001{"America/Halifax"}\r
             AG{"America/Antigua"}\r
             AI{"America/Anguilla"}\r
-            AN{"America/Curacao"}\r
             AW{"America/Aruba"}\r
             BB{"America/Barbados"}\r
             BM{"Atlantic/Bermuda"}\r
             BQ{"America/Kralendijk"}\r
+            CW{"America/Curacao"}\r
             DM{"America/Dominica"}\r
             GD{"America/Grenada"}\r
             GL{"America/Thule"}\r
@@ -344,7 +344,6 @@ metaZones:table(nofallback){
             SH{"Atlantic/St_Helena"}\r
             SL{"Africa/Freetown"}\r
             SN{"Africa/Dakar"}\r
-            ST{"Africa/Sao_Tome"}\r
             TG{"Africa/Lome"}\r
         }\r
         Galapagos{\r
@@ -1030,6 +1029,13 @@ metaZones:table(nofallback){
         "Africa:Sao_Tome"{\r
             {\r
                 "GMT",\r
+                "1970-01-01 00:00",\r
+                "2018-01-01 01:00",\r
+            }\r
+            {\r
+                "Africa_Western",\r
+                "2018-01-01 01:00",\r
+                "9999-12-31 23:59",\r
             }\r
         }\r
         "Africa:Tripoli"{\r
index b5cd3f8..86513f0 100644 (file)
@@ -199,6 +199,10 @@ metadata:table(nofallback){
                 reason{"macrolanguage"}\r
                 replacement{"zh"}\r
             }\r
+            cnr{\r
+                reason{"legacy"}\r
+                replacement{"sr_ME"}\r
+            }\r
             cor{\r
                 reason{"overlong"}\r
                 replacement{"kw"}\r
@@ -1355,6 +1359,130 @@ metadata:table(nofallback){
             }\r
         }\r
         subdivision{\r
+            cn11{\r
+                reason{"deprecated"}\r
+                replacement{"cnbj"}\r
+            }\r
+            cn12{\r
+                reason{"deprecated"}\r
+                replacement{"cntj"}\r
+            }\r
+            cn13{\r
+                reason{"deprecated"}\r
+                replacement{"cnhe"}\r
+            }\r
+            cn14{\r
+                reason{"deprecated"}\r
+                replacement{"cnsx"}\r
+            }\r
+            cn15{\r
+                reason{"deprecated"}\r
+                replacement{"cnmn"}\r
+            }\r
+            cn21{\r
+                reason{"deprecated"}\r
+                replacement{"cnln"}\r
+            }\r
+            cn22{\r
+                reason{"deprecated"}\r
+                replacement{"cnjl"}\r
+            }\r
+            cn23{\r
+                reason{"deprecated"}\r
+                replacement{"cnhl"}\r
+            }\r
+            cn31{\r
+                reason{"deprecated"}\r
+                replacement{"cnsh"}\r
+            }\r
+            cn32{\r
+                reason{"deprecated"}\r
+                replacement{"cnjs"}\r
+            }\r
+            cn33{\r
+                reason{"deprecated"}\r
+                replacement{"cnzj"}\r
+            }\r
+            cn34{\r
+                reason{"deprecated"}\r
+                replacement{"cnah"}\r
+            }\r
+            cn35{\r
+                reason{"deprecated"}\r
+                replacement{"cnfj"}\r
+            }\r
+            cn36{\r
+                reason{"deprecated"}\r
+                replacement{"cnjx"}\r
+            }\r
+            cn37{\r
+                reason{"deprecated"}\r
+                replacement{"cnsd"}\r
+            }\r
+            cn41{\r
+                reason{"deprecated"}\r
+                replacement{"cnha"}\r
+            }\r
+            cn42{\r
+                reason{"deprecated"}\r
+                replacement{"cnhb"}\r
+            }\r
+            cn43{\r
+                reason{"deprecated"}\r
+                replacement{"cnhn"}\r
+            }\r
+            cn44{\r
+                reason{"deprecated"}\r
+                replacement{"cngd"}\r
+            }\r
+            cn45{\r
+                reason{"deprecated"}\r
+                replacement{"cngx"}\r
+            }\r
+            cn46{\r
+                reason{"deprecated"}\r
+                replacement{"cnhi"}\r
+            }\r
+            cn50{\r
+                reason{"deprecated"}\r
+                replacement{"cncq"}\r
+            }\r
+            cn51{\r
+                reason{"deprecated"}\r
+                replacement{"cnsc"}\r
+            }\r
+            cn52{\r
+                reason{"deprecated"}\r
+                replacement{"cngz"}\r
+            }\r
+            cn53{\r
+                reason{"deprecated"}\r
+                replacement{"cnyn"}\r
+            }\r
+            cn54{\r
+                reason{"deprecated"}\r
+                replacement{"cnxz"}\r
+            }\r
+            cn61{\r
+                reason{"deprecated"}\r
+                replacement{"cnsn"}\r
+            }\r
+            cn62{\r
+                reason{"deprecated"}\r
+                replacement{"cngs"}\r
+            }\r
+            cn63{\r
+                reason{"deprecated"}\r
+                replacement{"cnqh"}\r
+            }\r
+            cn64{\r
+                reason{"deprecated"}\r
+                replacement{"cnnx"}\r
+            }\r
+            cn65{\r
+                reason{"deprecated"}\r
+                replacement{"cnxj"}\r
+            }\r
             cn71{\r
                 reason{"overlong"}\r
                 replacement{"TW"}\r
@@ -1367,10 +1495,94 @@ metadata:table(nofallback){
                 reason{"overlong"}\r
                 replacement{"MO"}\r
             }\r
+            cnhk{\r
+                reason{"overlong"}\r
+                replacement{"HK"}\r
+            }\r
+            cnmo{\r
+                reason{"overlong"}\r
+                replacement{"MO"}\r
+            }\r
+            cntw{\r
+                reason{"overlong"}\r
+                replacement{"TW"}\r
+            }\r
+            cz10a{\r
+                reason{"deprecated"}\r
+                replacement{"cz110"}\r
+            }\r
+            cz10b{\r
+                reason{"deprecated"}\r
+                replacement{"cz111"}\r
+            }\r
+            cz10c{\r
+                reason{"deprecated"}\r
+                replacement{"cz112"}\r
+            }\r
+            cz10d{\r
+                reason{"deprecated"}\r
+                replacement{"cz113"}\r
+            }\r
+            cz10e{\r
+                reason{"deprecated"}\r
+                replacement{"cz114"}\r
+            }\r
+            cz10f{\r
+                reason{"deprecated"}\r
+                replacement{"cz115"}\r
+            }\r
+            cz611{\r
+                reason{"deprecated"}\r
+                replacement{"cz663"}\r
+            }\r
+            cz612{\r
+                reason{"deprecated"}\r
+                replacement{"cz632"}\r
+            }\r
+            cz613{\r
+                reason{"deprecated"}\r
+                replacement{"cz633"}\r
+            }\r
+            cz614{\r
+                reason{"deprecated"}\r
+                replacement{"cz634"}\r
+            }\r
+            cz615{\r
+                reason{"deprecated"}\r
+                replacement{"cz635"}\r
+            }\r
+            cz621{\r
+                reason{"deprecated"}\r
+                replacement{"cz641"}\r
+            }\r
+            cz622{\r
+                reason{"deprecated"}\r
+                replacement{"cz642"}\r
+            }\r
+            cz623{\r
+                reason{"deprecated"}\r
+                replacement{"cz643"}\r
+            }\r
+            cz624{\r
+                reason{"deprecated"}\r
+                replacement{"cz644"}\r
+            }\r
+            cz626{\r
+                reason{"deprecated"}\r
+                replacement{"cz646"}\r
+            }\r
+            cz627{\r
+                reason{"deprecated"}\r
+                replacement{"cz647"}\r
+            }\r
             czjc{\r
                 reason{"deprecated"}\r
                 replacement{"cz31"}\r
             }\r
+            czjm{\r
+                reason{"deprecated"}\r
+                replacement{"cz64"}\r
+            }\r
             czka{\r
                 reason{"deprecated"}\r
                 replacement{"cz41"}\r
@@ -1399,6 +1611,10 @@ metadata:table(nofallback){
                 reason{"deprecated"}\r
                 replacement{"cz32"}\r
             }\r
+            czpr{\r
+                reason{"deprecated"}\r
+                replacement{"cz10"}\r
+            }\r
             czst{\r
                 reason{"deprecated"}\r
                 replacement{"cz20"}\r
@@ -1407,6 +1623,10 @@ metadata:table(nofallback){
                 reason{"deprecated"}\r
                 replacement{"cz42"}\r
             }\r
+            czvy{\r
+                reason{"deprecated"}\r
+                replacement{"cz63"}\r
+            }\r
             czzl{\r
                 reason{"deprecated"}\r
                 replacement{"cz72"}\r
@@ -4445,6 +4665,7 @@ metadata:table(nofallback){
         "sah_RU",\r
         "saq_KE",\r
         "sbp_TZ",\r
+        "scn_IT",\r
         "sd_PK",\r
         "sdh_IR",\r
         "se_NO",\r
index 2763293..ab1baa5 100644 (file)
@@ -149,6 +149,7 @@ plurals:table(nofallback){
         rwk{"set8"}\r
         sah{"set0"}\r
         saq{"set8"}\r
+        scn{"set4"}\r
         sd{"set8"}\r
         sdh{"set8"}\r
         se{"set16"}\r
@@ -278,6 +279,7 @@ plurals:table(nofallback){
         ro{"set37"}\r
         root{"set35"}\r
         ru{"set35"}\r
+        scn{"set44"}\r
         sd{"set35"}\r
         sh{"set35"}\r
         si{"set35"}\r
@@ -329,14 +331,14 @@ plurals:table(nofallback){
         }\r
         set11{\r
             one{\r
-                "v = 0 and i % 10 = 1 or f % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 6"\r
-                "1, 71, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1,"\r
-                " 10.1, 100.1, 1000.1, …"\r
+                "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != "\r
+                "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1"\r
+                ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …"\r
             }\r
             other{\r
-                " @integer 0, 2~10, 12~17, 100, 1000, 10000, 100000, 1000000, … @deci"\r
-                "mal 0.0, 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1"\r
-                "000000.0, …"\r
+                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"\r
+                ", 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000."\r
+                "0, …"\r
             }\r
         }\r
         set12{\r
index 1ac5498..32d4967 100644 (file)
@@ -1841,7 +1841,7 @@ supplementalData:table(nofallback){
             "islamic-tbla",\r
         }\r
     }\r
-    cldrVersion{"32.0.1"}\r
+    cldrVersion{"33"}\r
     codeMappings{\r
         {\r
             "AA",\r
@@ -3753,6 +3753,10 @@ supplementalData:table(nofallback){
             "478",\r
         }\r
         {\r
+            "MRU",\r
+            "929",\r
+        }\r
+        {\r
             "MUR",\r
             "480",\r
         }\r
@@ -3905,6 +3909,10 @@ supplementalData:table(nofallback){
             "678",\r
         }\r
         {\r
+            "STN",\r
+            "930",\r
+        }\r
+        {\r
             "SYP",\r
             "760",\r
         }\r
@@ -4171,6 +4179,7 @@ supplementalData:table(nofallback){
                 "SIT",\r
                 "SKK",\r
                 "SRG",\r
+                "STD",\r
                 "SUR",\r
                 "SVC",\r
                 "TJR",\r
@@ -4338,7 +4347,7 @@ supplementalData:table(nofallback){
                 "SOS",\r
                 "SRD",\r
                 "SSP",\r
-                "STD",\r
+                "STN",\r
                 "SYP",\r
                 "SZL",\r
                 "THB",\r
@@ -4383,6 +4392,7 @@ supplementalData:table(nofallback){
                 "bxr",\r
                 "cld",\r
                 "cmn",\r
+                "cnr",\r
                 "cwd",\r
                 "dgo",\r
                 "dhd",\r
@@ -10798,6 +10808,7 @@ supplementalData:table(nofallback){
                 "hsistemo",\r
                 "ijekavsk",\r
                 "itihasa",\r
+                "ivanchov",\r
                 "jauer",\r
                 "jyutping",\r
                 "kkcor",\r
@@ -19384,40 +19395,40 @@ supplementalData:table(nofallback){
             "cmsw",\r
         }\r
         CN{\r
-            "cn11",\r
-            "cn12",\r
-            "cn13",\r
-            "cn14",\r
-            "cn15",\r
-            "cn21",\r
-            "cn22",\r
-            "cn23",\r
-            "cn31",\r
-            "cn32",\r
-            "cn33",\r
-            "cn34",\r
-            "cn35",\r
-            "cn36",\r
-            "cn37",\r
-            "cn41",\r
-            "cn42",\r
-            "cn43",\r
-            "cn44",\r
-            "cn45",\r
-            "cn46",\r
-            "cn50",\r
-            "cn51",\r
-            "cn52",\r
-            "cn53",\r
-            "cn54",\r
-            "cn61",\r
-            "cn62",\r
-            "cn63",\r
-            "cn64",\r
-            "cn65",\r
-            "cn71",\r
-            "cn91",\r
-            "cn92",\r
+            "cnah",\r
+            "cnbj",\r
+            "cncq",\r
+            "cnfj",\r
+            "cngd",\r
+            "cngs",\r
+            "cngx",\r
+            "cngz",\r
+            "cnha",\r
+            "cnhb",\r
+            "cnhe",\r
+            "cnhi",\r
+            "cnhk",\r
+            "cnhl",\r
+            "cnhn",\r
+            "cnjl",\r
+            "cnjs",\r
+            "cnjx",\r
+            "cnln",\r
+            "cnmo",\r
+            "cnnm",\r
+            "cnnx",\r
+            "cnqh",\r
+            "cnsc",\r
+            "cnsd",\r
+            "cnsh",\r
+            "cnsn",\r
+            "cnsx",\r
+            "cntj",\r
+            "cntw",\r
+            "cnxj",\r
+            "cnxz",\r
+            "cnyn",\r
+            "cnzj",\r
         }\r
         CO{\r
             "coama",\r
@@ -20371,6 +20382,7 @@ supplementalData:table(nofallback){
             "kp09",\r
             "kp10",\r
             "kp13",\r
+            "kp14",\r
         }\r
         KR{\r
             "kr11",\r
@@ -20939,6 +20951,8 @@ supplementalData:table(nofallback){
             "ml6",\r
             "ml7",\r
             "ml8",\r
+            "ml9",\r
+            "ml10",\r
             "mlbko",\r
         }\r
         MM{\r
@@ -21547,6 +21561,7 @@ supplementalData:table(nofallback){
             "qakh",\r
             "qams",\r
             "qara",\r
+            "qash",\r
             "qaus",\r
             "qawa",\r
             "qaza",\r
@@ -24380,6 +24395,7 @@ supplementalData:table(nofallback){
             "ug122",\r
             "ug123",\r
             "ug124",\r
+            "ug125",\r
         }\r
         uge{\r
             "ug201",\r
@@ -24414,6 +24430,8 @@ supplementalData:table(nofallback){
             "ug230",\r
             "ug231",\r
             "ug232",\r
+            "ug233",\r
+            "ug234",\r
         }\r
         ugn{\r
             "ug301",\r
@@ -24446,6 +24464,8 @@ supplementalData:table(nofallback){
             "ug328",\r
             "ug329",\r
             "ug330",\r
+            "ug331",\r
+            "ug332",\r
         }\r
         ugw{\r
             "ug401",\r
@@ -24474,6 +24494,11 @@ supplementalData:table(nofallback){
             "ug424",\r
             "ug425",\r
             "ug426",\r
+            "ug427",\r
+            "ug428",\r
+            "ug429",\r
+            "ug430",\r
+            "ug431",\r
         }\r
     }\r
     telephoneCodeData{\r
@@ -25801,11 +25826,13 @@ supplementalData:table(nofallback){
             "AR",\r
             "BO",\r
             "BR",\r
+            "BV",\r
             "CL",\r
             "CO",\r
             "EC",\r
             "FK",\r
             "GF",\r
+            "GS",\r
             "GY",\r
             "PE",\r
             "PY",\r
@@ -25854,6 +25881,7 @@ supplementalData:table(nofallback){
             "DJ",\r
             "ER",\r
             "ET",\r
+            "IO",\r
             "KE",\r
             "KM",\r
             "MG",\r
@@ -25998,6 +26026,9 @@ supplementalData:table(nofallback){
         }\r
         053{\r
             "AU",\r
+            "CC",\r
+            "CX",\r
+            "HM",\r
             "NF",\r
             "NZ",\r
         }\r
@@ -26016,6 +26047,7 @@ supplementalData:table(nofallback){
             "MP",\r
             "NR",\r
             "PW",\r
+            "UM",\r
         }\r
         061{\r
             "AS",\r
@@ -26060,6 +26092,7 @@ supplementalData:table(nofallback){
             "QA",\r
             "SA",\r
             "SY",\r
+            "TF",\r
             "TR",\r
             "YE",\r
         }\r
@@ -26112,14 +26145,6 @@ supplementalData:table(nofallback){
         }\r
         QO{\r
             "AQ",\r
-            "BV",\r
-            "CC",\r
-            "CX",\r
-            "GS",\r
-            "HM",\r
-            "IO",\r
-            "TF",\r
-            "UM",\r
             "AC",\r
             "CP",\r
             "DG",\r
@@ -26174,7 +26199,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49990000}\r
             }\r
             territoryF:intvector{\r
-                57404600,\r
+                57418000,\r
                 49990000,\r
                 52940000,\r
             }\r
@@ -26214,7 +26239,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48290000}\r
             }\r
             territoryF:intvector{\r
-                61667200,\r
+                61691900,\r
                 49900000,\r
                 56607248,\r
             }\r
@@ -26246,7 +26271,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49430000}\r
             }\r
             territoryF:intvector{\r
-                60640800,\r
+                60695100,\r
                 49281000,\r
                 57341248,\r
             }\r
@@ -26271,7 +26296,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48170000}\r
             }\r
             territoryF:intvector{\r
-                59217100,\r
+                59239000,\r
                 49990000,\r
                 54947310,\r
             }\r
@@ -26299,7 +26324,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                60339000,\r
+                60358700,\r
                 49968000,\r
                 56304799,\r
             }\r
@@ -26316,7 +26341,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48330000}\r
             }\r
             territoryF:intvector{\r
-                60263000,\r
+                60272100,\r
                 49996000,\r
                 56304519,\r
             }\r
@@ -26334,7 +26359,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49670000}\r
             }\r
             territoryF:intvector{\r
-                61189000,\r
+                61192000,\r
                 49704000,\r
                 57293103,\r
             }\r
@@ -26344,7 +26369,7 @@ supplementalData:table(nofallback){
         }\r
         AQ{\r
             territoryF:intvector{\r
-                57170500,\r
+                57177800,\r
                 49990000,\r
                 52300000,\r
             }\r
@@ -26367,7 +26392,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46470000}\r
             }\r
             territoryF:intvector{\r
-                61879400,\r
+                61911500,\r
                 49979000,\r
                 57442933,\r
             }\r
@@ -26417,7 +26442,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47370000}\r
             }\r
             territoryF:intvector{\r
-                61416600,\r
+                61434100,\r
                 49980000,\r
                 56875441,\r
             }\r
@@ -26431,7 +26456,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48190000}\r
             }\r
             territoryF:intvector{\r
-                62118900,\r
+                62123500,\r
                 49990000,\r
                 57232324,\r
             }\r
@@ -26484,7 +26509,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47240000}\r
             }\r
             territoryF:intvector{\r
-                61167900,\r
+                61166800,\r
                 49998000,\r
                 56996140,\r
             }\r
@@ -26525,7 +26550,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60425300,\r
+                60438500,\r
                 49980000,\r
                 56385618,\r
             }\r
@@ -26536,7 +26561,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                59480400,\r
+                59491900,\r
                 49997000,\r
                 55292336,\r
             }\r
@@ -26573,7 +26598,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                61628400,\r
+                61686500,\r
                 49577000,\r
                 58157827,\r
             }\r
@@ -26595,7 +26620,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49550000}\r
             }\r
             territoryF:intvector{\r
-                61508600,\r
+                61526400,\r
                 49990000,\r
                 57114913,\r
             }\r
@@ -26619,7 +26644,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49400000}\r
             }\r
             territoryF:intvector{\r
-                60329900,\r
+                60356800,\r
                 49287000,\r
                 57201075,\r
             }\r
@@ -26639,7 +26664,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49230000}\r
             }\r
             territoryF:intvector{\r
-                61143100,\r
+                61152400,\r
                 49984000,\r
                 56710151,\r
             }\r
@@ -26656,7 +26681,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48330000}\r
             }\r
             territoryF:intvector{\r
-                60663700,\r
+                60697700,\r
                 49946000,\r
                 56141094,\r
             }\r
@@ -26678,7 +26703,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46550000}\r
             }\r
             territoryF:intvector{\r
-                59789200,\r
+                59798500,\r
                 49672000,\r
                 57114668,\r
             }\r
@@ -26692,7 +26717,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49350000}\r
             }\r
             territoryF:intvector{\r
-                60243100,\r
+                60252900,\r
                 49424000,\r
                 57110388,\r
             }\r
@@ -26735,7 +26760,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60337300,\r
+                60329100,\r
                 49954000,\r
                 55443593,\r
             }\r
@@ -26763,7 +26788,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49320000}\r
             }\r
             territoryF:intvector{\r
-                60783500,\r
+                60835000,\r
                 49912000,\r
                 57111382,\r
             }\r
@@ -26812,7 +26837,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49910000}\r
             }\r
             territoryF:intvector{\r
-                62308100,\r
+                62321900,\r
                 49904000,\r
                 58207353,\r
             }\r
@@ -26829,7 +26854,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                59906600,\r
+                59933900,\r
                 49956000,\r
                 55329988,\r
             }\r
@@ -26849,7 +26874,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49170000}\r
             }\r
             territoryF:intvector{\r
-                59643200,\r
+                59701100,\r
                 49528000,\r
                 55758288,\r
             }\r
@@ -26859,7 +26884,7 @@ supplementalData:table(nofallback){
         }\r
         BV{\r
             territoryF:intvector{\r
-                54430400,\r
+                54444700,\r
                 49990000,\r
                 50100000,\r
             }\r
@@ -26876,7 +26901,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49810000}\r
             }\r
             territoryF:intvector{\r
-                60359000,\r
+                60395500,\r
                 49851000,\r
                 56221486,\r
             }\r
@@ -26895,7 +26920,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49120000}\r
             }\r
             territoryF:intvector{\r
-                61165400,\r
+                61175900,\r
                 49996000,\r
                 56954975,\r
             }\r
@@ -26909,7 +26934,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49280000}\r
             }\r
             territoryF:intvector{\r
-                59308800,\r
+                59323000,\r
                 49769000,\r
                 55360346,\r
             }\r
@@ -26993,7 +27018,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{45350000}\r
             }\r
             territoryF:intvector{\r
-                62167400,\r
+                62176400,\r
                 49990000,\r
                 57356237,\r
             }\r
@@ -27010,7 +27035,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49830000}\r
             }\r
             territoryF:intvector{\r
-                57305000,\r
+                57316800,\r
                 49990000,\r
                 52596000,\r
             }\r
@@ -27046,7 +27071,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49500000}\r
             }\r
             territoryF:intvector{\r
-                60660100,\r
+                60679900,\r
                 49668000,\r
                 57833012,\r
             }\r
@@ -27064,7 +27089,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49490000}\r
             }\r
             territoryF:intvector{\r
-                59320600,\r
+                59339500,\r
                 49566000,\r
                 56562512,\r
             }\r
@@ -27078,7 +27103,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48240000}\r
             }\r
             territoryF:intvector{\r
-                60302700,\r
+                60291600,\r
                 49838000,\r
                 56495467,\r
             }\r
@@ -27119,7 +27144,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47290000}\r
             }\r
             territoryF:intvector{\r
-                61496300,\r
+                61516700,\r
                 49990000,\r
                 56823630,\r
             }\r
@@ -27152,7 +27177,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60871200,\r
+                60962700,\r
                 49569000,\r
                 57241848,\r
             }\r
@@ -27180,7 +27205,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49980000}\r
             }\r
             territoryF:intvector{\r
-                61436100,\r
+                61452100,\r
                 49986000,\r
                 57177893,\r
             }\r
@@ -27274,7 +27299,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48140000}\r
             }\r
             territoryF:intvector{\r
-                60772400,\r
+                60815500,\r
                 49713000,\r
                 57249949,\r
             }\r
@@ -27346,7 +27371,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46190000}\r
             }\r
             territoryF:intvector{\r
-                63211400,\r
+                63231200,\r
                 49951000,\r
                 59137930,\r
             }\r
@@ -27384,14 +27409,14 @@ supplementalData:table(nofallback){
                 populationShareF:int{47270000}\r
             }\r
             territoryF:intvector{\r
-                61688000,\r
+                61712500,\r
                 49936000,\r
                 57476985,\r
             }\r
         }\r
         CP{\r
             territoryF:intvector{\r
-                54402200,\r
+                54421100,\r
                 49990000,\r
                 50100000,\r
             }\r
@@ -27405,7 +27430,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49950000}\r
             }\r
             territoryF:intvector{\r
-                60792600,\r
+                60852000,\r
                 49963000,\r
                 56493026,\r
             }\r
@@ -27430,7 +27455,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49760000}\r
             }\r
             territoryF:intvector{\r
-                59358300,\r
+                59373400,\r
                 49849000,\r
                 55560899,\r
             }\r
@@ -27459,7 +27484,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49630000}\r
             }\r
             territoryF:intvector{\r
-                58112800,\r
+                58117200,\r
                 49990000,\r
                 53220500,\r
             }\r
@@ -27482,7 +27507,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47220000}\r
             }\r
             territoryF:intvector{\r
-                60292600,\r
+                60311900,\r
                 49987000,\r
                 56122155,\r
             }\r
@@ -27509,7 +27534,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49160000}\r
             }\r
             territoryF:intvector{\r
-                61350900,\r
+                61372600,\r
                 49990000,\r
                 57106747,\r
             }\r
@@ -27592,7 +27617,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                62397900,\r
+                62415000,\r
                 49990000,\r
                 57805940,\r
             }\r
@@ -27609,7 +27634,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49990000}\r
             }\r
             territoryF:intvector{\r
-                57215200,\r
+                57222300,\r
                 49990000,\r
                 52500000,\r
             }\r
@@ -27630,7 +27655,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49410000}\r
             }\r
             territoryF:intvector{\r
-                59334500,\r
+                59364000,\r
                 49679000,\r
                 55865267,\r
             }\r
@@ -27661,7 +27686,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49130000}\r
             }\r
             territoryF:intvector{\r
-                61264800,\r
+                61285500,\r
                 49990000,\r
                 56560595,\r
             }\r
@@ -27672,7 +27697,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49940000}\r
             }\r
             territoryF:intvector{\r
-                58812000,\r
+                58851000,\r
                 49940000,\r
                 54738970,\r
             }\r
@@ -27686,7 +27711,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49780000}\r
             }\r
             territoryF:intvector{\r
-                61161900,\r
+                61172600,\r
                 49901000,\r
                 57107342,\r
             }\r
@@ -27711,7 +27736,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48780000}\r
             }\r
             territoryF:intvector{\r
-                61609400,\r
+                61629300,\r
                 49726000,\r
                 57409694,\r
             }\r
@@ -27722,7 +27747,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49980000}\r
             }\r
             territoryF:intvector{\r
-                59517800,\r
+                59542000,\r
                 49977000,\r
                 55150000,\r
             }\r
@@ -27740,7 +27765,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48570000}\r
             }\r
             territoryF:intvector{\r
-                61182400,\r
+                61188500,\r
                 49916000,\r
                 57162909,\r
             }\r
@@ -27760,7 +27785,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49560000}\r
             }\r
             territoryF:intvector{\r
-                60387000,\r
+                60412000,\r
                 49998000,\r
                 56125158,\r
             }\r
@@ -27783,7 +27808,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49350000}\r
             }\r
             territoryF:intvector{\r
-                62110500,\r
+                62119900,\r
                 49739000,\r
                 57970411,\r
             }\r
@@ -27819,7 +27844,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48360000}\r
             }\r
             territoryF:intvector{\r
-                59916900,\r
+                59963100,\r
                 49689000,\r
                 56591892,\r
             }\r
@@ -27859,7 +27884,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48700000}\r
             }\r
             territoryF:intvector{\r
-                62169000,\r
+                62176900,\r
                 49977000,\r
                 57489582,\r
             }\r
@@ -27885,7 +27910,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48600000}\r
             }\r
             territoryF:intvector{\r
-                61174700,\r
+                61195800,\r
                 49390000,\r
                 58105350,\r
             }\r
@@ -27930,7 +27955,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49440000}\r
             }\r
             territoryF:intvector{\r
-                61225700,\r
+                61242400,\r
                 50100000,\r
                 56551837,\r
             }\r
@@ -27955,7 +27980,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47270000}\r
             }\r
             territoryF:intvector{\r
-                59837400,\r
+                59864700,\r
                 49937000,\r
                 55920938,\r
             }\r
@@ -27986,7 +28011,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49230000}\r
             }\r
             territoryF:intvector{\r
-                58314000,\r
+                58347000,\r
                 49890000,\r
                 55104196,\r
             }\r
@@ -28063,7 +28088,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48130000}\r
             }\r
             territoryF:intvector{\r
-                62269900,\r
+                62282600,\r
                 49990000,\r
                 57671062,\r
             }\r
@@ -28077,7 +28102,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48900000}\r
             }\r
             territoryF:intvector{\r
-                60359800,\r
+                60367500,\r
                 49890000,\r
                 56177226,\r
             }\r
@@ -28135,7 +28160,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47510000}\r
             }\r
             territoryF:intvector{\r
-                62278800,\r
+                62288000,\r
                 49990000,\r
                 57647695,\r
             }\r
@@ -28152,7 +28177,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49960000}\r
             }\r
             territoryF:intvector{\r
-                59151100,\r
+                59159000,\r
                 49960000,\r
                 55111724,\r
             }\r
@@ -28180,7 +28205,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48900000}\r
             }\r
             territoryF:intvector{\r
-                60372700,\r
+                60393200,\r
                 49997000,\r
                 56492633,\r
             }\r
@@ -28252,7 +28277,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46150000}\r
             }\r
             territoryF:intvector{\r
-                61120800,\r
+                61130200,\r
                 49715000,\r
                 57274999,\r
             }\r
@@ -28294,7 +28319,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49290000}\r
             }\r
             territoryF:intvector{\r
-                59338700,\r
+                59358200,\r
                 49511000,\r
                 56205136,\r
             }\r
@@ -28320,7 +28345,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49110000}\r
             }\r
             territoryF:intvector{\r
-                60160800,\r
+                60264500,\r
                 49410000,\r
                 57124139,\r
             }\r
@@ -28356,7 +28381,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{44100000}\r
             }\r
             territoryF:intvector{\r
-                60317700,\r
+                60293800,\r
                 49942000,\r
                 55778358,\r
             }\r
@@ -28388,7 +28413,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46930000}\r
             }\r
             territoryF:intvector{\r
-                61290500,\r
+                61299500,\r
                 49973000,\r
                 57107685,\r
             }\r
@@ -28401,7 +28426,7 @@ supplementalData:table(nofallback){
         }\r
         GS{\r
             territoryF:intvector{\r
-                55860900,\r
+                55889300,\r
                 49990000,\r
                 51200000,\r
             }\r
@@ -28420,7 +28445,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48700000}\r
             }\r
             territoryF:intvector{\r
-                61131800,\r
+                61138300,\r
                 49759000,\r
                 57154607,\r
             }\r
@@ -28449,7 +28474,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                59285100,\r
+                59307100,\r
                 49553000,\r
                 56179234,\r
             }\r
@@ -28460,7 +28485,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                59609300,\r
+                59636700,\r
                 49918000,\r
                 55737718,\r
             }\r
@@ -28471,7 +28496,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49510000}\r
             }\r
             territoryF:intvector{\r
-                61427400,\r
+                61453000,\r
                 49935000,\r
                 56719150,\r
             }\r
@@ -28488,7 +28513,7 @@ supplementalData:table(nofallback){
         }\r
         HM{\r
             territoryF:intvector{\r
-                54511800,\r
+                54531600,\r
                 49990000,\r
                 50100000,\r
             }\r
@@ -28506,7 +28531,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49780000}\r
             }\r
             territoryF:intvector{\r
-                60431900,\r
+                60456800,\r
                 49851000,\r
                 56903874,\r
             }\r
@@ -28524,7 +28549,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48160000}\r
             }\r
             territoryF:intvector{\r
-                60942400,\r
+                61100200,\r
                 49989000,\r
                 56429210,\r
             }\r
@@ -28540,7 +28565,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49810000}\r
             }\r
             territoryF:intvector{\r
-                60193400,\r
+                60198800,\r
                 49487000,\r
                 57106467,\r
             }\r
@@ -28572,7 +28597,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46510000}\r
             }\r
             territoryF:intvector{\r
-                61267600,\r
+                61283600,\r
                 49990000,\r
                 56985085,\r
             }\r
@@ -28583,7 +28608,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49980000}\r
             }\r
             territoryF:intvector{\r
-                60724400,\r
+                60758300,\r
                 49977000,\r
                 56209859,\r
             }\r
@@ -28681,7 +28706,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46920000}\r
             }\r
             territoryF:intvector{\r
-                62302800,\r
+                62324300,\r
                 49928000,\r
                 58260581,\r
             }\r
@@ -28702,7 +28727,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49220000}\r
             }\r
             territoryF:intvector{\r
-                61322000,\r
+                61344800,\r
                 49990000,\r
                 56501110,\r
             }\r
@@ -28741,7 +28766,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49110000}\r
             }\r
             territoryF:intvector{\r
-                61297000,\r
+                61315600,\r
                 49971000,\r
                 56829971,\r
             }\r
@@ -29007,7 +29032,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48720000}\r
             }\r
             territoryF:intvector{\r
-                62872100,\r
+                62944700,\r
                 49628000,\r
                 59128194,\r
             }\r
@@ -29042,7 +29067,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                58150700,\r
+                58155600,\r
                 49990000,\r
                 53350000,\r
             }\r
@@ -29073,7 +29098,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47500000}\r
             }\r
             territoryF:intvector{\r
-                61596700,\r
+                61660700,\r
                 49785000,\r
                 57391921,\r
             }\r
@@ -29144,7 +29169,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48370000}\r
             }\r
             territoryF:intvector{\r
-                62145900,\r
+                62163100,\r
                 49850000,\r
                 57820216,\r
             }\r
@@ -29161,7 +29186,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                60161500,\r
+                60177300,\r
                 49990000,\r
                 55339747,\r
             }\r
@@ -29227,7 +29252,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47170000}\r
             }\r
             territoryF:intvector{\r
-                62222100,\r
+                62230700,\r
                 49990000,\r
                 57621378,\r
             }\r
@@ -29255,7 +29280,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49950000}\r
             }\r
             territoryF:intvector{\r
-                60253900,\r
+                60262000,\r
                 49870000,\r
                 56299056,\r
             }\r
@@ -29269,7 +29294,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49450000}\r
             }\r
             territoryF:intvector{\r
-                60861900,\r
+                60890500,\r
                 49959000,\r
                 57102481,\r
             }\r
@@ -29287,7 +29312,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                62493200,\r
+                62540500,\r
                 49990000,\r
                 58126451,\r
             }\r
@@ -29361,7 +29386,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47740000}\r
             }\r
             territoryF:intvector{\r
-                61152700,\r
+                61163400,\r
                 49874000,\r
                 57476157,\r
             }\r
@@ -29376,7 +29401,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49360000}\r
             }\r
             territoryF:intvector{\r
-                60210100,\r
+                60226400,\r
                 49992000,\r
                 56578912,\r
             }\r
@@ -29393,7 +29418,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49890000}\r
             }\r
             territoryF:intvector{\r
-                60589400,\r
+                60642100,\r
                 49739000,\r
                 57162045,\r
             }\r
@@ -29408,7 +29433,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49600000}\r
             }\r
             territoryF:intvector{\r
-                58211000,\r
+                58224000,\r
                 49900000,\r
                 55108145,\r
             }\r
@@ -29423,7 +29448,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49560000}\r
             }\r
             territoryF:intvector{\r
-                59125900,\r
+                59132300,\r
                 49755000,\r
                 55808080,\r
             }\r
@@ -29442,7 +29467,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49980000}\r
             }\r
             territoryF:intvector{\r
-                59142700,\r
+                59152800,\r
                 49978000,\r
                 54527150,\r
             }\r
@@ -29464,7 +29489,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                62192900,\r
+                62202700,\r
                 49979000,\r
                 57511813,\r
             }\r
@@ -29475,7 +29500,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                61301100,\r
+                61302500,\r
                 49939000,\r
                 56287542,\r
             }\r
@@ -29507,7 +29532,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49720000}\r
             }\r
             territoryF:intvector{\r
-                61460700,\r
+                61474300,\r
                 49997000,\r
                 57185567,\r
             }\r
@@ -29527,7 +29552,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49690000}\r
             }\r
             territoryF:intvector{\r
-                60409600,\r
+                60492100,\r
                 49727000,\r
                 56712671,\r
             }\r
@@ -29550,7 +29575,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48160000}\r
             }\r
             territoryF:intvector{\r
-                60851600,\r
+                60878900,\r
                 49896000,\r
                 56622979,\r
             }\r
@@ -29561,7 +29586,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49900000}\r
             }\r
             territoryF:intvector{\r
-                59208300,\r
+                59238400,\r
                 49901000,\r
                 55164994,\r
             }\r
@@ -29598,7 +29623,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49150000}\r
             }\r
             territoryF:intvector{\r
-                61236700,\r
+                61278200,\r
                 49912000,\r
                 57224094,\r
             }\r
@@ -29615,7 +29640,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47480000}\r
             }\r
             territoryF:intvector{\r
-                59388100,\r
+                59390600,\r
                 49608000,\r
                 56468902,\r
             }\r
@@ -29639,7 +29664,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49980000}\r
             }\r
             territoryF:intvector{\r
-                59601900,\r
+                59744800,\r
                 49896000,\r
                 56195804,\r
             }\r
@@ -29668,7 +29693,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{0}\r
             }\r
             territoryF:intvector{\r
-                60856200,\r
+                60906300,\r
                 49997000,\r
                 56282386,\r
             }\r
@@ -29694,7 +29719,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49160000}\r
             }\r
             territoryF:intvector{\r
-                60587400,\r
+                60643900,\r
                 50100000,\r
                 55594130,\r
             }\r
@@ -29714,7 +29739,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49380000}\r
             }\r
             territoryF:intvector{\r
-                60506500,\r
+                60534700,\r
                 49998000,\r
                 56194464,\r
             }\r
@@ -29725,7 +29750,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49740000}\r
             }\r
             territoryF:intvector{\r
-                60908900,\r
+                60631400,\r
                 49895000,\r
                 56665321,\r
             }\r
@@ -29763,7 +29788,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48870000}\r
             }\r
             territoryF:intvector{\r
-                61282800,\r
+                61300100,\r
                 49671000,\r
                 57339867,\r
             }\r
@@ -29802,7 +29827,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48300000}\r
             }\r
             territoryF:intvector{\r
-                60185400,\r
+                60200700,\r
                 49990000,\r
                 56347412,\r
             }\r
@@ -29822,7 +29847,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                60106100,\r
+                60108600,\r
                 49985000,\r
                 55642550,\r
             }\r
@@ -29852,7 +29877,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49900000}\r
             }\r
             territoryF:intvector{\r
-                60368600,\r
+                60398100,\r
                 49645000,\r
                 57250542,\r
             }\r
@@ -29867,7 +29892,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49730000}\r
             }\r
             territoryF:intvector{\r
-                58180000,\r
+                58189000,\r
                 49937000,\r
                 54745390,\r
             }\r
@@ -29882,7 +29907,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49250000}\r
             }\r
             territoryF:intvector{\r
-                60295200,\r
+                60315500,\r
                 49974000,\r
                 56210372,\r
             }\r
@@ -29932,7 +29957,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48590000}\r
             }\r
             territoryF:intvector{\r
-                60380900,\r
+                60409800,\r
                 49334000,\r
                 57178852,\r
             }\r
@@ -29958,7 +29983,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48640000}\r
             }\r
             territoryF:intvector{\r
-                61311100,\r
+                61330900,\r
                 49927000,\r
                 57551238,\r
             }\r
@@ -29975,7 +30000,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47130000}\r
             }\r
             territoryF:intvector{\r
-                60370000,\r
+                60384000,\r
                 49974000,\r
                 56306824,\r
             }\r
@@ -29995,7 +30020,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60632200,\r
+                60735800,\r
                 49956000,\r
                 55601969,\r
             }\r
@@ -30044,7 +30069,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49170000}\r
             }\r
             territoryF:intvector{\r
-                60167100,\r
+                60173700,\r
                 49586000,\r
                 56375857,\r
             }\r
@@ -30079,7 +30104,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                60163200,\r
+                60185300,\r
                 49924000,\r
                 55416338,\r
             }\r
@@ -30103,7 +30128,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48250000}\r
             }\r
             territoryF:intvector{\r
-                60258500,\r
+                60274400,\r
                 49888000,\r
                 56135639,\r
             }\r
@@ -30117,7 +30142,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49940000}\r
             }\r
             territoryF:intvector{\r
-                59540700,\r
+                59689600,\r
                 49984000,\r
                 55392709,\r
             }\r
@@ -30132,7 +30157,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49630000}\r
             }\r
             territoryF:intvector{\r
-                60212000,\r
+                60224700,\r
                 49748000,\r
                 57191962,\r
             }\r
@@ -30170,7 +30195,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{44700000}\r
             }\r
             territoryF:intvector{\r
-                62230700,\r
+                62240600,\r
                 49935000,\r
                 58124575,\r
             }\r
@@ -30208,7 +30233,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48420000}\r
             }\r
             territoryF:intvector{\r
-                61863000,\r
+                61926100,\r
                 49931000,\r
                 57313820,\r
             }\r
@@ -30246,7 +30271,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46350000}\r
             }\r
             territoryF:intvector{\r
-                60350100,\r
+                60373900,\r
                 49561000,\r
                 57265737,\r
             }\r
@@ -30287,7 +30312,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49210000}\r
             }\r
             territoryF:intvector{\r
-                60259900,\r
+                60270200,\r
                 49888000,\r
                 56248478,\r
             }\r
@@ -30324,7 +30349,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49410000}\r
             }\r
             territoryF:intvector{\r
-                60201500,\r
+                60216200,\r
                 49287000,\r
                 57192453,\r
             }\r
@@ -30341,7 +30366,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49760000}\r
             }\r
             territoryF:intvector{\r
-                58113100,\r
+                58117500,\r
                 49990000,\r
                 53221000,\r
             }\r
@@ -30392,7 +30417,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49210000}\r
             }\r
             territoryF:intvector{\r
-                62108900,\r
+                62111800,\r
                 49613000,\r
                 58190632,\r
             }\r
@@ -30411,7 +30436,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49780000}\r
             }\r
             territoryF:intvector{\r
-                60335500,\r
+                60362200,\r
                 49780000,\r
                 56602595,\r
             }\r
@@ -30454,7 +30479,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48120000}\r
             }\r
             territoryF:intvector{\r
-                61870800,\r
+                61915200,\r
                 49990000,\r
                 57170847,\r
             }\r
@@ -30479,7 +30504,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47290000}\r
             }\r
             territoryF:intvector{\r
-                61364700,\r
+                61375900,\r
                 50100000,\r
                 56532005,\r
             }\r
@@ -30557,7 +30582,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47120000}\r
             }\r
             territoryF:intvector{\r
-                60715200,\r
+                60785500,\r
                 49574000,\r
                 57293843,\r
             }\r
@@ -30593,7 +30618,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49710000}\r
             }\r
             territoryF:intvector{\r
-                58150800,\r
+                58159000,\r
                 49990000,\r
                 53964200,\r
             }\r
@@ -30623,7 +30648,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48280000}\r
             }\r
             territoryF:intvector{\r
-                61174800,\r
+                61185700,\r
                 49990000,\r
                 56451033,\r
             }\r
@@ -30640,7 +30665,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47940000}\r
             }\r
             territoryF:intvector{\r
-                61173100,\r
+                61187900,\r
                 49869000,\r
                 56342439,\r
             }\r
@@ -30654,7 +30679,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49690000}\r
             }\r
             territoryF:intvector{\r
-                60931200,\r
+                60994300,\r
                 49941000,\r
                 56375314,\r
             }\r
@@ -30675,7 +30700,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49150000}\r
             }\r
             territoryF:intvector{\r
-                61410400,\r
+                61424600,\r
                 49896000,\r
                 57310367,\r
             }\r
@@ -30709,7 +30734,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60280200,\r
+                60308400,\r
                 49624000,\r
                 56690970,\r
             }\r
@@ -30783,7 +30808,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{45960000}\r
             }\r
             territoryF:intvector{\r
-                61801900,\r
+                61874500,\r
                 49954000,\r
                 58104256,\r
             }\r
@@ -30867,7 +30892,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48910000}\r
             }\r
             territoryF:intvector{\r
-                61988200,\r
+                62105600,\r
                 49549000,\r
                 58204925,\r
             }\r
@@ -30912,7 +30937,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48130000}\r
             }\r
             territoryF:intvector{\r
-                62105200,\r
+                62111100,\r
                 49997000,\r
                 57384763,\r
             }\r
@@ -30940,7 +30965,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49850000}\r
             }\r
             territoryF:intvector{\r
-                56232400,\r
+                56240100,\r
                 49990000,\r
                 51540000,\r
             }\r
@@ -30955,7 +30980,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49870000}\r
             }\r
             territoryF:intvector{\r
-                61131000,\r
+                61127300,\r
                 49903000,\r
                 56335183,\r
             }\r
@@ -30989,7 +31014,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49960000}\r
             }\r
             territoryF:intvector{\r
-                61297100,\r
+                61311300,\r
                 49954000,\r
                 57108395,\r
             }\r
@@ -31004,7 +31029,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49740000}\r
             }\r
             territoryF:intvector{\r
-                58276000,\r
+                58301000,\r
                 49920000,\r
                 54214310,\r
             }\r
@@ -31022,7 +31047,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49800000}\r
             }\r
             territoryF:intvector{\r
-                60646700,\r
+                60680500,\r
                 49939000,\r
                 56694374,\r
             }\r
@@ -31039,7 +31064,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47280000}\r
             }\r
             territoryF:intvector{\r
-                61334500,\r
+                61341700,\r
                 49963000,\r
                 56231431,\r
             }\r
@@ -31094,7 +31119,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47120000}\r
             }\r
             territoryF:intvector{\r
-                61441000,\r
+                61474000,\r
                 49977000,\r
                 57215300,\r
             }\r
@@ -31132,7 +31157,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                61101800,\r
+                61106600,\r
                 49980000,\r
                 56711102,\r
             }\r
@@ -31254,7 +31279,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{45350000}\r
             }\r
             territoryF:intvector{\r
-                62374500,\r
+                62400000,\r
                 49997000,\r
                 58142258,\r
             }\r
@@ -31291,7 +31316,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49770000}\r
             }\r
             territoryF:intvector{\r
-                60219700,\r
+                60246100,\r
                 49711000,\r
                 57119015,\r
             }\r
@@ -31302,7 +31327,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                62173100,\r
+                62178900,\r
                 49872000,\r
                 57285718,\r
             }\r
@@ -31316,7 +31341,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48150000}\r
             }\r
             territoryF:intvector{\r
-                59119800,\r
+                59131700,\r
                 49841000,\r
                 55647581,\r
             }\r
@@ -31334,7 +31359,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49600000}\r
             }\r
             territoryF:intvector{\r
-                59260800,\r
+                59271200,\r
                 49918000,\r
                 54939200,\r
             }\r
@@ -31364,7 +31389,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47990000}\r
             }\r
             territoryF:intvector{\r
-                61176300,\r
+                61186800,\r
                 49719000,\r
                 57373459,\r
             }\r
@@ -31404,7 +31429,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49950000}\r
             }\r
             territoryF:intvector{\r
-                61498100,\r
+                61521700,\r
                 49990000,\r
                 56996049,\r
             }\r
@@ -31432,7 +31457,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48210000}\r
             }\r
             territoryF:intvector{\r
-                61487900,\r
+                61513700,\r
                 49959000,\r
                 56588893,\r
             }\r
@@ -31473,7 +31498,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49870000}\r
             }\r
             territoryF:intvector{\r
-                60683500,\r
+                60703600,\r
                 49997000,\r
                 56197213,\r
             }\r
@@ -31487,7 +31512,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49450000}\r
             }\r
             territoryF:intvector{\r
-                58182800,\r
+                58188400,\r
                 50100000,\r
                 53266700,\r
             }\r
@@ -31513,7 +31538,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49900000}\r
             }\r
             territoryF:intvector{\r
-                61168800,\r
+                61178700,\r
                 49996000,\r
                 56544583,\r
             }\r
@@ -31537,7 +31562,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49260000}\r
             }\r
             territoryF:intvector{\r
-                60106400,\r
+                60117500,\r
                 49433000,\r
                 56616320,\r
             }\r
@@ -31551,7 +31576,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49890000}\r
             }\r
             territoryF:intvector{\r
-                59202300,\r
+                59208300,\r
                 49960000,\r
                 54335370,\r
             }\r
@@ -31610,7 +31635,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49110000}\r
             }\r
             territoryF:intvector{\r
-                60397200,\r
+                60430700,\r
                 49497000,\r
                 57146685,\r
             }\r
@@ -31641,7 +31666,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48200000}\r
             }\r
             territoryF:intvector{\r
-                59471900,\r
+                60174700,\r
                 49378000,\r
                 57110314,\r
             }\r
@@ -31656,7 +31681,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49680000}\r
             }\r
             territoryF:intvector{\r
-                59854700,\r
+                59792800,\r
                 49947000,\r
                 55591919,\r
             }\r
@@ -31676,7 +31701,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48560000}\r
             }\r
             territoryF:intvector{\r
-                60208800,\r
+                60197500,\r
                 49270000,\r
                 57130261,\r
             }\r
@@ -31687,7 +31712,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49850000}\r
             }\r
             territoryF:intvector{\r
-                58694000,\r
+                58682000,\r
                 49695000,\r
                 55201025,\r
             }\r
@@ -31698,7 +31723,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49890000}\r
             }\r
             territoryF:intvector{\r
-                60547900,\r
+                60569000,\r
                 49845000,\r
                 56617201,\r
             }\r
@@ -31759,7 +31784,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49580000}\r
             }\r
             territoryF:intvector{\r
-                60110600,\r
+                60113400,\r
                 49878000,\r
                 56146715,\r
             }\r
@@ -31775,7 +31800,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49990000}\r
             }\r
             territoryF:intvector{\r
-                57118400,\r
+                57122300,\r
                 49990000,\r
                 52275000,\r
             }\r
@@ -31801,7 +31826,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49260000}\r
             }\r
             territoryF:intvector{\r
-                60305900,\r
+                60296400,\r
                 49354000,\r
                 57120760,\r
             }\r
@@ -31812,7 +31837,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                56563100,\r
+                56589600,\r
                 49990000,\r
                 52140000,\r
             }\r
@@ -31830,7 +31855,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48130000}\r
             }\r
             territoryF:intvector{\r
-                60116100,\r
+                60124300,\r
                 49604000,\r
                 56796506,\r
             }\r
@@ -31871,7 +31896,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                62116100,\r
+                62122900,\r
                 49935000,\r
                 57684141,\r
             }\r
@@ -31899,7 +31924,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49120000}\r
             }\r
             territoryF:intvector{\r
-                60258100,\r
+                60276700,\r
                 49997000,\r
                 56846856,\r
             }\r
@@ -31931,7 +31956,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49590000}\r
             }\r
             territoryF:intvector{\r
-                59497500,\r
+                59621100,\r
                 49583000,\r
                 56129136,\r
             }\r
@@ -31948,7 +31973,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49120000}\r
             }\r
             territoryF:intvector{\r
-                60947200,\r
+                61103500,\r
                 49996000,\r
                 56535128,\r
             }\r
@@ -31973,7 +31998,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49740000}\r
             }\r
             territoryF:intvector{\r
-                61130800,\r
+                61135900,\r
                 49791000,\r
                 57114038,\r
             }\r
@@ -31984,7 +32009,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49280000}\r
             }\r
             territoryF:intvector{\r
-                58557000,\r
+                58587000,\r
                 49990000,\r
                 55106479,\r
             }\r
@@ -32053,7 +32078,7 @@ supplementalData:table(nofallback){
                 writingShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                62167000,\r
+                62213300,\r
                 49941000,\r
                 57808452,\r
             }\r
@@ -32080,7 +32105,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47340000}\r
             }\r
             territoryF:intvector{\r
-                60435700,\r
+                60427800,\r
                 49988000,\r
                 56121821,\r
             }\r
@@ -32091,7 +32116,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48970000}\r
             }\r
             territoryF:intvector{\r
-                57390000,\r
+                57420000,\r
                 49950000,\r
                 54110520,\r
             }\r
@@ -32102,7 +32127,7 @@ supplementalData:table(nofallback){
         }\r
         TW{\r
             territoryF:intvector{\r
-                62112700,\r
+                62117500,\r
                 49961000,\r
                 57235084,\r
             }\r
@@ -32165,7 +32190,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49900000}\r
             }\r
             territoryF:intvector{\r
-                61150600,\r
+                61162800,\r
                 49678000,\r
                 57539509,\r
             }\r
@@ -32203,7 +32228,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48120000}\r
             }\r
             territoryF:intvector{\r
-                61352600,\r
+                61366400,\r
                 49997000,\r
                 57440339,\r
             }\r
@@ -32255,7 +32280,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48390000}\r
             }\r
             territoryF:intvector{\r
-                60849300,\r
+                60886100,\r
                 49732000,\r
                 57395701,\r
             }\r
@@ -32272,7 +32297,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                57179600,\r
+                57187300,\r
                 49990000,\r
                 52316000,\r
             }\r
@@ -32341,7 +32366,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{47240000}\r
             }\r
             territoryF:intvector{\r
-                63185600,\r
+                63193600,\r
                 49990000,\r
                 58326626,\r
             }\r
@@ -32361,7 +32386,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49880000}\r
             }\r
             territoryF:intvector{\r
-                60732500,\r
+                60784100,\r
                 49981000,\r
                 56336015,\r
             }\r
@@ -32374,7 +32399,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49140000}\r
             }\r
             territoryF:intvector{\r
-                61202300,\r
+                61221700,\r
                 49994000,\r
                 57297489,\r
             }\r
@@ -32399,7 +32424,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49820000}\r
             }\r
             territoryF:intvector{\r
-                57357400,\r
+                57371300,\r
                 50100000,\r
                 53100000,\r
             }\r
@@ -32410,7 +32435,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49960000}\r
             }\r
             territoryF:intvector{\r
-                59124100,\r
+                59128100,\r
                 49960000,\r
                 55102089,\r
             }\r
@@ -32421,7 +32446,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49820000}\r
             }\r
             territoryF:intvector{\r
-                61468600,\r
+                61389400,\r
                 49955000,\r
                 57313040,\r
             }\r
@@ -32454,7 +32479,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{46890000}\r
             }\r
             territoryF:intvector{\r
-                61594900,\r
+                61643900,\r
                 49934000,\r
                 57961602,\r
             }\r
@@ -32480,7 +32505,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49500000}\r
             }\r
             territoryF:intvector{\r
-                58723000,\r
+                58787000,\r
                 49832000,\r
                 55282814,\r
             }\r
@@ -32512,7 +32537,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{50100000}\r
             }\r
             territoryF:intvector{\r
-                59104600,\r
+                59113000,\r
                 49988000,\r
                 55200108,\r
             }\r
@@ -32534,7 +32559,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48500000}\r
             }\r
             territoryF:intvector{\r
-                60184900,\r
+                60193800,\r
                 49919000,\r
                 56189525,\r
             }\r
@@ -32548,7 +32573,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{48900000}\r
             }\r
             territoryF:intvector{\r
-                60734500,\r
+                60689500,\r
                 49653000,\r
                 57280368,\r
             }\r
@@ -32613,7 +32638,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{45180000}\r
             }\r
             territoryF:intvector{\r
-                61739100,\r
+                61757300,\r
                 49930000,\r
                 57548416,\r
             }\r
@@ -32658,7 +32683,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49150000}\r
             }\r
             territoryF:intvector{\r
-                60651700,\r
+                60689000,\r
                 49614000,\r
                 57159720,\r
             }\r
@@ -32689,7 +32714,7 @@ supplementalData:table(nofallback){
                 populationShareF:int{49810000}\r
             }\r
             territoryF:intvector{\r
-                60283300,\r
+                60338700,\r
                 49836000,\r
                 57138051,\r
             }\r
@@ -35203,7 +35228,7 @@ supplementalData:table(nofallback){
             86400000,\r
         }\r
         BD:intvector{\r
-            6,\r
+            1,\r
             1,\r
             7,\r
             0,\r
index 48c8c17..1640d82 100644 (file)
@@ -212,7 +212,6 @@ windowsZones:table(nofallback){
             KE{"Africa/Nairobi"}\r
             KM{"Indian/Comoro"}\r
             MG{"Indian/Antananarivo"}\r
-            SD{"Africa/Khartoum"}\r
             SO{"Africa/Mogadishu"}\r
             SS{"Africa/Juba"}\r
             TZ{"Africa/Dar_es_Salaam"}\r
@@ -316,7 +315,6 @@ windowsZones:table(nofallback){
             SH{"Atlantic/St_Helena"}\r
             SL{"Africa/Freetown"}\r
             SN{"Africa/Dakar"}\r
-            ST{"Africa/Sao_Tome"}\r
             TG{"Africa/Lome"}\r
         }\r
         "Haiti Standard Time"{\r
@@ -615,6 +613,10 @@ windowsZones:table(nofallback){
             001{"Asia/Colombo"}\r
             LK{"Asia/Colombo"}\r
         }\r
+        "Sudan Standard Time"{\r
+            001{"Africa/Khartoum"}\r
+            SD{"Africa/Khartoum"}\r
+        }\r
         "Syria Standard Time"{\r
             001{"Asia/Damascus"}\r
             SY{"Asia/Damascus"}\r
@@ -744,6 +746,7 @@ windowsZones:table(nofallback){
             GQ{"Africa/Malabo"}\r
             NE{"Africa/Niamey"}\r
             NG{"Africa/Lagos"}\r
+            ST{"Africa/Sao_Tome"}\r
             TD{"Africa/Ndjamena"}\r
             TN{"Africa/Tunis"}\r
             ZZ{"Etc/GMT-1"}\r
index 72b0e33..35c98a4 100644 (file)
@@ -3,9 +3,9 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 //---------------------------------------------------------\r
 // Build tool:  tz2icu\r
-// Build date:  Tue Oct 24 17:35:27 2017\r
+// Build date:  Tue Jan 23 20:51:55 2018\r
 // tz database: ftp://ftp.iana.org/tz/\r
-// tz version:  2017c\r
+// tz version:  2018c\r
 // ICU version: 60.1\r
 //---------------------------------------------------------\r
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<\r
@@ -13,7 +13,7 @@
 //---------------------------------------------------------\r
 \r
 zoneinfo64:table(nofallback) {\r
- TZVersion { "2017c" }\r
+ TZVersion { "2018c" }\r
  Zones:array { \r
   /* ACT */ :int { 354 } //Z#0\r
   /* AET */ :int { 366 } //Z#1\r
@@ -24,7 +24,7 @@ zoneinfo64:table(nofallback) {
     trans:intvector { -1830383032 }\r
     typeOffsets:intvector { -968, 0, 0, 0 }\r
     typeMap:bin { "01" }\r
-    links:intvector { 5, 11, 13, 21, 22, 27, 38, 51, 52, 54, 55, 346 }\r
+    links:intvector { 5, 11, 13, 21, 22, 27, 38, 51, 52, 55, 346 }\r
   } //Z#5\r
   /* Africa/Accra */ :table {\r
     trans:intvector { -1640995148, -1556841600, -1546388400, -1525305600, -1514852400, -1493769600, -1483316400, -1462233600, -1451780400, -1430611200, -1420158000, -1399075200, -1388622000, -1367539200, -1357086000, -1336003200, -1325550000, -1304380800, -1293927600, -1272844800, -1262391600, -1241308800, -1230855600, -1209772800, -1199319600, -1178150400, -1167697200, -1146614400, -1136161200, -1115078400, -1104625200, -1083542400, -1073089200, -1051920000, -1041466800, -1020384000, -1009930800, -988848000, -978394800, -957312000, -946858800, -925689600, -915236400, -894153600, -883700400, -862617600, -852164400 }\r
@@ -154,7 +154,12 @@ zoneinfo64:table(nofallback) {
   /* Africa/Nouakchott */ :int { 5 } //Z#51\r
   /* Africa/Ouagadougou */ :int { 5 } //Z#52\r
   /* Africa/Porto-Novo */ :int { 36 } //Z#53\r
-  /* Africa/Sao_Tome */ :int { 5 } //Z#54\r
+  /* Africa/Sao_Tome */ :table {\r
+    transPre32:intvector { -1, 1581055280 }\r
+    trans:intvector { -1830381795, 1514768400 }\r
+    typeOffsets:intvector { 1616, 0, -2205, 0, 0, 0, 3600, 0 }\r
+    typeMap:bin { "010203" }\r
+  } //Z#54\r
   /* Africa/Timbuktu */ :int { 5 } //Z#55\r
   /* Africa/Tripoli */ :table {\r
     trans:intvector { -1577926364, -574902000, -568087200, -512175600, -504928800, -449888400, -441856800, -347158800, 378684000, 386463600, 402271200, 417999600, 433807200, 449622000, 465429600, 481590000, 496965600, 512953200, 528674400, 544230000, 560037600, 575852400, 591660000, 607388400, 623196000, 641775600, 844034400, 860108400, 875916000, 1352505600, 1364515200, 1382659200 }\r
@@ -358,8 +363,8 @@ zoneinfo64:table(nofallback) {
     finalYear:int { 2008 }\r
   } //Z#91\r
   /* America/Campo_Grande */ :table {\r
-    trans:intvector { -1767212492, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1066536000, 1076814000, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400, 1203217200, 1224388800, 1234666800, 1255838400, 1266721200, 1287288000, 1298170800, 1318737600, 1330225200, 1350792000, 1361070000, 1382241600, 1392519600, 1413691200, 1424574000, 1445140800, 1456023600, 1476590400, 1487473200, 1508040000, 1518922800, 1540094400, 1550372400, 1571544000, 1581822000, 1602993600, 1613876400, 1634443200, 1645326000, 1665892800, 1677380400, 1697342400, 1708225200, 1729396800, 1739674800, 1760846400, 1771729200, 1792296000, 1803178800, 1823745600, 1834628400, 1855195200, 1866078000, 1887249600, 1897527600, 1918699200, 1928977200, 1950148800, 1960426800, 1981598400, 1992481200, 2013048000, 2024535600, 2044497600, 2055380400, 2076552000, 2086830000, 2108001600, 2118884400, 2139451200 }\r
-    transPost32:intvector { 0, -2144633296, 0, -2124066496 }\r
+    trans:intvector { -1767212492, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1066536000, 1076814000, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400, 1203217200, 1224388800, 1234666800, 1255838400, 1266721200, 1287288000, 1298170800, 1318737600, 1330225200, 1350792000, 1361070000, 1382241600, 1392519600, 1413691200, 1424574000, 1445140800, 1456023600, 1476590400, 1487473200, 1508040000, 1518922800, 1541304000, 1550372400, 1572753600, 1581822000, 1604203200, 1613876400, 1636257600, 1645326000, 1667707200, 1677380400, 1699156800, 1708225200, 1730606400, 1739674800, 1762056000, 1771729200, 1793505600, 1803178800, 1825560000, 1834628400, 1857009600, 1866078000, 1888459200, 1897527600, 1919908800, 1928977200, 1951358400, 1960426800, 1983412800, 1992481200, 2014862400, 2024535600, 2046312000, 2055380400, 2077761600, 2086830000, 2109211200, 2118884400, 2140660800 }\r
+    transPost32:intvector { 0, -2144633296, 0, -2122252096 }\r
     typeOffsets:intvector { -13108, 0, -14400, 0, -14400, 3600 }\r
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }\r
     finalRule { "Brazil" }\r
@@ -416,8 +421,8 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "020102" }\r
   } //Z#103\r
   /* America/Cuiaba */ :table {\r
-    trans:intvector { -1767212140, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400, 1203217200, 1224388800, 1234666800, 1255838400, 1266721200, 1287288000, 1298170800, 1318737600, 1330225200, 1350792000, 1361070000, 1382241600, 1392519600, 1413691200, 1424574000, 1445140800, 1456023600, 1476590400, 1487473200, 1508040000, 1518922800, 1540094400, 1550372400, 1571544000, 1581822000, 1602993600, 1613876400, 1634443200, 1645326000, 1665892800, 1677380400, 1697342400, 1708225200, 1729396800, 1739674800, 1760846400, 1771729200, 1792296000, 1803178800, 1823745600, 1834628400, 1855195200, 1866078000, 1887249600, 1897527600, 1918699200, 1928977200, 1950148800, 1960426800, 1981598400, 1992481200, 2013048000, 2024535600, 2044497600, 2055380400, 2076552000, 2086830000, 2108001600, 2118884400, 2139451200 }\r
-    transPost32:intvector { 0, -2144633296, 0, -2124066496 }\r
+    trans:intvector { -1767212140, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400, 1203217200, 1224388800, 1234666800, 1255838400, 1266721200, 1287288000, 1298170800, 1318737600, 1330225200, 1350792000, 1361070000, 1382241600, 1392519600, 1413691200, 1424574000, 1445140800, 1456023600, 1476590400, 1487473200, 1508040000, 1518922800, 1541304000, 1550372400, 1572753600, 1581822000, 1604203200, 1613876400, 1636257600, 1645326000, 1667707200, 1677380400, 1699156800, 1708225200, 1730606400, 1739674800, 1762056000, 1771729200, 1793505600, 1803178800, 1825560000, 1834628400, 1857009600, 1866078000, 1888459200, 1897527600, 1919908800, 1928977200, 1951358400, 1960426800, 1983412800, 1992481200, 2014862400, 2024535600, 2046312000, 2055380400, 2077761600, 2086830000, 2109211200, 2118884400, 2140660800 }\r
+    transPost32:intvector { 0, -2144633296, 0, -2122252096 }\r
     typeOffsets:intvector { -13460, 0, -14400, 0, -14400, 3600 }\r
     typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }\r
     finalRule { "Brazil" }\r
@@ -1040,8 +1045,8 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "0401030102010201020102010201050105" }\r
   } //Z#201\r
   /* America/Sao_Paulo */ :table {\r
-    trans:intvector { -1767214412, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -195426000, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 656478000, 666756000, 687927600, 697600800, 719982000, 728445600, 750826800, 761709600, 782276400, 793159200, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1066532400, 1076810400, 1099364400, 1108864800, 1129431600, 1140314400, 1162695600, 1172368800, 1192330800, 1203213600, 1224385200, 1234663200, 1255834800, 1266717600, 1287284400, 1298167200, 1318734000, 1330221600, 1350788400, 1361066400, 1382238000, 1392516000, 1413687600, 1424570400, 1445137200, 1456020000, 1476586800, 1487469600, 1508036400, 1518919200, 1540090800, 1550368800, 1571540400, 1581818400, 1602990000, 1613872800, 1634439600, 1645322400, 1665889200, 1677376800, 1697338800, 1708221600, 1729393200, 1739671200, 1760842800, 1771725600, 1792292400, 1803175200, 1823742000, 1834624800, 1855191600, 1866074400, 1887246000, 1897524000, 1918695600, 1928973600, 1950145200, 1960423200, 1981594800, 1992477600, 2013044400, 2024532000, 2044494000, 2055376800, 2076548400, 2086826400, 2107998000, 2118880800, 2139447600 }\r
-    transPost32:intvector { 0, -2144636896, 0, -2124070096 }\r
+    trans:intvector { -1767214412, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -195426000, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 656478000, 666756000, 687927600, 697600800, 719982000, 728445600, 750826800, 761709600, 782276400, 793159200, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1066532400, 1076810400, 1099364400, 1108864800, 1129431600, 1140314400, 1162695600, 1172368800, 1192330800, 1203213600, 1224385200, 1234663200, 1255834800, 1266717600, 1287284400, 1298167200, 1318734000, 1330221600, 1350788400, 1361066400, 1382238000, 1392516000, 1413687600, 1424570400, 1445137200, 1456020000, 1476586800, 1487469600, 1508036400, 1518919200, 1541300400, 1550368800, 1572750000, 1581818400, 1604199600, 1613872800, 1636254000, 1645322400, 1667703600, 1677376800, 1699153200, 1708221600, 1730602800, 1739671200, 1762052400, 1771725600, 1793502000, 1803175200, 1825556400, 1834624800, 1857006000, 1866074400, 1888455600, 1897524000, 1919905200, 1928973600, 1951354800, 1960423200, 1983409200, 1992477600, 2014858800, 2024532000, 2046308400, 2055376800, 2077758000, 2086826400, 2109207600, 2118880800, 2140657200 }\r
+    transPost32:intvector { 0, -2144636896, 0, -2122255696 }\r
     typeOffsets:intvector { -11188, 0, -10800, 0, -10800, 3600 }\r
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }\r
     finalRule { "Brazil" }\r
@@ -1645,7 +1650,7 @@ zoneinfo64:table(nofallback) {
   } //Z#322\r
   /* Asia/Tokyo */ :table {\r
     transPre32:intvector { -1, 1707254896 }\r
-    trans:intvector { -683794800, -672393600, -654764400, -640944000, -620290800, -609494400, -588841200, -578044800 }\r
+    trans:intvector { -683802000, -672314400, -654771600, -640864800, -620298000, -609415200, -588848400, -577965600 }\r
     typeOffsets:intvector { 33539, 0, 32400, 0, 32400, 3600 }\r
     typeMap:bin { "010201020102010201" }\r
     links:intvector { 323, 527, 529 }\r
@@ -3083,7 +3088,7 @@ zoneinfo64:table(nofallback) {
     9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600\r
   } //_#3\r
   Brazil:intvector {\r
-    9, 15, -1, 0, 0, 1, 15, -1, 0, 0, 3600\r
+    10, 1, -1, 0, 0, 1, 15, -1, 0, 0, 3600\r
   } //_#4\r
   C-Eur:intvector {\r
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600\r
diff --git a/source/data/rbnf/ccp.txt b/source/data/rbnf/ccp.txt
new file mode 100644 (file)
index 0000000..454cbd9
--- /dev/null
@@ -0,0 +1,55 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ccp{\r
+    RBNFRules{\r
+        SpelloutRules{\r
+            "%spellout-numbering-year:",\r
+            "0: =%spellout-numbering=;",\r
+            "%spellout-numbering:",\r
+            "0: =%spellout-cardinal=;",\r
+            "%spellout-cardinal:",\r
+            "-x: \U0001111C\U00011122\U00011127\U00011107\U00011134 >>;",\r
+            "x.x: << \U0001111C\U0001112A\U00011118\U0001112E >>;",\r
+            "Inf: \U00011103\U00011127\U0001111C\U0001112A\U00011122\U00011127\U0001111A\U00011134\U00011118\U00011128;",\r
+            "NaN: \U0001111A\U00011118 \U0001111A\U00011127\U00011120\U00011134;",\r
+            "0: \U00011125\U0001112A\U0001111A\U00011133\U00011120\U00011134\U00011127;",\r
+            "1: \U00011106\U00011107\U00011134;",\r
+            "2: \U00011118\U00011128;",\r
+            "3: \U00011116\U00011128\U0001111A\U00011134;",\r
+            "4: \U0001110C\U00011133\U00011106\U0001112C\U00011122\U00011134;",\r
+            "5: \U0001111B\U0001110C\U00011134;",\r
+            "6: \U0001110D\U00011127;",\r
+            "7: \U00011125\U00011116\U00011134;",\r
+            "8: \U00011103\U00011116\U00011133\U00011120\U00011134\U00011127;",\r
+            "9: \U0001111A\U00011127;",\r
+            "10: \U00011118\U00011127\U0001110C\U00011134;",\r
+            "11: \U00011106\U00011109\U00011122\U00011127;",\r
+            "12: \U0001111D\U00011122\U00011133\U00011126\U00011127;",\r
+            "13: \U00011116\U0001112C\U00011122\U00011133\U00011126\U00011127;",\r
+            "14: \U0001110C\U0001112E\U00011116\U00011134\U00011119\U0001112E;",\r
+            "15: \U0001111B\U00011127\U0001111A\U00011134\U00011118\U00011133\U00011122\U00011127;",\r
+            "16: \U00011125\U0001112A\U00011123\U0001112E;",\r
+            "17: \U00011125\U00011127\U00011116\U00011134\U00011127\U00011122\U00011127;",\r
+            "18: \U00011103\U00011118\U00011127\U00011122\U00011133\U00011126\U00011127;",\r
+            "19: \U00011103\U0001112A\U0001111A\U00011134\U0001112E\U0001110C\U00011134;",\r
+            "20: \U00011107\U0001112A\U00011122\U00011128[ >>];",\r
+            "30: \U00011116\U00011133\U00011122\U00011128\U0001110C\U00011134[ >>];",\r
+            "40: \U0001110C\U00011123\U00011128\U00011128\U0001110C\U00011134[ >>];",\r
+            "50: \U0001111B\U00011127\U0001111A\U00011134\U0001110E\U0001110C\U00011134[ >>];",\r
+            "60: \U00011126\U0001112C\U00011116\U00011134[ >>];",\r
+            "70: \U00011126\U0001112E\U00011116\U00011134\U0001112A\U00011122\U00011134[ >>];",\r
+            "80: \U00011103\U0001110E\U00011128[ >>];",\r
+            "90: \U0001111A\U00011127\U0001111B\U00011134\U0001111D\U00011130[ >>];",\r
+            "100: <<\U00011125\U00011127[ >>];",\r
+            "1000: << \U00011126\U0001110E\U00011122\U00011134[ >>];",\r
+            "100000: << \U00011123\U00011107\U00011134[ >>];",\r
+            "10000000: << \U00011107\U0001112A\U00011116\U00011128[ >>];",\r
+            "100000000000000000: =#,##,##0=;",\r
+            "%spellout-ordinal:",\r
+            "-x: \U0001111C\U00011122\U00011127\U00011107\U00011134 >>;",\r
+            "x.x: =#,##,##0.0=;",\r
+            "0: =%spellout-numbering= \U0001111B\U00011133\U00011106\U00011118\U00011133\U00011120\U0001112C;",\r
+        }\r
+    }\r
+    Version{"2.1.38.68"}\r
+}\r
diff --git a/source/data/rbnf/ff.txt b/source/data/rbnf/ff.txt
new file mode 100644 (file)
index 0000000..60dc972
--- /dev/null
@@ -0,0 +1,89 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff{\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
+            "NaN: alaa limoore;",\r
+            "Inf: infinity;",\r
+            "-x: minus >>;",\r
+            "x.x: << poofirgel >>;",\r
+            "0: \u0253olum;",\r
+            "1: go\u02BCo;",\r
+            "2: \u0257i\u0257i;",\r
+            "3: tati;",\r
+            "4: nawi;",\r
+            "5: jowi;",\r
+            "6: jeego\u02BCo;",\r
+            "7: jee\u0257i\u0257i;",\r
+            "8: jeetati;",\r
+            "9: jeenawi;",\r
+            "10: sappo[ e >>];",\r
+            "20: noogas[ e >>];",\r
+            "30: cepanze <<[ e >>];",\r
+            "100: temedere <<[ e >>];",\r
+            "1000: ujunere <<[ e >>];",\r
+            "1000000: miliyo <<[, >>];",\r
+            "1000000000: miliyaari <<[, >>];",\r
+            "1000000000000: biliyo <<[, >>];",\r
+            "1000000000000000: biliyaari <<[, >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+            "%spellout-cardinal-class-o:",\r
+            "NaN: alaa limoore;",\r
+            "Inf: infinity;",\r
+            "-x: minus >>;",\r
+            "x.x: << poofirgel >>;",\r
+            "0: \u0253olum;",\r
+            "1: gooto;",\r
+            "2: \u0257i\u0257o;",\r
+            "3: tato;",\r
+            "4: nawo;",\r
+            "5: njowo;",\r
+            "6: jeegomo;",\r
+            "7: jee\u0257i\u0257o;",\r
+            "8: jeetato;",\r
+            "9: jeenawo;",\r
+            "10: sappo[ e >>];",\r
+            "20: noogas[ e >>];",\r
+            "30: cepanze <<[ e >>];",\r
+            "100: temedere <<[ e >>];",\r
+            "1000: ujunere <<[ e >>];",\r
+            "1000000: miliyo <<[, >>];",\r
+            "1000000000: miliyaari <<[, >>];",\r
+            "1000000000000: biliyo <<[, >>];",\r
+            "1000000000000000: biliyaari <<[, >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+            "%spellout-ordinal:",\r
+            "NaN: alaa limoore;",\r
+            "Inf: infinity;",\r
+            "-x: minus >>;",\r
+            "x.x: =#,##0.0=;",\r
+            "0: \u0253olum;",\r
+            "1: arande;",\r
+            "2: \u0257i\u0257a\u0253o;",\r
+            "3: tatia\u0253o;",\r
+            "4: nawa\u0253o;",\r
+            "5: jowa\u0253o;",\r
+            "6: jeearande;",\r
+            "7: jee\u0257i\u0257a\u0253o;",\r
+            "8: jeetata\u0253o;",\r
+            "9: jeenawa\u0253o;",\r
+            "10: sappo[ e >>];",\r
+            "20: noogas[ e >>];",\r
+            "30: cepanze <<[ e >>];",\r
+            "100: temedere <<[ e >>];",\r
+            "1000: ujunere <<[ e >>];",\r
+            "1000000: miliyo <<[, >>];",\r
+            "1000000000: miliyaari <<[, >>];",\r
+            "1000000000000: biliyo <<[, >>];",\r
+            "1000000000000000: biliyaari <<[, >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+        }\r
+    }\r
+    Version{"2.1.38.68"}\r
+}\r
index 8a6e831..a3d060e 100644 (file)
@@ -207,7 +207,7 @@ he{
             "x.x: <%%spellout-numbering-m< \u05E0\u05E7\u05D5\u05D3\u05D4 >> ;",\r
             "0: \u05D0\u05E4\u05E1;",\r
             "1: \u05D0\u05D7\u05D3;",\r
-            "2: \u05E9\u05E0\u05D9\u05D9\u05DD;",\r
+            "2: \u05E9\u05E0\u05D9;",\r
             "3: \u05E9\u05DC\u05D5\u05E9\u05D4;",\r
             "4: \u05D0\u05E8\u05D1\u05E2\u05D4;",\r
             "5: \u05D7\u05DE\u05D9\u05E9\u05D4;",\r
@@ -248,6 +248,18 @@ he{
             "3000000000000000: <%%spellout-numbering-m< \u05D8\u05E8\u05D9\u05DC\u05D9\u05D5\u05DF[ >%%and-masculine>];",\r
             "1000000000000000000: =#,##0=;",\r
             "%spellout-cardinal-feminine:",\r
+            "-x: \u05DE\u05D9\u05E0\u05D5\u05E1 >>;",\r
+            "x.x: << \u05E0\u05E7\u05D5\u05D3\u05D4 >>;",\r
+            "0: =%spellout-numbering=;",\r
+            "2: \u05E9\u05EA\u05D9;",\r
+            "3: =%spellout-numbering=;",\r
+            "%spellout-cardinal-masculine-standalone:",\r
+            "-x: \u05DE\u05D9\u05E0\u05D5\u05E1 >>;",\r
+            "x.x: <%%spellout-numbering-m< \u05E0\u05E7\u05D5\u05D3\u05D4 >> ;",\r
+            "0: =%spellout-cardinal-masculine=;",\r
+            "2: \u05E9\u05E0\u05D9\u05D9\u05DD;",\r
+            "3: =%spellout-cardinal-masculine=;",\r
+            "%spellout-cardinal-feminine-standalone:",\r
             "0: =%spellout-numbering=;",\r
             "%spellout-construct-masculine:",\r
             "-x: \u05DE\u05D9\u05E0\u05D5\u05E1 >>;",\r
@@ -300,5 +312,5 @@ he{
             "11: =%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"2.1.27.22"}\r
+    Version{"2.1.38.34"}\r
 }\r
diff --git a/source/data/rbnf/lb.txt b/source/data/rbnf/lb.txt
new file mode 100644 (file)
index 0000000..6d1c269
--- /dev/null
@@ -0,0 +1,205 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+lb{\r
+    RBNFRules{\r
+        SpelloutRules{\r
+            "%spellout-numbering-year:",\r
+            "Inf: \u00C9iwegkeet;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =0.0=;",\r
+            "0: =%spellout-cardinal-neuter=;",\r
+            "1010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "2000: =%spellout-cardinal-neuter=;",\r
+            "2010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "3000: =%spellout-cardinal-neuter=;",\r
+            "3010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "4000: =%spellout-cardinal-neuter=;",\r
+            "4010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "5000: =%spellout-cardinal-neuter=;",\r
+            "5010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "6000: =%spellout-cardinal-neuter=;",\r
+            "6010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "7000: =%spellout-cardinal-neuter=;",\r
+            "7010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "8000: =%spellout-cardinal-neuter=;",\r
+            "8010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "9000: =%spellout-cardinal-neuter=;",\r
+            "9010/100: <%spellout-cardinal-masculine<honnert[>%spellout-cardinal-neuter>];",\r
+            "10000: =%spellout-cardinal-neuter=;",\r
+            "%spellout-numbering:",\r
+            "0: =%spellout-cardinal-masculine=;",\r
+            "%spellout-cardinal-masculine:",\r
+            "Inf: Onendlechkeet;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: << Komma >>;",\r
+            "0: null;",\r
+            "1: eent;",\r
+            "2: zwee;",\r
+            "3: dr\u00E4i;",\r
+            "4: v\u00E9ier;",\r
+            "5: f\u00EBnnef;",\r
+            "6: sechs;",\r
+            "7: siwen;",\r
+            "8: aacht;",\r
+            "9: n\u00E9ng;",\r
+            "10: z\u00E9ng;",\r
+            "11: eelef;",\r
+            "12: zwielef;",\r
+            "13: dr\u00E4iz\u00E9ng;",\r
+            "14: v\u00E9ierz\u00E9ng;",\r
+            "15: fofz\u00E9ng;",\r
+            "16: siechz\u00E9ng;",\r
+            "17: siwwenz\u00E9ng;",\r
+            "18: uechtz\u00E9ng;",\r
+            "19: nonz\u00E9ng;",\r
+            "20: [>%spellout-cardinal-neuter>an]zwanzeg;",\r
+            "30: [>%spellout-cardinal-neuter>an]dr\u00EBsseg;",\r
+            "40: [>%spellout-cardinal-neuter>an]v\u00E9ierzeg;",\r
+            "50: [>%spellout-cardinal-neuter>an]fofzeg;",\r
+            "60: [>%spellout-cardinal-neuter>an]siechzeg;",\r
+            "70: [>%spellout-cardinal-neuter>an]siwwenzeg;",\r
+            "80: [>%spellout-cardinal-neuter>an]achtzeg;",\r
+            "90: [>%spellout-cardinal-neuter>an]nonzeg;",\r
+            "100: \u00ADhonnert\u00AD[>>];",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD[>>];",\r
+            "1000: \u00ADdausend\u00AD[>>];",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD[>>];",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$[ >>];",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$[ >>];",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$[ >>];",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$[ >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+            "%spellout-cardinal-feminine:",\r
+            "Inf: Onendlechkeet;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =%spellout-cardinal-masculine=;",\r
+            "0: null;",\r
+            "1: eng;",\r
+            "2: zwou;",\r
+            "3: =%spellout-cardinal-masculine=;",\r
+            "100: \u00ADhonnert\u00AD[>>];",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD[>>];",\r
+            "1000: \u00ADdausend\u00AD[>>];",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD[>>];",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$[ >>];",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$[ >>];",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$[ >>];",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$[ >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+            "%spellout-cardinal-neuter:",\r
+            "Inf: Onendlechkeet;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =%spellout-cardinal-masculine=;",\r
+            "0: null;",\r
+            "1: een;",\r
+            "2: =%spellout-cardinal-masculine=;",\r
+            "100: \u00ADhonnert\u00AD[>>];",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD[>>];",\r
+            "1000: \u00ADdausend\u00AD[>>];",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD[>>];",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$[ >>];",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$[ >>];",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$[ >>];",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$[ >>];",\r
+            "1000000000000000000: =#,##0=;",\r
+            "%spellout-ordinal-masculine:",\r
+            "Inf: onendlechten;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =#,##0.0=.;",\r
+            "0: nullten;",\r
+            "1: \u00E9ischten;",\r
+            "2: zweeten;",\r
+            "3: dr\u00EBtten;",\r
+            "4: v\u00E9ierten;",\r
+            "5: f\u00EBnneften;",\r
+            "6: sechsten;",\r
+            "7: siwenten;",\r
+            "8: aachten;",\r
+            "9: =%spellout-cardinal-neuter=ten;",\r
+            "20: =%spellout-cardinal-neuter=sten;",\r
+            "100: \u00ADhonnert\u00AD>%%ord-t-masc>;",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD>%%ord-t-masc>;",\r
+            "1000: \u00ADdausend\u00AD>%%ord-t-masc>;",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD>%%ord-t-masc>;",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$>%%ord-M-masc>;",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$>%%ord-M-masc>;",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$>%%ord-M-masc>;",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$>%%ord-M-masc>;",\r
+            "1000000000000000000: =#,##0=.;",\r
+            "%%ord-t-masc:",\r
+            "0: en;",\r
+            "1: =%spellout-ordinal-masculine=;",\r
+            "%%ord-M-masc:",\r
+            "0: ten;",\r
+            "1: ' =%spellout-ordinal-masculine=;",\r
+            "%spellout-ordinal-feminine:",\r
+            "Inf: onendlechter;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =#,##0.0=.;",\r
+            "0: nullter;",\r
+            "1: \u00E9ischter;",\r
+            "2: zweeter;",\r
+            "3: dr\u00EBtter;",\r
+            "4: v\u00E9ierter;",\r
+            "5: f\u00EBnnefter;",\r
+            "6: sechster;",\r
+            "7: siwenter;",\r
+            "8: aachter;",\r
+            "9: =%spellout-cardinal-neuter=ter;",\r
+            "20: =%spellout-cardinal-neuter=ster;",\r
+            "100: \u00ADhonnert\u00AD>%%ord-t-fem>;",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD>%%ord-t-fem>;",\r
+            "1000: \u00ADdausend\u00AD>%%ord-t-fem>;",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD>%%ord-t-fem>;",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$>%%ord-M-fem>;",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$>%%ord-M-fem>;",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$>%%ord-M-fem>;",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$>%%ord-M-fem>;",\r
+            "1000000000000000000: =#,##0=.;",\r
+            "%%ord-t-fem:",\r
+            "0: er;",\r
+            "1: =%spellout-ordinal-feminine=;",\r
+            "%%ord-M-fem:",\r
+            "0: ter;",\r
+            "1: ' =%spellout-ordinal-feminine=;",\r
+            "%spellout-ordinal-neuter:",\r
+            "Inf: onendlecht;",\r
+            "NaN: net eng Nummer;",\r
+            "-x: minus >>;",\r
+            "x.x: =#,##0.0=.;",\r
+            "0: nullt;",\r
+            "1: \u00E9ischt;",\r
+            "2: zweet;",\r
+            "3: dr\u00EBtt;",\r
+            "4: v\u00E9iert;",\r
+            "5: f\u00EBnneft;",\r
+            "6: sechst;",\r
+            "7: siwent;",\r
+            "8: aacht;",\r
+            "9: =%spellout-cardinal-neuter=t;",\r
+            "20: =%spellout-cardinal-neuter=st;",\r
+            "100: \u00ADhonnert\u00AD>%%ord-t-neut>;",\r
+            "200: <%spellout-cardinal-masculine<\u00ADhonnert\u00AD>%%ord-t-neut>;",\r
+            "1000: \u00ADdausend\u00AD>%%ord-t-neut>;",\r
+            "2000: <%spellout-cardinal-masculine<\u00ADdausend\u00AD>%%ord-t-neut>;",\r
+            "1000000: <%spellout-cardinal-feminine< $(cardinal,one{Millioun}other{Milliounen})$>%%ord-M-neut>;",\r
+            "1000000000: <%spellout-cardinal-feminine< $(cardinal,one{Milliard}other{Milliarden})$>%%ord-M-neut>;",\r
+            "1000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billioun}other{Billiounen})$>%%ord-M-neut>;",\r
+            "1000000000000000: <%spellout-cardinal-feminine< $(cardinal,one{Billiard}other{Billiarden})$>%%ord-M-neut>;",\r
+            "1000000000000000000: =#,##0=.;",\r
+            "%%ord-t-neut:",\r
+            "0: et;",\r
+            "1: =%spellout-ordinal-neuter=;",\r
+            "%%ord-M-neut:",\r
+            "0: t;",\r
+            "1: ' =%spellout-ordinal-neuter=;",\r
+        }\r
+    }\r
+    Version{"2.1.38.68"}\r
+}\r
diff --git a/source/data/rbnf/qu.txt b/source/data/rbnf/qu.txt
new file mode 100644 (file)
index 0000000..5046ae1
--- /dev/null
@@ -0,0 +1,46 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+qu{\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-with:",\r
+            "0: =%spellout-cardinal=-ni-yuq;",\r
+            "3: =%spellout-cardinal=-yuq;",\r
+            "7: =%spellout-cardinal=-ni-yuq;",\r
+            "%spellout-cardinal:",\r
+            "NaN: mana yupay;",\r
+            "Inf: mana usay;",\r
+            "-x: minusu >>;",\r
+            "x.x: << comma >>;",\r
+            "0: chusaq;",\r
+            "1: huk;",\r
+            "2: iskay;",\r
+            "3: kinsa;",\r
+            "4: tawa;",\r
+            "5: phisqa;",\r
+            "6: suqta;",\r
+            "7: qanchis;",\r
+            "8: pusaq;",\r
+            "9: isqun;",\r
+            "10: chunka[ >%%spellout-cardinal-with>];",\r
+            "20: << chunka[ >%%spellout-cardinal-with>];",\r
+            "100: << pachak[ >>];",\r
+            "1000: << waranqa[ >>];",\r
+            "1000000: << hunu[ >>];",\r
+            "1000000000: << lluna[ >>];",\r
+            "1000000000000: << trilionu[ >>];",\r
+            "1000000000000000: << kvadrilionu[ >>];",\r
+            "1000000000000000000: =#,##0.#=;",\r
+            "%spellout-ordinal:",\r
+            "-x: minusu >>;",\r
+            "x.x: =0.0=;",\r
+            "0: =%spellout-cardinal=-\u00F1iqin;",\r
+        }\r
+    }\r
+    Version{"2.1.38.68"}\r
+}\r
index 49ba7fc..f2001ff 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-RBNF_CLDR_VERSION = 32.0.1\r
+RBNF_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
@@ -39,18 +39,19 @@ RBNF_ALIAS_SOURCE = $(RBNF_SYNTHETIC_ALIAS)
 # Ordinary resources\r
 RBNF_SOURCE = af.txt ak.txt am.txt ar.txt\\r
  az.txt be.txt bg.txt bs.txt ca.txt\\r
- chr.txt cs.txt cy.txt da.txt de.txt\\r
- de_CH.txt ee.txt el.txt en.txt en_001.txt\\r
- en_IN.txt eo.txt es.txt es_419.txt et.txt\\r
- fa.txt fa_AF.txt fi.txt fil.txt fo.txt\\r
- fr.txt fr_BE.txt fr_CH.txt ga.txt he.txt\\r
- hi.txt hr.txt hu.txt hy.txt id.txt\\r
- is.txt it.txt ja.txt ka.txt kl.txt\\r
- km.txt ko.txt ky.txt lo.txt lrc.txt\\r
- lt.txt lv.txt mk.txt ms.txt mt.txt\\r
- my.txt nb.txt nl.txt nn.txt pl.txt\\r
- pt.txt pt_PT.txt ro.txt ru.txt se.txt\\r
- sk.txt sl.txt sq.txt sr.txt sr_Latn.txt\\r
- sv.txt ta.txt th.txt tr.txt uk.txt\\r
+ ccp.txt chr.txt cs.txt cy.txt da.txt\\r
+ de.txt de_CH.txt ee.txt el.txt en.txt\\r
+ en_001.txt en_IN.txt eo.txt es.txt es_419.txt\\r
+ et.txt fa.txt fa_AF.txt ff.txt fi.txt\\r
+ fil.txt fo.txt fr.txt fr_BE.txt fr_CH.txt\\r
+ ga.txt he.txt hi.txt hr.txt hu.txt\\r
+ hy.txt id.txt is.txt it.txt ja.txt\\r
+ ka.txt kl.txt km.txt ko.txt ky.txt\\r
+ lb.txt lo.txt lrc.txt lt.txt lv.txt\\r
+ mk.txt ms.txt mt.txt my.txt nb.txt\\r
+ nl.txt nn.txt pl.txt pt.txt pt_PT.txt\\r
+ qu.txt ro.txt ru.txt se.txt sk.txt\\r
+ sl.txt sq.txt sr.txt sr_Latn.txt sv.txt\\r
+ sw.txt ta.txt th.txt tr.txt uk.txt\\r
  vi.txt yue.txt yue_Hans.txt zh.txt zh_Hant.txt\r
 \r
diff --git a/source/data/rbnf/sw.txt b/source/data/rbnf/sw.txt
new file mode 100644 (file)
index 0000000..b41363b
--- /dev/null
@@ -0,0 +1,52 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sw{\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
+            "NaN: si nambari;",\r
+            "Inf: usio;",\r
+            "-x: kasoro >>;",\r
+            "x.x: << nukta >>;",\r
+            "0: sifuri;",\r
+            "1: moja;",\r
+            "2: mbili;",\r
+            "3: tatu;",\r
+            "4: nne;",\r
+            "5: tano;",\r
+            "6: sita;",\r
+            "7: saba;",\r
+            "8: nane;",\r
+            "9: tisa;",\r
+            "10: kumi[ na >>];",\r
+            "20: ishirini[ na >>];",\r
+            "30: thelathini[ na >>];",\r
+            "40: arobaini[ na >>];",\r
+            "50: hamsini[ na >>];",\r
+            "60: sitini[ na >>];",\r
+            "70: sabini[ na >>];",\r
+            "80: themanini[ na >>];",\r
+            "90: tisini[ na >>];",\r
+            "100: mia <<[ na >>];",\r
+            "1000: elfu <<[, >>];",\r
+            "1000000: milioni <<[, >>];",\r
+            "1000000000: bilioni <<[, >>];",\r
+            "1000000000000: trilioni <<[, >>];",\r
+            "1000000000000000: kvadrilioni <<[, >>];",\r
+            "1000000000000000000: =#,##0.#=;",\r
+            "%spellout-ordinal:",\r
+            "-x: wa kasoro >%spellout-cardinal>;",\r
+            "x.x: =0.0=;",\r
+            "0: wa sifuri;",\r
+            "1: kwanza;",\r
+            "2: pili;",\r
+            "3: wa =%spellout-cardinal=;",\r
+        }\r
+    }\r
+    Version{"2.1.38.68"}\r
+}\r
index 089702d..0aedec9 100644 (file)
@@ -31,6 +31,7 @@ af{
         151{"Oos-Europa"}\r
         154{"Noord-Europa"}\r
         155{"Wes-Europa"}\r
+        202{"Afrika suid van die Sahara"}\r
         419{"Latyns-Amerika"}\r
         AC{"Ascensioneiland"}\r
         AD{"Andorra"}\r
@@ -309,5 +310,5 @@ af{
         FK{"Falklandeilande (Malvinas)"}\r
         MK{"Macedonië (VJRM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f1d09c0..2b74b13 100644 (file)
@@ -227,5 +227,5 @@ agq{
         ZM{"Zambìa"}\r
         ZW{"Zìmbagbɛ̀"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3ef0cc6..afb9987 100644 (file)
@@ -227,5 +227,5 @@ ak{
         ZM{"Zambia"}\r
         ZW{"Zembabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4562ebb..85fb0b0 100644 (file)
@@ -31,6 +31,7 @@ am{
         151{"ምዕራባዊ አውሮፓ"}\r
         154{"ሰሜናዊ አውሮፓ"}\r
         155{"ምስራቃዊ አውሮፓ"}\r
+        202{"ከሰሃራ በታች አፍሪካ"}\r
         419{"ላቲን አሜሪካ"}\r
         AC{"አሴንሽን ደሴት"}\r
         AD{"አንዶራ"}\r
@@ -311,5 +312,5 @@ am{
         MK{"መቄዶንያ (የቀድሞ የዩጎስላቭ መቄዶንያ ሪፐብሊክ)"}\r
         TL{"ምስራቅ ቲሞር"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9268c87..2c65d20 100644 (file)
@@ -31,6 +31,7 @@ ar{
         151{"شرق أوروبا"}\r
         154{"شمال أوروبا"}\r
         155{"غرب أوروبا"}\r
+        202{"202"}\r
         419{"أمريكا اللاتينية"}\r
         AC{"جزيرة أسينشيون"}\r
         AD{"أندورا"}\r
@@ -311,5 +312,5 @@ ar{
         MK{"مقدونيا- جمهورية مقدونيا اليوغسلافية السابقة"}\r
         TL{"تيمور الشرقية"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 176ea9f..8c10641 100644 (file)
@@ -5,5 +5,5 @@ ar_AE{
         CI{"ساحل العاج"}\r
         TL{"التيمور الشرقية"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.80"}\r
 }\r
index 275d0bd..c5fbfe0 100644 (file)
@@ -6,5 +6,5 @@ ar_LY{
         MS{"مونتيسيرات"}\r
         UY{"أوروغواي"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 960c806..ead1674 100644 (file)
@@ -16,5 +16,5 @@ ar_SA{
     Countries%variant{\r
         CZ{"التشيك"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.80"}\r
 }\r
index f823506..df9137f 100644 (file)
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
     Countries{\r
-        053{"অস্ট্রেলেশিয়া"}\r
-        054{"ম্যালেনেশিয়া"}\r
-        057{\r
-            "মাইক্রোনেশিয়ান অঞ্চল (অনুবাদ সংকেত: সতর্কতা, ডানদিকে তথ্য প্যানেল দেখুন"\r
-            "।)"\r
-        }\r
-        AC{"অ্যাসেনশন আইল্যান্ড"}\r
-        AD{"এ্যান্ডোরা"}\r
-        AE{"UAE"}\r
+        001{"বিশ্ব"}\r
+        002{"আফ্ৰিকা"}\r
+        003{"উদীচ্য আমেৰিকা"}\r
+        005{"দক্ষিণ আমেৰিকা"}\r
+        009{"অ’চেনীয়া"}\r
+        011{"পাশ্চাত্য আফ্ৰিকা"}\r
+        013{"মধ্য আমেৰিকা"}\r
+        014{"প্ৰাচ্য আফ্ৰিকা"}\r
+        015{"উদীচ্য আফ্ৰিকা"}\r
+        017{"মধ্য আফ্ৰিকা"}\r
+        018{"দাক্ষিণাত্য আফ্ৰিকা"}\r
+        019{"আমেৰিকাছ্"}\r
+        021{"উত্তৰীয় আমেৰিকা"}\r
+        029{"কেৰিবিয়ান"}\r
+        030{"প্ৰাচ্য এছিয়া"}\r
+        034{"দাক্ষিণাত্য এছিয়া"}\r
+        035{"দক্ষিণ-পূব এছিয়া"}\r
+        039{"দাক্ষিণাত্য ইউৰোপ"}\r
+        053{"অষ্ট্ৰেলেছিয়া"}\r
+        054{"মেলানেছিয়া"}\r
+        057{"মাইক্ৰোনেচিয় ক্ষেত্ৰ"}\r
+        061{"পলিনেচিয়া"}\r
+        142{"এছিয়া"}\r
+        143{"মধ্য এছিয়া"}\r
+        145{"পাশ্চাত্য এছিয়া"}\r
+        150{"ইউৰোপ"}\r
+        151{"প্ৰাচ্য ইউৰোপ"}\r
+        154{"উদীচ্য ইউৰোপ"}\r
+        155{"পাশ্চাত্য ইউৰোপ"}\r
+        202{"উপ-ছাহাৰান আফ্ৰিকা"}\r
+        419{"লেটিন আমেৰিকা"}\r
+        AC{"এচেনচিয়ন দ্বীপ"}\r
+        AD{"আন্দোৰা"}\r
+        AE{"সংযুক্ত আৰব আমিৰাত"}\r
         AF{"আফগানিস্তান"}\r
-        AI{"এ্যাঙ্গুইলা"}\r
-        AL{"আল্বেনিয়া"}\r
-        AM{"আরমেনিয়া"}\r
-        AO{"অ্যাঙ্গোলা"}\r
-        AQ{"এন্টাৰ্টিকা"}\r
-        AR{"আর্জিণ্টিনা"}\r
-        AS{"আমেরিকান সামোয়া"}\r
-        AT{"অস্ট্রিয়া"}\r
-        AU{"অস্ট্রেলিয়া"}\r
-        AX{"আলে্যান্ড দ্বীপপুঞ্জ"}\r
-        AZ{"আজেরবাইজান"}\r
-        BA{"বসনিয়া ও হারজেগোভিনা"}\r
+        AG{"এণ্টিগুৱা আৰু বাৰ্বুডা"}\r
+        AI{"এনগুইলা"}\r
+        AL{"আলবেনিয়া"}\r
+        AM{"আৰ্মেনিয়া"}\r
+        AO{"এংগোলা"}\r
+        AQ{"এণ্টাৰ্কটিকা"}\r
+        AR{"আৰ্জেণ্টিনা"}\r
+        AS{"আমেৰিকান চামোৱা"}\r
+        AT{"অষ্ট্ৰিয়া"}\r
+        AU{"অষ্ট্ৰেলিয়া"}\r
+        AW{"আৰুবা"}\r
+        AX{"আলণ্ড দ্বীপপুঞ্জ"}\r
+        AZ{"আজাৰবেইজান"}\r
+        BA{"ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা"}\r
+        BB{"বাৰ্বাডোচ"}\r
         BD{"বাংলাদেশ"}\r
         BE{"বেলজিয়াম"}\r
-        BF{"বà§\81রà§\8dà¦\95িনা à¦«à¦¾à¦¸ো"}\r
-        BG{"বà§\81লà¦\97à§\87রিয়া"}\r
-        BH{"বাহরাইন"}\r
-        BI{"বà§\81রà§\81ন্ডি"}\r
+        BF{"বà§\81ৰà¦\95িনা à¦«à¦¾à¦\9aো"}\r
+        BG{"বà§\81লà¦\97à§\87ৰিয়া"}\r
+        BH{"বাহৰà§\87ইন"}\r
+        BI{"বà§\81ৰà§\81ণ্ডি"}\r
         BJ{"বেনিন"}\r
-        BN{"ব্রুনেই"}\r
-        BO{"বোলিভিয়া"}\r
-        BR{"ব্রাজিল"}\r
+        BL{"ছেইণ্ট বাৰ্থলেমে"}\r
+        BM{"বাৰ্মুডা"}\r
+        BN{"ব্ৰুনেই"}\r
+        BO{"বলিভিয়া"}\r
+        BQ{"কেৰিবিয়ান নেদাৰলেণ্ডছ"}\r
+        BR{"ব্ৰাজিল"}\r
+        BS{"বাহামাছ"}\r
         BT{"ভুটান"}\r
-        BV{"বভেট দ্বীপ"}\r
-        BW{"বোট্স্বানা"}\r
-        BY{"বেলারুশ"}\r
-        CC{"কোকোস (কিলিং) দ্বীপপুঞ্জ"}\r
-        CD{"কঙ্গো - কিনসাসা"}\r
+        BV{"বুভে দ্বীপ"}\r
+        BW{"ব’টচোৱানা"}\r
+        BY{"বেলাৰুছ"}\r
+        BZ{"বেলিজ"}\r
+        CA{"কানাডা"}\r
+        CC{"কোকোচ (কীলিং) দ্বীপপুঞ্জ"}\r
+        CD{"কঙ্গো - কিনচাছা"}\r
         CF{"মধ্য আফ্রিকান প্রজাতন্ত্র"}\r
         CG{"কঙ্গো - ব্রাজাভিল"}\r
-        CH{"সà§\81à¦\87à¦\9cরà§\8dলণ্ড"}\r
-        CI{"à¦\86à¦\87ভরি à¦\95à§\8bসà§\8dà¦\9f"}\r
+        CH{"à¦\9aà§\81à¦\87à¦\9cাৰলà§\87ণ্ড"}\r
+        CI{"à¦\95à§\8bà¦\9fà§\87 à¦¡à¦¿ à¦\86à¦\87ভৰ"}\r
         CK{"কুক দ্বীপপুঞ্জ"}\r
         CL{"চিলি"}\r
-        CM{"à¦\95à§\8dযামà§\87রà§\81ন"}\r
+        CM{"à¦\95à§\87মà§\87ৰà§\81ণ"}\r
         CN{"চীন"}\r
-        CO{"কলোমবিয়া"}\r
-        CP{"ক্লিপারটন দ্বীপ"}\r
+        CO{"কলম্বিয়া"}\r
+        CP{"ক্লিপাৰটোন দ্বীপ"}\r
+        CR{"কোষ্টা ৰিকা"}\r
+        CU{"কিউবা"}\r
         CV{"কেপ ভার্দে"}\r
-        CX{"ক্রিস্টমাস দ্বীপ"}\r
-        CY{"সাইপ্রাসদ্বিপ"}\r
-        DE{"জাৰ্মানি"}\r
-        DG{"দিয়েগো গার্সিয়া"}\r
-        DJ{"জিবুতি"}\r
-        DK{"ডেন্মার্ক্"}\r
-        DZ{"আলজেরিয়া"}\r
-        EA{"কিউটা & ম্লিলা"}\r
-        EC{"ইকোয়াডর"}\r
-        EE{"এস্তোনিয়াদেশ"}\r
-        EG{"মিশর"}\r
-        EH{"পশ্চিম সাহারা"}\r
-        ER{"ইরিত্রিয়া"}\r
-        ES{"স্পেন"}\r
-        ET{"ইথিওপিয়া"}\r
-        FI{"ফিনল্যাণ্ড"}\r
+        CW{"কুৰাকাও"}\r
+        CX{"খ্ৰীষ্টমাছ দ্বীপ"}\r
+        CY{"চাইপ্ৰাছ"}\r
+        CZ{"চিজেচিয়া"}\r
+        DE{"জাৰ্মানী"}\r
+        DG{"ডিয়েগো গাৰ্চিয়া"}\r
+        DJ{"জিবুটি"}\r
+        DK{"ডেনমাৰ্ক"}\r
+        DM{"ড’মিনিকা"}\r
+        DO{"ড’মিনিকান ৰিপাব্লিক"}\r
+        DZ{"আলজেৰিয়া"}\r
+        EA{"চেউটা আৰু মেলিলা"}\r
+        EC{"ইকুৱেডৰ"}\r
+        EE{"ইষ্টোনিয়া"}\r
+        EG{"ইজিপ্ত"}\r
+        EH{"পশ্চিমীয় ছাহাৰা"}\r
+        ER{"এৰিত্ৰিয়া"}\r
+        ES{"স্পেইন"}\r
+        ET{"ইথিঅ’পিয়া"}\r
+        EU{"ইউৰোপীয় সংঘ"}\r
+        EZ{"ইউৰোজ’ন"}\r
+        FI{"ফিনলেণ্ড"}\r
         FJ{"ফিজি"}\r
-        FK{"ফà¦\95লà§\8dযান্ড দ্বীপপুঞ্জ"}\r
-        FM{"মাà¦\87à¦\95à§\8dরà§\8bনà§\87শিয়া"}\r
-        FO{"ফারà§\8b à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c"}\r
+        FK{"ফà¦\95লà§\87ণ্ড দ্বীপপুঞ্জ"}\r
+        FM{"মাà¦\87à¦\95à§\8dৰà§\8bনà§\87à¦\9aিয়া"}\r
+        FO{"ফাৰà§\8b à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c"}\r
         FR{"ফ্ৰান্স"}\r
-        GA{"à¦\97াবà§\8bনবাদà§\8dযযনà§\8dতà§\8dর"}\r
+        GA{"à¦\97à§\87বন"}\r
         GB{"সংযুক্ত ৰাজ্য"}\r
-        GE{"জর্জিয়া"}\r
-        GF{"একটি দেশের নাম"}\r
-        GG{"গেঁজি"}\r
+        GD{"গ্ৰেনাডা"}\r
+        GE{"জৰ্জিয়া"}\r
+        GF{"ফ্ৰান্স গয়ানা"}\r
+        GG{"গোৰেনচি"}\r
         GH{"ঘানা"}\r
-        GI{"জিব্রালটার"}\r
-        GM{"গাম্বিয়াদেশ"}\r
+        GI{"জিব্ৰাল্টৰ"}\r
+        GL{"গ্ৰীণলেণ্ড"}\r
+        GM{"গাম্বিয়া"}\r
         GN{"গিনি"}\r
-        GQ{"নিরক্ষীয় গিনি"}\r
-        GR{"গ্রীস"}\r
-        GS{"দক্ষিণ জৰ্জিয়া আৰু দক্ষিণ চেণ্ডৱিচ্‌ দ্বীপপুঞ্জ"}\r
-        GU{"গুয়াম"}\r
-        GW{"গিনি-বিসাউ"}\r
+        GP{"গুৱাডেলুপ"}\r
+        GQ{"ইকুৱেটৰিয়েল গিনি"}\r
+        GR{"গ্ৰীচ"}\r
+        GS{"দক্ষিণ জৰ্জিয়া আৰু দক্ষিণ চেণ্ডৱিচ দ্বীপপুঞ্জ"}\r
+        GT{"গুৱাটেমালা"}\r
+        GU{"গুৱাম"}\r
+        GW{"গিনি-বিছাও"}\r
         GY{"গায়ানা"}\r
-        HK{"হংকং এসএআর চীন"}\r
-        HM{"হাৰ্ড দ্বীপ আৰু মেক্‌ডোনাল্ড দ্বীপ"}\r
-        HR{"ক্রোয়েশিয়া"}\r
-        HU{"হাঙ্গেরি"}\r
-        IC{"ক্যানারি দ্বীপপুঞ্জ"}\r
-        ID{"ইন্দোনেশিয়া"}\r
-        IE{"আয়ারল্যাণ্ড"}\r
-        IL{"ইস্রায়েল"}\r
-        IM{"আইল অফ ম্যান"}\r
-        IN{"ভারত"}\r
-        IO{"ব্ৰিটিশ্ব ইণ্ডিয়ান মহাসাগৰৰ অঞ্চল"}\r
-        IQ{"ইরাক"}\r
-        IR{"ইরান"}\r
-        IS{"আইস্ল্যাণ্ড"}\r
+        HK{"হং কং এছ. এ. আৰ. চীন"}\r
+        HM{"হাৰ্ড দ্বীপ আৰু মেকডোনাল্ড দ্বীপপুঞ্জ"}\r
+        HN{"হন্দুৰাছ"}\r
+        HR{"ক্ৰোৱেছিয়া"}\r
+        HT{"হাইটি"}\r
+        HU{"হাংগেৰী"}\r
+        IC{"কেনেৰী দ্বীপপুঞ্জ"}\r
+        ID{"ইণ্ডোনেচিয়া"}\r
+        IE{"আয়াৰলেণ্ড"}\r
+        IL{"ইজৰাইল"}\r
+        IM{"আইল অফ মেন"}\r
+        IN{"ভাৰত"}\r
+        IO{"ব্ৰিটিছ ইণ্ডিয়ান অ’চন টেৰিট’ৰি"}\r
+        IQ{"ইৰাক"}\r
+        IR{"ইৰান"}\r
+        IS{"আইচলেণ্ড"}\r
         IT{"ইটালি"}\r
-        JE{"জার্সি"}\r
-        JO{"জর্ডন"}\r
+        JE{"জাৰ্চি"}\r
+        JM{"জামাইকা"}\r
+        JO{"জৰ্ডান"}\r
         JP{"জাপান"}\r
         KE{"কেনিয়া"}\r
-        KG{"কিরগিজস্তান"}\r
-        KH{"কাম্বোজ"}\r
-        KI{"কিরিবাতি"}\r
-        KM{"কমোরোস"}\r
-        KP{"উত্তর কোরিয়া"}\r
-        KR{"দক্ষিণ কোরিয়া"}\r
-        KW{"কুয়েত"}\r
-        KZ{"কাজাকস্থান"}\r
-        LA{"লাত্তস"}\r
+        KG{"কিৰ্গিজস্তান"}\r
+        KH{"কম্বোডিয়া"}\r
+        KI{"কিৰিবাটি"}\r
+        KM{"কোমোৰোজ"}\r
+        KN{"ছেইণ্ট কিটছ আৰু নেভিছ"}\r
+        KP{"উত্তৰ কোৰিয়া"}\r
+        KR{"দক্ষিণ কোৰিয়া"}\r
+        KW{"কুৱেইট"}\r
+        KY{"কেইমেন দ্বীপপুঞ্জ"}\r
+        KZ{"কাজাখাস্তান"}\r
+        LA{"লাওচ"}\r
         LB{"লেবানন"}\r
-        LI{"লিচেনস্টেইন"}\r
+        LC{"ছেইণ্ট লুচিয়া"}\r
+        LI{"লিচটেনষ্টেইন"}\r
         LK{"শ্রীলংকা"}\r
-        LR{"লাà¦\87বà§\87রিয়া"}\r
-        LS{"লà§\87সà§\8bথà§\8b"}\r
-        LT{"লিতà§\8dভা"}\r
-        LU{"লাà¦\95à§\8dসà§\87মবারà§\8dà¦\97"}\r
-        LV{"লà§\8dযাà¦\9fà§\8dভিà¦\86"}\r
+        LR{"লিবà§\87ৰিয়া"}\r
+        LS{"লà§\87à¦\9bâ\80\99থâ\80\99"}\r
+        LT{"লিথà§\81ৱানিয়া"}\r
+        LU{"লাà¦\95à§\8dসà§\87মবাৰà§\8dà¦\97"}\r
+        LV{"লাà¦\9fভিয়া"}\r
         LY{"লিবিয়া"}\r
-        MA{"মরà¦\95à§\8dà¦\95à§\8b"}\r
+        MA{"মৰà¦\95à§\8dà¦\95à§\8b"}\r
         MC{"মোনাকো"}\r
-        MD{"মোল্দাভিয়া"}\r
-        ME{"মন্টিনিগ্রো"}\r
-        MG{"ম্যাডাগ্যাস্কার"}\r
-        MH{"মার্শাল দ্বীপপুঞ্জ"}\r
-        MK{"ম্যাসাডোনিয়া"}\r
+        MD{"মোলডোভা"}\r
+        ME{"মণ্টেনেগ্ৰু"}\r
+        MF{"ছেইণ্ট মাৰ্টিন"}\r
+        MG{"মাদাগাস্কাৰ"}\r
+        MH{"মাৰ্শ্বাল দ্বীপপুঞ্জ"}\r
+        MK{"মেচিডোনীয়া"}\r
         ML{"মালি"}\r
-        MM{"মায়ানমার (বার্মা)"}\r
-        MN{"মঙ্গোলিআ"}\r
-        MO{"ম্যাকাও এসএআর চীন"}\r
-        MP{"উত্তর মারিয়ানা দ্বীপপুঞ্জ"}\r
-        MR{"মরিতানিয়া"}\r
-        MT{"মালটা"}\r
-        MU{"মরিশাস"}\r
+        MM{"ম্যানমাৰ (বাৰ্মা)"}\r
+        MN{"মঙ্গোলিয়া"}\r
+        MO{"মাকাউ এছ. এ. আৰ. চীন"}\r
+        MP{"উত্তৰ মাৰিয়ানা দ্বীপপুঞ্জ"}\r
+        MQ{"মাৰ্টিনিক"}\r
+        MR{"মাউৰিটানিয়া"}\r
+        MS{"ম’ণ্টছেৰাট"}\r
+        MT{"মাল্টা"}\r
+        MU{"মৰিছাছ"}\r
         MV{"মালদ্বীপ"}\r
-        MW{"মালাউই"}\r
-        MY{"মাল্যাশিয়া"}\r
-        MZ{"মোজাম্বিক"}\r
+        MW{"মালাৱি"}\r
+        MX{"মেক্সিকো"}\r
+        MY{"মালয়েচিয়া"}\r
+        MZ{"ম’জামবিক"}\r
         NA{"নামিবিয়া"}\r
-        NC{"নতুন ক্যালেডোনিয়া"}\r
-        NE{"নাইজারনদী"}\r
-        NF{"নরফোক দ্বীপ"}\r
-        NG{"নাইজিরিয়াদেশ"}\r
-        NL{"নেদারল্যান্ডস"}\r
-        NO{"নরত্তএদেশ"}\r
+        NC{"নিউ কেলিডোনিয়া"}\r
+        NE{"নাইজাৰ"}\r
+        NF{"ন’ৰফ’ক দ্বীপ"}\r
+        NG{"নাইজেৰিয়া"}\r
+        NI{"নিকাৰাগুৱা"}\r
+        NL{"নেডাৰলেণ্ড"}\r
+        NO{"নৰৱে"}\r
         NP{"নেপাল"}\r
-        NR{"নাà¦\89রà§\81"}\r
-        NU{"নিউ"}\r
-        NZ{"নিà¦\89à¦\9cিলà§\8dযান্ড"}\r
+        NR{"নাà¦\89ৰà§\81"}\r
+        NU{"নিউ"}\r
+        NZ{"নিà¦\89à¦\9cিলà§\87ণ্ড"}\r
         OM{"ওমান"}\r
-        PE{"পেরু"}\r
-        PF{"ফরাসি পলিনেশিয়া"}\r
-        PG{"পাপুয়া নিউ গিনি"}\r
-        PH{"ফিলিপাইন"}\r
+        PA{"পানামা"}\r
+        PE{"পেৰু"}\r
+        PF{"ফ্ৰান্স পোলেনচিয়া"}\r
+        PG{"পাপুৱা নিউ গিনি"}\r
+        PH{"ফিলিপাইনছ"}\r
         PK{"পাকিস্তান"}\r
-        PL{"পোল্যান্ড"}\r
-        PN{"পিটকেয়ার্ন দ্বীপপুঞ্জ"}\r
+        PL{"পোলেণ্ড"}\r
+        PM{"ছেইণ্ট পিয়েৰে আৰু মিকিউৱেলন"}\r
+        PN{"পিটকেইৰ্ণ দ্বীপপুঞ্জ"}\r
+        PR{"পুৱেৰ্টো ৰিকো"}\r
         PS{"ফিলিস্তিন অঞ্চল"}\r
-        PT{"পরà§\8dতà§\81à¦\97াল"}\r
+        PT{"পৰà§\8dতà§\81à¦\97াল"}\r
         PW{"পালাউ"}\r
-        PY{"প্যারাগুয়ে"}\r
-        QA{"কাতার"}\r
-        RE{"সাক্ষাৎ"}\r
-        RO{"রুমানিয়া"}\r
-        RS{"সার্বিয়া"}\r
-        RU{"রাশিয়া"}\r
-        RW{"রুয়ান্ডা"}\r
-        SA{"সৌদি আরব"}\r
-        SB{"সলোমান দ্বীপপুঞ্জ"}\r
-        SC{"সিসিলি"}\r
-        SD{"সুদান"}\r
-        SE{"সুইডেন"}\r
-        SG{"সিঙ্গাপুর"}\r
-        SH{"সেন্ট হেলেনা"}\r
-        SI{"স্লোভানিয়া"}\r
-        SJ{"সাভালবার্ড ও জান মেন"}\r
+        PY{"পাৰাগুৱে"}\r
+        QA{"কাটাৰ"}\r
+        QO{"আউটলায়িং অ’চিয়ানিয়া"}\r
+        RE{"ৰিইউনিয়ন"}\r
+        RO{"ৰোমানিয়া"}\r
+        RS{"ছাৰ্বিয়া"}\r
+        RU{"ৰাছিয়া"}\r
+        RW{"ৰোৱাণ্ডা"}\r
+        SA{"চৌডি আৰবিয়া"}\r
+        SB{"চোলোমোন দ্বীপপুঞ্জ"}\r
+        SC{"ছিচিলিছ"}\r
+        SD{"চুডান"}\r
+        SE{"চুইডেন"}\r
+        SG{"ছিংগাপুৰ"}\r
+        SH{"ছেইণ্ট হেলেনা"}\r
+        SI{"শ্লোভেনিয়া"}\r
+        SJ{"চাভালবাৰ্ড আৰু জন মেয়ন"}\r
         SK{"শ্লোভাকিয়া"}\r
-        SL{"সিয়েরা লিওন"}\r
-        SM{"সান মেরিনো"}\r
-        SN{"সেনেগাল"}\r
-        SO{"সোমালিয়া"}\r
-        SR{"সুরিনাম"}\r
-        SS{"দক্ষিণ সুদান"}\r
-        ST{"সাও টোম এবং প্রিনসিপে"}\r
-        SY{"সিরিয়া"}\r
-        SZ{"সোয়াজিল্যান্ড"}\r
-        TA{"ট্রিস্টান ডা কুনা"}\r
-        TD{"মত্স্যবিশেষ"}\r
+        SL{"চিয়েৰা লিঅ’ন"}\r
+        SM{"চান মাৰিনো"}\r
+        SN{"চেনেগাল"}\r
+        SO{"চোমালিয়া"}\r
+        SR{"ছুৰিনাম"}\r
+        SS{"দক্ষিণ চুডান"}\r
+        ST{"চাও টোমে আৰু প্ৰিনচিপে"}\r
+        SV{"এল ছেলভেড’ৰ"}\r
+        SX{"চিণ্ট মাৰ্টেন"}\r
+        SY{"চিৰিয়া"}\r
+        SZ{"স্বাজিলেণ্ড"}\r
+        TA{"ত্ৰিস্তান দ্যা কুনহা"}\r
+        TC{"টাৰ্কছ অৰু কেইক’ছ দ্বীপপুঞ্জ"}\r
+        TD{"চাড"}\r
         TF{"দক্ষিণ ফ্ৰান্সৰ অঞ্চল"}\r
-        TG{"যাà¦\93"}\r
-        TH{"থাà¦\87লà§\8dযান্ড"}\r
-        TJ{"তাà¦\9cিà¦\95সà§\8dথান"}\r
+        TG{"à¦\9fà§\8bà¦\97à§\8b"}\r
+        TH{"থাà¦\87লà§\87ণ্ড"}\r
+        TJ{"তাà¦\9cিà¦\95িসà§\8dতান"}\r
         TK{"টোকেলাউ"}\r
-        TL{"পূর্ব তিমুর"}\r
-        TM{"তুর্কমেনিয়া"}\r
-        TN{"টিউনিস্"}\r
-        TO{"টাঙ্গা"}\r
-        TR{"তুরস্ক"}\r
+        TL{"টিমোৰ-লেচটে"}\r
+        TM{"তুৰ্কমেনিস্তান"}\r
+        TN{"টুনিচিয়া"}\r
+        TO{"টংগা"}\r
+        TR{"তুৰ্কি"}\r
+        TT{"ট্ৰিনিডাড আৰু টোবাগো"}\r
         TV{"টুভালু"}\r
-        TW{"তাà¦\87à¦\93য়ান"}\r
+        TW{"à¦\9fাà¦\87ৱান"}\r
         TZ{"তাঞ্জানিয়া"}\r
-        UA{"ইউক্রেইন্"}\r
-        UG{"উগান্ডা"}\r
-        UM{"ইউ এস আউটলিং আইল্যান্ডস"}\r
-        US{"যুক্তৰাষ্ট্ৰ"}\r
-        UY{"উরুগুয়ে"}\r
-        UZ{"উজ্বেকিস্থান"}\r
-        VA{"ভ্যাটিকান সিটি"}\r
-        VE{"ভেনেজুয়েলা"}\r
-        VN{"ভিয়েতনাম"}\r
-        VU{"ভানুয়াতু"}\r
-        WF{"ওয়ালিস ও ফুটুনা"}\r
-        WS{"সামোয়া"}\r
-        XK{"কসোভো"}\r
-        YE{"ইমেন"}\r
-        YT{"মায়োত্তে"}\r
-        ZA{"দক্ষিন আফ্রিকা"}\r
+        UA{"ইউক্ৰেইন"}\r
+        UG{"উগাণ্ডা"}\r
+        UM{"ইউ. এছ. আউটলায়িং দ্বীপপুঞ্জ"}\r
+        UN{"ৰাষ্ট্ৰসংঘ"}\r
+        US{"মাৰ্কিন যুক্তৰাষ্ট্ৰ"}\r
+        UY{"উৰুগুৱে"}\r
+        UZ{"উজবেকিস্তান"}\r
+        VA{"ভেটিকান চিটি"}\r
+        VC{"ছেইণ্ট ভিনচেণ্ট আৰু গ্ৰীণাডাইনছ"}\r
+        VE{"ভেনিজুৱেলা"}\r
+        VG{"ব্ৰিটিছ ভাৰ্জিন দ্বীপপুঞ্জ"}\r
+        VI{"ইউ. এছ. ভাৰ্জিন দ্বীপপুঞ্জ"}\r
+        VN{"ভিয়েটনাম"}\r
+        VU{"ভানাটু"}\r
+        WF{"ৱালিছ আৰু ফুটুনা"}\r
+        WS{"চামোৱা"}\r
+        XK{"কচ’ভ’"}\r
+        YE{"য়েমেন"}\r
+        YT{"মায়োট্টে"}\r
+        ZA{"দক্ষিণ আফ্রিকা"}\r
         ZM{"জাম্বিয়া"}\r
-        ZW{"à¦\9cিমà§\8dবাবà§\81য়ে"}\r
-        ZZ{"à¦\85à¦\9cà§\8dà¦\9eাত à¦\85à¦\9eà§\8dà¦\9aল"}\r
+        ZW{"à¦\9cিমà§\8dবাবৱে"}\r
+        ZZ{"à¦\85à¦\9cà§\8dà¦\9eাত à¦\95à§\8dষà§\87তà§\8dৰ"}\r
     }\r
     Countries%short{\r
-        GB{"যà§\81à¦\95à§\8dতরাà¦\9cà§\8dয"}\r
-        HK{"হংকং"}\r
-        MO{"মà§\8dযাà¦\95া"}\r
+        GB{"à¦\87à¦\89. à¦\95à§\87."}\r
+        HK{"হং কং"}\r
+        MO{"মাà¦\95াà¦\89"}\r
         PS{"ফিলিস্তিন"}\r
+        US{"মা. যু."}\r
     }\r
     Countries%variant{\r
         CD{"কঙ্গো (DRC)"}\r
         CG{"কঙ্গো (প্রজাতন্ত্র)"}\r
+        CI{"আইভৰী কোষ্ট"}\r
         CZ{"চেক প্রজাতন্ত্র"}\r
+        MK{"মেচিডোনীয়া (FYROM)"}\r
+        TL{"পূৱ টিমোৰ"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index cd52694..36d8b0c 100644 (file)
@@ -225,5 +225,5 @@ asa{
         ZM{"Dhambia"}\r
         ZW{"Dhimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8dcdccc..807c3a6 100644 (file)
@@ -310,5 +310,5 @@ ast{
         MK{"Macedonia (ARYDM)"}\r
         TL{"Timor Este"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0e794f1..ad881e4 100644 (file)
@@ -31,6 +31,7 @@ az{
         151{"Şərqi Avropa"}\r
         154{"Şimali Avropa"}\r
         155{"Qərbi Avropa"}\r
+        202{"Saharadan cənub"}\r
         419{"Latın Amerikası"}\r
         AC{"Askenson adası"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ az{
         MK{"Makedoniya (KYRM)"}\r
         TL{"Doğu Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8fafedb..e52abaf 100644 (file)
@@ -302,5 +302,5 @@ az_Cyrl{
         FK{"Фолкленд адалары (Малвин адалары)"}\r
         MK{"Македонија (КЈРМ)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6f241fe..0973666 100644 (file)
@@ -224,5 +224,5 @@ bas{
         ZM{"Zàmbià"}\r
         ZW{"Zìmbàbwê"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 54414df..ef224f7 100644 (file)
@@ -31,6 +31,7 @@ be{
         151{"Усходняя Еўропа"}\r
         154{"Паўночная Еўропа"}\r
         155{"Заходняя Еўропа"}\r
+        202{"Трапічная Афрыка"}\r
         419{"Лацінская Амерыка"}\r
         AC{"Востраў Узнясення"}\r
         AD{"Андора"}\r
@@ -310,5 +311,5 @@ be{
         MK{"Македонія (БЮРМ)"}\r
         TL{"Усходні Тымор"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f8a8172..febda35 100644 (file)
@@ -4,5 +4,5 @@ bem{
     Countries{\r
         ZM{"Zambia"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cdf822f..3679314 100644 (file)
@@ -227,5 +227,5 @@ bez{
         ZM{"Huzambia"}\r
         ZW{"Huzimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 612c286..45437be 100644 (file)
@@ -31,6 +31,7 @@ bg{
         151{"Източна Европа"}\r
         154{"Северна Европа"}\r
         155{"Западна Европа"}\r
+        202{"Субсахарска Африка"}\r
         419{"Латинска Америка"}\r
         AC{"остров Възнесение"}\r
         AD{"Андора"}\r
@@ -309,5 +310,5 @@ bg{
         FK{"Фолклендски острови (Малвински острови)"}\r
         MK{"Бивша югославска република Македония"}\r
     }\r
-    Version{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4ae88f5..efbd11b 100644 (file)
@@ -227,5 +227,5 @@ bm{
         ZM{"Zanbi"}\r
         ZW{"Zimbabuwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3041e3b..6b98dea 100644 (file)
@@ -31,6 +31,7 @@ bn{
         151{"পূর্ব ইউরোপ"}\r
         154{"উত্তর ইউরোপ"}\r
         155{"পশ্চিম ইউরোপ"}\r
+        202{"উপ সাহারান আফ্রিকা"}\r
         419{"ল্যাটিন আমেরিকা"}\r
         AC{"অ্যাসসেনশন আইল্যান্ড"}\r
         AD{"আন্ডোরা"}\r
@@ -311,5 +312,5 @@ bn{
         MK{"ম্যাসিডোনিয়া (FYROM)"}\r
         TL{"পূর্ব তিমুর"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e3ccbc3..a92541b 100644 (file)
@@ -8,5 +8,5 @@ bn_IN{
     Countries%variant{\r
         CD{"কঙ্গো (DRC)"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 872bd88..c27f0f2 100644 (file)
@@ -15,5 +15,5 @@ bo{
         US{"ཨ་མེ་རི་ཀ།"}\r
         ZZ{"མིའི་ཤེས་རྟོགས་མ་བྱུང་བའི་ཁོར་ཡུག"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c031e66..4f67550 100644 (file)
@@ -4,5 +4,5 @@ bo_IN{
     Countries{\r
         009{"ཨོཤི་ཡཱན་ན།"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a67e0cf..09fc380 100644 (file)
@@ -31,6 +31,7 @@ br{
         151{"Europa ar Reter"}\r
         154{"Europa an Norzh"}\r
         155{"Europa ar Cʼhornôg"}\r
+        202{"Afrika issaharat"}\r
         419{"Amerika Latin"}\r
         AC{"Enez Ascension"}\r
         AD{"Andorra"}\r
@@ -89,7 +90,7 @@ br{
         CW{"Curaçao"}\r
         CX{"Enez Christmas"}\r
         CY{"Kiprenez"}\r
-        CZ{"Republik Tchek"}\r
+        CZ{"Tchekia"}\r
         DE{"Alamagn"}\r
         DG{"Diego Garcia"}\r
         DJ{"Djibouti"}\r
@@ -106,6 +107,7 @@ br{
         ES{"Spagn"}\r
         ET{"Etiopia"}\r
         EU{"Unaniezh Europa"}\r
+        EZ{"takad an euro"}\r
         FI{"Finland"}\r
         FJ{"Fidji"}\r
         FK{"Inizi Falkland"}\r
@@ -272,6 +274,7 @@ br{
         UA{"Ukraina"}\r
         UG{"Ouganda"}\r
         UM{"Inizi diabell ar Stadoù-Unanet"}\r
+        UN{"Broadoù unanet"}\r
         US{"Stadoù-Unanet"}\r
         UY{"Uruguay"}\r
         UZ{"Ouzbekistan"}\r
@@ -303,9 +306,10 @@ br{
         CD{"Kongo (RDK)"}\r
         CG{"Kongo (Republik)"}\r
         CI{"Aod Olifant"}\r
+        CZ{"Republik Tchek"}\r
         FK{"Inizi Falkland (Inizi Maloù)"}\r
         MK{"Makedonia (RYKM)"}\r
         TL{"Timor ar Reter"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1d9243e..91e76ad 100644 (file)
@@ -281,5 +281,5 @@ brx{
         ZW{"ज़ीम्बाब्वे"}\r
         ZZ{"अज्ञात या अवैध प्रदेश"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f05e707..8946456 100644 (file)
@@ -31,6 +31,7 @@ bs{
         151{"Istočna Evropa"}\r
         154{"Sjeverna Evropa"}\r
         155{"Zapadna Evropa"}\r
+        202{"Subsaharska Afrika"}\r
         419{"Latinska Amerika"}\r
         AC{"Ostrvo Ascension"}\r
         AD{"Andora"}\r
@@ -311,5 +312,5 @@ bs{
         MK{"Makedonija (BJR)"}\r
         TL{"TL"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b1cf455..5cf6d40 100644 (file)
@@ -308,5 +308,5 @@ bs_Cyrl{
         FK{"Фокландска (Малвинска) острва"}\r
         MK{"Македонија (БЈР)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6b3a508..8955b83 100644 (file)
@@ -31,6 +31,7 @@ ca{
         151{"Europa oriental"}\r
         154{"Europa septentrional"}\r
         155{"Europa occidental"}\r
+        202{"Àfrica subsahariana"}\r
         419{"Amèrica Llatina"}\r
         AC{"Illa de l’Ascensió"}\r
         AD{"Andorra"}\r
@@ -309,5 +310,5 @@ ca{
         FK{"Illes Malvines (Illes Falkland)"}\r
         MK{"Macedònia (Antiga República Iugoslava de Macedònia)"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 72975c4..5e455a3 100644 (file)
@@ -322,5 +322,5 @@ ccp{
         MK{"𑄟𑄬𑄥𑄨𑄓𑄮𑄚𑄠(FYROM)"}\r
         TL{"𑄛𑄪𑄉𑄮 𑄖𑄨𑄟𑄪𑄢𑄴"}\r
     }\r
-    Version{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e994130..d701c67 100644 (file)
@@ -308,5 +308,5 @@ ce{
         FK{"Фолклендан гӀайренаш (Мальвинаш)"}\r
         TL{"Тимор-Лесте"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a0a7352..d267c6c 100644 (file)
@@ -225,5 +225,5 @@ cgg{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b625adb..9883db4 100644 (file)
@@ -31,12 +31,13 @@ chr{
         151{"ᏗᎧᎸᎬ ᏗᏜ ᏳᎳᏛ"}\r
         154{"ᏧᏴᏢ ᏗᏜ ᏳᎳᏛ"}\r
         155{"ᏭᏕᎵᎬ ᏗᏜ ᏳᎳᏛ"}\r
+        202{"ᎭᏫᏂ-ᏌᎭᏩ ᎬᎿᎨᏍᏛ"}\r
         419{"ᎳᏘᏂ ᎠᎹᏰᏟ"}\r
         AC{"ᎤᎵᏌᎳᏓᏅ ᎤᎦᏚᏛᎢ"}\r
         AD{"ᎠᏂᏙᎳ"}\r
         AE{"ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᎡᎳᏈ ᎢᎹᎵᏘᏏ"}\r
         AF{"ᎠᏫᎨᏂᏍᏖᏂ"}\r
-        AG{"ᎤᏪᏘ ᎠᎴ ᏆᏊᏓ"}\r
+        AG{"ᎤᏪᏘ & ᏆᏊᏓ"}\r
         AI{"ᎠᏂᎩᎳ"}\r
         AL{"ᎠᎵᏇᏂᏯ"}\r
         AM{"ᎠᎵᎻᏂᎠ"}\r
@@ -49,7 +50,7 @@ chr{
         AW{"ᎠᎷᏆ"}\r
         AX{"ᎣᎴᏅᏓ ᏚᎦᏚᏛᎢ"}\r
         AZ{"ᎠᏎᏆᏣᏂ"}\r
-        BA{"ᏉᏏᏂᎠ ᎠᎴ ᎲᏤᎪᏫ"}\r
+        BA{"ᏉᏏᏂᎠ & ᎲᏤᎪᏫ"}\r
         BB{"ᏆᏇᏙᏍ"}\r
         BD{"ᏆᏂᎦᎵᏕᏍ"}\r
         BE{"ᏇᎵᏥᎥᎻ"}\r
@@ -184,7 +185,7 @@ chr{
         MH{"ᎹᏌᎵ ᏚᎦᏚᏛᎢ"}\r
         MK{"ᎹᏎᏙᏂᏯ"}\r
         ML{"ᎹᎵ"}\r
-        MM{"ᎹᏯᎹᎵ"}\r
+        MM{"ᎹᏯᎹᎵ (ᏇᎵᎹ)"}\r
         MN{"ᎹᏂᎪᎵᎠ"}\r
         MO{"ᎹᎧᎣ (ᎤᏓᏤᎵᏓ ᏧᏂᎸᏫᏍᏓᏁᏗ ᎢᎬᎾᏕᎾ) ᏣᎢ"}\r
         MP{"ᏧᏴᏢ ᏗᏜ ᎹᎵᎠᎾ ᏚᎦᏚᏛᎢ"}\r
@@ -310,5 +311,5 @@ chr{
         MK{"ᎹᏎᏙᏂᏯ (FYROM)"}\r
         TL{"ᏗᎧᎸᎬᎢ ᏘᎼᎵ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 40522de..4289f33 100644 (file)
@@ -197,5 +197,5 @@ ckb{
         CD{"کۆماری دیموکراتیکی کۆنگۆ"}\r
         CG{"کۆماری کۆنگۆ"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
 }\r
index d82e626..c5e3574 100644 (file)
@@ -31,6 +31,7 @@ cs{
         151{"východní Evropa"}\r
         154{"severní Evropa"}\r
         155{"západní Evropa"}\r
+        202{"subsaharská Afrika"}\r
         419{"Latinská Amerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -310,5 +311,5 @@ cs{
         FK{"Falklandské ostrovy (Malvíny)"}\r
         MK{"Makedonie (FYROM)"}\r
     }\r
-    Version{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
 }\r
index d17ff50..5d2c2c3 100644 (file)
@@ -31,6 +31,7 @@ cy{
         151{"Dwyrain Ewrop"}\r
         154{"Gogledd Ewrop"}\r
         155{"Gorllewin Ewrop"}\r
+        202{"Affrica Is-Sahara"}\r
         419{"America Ladin"}\r
         AC{"Ynys Ascension"}\r
         AD{"Andorra"}\r
@@ -49,7 +50,7 @@ cy{
         AW{"Aruba"}\r
         AX{"Ynysoedd Åland"}\r
         AZ{"Azerbaijan"}\r
-        BA{"Bosnia a Herzegovina"}\r
+        BA{"Bosnia & Herzegovina"}\r
         BB{"Barbados"}\r
         BD{"Bangladesh"}\r
         BE{"Gwlad Belg"}\r
@@ -311,5 +312,5 @@ cy{
         MK{"Macedonia (CWIM)"}\r
         TL{"Dwyrain Timor"}\r
     }\r
-    Version{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7a397e7..5743583 100644 (file)
@@ -31,6 +31,7 @@ da{
         151{"Østeuropa"}\r
         154{"Nordeuropa"}\r
         155{"Vesteuropa"}\r
+        202{"Afrika syd for Sahara"}\r
         419{"Latinamerika"}\r
         AC{"Ascensionøen"}\r
         AD{"Andorra"}\r
@@ -310,5 +311,5 @@ da{
         MK{"Den tidligere jugoslaviske republik Makedonien"}\r
         TL{"Østtimor"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 678345d..c61698b 100644 (file)
@@ -227,5 +227,5 @@ dav{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 86abd29..bda4650 100644 (file)
@@ -311,5 +311,5 @@ de{
         MK{"Mazedonien (EJR)"}\r
         TL{"Osttimor"}\r
     }\r
-    Version{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
 }\r
index a291c47..4882c7e 100644 (file)
@@ -4,5 +4,5 @@ de_AT{
     Countries{\r
         SJ{"Svalbard und Jan Mayen"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index bfcd0fa..b125e08 100644 (file)
@@ -12,5 +12,5 @@ de_CH{
         TL{"Osttimor"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
 }\r
index 23f5b07..32842ae 100644 (file)
@@ -226,5 +226,5 @@ dje{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ed41d1f..0cb7fd5 100644 (file)
@@ -307,5 +307,5 @@ dsb{
         MK{"Makedońska (PRJ)"}\r
         TL{"Pódzajtšny Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 91846be..15112e9 100644 (file)
@@ -4,5 +4,5 @@ dua{
     Countries{\r
         CM{"Cameroun"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ac5d191..4ed7234 100644 (file)
@@ -111,5 +111,5 @@ dyo{
         TG{"Togo"}\r
         TH{"Tailand"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index cde3f21..cdc7934 100644 (file)
@@ -303,5 +303,5 @@ dz{
         MK{"མ་སེ་ཌོ་ནི་ཡ་ (ཡུ་གོ་སླཱ་བི་ཡ)"}\r
         TL{"ཤར་ཕྱོགས་ཏི་་མོར"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 655d40f..f979f71 100644 (file)
@@ -227,5 +227,5 @@ ebu{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index db09f25..852ce20 100644 (file)
@@ -298,5 +298,5 @@ ee{
         MK{"Makedonia (FYROM) nutome"}\r
         TL{"Ɣedzeƒe Timɔ nutome"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ee798ce..756ad29 100644 (file)
@@ -31,6 +31,7 @@ el{
         151{"Ανατολική Ευρώπη"}\r
         154{"Βόρεια Ευρώπη"}\r
         155{"Δυτική Ευρώπη"}\r
+        202{"202"}\r
         419{"Λατινική Αμερική"}\r
         AC{"Νήσος Ασενσιόν"}\r
         AD{"Ανδόρα"}\r
@@ -305,10 +306,11 @@ el{
     Countries%variant{\r
         CD{"Κονγκό (DRC)"}\r
         CG{"Κονγκό (Δημοκρατία)"}\r
+        CI{"CI"}\r
         CZ{"Τσεχική Δημοκρατία"}\r
         FK{"Νήσοι Φόκλαντ (Νήσοι Μαλβίνας)"}\r
         MK{"Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας (ΠΓΔΜ)"}\r
         TL{"Ανατολικό Τιμόρ"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 6a57694..b3249af 100644 (file)
@@ -314,5 +314,5 @@ en{
         MK{"Macedonia (FYROM)"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
 }\r
index 4c92182..bc9e517 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8a0d454..77b05c3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 07cb4ef..beab069 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4310ea..e7db69b 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 628e600..5171867 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AU{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 84a0efd..9ed875f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e58d31c..79bbbec 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3b9186..1221395 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95e82b5..2302f22 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a73b7bc..c19e046 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5891076..7a35027 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f89edb2..257f304 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index a54c911..be9edae 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0f0a97..7f88422 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f59d92a..412c586 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5aacc7b..a5cccf6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c9c483..671fbc2 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72ed165..60e8574 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d758dd..b875050 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e767286..a597d81 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b548583..0895e8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7fd2c9a..8d07c9f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d35b004..5440566 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 86f8e9d..1262667 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5df30b2..dcebb46 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2dcb8e4..4f05292 100644 (file)
@@ -16,5 +16,5 @@ en_GB{
     Countries%short{\r
         US{"US"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 7921b24..f97da06 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c0d3839..446b666 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b66f585..2cbef88 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5fe0d68..0011868 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1a05f40..d1321fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f7397d6..fd7bc58 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a04a10..e057509 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 18bb2f3..56507ab 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76bee45..f1deccb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e66ecc0..334249a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 81711c1..55ab372 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{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 2b8ba3f..30f0e6c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c47ce4e..58a67ff 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d812c18..47beda6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b11b581..08c9c35 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 899b1ea..e32ac54 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35fb03c..5071564 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd356e9..f41f763 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bfd0689..266321d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc63c0..299bf7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b723857..58abc12 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f967e69..4931947 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f6dfb6a..f86302e 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a027fc6..6f2ffa6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8464a2e..6c3347d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 890b025..ea74072 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 873b8e1..cdfcd49 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b36d9ba..9ceae05 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5f0af42..e4f578d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 358d626..f6a4801 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 745a114..c6fd6e5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9d0d0cd..aa5abc8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 165856c..6f449af 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 266914a..3ed1d47 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 882fc99..b470846 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 6aa4d92..b38e2e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 080d0e6..95260de 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fef2013..b579c0d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4094568..c2a368a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 30541dc..ce9d554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76b4d89..290785c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e2de69a..b43b4f6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77c65fa..f714f79 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 87a33e2..59aff7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 264d713..385979d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5250ec4..78699e3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cf6ab49..b7760f3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59ccb39..3dd1ef3 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3e61485..3f479d4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2b3a430..5eb9913 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ec1778f..e557d34 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cc8b6f1..3f88c75 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 020c31b..57b8d9b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d27b6ec..e1d7464 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 21b8b30..4901b27 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4ebd07d..2138644 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5e30f2b..1bd5428 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eaac010..8c7bdb7 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12317cf..b20e591 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12b8824..8eba2ed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c90fd7..5ce4a40 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa82ef7..dde447b 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 19ed0d0..de58bed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bb5dbed..3c7e040 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 26656a1..67f3cb4 100644 (file)
@@ -226,5 +226,5 @@ eo{
         ZM{"Zambio"}\r
         ZW{"Zimbabvo"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5fa840e..9e6a2d2 100644 (file)
@@ -31,6 +31,7 @@ es{
         151{"Europa oriental"}\r
         154{"Europa septentrional"}\r
         155{"Europa occidental"}\r
+        202{"África subsahariana"}\r
         419{"Latinoamérica"}\r
         AC{"Isla de la Ascensión"}\r
         AD{"Andorra"}\r
@@ -310,5 +311,5 @@ es{
         MK{"Macedonia (ERYM)"}\r
         TL{"Timor Oriental"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 623a623..1eacab5 100644 (file)
@@ -30,5 +30,5 @@ es_419{
     Countries%short{\r
         GB{"R. U."}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 524d4d8..c504b92 100644 (file)
@@ -12,5 +12,5 @@ es_AR{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
 }\r
index fc4160d..ef2eaad 100644 (file)
@@ -11,5 +11,5 @@ es_BO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e68498b..fb21200 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa10911..fa5a9f6 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{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dec4378..59bbd08 100644 (file)
@@ -12,5 +12,5 @@ es_CL{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 23c0924..99d24df 100644 (file)
@@ -12,5 +12,5 @@ es_CO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index cc1e54f..ab08fe2 100644 (file)
@@ -11,5 +11,5 @@ es_CR{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 66f010e..b2e6637 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1f5a927..4d3922b 100644 (file)
@@ -11,5 +11,5 @@ es_DO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7f4dc90..85f044b 100644 (file)
@@ -11,5 +11,5 @@ es_EC{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ff3eb0c..ff7222e 100644 (file)
@@ -11,5 +11,5 @@ es_GT{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 944b45c..3b02a17 100644 (file)
@@ -11,5 +11,5 @@ es_HN{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 06f5fb6..c583d92 100644 (file)
@@ -29,5 +29,5 @@ es_MX{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
 }\r
index d3929ba..9f36efd 100644 (file)
@@ -11,5 +11,5 @@ es_NI{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c8836aa..626762e 100644 (file)
@@ -11,5 +11,5 @@ es_PA{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 518c997..ee05e8d 100644 (file)
@@ -11,5 +11,5 @@ es_PE{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 8cfbf7a..3b6c18a 100644 (file)
@@ -5,5 +5,5 @@ es_PR{
     Countries{\r
         UM{"Islas menores alejadas de EE. UU."}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 91e65a4..2f00011 100644 (file)
@@ -11,5 +11,5 @@ es_PY{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3d92d41..cb6aec9 100644 (file)
@@ -5,5 +5,5 @@ es_SV{
     Countries{\r
         UM{"Islas menores alejadas de EE. UU."}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index dcef3b7..47cff7f 100644 (file)
@@ -32,5 +32,5 @@ es_US{
         CI{"CI"}\r
         TL{"TL"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 5d07624..93c3e61 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index efc3a23..2158682 100644 (file)
@@ -11,5 +11,5 @@ es_VE{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 25b35ec..51a8849 100644 (file)
@@ -31,6 +31,7 @@ et{
         151{"Ida-Euroopa"}\r
         154{"Põhja-Euroopa"}\r
         155{"Lääne-Euroopa"}\r
+        202{"Sahara-tagune Aafrika"}\r
         419{"Ladina-Ameerika"}\r
         AC{"Ascensioni saar"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ et{
         MK{"Makedoonia Vabariik"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c8141b6..9da763f 100644 (file)
@@ -31,6 +31,7 @@ eu{
         151{"Europa ekialdea"}\r
         154{"Europa iparraldea"}\r
         155{"Europa mendebaldea"}\r
+        202{"Saharaz hegoaldeko Afrika"}\r
         419{"Latinoamerika"}\r
         AC{"Ascension uhartea"}\r
         AD{"Andorra"}\r
@@ -304,9 +305,11 @@ eu{
     Countries%variant{\r
         CD{"Kongo (DR)"}\r
         CG{"Kongoko Errepublika"}\r
+        CI{"CI"}\r
         CZ{"Txekiar Errepublika"}\r
         FK{"Falkland uharteak"}\r
         MK{"Mazedoniako Jugoslaviar Errepublika Ohia"}\r
+        TL{"TL"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c888837..b05b7ef 100644 (file)
@@ -227,5 +227,5 @@ ewo{
         ZM{"Zambí"}\r
         ZW{"Zimbabwé"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9d9dd8b..74f8204 100644 (file)
@@ -31,6 +31,7 @@ fa{
         151{"شرق اروپا"}\r
         154{"شمال اروپا"}\r
         155{"غرب اروپا"}\r
+        202{"افریقای سیاه"}\r
         419{"امریکای لاتین"}\r
         AC{"جزایر آسنسیون"}\r
         AD{"آندورا"}\r
@@ -310,5 +311,5 @@ fa{
         MK{"مقدونیه (جمهوری سابقاً یوگسلاو)"}\r
         TL{"تیمور شرقی"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b954c2a..c14f5f0 100644 (file)
@@ -94,5 +94,5 @@ fa_AF{
         XK{"کوسوا"}\r
         ZW{"زیمبابوی"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index df919f2..690954f 100644 (file)
@@ -227,5 +227,5 @@ ff{
         ZM{"Sammbi"}\r
         ZW{"Simbaabuwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4eaec95..25b028d 100644 (file)
@@ -31,6 +31,7 @@ fi{
         151{"Itä-Eurooppa"}\r
         154{"Pohjois-Eurooppa"}\r
         155{"Länsi-Eurooppa"}\r
+        202{"Saharan eteläpuolinen Afrikka"}\r
         419{"Latinalainen Amerikka"}\r
         AC{"Ascension-saari"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ fi{
         MK{"EJT Makedonia"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 7f49183..00f8c24 100644 (file)
@@ -31,6 +31,7 @@ fil{
         151{"Silangang Europe"}\r
         154{"Hilagang Europe"}\r
         155{"Kanlurang Europe"}\r
+        202{"Sub-Saharan Africa"}\r
         419{"Latin America"}\r
         AC{"Acsencion island"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ fil{
         MK{"Macedonia (FYROM)"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2be5732..e632119 100644 (file)
@@ -31,6 +31,7 @@ fo{
         151{"Eysturevropa"}\r
         154{"Norðurevropa"}\r
         155{"Vesturevropa"}\r
+        202{"Afrika sunnanfyri Sahara"}\r
         419{"Latínamerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -58,7 +59,7 @@ fo{
         BH{"Barein"}\r
         BI{"Burundi"}\r
         BJ{"Benin"}\r
-        BL{"St-Barthélemy"}\r
+        BL{"StBarthélemy"}\r
         BM{"Bermuda"}\r
         BN{"Brunei"}\r
         BO{"Bolivia"}\r
@@ -97,7 +98,7 @@ fo{
         DM{"Dominika"}\r
         DO{"Dominikalýðveldið"}\r
         DZ{"Algeria"}\r
-        EA{"Ceuta og Melilla"}\r
+        EA{"Ceuta & Melilla"}\r
         EC{"Ekvador"}\r
         EE{"Estland"}\r
         EG{"Egyptaland"}\r
@@ -218,7 +219,7 @@ fo{
         PH{"Filipsoyggjar"}\r
         PK{"Pakistan"}\r
         PL{"Pólland"}\r
-        PM{"Saint Pierre og Miquelon"}\r
+        PM{"Saint Pierre & Miquelon"}\r
         PN{"Pitcairnoyggjar"}\r
         PR{"Puerto Riko"}\r
         PS{"Palestinskt landøki"}\r
@@ -302,7 +303,8 @@ fo{
         US{"USA"}\r
     }\r
     Countries%variant{\r
+        FK{"Falklandsoyggjar (Islas Malvinas)"}\r
         MK{"Makedónia (FJM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1bd83dc..1bbe7c9 100644 (file)
@@ -31,6 +31,7 @@ fr{
         151{"Europe de l’Est"}\r
         154{"Europe septentrionale"}\r
         155{"Europe occidentale"}\r
+        202{"Afrique subsaharienne"}\r
         419{"Amérique latine"}\r
         AC{"Île de l’Ascension"}\r
         AD{"Andorre"}\r
@@ -311,5 +312,5 @@ fr{
         MK{"Macédoine (ARYM)"}\r
         TL{"Timor-Oriental"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index b8a4a42..b731710 100644 (file)
@@ -5,5 +5,5 @@ fr_BE{
         BN{"Brunei"}\r
         GS{"Îles Géorgie du Sud et Sandwich du Sud"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1b88ccf..aa3b634 100644 (file)
@@ -39,5 +39,5 @@ fr_CA{
         FK{"îles Falkland (Malouines)"}\r
         TL{"Timor oriental"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 030a66f..3ee825f 100644 (file)
@@ -296,5 +296,5 @@ fur{
         FK{"Isulis Falkland (Isulis Malvinas)"}\r
         MK{"Macedonie (FYROM)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9af2a33..224d882 100644 (file)
@@ -305,5 +305,5 @@ fy{
         FK{"Falklâneilannen (Islas Malvinas)"}\r
         MK{"Macedonië (FYROM)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c6c5924..6cd2c88 100644 (file)
@@ -31,6 +31,7 @@ ga{
         151{"Oirthear na hEorpa"}\r
         154{"Tuaisceart na hEorpa"}\r
         155{"Iarthar na hEorpa"}\r
+        202{"an Afraic fho-Shahárach"}\r
         419{"Meiriceá Laidineach"}\r
         AC{"Oileán na Deascabhála"}\r
         AD{"Andóra"}\r
@@ -305,9 +306,10 @@ ga{
     Countries%variant{\r
         CD{"an Congó (PDC)"}\r
         CG{"an Congó (Poblacht)"}\r
+        CI{"Côte d’Ivoire"}\r
         CZ{"Poblacht na Seice"}\r
         FK{"Oileáin Fháclainne (Islas Malvinas)"}\r
         MK{"an Mhacadóin (PIIM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index dffdda9..a647c53 100644 (file)
@@ -310,5 +310,5 @@ gd{
         MK{"A’ Mhasadon (FYROM)"}\r
         TL{"Tìomor an Ear"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b9eda8c..f06961a 100644 (file)
@@ -31,6 +31,7 @@ gl{
         151{"Europa do Leste"}\r
         154{"Europa Setentrional"}\r
         155{"Europa Occidental"}\r
+        202{"África subsahariana"}\r
         419{"América Latina"}\r
         AC{"Illa de Ascensión"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ gl{
         MK{"Macedonia (ARIM)"}\r
         TL{"TL"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 54d9b63..d6dbb3a 100644 (file)
@@ -288,5 +288,5 @@ gsw{
     Countries%variant{\r
         MK{"Mazedoonie (EJRM)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1d9c5b4..65c2602 100644 (file)
@@ -31,6 +31,7 @@ gu{
         151{"પૂર્વીય યુરોપ"}\r
         154{"ઉત્તરીય યુરોપ"}\r
         155{"પશ્ચિમી યુરોપ"}\r
+        202{"સબ-સહારન આફ્રિકા"}\r
         419{"લેટિન અમેરિકા"}\r
         AC{"એસેન્શન આઇલેન્ડ"}\r
         AD{"ઍંડોરા"}\r
@@ -311,5 +312,5 @@ gu{
         MK{"મેસેડોનિયા (FYROM)"}\r
         TL{"પૂર્વ તિમોર"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2b2155c..1b1af2e 100644 (file)
@@ -227,5 +227,5 @@ guz{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c1413a6..8793a70 100644 (file)
@@ -5,5 +5,5 @@ gv{
         GB{"Rywvaneth Unys"}\r
         IM{"Ellan Vannin"}\r
     }\r
-    Version{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4555ab..ceafc4d 100644 (file)
@@ -227,5 +227,5 @@ ha{
         ZM{"Zambiya"}\r
         ZW{"Zimbabuwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bf1874b..56154a3 100644 (file)
@@ -23,5 +23,5 @@ haw{
         RU{"Lūkia"}\r
         US{"ʻAmelika Hui Pū ʻIa"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c90d626..a673f59 100644 (file)
@@ -31,6 +31,7 @@ he{
         151{"מזרח אירופה"}\r
         154{"צפון אירופה"}\r
         155{"מערב אירופה"}\r
+        202{"אפריקה שמדרום לסהרה"}\r
         419{"אמריקה הלטינית"}\r
         AC{"האי אסנשן"}\r
         AD{"אנדורה"}\r
@@ -309,5 +310,5 @@ he{
         MK{"מקדוניה (הרפובליקה היוגוסלבית לשעבר של מקדוניה)"}\r
         TL{"מזרח טימור"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 4e50be9..215d260 100644 (file)
@@ -31,6 +31,7 @@ hi{
         151{"पूर्वी यूरोप"}\r
         154{"उत्तरी यूरोप"}\r
         155{"पश्चिमी यूरोप"}\r
+        202{"उप-सहारा अफ़्रीका"}\r
         419{"लैटिन अमेरिका"}\r
         AC{"असेंशन द्वीप"}\r
         AD{"एंडोरा"}\r
@@ -311,5 +312,5 @@ hi{
         MK{"मकदूनिया (FYROM)"}\r
         TL{"पूर्वी तिमोर"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 019e986..9989043 100644 (file)
@@ -31,6 +31,7 @@ hr{
         151{"Istočna Europa"}\r
         154{"Sjeverna Europa"}\r
         155{"Zapadna Europa"}\r
+        202{"Subsaharska Afrika"}\r
         419{"Latinska Amerika"}\r
         AC{"Otok Ascension"}\r
         AD{"Andora"}\r
@@ -221,7 +222,7 @@ hr{
         PM{"Sveti Petar i Mikelon"}\r
         PN{"Otoci Pitcairn"}\r
         PR{"Portoriko"}\r
-        PS{"Palestinsko Područje"}\r
+        PS{"Palestinsko područje"}\r
         PT{"Portugal"}\r
         PW{"Palau"}\r
         PY{"Paragvaj"}\r
@@ -311,5 +312,5 @@ hr{
         MK{"Makedonija (BJRM)"}\r
         TL{"Istočni Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fa8e5fd..7e57f1c 100644 (file)
@@ -307,5 +307,5 @@ hsb{
         MK{"Makedonska (FYROM)"}\r
         TL{"Wuchodny Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 79b70c2..cbda036 100644 (file)
@@ -31,6 +31,7 @@ hu{
         151{"Kelet-Európa"}\r
         154{"Észak-Európa"}\r
         155{"Nyugat-Európa"}\r
+        202{"Szubszaharai Afrika"}\r
         419{"Latin-Amerika"}\r
         AC{"Ascension-sziget"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ hu{
         MK{"Macedónia (MVJK)"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 5263350..caf835c 100644 (file)
@@ -31,6 +31,7 @@ hy{
         151{"Արևելյան Եվրոպա"}\r
         154{"Հյուսիսային Եվրոպա"}\r
         155{"Արևմտյան Եվրոպա"}\r
+        202{"Արևադարձային Աֆրիկա"}\r
         419{"Լատինական Ամերիկա"}\r
         AC{"Համբարձման կղզի"}\r
         AD{"Անդորրա"}\r
@@ -311,5 +312,5 @@ hy{
         MK{"Մակեդոնիա (ՄՆՀՀ)"}\r
         TL{"Արևելյան Թիմոր"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a397474..10d2812 100644 (file)
@@ -31,6 +31,7 @@ id{
         151{"Eropa Bagian Timur"}\r
         154{"Eropa Bagian Utara"}\r
         155{"Eropa Bagian Barat"}\r
+        202{"Afrika Sub-Sahara"}\r
         419{"Amerika Latin"}\r
         AC{"Pulau Ascension"}\r
         AD{"Andorra"}\r
@@ -309,5 +310,5 @@ id{
         FK{"Kepulauan Malvinas (Falkland)"}\r
         MK{"Makedonia (BRY)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 49552dc..46f8c50 100644 (file)
@@ -11,5 +11,5 @@ ig{
         MV{"Maldivesa"}\r
         NG{"Naịjịrịa"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3720ed4..499d795 100644 (file)
@@ -14,5 +14,5 @@ ii{
         US{"ꂰꇩ"}\r
         ZZ{"ꃅꄷꅉꀋꐚꌠ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dae6d2d..195e896 100644 (file)
@@ -31,6 +31,7 @@ is{
         151{"Austur-Evrópa"}\r
         154{"Norður-Evrópa"}\r
         155{"Vestur-Evrópa"}\r
+        202{"Afríka sunnan Sahara"}\r
         419{"Rómanska Ameríka"}\r
         AC{"Ascension-eyja"}\r
         AD{"Andorra"}\r
@@ -76,7 +77,7 @@ is{
         CF{"Mið-Afríkulýðveldið"}\r
         CG{"Kongó-Brazzaville"}\r
         CH{"Sviss"}\r
-        CI{"Fílabeinsströndin"}\r
+        CI{"Côte d’Ivoire"}\r
         CK{"Cooks-eyjar"}\r
         CL{"Síle"}\r
         CM{"Kamerún"}\r
@@ -305,9 +306,10 @@ is{
     Countries%variant{\r
         CD{"Kongó (Lýðstjórnarlýðveldið)"}\r
         CG{"Kongó (Lýðveldið)"}\r
+        CI{"Fílabeinsströndin"}\r
         FK{"Falklandseyjar (Malvinas)"}\r
         MK{"Makedónía (Fyrrverandi lýðveldi Júgóslavíu)"}\r
         TL{"Austur-Tímor"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 267f49b..c7572e7 100644 (file)
@@ -31,6 +31,7 @@ it{
         151{"Europa orientale"}\r
         154{"Europa settentrionale"}\r
         155{"Europa occidentale"}\r
+        202{"Africa subsahariana"}\r
         419{"America Latina"}\r
         AC{"Isola Ascensione"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ it{
         MK{"Ex Repubblica Jugoslava di Macedonia"}\r
         TL{"Timor Leste"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
 }\r
index 9e0c1b1..5d9f59d 100644 (file)
@@ -31,6 +31,7 @@ ja{
         151{"東ヨーロッパ"}\r
         154{"北ヨーロッパ"}\r
         155{"西ヨーロッパ"}\r
+        202{"サブサハラアフリカ"}\r
         419{"ラテンアメリカ"}\r
         AC{"アセンション島"}\r
         AD{"アンドラ"}\r
@@ -311,5 +312,5 @@ ja{
         MK{"マケドニア(旧ユーゴスラビア共和国)"}\r
         TL{"東チモール"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 6885274..2492e34 100644 (file)
@@ -85,5 +85,5 @@ jgo{
         ZW{"Zimbámbwɛ"}\r
         ZZ{"ŋgɔŋ yi pɛ́ ká kɛ́ jʉɔ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 29f4ac5..138f2b1 100644 (file)
@@ -227,5 +227,5 @@ jmc{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ee2e385..8b52ef5 100644 (file)
@@ -31,6 +31,7 @@ ka{
         151{"აღმოსავლეთ ევროპა"}\r
         154{"ჩრდილოეთ ევროპა"}\r
         155{"დასავლეთ ევროპა"}\r
+        202{"სუბსაჰარული აფრიკა"}\r
         419{"ლათინური ამერიკა"}\r
         AC{"ამაღლების კუნძული"}\r
         AD{"ანდორა"}\r
@@ -311,5 +312,5 @@ ka{
         MK{"მაკედონია (ყოფილი იუგოსლავიის რესპუბლიკა მაკედონია)"}\r
         TL{"აღმოსავლეთ ტიმორი"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 760da6e..db64ae5 100644 (file)
@@ -227,5 +227,5 @@ kab{
         ZM{"Zambya"}\r
         ZW{"Zimbabwi"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8f6f695..4faa3ea 100644 (file)
@@ -227,5 +227,5 @@ kam{
         ZM{"Nzambia"}\r
         ZW{"Nzimbambwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7bf80a0..1d49208 100644 (file)
@@ -227,5 +227,5 @@ kde{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c04d288..cdafffd 100644 (file)
@@ -306,5 +306,5 @@ kea{
         FK{"Ilhas Falkland (Ilhas Malvinas)"}\r
         MK{"Masidónia (FYROM)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8a56183..8f7c312 100644 (file)
@@ -227,5 +227,5 @@ khq{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8f3c350..390c8d9 100644 (file)
@@ -227,5 +227,5 @@ ki{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0d635ec..bcd2afc 100644 (file)
@@ -31,6 +31,7 @@ kk{
         151{"Шығыс Еуропа"}\r
         154{"Солтүстік Еуропа"}\r
         155{"Батыс Еуропа"}\r
+        202{"Субсахаралық Африка"}\r
         419{"Латын Америкасы"}\r
         AC{"Әскенжін аралы"}\r
         AD{"Андорра"}\r
@@ -305,10 +306,11 @@ kk{
     Countries%variant{\r
         CD{"Конго Демократиялық Республикасы"}\r
         CG{"Конго Республикасы"}\r
+        CI{"Піл Сүйегі жағалауы"}\r
         CZ{"Чех Республикасы"}\r
         FK{"Фолкленд аралдары (Мальвин аралдары)"}\r
         MK{"Македония Республикасы"}\r
         TL{"Шығыс Тимор"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 42496c2..c0c3495 100644 (file)
@@ -4,5 +4,5 @@ kkj{
     Countries{\r
         CM{"Kamɛrun"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c4eb30a..8c2cc80 100644 (file)
@@ -4,5 +4,5 @@ kl{
     Countries{\r
         GL{"Kalaallit Nunaat"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6086e4f..b6336a2 100644 (file)
@@ -227,5 +227,5 @@ kln{
         ZM{"Emetab Zambia"}\r
         ZW{"Emetab Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9dfc07e..d7f4de2 100644 (file)
@@ -31,6 +31,7 @@ km{
         151{"អឺរ៉ុប​ខាង​កើត"}\r
         154{"អឺរ៉ុប​ខាង​ជើង"}\r
         155{"អឺរ៉ុប​ខាង​លិច"}\r
+        202{"អនុតំបន់សាហារ៉ាអាហ្វ្រិក"}\r
         419{"អាមេរិក​ឡាទីន"}\r
         AC{"កោះ​អាសេនសិន"}\r
         AD{"អង់ដូរ៉ា"}\r
@@ -305,10 +306,11 @@ km{
     Countries%variant{\r
         CD{"កុងហ្គោ (សាធារណរដ្ឋ​ប្រជាធិបតេយ្យ)"}\r
         CG{"កុងហ្គោ (សធារណរដ្ឋ)"}\r
+        CI{"អាយវ៉ូរី ខូសថ៍"}\r
         CZ{"សាធារណរដ្ឋឆេក"}\r
         FK{"កោះ​ហ្វក់ឡែន (Islas Malvinas)"}\r
         MK{"ម៉ាសេដ្វាន (អតីត​សាធារណរដ្ឋ​យូហ្គោស្លាវី)"}\r
         TL{"ទីម័រ​ខាង​កើត"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ff4abee..fb133f1 100644 (file)
@@ -310,5 +310,5 @@ kn{
         MK{"ಮ್ಯಾಸಿಡೋನಿಯಾ (FYROM)"}\r
         TL{"ಪೂರ್ವ ಟಿಮೋರ್"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 199c740..cd6a9d0 100644 (file)
@@ -31,6 +31,7 @@ ko{
         151{"동유럽"}\r
         154{"북유럽"}\r
         155{"서유럽"}\r
+        202{"사하라 사막 이남 아프리카"}\r
         419{"라틴 아메리카"}\r
         AC{"어센션 섬"}\r
         AD{"안도라"}\r
@@ -306,8 +307,9 @@ ko{
         CD{"콩고민주공화국"}\r
         CG{"콩고 공화국"}\r
         CI{"아이보리 코스트"}\r
+        CZ{"체코 공화국"}\r
         FK{"포클랜드 제도(말비나스 군도)"}\r
         MK{"마케도니아(FYROM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 2a4e3e2..5ee9509 100644 (file)
@@ -4,5 +4,5 @@ ko_KP{
     Countries{\r
         KP{"조선민주주의인민공화국"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6b4c0aa..12cde70 100644 (file)
@@ -310,5 +310,5 @@ kok{
         MK{"मॅसिडोनिया (FYROM)"}\r
         TL{"ईस्ट तिमूर"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc2928..1280948 100644 (file)
@@ -278,5 +278,5 @@ ks{
         ZW{"زِمبابے"}\r
         ZZ{"نامعلوٗم تہٕ نالَگہار عَلاقہٕ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d4bbdf9..f78fd90 100644 (file)
@@ -226,5 +226,5 @@ ksb{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ae195c5..79b0692 100644 (file)
@@ -227,5 +227,5 @@ ksf{
         ZM{"zambí"}\r
         ZW{"zimbabwɛ́"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index da3c750..7a22ee9 100644 (file)
@@ -305,5 +305,5 @@ ksh{
         FK{"de malleviinesche Enselle"}\r
         MK{"de vörmaals ens jugoßlaawesch jewääse Republik Mazedoonije"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 104e225..8994347 100644 (file)
@@ -4,5 +4,5 @@ kw{
     Countries{\r
         GB{"Rywvaneth Unys"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 32c5114..f7c952b 100644 (file)
@@ -310,5 +310,5 @@ ky{
         MK{"Македония (Мур. Югосл.)"}\r
         TL{"Чыгыш Тимор"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ca0120e..63dacdf 100644 (file)
@@ -227,5 +227,5 @@ lag{
         ZM{"Sámbia"}\r
         ZW{"Simbáabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3c551a8..c881b26 100644 (file)
@@ -305,5 +305,5 @@ lb{
         CI{"Elfebeeküst"}\r
         MK{"Mazedonien (EJR)"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8788c88..ab7ea9f 100644 (file)
@@ -227,5 +227,5 @@ lg{
         ZM{"Zambya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 14d1971..3c42d4c 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6804450..f7c0693 100644 (file)
@@ -237,5 +237,5 @@ ln{
     Countries%variant{\r
         CZ{"Repibiki Tsekɛ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 191b849..7464187 100644 (file)
@@ -31,6 +31,7 @@ lo{
         151{"ຢູໂຣບຕາເວັນອອກ"}\r
         154{"ຢູໂຣບເໜືອ"}\r
         155{"ຢູໂຣບຕາເວັນຕົກ"}\r
+        202{"ຊັບ ຊາຮາຣານ ອາຟຣິກາ"}\r
         419{"ລາຕິນ ອາເມລິກາ"}\r
         AC{"ເກາະອາເຊນຊັນ"}\r
         AD{"ອັນດໍຣາ"}\r
@@ -311,5 +312,5 @@ lo{
         MK{"ແມຊິໂດເນຍ (FYROM)"}\r
         TL{"ທິມໍ ຕາເວັນອອກ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 311dd4b..4cb2532 100644 (file)
@@ -26,5 +26,5 @@ lrc{
         US{"ڤولاتیا یأکاگئرتە"}\r
         ZZ{"راساگە نادیار"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 513d8e8..c20a682 100644 (file)
@@ -31,6 +31,7 @@ lt{
         151{"Rytų Europa"}\r
         154{"Šiaurės Europa"}\r
         155{"Vakarų Europa"}\r
+        202{"Užsachario Afrika"}\r
         419{"Lotynų Amerika"}\r
         AC{"Dangun Žengimo sala"}\r
         AD{"Andora"}\r
@@ -310,5 +311,5 @@ lt{
         FK{"Folklando (Malvinų) Salos"}\r
         MK{"Makedonijos Respublika"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b104b36..511fcb6 100644 (file)
@@ -227,5 +227,5 @@ lu{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 19593a0..4a0f2c0 100644 (file)
@@ -227,5 +227,5 @@ luo{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 90a1c00..3427a54 100644 (file)
@@ -227,5 +227,5 @@ luy{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9834cc8..7217856 100644 (file)
@@ -31,6 +31,7 @@ lv{
         151{"Austrumeiropa"}\r
         154{"Ziemeļeiropa"}\r
         155{"Rietumeiropa"}\r
+        202{"Subsahāras Āfrika"}\r
         419{"Latīņamerika"}\r
         AC{"Debesbraukšanas sala"}\r
         AD{"Andora"}\r
@@ -310,5 +311,5 @@ lv{
         FK{"Folklenda (Malvinu) salas"}\r
         MK{"bijusī Dienvidslāvijas Maķedonijas Republika"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 13da70a..4e052f6 100644 (file)
@@ -227,5 +227,5 @@ mas{
         ZM{"Sambia"}\r
         ZW{"Simbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d633b53..e1224ee 100644 (file)
@@ -227,5 +227,5 @@ mer{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f6b3c23..b84b4e6 100644 (file)
@@ -227,5 +227,5 @@ mfe{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c36ddc8..ec10d71 100644 (file)
@@ -227,5 +227,5 @@ mg{
         ZM{"Zambia"}\r
         ZW{"Zimbaboe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2f44133..85f0cca 100644 (file)
@@ -140,5 +140,5 @@ mgh{
         ZM{"Uzambia"}\r
         ZW{"Uzimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0565f47..9379a4e 100644 (file)
@@ -5,5 +5,5 @@ mgo{
         CM{"Kamalun"}\r
         ZZ{"aba aben tisɔ̀"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6ef01cf..3d55af6 100644 (file)
@@ -31,6 +31,7 @@ mk{
         151{"Источна Европа"}\r
         154{"Северна Европа"}\r
         155{"Западна Европа"}\r
+        202{"Супсахарска Африка"}\r
         419{"Латинска Америка"}\r
         AC{"Остров Асенсион"}\r
         AD{"Андора"}\r
@@ -311,5 +312,5 @@ mk{
         MK{"Република Македонија"}\r
         TL{"Источен Тимор"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0f3630c..66bad2c 100644 (file)
@@ -31,6 +31,7 @@ ml{
         151{"കിഴക്കൻ യൂറോപ്പ്"}\r
         154{"വടക്കേ യൂറോപ്പ്"}\r
         155{"പശ്ചിമ യൂറോപ്പ്"}\r
+        202{"202"}\r
         419{"ലാറ്റിനമേരിക്ക"}\r
         AC{"അസൻഷൻ ദ്വീപ്"}\r
         AD{"അൻഡോറ"}\r
@@ -311,5 +312,5 @@ ml{
         MK{"മാസിഡോണിയ (FYROM)"}\r
         TL{"കിഴക്കൻ തിമോർ"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e4ef33f..afc25f5 100644 (file)
@@ -31,6 +31,7 @@ mn{
         151{"Зүүн Европ"}\r
         154{"Хойд Европ"}\r
         155{"Баруун Европ"}\r
+        202{"Сахарын цөлийн урд хэсгийн Африк"}\r
         419{"Латин Америк"}\r
         AC{"Асенсион арал"}\r
         AD{"Андорра"}\r
@@ -248,7 +249,7 @@ mn{
         SO{"Сомали"}\r
         SR{"Суринам"}\r
         SS{"Өмнөд Судан"}\r
-        ST{"Сан-Томе Ð±Ð° Ð\9fÑ\80инÑ\81ипи"}\r
+        ST{"Сан-Томе Принсипи"}\r
         SV{"Эль Сальвадор"}\r
         SX{"Синт Мартен"}\r
         SY{"Сири"}\r
@@ -311,5 +312,5 @@ mn{
         MK{"Македон (Хуучин Югославын бүрэлдэхүүний Македон)"}\r
         TL{"Зүүн Тимор"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6c18964..e1ba5c3 100644 (file)
@@ -31,6 +31,7 @@ mr{
         151{"पूर्व युरोप"}\r
         154{"उत्तर युरोप"}\r
         155{"पश्चिम युरोप"}\r
+        202{"उप-सहारा आफ्रिका"}\r
         419{"लॅटिन अमेरिका"}\r
         AC{"अ‍ॅसेन्शियन बेट"}\r
         AD{"अँडोरा"}\r
@@ -310,5 +311,5 @@ mr{
         MK{"मॅसेडोनिया (FYROM)"}\r
         TL{"पूर्व तिमोर"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 51e63a4..fb08e9c 100644 (file)
@@ -31,6 +31,7 @@ ms{
         151{"Eropah Timur"}\r
         154{"Eropah Utara"}\r
         155{"Eropah Barat"}\r
+        202{"Afrika Sub-Sahara"}\r
         419{"Amerika Latin"}\r
         AC{"Pulau Ascension"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ ms{
         MK{"Macedonia (FYROM)"}\r
         TL{"Timor Timur"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 5c1889b..ea48956 100644 (file)
@@ -308,5 +308,5 @@ mt{
         FK{"Il-Gżejjer Falkland (il-Gżejjer Malvinas)"}\r
         TL{"Timor tal-Lvant"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1780eef..c0da5a8 100644 (file)
@@ -227,5 +227,5 @@ mua{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 12d31db..f329f7a 100644 (file)
@@ -31,6 +31,7 @@ my{
         151{"အရှေ့ ဥရောပ"}\r
         154{"မြောက် ဥရောပ"}\r
         155{"အနောက် ဥရောပ"}\r
+        202{"ဆာဟာရ-အောက်ပိုင်း အာဖရိက"}\r
         419{"လက်တင်အမေရိက"}\r
         AC{"အဆန်းရှင်းကျွန်း"}\r
         AD{"အန်ဒိုရာ"}\r
@@ -310,5 +311,5 @@ my{
         FK{"ဖော့ကလန် ကျွန်းစု (အီလားစ် မောလ်ဗီနာစ်)"}\r
         MK{"မက်ဆီဒိုးနီးယား (ယခင် ယူဂိုစလားဗီးယား မက်ဆီဒိုးနီးယားပြည်ထောင်စု)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index feb2ae1..d62a749 100644 (file)
@@ -307,5 +307,5 @@ mzn{
         MK{"مقدونیه جمهوری"}\r
         TL{"شرقی تیمور"}\r
     }\r
-    Version{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b10bacf..5078260 100644 (file)
@@ -227,5 +227,5 @@ naq{
         ZM{"Zambiab"}\r
         ZW{"Zimbabweb"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e08ff6b..e5c6a35 100644 (file)
@@ -31,6 +31,7 @@ nb{
         151{"Øst-Europa"}\r
         154{"Nord-Europa"}\r
         155{"Vest-Europa"}\r
+        202{"Afrika sør for Sahara"}\r
         419{"Latin-Amerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -308,5 +309,5 @@ nb{
         FK{"Falklandsøyene (Islas Malvinas)"}\r
         MK{"Den tidligere jugoslaviske republikk Makedonia"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index e13b891..b2535be 100644 (file)
@@ -227,5 +227,5 @@ nd{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c94fe0f..a92ba8d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 555ae42..729f855 100644 (file)
@@ -31,6 +31,7 @@ ne{
         151{"पूर्वी युरोप"}\r
         154{"उत्तरी युरोप"}\r
         155{"पश्चिमी युरोप"}\r
+        202{"उप-साहारा अफ्रिका"}\r
         419{"ल्याटिन अमेरिका"}\r
         AC{"एस्केन्सन टापु"}\r
         AD{"अन्डोर्रा"}\r
@@ -311,5 +312,5 @@ ne{
         MK{"म्यासेडोनिया (फाइरम)"}\r
         TL{"पृर्वी टीमोर"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 303160e..a7e30ac 100644 (file)
@@ -31,6 +31,7 @@ nl{
         151{"Oost-Europa"}\r
         154{"Noord-Europa"}\r
         155{"West-Europa"}\r
+        202{"Sub-Saharaans Afrika"}\r
         419{"Latijns-Amerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ nl{
         MK{"Macedonië (FYROM)"}\r
         TL{"Democratische Republiek Oost-Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 0eda825..f6a1b5d 100644 (file)
@@ -227,5 +227,5 @@ nmg{
         ZM{"Zambia"}\r
         ZW{"Zimbabwǝ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bbca322..4be20f1 100644 (file)
@@ -308,5 +308,5 @@ nn{
         MK{"Den tidlegare jugoslaviske republikken Makedonia"}\r
         TL{"Aust-Timor"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3dadd99..70a3abe 100644 (file)
@@ -4,5 +4,5 @@ nnh{
     Countries{\r
         CM{"Kàmalûm"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 892777d..a01278b 100644 (file)
@@ -54,5 +54,5 @@ nus{
         TD{"Ca̱d"}\r
         VG{"Burutic dhuɔ̱ɔ̱l be̱rgin"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 57dd8cf..ce8f410 100644 (file)
@@ -227,5 +227,5 @@ nyn{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c1b1703..a7d2701 100644 (file)
@@ -15,5 +15,5 @@ om{
         RU{"Russia"}\r
         US{"United States"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index beb2b4b..e42f72d 100644 (file)
@@ -6,7 +6,7 @@ or{
         002{"ଆଫ୍ରିକା"}\r
         003{"ଉତ୍ତର ଆମେରିକା"}\r
         005{"ଦକ୍ଷିଣ ଆମେରିକା"}\r
-        009{"à¬\93ସà­\87ନିଆ"}\r
+        009{"à¬\93ସିନିଆ"}\r
         011{"ପଶ୍ଚିମ ଆଫ୍ରିକା"}\r
         013{"ମଧ୍ୟ ଆମେରିକା"}\r
         014{"ପୂର୍ବ ଆଫ୍ରିକା"}\r
@@ -18,7 +18,7 @@ or{
         029{"କାରିବିଆନ୍"}\r
         030{"ପୂର୍ବ ଏସିଆ"}\r
         034{"ଦକ୍ଷିଣ ଏସିଆ"}\r
-        035{"ଦକ୍ଷିଣ-ପୂର୍ବ ଏସିଆ"}\r
+        035{"ଦକ୍ଷିଣପୂର୍ବ ଏସିଆ"}\r
         039{"ଦକ୍ଷିଣ ୟୁରୋପ୍"}\r
         053{"ଅଷ୍ଟ୍ରେଲେସିଆ"}\r
         054{"ମେଲାନେସିଆ"}\r
@@ -31,6 +31,7 @@ or{
         151{"ପୂର୍ବ ୟୁରୋପ୍"}\r
         154{"ଉତ୍ତର ୟୁରୋପ୍"}\r
         155{"ପଶ୍ଚିମ ୟୁରୋପ୍"}\r
+        202{"ଉପ-ସାହାରା ଆଫ୍ରିକା"}\r
         419{"ଲାଟିନ୍‌ ଆମେରିକା"}\r
         AC{"ଆସେନସିଅନ୍‌ ଦ୍ୱୀପ"}\r
         AD{"ଆଣ୍ଡୋରା"}\r
@@ -76,7 +77,7 @@ or{
         CF{"ମଧ୍ୟ ଆଫ୍ରିକୀୟ ସାଧାରଣତନ୍ତ୍ର"}\r
         CG{"କଙ୍ଗୋ-ବ୍ରାଜିଭିଲ୍ଲେ"}\r
         CH{"ସ୍ୱିଜରଲ୍ୟାଣ୍ଡ"}\r
-        CI{"à¬\95à­\8bà¬\9fà­\87 à¬¡à¬¿ à¬\86à¬\87ଭà­\8bରି"}\r
+        CI{"à¬\95à­\8bତà­\8d à¬¡à¬¿ à¬­à­\8dଵାରà­\8d"}\r
         CK{"କୁକ୍‌ ଦ୍ୱୀପପୁଞ୍ଜ"}\r
         CL{"ଚିଲ୍ଲୀ"}\r
         CM{"କାମେରୁନ୍"}\r
@@ -226,7 +227,7 @@ or{
         PW{"ପାଲାଉ"}\r
         PY{"ପାରାଗୁଏ"}\r
         QA{"କତାର୍"}\r
-        QO{"ସà­\80ମାନà­\8dତବରà­\8dତà­\8dତà­\80 à¬\93ସà­\87ନିଆ"}\r
+        QO{"ସà­\80ମାନà­\8dତବରà­\8dତà­\8dତà­\80 à¬\93ସିନିଆ"}\r
         RE{"ରିୟୁନିଅନ୍"}\r
         RO{"ରୋମାନିଆ"}\r
         RS{"ସର୍ବିଆ"}\r
@@ -310,5 +311,5 @@ or{
         MK{"ମାସେଡୋନିଆ (ଫାଇରମ୍‌)"}\r
         TL{"ପୂର୍ବ ତିମୋର୍‌"}\r
     }\r
-    Version{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ef91477..82a1608 100644 (file)
@@ -21,5 +21,5 @@ os{
         US{"АИШ"}\r
         ZZ{"Нӕзонгӕ бӕстӕ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 31b2610..7d9e212 100644 (file)
@@ -31,6 +31,7 @@ pa{
         151{"ਪੂਰਬੀ ਯੂਰਪ"}\r
         154{"ਉੱਤਰੀ ਯੂਰਪ"}\r
         155{"ਪੱਛਮੀ ਯੂਰਪ"}\r
+        202{"ਉਪ-ਸਹਾਰਾ ਅਫ਼ਰੀਕਾ"}\r
         419{"ਲਾਤੀਨੀ ਅਮਰੀਕਾ"}\r
         AC{"ਅਸੈਂਸ਼ਨ ਟਾਪੂ"}\r
         AD{"ਅੰਡੋਰਾ"}\r
@@ -311,5 +312,5 @@ pa{
         MK{"ਮੈਕਡੋਨੀਆ (ਪੂਰਵ ਯੂਗੋਸਲਾਵ ਮੈਕਡੋਨੀਆਈ ਗਣਰਾਜ)"}\r
         TL{"ਪੂਰਬ ਤਿਮੋਰ"}\r
     }\r
-    Version{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
 }\r
index aea7ebe..913223a 100644 (file)
@@ -5,5 +5,5 @@ pa_Arab{
     Countries{\r
         PK{"پاکستان"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 317e0b1..d8917b4 100644 (file)
@@ -31,6 +31,7 @@ pl{
         151{"Europa Wschodnia"}\r
         154{"Europa Północna"}\r
         155{"Europa Zachodnia"}\r
+        202{"Afryka Subsaharyjska"}\r
         419{"Ameryka Łacińska"}\r
         AC{"Wyspa Wniebowstąpienia"}\r
         AD{"Andora"}\r
@@ -303,6 +304,7 @@ pl{
         US{"USA"}\r
     }\r
     Countries%variant{\r
+        CD{"Kongo (DRK)"}\r
         CG{"Republika Konga"}\r
         CI{"Wybrzeże Kości Słoniowej"}\r
         CZ{"Republika Czeska"}\r
@@ -310,5 +312,5 @@ pl{
         MK{"Była Jugosłowiańska Republika Macedonii"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
 }\r
index 0db5129..7bc6dd5 100644 (file)
Binary files a/source/data/region/pool.res and b/source/data/region/pool.res differ
index ad1adb5..97b21db 100644 (file)
@@ -31,6 +31,7 @@ ps{
         151{"ختيځه اروپا"}\r
         154{"شمالي اروپا"}\r
         155{"لویدیځه اروپا"}\r
+        202{"د افریقا جنوب-صحرا"}\r
         419{"لاتیني امریکا"}\r
         AC{"د توغندیو ټاپو"}\r
         AD{"اندورا"}\r
@@ -310,5 +311,5 @@ ps{
         MK{"مقدونیه (FYROM)"}\r
         TL{"ختيځ تيمور"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8f932db..0fbe971 100644 (file)
@@ -311,5 +311,5 @@ pt{
         MK{"Macedônia (ARIM)"}\r
         TL{"República Democrática de Timor-Leste"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
 }\r
index a385088..1aff836 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 13c0236..2b17974 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{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
 }\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f4cd124..0a9b33f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b5a1669..0c74f8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d30b2ff..5cf402d 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 060a5fc..0f426fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index deda5ed..7980c6d 100644 (file)
@@ -9,6 +9,7 @@ pt_PT{
         034{"Ásia do Sul"}\r
         039{"Europa do Sul"}\r
         154{"Europa do Norte"}\r
+        202{"África subsariana"}\r
         AI{"Anguila"}\r
         AM{"Arménia"}\r
         AX{"Alanda"}\r
@@ -81,5 +82,5 @@ pt_PT{
         FK{"Ilhas Malvinas"}\r
         MK{"Macedónia (ARJM)"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e3f0965..9287a10 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b8cb201..bc44bb6 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 183551f..9cf442d 100644 (file)
@@ -193,5 +193,5 @@ qu{
         ZM{"Zambia"}\r
         ZW{"Zimbabue"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 0136317..75c957c 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-REGION_CLDR_VERSION = 32.0.1\r
+REGION_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index 559539c..8eb8e81 100644 (file)
@@ -280,5 +280,5 @@ rm{
         ZW{"Simbabwe"}\r
         ZZ{"Regiun betg encouschenta u nunvalaivla"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3e14b9a..d9a2856 100644 (file)
@@ -227,5 +227,5 @@ rn{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3501733..2b55475 100644 (file)
@@ -31,6 +31,7 @@ ro{
         151{"Europa Orientală"}\r
         154{"Europa Septentrională"}\r
         155{"Europa Occidentală"}\r
+        202{"Africa Subsahariană"}\r
         419{"America Latină"}\r
         AC{"Insula Ascension"}\r
         AD{"Andorra"}\r
@@ -309,6 +310,7 @@ ro{
         CZ{"Republica Cehă"}\r
         FK{"Insulele Falkland (Insulele Malvine)"}\r
         MK{"Republica Macedonia (FRIM)"}\r
+        TL{"TL"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 08cade9..e345e75 100644 (file)
@@ -4,5 +4,5 @@ ro_MD{
     Countries{\r
         MM{"Myanmar"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4d4dfbc..da1fcf3 100644 (file)
@@ -227,5 +227,5 @@ rof{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bef4c1c..ddcfa82 100644 (file)
@@ -4,5 +4,5 @@
  * ICU <specials> source: <path>/common/main/root.xml\r
  */\r
 root{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
 }\r
index 524701b..d93df24 100644 (file)
@@ -31,6 +31,7 @@ ru{
         151{"Восточная Европа"}\r
         154{"Северная Европа"}\r
         155{"Западная Европа"}\r
+        202{"Африка к югу от Сахары"}\r
         419{"Латинская Америка"}\r
         AC{"о-в Вознесения"}\r
         AD{"Андорра"}\r
@@ -219,7 +220,7 @@ ru{
         PK{"Пакистан"}\r
         PL{"Польша"}\r
         PM{"Сен-Пьер и Микелон"}\r
-        PN{"острова Питкэрн"}\r
+        PN{"о-ва Питкэрн"}\r
         PR{"Пуэрто-Рико"}\r
         PS{"Палестинские территории"}\r
         PT{"Португалия"}\r
@@ -309,5 +310,5 @@ ru{
         MK{"Македония (БЮРМ)"}\r
         TL{"Тимор-Лесте"}\r
     }\r
-    Version{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 07cbd20..63575c8 100644 (file)
@@ -13,5 +13,5 @@ ru_UA{
         TL{"Тимор-Лесте"}\r
         UM{"Малые Тихоокеанские Отдаленные Острова США"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 422a019..e55ad6a 100644 (file)
@@ -5,5 +5,5 @@ rw{
         RW{"U Rwanda"}\r
         TO{"Tonga"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 6d11a9c..6180d32 100644 (file)
@@ -227,5 +227,5 @@ rwk{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fa3f664..45cda7d 100644 (file)
@@ -31,5 +31,5 @@ sah{
     Countries%short{\r
         US{"АХШ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 49d1cd3..f85cfbb 100644 (file)
@@ -227,5 +227,5 @@ saq{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 218773a..a8165e9 100644 (file)
@@ -227,5 +227,5 @@ sbp{
         ZM{"Sambiya"}\r
         ZW{"Simbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index eef6121..a2e4f1c 100644 (file)
@@ -294,5 +294,5 @@ se{
         PS{"Palestina"}\r
         US{"USA"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0c76252..42a1c6a 100644 (file)
@@ -26,5 +26,5 @@ se_FI{
     Countries%variant{\r
         CI{"Côte d’Ivoire"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 6462cb0..0955aee 100644 (file)
@@ -226,5 +226,5 @@ seh{
         ZM{"Zâmbia"}\r
         ZW{"Zimbábue"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0798fd0..94c2e03 100644 (file)
@@ -227,5 +227,5 @@ ses{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 38a0eed..0f8eba5 100644 (file)
@@ -227,5 +227,5 @@ sg{
         ZM{"Zambïi"}\r
         ZW{"Zimbäbwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 09630e5..d227bfa 100644 (file)
@@ -227,5 +227,5 @@ shi{
         ZM{"ⵣⴰⵎⴱⵢⴰ"}\r
         ZW{"ⵣⵉⵎⴱⴰⴱⵡⵉ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ee055e5..9b963c2 100644 (file)
@@ -228,5 +228,5 @@ shi_Latn{
         ZM{"zambya"}\r
         ZW{"zimbabwi"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 13f4f6c..5e764b7 100644 (file)
@@ -310,5 +310,5 @@ si{
         MK{"මැසිඩෝනියාව (FYROM)"}\r
         TL{"නැගෙනහිර ටිමෝරය"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 511eec4..01977b8 100644 (file)
@@ -31,6 +31,7 @@ sk{
         151{"východná Európa"}\r
         154{"severná Európa"}\r
         155{"západná Európa"}\r
+        202{"subsaharská Afrika"}\r
         419{"Latinská Amerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -307,5 +308,5 @@ sk{
         FK{"Falklandy (Malvíny)"}\r
         MK{"Macedónsko (BJRM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 02d966c..db40f12 100644 (file)
@@ -31,6 +31,7 @@ sl{
         151{"Vzhodna Evropa"}\r
         154{"Severna Evropa"}\r
         155{"Zahodna Evropa"}\r
+        202{"podsaharska Afrika"}\r
         419{"Latinska Amerika"}\r
         AC{"Otok Ascension"}\r
         AD{"Andora"}\r
@@ -311,5 +312,5 @@ sl{
         MK{"Makedonija (FYROM)"}\r
         TL{"Vzhodni Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f0564bb..06d2d47 100644 (file)
@@ -265,5 +265,5 @@ smn{
         FK{"Falklandsuolluuh (Malvinassuolluuh)"}\r
         MK{"OJT Makedonia"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 482140a..c00f388 100644 (file)
@@ -226,5 +226,5 @@ sn{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f5bb748..ee40f9f 100644 (file)
@@ -228,5 +228,5 @@ so{
         ZW{"Simbaabwe"}\r
         ZZ{"Far aan la aqoon amase aan saxnayn"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a7d8ea5..cfa225c 100644 (file)
@@ -31,6 +31,7 @@ sq{
         151{"Europa Lindore"}\r
         154{"Europa Veriore"}\r
         155{"Europa Perëndimore"}\r
+        202{"Afrika Subsahariane"}\r
         419{"Amerika Latine"}\r
         AC{"Ishulli Asenshion"}\r
         AD{"Andorrë"}\r
@@ -58,7 +59,7 @@ sq{
         BH{"Bahrejn"}\r
         BI{"Burundi"}\r
         BJ{"Benin"}\r
-        BL{"Shën Bartolomeu"}\r
+        BL{"Shën-Bartolome"}\r
         BM{"Bermudë"}\r
         BN{"Brunei"}\r
         BO{"Bolivi"}\r
@@ -133,7 +134,7 @@ sq{
         GW{"Guine-Bisau"}\r
         GY{"Guajanë"}\r
         HK{"RPA i Hong-Kongut"}\r
-        HM{"Ishulli Hërd dhe Ishujt Mekdonald"}\r
+        HM{"Ishujt Hërd e Mekdonald"}\r
         HN{"Honduras"}\r
         HR{"Kroaci"}\r
         HT{"Haiti"}\r
@@ -218,7 +219,7 @@ sq{
         PH{"Filipine"}\r
         PK{"Pakistan"}\r
         PL{"Poloni"}\r
-        PM{"Shën Pier dhe Mikelon"}\r
+        PM{"Shën-Pier dhe Mikelon"}\r
         PN{"Ishujt Pitkern"}\r
         PR{"Porto-Riko"}\r
         PS{"Territoret Palestineze"}\r
@@ -240,7 +241,7 @@ sq{
         SG{"Singapor"}\r
         SH{"Shën-Helenë"}\r
         SI{"Slloveni"}\r
-        SJ{"Svalbard dhe Jan-Majen"}\r
+        SJ{"Svalbard e Jan-Majen"}\r
         SK{"Sllovaki"}\r
         SL{"Siera-Leone"}\r
         SM{"San-Marino"}\r
@@ -248,7 +249,7 @@ sq{
         SO{"Somali"}\r
         SR{"Surinami"}\r
         SS{"Sudani i Jugut"}\r
-        ST{"Sao Tome dhe Principe"}\r
+        ST{"Sao-Tome e Principe"}\r
         SV{"Salvador"}\r
         SX{"Sint-Marten"}\r
         SY{"Siri"}\r
@@ -311,5 +312,5 @@ sq{
         MK{"Maqedoni (IRJM)"}\r
         TL{"Timori Lindor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3c503a1..10342b1 100644 (file)
@@ -31,6 +31,7 @@ sr{
         151{"Источна Европа"}\r
         154{"Северна Европа"}\r
         155{"Западна Европа"}\r
+        202{"Африка јужно од Сахаре"}\r
         419{"Латинска Америка"}\r
         AC{"Острво Асенсион"}\r
         AD{"Андора"}\r
@@ -311,5 +312,5 @@ sr{
         MK{"Македонија (БЈРМ)"}\r
         TL{"Источни Тимор"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6ee91cc..ca5b962 100644 (file)
@@ -19,5 +19,5 @@ sr_Cyrl_BA{
     Countries%variant{\r
         MK{"БЈР Македонија"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e290162..658d266 100644 (file)
@@ -17,5 +17,5 @@ sr_Cyrl_ME{
     Countries%variant{\r
         MK{"БЈР Македонија"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c4677da..229b2a4 100644 (file)
@@ -16,5 +16,5 @@ sr_Cyrl_XK{
     Countries%variant{\r
         MK{"БЈР Македонија"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fa5f0b8..b87b547 100644 (file)
@@ -32,6 +32,7 @@ sr_Latn{
         151{"Istočna Evropa"}\r
         154{"Severna Evropa"}\r
         155{"Zapadna Evropa"}\r
+        202{"Afrika južno od Sahare"}\r
         419{"Latinska Amerika"}\r
         AC{"Ostrvo Asension"}\r
         AD{"Andora"}\r
@@ -312,5 +313,5 @@ sr_Latn{
         MK{"Makedonija (BJRM)"}\r
         TL{"Istočni Timor"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
 }\r
index 02a3531..1bcc8c6 100644 (file)
@@ -19,5 +19,5 @@ sr_Latn_BA{
     Countries%variant{\r
         MK{"BJR Makedonija"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d19416..023576f 100644 (file)
@@ -17,5 +17,5 @@ sr_Latn_ME{
     Countries%variant{\r
         MK{"BJR Makedonija"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6aaa2d8..30e48b3 100644 (file)
@@ -16,5 +16,5 @@ sr_Latn_XK{
     Countries%variant{\r
         MK{"BJR Makedonija"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 71b9673..ad87d7e 100644 (file)
@@ -31,6 +31,7 @@ sv{
         151{"Östeuropa"}\r
         154{"Nordeuropa"}\r
         155{"Västeuropa"}\r
+        202{"202"}\r
         419{"Latinamerika"}\r
         AC{"Ascension"}\r
         AD{"Andorra"}\r
@@ -305,7 +306,11 @@ sv{
     Countries%variant{\r
         CD{"Demokratiska republiken Kongo"}\r
         CG{"Republiken Kongo"}\r
+        CI{"CI"}\r
+        CZ{"CZ"}\r
+        FK{"FK"}\r
         MK{"f.d. jugoslaviska republiken Makedonien"}\r
+        TL{"TL"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index bacfcc5..ee90298 100644 (file)
@@ -311,5 +311,5 @@ sw{
         MK{"Macedonia (FYROM)"}\r
         TL{"Timor ya Mashariki"}\r
     }\r
-    Version{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d8ec489..be654dd 100644 (file)
@@ -32,5 +32,5 @@ sw_CD{
         TL{"Timori ya Mashariki"}\r
         VN{"Vietnamu"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4fe1dbe..05fd1b6 100644 (file)
@@ -29,5 +29,5 @@ sw_KE{
         TD{"Chadi"}\r
         VN{"Vietnamu"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e30ab05..7bcb3fe 100644 (file)
@@ -31,6 +31,7 @@ ta{
         151{"கிழக்கு ஐரோப்பா"}\r
         154{"வடக்கு ஐரோப்பா"}\r
         155{"மேற்கு ஐரோப்பா"}\r
+        202{"சப்-சஹாரன் ஆப்ரிக்கா"}\r
         419{"லத்தீன் அமெரிக்கா"}\r
         AC{"அஷன்ஷியன் தீவு"}\r
         AD{"அன்டோரா"}\r
@@ -311,5 +312,5 @@ ta{
         MK{"மாசிடோனியா (ஃபைரோம்)"}\r
         TL{"கிழக்கு தைமூர்"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 390182b..51f1142 100644 (file)
@@ -31,6 +31,7 @@ te{
         151{"తూర్పు యూరోప్"}\r
         154{"ఉత్తర యూరోప్"}\r
         155{"పశ్చిమ యూరోప్"}\r
+        202{"ఉప సెహరన్ ఆఫ్రికా"}\r
         419{"లాటిన్ అమెరికా"}\r
         AC{"అసెన్షన్ దీవి"}\r
         AD{"ఆండోరా"}\r
@@ -311,5 +312,5 @@ te{
         MK{"మేసిడోనియా (FYROM)"}\r
         TL{"తూర్పు టిమోర్"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
 }\r
index afed4dd..c52608b 100644 (file)
@@ -227,5 +227,5 @@ teo{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3728e4f..bc9b535 100644 (file)
@@ -260,5 +260,5 @@ tg{
         CG{"Конго"}\r
         MK{"Мақдун (ҶСЮМ)"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
 }\r
index 61f6717..42f2fe3 100644 (file)
@@ -31,6 +31,7 @@ th{
         151{"ยุโรปตะวันออก"}\r
         154{"ยุโรปเหนือ"}\r
         155{"ยุโรปตะวันตก"}\r
+        202{"แอฟริกาใต้สะฮารา"}\r
         419{"ละตินอเมริกา"}\r
         AC{"เกาะแอสเซนชัน"}\r
         AD{"อันดอร์รา"}\r
@@ -311,5 +312,5 @@ th{
         MK{"มาซิโดเนีย (FYROM)"}\r
         TL{"ติมอร์ตะวันออก"}\r
     }\r
-    Version{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
 }\r
index a8e1c7d..0217b79 100644 (file)
@@ -271,5 +271,5 @@ ti{
         CZ{"CZ"}\r
         MK{"መቄዶኒያ"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 030ddd1..c64c34e 100644 (file)
@@ -307,5 +307,5 @@ to{
         CZ{"Lepupelika Seki"}\r
         MK{"Masetōnia (FYROM)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 61a9573..d21c6ac 100644 (file)
@@ -31,6 +31,7 @@ tr{
         151{"Doğu Avrupa"}\r
         154{"Kuzey Avrupa"}\r
         155{"Batı Avrupa"}\r
+        202{"Sahra Altı Afrika"}\r
         419{"Latin Amerika"}\r
         AC{"Ascension Adası"}\r
         AD{"Andorra"}\r
@@ -310,5 +311,5 @@ tr{
         MK{"Makedonya (EYMC)"}\r
         TL{"Doğu Timor"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index df159be..839c1db 100644 (file)
@@ -252,5 +252,5 @@ tt{
         CD{"Конго (КДР)"}\r
         MK{"Македония (Македония Элекке Югославия Республикасы)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index d1b93da..72228b6 100644 (file)
@@ -227,5 +227,5 @@ twq{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c72947a..292cee6 100644 (file)
@@ -227,5 +227,5 @@ tzm{
         ZM{"Zambya"}\r
         ZW{"Zimbabwi"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30f73ec..5ffb791 100644 (file)
@@ -306,5 +306,5 @@ ug{
         FK{"فالكلاند ئاراللىرى (ئىسلاس مالۋىناس)"}\r
         MK{"ماكېدونىيە (سابىق يۇگوسلاۋىيە ماكېدونىيە جۇمھۇرىيىتى)"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3a1332f..79098f9 100644 (file)
@@ -31,6 +31,7 @@ uk{
         151{"Східна Європа"}\r
         154{"Північна Європа"}\r
         155{"Західна Європа"}\r
+        202{"Африка на південь від Сахари"}\r
         419{"Латинська Америка"}\r
         AC{"Острів Вознесіння"}\r
         AD{"Андорра"}\r
@@ -312,5 +313,5 @@ uk{
         MK{"Македонія (КЮРМ)"}\r
         TL{"Східний Тимор"}\r
     }\r
-    Version{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 86adae6..546b40c 100644 (file)
@@ -31,6 +31,7 @@ ur{
         151{"مشرقی یورپ"}\r
         154{"شمالی یورپ"}\r
         155{"مغربی یورپ"}\r
+        202{"سَب صحارن افریقہ"}\r
         419{"لاطینی امریکہ"}\r
         AC{"اسینشن آئلینڈ"}\r
         AD{"انڈورا"}\r
@@ -311,5 +312,5 @@ ur{
         MK{"مقدونیہ (FYROM)"}\r
         TL{"مشرقی تیمور"}\r
     }\r
-    Version{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f00e14f..ce847b6 100644 (file)
@@ -29,5 +29,5 @@ ur_IN{
     Countries%variant{\r
         FK{"جزائر فاکلینڈ (اسلاس مالویناس)"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ef8b696..6ecafd5 100644 (file)
@@ -31,6 +31,7 @@ uz{
         151{"Sharqiy Yevropa"}\r
         154{"Shimoliy Yevropa"}\r
         155{"G‘arbiy Yevropa"}\r
+        202{"Sahro janubidagi Afrika"}\r
         419{"Lotin Amerikasi"}\r
         AC{"Me’roj oroli"}\r
         AD{"Andorra"}\r
@@ -311,5 +312,5 @@ uz{
         MK{"Makedoniya (SYRM)"}\r
         TL{"Sharqiy Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c1b601d..f85d805 100644 (file)
@@ -5,5 +5,5 @@ uz_Arab{
     Countries{\r
         AF{"افغانستان"}\r
     }\r
-    Version{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 62694b9..9b36aab 100644 (file)
@@ -309,5 +309,5 @@ uz_Cyrl{
         MK{"Македония (МСЮР)"}\r
         TL{"Шарқий Тимор"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4bb25b0..30998d9 100644 (file)
@@ -260,5 +260,5 @@ vai{
     Countries%short{\r
         MO{"ꕮꗛꖺ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f0de9f2..f9acb34 100644 (file)
@@ -227,5 +227,5 @@ vai_Latn{
         ZM{"Zambiya"}\r
         ZW{"Zimbabhuwe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e5f1626..7d33010 100644 (file)
@@ -31,6 +31,7 @@ vi{
         151{"Đông Âu"}\r
         154{"Bắc Âu"}\r
         155{"Tây Âu"}\r
+        202{"Châu Phi hạ Sahara"}\r
         419{"Châu Mỹ La-tinh"}\r
         AC{"Đảo Ascension"}\r
         AD{"Andorra"}\r
@@ -43,7 +44,7 @@ vi{
         AO{"Angola"}\r
         AQ{"Nam Cực"}\r
         AR{"Argentina"}\r
-        AS{"Đảo Somoa thuộc Mỹ"}\r
+        AS{"Samoa thuộc Mỹ"}\r
         AT{"Áo"}\r
         AU{"Australia"}\r
         AW{"Aruba"}\r
@@ -311,5 +312,5 @@ vi{
         MK{"Macedonia (FYROM)"}\r
         TL{"Đông Timor"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 9b7e2d7..53ec403 100644 (file)
@@ -227,5 +227,5 @@ vun{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1d09be6..d9f609c 100644 (file)
@@ -299,5 +299,5 @@ wae{
         MK{"Mazedonie (EJR)"}\r
         TL{"Wešttimor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f334b74..ccaa1f4 100644 (file)
@@ -255,5 +255,5 @@ wo{
         CG{"Réewum Kongo"}\r
         MK{"Maseduwaan (Réewum yugoslawi gu yàgg ga)"}\r
     }\r
-    Version{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
 }\r
index 3fcc097..9373997 100644 (file)
@@ -226,5 +226,5 @@ xog{
         ZM{"Zambya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b691071..3ef1ed1 100644 (file)
@@ -226,5 +226,5 @@ yav{
         ZM{"saambíi"}\r
         ZW{"simbapuwé"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 913a738..0fa749b 100644 (file)
@@ -231,5 +231,5 @@ yi{
     Countries%variant{\r
         TL{"מזרח טימאר"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index efc6620..69c0462 100644 (file)
@@ -227,5 +227,5 @@ yo{
         ZM{"Orílẹ́ède ṣamibia"}\r
         ZW{"Orílẹ́ède ṣimibabe"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 20ed841..927492b 100644 (file)
@@ -226,5 +226,5 @@ yo_BJ{
         ZM{"Orílɛ́ède shamibia"}\r
         ZW{"Orílɛ́ède shimibabe"}\r
     }\r
-    Version{"2.1.37.9"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ae6750b..59bbc20 100644 (file)
@@ -308,5 +308,5 @@ yue{
         FK{"福克蘭群島 (馬爾維納斯群島)"}\r
         MK{"前南斯拉夫馬其頓共和國"}\r
     }\r
-    Version{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3b8a6e7..dedba61 100644 (file)
@@ -309,5 +309,5 @@ yue_Hans{
         FK{"福克兰群岛 (马尔维纳斯群岛)"}\r
         MK{"前南斯拉夫马其顿共和国"}\r
     }\r
-    Version{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5c05d4b..35cdbc4 100644 (file)
@@ -230,5 +230,5 @@ zgh{
         ZM{"ⵣⴰⵎⴱⵢⴰ"}\r
         ZW{"ⵣⵉⵎⴱⴰⴱⵡⵉ"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 52ec9f0..6e4ddbc 100644 (file)
@@ -31,6 +31,7 @@ zh{
         151{"东欧"}\r
         154{"北欧"}\r
         155{"西欧"}\r
+        202{"撒哈拉以南非洲"}\r
         419{"拉丁美洲"}\r
         AC{"阿森松岛"}\r
         AD{"安道尔"}\r
@@ -310,5 +311,5 @@ zh{
         FK{"福克兰群岛(马尔维纳斯群岛)"}\r
         MK{"马其顿(前南斯拉夫马其顿共和国)"}\r
     }\r
-    Version{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a5a2e3a..cc24ba8 100644 (file)
@@ -32,6 +32,7 @@ zh_Hant{
         151{"東歐"}\r
         154{"北歐"}\r
         155{"西歐"}\r
+        202{"撒哈拉撒沙漠以南非洲"}\r
         419{"拉丁美洲"}\r
         AC{"阿森松島"}\r
         AD{"安道爾"}\r
@@ -310,5 +311,5 @@ zh_Hant{
         FK{"福克蘭群島(馬爾維納斯群島)"}\r
         MK{"前南斯拉夫馬其頓共和國"}\r
     }\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
 }\r
index 911a0f9..b406336 100644 (file)
@@ -98,5 +98,5 @@ zh_Hant_HK{
     Countries%variant{\r
         CI{"象牙海岸"}\r
     }\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9589854..43c2f1f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d845854..ab4d9b8 100644 (file)
@@ -31,6 +31,7 @@ zu{
         151{"i-Eastern Europe"}\r
         154{"i-Northern Europe"}\r
         155{"i-Western Europe"}\r
+        202{"Sub-Saharan Africa"}\r
         419{"i-Latin America"}\r
         AC{"i-Ascension Island"}\r
         AD{"i-Andorra"}\r
@@ -311,5 +312,5 @@ zu{
         MK{"i-Macedonia (FYROM)"}\r
         TL{"i-East Timor"}\r
     }\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
diff --git a/source/data/translit/Syrc_Latn.txt b/source/data/translit/Syrc_Latn.txt
new file mode 100644 (file)
index 0000000..31b90b7
--- /dev/null
@@ -0,0 +1,58 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: Syrc_Latn.txt\r
+# Generated from CLDR\r
+#\r
+\r
+# Consonants\r
+ܫ ↔ sh;\r
+ܞ → yh;\r
+ܖ ↔ dr;\r
+ܐ ↔ ʾ;\r
+\u0711  → ʾ;\r
+ܒ ↔ b;\r
+ܓ ↔ g;\r
+ܔ → g;\r
+ܕ ↔ d;\r
+ܗ ↔ h;\r
+ܘ ↔ w;\r
+ܙ ↔ z;\r
+ܚ ↔ ḥ;\r
+ܛ ↔ t\u0323;\r
+ܜ → t\u0323;\r
+ܝ ↔ y;\r
+ܟ ↔ k;\r
+ܠ ↔ l;\r
+ܡ ↔ m;\r
+ܢ ↔ n;\r
+ܣ ↔ s;\r
+ܤ → s;\r
+ܥ → ʿ;\r
+ܦ ↔ p;\r
+ܧ → p;\r
+ܨ ↔ ṣ;\r
+ܩ ↔ q;\r
+ܪ ↔ r;\r
+ܬ ↔ t;\r
+# Vowels\r
+\u0730 → a;\r
+\u0731 → a;\r
+\u0732 ↔ a;\r
+\u0733 → o;\r
+\u0734 → o;\r
+\u0735 → a;\r
+\u0736 → e;\r
+\u0737 → e;\r
+\u0738 ↔ e;\r
+\u0739 ↔ ē;\r
+\u073A → i;\r
+\u073B → i;\r
+\u0742 ↔ i;\r
+\u073D → u;\r
+\u073E → u;\r
+\u073C ↔ u;\r
+\u073F ↔ o;\r
+# Punctuation\r
+܍ → \*;\r
+\r
diff --git a/source/data/translit/fa_fa_FONIPA.txt b/source/data/translit/fa_fa_FONIPA.txt
new file mode 100644 (file)
index 0000000..678725b
--- /dev/null
@@ -0,0 +1,82 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: fa_fa_FONIPA.txt\r
+# Generated from CLDR\r
+#\r
+\r
+[\u200c \u200d] → ;  # Strip off ZWJ and ZWNJ.\r
+::NFD;\r
+# Rewrite similarly-looking Arabic letters to Persian.\r
+ي → ی;\r
+ى → ی;\r
+ك → ک;\r
+ە → ه;\r
+::NULL;\r
+$VOWEL = [ \u064E \u0650  \u064F  \u0653 ا و ی];\r
+$BOUNDARY = [^[:L:][:M:][:N:]];\r
+$IPA_CONSONANT = [ m n p b t d k ɡ ʔ f v s z ʃ ʒ ʁ ɢ h χ {t\u0361ʃ} {d\u0361ʒ} l ɾ ];\r
+# Vowels\r
+ی\u0651 → jj;\r
+($VOWEL)\u0651 → \u0651 | $1;\r
+\u064Eی\u0652 → æj;\r
+\u0650ی\u0652 → ej;\r
+\u064Eو\u0652 → ov;\r
+\u0650ی → iː;\r
+\u064Eه → æ;\r
+[^ːeoæ] {ه} $BOUNDARY → e;\r
+[e] {ه} $BOUNDARY → ;\r
+ا\u064E → æ;\r
+ا\u064B $BOUNDARY → æn;\r
+\u064E → æ;\r
+یه → je;\r
+{ه\u0654} $BOUNDARY → jæ;\r
+ی\u0670 → ɒː;\r
+{ی} $VOWEL → j;\r
+ی → iː;\r
+$BOUNDARY {ای} → iː;\r
+ا\u0653 → ɒː;\r
+آ → ɒː;\r
+ا\u0650 → e;\r
+ا\u064F → o;\r
+او → uː;\r
+ا → ɒː; # Probably [^$BOUNDARY]\r
+\u0650 → e;\r
+ه\u0650 → e;\r
+{و} $VOWEL → v;\r
+$IPA_CONSONANT {و} → uː;\r
+\u064F{و} $IPA_CONSONANT → uː;\r
+$BOUNDARY {و} $BOUNDARY → va;\r
+و → ;\r
+\u064F → o;\r
+# Consonants\r
+پ → p;\r
+ب → b;\r
+[ت ط] → t;\r
+د → d;\r
+ک → k;\r
+گ → ɡ;\r
+[ع ء] → ʔ;\r
+چ → t\u0361ʃ;\r
+ج → d\u0361ʒ;\r
+ف → f;\r
+[س ص ث] → s;\r
+[ز ذ ض ظ] → z;\r
+ش → ʃ;\r
+ژ → ʒ;\r
+خ → χ;\r
+غ → ʁ;\r
+ق → ɢ;\r
+ح → h;\r
+م → m;\r
+ن → n;\r
+ه → h;\r
+ل → l;\r
+ر → ɾ;\r
+\u0652 → ;\r
+::NULL;\r
+# TODO: How to handle these?\r
+([$IPA_CONSONANT|$VOWEL]){\u0651} → $1;\r
+[ \u0651 \u0654 \u064B \u0670 ] → ;\r
+::NFC;\r
+\r
diff --git a/source/data/translit/ha_ha_NE.txt b/source/data/translit/ha_ha_NE.txt
new file mode 100644 (file)
index 0000000..1af47a8
--- /dev/null
@@ -0,0 +1,12 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: ha_ha_NE.txt\r
+# Generated from CLDR\r
+#\r
+\r
+:: [yYƴƳʼ] ;\r
+:: NFC ;\r
+ʼy→ƴ ;\r
+ʼY→Ƴ ;\r
+\r
index 0ca7cd7..4b013f6 100644 (file)
@@ -5,55 +5,26 @@
 # Generated from CLDR\r
 #\r
 \r
-#\r
-########################################################################\r
-# BGN/PCGN Agreement\r
-#\r
-# The modified Hepburn system for the romanization of Japanese has been\r
-# in use by the U.S. Board on Geographic Names since about 1930 and has\r
-# been used extensively in the romanization of Japanese geographic names.\r
-# The system is well adapted to the general needs of speakers of English\r
-# and is the most widely used system for the romanization of Japanese.\r
-#\r
-# Originally prepared by Michael Everson <everson@evertype.com>\r
-########################################################################\r
-#\r
-# MINIMAL FILTER: Japanese-Latin\r
-#\r
-:: [あいうえおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろわゐゑをんゔアイウエオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロワヰヱヲンヴ] ;\r
-:: NFD (NFC) ;\r
-#\r
-#\r
-########################################################################\r
-#\r
-########################################################################\r
-#\r
-# Define All Transformation Variables\r
-#\r
-########################################################################\r
-$apostrophe  = ’;\r
-#\r
+# Romanization and Roman-Script Spelling Conventions.\r
+# Prepared by the U.S. Board on Geographic Names, Foreign Names Committee Staff\r
+# Published by the Defense Mapping Agency, 1994.\r
+# Chapter “Romanization System for Japanese Kana, Modified Hebpurn System,\r
+# BGN/PCGN Agreement”, pages 39 to 45.\r
+#\r
+# http://libraries.ucsd.edu/bib/fed/USBGN_romanization.pdf\r
+#\r
+# https://commons.wikimedia.org/w/index.php?title=File%3ARomanization_Systems_and_Roman-Script_Spelling_Conventions.djvu\r
+:: [あいうえおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろわゐゑをんゔアイウエオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロワヰヱヲンヴ\u3099\u309Aー \uFF61-\uFF9F];\r
+::NFC;\r
+::[\uFF61-\uFF9F] Halfwidth-Fullwidth;\r
 # Use this $wordBoundary until bug 2034 is fixed in ICU:\r
 # http://bugs.icu-project.org/cgi-bin/icu-bugs/transliterate?id=2034;expression=boundary;user=guest\r
-#\r
 $wordBoundary =  [^[:L:][:M:][:N:]] ;\r
-#\r
-########################################################################\r
-#\r
-# Rules moved to front to avoid masking\r
-#\r
-########################################################################\r
-#\r
-########################################################################\r
-#\r
 # BGN Page 45 Rule 2:\r
 #\r
 # A small-script tsu form (ッ or っ) is inserted between kana symbols\r
 # to indicate a double consonant and is romanized as k before k;\r
 # as s before s or sh; as t before t, ts, or ch; and as p before p.\r
-#\r
-########################################################################\r
-#\r
 ッ}[カキクケコ] → k ; # KATAKANA LETTER SMALL TU\r
 っ}[かきくけこ] → k ; # HIRAGANA LETTER SMALL TU\r
 ッ}[サシスセソ] → s ; # KATAKANA LETTER SMALL TU\r
@@ -62,20 +33,7 @@ $wordBoundary =  [^[:L:][:M:][:N:]] ;
 っ}[たちつてと] → t ; # HIRAGANA LETTER SMALL TU\r
 ッ}[パピプペポ] → p ; # KATAKANA LETTER SMALL TU\r
 っ}[ぱぴぷぺぽ] → p ; # HIRAGANA LETTER SMALL TU\r
-#\r
-#\r
-########################################################################\r
-#\r
-# End of Rule 2\r
-#\r
-########################################################################\r
-#\r
-########################################################################\r
-#\r
 # Start of Syllabic Transformations\r
-#\r
-########################################################################\r
-#\r
 ア → a ; # KATAKANA LETTER A\r
 イ → i ; # KATAKANA LETTER I\r
 ウ → u ; # KATAKANA LETTER U\r
@@ -138,11 +96,11 @@ $wordBoundary =  [^[:L:][:M:][:N:]] ;
 ホウ → hō ; # KATAKANA LETTER HO + U\r
 ホ → ho ; # KATAKANA LETTER HO\r
 マ → ma ; # KATAKANA LETTER MA\r
-ミョウ → hyō ; # KATAKANA LETTER MI + SMALL YO + U\r
-ミュウ → hyū ; # KATAKANA LETTER MI + SMALL YU + U\r
-ミャ → hya ; # KATAKANA LETTER MI + SMALL YA\r
-ミョ → hyo ; # KATAKANA LETTER MI + SMALL YO\r
-ミュ → hyu ; # KATAKANA LETTER MI + SMALL YU\r
+ミョウ → myō ; # KATAKANA LETTER MI + SMALL YO + U\r
+ミュウ → myū ; # KATAKANA LETTER MI + SMALL YU + U\r
+ミャ → mya ; # KATAKANA LETTER MI + SMALL YA\r
+ミョ → myo ; # KATAKANA LETTER MI + SMALL YO\r
+ミュ → myu ; # KATAKANA LETTER MI + SMALL YU\r
 ミ → mi ; # KATAKANA LETTER MI\r
 ム → mu ; # KATAKANA LETTER MU\r
 メ → me ; # KATAKANA LETTER ME\r
@@ -167,31 +125,16 @@ $wordBoundary =  [^[:L:][:M:][:N:]] ;
 ヰ → i ; # KATAKANA LETTER WI\r
 ヱ → e ; # KATAKANA LETTER WE\r
 ヲ → o ; # KATAKANA LETTER WO\r
-#\r
-#\r
-########################################################################\r
-#\r
 # BGN Page 45 Rule 3:\r
 #\r
 # The character ン should be romanized m before b, p, or m.\r
 # The character ん should be romanized m before b, p, or m.\r
 # The character ン should be romanized n’ before y or a vowel letter.\r
 # The character ん should be romanized n’ before y or a vowel letter.\r
-#\r
-########################################################################\r
-#\r
 ン}[バビブベボパピプペポマミムメモ] → m ; # KATAKANA LETTER N\r
 ん}[ばびぶべぼぱぴぷぺぽまみむめも] → m ; # HIRAGANA LETTER N\r
-ン}[ヤユヨアイウエオ] → n $apostrophe ; # KATAKANA LETTER N\r
-ん}[やゆよあいうえお] → n $apostrophe ; # HIRAGANA LETTER N\r
-#\r
-#\r
-########################################################################\r
-#\r
-# End of Rule 3\r
-#\r
-########################################################################\r
-#\r
+ン}[ヤユヨアイウエオ] → n’ ; # KATAKANA LETTER N\r
+ん}[やゆよあいうえお] → n’ ; # HIRAGANA LETTER N\r
 ン → n ; # KATAKANA LETTER N\r
 ガ → ga ; # KATAKANA LETTER GA\r
 ギョウ → gyō ; # KATAKANA LETTER GI + SMALL YO + U\r
@@ -306,11 +249,11 @@ $wordBoundary =  [^[:L:][:M:][:N:]] ;
 ほう → hō ; # HIRAGANA LETTER HO + U\r
 ほ → ho ; # HIRAGANA LETTER HO\r
 ま → ma ; # HIRAGANA LETTER MA\r
-みょう → hyō ; # HIRAGANA LETTER MI + SMALL YO + U\r
-みゅう → hyū ; # HIRAGANA LETTER MI + SMALL YU + U\r
-みゃ → hya ; # HIRAGANA LETTER MI + SMALL YA\r
-みょ → hyo ; # HIRAGANA LETTER MI + SMALL YO\r
-みゅ → hyu ; # HIRAGANA LETTER MI + SMALL YU\r
+みょう → myō ; # HIRAGANA LETTER MI + SMALL YO + U\r
+みゅう → myū ; # HIRAGANA LETTER MI + SMALL YU + U\r
+みゃ → mya ; # HIRAGANA LETTER MI + SMALL YA\r
+みょ → myo ; # HIRAGANA LETTER MI + SMALL YO\r
+みゅ → myu ; # HIRAGANA LETTER MI + SMALL YU\r
 み → mi ; # HIRAGANA LETTER MI\r
 む → mu ; # HIRAGANA LETTER MU\r
 め → me ; # HIRAGANA LETTER ME\r
@@ -387,7 +330,12 @@ $wordBoundary =  [^[:L:][:M:][:N:]] ;
 ぽう → pō ; # HIRAGANA LETTER PO + U\r
 ぽ → po ; # HIRAGANA LETTER PO\r
 ゔ → v ; # HIRAGANA LETTER VU\r
-#\r
-#\r
-########################################################################\r
+::NULL;\r
+aー → ā;\r
+iー → ī;\r
+uー → ū;\r
+eー → ē;\r
+oー → ō;\r
+vー → vū;  # ヴーゔー\r
+ー →;\r
 \r
diff --git a/source/data/translit/nv_nv_FONIPA.txt b/source/data/translit/nv_nv_FONIPA.txt
new file mode 100644 (file)
index 0000000..49c3bb5
--- /dev/null
@@ -0,0 +1,80 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: nv_nv_FONIPA.txt\r
+# Generated from CLDR\r
+#\r
+\r
+::Lower;\r
+::NFC;\r
+# References\r
+# [1] https://en.wikipedia.org/wiki/Navajo_language#Orthography\r
+# [2] https://en.wikipedia.org/wiki/Navajo_phonology\r
+$apostrophe = [’ ʼ \'];\r
+ą\u0301ą\u0301 → ɑ\u0303\u0301ː;\r
+áá → ɑ\u0301ː;\r
+ąą → ɑ\u0303ː;\r
+aa → ɑː;\r
+ą\u0301 → ɑ\u0303\u0301;\r
+á → ɑ\u0301;\r
+ą → ɑ\u0303;\r
+a → ɑ;\r
+ę\u0301ę\u0301 → ẽ\u0301ː;\r
+éé → éː;\r
+ęę → ẽː;\r
+ee → eː;\r
+ę\u0301 → ẽ\u0301;\r
+é → é;\r
+ę → ẽ;\r
+e → e;\r
+į\u0301į\u0301 → ɪ\u0303\u0301ː;\r
+íí → ɪ\u0301ː;\r
+įį → ɪ\u0303ː;\r
+ii → ɪː;\r
+į\u0301 → ɪ\u0303\u0301;\r
+í → ɪ\u0301;\r
+į → ɪ\u0303;\r
+i → ɪ;\r
+ǫ\u0301ǫ\u0301 → ṍː;\r
+óó → óː;\r
+ǫǫ → õː;\r
+oo → oː;\r
+ǫ\u0301 → ṍ;\r
+ó → ó;\r
+ǫ → õ;\r
+o → o;\r
+$apostrophe → ʔ;\r
+b → p;\r
+ch $apostrophe → t\u0361ʃʼ;\r
+ch → t\u0361ʃʰ;\r
+dl → tˡ;\r
+dz → t\u0361s;\r
+d → t;\r
+gh → ɣ;\r
+g → k;\r
+hw → xʷ;\r
+h → h;\r
+j → t\u0361ʃ;\r
+k $apostrophe → kʼ;\r
+kw → k\u0361xʷ;\r
+k → k\u0361x;\r
+l → l;\r
+ł → ɬ;\r
+m → m;\r
+n → n;\r
+sh → ʃ;\r
+s → s;\r
+tł $apostrophe → t\u0361ɬʼ;\r
+tł → t\u0361ɬʰ;\r
+ts $apostrophe → t\u0361sʼ;\r
+ts → t\u0361sʰ;\r
+t $apostrophe → tʼ;\r
+t → t\u0361x;\r
+w → w;\r
+x → x;\r
+y → j;\r
+zh → ʒ;\r
+z → z;\r
+::NULL;\r
+{ɣ} [{ṍ} {ó} {õ} {o}] → ɣʷ;\r
+\r
index ef2153b..19d04aa 100644 (file)
@@ -2069,6 +2069,31 @@ root {
             }\r
         }\r
 \r
+        Syriac-Latin {\r
+            alias {"Syrc-Latn"}\r
+        }\r
+        und-Latn-t-und-syrc {\r
+            alias {"Syrc-Latn"}\r
+        }\r
+        Syrc-Latn {\r
+            file {\r
+                resource:process(transliterator) {"Syrc_Latn.txt"}\r
+                direction {"FORWARD"}\r
+            }\r
+        }\r
+        Latin-Syriac {\r
+            alias {"Latn-Syrc"}\r
+        }\r
+        und-Syrc-t-und-latn {\r
+            alias {"Latn-Syrc"}\r
+        }\r
+        Latn-Syrc {\r
+            file {\r
+                resource:process(transliterator) {"Syrc_Latn.txt"}\r
+                direction {"REVERSE"}\r
+            }\r
+        }\r
+\r
         Tamil-Arabic {\r
             alias {"Taml-Arab"}\r
         }\r
@@ -2998,6 +3023,26 @@ root {
             }\r
         }\r
 \r
+        fa-fonipa-t-fa {\r
+            alias {"fa-fa_FONIPA"}\r
+        }\r
+        fa-fa_FONIPA {\r
+            file {\r
+                resource:process(transliterator) {"fa_fa_FONIPA.txt"}\r
+                direction {"FORWARD"}\r
+            }\r
+        }\r
+\r
+        ha-NE-t-ha {\r
+            alias {"ha-ha_NE"}\r
+        }\r
+        ha-ha_NE {\r
+            file {\r
+                resource:process(transliterator) {"ha_ha_NE.txt"}\r
+                direction {"FORWARD"}\r
+            }\r
+        }\r
+\r
         am-t-hy {\r
             alias {"hy-am"}\r
         }\r
@@ -3408,6 +3453,16 @@ root {
             }\r
         }\r
 \r
+        nv-fonipa-t-nv {\r
+            alias {"nv-nv_FONIPA"}\r
+        }\r
+        nv-nv_FONIPA {\r
+            file {\r
+                resource:process(transliterator) {"nv_nv_FONIPA.txt"}\r
+                direction {"FORWARD"}\r
+            }\r
+        }\r
+\r
         am-t-pl {\r
             alias {"pl-am"}\r
         }\r
@@ -3950,6 +4005,16 @@ root {
             }\r
         }\r
 \r
+        vec-fonipa-t-vec {\r
+            alias {"vec-vec_FONIPA"}\r
+        }\r
+        vec-vec_FONIPA {\r
+            file {\r
+                resource:process(transliterator) {"vec_vec_FONIPA.txt"}\r
+                direction {"FORWARD"}\r
+            }\r
+        }\r
+\r
         am-t-xh {\r
             alias {"xh-am"}\r
         }\r
diff --git a/source/data/translit/vec_vec_FONIPA.txt b/source/data/translit/vec_vec_FONIPA.txt
new file mode 100644 (file)
index 0000000..619a80e
--- /dev/null
@@ -0,0 +1,91 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: vec_vec_FONIPA.txt\r
+# Generated from CLDR\r
+#\r
+\r
+# References\r
+# ----------\r
+# [1] Personal communication with Academia de ła Bona Creansa, Venice\r
+# [2] https://en.wikipedia.org/wiki/Venetian_language#Phonology\r
+# [3] https://en.wikipedia.org/wiki/Help:IPA/Venetian (mixed with Ladin)\r
+#\r
+# Output phonemes\r
+# ---------------\r
+#   m n ɲ ŋ\r
+#   p b t d k ɡ\r
+#   f v ɾ s z\r
+#   l ʎ j w\r
+#   t\u0361ʃ d\u0361ʒ d\u0361z\r
+#   i u e e\u032F o ɛ ɔ a\r
+$boundary = [^[:L:][:M:][:N:]];\r
+$e = [e é è];\r
+$i = [i í ì];\r
+$ei = [$e $i];\r
+$vowel = [a á à $ei o ó ò u ú ù];\r
+$onset = [\r
+j w m n ɲ ŋ p b t d k ɡ f v ɾ s z h l ʎ {e\u032F}\r
+{t\u0361ʃ} {d\u0361ʒ} {d\u0361z} {mj} {mw} {nj} {nw}\r
+{ps} {pɾ} {pɾw} {pl} {pj} {pw} {bɾ} {bɾw} {bw} {bj} {bl}\r
+{ts} {tɾ} {tɾw} {tl} {tj} {tw} {dɾ} {dɾw} {dw} {dj} {dl}\r
+{kɾ} {kw} {kɾw} {kl} {kj} {kw} {ɡɾ} {ɡɾw} {ɡw} {ɡj} {ɡl}\r
+{fɾ} {fj} {fl} {fw} {fɾw} {vɾ} {vj} {vw} {ɾw} {ɾj}\r
+{zm} {zn} {zɲ} {zj} {zl} {zb} {zbɾ} {zbj} {zbw} {zd} {zdɾ} {zdj} {zdw}\r
+{zɡ} {zɡɾ} {zɡj} {zɡw} {zv} {zvɾ} {zɾ} {zvj} {zd\u0361ʒ} {zw}\r
+{sp} {spɾ} {spw} {st} {stɾ} {stw} {sk} {skɾ} {skw}\r
+{sf} {sfɾ} {sɾ} {st\u0361ʃ} {sj} {sw} {lj} {lw}\r
+];\r
+::Lower;\r
+::NFC;\r
+([abefjklmoptvw]) → $1;\r
+[á à] → ˈa;\r
+{c [$ei \' ’]} $vowel → t\u0361ʃ;\r
+cé [\' ’]? → t\u0361ʃˈe;\r
+cè [\' ’]? → t\u0361ʃˈɛ;\r
+c e [\' ’]? → t\u0361ʃe;\r
+c [íì] [\' ’]? → t\u0361ʃˈi;\r
+c i [\' ’]? → t\u0361ʃi;\r
+[c {ch} k q {qu}] → k;\r
+é → ˈe;\r
+è → ˈɛ;\r
+{g l $ei} $vowel → ʎ;\r
+g l → ʎ;\r
+ġ → d\u0361ʒ;\r
+gé [\' ’]? → d\u0361ʒˈe;\r
+gè [\' ’]? → d\u0361ʒˈɛ;\r
+g [íì] [\' ’]? → d\u0361ʒˈi;\r
+{g [$ei \' ’]} $vowel → d\u0361ʒ;\r
+{g} $ei → d\u0361ʒ;\r
+gn → ɲ;\r
+[g {gh}] → ɡ;\r
+[í ì] → ˈi;\r
+{i} $vowel → j;\r
+ł → ɰ;\r
+ṅ → ŋ;\r
+ñ → ɲ;\r
+nj → ɲ;\r
+ó → ˈo;\r
+ò → ˈɔ;\r
+r → ɾ;\r
+[ṡ x z] → z;\r
+{s}[bdg] → z;\r
+s → s;\r
+{u} $vowel → w;\r
+[ú ù] → ˈu;\r
+u → u;\r
+y → j;\r
+[ż đ {dh}] → d\u0361z;\r
+d → d;\r
+[[:P:][:Z:]]+ → ' ';\r
+::NULL;\r
+{n} [p b t d k ɡ f v ɾ s z $boundary] → ŋ;\r
+{ɰ} ˈ? [ei] → ;\r
+eɰ → e;\r
+iɰ → i;\r
+ɰ → e\u032F;\r
+::NULL;\r
+# Move stress marker before syllable onset: [zɡɾaŋfiɲˈae] → [zɡɾaŋfiˈɲae]\r
+($onset) ˈ → ˈ $1;\r
+::NULL;\r
+\r
index 87d55de..2eaca56 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
index b148116..32ad1fc 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 58ee8ca..3f86cfa 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 84c0674..ff60936 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 9f8f60e..2dd97b3 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index fb78a64..02c6592 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -10,198 +10,198 @@ as{
     units{\r
         acceleration{\r
             g-force{\r
-                dnam{"g-force"}\r
-                one{"{0} G"}\r
-                other{"{0} G"}\r
+                dnam{"জি-বল"}\r
+                one{"{0} জি-বল"}\r
+                other{"{0} জি-বল"}\r
             }\r
             meter-per-second-squared{\r
-                dnam{"m/s²"}\r
-                one{"{0} m/s²"}\r
-                other{"{0} m/s²"}\r
+                dnam{"মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
+                one{"{0} মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
+                other{"{0} মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
             }\r
         }\r
         angle{\r
             arc-minute{\r
-                dnam{"arcmin"}\r
-                one{"{0}"}\r
-                other{"{0}"}\r
+                dnam{"আৰ্কমিনিট"}\r
+                one{"{0} আৰ্কমিনিট"}\r
+                other{"{0} আৰ্কমিনিট"}\r
             }\r
             arc-second{\r
-                dnam{"à¦\9aাপসà§\87à¦\95à§\87ন্ড"}\r
-                one{"{0}চাপসেকেন্ড"}\r
-                other{"{0}চাপসেকেন্ড"}\r
+                dnam{"à¦\86ৰà§\8dà¦\95à¦\9bà§\87à¦\95à§\87ণ্ড"}\r
+                one{"{0} আৰ্কছেকেণ্ড"}\r
+                other{"{0} আৰ্কছেকেণ্ড"}\r
             }\r
             degree{\r
-                dnam{"ডিà¦\97à§\8dরà§\80"}\r
-                one{"{0}ডিà¦\97à§\8dরà§\80"}\r
-                other{"{0}ডিà¦\97à§\8dরà§\80"}\r
+                dnam{"ডিà¦\97à§\8dৰà§\80"}\r
+                one{"{0} à¦¡à¦¿à¦\97à§\8dৰà§\80"}\r
+                other{"{0} à¦¡à¦¿à¦\97à§\8dৰà§\80"}\r
             }\r
             radian{\r
-                dnam{"রà§\87ডিয়ানà§\87"}\r
-                one{"{0}রেডিয়ানে"}\r
-                other{"{0}রেডিয়ানে"}\r
+                dnam{"ৰà§\87ডিয়à§\87ন"}\r
+                one{"{0} ৰেডিয়েন"}\r
+                other{"{0} ৰেডিয়েন"}\r
             }\r
             revolution{\r
-                dnam{"বিপà§\8dলব"}\r
-                one{"{0}বিপ্লব"}\r
-                other{"{0}বিপ্লব"}\r
+                dnam{"à¦\98à§\82ৰà§\8dণন"}\r
+                one{"{0} ঘূৰ্ণন"}\r
+                other{"{0} ঘূৰ্ণন"}\r
             }\r
         }\r
         area{\r
             acre{\r
-                dnam{"acre"}\r
-                one{"{0} ac"}\r
-                other{"{0} ac"}\r
+                dnam{"একৰ"}\r
+                one{"{0} একৰ"}\r
+                other{"{0} একৰ"}\r
             }\r
             hectare{\r
-                dnam{"hectare"}\r
-                one{"{0} ha"}\r
-                other{"{0} ha"}\r
+                dnam{"হেক্টৰ"}\r
+                one{"{0} হেক্টৰ"}\r
+                other{"{0} হেক্টৰ"}\r
             }\r
             square-centimeter{\r
-                dnam{"cm²"}\r
-                one{"{0} cm²"}\r
-                other{"{0} cm²"}\r
-                per{"{0}/cm²"}\r
+                dnam{"বৰ্গ ছেণ্টিমিটাৰ"}\r
+                one{"{0} বৰ্গ ছেণ্টিমিটাৰ"}\r
+                other{"{0} বৰ্গ ছেণ্টিমিটাৰ"}\r
+                per{"{0} বৰ্গ ছেণ্টিমিটাৰ"}\r
             }\r
             square-foot{\r
-                dnam{"ft²"}\r
-                one{"{0} ft²"}\r
-                other{"{0} ft²"}\r
+                dnam{"বৰ্গ ফুট"}\r
+                one{"{0} বৰ্গ ফুট"}\r
+                other{"{0} বৰ্গ ফুট"}\r
             }\r
             square-inch{\r
-                dnam{"in²"}\r
-                one{"{0} in²"}\r
-                other{"{0} in²"}\r
-                per{"{0}/in²"}\r
+                dnam{"বৰ্গ ইঞ্চি"}\r
+                one{"{0} বৰ্গ ইঞ্চি"}\r
+                other{"{0} বৰ্গ ইঞ্চি"}\r
+                per{"{0} প্ৰতি বৰ্গ ইঞ্চি"}\r
             }\r
             square-kilometer{\r
-                dnam{"km²"}\r
-                one{"{0} km²"}\r
-                other{"{0} km²"}\r
-                per{"{0}/km²"}\r
+                dnam{"বৰ্গ কিলোমিটাৰ"}\r
+                one{"{0} বৰ্গ কিলোমিটাৰ"}\r
+                other{"{0} বৰ্গ কিলোমিটাৰ"}\r
+                per{"{0} প্ৰতি বৰ্গ কিলোমিটাৰ"}\r
             }\r
             square-meter{\r
-                dnam{""}\r
-                one{"{0} "}\r
-                other{"{0} "}\r
-                per{"{0}/m²"}\r
+                dnam{"বৰ্গ মিটাৰ"}\r
+                one{"{0} বৰ্গ মিটাৰ"}\r
+                other{"{0} বৰ্গ মিটাৰ"}\r
+                per{"{0} বৰ্গ মিটাৰ"}\r
             }\r
             square-mile{\r
-                dnam{"mi²"}\r
-                one{"{0} mi²"}\r
-                other{"{0} mi²"}\r
-                per{"{0}/mi²"}\r
+                dnam{"বৰà§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
+                one{"{0} à¦¬à§°à§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
+                other{"{0} à¦¬à§°à§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
+                per{"{0} à¦ªà§\8dৰতি à¦¬à§°à§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
             }\r
             square-yard{\r
-                dnam{"yd²"}\r
-                one{"{0} yd²"}\r
-                other{"{0} yd²"}\r
+                dnam{"বৰ্গ গজ"}\r
+                one{"{0} বৰ্গ গজ"}\r
+                other{"{0} বৰ্গ গজ"}\r
             }\r
         }\r
         compound{\r
-            per{"{0}/{1}"}\r
+            per{"প্ৰতি {1}ত {0}"}\r
         }\r
         concentr{\r
             karat{\r
-                dnam{"kt"}\r
-                one{"{0} kt"}\r
-                other{"{0} kt"}\r
+                dnam{"কেৰেট"}\r
+                one{"{0} কেৰেট"}\r
+                other{"{0} কেৰেট"}\r
             }\r
             milligram-per-deciliter{\r
-                dnam{"পà§\8dরতি à¦¦à¦¶à¦®à¦¿à¦\95 à¦®à¦¿à¦²à¦¿à¦\97à§\8dরাম"}\r
-                one{"{0}পà§\8dরতি à¦¦à¦¶à¦®à¦¿à¦\95 à¦®à¦¿à¦²à¦¿à¦\97à§\8dরাম"}\r
-                other{"{0}পà§\8dরতি à¦¦à¦¶à¦®à¦¿à¦\95 à¦®à¦¿à¦²à¦¿à¦\97à§\8dরাম"}\r
+                dnam{"পà§\8dৰতি à¦¡à§\87à¦\9aিলিà¦\9fাৰত à¦®à¦¿à¦²à¦¿à¦\97à§\8dৰাম"}\r
+                one{"পà§\8dৰতি à¦¡à§\87à¦\9aিলিà¦\9fাৰত {0} à¦®à¦¿à¦²à¦¿à¦\97à§\8dৰাম"}\r
+                other{"পà§\8dৰতি à¦¡à§\87à¦\9aিলিà¦\9fাৰত {0} à¦®à¦¿à¦²à¦¿à¦\97à§\8dৰাম"}\r
             }\r
             millimole-per-liter{\r
-                dnam{"লিà¦\9fার à¦ªà§\8dরতি à¦®à¦¿à¦²à¦¿ à¦®à¦¿à¦²à¦¸"}\r
-                one{"{0}লিটার প্রতি মিলি মিলস"}\r
-                other{"{0}লিটার প্রতি মিলি মিলস"}\r
+                dnam{"পà§\8dৰতি à¦²à¦¿à¦\9fাৰত à¦®à¦¿à¦²à¦¿à¦®à§\8bল"}\r
+                one{"প্ৰতি লিটাৰত {0} মিলিমোল"}\r
+                other{"প্ৰতি লিটাৰত {0} মিলিমোল"}\r
             }\r
             part-per-million{\r
-                dnam{"পà§\8dরতি à¦²à¦\95à§\8dষà§\87"}\r
-                one{"{0}প্রতি লক্ষে"}\r
-                other{"{0} ppm"}\r
+                dnam{"পà§\8dৰতি à¦®à¦¿à¦²à¦¿à¦¯à¦¼à¦¨à¦¤ à¦­à¦¾à¦\97"}\r
+                one{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
+                other{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
             }\r
         }\r
         consumption{\r
             liter-per-100kilometers{\r
-                dnam{"পà§\8dরতি 100 à¦\95িলà§\8bমিà¦\9fার à¦²à¦¾à¦\87à¦\9f"}\r
-                one{"{0}প্রতি 100 কিলোমিটার লাইট"}\r
-                other{"{0}প্রতি 100 কিলোমিটার লাইট"}\r
+                dnam{"পà§\8dৰতি à§§à§¦à§¦ à¦\95িলà§\8bমিà¦\9fাৰত à¦²à¦¿à¦\9fাৰ"}\r
+                one{"প্ৰতি ১০০ কিলোমিটাৰত {0} লিটাৰ"}\r
+                other{"প্ৰতি ১০০ কিলোমিটাৰত {0} লিটাৰ"}\r
             }\r
             liter-per-kilometer{\r
-                dnam{"à¦\95িলà§\8bমিà¦\9fার à¦ªà§\8dরতি à¦²à¦¿à¦\9fার"}\r
-                one{"{0}à¦\95িলà§\8bমিà¦\9fার à¦ªà§\8dরতি à¦²à¦¿à¦\9fার"}\r
-                other{"{0}à¦\95িলà§\8bমিà¦\9fার à¦ªà§\8dরতি à¦²à¦¿à¦\9fার"}\r
+                dnam{"পà§\8dৰতি à¦\95িলà§\8bমিà¦\9fাৰত à¦²à¦¿à¦\9fাৰ"}\r
+                one{"পà§\8dৰতি à¦\95িলà§\8bমিà¦\9fাৰত {0} à¦²à¦¿à¦\9fাৰ"}\r
+                other{"পà§\8dৰতি à¦\95িলà§\8bমিà¦\9fাৰত {0} à¦²à¦¿à¦\9fাৰ"}\r
             }\r
             mile-per-gallon{\r
-                dnam{"à¦\97à§\8dযালন à¦ªà§\8dরতি মাইল"}\r
-                one{"{0}গ্যালন প্রতি মাইল"}\r
-                other{"{0}গ্যালন প্রতি মাইল"}\r
+                dnam{"পà§\8dৰতি à¦\97à§\87লনত মাইল"}\r
+                one{"প্ৰতি গেলনত {0} মাইল"}\r
+                other{"প্ৰতি গেলনত {0} মাইল"}\r
             }\r
             mile-per-gallon-imperial{\r
-                dnam{"মাà¦\87ল à¦ªà§\8dরতি Imp à¦ªà¦¯à¦¼à¦¸à§\87র à¦ªà¦¾à¦\81à¦\9a à¦¸à§\87র"}\r
-                one{"মাà¦\87ল {0}পà§\8dরতি Imp à¦ªà¦¯à¦¼à¦¸à§\87র à¦ªà¦¾à¦\81à¦\9a à¦¸à§\87র"}\r
-                other{"মাà¦\87ল {0}পà§\8dরতি Imp à¦ªà¦¯à¦¼à¦¸à§\87র à¦ªà¦¾à¦\81à¦\9a à¦¸à§\87র"}\r
+                dnam{"পà§\8dৰতি à¦\87মà§\8dপà§\87ৰিয়াল à¦\97à§\87লনত à¦®à¦¾à¦\87ল"}\r
+                one{"পà§\8dৰতি à¦\87মà§\8dপà§\87ৰিয়াল à¦\97à§\87লনত {0} à¦®à¦¾à¦\87ল"}\r
+                other{"পà§\8dৰতি à¦\87মà§\8dপà§\87ৰিয়াল à¦\97à§\87লনত {0} à¦®à¦¾à¦\87ল"}\r
             }\r
         }\r
         coordinate{\r
-            east{"{0} à¦ªà§\82রà§\8dব"}\r
-            north{"{0}à¦\89তà§\8dতর"}\r
-            south{"{0}দক্ষিণ"}\r
-            west{"{0}পশ্চিমে"}\r
+            east{"{0} পূব"}\r
+            north{"{0} à¦\89তà§\8dতৰ"}\r
+            south{"{0} দক্ষিণ"}\r
+            west{"{0} পশ্চিম"}\r
         }\r
         digital{\r
             bit{\r
-                dnam{"bit"}\r
-                one{"{0} bit"}\r
-                other{"{0} bit"}\r
+                dnam{"বিট"}\r
+                one{"{0} বিট"}\r
+                other{"{0} বিট"}\r
             }\r
             byte{\r
-                dnam{"byte"}\r
-                one{"{0} byte"}\r
-                other{"{0} byte"}\r
+                dnam{"বাইট"}\r
+                one{"{0} বাইট"}\r
+                other{"{0} বাইট"}\r
             }\r
             gigabit{\r
-                dnam{"Gb"}\r
-                one{"{0} Gb"}\r
-                other{"{0} Gb"}\r
+                dnam{"গিগাবিট"}\r
+                one{"{0} গিগাবিট"}\r
+                other{"{0} গিগাবিট"}\r
             }\r
             gigabyte{\r
-                dnam{"GB"}\r
-                one{"{0} GB"}\r
-                other{"{0} GB"}\r
+                dnam{"গিগাবাইট"}\r
+                one{"{0} গিগাবাইট"}\r
+                other{"{0} গিগাবাইট"}\r
             }\r
             kilobit{\r
-                dnam{"kb"}\r
-                one{"{0} kb"}\r
-                other{"{0} kb"}\r
+                dnam{"কিলোবিট"}\r
+                one{"{0} কিলোবিট"}\r
+                other{"{0} কিলোবিট"}\r
             }\r
             kilobyte{\r
-                dnam{"kB"}\r
-                one{"{0} kB"}\r
-                other{"{0} kB"}\r
+                dnam{"কিলোবাইট"}\r
+                one{"{0} কিলোবাইট"}\r
+                other{"{0} কিলোবাইট"}\r
             }\r
             megabit{\r
-                dnam{"Mb"}\r
-                one{"{0} Mb"}\r
-                other{"{0} Mb"}\r
+                dnam{"মেগাবিট"}\r
+                one{"{0} মেগাবিট"}\r
+                other{"{0} মেগাবিট"}\r
             }\r
             megabyte{\r
-                dnam{"MB"}\r
-                one{"{0} MB"}\r
-                other{"{0} MB"}\r
+                dnam{"মেগাবাইট"}\r
+                one{"{0} মেগাবাইট"}\r
+                other{"{0} মেগাবাইট"}\r
             }\r
             terabit{\r
-                dnam{"Tb"}\r
-                one{"{0} Tb"}\r
-                other{"{0} Tb"}\r
+                dnam{"টেৰাবিট"}\r
+                one{"{0} টেৰাবিট"}\r
+                other{"{0} টেৰাবিট"}\r
             }\r
             terabyte{\r
-                dnam{"TB"}\r
-                one{"{0} TB"}\r
-                other{"{0} TB"}\r
+                dnam{"টেৰাবাইট"}\r
+                one{"{0} টেৰাবাইট"}\r
+                other{"{0} টেৰাবাইট"}\r
             }\r
         }\r
         duration{\r
@@ -270,331 +270,331 @@ as{
         }\r
         electric{\r
             ampere{\r
-                dnam{"amp"}\r
-                one{"{0} A"}\r
-                other{"{0} A"}\r
+                dnam{"এম্পিয়াৰ"}\r
+                one{"{0} এম্পিয়াৰ"}\r
+                other{"{0} এম্পিয়াৰ"}\r
             }\r
             milliampere{\r
-                dnam{"mA"}\r
-                one{"{0} mA"}\r
-                other{"{0} mA"}\r
+                dnam{"মিলিএম্পিয়াৰ"}\r
+                one{"{0} মিলিএম্পিয়াৰ"}\r
+                other{"{0} মিলিএম্পিয়াৰ"}\r
             }\r
             ohm{\r
-                dnam{"ohm"}\r
-                one{"{0} Ω"}\r
-                other{"{0} Ω"}\r
+                dnam{"ওম"}\r
+                one{"{0} ওম"}\r
+                other{"{0} ওম"}\r
             }\r
             volt{\r
-                dnam{"volt"}\r
-                one{"{0} V"}\r
-                other{"{0} V"}\r
+                dnam{"ভল্ট"}\r
+                one{"{0} ভল্ট"}\r
+                other{"{0} ভল্ট"}\r
             }\r
         }\r
         energy{\r
             calorie{\r
-                dnam{"cal"}\r
-                one{"{0} cal"}\r
-                other{"{0} cal"}\r
+                dnam{"কেলৰি"}\r
+                one{"{0} কেলৰি"}\r
+                other{"{0} কেলৰি"}\r
             }\r
             foodcalorie{\r
-                dnam{"Cal"}\r
-                one{"{0} Cal"}\r
-                other{"{0} Cal"}\r
+                dnam{"কেলৰি"}\r
+                one{"{0} কেলৰি"}\r
+                other{"{0} কেলৰি"}\r
             }\r
             joule{\r
-                dnam{"joule"}\r
-                one{"{0} J"}\r
-                other{"{0} J"}\r
+                dnam{"জুল"}\r
+                one{"{0} জুল"}\r
+                other{"{0} জুল"}\r
             }\r
             kilocalorie{\r
-                dnam{"kcal"}\r
-                one{"{0} kcal"}\r
-                other{"{0} kcal"}\r
+                dnam{"কিলোকেলৰি"}\r
+                one{"{0} কিলোকেলৰি"}\r
+                other{"{0} কিলোকেলৰি"}\r
             }\r
             kilojoule{\r
-                dnam{"kJ"}\r
-                one{"{0} kJ"}\r
-                other{"{0} kJ"}\r
+                dnam{"কিলোজুল"}\r
+                one{"{0} কিলোজুল"}\r
+                other{"{0} কিলোজুল"}\r
             }\r
             kilowatt-hour{\r
-                dnam{"kWh"}\r
-                one{"{0} kWh"}\r
-                other{"{0} kWh"}\r
+                dnam{"কিলোৱাট-ঘণ্টা"}\r
+                one{"{0} কিলোৱাট ঘণ্টা"}\r
+                other{"{0} কিলোৱাট ঘণ্টা"}\r
             }\r
         }\r
         frequency{\r
             gigahertz{\r
-                dnam{"GHz"}\r
-                one{"{0} GHz"}\r
-                other{"{0} GHz"}\r
+                dnam{"গিগাহাৰ্টজ"}\r
+                one{"{0} গিগাহাৰ্টজ"}\r
+                other{"{0} গিগাহাৰ্টজ"}\r
             }\r
             hertz{\r
-                dnam{"Hz"}\r
-                one{"{0} Hz"}\r
-                other{"{0} Hz"}\r
+                dnam{"হাৰ্টজ"}\r
+                one{"{0} হাৰ্টজ"}\r
+                other{"{0} হাৰ্টজ"}\r
             }\r
             kilohertz{\r
-                dnam{"kHz"}\r
-                one{"{0} kHz"}\r
-                other{"{0} kHz"}\r
+                dnam{"কিলোহাৰ্টজ"}\r
+                one{"{0} কিলোহাৰ্টজ"}\r
+                other{"{0} কিলোহাৰ্টজ"}\r
             }\r
             megahertz{\r
-                dnam{"MHz"}\r
-                one{"{0} MHz"}\r
-                other{"{0} MHz"}\r
+                dnam{"মেগাহাৰ্টজ"}\r
+                one{"{0} মেগাহাৰ্টজ"}\r
+                other{"{0} মেগাহাৰ্টজ"}\r
             }\r
         }\r
         length{\r
             astronomical-unit{\r
-                dnam{"au"}\r
-                one{"{0} au"}\r
-                other{"{0} au"}\r
+                dnam{"জ্যোতিৰ্বিজ্ঞান একক"}\r
+                one{"{0} জ্যোতিৰ্বিজ্ঞান একক"}\r
+                other{"{0} জ্যোতিৰ্বিজ্ঞান একক"}\r
             }\r
             centimeter{\r
-                dnam{"cm"}\r
-                one{"{0} cm"}\r
-                other{"{0} cm"}\r
-                per{"{0}/cm"}\r
+                dnam{"ছেণ্টিমিটাৰ"}\r
+                one{"{0} ছেণ্টিমিটাৰ"}\r
+                other{"{0} ছেণ্টিমিটাৰ"}\r
+                per{"{0} প্ৰতি ছেণ্টিমিটাৰ"}\r
             }\r
             decimeter{\r
-                dnam{"dm"}\r
-                one{"{0} dm"}\r
-                other{"{0} dm"}\r
+                dnam{"ডেচিমিটাৰ"}\r
+                one{"{0} ডেচিমিটাৰ"}\r
+                other{"{0} ডেচিমিটাৰ"}\r
             }\r
             foot{\r
-                dnam{"ft"}\r
-                one{"{0} ft"}\r
-                other{"{0} ft"}\r
-                per{"{0}/ft"}\r
+                dnam{"ফুট"}\r
+                one{"{0} ফুট"}\r
+                other{"{0} ফুট"}\r
+                per{"{0} প্ৰতি ফুট"}\r
             }\r
             inch{\r
-                dnam{"in"}\r
-                one{"{0} in"}\r
-                other{"{0} in"}\r
-                per{"{0}/in"}\r
+                dnam{"ইঞ্চি"}\r
+                one{"{0} ইঞ্চি"}\r
+                other{"{0} ইঞ্চি"}\r
+                per{"{0} প্ৰতি ইঞ্চি"}\r
             }\r
             kilometer{\r
-                dnam{"km"}\r
-                one{"{0} km"}\r
-                other{"{0} km"}\r
-                per{"{0}/km"}\r
+                dnam{"কিলোমিটাৰ"}\r
+                one{"{0} কিলোমিটাৰ"}\r
+                other{"{0} কিলোমিটাৰ"}\r
+                per{"{0} প্ৰতি কিলোমিটাৰ"}\r
             }\r
             light-year{\r
-                dnam{"ly"}\r
-                one{"{0} ly"}\r
-                other{"{0} ly"}\r
+                dnam{"আলোকবৰ্ষ"}\r
+                one{"{0} আলোকবৰ্ষ"}\r
+                other{"{0} আলোকবৰ্ষ"}\r
             }\r
             meter{\r
-                dnam{"meter"}\r
-                one{"{0} m"}\r
-                other{"{0} m"}\r
-                per{"{0}/m"}\r
+                dnam{"মিটাৰ"}\r
+                one{"{0} মিটাৰ"}\r
+                other{"{0} মিটাৰ"}\r
+                per{"{0} প্ৰতি মিটাৰ"}\r
             }\r
             micrometer{\r
-                dnam{"µm"}\r
-                one{"{0} µm"}\r
-                other{"{0} µm"}\r
+                dnam{"মাইক্ৰ’মিটাৰ"}\r
+                one{"{0} মাইক্ৰ’মিটাৰ"}\r
+                other{"{0} মাইক্ৰ’মিটাৰ"}\r
             }\r
             mile{\r
-                dnam{"mi"}\r
-                one{"{0} mi"}\r
-                other{"{0} mi"}\r
+                dnam{"মাইল"}\r
+                one{"{0} মাইল"}\r
+                other{"{0} মাইল"}\r
             }\r
             mile-scandinavian{\r
-                dnam{"smi"}\r
-                one{"{0} smi"}\r
-                other{"{0} smi"}\r
+                dnam{"মাইল-স্কেণ্ডিনেভিয়ান"}\r
+                one{"{0} মাইল-স্কেণ্ডিনেভিয়ান"}\r
+                other{"{0} মাইল-স্কেণ্ডিনেভিয়ান"}\r
             }\r
             millimeter{\r
-                dnam{"mm"}\r
-                one{"{0} mm"}\r
-                other{"{0} mm"}\r
+                dnam{"মিলিমিটাৰ"}\r
+                one{"{0} মিলিমিটাৰ"}\r
+                other{"{0} মিলিমিটাৰ"}\r
             }\r
             nanometer{\r
-                dnam{"nm"}\r
-                one{"{0} nm"}\r
-                other{"{0} nm"}\r
+                dnam{"নেনোমিটাৰ"}\r
+                one{"{0} নেনোমিটাৰ"}\r
+                other{"{0} নেনোমিটাৰ"}\r
             }\r
             nautical-mile{\r
-                dnam{"nmi"}\r
-                one{"{0} nmi"}\r
-                other{"{0} nmi"}\r
+                dnam{"ন’টিকেল মাইল"}\r
+                one{"{0} ন’টিকেল মাইল"}\r
+                other{"{0} ন’টিকেল মাইল"}\r
             }\r
             parsec{\r
-                dnam{"pc"}\r
-                one{"{0} pc"}\r
-                other{"{0} pc"}\r
+                dnam{"পাৰ্ছেক"}\r
+                one{"{0} পাৰ্ছেক"}\r
+                other{"{0} পাৰ্ছেক"}\r
             }\r
             picometer{\r
-                dnam{"pm"}\r
-                one{"{0} pm"}\r
-                other{"{0} pm"}\r
+                dnam{"পিকোমিটাৰ"}\r
+                one{"{0} পিকোমিটাৰ"}\r
+                other{"{0} পিকোমিটাৰ"}\r
             }\r
             point{\r
-                dnam{"pt"}\r
-                one{"{0} pt"}\r
-                other{"{0} pt"}\r
+                dnam{"পইণ্ট"}\r
+                one{"{0} পইণ্ট"}\r
+                other{"{0} পইণ্ট"}\r
             }\r
             yard{\r
-                dnam{"yd"}\r
-                one{"{0} yd"}\r
-                other{"{0} yd"}\r
+                dnam{"গজ"}\r
+                one{"{0} গজ"}\r
+                other{"{0} গজ"}\r
             }\r
         }\r
         light{\r
             lux{\r
-                dnam{"দà§\80পনমাতà§\8dরা"}\r
-                one{"{0}দীপনমাত্রা"}\r
-                other{"{0}দীপনমাত্রা"}\r
+                dnam{"লাà¦\95à§\8dস"}\r
+                one{"{0} লাক্স"}\r
+                other{"{0} লাক্স"}\r
             }\r
         }\r
         mass{\r
             carat{\r
-                dnam{"CD"}\r
-                one{"{0} CD"}\r
-                other{"{0} CD"}\r
+                dnam{"কেৰেট"}\r
+                one{"{0} কেৰেট"}\r
+                other{"{0} কেৰেট"}\r
             }\r
             gram{\r
-                dnam{"gram"}\r
-                one{"{0} g"}\r
-                other{"{0} g"}\r
-                per{"{0}/g"}\r
+                dnam{"গ্ৰাম"}\r
+                one{"{0} গ্ৰাম"}\r
+                other{"{0} গ্ৰাম"}\r
+                per{"{0} প্ৰতি গ্ৰাম"}\r
             }\r
             kilogram{\r
                 dnam{"কিলোগ্রাম"}\r
-                one{"{0}à¦\95িলà§\8bà¦\97à§\8dরাম"}\r
-                other{"{0}à¦\95িলà§\8bà¦\97à§\8dরাম"}\r
-                per{"{0}কিলোগ্রাম প্রতি"}\r
+                one{"{0} à¦\95িলà§\8bà¦\97à§\8dৰাম"}\r
+                other{"{0} à¦\95িলà§\8bà¦\97à§\8dৰাম"}\r
+                per{"{0} প্ৰতি কিলোগ্ৰাম"}\r
             }\r
             metric-ton{\r
                 dnam{"মেট্রিক টন"}\r
                 one{"{0} মেট্রিক টন"}\r
-                other{"{0} metric tons"}\r
+                other{"{0} মেট্ৰিক টন"}\r
             }\r
             microgram{\r
-                dnam{"µg"}\r
-                one{"{0} µg"}\r
-                other{"{0} µg"}\r
+                dnam{"মাইক্ৰোগ্ৰাম"}\r
+                one{"{0} মাইক্ৰোগ্ৰাম"}\r
+                other{"{0} মাইক্ৰোগ্ৰাম"}\r
             }\r
             milligram{\r
-                dnam{"mg"}\r
-                one{"{0} mg"}\r
-                other{"{0} mg"}\r
+                dnam{"মিলিগ্ৰাম"}\r
+                one{"{0} মিলিগ্ৰাম"}\r
+                other{"{0} মিলিগ্ৰাম"}\r
             }\r
             ounce{\r
-                dnam{"oz"}\r
-                one{"{0} oz"}\r
-                other{"{0} oz"}\r
-                per{"{0}/oz"}\r
+                dnam{"আউন্স"}\r
+                one{"{0} আউন্স"}\r
+                other{"{0} আউন্স"}\r
+                per{"{0} প্ৰতি আউন্স"}\r
             }\r
             ounce-troy{\r
-                dnam{"oz t"}\r
-                one{"{0} oz t"}\r
-                other{"{0} oz t"}\r
+                dnam{"ট্ৰয় আউন্স"}\r
+                one{"{0} ট্ৰয় আউন্স"}\r
+                other{"{0} ট্ৰয় আউন্স"}\r
             }\r
             pound{\r
-                dnam{"lb"}\r
-                one{"{0} lb"}\r
-                other{"{0} lb"}\r
-                per{"{0}/lb"}\r
+                dnam{"পাউণ্ড"}\r
+                one{"{0} পাউণ্ড"}\r
+                other{"{0} পাউণ্ড"}\r
+                per{"{0} প্ৰতি পাউণ্ড"}\r
             }\r
             ton{\r
-                dnam{"tn"}\r
-                one{"{0} tn"}\r
-                other{"{0} tn"}\r
+                dnam{"টন"}\r
+                one{"{0} টন"}\r
+                other{"{0} টন"}\r
             }\r
         }\r
         power{\r
             gigawatt{\r
-                dnam{"GW"}\r
-                one{"{0} GW"}\r
-                other{"{0} GW"}\r
+                dnam{"গিগাৱাট"}\r
+                one{"{0} গিগাৱাট"}\r
+                other{"{0} গিগাৱাট"}\r
             }\r
             horsepower{\r
-                dnam{"hp"}\r
-                one{"{0} hp"}\r
-                other{"{0} hp"}\r
+                dnam{"অশ্বক্ষমতা"}\r
+                one{"{0} অশ্বক্ষমতা"}\r
+                other{"{0} অশ্বক্ষমতা"}\r
             }\r
             kilowatt{\r
-                dnam{"kW"}\r
-                one{"{0} kW"}\r
-                other{"{0} kW"}\r
+                dnam{"কিলোৱাট"}\r
+                one{"{0} কিলোৱাট"}\r
+                other{"{0} কিলোৱাট"}\r
             }\r
             megawatt{\r
-                dnam{"MW"}\r
-                one{"{0} MW"}\r
-                other{"{0} MW"}\r
+                dnam{"মেগাৱাট"}\r
+                one{"{0} মেগাৱাট"}\r
+                other{"{0} মেগাৱাট"}\r
             }\r
             milliwatt{\r
-                dnam{"mW"}\r
-                one{"{0} mW"}\r
-                other{"{0} mW"}\r
+                dnam{"মিলিৱাট"}\r
+                one{"{0} মিলিৱাট"}\r
+                other{"{0} মিলিৱাট"}\r
             }\r
             watt{\r
-                dnam{"watt"}\r
-                one{"{0} W"}\r
-                other{"{0} W"}\r
+                dnam{"ৱাট"}\r
+                one{"{0} ৱাট"}\r
+                other{"{0} ৱাট"}\r
             }\r
         }\r
         pressure{\r
             hectopascal{\r
-                dnam{"hPa"}\r
-                one{"{0} hPa"}\r
-                other{"{0} hPa"}\r
+                dnam{"হেক্টোপাছকল"}\r
+                one{"{0} হেক্টোপাছকল"}\r
+                other{"{0} হেক্টোপাছকল"}\r
             }\r
             inch-hg{\r
-                dnam{"পারà§\8dসি à¦\8fর à¦\87à¦\9eà§\8dà¦\9aি"}\r
-                one{"{0}পার্সি এর ইঞ্চি"}\r
-                other{"{0}পার্সি এর ইঞ্চি"}\r
+                dnam{"à¦\87à¦\9eà§\8dà¦\9aি à¦®à¦¾à§°à§\8dà¦\95িà¦\89ৰà§\80"}\r
+                one{"{0} ইঞ্চি মাৰ্কিউৰী"}\r
+                other{"{0} ইঞ্চি মাৰ্কিউৰী"}\r
             }\r
             millibar{\r
-                dnam{"mbar"}\r
-                one{"{0} millibar"}\r
-                other{"{0} millibars"}\r
+                dnam{"মিলিবাৰ"}\r
+                one{"{0} মিলিবাৰ"}\r
+                other{"{0} মিলিবাৰ"}\r
             }\r
             millimeter-of-mercury{\r
-                dnam{"মà§\87রি à¦\8fর à¦®à¦¿à¦²à¦¿à¦®à¦¿à¦\9fার"}\r
-                one{"{0}মেরি এর মিলিমিটার"}\r
-                other{"{0}মেরি এর মিলিমিটার"}\r
+                dnam{"মিলিমিà¦\9fাৰ à¦®à¦¾à§°à§\8dà¦\95িà¦\89ৰà§\80"}\r
+                one{"{0} মিলিমিটাৰ মাৰ্কিউৰী"}\r
+                other{"{0} মিলিমিটাৰ মাৰ্কিউৰী"}\r
             }\r
             pound-per-square-inch{\r
-                dnam{"পà§\8dরতি à¦\87à¦\9eà§\8dà¦\9aি à¦\8fà¦\95 à¦ªà¦¾à¦\89ন্ড"}\r
-                one{"{0}প্রতি ইঞ্চি এক পাউন্ড"}\r
-                other{"{0}প্রতি ইঞ্চি এক পাউন্ড"}\r
+                dnam{"পà§\8dৰতি à¦¬à§°à§\8dà¦\97 à¦\87à¦\9eà§\8dà¦\9aি à¦ªà¦¾à¦\89ণ্ড"}\r
+                one{"{0} প্ৰতি বৰ্গ ইঞ্চি পাউণ্ড"}\r
+                other{"{0} প্ৰতি বৰ্গ ইঞ্চি পাউণ্ড"}\r
             }\r
         }\r
         speed{\r
             kilometer-per-hour{\r
-                dnam{"km/h"}\r
-                one{"{0} km/h"}\r
-                other{"{0} km/h"}\r
+                dnam{"ঘণ্টা প্ৰতি কিলোমিটাৰ"}\r
+                one{"{0} ঘণ্টা প্ৰতি কিলোমিটাৰ"}\r
+                other{"{0} ঘণ্টা প্ৰতি কিলোমিটাৰ"}\r
             }\r
             knot{\r
-                dnam{"kn"}\r
-                one{"{0} kn"}\r
-                other{"{0} kn"}\r
+                dnam{"নট"}\r
+                one{"{0} নট"}\r
+                other{"{0} নট"}\r
             }\r
             meter-per-second{\r
-                dnam{"m/s"}\r
-                one{"{0} m/s"}\r
-                other{"{0} m/s"}\r
+                dnam{"মিটাৰ প্ৰতি ছেকেণ্ড"}\r
+                one{"{0} মিটাৰ প্ৰতি ছেকেণ্ড"}\r
+                other{"{0} মিটাৰ প্ৰতি ছেকেণ্ড"}\r
             }\r
             mile-per-hour{\r
-                dnam{"mi/h"}\r
-                one{"{0} mi/h"}\r
-                other{"{0} mi/h"}\r
+                dnam{"মাইল প্ৰতি ঘণ্টা"}\r
+                one{"{0} মাইল প্ৰতি ঘণ্টা"}\r
+                other{"{0} মাইল প্ৰতি ঘণ্টা"}\r
             }\r
         }\r
         temperature{\r
             celsius{\r
-                dnam{"°C"}\r
-                one{"{0}°C"}\r
-                other{"{0}°C"}\r
+                dnam{"ডিগ্ৰী চেলচিয়াছ"}\r
+                one{"{0} ডিগ্ৰী চেলচিয়াছ"}\r
+                other{"{0} ডিগ্ৰী চেলচিয়াছ"}\r
             }\r
             fahrenheit{\r
-                dnam{"°F"}\r
-                one{"{0}°F"}\r
-                other{"{0}°F"}\r
+                dnam{"ডিগ্ৰী ফাৰেনহাইট"}\r
+                one{"{0} ডিগ্ৰী ফাৰেনহাইট"}\r
+                other{"{0} ডিগ্ৰী ফাৰেনহাইট"}\r
             }\r
             generic{\r
                 dnam{"°"}\r
@@ -602,136 +602,136 @@ as{
                 other{"{0}°"}\r
             }\r
             kelvin{\r
-                dnam{"K"}\r
-                one{"{0} K"}\r
-                other{"{0} K"}\r
+                dnam{"কেলভিন"}\r
+                one{"{0} কেলভিন"}\r
+                other{"{0} কেলভিন"}\r
             }\r
         }\r
         volume{\r
             acre-foot{\r
-                dnam{"ac ft"}\r
-                one{"{0} ac ft"}\r
-                other{"{0} ac ft"}\r
+                dnam{"একৰ-ফুট"}\r
+                one{"{0} একৰ-ফুট"}\r
+                other{"{0} একৰ-ফুট"}\r
             }\r
             centiliter{\r
-                dnam{"cL"}\r
-                one{"{0} cL"}\r
-                other{"{0} cL"}\r
+                dnam{"ছেণ্টিলিটাৰ"}\r
+                one{"{0} ছেণ্টিলিটাৰ"}\r
+                other{"{0} ছেণ্টিলিটাৰ"}\r
             }\r
             cubic-centimeter{\r
-                dnam{"cm³"}\r
-                one{"{0} cm³"}\r
-                other{"{0} cm³"}\r
-                per{"{0}/cm³"}\r
+                dnam{"ঘন ছেণ্টিমিটাৰ"}\r
+                one{"{0} ঘন ছেণ্টিমিটাৰ"}\r
+                other{"{0} ঘন ছেণ্টিমিটাৰ"}\r
+                per{"{0} প্ৰতি ঘন ছেণ্টিমিটাৰ"}\r
             }\r
             cubic-foot{\r
-                dnam{"ft³"}\r
-                one{"{0} ft³"}\r
-                other{"{0} ft³"}\r
+                dnam{"ঘন ফুট"}\r
+                one{"{0} ঘন ফুট"}\r
+                other{"{0} ঘন ফুট"}\r
             }\r
             cubic-inch{\r
-                dnam{"in³"}\r
-                one{"{0} in³"}\r
-                other{"{0} in³"}\r
+                dnam{"ঘন ইঞ্চি"}\r
+                one{"{0} ঘন ইঞ্চি"}\r
+                other{"{0} ঘন ইঞ্চি"}\r
             }\r
             cubic-kilometer{\r
-                dnam{"km³"}\r
-                one{"{0} km³"}\r
-                other{"{0} km³"}\r
+                dnam{"ঘন কিলোমিটাৰ"}\r
+                one{"{0} ঘন কিলোমিটাৰ"}\r
+                other{"{0} ঘন কিলোমিটাৰ"}\r
             }\r
             cubic-meter{\r
-                dnam{""}\r
-                one{"{0} "}\r
-                other{"{0} "}\r
-                per{"{0}/m³"}\r
+                dnam{"ঘন মিটাৰ"}\r
+                one{"{0} ঘন মিটাৰ"}\r
+                other{"{0} ঘন মিটাৰ"}\r
+                per{"{0} প্ৰতি ঘন মিটাৰ"}\r
             }\r
             cubic-mile{\r
-                dnam{"mi³"}\r
-                one{"{0} mi³"}\r
-                other{"{0} mi³"}\r
+                dnam{"ঘন মাইল"}\r
+                one{"{0} ঘন মাইল"}\r
+                other{"{0} ঘন মাইল"}\r
             }\r
             cubic-yard{\r
-                dnam{"yd³"}\r
-                one{"{0} yd³"}\r
-                other{"{0} yd³"}\r
+                dnam{"ঘন গজ"}\r
+                one{"{0} ঘন গজ"}\r
+                other{"{0} ঘন গজ"}\r
             }\r
             cup{\r
-                dnam{"cup"}\r
-                one{"{0} c"}\r
-                other{"{0} c"}\r
+                dnam{"কাপ"}\r
+                one{"{0} কাপ"}\r
+                other{"{0} কাপ"}\r
             }\r
             cup-metric{\r
-                dnam{"mcup"}\r
-                one{"{0} mc"}\r
-                other{"{0} mc"}\r
+                dnam{"মেট্ৰিক কাপ"}\r
+                one{"{0} মেট্ৰিক কাপ"}\r
+                other{"{0} মেট্ৰিক কাপ"}\r
             }\r
             deciliter{\r
-                dnam{"dL"}\r
-                one{"{0} dL"}\r
-                other{"{0} dL"}\r
+                dnam{"ডেচিলিটাৰ"}\r
+                one{"{0} ডেচিলিটাৰ"}\r
+                other{"{0} ডেচিলিটাৰ"}\r
             }\r
             fluid-ounce{\r
-                dnam{"fl oz"}\r
-                one{"{0} fl oz"}\r
-                other{"{0} fl oz"}\r
+                dnam{"ফ্লুইড আউন্স"}\r
+                one{"{0} ফ্লুইড আউন্স"}\r
+                other{"{0} ফ্লুইড আউন্স"}\r
             }\r
             gallon{\r
-                dnam{"US gal"}\r
-                one{"{0} gal US"}\r
-                other{"{0} gal US"}\r
-                per{"{0}/gal US"}\r
+                dnam{"গেলন"}\r
+                one{"{0} গেলন"}\r
+                other{"{0} গেলন"}\r
+                per{"{0} প্ৰতি গেলন"}\r
             }\r
             gallon-imperial{\r
-                dnam{"Imp. gal"}\r
-                one{"{0} gal Imp."}\r
-                other{"{0} gal Imp."}\r
-                per{"{0}/gal Imp."}\r
+                dnam{"ইম্পেৰিয়াল গেলন"}\r
+                one{"{0} ইম্পেৰিয়াল গেলন"}\r
+                other{"{0} ইম্পেৰিয়াল গেলন"}\r
+                per{"{0} প্ৰতি ইম্পেৰিয়াল গেলন"}\r
             }\r
             hectoliter{\r
-                dnam{"hL"}\r
-                one{"{0} hL"}\r
-                other{"{0} hL"}\r
+                dnam{"হেক্টোলিটাৰ"}\r
+                one{"{0} হেক্টোলিটাৰ"}\r
+                other{"{0} হেক্টোলিটাৰ"}\r
             }\r
             liter{\r
-                dnam{"liter"}\r
-                one{"{0} l"}\r
-                other{"{0} l"}\r
-                per{"{0}/l"}\r
+                dnam{"লিটাৰ"}\r
+                one{"{0} লিটাৰ"}\r
+                other{"{0} লিটাৰ"}\r
+                per{"{0} প্ৰতি লিটাৰ"}\r
             }\r
             megaliter{\r
-                dnam{"ML"}\r
-                one{"{0} ML"}\r
-                other{"{0} ML"}\r
+                dnam{"মেগালিটাৰ"}\r
+                one{"{0} মেগালিটাৰ"}\r
+                other{"{0} মেগালিটাৰ"}\r
             }\r
             milliliter{\r
-                dnam{"mL"}\r
-                one{"{0} mL"}\r
-                other{"{0} mL"}\r
+                dnam{"মিলিলিটাৰ"}\r
+                one{"{0} মিলিলিটাৰ"}\r
+                other{"{0} মিলিলিটাৰ"}\r
             }\r
             pint{\r
-                dnam{"pt"}\r
-                one{"{0} pt"}\r
-                other{"{0} pt"}\r
+                dnam{"পিণ্ট"}\r
+                one{"{0} পিণ্ট"}\r
+                other{"{0} পিণ্ট"}\r
             }\r
             pint-metric{\r
-                dnam{"mpt"}\r
-                one{"{0} mpt"}\r
-                other{"{0} mpt"}\r
+                dnam{"মেট্ৰিক পিণ্ট"}\r
+                one{"{0} মেট্ৰিক পিণ্ট"}\r
+                other{"{0} মেট্ৰিক পিণ্ট"}\r
             }\r
             quart{\r
-                dnam{"qt"}\r
-                one{"{0} qt"}\r
-                other{"{0} qt"}\r
+                dnam{"কোৱাৰ্ট"}\r
+                one{"{0} কোৱাৰ্ট"}\r
+                other{"{0} কোৱাৰ্ট"}\r
             }\r
             tablespoon{\r
-                dnam{"tbsp"}\r
-                one{"{0} tbsp"}\r
-                other{"{0} tbsp"}\r
+                dnam{"টেব’লস্পুন"}\r
+                one{"{0} টেব’লস্পুন"}\r
+                other{"{0} টেব’লস্পুন"}\r
             }\r
             teaspoon{\r
-                dnam{"tsp"}\r
-                one{"{0} tsp"}\r
-                other{"{0} tsp"}\r
+                dnam{"চাহচামোছ"}\r
+                one{"{0} চাহচামোছ"}\r
+                other{"{0} চাহচামোছ"}\r
             }\r
         }\r
     }\r
@@ -741,16 +741,16 @@ as{
         }\r
         consumption{\r
             liter-per-100kilometers{\r
-                dnam{"L/100km"}\r
-                one{"{0} L/100km"}\r
-                other{"{0} L/100km"}\r
+                dnam{"ল/১০০ ক.ম."}\r
+                one{"{0} ল/১০০ ক.ম."}\r
+                other{"{0} ল/১০০ ক.ম."}\r
             }\r
         }\r
         coordinate{\r
-            east{"{0}E"}\r
-            north{"{0}N"}\r
-            south{"{0}S"}\r
-            west{"{0}W"}\r
+            east{"{0} পূঃ"}\r
+            north{"{0} উঃ"}\r
+            south{"{0} দঃ"}\r
+            west{"{0} পঃ"}\r
         }\r
         duration{\r
             day{\r
@@ -765,8 +765,8 @@ as{
             }\r
             millisecond{\r
                 dnam{"মিলিছেকেণ্ড"}\r
-                one{"{0} মিঃছেঃ"}\r
-                other{"{0} মিঃছেঃ"}\r
+                one{"{0} মিঃ ছেঃ"}\r
+                other{"{0} মিঃ ছেঃ"}\r
             }\r
             minute{\r
                 dnam{"মিনিট"}\r
@@ -796,110 +796,110 @@ as{
         }\r
         length{\r
             centimeter{\r
-                dnam{"cm"}\r
-                one{"{0} cm"}\r
-                other{"{0} cm"}\r
+                dnam{"ছেঃ মিঃ"}\r
+                one{"{0} ছেঃ মিঃ"}\r
+                other{"{0} ছেঃ মিঃ"}\r
             }\r
             kilometer{\r
-                dnam{"km"}\r
-                one{"{0} km"}\r
-                other{"{0} km"}\r
+                dnam{"কিঃ মিঃ"}\r
+                one{"{0} কিঃ মিঃ"}\r
+                other{"{0} কিঃ মিঃ"}\r
             }\r
             meter{\r
-                dnam{"meter"}\r
-                one{"{0} m"}\r
-                other{"{0} m"}\r
+                dnam{"মিঃ"}\r
+                one{"{0} মিঃ"}\r
+                other{"{0} মিঃ"}\r
             }\r
             millimeter{\r
-                dnam{"mm"}\r
-                one{"{0} mm"}\r
-                other{"{0} mm"}\r
+                dnam{"মিঃ মিঃ"}\r
+                one{"{0} মিঃ মিঃ"}\r
+                other{"{0} মিঃ মিঃ"}\r
             }\r
         }\r
         mass{\r
             gram{\r
-                dnam{"gram"}\r
-                one{"{0} g"}\r
-                other{"{0} g"}\r
+                dnam{"গ্ৰাম"}\r
+                one{"{0} গ্ৰাঃ"}\r
+                other{"{0} গ্ৰাঃ"}\r
             }\r
             kilogram{\r
-                dnam{"à¦\95িলà§\8bà¦\97à§\8dরাম"}\r
-                one{"{0}kg"}\r
-                other{"{0}kg"}\r
+                dnam{"à¦\95িà¦\83 à¦\97à§\8dৰাà¦\83"}\r
+                one{"{0} কিঃ গ্ৰাঃ"}\r
+                other{"{0} কিঃ গ্ৰাঃ"}\r
             }\r
         }\r
         speed{\r
             kilometer-per-hour{\r
-                dnam{"km/h"}\r
+                dnam{"কিঃ মিঃ/ঘঃ"}\r
                 one{"{0} km/h"}\r
                 other{"{0} km/h"}\r
             }\r
         }\r
         temperature{\r
             celsius{\r
-                dnam{"°C"}\r
-                one{"{0}°C"}\r
-                other{"{0}°C"}\r
+                dnam{"°চেঃ"}\r
+                one{"{0}°চেঃ"}\r
+                other{"{0}°চেঃ"}\r
             }\r
         }\r
         volume{\r
             liter{\r
-                dnam{"liter"}\r
-                one{"{0} l"}\r
-                other{"{0} l"}\r
+                dnam{"লিটাৰ"}\r
+                one{"{0} লিঃ"}\r
+                other{"{0} লিঃ"}\r
             }\r
         }\r
     }\r
     unitsShort{\r
         acceleration{\r
             g-force{\r
-                dnam{"g-force"}\r
-                one{"{0} G"}\r
-                other{"{0} G"}\r
+                dnam{"জি-বল"}\r
+                one{"{0} জি"}\r
+                other{"{0} জি"}\r
             }\r
             meter-per-second-squared{\r
-                dnam{"m/s²"}\r
+                dnam{"মিটাৰ/বৰ্গ ছেকেণ্ড"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
         }\r
         angle{\r
             arc-minute{\r
-                dnam{"arcmin"}\r
-                one{"{0}"}\r
-                other{"{0}"}\r
+                dnam{"আৰ্কমিনিট"}\r
+                one{"{0} আৰ্কমিনিট"}\r
+                other{"{0} আৰ্কমিনিট"}\r
             }\r
             arc-second{\r
-                dnam{"arcsec"}\r
-                one{"{0}"}\r
-                other{"{0}"}\r
+                dnam{"আৰ্কছেকেণ্ড"}\r
+                one{"{0} আৰ্কছেকেণ্ড"}\r
+                other{"{0} আৰ্কছেকেণ্ড"}\r
             }\r
             degree{\r
-                dnam{"ডিà¦\97à§\8dরà§\80"}\r
-                one{"{0}°"}\r
-                other{"{0}°"}\r
+                dnam{"ডিà¦\97à§\8dৰà§\80"}\r
+                one{"{0} ডিগ্ৰী"}\r
+                other{"{0} ডিগ্ৰী"}\r
             }\r
             radian{\r
-                dnam{"রà§\87ডিয়ানà§\87"}\r
-                one{"{0} rad"}\r
-                other{"{0} rad"}\r
+                dnam{"ৰà§\87ডিয়à§\87ন"}\r
+                one{"{0} ৰেডিয়েন"}\r
+                other{"{0} ৰেডিয়েন"}\r
             }\r
             revolution{\r
-                dnam{"rev"}\r
-                one{"{0} rev"}\r
-                other{"{0} rev"}\r
+                dnam{"ঘূৰ্ণন"}\r
+                one{"{0} ঘূৰ্ণন"}\r
+                other{"{0} ঘূৰ্ণন"}\r
             }\r
         }\r
         area{\r
             acre{\r
-                dnam{"acre"}\r
-                one{"{0} ac"}\r
-                other{"{0} ac"}\r
+                dnam{"একৰ"}\r
+                one{"{0} একৰ"}\r
+                other{"{0} একৰ"}\r
             }\r
             hectare{\r
-                dnam{"hectare"}\r
-                one{"{0} ha"}\r
-                other{"{0} ha"}\r
+                dnam{"হেক্টৰ"}\r
+                one{"{0} হেক্টৰ"}\r
+                other{"{0} হেক্টৰ"}\r
             }\r
             square-centimeter{\r
                 dnam{"cm²"}\r
@@ -908,36 +908,36 @@ as{
                 per{"{0}/cm²"}\r
             }\r
             square-foot{\r
-                dnam{"ft²"}\r
-                one{"{0} ft²"}\r
-                other{"{0} ft²"}\r
+                dnam{"বৰ্গ ফুট"}\r
+                one{"{0} বৰ্গ ফুট"}\r
+                other{"{0} বৰ্গ ফুট"}\r
             }\r
             square-inch{\r
-                dnam{"in²"}\r
+                dnam{"বৰ্গ ইঞ্চি"}\r
                 one{"{0} in²"}\r
                 other{"{0} in²"}\r
                 per{"{0}/in²"}\r
             }\r
             square-kilometer{\r
-                dnam{"km²"}\r
+                dnam{"বৰ্গ কিলোমিটাৰ"}\r
                 one{"{0} km²"}\r
                 other{"{0} km²"}\r
                 per{"{0}/km²"}\r
             }\r
             square-meter{\r
-                dnam{""}\r
+                dnam{"বৰ্গ মিটাৰ"}\r
                 one{"{0} m²"}\r
                 other{"{0} m²"}\r
                 per{"{0}/m²"}\r
             }\r
             square-mile{\r
-                dnam{"mi²"}\r
-                one{"{0} mi²"}\r
-                other{"{0} mi²"}\r
+                dnam{"বৰà§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
+                one{"{0} à¦¬à§°à§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
+                other{"{0} à¦¬à§°à§\8dà¦\97 à¦®à¦¾à¦\87ল"}\r
                 per{"{0}/mi²"}\r
             }\r
             square-yard{\r
-                dnam{"yd²"}\r
+                dnam{"বৰ্গ গজ"}\r
                 one{"{0} yd²"}\r
                 other{"{0} yd²"}\r
             }\r
@@ -947,39 +947,39 @@ as{
         }\r
         concentr{\r
             karat{\r
-                dnam{"kt"}\r
-                one{"{0} kt"}\r
-                other{"{0} kt"}\r
+                dnam{"কেৰেট"}\r
+                one{"{0} কেৰেট"}\r
+                other{"{0} কেৰেট"}\r
             }\r
             milligram-per-deciliter{\r
-                dnam{"mg/dL"}\r
+                dnam{"মিঃ গ্ৰাঃ/ডেঃ লিঃ"}\r
                 one{"{0} mg/dL"}\r
                 other{"{0} mg/dL"}\r
             }\r
             millimole-per-liter{\r
-                dnam{"mmol/L"}\r
+                dnam{"মিলিমোল/লিটাৰ"}\r
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
             part-per-million{\r
-                dnam{"পà§\8dরতি à¦²à¦\95à§\8dষà§\87"}\r
+                dnam{"ভাà¦\97/মিলিয়ন"}\r
                 one{"{0} ppm"}\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
             liter-per-100kilometers{\r
-                dnam{"পà§\8dরতি 100 à¦\95িলà§\8bমিà¦\9fার à¦²à¦¾à¦\87à¦\9f"}\r
-                one{"{0} L/100km"}\r
-                other{"{0} L/100km"}\r
+                dnam{"লিà¦\83/১০০ à¦\95িà¦\83 à¦®à¦¿à¦\83"}\r
+                one{"{0} ল/১০০ ক.ম."}\r
+                other{"{0} ল/১০০ ক.ম."}\r
             }\r
             liter-per-kilometer{\r
-                dnam{"à¦\95িলà§\8bমিà¦\9fার à¦ªà§\8dরতি à¦²à¦¿à¦\9fার"}\r
-                one{"{0} L/km"}\r
-                other{"{0} L/km"}\r
+                dnam{"লিà¦\9fাৰ/à¦\95িà¦\83 à¦®à¦¿à¦\83"}\r
+                one{"{0} লিঃ/কিঃ মিঃ"}\r
+                other{"{0} লিঃ/কিঃ মিঃ"}\r
             }\r
             mile-per-gallon{\r
-                dnam{"mpg US"}\r
+                dnam{"মাইল/গেলন"}\r
                 one{"{0} mpg US"}\r
                 other{"{0} mpg US"}\r
             }\r
@@ -990,61 +990,61 @@ as{
             }\r
         }\r
         coordinate{\r
-            east{"{0} E"}\r
-            north{"{0}N"}\r
-            south{"{0}S"}\r
-            west{"{0}W"}\r
+            east{"{0} পূঃ"}\r
+            north{"{0} উঃ"}\r
+            south{"{0} দঃ"}\r
+            west{"{0} পঃ"}\r
         }\r
         digital{\r
             bit{\r
-                dnam{"bit"}\r
-                one{"{0} bit"}\r
-                other{"{0} bit"}\r
+                dnam{"বিট"}\r
+                one{"{0} বিট"}\r
+                other{"{0} বিট"}\r
             }\r
             byte{\r
-                dnam{"byte"}\r
-                one{"{0} byte"}\r
-                other{"{0} byte"}\r
+                dnam{"বাইট"}\r
+                one{"{0} বাইট"}\r
+                other{"{0} বাইট"}\r
             }\r
             gigabit{\r
-                dnam{"Gb"}\r
-                one{"{0} Gb"}\r
-                other{"{0} Gb"}\r
+                dnam{"গিগাবিট"}\r
+                one{"{0} গিঃ বিঃ"}\r
+                other{"{0} গিঃ বিঃ"}\r
             }\r
             gigabyte{\r
-                dnam{"GB"}\r
-                one{"{0} GB"}\r
-                other{"{0} GB"}\r
+                dnam{"গিগাবাইট"}\r
+                one{"{0} গিঃ বাঃ"}\r
+                other{"{0} গিঃ বাঃ"}\r
             }\r
             kilobit{\r
-                dnam{"kb"}\r
-                one{"{0} kb"}\r
-                other{"{0} kb"}\r
+                dnam{"কিলোবিট"}\r
+                one{"{0} কিঃ বিঃ"}\r
+                other{"{0} কিঃ বিঃ"}\r
             }\r
             kilobyte{\r
-                dnam{"kB"}\r
-                one{"{0} kB"}\r
-                other{"{0} kB"}\r
+                dnam{"কিলোবাইট"}\r
+                one{"{0} কিঃ বাঃ"}\r
+                other{"{0} কিঃ বাঃ"}\r
             }\r
             megabit{\r
-                dnam{"Mb"}\r
-                one{"{0} Mb"}\r
-                other{"{0} Mb"}\r
+                dnam{"মেগাবিট"}\r
+                one{"{0} মেঃ বিঃ"}\r
+                other{"{0} মেঃ বিঃ"}\r
             }\r
             megabyte{\r
-                dnam{"MB"}\r
-                one{"{0} MB"}\r
-                other{"{0} MB"}\r
+                dnam{"মেগাবাইট"}\r
+                one{"{0} মেঃ বাঃ"}\r
+                other{"{0} মেঃ বাঃ"}\r
             }\r
             terabit{\r
-                dnam{"Tb"}\r
-                one{"{0} Tb"}\r
-                other{"{0} Tb"}\r
+                dnam{"টেৰাবিট"}\r
+                one{"{0} টেঃ বিঃ"}\r
+                other{"{0} টেঃ বিঃ"}\r
             }\r
             terabyte{\r
-                dnam{"TB"}\r
-                one{"{0} TB"}\r
-                other{"{0} TB"}\r
+                dnam{"টেৰাবাইট"}\r
+                one{"{0} টেঃ বাঃ"}\r
+                other{"{0} টেঃ বাঃ"}\r
             }\r
         }\r
         duration{\r
@@ -1067,13 +1067,13 @@ as{
             }\r
             microsecond{\r
                 dnam{"মাইক্ৰছেকেণ্ড"}\r
-                one{"{0} মাঃছেঃ"}\r
-                other{"{0} মাঃছেঃ"}\r
+                one{"{0} মাঃ ছেঃ"}\r
+                other{"{0} মাঃ ছেঃ"}\r
             }\r
             millisecond{\r
                 dnam{"মিলিছেকেণ্ড"}\r
-                one{"{0} মিঃছেঃ"}\r
-                other{"{0} মিঃছেঃ"}\r
+                one{"{0} মিঃ ছেঃ"}\r
+                other{"{0} মিঃ ছেঃ"}\r
             }\r
             minute{\r
                 dnam{"মিনিট"}\r
@@ -1089,8 +1089,8 @@ as{
             }\r
             nanosecond{\r
                 dnam{"নেনোছেকেণ্ড"}\r
-                one{"{0} নেঃছেঃ"}\r
-                other{"{0} নেঃছেঃ"}\r
+                one{"{0} নেঃ ছেঃ"}\r
+                other{"{0} নেঃ ছেঃ"}\r
             }\r
             second{\r
                 dnam{"ছেকেণ্ড"}\r
@@ -1113,270 +1113,270 @@ as{
         }\r
         electric{\r
             ampere{\r
-                dnam{"amp"}\r
-                one{"{0} A"}\r
-                other{"{0} A"}\r
+                dnam{"এম্পিয়াৰ"}\r
+                one{"{0} এঃ"}\r
+                other{"{0} এঃ"}\r
             }\r
             milliampere{\r
-                dnam{"mA"}\r
-                one{"{0} mA"}\r
-                other{"{0} mA"}\r
+                dnam{"মিলিএম্পিয়াৰ"}\r
+                one{"{0} মিঃ এঃ"}\r
+                other{"{0} মিঃ এঃ"}\r
             }\r
             ohm{\r
-                dnam{"ohm"}\r
+                dnam{"ওম"}\r
                 one{"{0} Ω"}\r
                 other{"{0} Ω"}\r
             }\r
             volt{\r
-                dnam{"volt"}\r
-                one{"{0} V"}\r
-                other{"{0} V"}\r
+                dnam{"ভল্ট"}\r
+                one{"{0} ভঃ"}\r
+                other{"{0} ভঃ"}\r
             }\r
         }\r
         energy{\r
             calorie{\r
-                dnam{"cal"}\r
-                one{"{0} cal"}\r
-                other{"{0} cal"}\r
+                dnam{"কেলৰি"}\r
+                one{"{0} কেলৰি"}\r
+                other{"{0} কেলৰি"}\r
             }\r
             foodcalorie{\r
-                dnam{"Cal"}\r
-                one{"{0} Cal"}\r
-                other{"{0} Cal"}\r
+                dnam{"কেলৰি"}\r
+                one{"{0} কেলৰি"}\r
+                other{"{0} কেলৰি"}\r
             }\r
             joule{\r
-                dnam{"joule"}\r
-                one{"{0} J"}\r
-                other{"{0} J"}\r
+                dnam{"জুল"}\r
+                one{"{0} জুল"}\r
+                other{"{0} জুল"}\r
             }\r
             kilocalorie{\r
-                dnam{"kcal"}\r
-                one{"{0} kcal"}\r
-                other{"{0} kcal"}\r
+                dnam{"কিলোকেলৰি"}\r
+                one{"{0} কিঃ কেলঃ"}\r
+                other{"{0} কিঃ কেলঃ"}\r
             }\r
             kilojoule{\r
-                dnam{"kJ"}\r
-                one{"{0} kJ"}\r
-                other{"{0} kJ"}\r
+                dnam{"কিলোজুল"}\r
+                one{"{0} কিঃ জুঃ"}\r
+                other{"{0} কিঃ জুঃ"}\r
             }\r
             kilowatt-hour{\r
-                dnam{"kWh"}\r
-                one{"{0} kWh"}\r
-                other{"{0} kWh"}\r
+                dnam{"কিঃ ৱাঃ-ঘঃ"}\r
+                one{"{0} কিঃ ৱাঃ-ঘঃ"}\r
+                other{"{0} কিঃ ৱাঃ-ঘঃ"}\r
             }\r
         }\r
         frequency{\r
             gigahertz{\r
-                dnam{"GHz"}\r
-                one{"{0} GHz"}\r
-                other{"{0} GHz"}\r
+                dnam{"গিগাহাৰ্টজ"}\r
+                one{"{0} গিগাহাৰ্টজ"}\r
+                other{"{0} গিগাহাৰ্টজ"}\r
             }\r
             hertz{\r
-                dnam{"Hz"}\r
-                one{"{0} Hz"}\r
-                other{"{0} Hz"}\r
+                dnam{"হাৰ্টজ"}\r
+                one{"{0} হাৰ্টজ"}\r
+                other{"{0} হাৰ্টজ"}\r
             }\r
             kilohertz{\r
-                dnam{"kHz"}\r
-                one{"{0} kHz"}\r
-                other{"{0} kHz"}\r
+                dnam{"কিলোহাৰ্টজ"}\r
+                one{"{0} কিঃ হাঃ"}\r
+                other{"{0} কিঃ হাঃ"}\r
             }\r
             megahertz{\r
-                dnam{"MHz"}\r
-                one{"{0} MHz"}\r
-                other{"{0} MHz"}\r
+                dnam{"মেগাহাৰ্টজ"}\r
+                one{"{0} মেঃ হাঃ"}\r
+                other{"{0} মেঃ হাঃ"}\r
             }\r
         }\r
         length{\r
             astronomical-unit{\r
-                dnam{"au"}\r
-                one{"{0} au"}\r
-                other{"{0} au"}\r
+                dnam{"জ্যোঃ এঃ"}\r
+                one{"{0} জ্যোঃ এঃ"}\r
+                other{"{0} জ্যোঃ এঃ"}\r
             }\r
             centimeter{\r
-                dnam{"cm"}\r
-                one{"{0} cm"}\r
-                other{"{0} cm"}\r
-                per{"{0}/cm"}\r
+                dnam{"ছেঃ মিঃ"}\r
+                one{"{0} ছেঃ মিঃ"}\r
+                other{"{0} ছেঃ মিঃ"}\r
+                per{"{0}/ছেঃ মিঃ"}\r
             }\r
             decimeter{\r
-                dnam{"dm"}\r
-                one{"{0} dm"}\r
-                other{"{0} dm"}\r
+                dnam{"ডেঃ মিঃ"}\r
+                one{"{0} ডেঃ মিঃ"}\r
+                other{"{0} ডেঃ মিঃ"}\r
             }\r
             foot{\r
-                dnam{"ft"}\r
-                one{"{0} ft"}\r
-                other{"{0} ft"}\r
-                per{"{0}/ft"}\r
+                dnam{"ফুট"}\r
+                one{"{0} ফুঃ"}\r
+                other{"{0} ফুঃ"}\r
+                per{"{0}/ফুঃ"}\r
             }\r
             inch{\r
-                dnam{"in"}\r
-                one{"{0} in"}\r
-                other{"{0} in"}\r
-                per{"{0}/in"}\r
+                dnam{"ইঞ্চি"}\r
+                one{"{0} ইঃ"}\r
+                other{"{0} ইঃ"}\r
+                per{"{0}/ইঃ"}\r
             }\r
             kilometer{\r
-                dnam{"km"}\r
-                one{"{0} km"}\r
-                other{"{0} km"}\r
-                per{"{0}/km"}\r
+                dnam{"কিঃ মিঃ"}\r
+                one{"{0} কিঃ মিঃ"}\r
+                other{"{0} কিঃ মিঃ"}\r
+                per{"{0}/কিঃ মিঃ"}\r
             }\r
             light-year{\r
-                dnam{"ly"}\r
-                one{"{0} ly"}\r
-                other{"{0} ly"}\r
+                dnam{"আলোকবৰ্ষ"}\r
+                one{"{0} আঃ বঃ"}\r
+                other{"{0} আঃ বঃ"}\r
             }\r
             meter{\r
-                dnam{"meter"}\r
-                one{"{0} m"}\r
-                other{"{0} m"}\r
-                per{"{0}/m"}\r
+                dnam{"মিটাৰ"}\r
+                one{"{0} মিঃ"}\r
+                other{"{0} মিঃ"}\r
+                per{"{0}/মিঃ"}\r
             }\r
             micrometer{\r
-                dnam{"µm"}\r
-                one{"{0} µm"}\r
-                other{"{0} µm"}\r
+                dnam{"মাইক্ৰ’মিটাৰ"}\r
+                one{"{0} মাঃ মিঃ"}\r
+                other{"{0} মাঃ মিঃ"}\r
             }\r
             mile{\r
-                dnam{"mi"}\r
-                one{"{0} mi"}\r
-                other{"{0} mi"}\r
+                dnam{"মাইল"}\r
+                one{"{0} মাঃ"}\r
+                other{"{0} মাঃ"}\r
             }\r
             mile-scandinavian{\r
-                dnam{"smi"}\r
-                one{"{0} smi"}\r
-                other{"{0} smi"}\r
+                dnam{"মাঃ-স্কেঃ"}\r
+                one{"{0} মাঃ-স্কেঃ"}\r
+                other{"{0} মাঃ-স্কেঃ"}\r
             }\r
             millimeter{\r
-                dnam{"mm"}\r
-                one{"{0} mm"}\r
-                other{"{0} mm"}\r
+                dnam{"মিঃ মিঃ"}\r
+                one{"{0} মিঃ মিঃ"}\r
+                other{"{0} মিঃ মিঃ"}\r
             }\r
             nanometer{\r
-                dnam{"nm"}\r
-                one{"{0} nm"}\r
-                other{"{0} nm"}\r
+                dnam{"নেঃ মিঃ"}\r
+                one{"{0} নেঃ মিঃ"}\r
+                other{"{0} নেঃ মিঃ"}\r
             }\r
             nautical-mile{\r
-                dnam{"nmi"}\r
-                one{"{0} nmi"}\r
-                other{"{0} nmi"}\r
+                dnam{"ন’টিঃ মাঃ"}\r
+                one{"{0} ন’টিঃ মাঃ"}\r
+                other{"{0} ন’টিঃ মাঃ"}\r
             }\r
             parsec{\r
-                dnam{"pc"}\r
-                one{"{0} pc"}\r
-                other{"{0} pc"}\r
+                dnam{"পাৰ্ছেক"}\r
+                one{"{0} পাৰ্ছেক"}\r
+                other{"{0} পাৰ্ছেক"}\r
             }\r
             picometer{\r
-                dnam{"pm"}\r
-                one{"{0} pm"}\r
-                other{"{0} pm"}\r
+                dnam{"পিঃ মিঃ"}\r
+                one{"{0} পিঃ মিঃ"}\r
+                other{"{0} পিঃ মিঃ"}\r
             }\r
             point{\r
-                dnam{"pt"}\r
-                one{"{0} pt"}\r
-                other{"{0} pt"}\r
+                dnam{"পইণ্ট"}\r
+                one{"{0} পইণ্ট"}\r
+                other{"{0} পইণ্ট"}\r
             }\r
             yard{\r
-                dnam{"yd"}\r
-                one{"{0} yd"}\r
-                other{"{0} yd"}\r
+                dnam{"গজ"}\r
+                one{"{0} গজ"}\r
+                other{"{0} গজ"}\r
             }\r
         }\r
         light{\r
             lux{\r
-                dnam{"দà§\80পনমাতà§\8dরা"}\r
-                one{"{0} lx"}\r
-                other{"{0} lx"}\r
+                dnam{"লাà¦\95à§\8dস"}\r
+                one{"{0} লাক্স"}\r
+                other{"{0} লাক্স"}\r
             }\r
         }\r
         mass{\r
             carat{\r
-                dnam{"CD"}\r
-                one{"{0} CD"}\r
-                other{"{0} CD"}\r
+                dnam{"কেৰেট"}\r
+                one{"{0} কেৰেট"}\r
+                other{"{0} কেৰেট"}\r
             }\r
             gram{\r
-                dnam{"gram"}\r
-                one{"{0} g"}\r
-                other{"{0} g"}\r
-                per{"{0}/g"}\r
+                dnam{"গ্ৰাম"}\r
+                one{"{0} গ্ৰাঃ"}\r
+                other{"{0} গ্ৰাঃ"}\r
+                per{"{0}/গ্ৰাঃ"}\r
             }\r
             kilogram{\r
-                dnam{"à¦\95িলà§\8bà¦\97à§\8dরাম"}\r
-                one{"{0}কিলোগ্রাম"}\r
-                other{"{0}কিলোগ্রাম"}\r
-                per{"{0}/à¦\95িলà§\8bà¦\97à§\8dরাম"}\r
+                dnam{"à¦\95িà¦\83 à¦\97à§\8dৰাà¦\83"}\r
+                one{"{0} কিঃ গ্ৰাঃ"}\r
+                other{"{0} কিঃ গ্ৰাঃ"}\r
+                per{"{0}/à¦\95িà¦\83 à¦\97à§\8dৰাà¦\83"}\r
             }\r
             metric-ton{\r
-                dnam{"t"}\r
-                one{"{0} t"}\r
-                other{"{0} t"}\r
+                dnam{""}\r
+                one{"{0} "}\r
+                other{"{0} "}\r
             }\r
             microgram{\r
-                dnam{"µg"}\r
-                one{"{0} µg"}\r
-                other{"{0} µg"}\r
+                dnam{"মাঃ গ্ৰাঃ"}\r
+                one{"{0} মাঃ গ্ৰাঃ"}\r
+                other{"{0} মাঃ গ্ৰাঃ"}\r
             }\r
             milligram{\r
-                dnam{"mg"}\r
-                one{"{0} mg"}\r
-                other{"{0} mg"}\r
+                dnam{"মিঃ গ্ৰাঃ"}\r
+                one{"{0} মিঃ গ্ৰাঃ"}\r
+                other{"{0} মিঃ গ্ৰাঃ"}\r
             }\r
             ounce{\r
-                dnam{"oz"}\r
-                one{"{0} oz"}\r
-                other{"{0} oz"}\r
-                per{"{0}/oz"}\r
+                dnam{"আউন্স"}\r
+                one{"{0} আউন্স"}\r
+                other{"{0} আউন্স"}\r
+                per{"{0}/আউন্স"}\r
             }\r
             ounce-troy{\r
-                dnam{"oz t"}\r
-                one{"{0} oz t"}\r
-                other{"{0} oz t"}\r
+                dnam{"ট্ৰয় আউন্স"}\r
+                one{"{0} ট্ৰঃ আঃ"}\r
+                other{"{0} ট্ৰঃ আঃ"}\r
             }\r
             pound{\r
-                dnam{"lb"}\r
-                one{"{0} lb"}\r
-                other{"{0} lb"}\r
-                per{"{0}/lb"}\r
+                dnam{"পাউণ্ড"}\r
+                one{"{0} পাউণ্ড"}\r
+                other{"{0} পাউণ্ড"}\r
+                per{"{0}/পাউণ্ড"}\r
             }\r
             ton{\r
-                dnam{"tn"}\r
-                one{"{0} tn"}\r
-                other{"{0} tn"}\r
+                dnam{"টন"}\r
+                one{"{0} টন"}\r
+                other{"{0} টন"}\r
             }\r
         }\r
         power{\r
             gigawatt{\r
-                dnam{"GW"}\r
-                one{"{0} GW"}\r
-                other{"{0} GW"}\r
+                dnam{"গিঃ ৱাঃ"}\r
+                one{"{0} গিঃ ৱাঃ"}\r
+                other{"{0} গিঃ ৱাঃ"}\r
             }\r
             horsepower{\r
-                dnam{"hp"}\r
-                one{"{0} hp"}\r
-                other{"{0} hp"}\r
+                dnam{"অশ্বক্ষমতা"}\r
+                one{"{0} অশ্বক্ষমতা"}\r
+                other{"{0} অশ্বক্ষমতা"}\r
             }\r
             kilowatt{\r
-                dnam{"kW"}\r
-                one{"{0} kW"}\r
-                other{"{0} kW"}\r
+                dnam{"কিঃ ৱাঃ"}\r
+                one{"{0} কিঃ ৱাঃ"}\r
+                other{"{0} কিঃ ৱাঃ"}\r
             }\r
             megawatt{\r
-                dnam{"MW"}\r
-                one{"{0} MW"}\r
-                other{"{0} MW"}\r
+                dnam{"মেঃ ৱাঃ"}\r
+                one{"{0} মেঃ ৱাঃ"}\r
+                other{"{0} মেঃ ৱাঃ"}\r
             }\r
             milliwatt{\r
-                dnam{"mW"}\r
-                one{"{0} mW"}\r
-                other{"{0} mW"}\r
+                dnam{"মিঃ ৱাঃ"}\r
+                one{"{0} মিঃ ৱাঃ"}\r
+                other{"{0} মিঃ ৱাঃ"}\r
             }\r
             watt{\r
-                dnam{"watt"}\r
-                one{"{0} W"}\r
-                other{"{0} W"}\r
+                dnam{"ৱাট"}\r
+                one{"{0} ৱাট"}\r
+                other{"{0} ৱাট"}\r
             }\r
         }\r
         pressure{\r
@@ -1386,9 +1386,9 @@ as{
                 other{"{0} hPa"}\r
             }\r
             inch-hg{\r
-                dnam{"পার্সি এর ইঞ্চি"}\r
-                one{"{0}পার্সি এর ইঞ্চি"}\r
-                other{"{0}পার্সি এর ইঞ্চি"}\r
+                dnam{"inHg"}\r
+                one{"{0} inHg"}\r
+                other{"{0} inHg"}\r
             }\r
             millibar{\r
                 dnam{"mbar"}\r
@@ -1396,9 +1396,9 @@ as{
                 other{"{0} mbar"}\r
             }\r
             millimeter-of-mercury{\r
-                dnam{"মেরি এর মিলিমিটার"}\r
-                one{"{0}মেরি এর মিলিমিটার"}\r
-                other{"{0}মেরি এর মিলিমিটার"}\r
+                dnam{"mmHg"}\r
+                one{"{0} mmHg"}\r
+                other{"{0} mmHg"}\r
             }\r
             pound-per-square-inch{\r
                 dnam{"psi"}\r
@@ -1408,36 +1408,36 @@ as{
         }\r
         speed{\r
             kilometer-per-hour{\r
-                dnam{"km/h"}\r
-                one{"{0} km/h"}\r
-                other{"{0} km/h"}\r
+                dnam{"কিঃ মিঃ/ঘঃ"}\r
+                one{"{0} কিঃ মিঃ/ঘঃ"}\r
+                other{"{0} কিঃ মিঃ/ঘঃ"}\r
             }\r
             knot{\r
-                dnam{"kn"}\r
-                one{"{0} kn"}\r
-                other{"{0} kn"}\r
+                dnam{"নট"}\r
+                one{"{0} নট"}\r
+                other{"{0} নট"}\r
             }\r
             meter-per-second{\r
-                dnam{"m/s"}\r
-                one{"{0} m/s"}\r
-                other{"{0} m/s"}\r
+                dnam{"মিটাৰ/ছেকেণ্ড"}\r
+                one{"{0} মিঃ/ছেঃ"}\r
+                other{"{0} মিঃ/ছেঃ"}\r
             }\r
             mile-per-hour{\r
-                dnam{"mi/h"}\r
-                one{"{0} mi/h"}\r
-                other{"{0} mi/h"}\r
+                dnam{"মাইল/ঘণ্টা"}\r
+                one{"{0} মাঃ/ঘঃ"}\r
+                other{"{0} মাঃ/ঘঃ"}\r
             }\r
         }\r
         temperature{\r
             celsius{\r
-                dnam{"°C"}\r
-                one{"{0}°C"}\r
-                other{"{0}°C"}\r
+                dnam{"ডিগ্ৰীঃ চেঃ"}\r
+                one{"{0}°চেঃ"}\r
+                other{"{0}°চেঃ"}\r
             }\r
             fahrenheit{\r
-                dnam{"°F"}\r
-                one{"{0}°F"}\r
-                other{"{0}°F"}\r
+                dnam{"ডিঃ ফাঃ"}\r
+                one{"{0}°ফাঃ"}\r
+                other{"{0}°ফাঃ"}\r
             }\r
             generic{\r
                 dnam{"°"}\r
@@ -1445,136 +1445,136 @@ as{
                 other{"{0}°"}\r
             }\r
             kelvin{\r
-                dnam{"K"}\r
-                one{"{0} K"}\r
-                other{"{0} K"}\r
+                dnam{"কেলভিন"}\r
+                one{"{0} কেলভিন"}\r
+                other{"{0} কেলভিন"}\r
             }\r
         }\r
         volume{\r
             acre-foot{\r
-                dnam{"ac ft"}\r
-                one{"{0} ac ft"}\r
-                other{"{0} ac ft"}\r
+                dnam{"একৰ-ফুট"}\r
+                one{"{0} এঃ-ফুঃ"}\r
+                other{"{0} এঃ-ফুঃ"}\r
             }\r
             centiliter{\r
-                dnam{"cL"}\r
-                one{"{0} cL"}\r
-                other{"{0} cL"}\r
+                dnam{"ছেঃ লিঃ"}\r
+                one{"{0} ছেঃ লিঃ"}\r
+                other{"{0} ছেঃ লিঃ"}\r
             }\r
             cubic-centimeter{\r
-                dnam{"cm³"}\r
+                dnam{"ঘন ছেণ্টিমিটাৰ"}\r
                 one{"{0} cm³"}\r
                 other{"{0} cm³"}\r
                 per{"{0}/cm³"}\r
             }\r
             cubic-foot{\r
-                dnam{"ft³"}\r
+                dnam{"ঘন ফুট"}\r
                 one{"{0} ft³"}\r
                 other{"{0} ft³"}\r
             }\r
             cubic-inch{\r
-                dnam{"in³"}\r
+                dnam{"ঘন ইঞ্চি"}\r
                 one{"{0} in³"}\r
                 other{"{0} in³"}\r
             }\r
             cubic-kilometer{\r
-                dnam{"km³"}\r
+                dnam{"ঘন কিলোমিটাৰ"}\r
                 one{"{0} km³"}\r
                 other{"{0} km³"}\r
             }\r
             cubic-meter{\r
-                dnam{""}\r
+                dnam{"ঘন মিটাৰ"}\r
                 one{"{0} m³"}\r
                 other{"{0} m³"}\r
                 per{"{0}/m³"}\r
             }\r
             cubic-mile{\r
-                dnam{"mi³"}\r
+                dnam{"ঘন মাইল"}\r
                 one{"{0} mi³"}\r
                 other{"{0} mi³"}\r
             }\r
             cubic-yard{\r
-                dnam{"yd³"}\r
+                dnam{"ঘন গজ"}\r
                 one{"{0} yd³"}\r
                 other{"{0} yd³"}\r
             }\r
             cup{\r
-                dnam{"cup"}\r
-                one{"{0} c"}\r
-                other{"{0} c"}\r
+                dnam{"কাপ"}\r
+                one{"{0} কাপ"}\r
+                other{"{0} কাপ"}\r
             }\r
             cup-metric{\r
-                dnam{"mcup"}\r
-                one{"{0} mc"}\r
-                other{"{0} mc"}\r
+                dnam{"মেঃ কাঃ"}\r
+                one{"{0} মেঃ কাঃ"}\r
+                other{"{0} মেঃ কাঃ"}\r
             }\r
             deciliter{\r
-                dnam{"dL"}\r
-                one{"{0} dL"}\r
-                other{"{0} dL"}\r
+                dnam{"ডেঃ লিঃ"}\r
+                one{"{0} ডেঃ লিঃ"}\r
+                other{"{0} ডেঃ লিঃ"}\r
             }\r
             fluid-ounce{\r
-                dnam{"fl oz"}\r
-                one{"{0} fl oz"}\r
-                other{"{0} fl oz"}\r
+                dnam{"ফ্লুঃ আঃ"}\r
+                one{"{0} ফ্লুঃ আঃ"}\r
+                other{"{0} ফ্লুঃ আঃ"}\r
             }\r
             gallon{\r
-                dnam{"US gal"}\r
-                one{"{0} gal US"}\r
-                other{"{0} gal US"}\r
-                per{"{0}/gal US"}\r
+                dnam{"গেলন"}\r
+                one{"{0} গেলন"}\r
+                other{"{0} গেলন"}\r
+                per{"{0}/গেলন"}\r
             }\r
             gallon-imperial{\r
-                dnam{"Imp. gal"}\r
-                one{"{0} gal Imp."}\r
-                other{"{0} gal Imp."}\r
-                per{"{0}/gal Imp."}\r
+                dnam{"ইম্পেঃ গেঃ"}\r
+                one{"{0} ইম্পেঃ গেঃ"}\r
+                other{"{0} ইম্পেঃ গেঃ"}\r
+                per{"{0}/ইম্পেঃ গেঃ"}\r
             }\r
             hectoliter{\r
-                dnam{"hL"}\r
-                one{"{0} hL"}\r
-                other{"{0} hL"}\r
+                dnam{"হেঃ লিঃ"}\r
+                one{"{0} হেঃ লিঃ"}\r
+                other{"{0} হেঃ লিঃ"}\r
             }\r
             liter{\r
-                dnam{"liter"}\r
-                one{"{0} l"}\r
-                other{"{0} l"}\r
-                per{"{0}/l"}\r
+                dnam{"লিটাৰ"}\r
+                one{"{0} লিঃ"}\r
+                other{"{0} লিঃ"}\r
+                per{"{0}/লিঃ"}\r
             }\r
             megaliter{\r
-                dnam{"ML"}\r
-                one{"{0} ML"}\r
-                other{"{0} ML"}\r
+                dnam{"মেঃ লিঃ"}\r
+                one{"{0} মেঃ লিঃ"}\r
+                other{"{0} মেঃ লিঃ"}\r
             }\r
             milliliter{\r
-                dnam{"mL"}\r
-                one{"{0} mL"}\r
-                other{"{0} mL"}\r
+                dnam{"মিঃ লিঃ"}\r
+                one{"{0} মিঃ লিঃ"}\r
+                other{"{0} মিঃ লিঃ"}\r
             }\r
             pint{\r
-                dnam{"pt"}\r
-                one{"{0} pt"}\r
-                other{"{0} pt"}\r
+                dnam{"পিণ্ট"}\r
+                one{"{0} পিণ্ট"}\r
+                other{"{0} পিণ্ট"}\r
             }\r
             pint-metric{\r
-                dnam{"mpt"}\r
-                one{"{0} mpt"}\r
-                other{"{0} mpt"}\r
+                dnam{"মেঃ পিঃ"}\r
+                one{"{0} মেঃ পিঃ"}\r
+                other{"{0} মেঃ পিঃ"}\r
             }\r
             quart{\r
-                dnam{"qt"}\r
-                one{"{0} qt"}\r
-                other{"{0} qt"}\r
+                dnam{"কোৱাৰ্ট"}\r
+                one{"{0} কোৱাৰ্ট"}\r
+                other{"{0} কোৱাৰ্ট"}\r
             }\r
             tablespoon{\r
-                dnam{"tbsp"}\r
-                one{"{0} tbsp"}\r
-                other{"{0} tbsp"}\r
+                dnam{"টেব’লস্পুন"}\r
+                one{"{0} টেব’লস্পুন"}\r
+                other{"{0} টেব’লস্পুন"}\r
             }\r
             teaspoon{\r
-                dnam{"tsp"}\r
-                one{"{0} tsp"}\r
-                other{"{0} tsp"}\r
+                dnam{"চাহঃ চাঃ"}\r
+                one{"{0} চাহঃ চাঃ"}\r
+                other{"{0} চাহঃ চাঃ"}\r
             }\r
         }\r
     }\r
index e26c2b1..9a6086d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d884ce3..c867203 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 72cd831..b56bdcb 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 36cb9e7..92831f6 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ccf3b15..b7663c2 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e3d5275..442848b 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
index 44bc1b9..b2da0e3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c52fa07..49dc3e1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c3c5865..ca45f87 100644 (file)
@@ -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{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 88a359b..95351ea 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 54b2aa6..9ade0b7 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index b0bea54..c75daa4 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fdd8094..bfe0c8c 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -85,6 +85,7 @@ br{
                 many{"{0} a gilometroù karrez"}\r
                 one{"{0} c'hilometr karrez"}\r
                 other{"{0} kilometr karrez"}\r
+                per{"{0} dre gilometr karrez"}\r
                 two{"{0} gilometr karrez"}\r
             }\r
             square-meter{\r
@@ -102,6 +103,7 @@ br{
                 many{"{0} a viltirioù karrez"}\r
                 one{"{0} miltir karrez"}\r
                 other{"{0} miltir karrez"}\r
+                per{"{0} dre viltir karrez"}\r
                 two{"{0} viltir karrez"}\r
             }\r
         }\r
@@ -117,6 +119,22 @@ br{
                 other{"{0} karat"}\r
                 two{"{0} garat"}\r
             }\r
+            milligram-per-deciliter{\r
+                dnam{"milligramm dre zekilitr"}\r
+                few{"{0} milligramm dre zekilitr"}\r
+                many{"{0} a villigrammoù dre zekilitr"}\r
+                one{"{0} milligramm dre zekilitr"}\r
+                other{"{0} milligramm dre zekilitr"}\r
+                two{"{0} villigramm dre zekilitr"}\r
+            }\r
+            millimole-per-liter{\r
+                dnam{"millimol dre litr"}\r
+                few{"{0} millimol dre litr"}\r
+                many{"{0} a villimoloù dre litr"}\r
+                one{"{0} millimol dre litr"}\r
+                other{"{0} millimol dre litr"}\r
+                two{"{0} villimol dre litr"}\r
+            }\r
         }\r
         consumption{\r
             liter-per-100kilometers{\r
@@ -565,15 +583,23 @@ br{
                 other{"{0} pikometr"}\r
                 two{"{0} bikometr"}\r
             }\r
+            point{\r
+                dnam{"poent"}\r
+                few{"{0} foent"}\r
+                many{"{0} a boentoù"}\r
+                one{"{0} poent"}\r
+                other{"{0} poent"}\r
+                two{"{0} boent"}\r
+            }\r
         }\r
         light{\r
             lux{\r
                 dnam{"luksoù"}\r
-                few{"{0} lx"}\r
+                few{"{0} luks"}\r
                 many{"{0} a luksoù"}\r
                 one{"{0} luks"}\r
-                other{"{0} lx"}\r
-                two{"{0} lx"}\r
+                other{"{0} luks"}\r
+                two{"{0} luks"}\r
             }\r
         }\r
         mass{\r
@@ -953,6 +979,20 @@ br{
             }\r
         }\r
         angle{\r
+            arc-minute{\r
+                few{"{0}′"}\r
+                many{"{0}′"}\r
+                one{"{0}′"}\r
+                other{"{0}′"}\r
+                two{"{0}′"}\r
+            }\r
+            arc-second{\r
+                few{"{0}″"}\r
+                many{"{0}″"}\r
+                one{"{0}″"}\r
+                other{"{0}″"}\r
+                two{"{0}″"}\r
+            }\r
             degree{\r
                 dnam{"°"}\r
                 few{"{0}°"}\r
@@ -1019,6 +1059,7 @@ br{
                 many{"{0} km²"}\r
                 one{"{0} km²"}\r
                 other{"{0} km²"}\r
+                per{"{0}/km²"}\r
                 two{"{0} km²"}\r
             }\r
             square-meter{\r
@@ -1036,6 +1077,7 @@ br{
                 many{"{0} mi²"}\r
                 one{"{0} mi²"}\r
                 other{"{0} mi²"}\r
+                per{"{0}/mi²"}\r
                 two{"{0} mi²"}\r
             }\r
         }\r
@@ -1051,6 +1093,22 @@ br{
                 other{"{0} kt"}\r
                 two{"{0} kt"}\r
             }\r
+            milligram-per-deciliter{\r
+                dnam{"mg/dl"}\r
+                few{"{0} mg/dl"}\r
+                many{"{0} mg/dl"}\r
+                one{"{0} mg/dl"}\r
+                other{"{0} mg/dl"}\r
+                two{"{0} mg/dl"}\r
+            }\r
+            millimole-per-liter{\r
+                dnam{"mmol/l"}\r
+                few{"{0} mmol/l"}\r
+                many{"{0} mmol/l"}\r
+                one{"{0} mmol/l"}\r
+                other{"{0} mmol/l"}\r
+                two{"{0} mmol/l"}\r
+            }\r
         }\r
         consumption{\r
             liter-per-100kilometers{\r
@@ -1167,6 +1225,15 @@ br{
             minute{\r
                 per{"{0}/min"}\r
             }\r
+            month{\r
+                dnam{"mizioù"}\r
+                few{"{0} miz"}\r
+                many{"{0} a vizioù"}\r
+                one{"{0} miz"}\r
+                other{"{0} miz"}\r
+                per{"{0}/miz"}\r
+                two{"{0} m"}\r
+            }\r
             year{\r
                 dnam{"b"}\r
                 few{"{0} b"}\r
@@ -1321,6 +1388,14 @@ br{
                 other{"{0} pm"}\r
                 two{"{0} pm"}\r
             }\r
+            point{\r
+                dnam{"pt"}\r
+                few{"{0} pt"}\r
+                many{"{0} pt"}\r
+                one{"{0} pt"}\r
+                other{"{0} pt"}\r
+                two{"{0} pt"}\r
+            }\r
         }\r
         light{\r
             lux{\r
@@ -1665,6 +1740,20 @@ br{
             }\r
         }\r
         angle{\r
+            arc-minute{\r
+                few{"{0}′"}\r
+                many{"{0}′"}\r
+                one{"{0}′"}\r
+                other{"{0}′"}\r
+                two{"{0}′"}\r
+            }\r
+            arc-second{\r
+                few{"{0}″"}\r
+                many{"{0}″"}\r
+                one{"{0}″"}\r
+                other{"{0}″"}\r
+                two{"{0}″"}\r
+            }\r
             degree{\r
                 dnam{"deg"}\r
                 few{"{0} deg"}\r
@@ -1731,6 +1820,7 @@ br{
                 many{"{0} km²"}\r
                 one{"{0} km²"}\r
                 other{"{0} km²"}\r
+                per{"{0}/km²"}\r
                 two{"{0} km²"}\r
             }\r
             square-meter{\r
@@ -1748,6 +1838,7 @@ br{
                 many{"{0} mi²"}\r
                 one{"{0} mi²"}\r
                 other{"{0} mi²"}\r
+                per{"{0}/mi²"}\r
                 two{"{0} mi²"}\r
             }\r
         }\r
@@ -1763,6 +1854,22 @@ br{
                 other{"{0} kt"}\r
                 two{"{0} kt"}\r
             }\r
+            milligram-per-deciliter{\r
+                dnam{"mg/dl"}\r
+                few{"{0} mg/dl"}\r
+                many{"{0} mg/dl"}\r
+                one{"{0} mg/dl"}\r
+                other{"{0} mg/dl"}\r
+                two{"{0} mg/dl"}\r
+            }\r
+            millimole-per-liter{\r
+                dnam{"millimol/litr"}\r
+                few{"{0} mmol/l"}\r
+                many{"{0} mmol/l"}\r
+                one{"{0} mmol/l"}\r
+                other{"{0} mmol/l"}\r
+                two{"{0} mmol/l"}\r
+            }\r
         }\r
         consumption{\r
             liter-per-100kilometers{\r
@@ -1897,13 +2004,13 @@ br{
                 two{"{0} d"}\r
             }\r
             hour{\r
-                dnam{"h"}\r
-                few{"{0} h"}\r
-                many{"{0} h"}\r
-                one{"{0} h"}\r
-                other{"{0} h"}\r
-                per{"{0}/h"}\r
-                two{"{0} h"}\r
+                dnam{"e"}\r
+                few{"{0} e"}\r
+                many{"{0} e"}\r
+                one{"{0} e"}\r
+                other{"{0} e"}\r
+                per{"{0}/e"}\r
+                two{"{0} e"}\r
             }\r
             microsecond{\r
                 dnam{"μs"}\r
@@ -1930,6 +2037,15 @@ br{
                 per{"{0}/min"}\r
                 two{"{0} min"}\r
             }\r
+            month{\r
+                dnam{"mizioù"}\r
+                few{"{0} miz"}\r
+                many{"{0} a vizioù"}\r
+                one{"{0} miz"}\r
+                other{"{0} miz"}\r
+                per{"{0}/miz"}\r
+                two{"{0} viz"}\r
+            }\r
             nanosecond{\r
                 dnam{"ns"}\r
                 few{"{0} ns"}\r
@@ -2000,6 +2116,14 @@ br{
                 other{"{0} cal"}\r
                 two{"{0} cal"}\r
             }\r
+            foodcalorie{\r
+                dnam{"Cal"}\r
+                few{"{0} Cal"}\r
+                many{"{0} Cal"}\r
+                one{"{0} Cal"}\r
+                other{"{0} Cal"}\r
+                two{"{0} Cal"}\r
+            }\r
             joule{\r
                 dnam{"J"}\r
                 few{"{0} J"}\r
@@ -2204,6 +2328,14 @@ br{
                 other{"{0} pm"}\r
                 two{"{0} pm"}\r
             }\r
+            point{\r
+                dnam{"pt"}\r
+                few{"{0} pt"}\r
+                many{"{0} pt"}\r
+                one{"{0} pt"}\r
+                other{"{0} pt"}\r
+                two{"{0} pt"}\r
+            }\r
         }\r
         light{\r
             lux{\r
index 194c501..efbd5c2 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         duration{\r
             day{\r
index 3e1f978..ed14d33 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 0ada74b..a42358e 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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         duration{\r
             day{\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a76eb8e..5740322 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a824c38..76b431a 100644 (file)
@@ -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{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 3230a60..9c70df0 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index aee7a43..dc4d15a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 56d4373..560bb67 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -147,10 +147,10 @@ chr{
             }\r
         }\r
         coordinate{\r
-            east{"{0}"}\r
-            north{"{0}ᏧᏴ"}\r
-            south{"{0}ᏧᎦ"}\r
-            west{"{0}"}\r
+            east{"{0} ᏗᎧᎸᎬ"}\r
+            north{"{0} ᏧᏴᏢ"}\r
+            south{"{0} ᏧᎦᏄᏮ"}\r
+            west{"{0} ᏭᏕᎵᎬ"}\r
         }\r
         digital{\r
             bit{\r
@@ -994,10 +994,10 @@ chr{
             }\r
         }\r
         coordinate{\r
-            east{"{0}Ꮧ"}\r
-            north{"{0}ᏧᏴ"}\r
-            south{"{0}ᏧᎦ"}\r
-            west{"{0}Ꮽ"}\r
+            east{"{0} Ꮧ"}\r
+            north{"{0} ᏧᏴ"}\r
+            south{"{0} ᏧᎦ"}\r
+            west{"{0} Ꮽ"}\r
         }\r
         digital{\r
             bit{\r
index 00b3660..e2239e9 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
 }\r
index 721ff70..2a9bd8f 100644 (file)
@@ -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{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 3d1b74e..6e36e36 100644 (file)
@@ -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{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 846e020..25f1877 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
index 9a0f850..821e0e6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 719974d..d6a13c6 100644 (file)
@@ -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{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a227fcd..7ab5fb6 100644 (file)
@@ -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{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     units{\r
         area{\r
             square-foot{\r
index c18c83d..168865c 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 242a39f..2e4d2f3 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 8401a2e..da85750 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd81d2d..b4779e6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7526aed..e8e67f7 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index c7b78cf..1a71c61 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 876fd7c..b750ede 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         duration{\r
             day{\r
index f63edc0..dd4c2c6 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 662b9f3..d3263fc 100644 (file)
@@ -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{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
     units{\r
         acceleration{\r
             g-force{\r
index 325fe40..ac60a26 100644 (file)
@@ -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{"2.1.35.71"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         acceleration{\r
             meter-per-second-squared{\r
index 4c92182..bc9e517 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8a0d454..77b05c3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 07cb4ef..beab069 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4310ea..e7db69b 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6ef7058..41e700c 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         energy{\r
             kilowatt-hour{\r
@@ -12,6 +12,12 @@ en_AU{
             }\r
         }\r
         length{\r
+            centimeter{\r
+                other{"{0} centimetres"}\r
+            }\r
+            decimeter{\r
+                other{"{0} decimetres"}\r
+            }\r
             kilometer{\r
                 dnam{"kilometre"}\r
             }\r
@@ -245,6 +251,9 @@ en_AU{
                 one{"{0} CM"}\r
                 other{"{0} CM"}\r
             }\r
+            pound{\r
+                other{"{0} lb"}\r
+            }\r
         }\r
         pressure{\r
             millibar{\r
index 84a0efd..9ed875f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e58d31c..79bbbec 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3b9186..1221395 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 699a947..d456445 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index a73b7bc..c19e046 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 24eee21..c2a369d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index b16bae9..05b8d7e 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         concentr{\r
             karat{\r
index a54c911..be9edae 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0f0a97..7f88422 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f59d92a..412c586 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5aacc7b..a5cccf6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c9c483..671fbc2 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72ed165..60e8574 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d758dd..b875050 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e767286..a597d81 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b548583..0895e8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7fd2c9a..8d07c9f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d35b004..5440566 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 86f8e9d..1262667 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5df30b2..dcebb46 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eeac6cb..9d397f2 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         speed{\r
             kilometer-per-hour{\r
index 7921b24..f97da06 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c0d3839..446b666 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b66f585..2cbef88 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5fe0d68..0011868 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1a05f40..d1321fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f7397d6..fd7bc58 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4a04a10..e057509 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 18bb2f3..56507ab 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 76bee45..f1deccb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e66ecc0..334249a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 81711c1..55ab372 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{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 2b8ba3f..30f0e6c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c47ce4e..58a67ff 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d812c18..47beda6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b11b581..08c9c35 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 899b1ea..e32ac54 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35fb03c..5071564 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 09d5e8a..2edc554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index bfd0689..266321d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3fc63c0..299bf7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b723857..58abc12 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f967e69..4931947 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f6dfb6a..f86302e 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a027fc6..6f2ffa6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8464a2e..6c3347d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 890b025..ea74072 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 873b8e1..cdfcd49 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b36d9ba..9ceae05 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5f0af42..e4f578d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 358d626..f6a4801 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 745a114..c6fd6e5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9d0d0cd..aa5abc8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 165856c..6f449af 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 266914a..3ed1d47 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 882fc99..b470846 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
 }\r
index 6aa4d92..b38e2e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 080d0e6..95260de 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fef2013..b579c0d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4094568..c2a368a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9160817..0fff9c2 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index 76b4d89..290785c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e2de69a..b43b4f6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77c65fa..f714f79 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 87a33e2..59aff7b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 264d713..385979d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5250ec4..78699e3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cf6ab49..b7760f3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59ccb39..3dd1ef3 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3e61485..3f479d4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2b3a430..5eb9913 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ec1778f..e557d34 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index cc8b6f1..3f88c75 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 020c31b..57b8d9b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d27b6ec..e1d7464 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 21b8b30..4901b27 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4ebd07d..2138644 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5e30f2b..1bd5428 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eaac010..8c7bdb7 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12317cf..b20e591 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12b8824..8eba2ed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c90fd7..5ce4a40 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa82ef7..dde447b 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 19ed0d0..de58bed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bb5dbed..3c7e040 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e05a7e0..878a789 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     unitsShort{\r
         duration{\r
             month{\r
index 2a1144f..d74d8da 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 33d159c..5acac2d 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         angle{\r
             revolution{\r
index 640e887..32863f5 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{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         duration{\r
             year{\r
index ab9d53a..e303ce3 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e68498b..fb21200 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa10911..fa5a9f6 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{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a9fa4cb..7ee6460 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     durationUnits{\r
         hms{"hh:mm:ss"}\r
         ms{"mm:ss"}\r
index 98ea116..b6347a0 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         duration{\r
             month{\r
index 82ff37a..313353c 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 66f010e..b2e6637 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index efc3e9a..d19e8e4 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         electric{\r
             ampere{\r
index f97a439..d91483a 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2200a71..f2d3d6f 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         duration{\r
             day{\r
index 7f59d73..c512fad 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 90a45ac..bbfb54b 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{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         angle{\r
             arc-minute{\r
@@ -102,12 +102,6 @@ es_MX{
                 dnam{"lux"}\r
             }\r
         }\r
-        mass{\r
-            microgram{\r
-                one{"{0} microgramo"}\r
-                other{"{0} microgramos"}\r
-            }\r
-        }\r
         power{\r
             gigawatt{\r
                 dnam{"gigavatios"}\r
@@ -306,12 +300,6 @@ es_MX{
                 dnam{"km/hora"}\r
             }\r
         }\r
-        temperature{\r
-            celsius{\r
-                one{"{0} °C"}\r
-                other{"{0} °C"}\r
-            }\r
-        }\r
         volume{\r
             cup{\r
                 dnam{"tza."}\r
index 0dfa0d0..a0abad9 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f69e0b9..4a2ce80 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 6b724f4..9a59cdc 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5ad82f2..bd72a0e 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     unitsNarrow{\r
         temperature{\r
             fahrenheit{\r
index 0a7bad5..e8adcf9 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         duration{\r
             year{\r
index 04cc715..2b73abf 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 2b6ad11..a79fe5d 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         angle{\r
             revolution{\r
@@ -72,12 +72,6 @@ es_US{
                 other{"{0} pt"}\r
             }\r
         }\r
-        mass{\r
-            microgram{\r
-                one{"{0} microgramo"}\r
-                other{"{0} microgramos"}\r
-            }\r
-        }\r
         power{\r
             gigawatt{\r
                 dnam{"gigavatios"}\r
@@ -199,17 +193,7 @@ es_US{
                 other{"{0} CV"}\r
             }\r
         }\r
-        temperature{\r
-            celsius{\r
-                one{"{0} °C"}\r
-                other{"{0} °C"}\r
-            }\r
-        }\r
         volume{\r
-            cup{\r
-                one{"{0} tza."}\r
-                other{"{0} tza."}\r
-            }\r
             gallon-imperial{\r
                 dnam{"Imp. gal"}\r
                 one{"{0} gal Imp."}\r
index 5d07624..93c3e61 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa1e1da..bff6bcc 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b10cdb3..3e4a2e2 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index cf622ca..f1d7120 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 759c5fd..c692442 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 38e4103..10c77c4 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index c22ec4b..e443f9b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e612435..323013a 100644 (file)
@@ -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{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
index c1dfd85..d07b2e8 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 8664179..d9d6a97 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 12807ca..8b5572f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 5c26c31..91e91ba 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -74,10 +74,6 @@ fr_CA{
             kilogram{\r
                 per{"{0} par kilogramme"}\r
             }\r
-            microgram{\r
-                one{"{0} microgramme"}\r
-                other{"{0} microgrammes"}\r
-            }\r
             stone{\r
                 other{"{0} stone"}\r
             }\r
@@ -211,10 +207,6 @@ fr_CA{
             }\r
         }\r
         mass{\r
-            kilogram{\r
-                one{"{0}kg"}\r
-                other{"{0}kg"}\r
-            }\r
             metric-ton{\r
                 one{"{0}t"}\r
                 other{"{0}t"}\r
@@ -354,12 +346,6 @@ fr_CA{
                 other{"{0} psi"}\r
             }\r
         }\r
-        temperature{\r
-            generic{\r
-                one{"{0}°"}\r
-                other{"{0}°"}\r
-            }\r
-        }\r
         volume{\r
             centiliter{\r
                 dnam{"cL"}\r
index a071224..66729fc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         area{\r
             hectare{\r
index fb3734e..063466c 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 1cb7f63..1209c91 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 4e64fff..0f220ca 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index bb5d53c..e811065 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 2fec4fa..3ea6535 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 7c5d3f3..255666c 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 6b3304b..837b1d7 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 724ae2e..18b6f91 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index aa8d6e1..263322a 100644 (file)
@@ -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{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 49cc819..d7a0572 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2cae071..7384ce8 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 5dee48d..73755e4 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index ba9a197..6ef2b39 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a545bf0..5b34fb6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 794232f..d81ad31 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index fadec12..0613623 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 9ee1291..3942f97 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index b5ed3a8..fa0b9ce 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
index 7f5c97e..4ac2604 100644 (file)
@@ -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{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 454b4a2..a905d36 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 54f08d9..1eab589 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index ef9492a..4e13eb9 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -826,7 +826,7 @@ it{
             }\r
             month{\r
                 dnam{"mese"}\r
-                one{"{0}mesi"}\r
+                one{"{0}mese"}\r
                 other{"{0}mesi"}\r
             }\r
             second{\r
index bc053ee..add6b71 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 9dab1dd..16e2474 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index a76db1c..14013c8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 618b72c..fd30147 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 5373780..b4697cd 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 82cc5ce..5288d3c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 613d9a9..1799635 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 363a59d..c497974 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index e55ca9d..468de03 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 25baae9..5d4b6f4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 391ebd2..1fb1991 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 944f5b0..ca2848d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 592e8ab..42dc826 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index b73e7da..274b596 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6bafb4f..d24ccfa 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 26a07ef..9757f7c 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index e845cff..4743a6e 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index bc3039d..79c306f 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 69de7a0..e14a953 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         duration{\r
             day{\r
index 6395664..373ccf8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ebd1d94..da65abe 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c35ff7a..a68776a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 30cb7bd..dd763ab 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8578207..4f552e7 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index f674d0f..867ed94 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 44c0ced..3c1a58a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a910336..613c190 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 44371ea..0547aa8 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 5b48052..c7b6df3 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 398876d..edbf30f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 7993612..54b285f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 23a8076..e1fd744 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
index 459ebe5..6d68b67 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6a4f5e4..ed2c8c4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ff3cfe6..577a73d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b20cb5d..4ad4b6e 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 54e59a7..7a65d24 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30afe7b..e97881c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c8441c4..c56a9e7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f8cf02c..cb14071 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 946ffe5..5c5e119 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 85052e4..1bd9f74 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index bf9f8f1..d055ac6 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 5b4f170..4450bbd 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 4324f0f..09b640b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -147,7 +147,7 @@ mn{
             }\r
         }\r
         coordinate{\r
-            east{"{0}E"}\r
+            east{"{0}Зүүн"}\r
             north{"{0}Умард"}\r
             south{"{0}Өмнөд"}\r
             west{"{0}Өрнөд"}\r
@@ -1512,7 +1512,7 @@ mn{
                 other{"{0} гПа"}\r
             }\r
             inch-hg{\r
-                dnam{"МөУсИн"}\r
+                dnam{"МөУс инч"}\r
                 one{"{0} МөУсИн"}\r
                 other{"{0} МөУсИн"}\r
             }\r
index c68dec0..2d8fdab 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index d16cf3f..5e4e6de 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a0b46c2..5dbc919 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         angle{\r
             arc-minute{\r
index 86f3b1d..331821d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ba37e99..0c9c91d 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -383,7 +383,7 @@ my{
             kilogram{\r
                 dnam{"ကီလိုဂရမ်"}\r
                 other{"{0} ကီလိုဂရမ်"}\r
-                per{"{0} လျှင် တစ်ကီလိုဂရမ်"}\r
+                per{"တစ်ကီလိုဂရမ်လျှင် {0}"}\r
             }\r
             metric-ton{\r
                 dnam{"မက်ထရစ်တန်"}\r
index 9e7a66f..c78b19e 100644 (file)
@@ -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{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index e1cc798..52489e6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8d0023e..ae9f9a4 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 6c83d4b..f5db067 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8fa6116..ffa9542 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 82bac40..1f86c32 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 823a710..e2b6af9 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index f71fe3e..9eec7b7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 936c251..7140893 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 85ed40f..1f71077 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7231670..b692416 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 50995ba..3223ff1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index bf52e5a..f4d19eb 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0962287..0298adc 100644 (file)
@@ -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{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -10,14 +10,14 @@ or{
     units{\r
         acceleration{\r
             g-force{\r
-                dnam{"ଜି-ଫୋର୍ସ"}\r
-                one{"{0} ଜି-ଫୋର୍ସ"}\r
-                other{"{0} ଜି-ଫୋର୍ସ"}\r
+                dnam{"ଜି-ଫୋର୍ସ"}\r
+                one{"{0} ଜି-ଫୋର୍ସ"}\r
+                other{"{0} ଜି-ଫୋର୍ସ"}\r
             }\r
             meter-per-second-squared{\r
-                dnam{"ମିà¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¸à­\8dà¬\95ାରà­\8dଡà­\8d"}\r
-                one{"{0} à¬®à¬¿à¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¸à­\8dà¬\95ାରà­\8dଡà­\8d"}\r
-                other{"{0} à¬®à¬¿à¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¸à­\8dà¬\95ାରà­\8dଡà­\8d"}\r
+                dnam{"ମିà¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¬à¬°à­\8dà¬\97"}\r
+                one{"{0} à¬®à¬¿à¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¬à¬°à­\8dà¬\97"}\r
+                other{"{0} à¬®à¬¿à¬\9fରà­\8d à¬ªà­\8dରତି à¬¸à­\87à¬\95à­\87ଣà­\8dଡà­\8d à¬¬à¬°à­\8dà¬\97"}\r
             }\r
         }\r
         angle{\r
@@ -37,14 +37,14 @@ or{
                 other{"{0} ଡିଗ୍ରୀ"}\r
             }\r
             radian{\r
-                dnam{"ରାଡିଆନ୍"}\r
-                one{"{0} à¬°à¬¾ଡିଆନ୍"}\r
-                other{"{0} à¬°à¬¾ଡିଆନ୍"}\r
+                dnam{"ରà­\87ଡିଆନ୍"}\r
+                one{"{0} à¬°à­\87ଡିଆନ୍"}\r
+                other{"{0} à¬°à­\87ଡିଆନ୍"}\r
             }\r
             revolution{\r
-                dnam{"ରିଭà­\8bଲà­\8dà­\9fà­\81ସନà­\8d"}\r
-                one{"{0} à¬°à¬¿à¬­à­\8bଲà­\8dà­\9fà­\81ସନà­\8d"}\r
-                other{"{0} à¬°à¬¿à¬­à­\8bଲà­\8dà­\9fà­\81ସନà­\8d"}\r
+                dnam{"ପରିà¬\95à­\8dରମଣ"}\r
+                one{"{0} à¬ªà¬°à¬¿à¬\95à­\8dରମଣ"}\r
+                other{"{0} à¬ªà¬°à¬¿à¬\95à­\8dରମଣ"}\r
             }\r
         }\r
         area{\r
@@ -65,15 +65,15 @@ or{
                 per{"{0} ପ୍ରତି ବର୍ଗ ସେଣ୍ଟିମିଟର୍"}\r
             }\r
             square-foot{\r
-                dnam{"ବରà­\8dà¬\97 à¬«à­\81à¬\9f"}\r
-                one{"{0} ବର୍ଗ ଫୁଟ"}\r
-                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à­\81à¬\9f"}\r
+                dnam{"ବରà­\8dà¬\97 à¬«à¬¿à¬\9fà­\8d"}\r
+                one{"{0} ବର୍ଗ ଫୁଟ"}\r
+                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à¬¿à¬\9fà­\8d"}\r
             }\r
             square-inch{\r
-                dnam{"ବରà­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି"}\r
-                one{"{0} à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି"}\r
-                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି"}\r
-                per{"{0} à¬ªà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି"}\r
+                dnam{"ବରà­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a"}\r
+                one{"{0} à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a"}\r
+                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a"}\r
+                per{"{0} à¬ªà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a"}\r
             }\r
             square-kilometer{\r
                 dnam{"ବର୍ଗ କିଲୋମିଟର୍"}\r
@@ -94,9 +94,9 @@ or{
                 per{"{0} ପ୍ରତି ବର୍ଗ ମାଇଲ୍"}\r
             }\r
             square-yard{\r
-                dnam{"ବରà­\8dà¬\97 à­\9fାରà­\8dଡà­\8d"}\r
-                one{"{0} à¬¬à¬°à­\8dà¬\97 à­\9fାରà­\8dଡà­\8d"}\r
-                other{"{0} à¬¬à¬°à­\8dà¬\97 à­\9fାରà­\8dଡà­\8d"}\r
+                dnam{"ବରà­\8dà¬\97 à¬\97à¬\9c"}\r
+                one{"{0} à¬¬à¬°à­\8dà¬\97 à¬\97à¬\9c"}\r
+                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬\97à¬\9c"}\r
             }\r
         }\r
         compound{\r
@@ -142,7 +142,7 @@ or{
             }\r
             mile-per-gallon-imperial{\r
                 dnam{"ମାଇଲ୍ ପ୍ରତି ଇମ୍ପେରିଆଲ୍ ଗ୍ୟାଲନ୍"}\r
-                one{"{0} mpg Imp."}\r
+                one{"{0} ମାଇଲ୍ ପ୍ରତି ଇମ୍ପେରିଆଲ୍ ଗ୍ୟାଲନ୍"}\r
                 other{"{0} ମାଇଲ୍ ପ୍ରତି ଇମ୍ପେରିଆଲ୍ ଗ୍ୟାଲନ୍"}\r
             }\r
         }\r
@@ -199,6 +199,7 @@ or{
                 other{"{0} ଟେରାବିଟ୍"}\r
             }\r
             terabyte{\r
+                dnam{"ଟେରାବାଇଟ୍"}\r
                 one{"{0} ଟେରାବାଇଟ୍"}\r
                 other{"{0} ଟେରାବାଇଟ୍"}\r
             }\r
@@ -252,7 +253,7 @@ or{
                 dnam{"ସେକେଣ୍ଡ"}\r
                 one{"{0} ସେକେଣ୍ଡ"}\r
                 other{"{0} ସେକେଣ୍ଡ"}\r
-                per{"ସେକେଣ୍ଡ ପ୍ରତି {0}"}\r
+                per{"{0} ପ୍ରତି ସେକେଣ୍ଡ"}\r
             }\r
             week{\r
                 dnam{"ସପ୍ତାହ"}\r
@@ -269,14 +270,14 @@ or{
         }\r
         electric{\r
             ampere{\r
-                dnam{"à¬\86ମà­\8dପà­\87ର୍"}\r
-                one{"{0} à¬\86ମà­\8dପà­\87ର୍"}\r
-                other{"{0} à¬\86ମà­\8dପà­\87ର୍"}\r
+                dnam{"à¬\86ମà­\8dପିà­\9fର୍"}\r
+                one{"{0} à¬\86ମà­\8dପିà­\9fର୍"}\r
+                other{"{0} à¬\86ମà­\8dପିà­\9fର୍"}\r
             }\r
             milliampere{\r
-                dnam{"ମିଲିà¬\86ମà­\8dପà­\87ର"}\r
-                one{"{0} à¬®à¬¿à¬²à¬¿à¬\86ମà­\8dପà­\87ର"}\r
-                other{"{0} à¬®à¬¿à¬²à¬¿à¬\86ମà­\8dପà­\87ର"}\r
+                dnam{"ମିଲିà¬\86ମà­\8dପିà­\9fରà­\8d"}\r
+                one{"{0} à¬®à¬¿à¬²à¬¿à¬\86ମà­\8dପିà­\9fରà­\8d"}\r
+                other{"{0} à¬®à¬¿à¬²à¬¿à¬\86ମà­\8dପିà­\9fରà­\8d"}\r
             }\r
             ohm{\r
                 dnam{"ଓହମ୍"}\r
@@ -291,29 +292,29 @@ or{
         }\r
         energy{\r
             calorie{\r
-                dnam{"à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                one{"{0} à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                other{"{0} à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
+                dnam{"à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                one{"{0} à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                other{"{0} à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
             }\r
             foodcalorie{\r
-                dnam{"à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                one{"{0} à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                other{"{0} à¬\95à­\8dà­\9fାଲà­\8bରି"}\r
+                dnam{"à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                one{"{0} à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                other{"{0} à¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
             }\r
             joule{\r
-                dnam{"à¬\9cà­\8cଲà­\87"}\r
-                one{"{0} à¬\9cà­\8cଲà­\87"}\r
-                other{"{0} à¬\9cà­\8cଲà­\87"}\r
+                dnam{"à¬\9cà­\81ଲà­\8d"}\r
+                one{"{0} à¬\9cà­\81ଲà­\8d"}\r
+                other{"{0} à¬\9cà­\81ଲà­\8d"}\r
             }\r
             kilocalorie{\r
-                dnam{"à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                one{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରି"}\r
-                other{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରି"}\r
+                dnam{"à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                one{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
+                other{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8bରà­\80"}\r
             }\r
             kilojoule{\r
-                dnam{"à¬\95ିଲà­\8bà¬\9cà­\8cଲà­\87"}\r
-                one{"{0} à¬\95ିଲà­\8bà¬\9cà­\8cଲà­\87"}\r
-                other{"{0} à¬\95ିଲà­\8bà¬\9cà­\8cଲà­\87"}\r
+                dnam{"à¬\95ିଲà­\8bà¬\9cà­\81ଲà­\8d"}\r
+                one{"{0} à¬\95ିଲà­\8bà¬\9cà­\81ଲà­\8d"}\r
+                other{"{0} à¬\95ିଲà­\8bà¬\9cà­\81ଲà­\8d"}\r
             }\r
             kilowatt-hour{\r
                 dnam{"କିଲୋୱାଟ୍-ଘଣ୍ଟା"}\r
@@ -345,9 +346,9 @@ or{
         }\r
         length{\r
             astronomical-unit{\r
-                dnam{"à¬\86ଷà­\8dà¬\9fà­\8bନà­\8bମିà¬\95ାଲà­\8d à­\9fà­\81ନିà¬\9fà­\8d"}\r
-                one{"{0} à¬\86ଷà­\8dà¬\9fà­\8bନà­\8bମିà¬\95ାଲà­\8d à­\9fà­\81ନିà¬\9fà­\8d"}\r
-                other{"{0} à¬\86ଷà­\8dà¬\9fà­\8bନà­\8bମିà¬\95ାଲà­\8d à­\9fà­\81ନିà¬\9fà­\8d"}\r
+                dnam{"à¬\96à¬\97à­\8bଲà­\80à­\9f à¬\8fà¬\95à¬\95"}\r
+                one{"{0} à¬\96à¬\97à­\8bଲà­\80à­\9f à¬\8fà¬\95à¬\95"}\r
+                other{"{0} à¬\96à¬\97à­\8bଲà­\80à­\9f à¬\8fà¬\95à¬\95"}\r
             }\r
             centimeter{\r
                 dnam{"ସେଣ୍ଟିମିଟର୍"}\r
@@ -361,16 +362,16 @@ or{
                 other{"{0} ଡେସିମିଟର୍"}\r
             }\r
             foot{\r
-                dnam{"ଫà­\81à¬\9f"}\r
-                one{"{0} ଫୁଟ"}\r
-                other{"{0} à¬«à­\81à¬\9f"}\r
-                per{"{0} ପ୍ରତି ଫୁଟ"}\r
+                dnam{"ଫିà¬\9fà­\8d"}\r
+                one{"{0} ଫୁଟ"}\r
+                other{"{0} à¬«à¬¿à¬\9fà­\8d"}\r
+                per{"{0} ପ୍ରତି ଫୁଟ"}\r
             }\r
             inch{\r
-                dnam{"à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                one{"{0} à¬\87à¬\9eà­\8dà¬\9cି"}\r
-                other{"{0} à¬\87à¬\9eà­\8dà¬\9cି"}\r
-                per{"{0} à¬ªà­\8dରତି à¬\87à¬\9eà­\8dà¬\9cି"}\r
+                dnam{"à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                one{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                other{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                per{"{0} à¬ªà­\8dରତି à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
             }\r
             kilometer{\r
                 dnam{"କିଲୋମିଟର୍"}\r
@@ -379,9 +380,9 @@ or{
                 per{"{0} ପ୍ରତି କିଲୋମିଟର୍"}\r
             }\r
             light-year{\r
-                dnam{"ପà­\8dରà¬\95ାଶ ବର୍ଷ"}\r
-                one{"{0} à¬ªà­\8dରà¬\95ାଶ ବର୍ଷ"}\r
-                other{"{0} à¬ªà­\8dରà¬\95ାଶ ବର୍ଷ"}\r
+                dnam{"à¬\86ଲà­\8bà¬\95 ବର୍ଷ"}\r
+                one{"{0} à¬\86ଲà­\8bà¬\95 ବର୍ଷ"}\r
+                other{"{0} à¬\86ଲà­\8bà¬\95 ବର୍ଷ"}\r
             }\r
             meter{\r
                 dnam{"ମିଟର୍"}\r
@@ -415,14 +416,14 @@ or{
                 other{"{0} ନାନୋମିଟର୍"}\r
             }\r
             nautical-mile{\r
-                dnam{"ନà­\8cà¬\9fିà¬\95ାଲà­\8d à¬®à¬¾à¬\87ଲà­\8d"}\r
-                one{"{0} à¬¨à­\8cà¬\9fିà¬\95ାଲà­\8d à¬®à¬¾à¬\87ଲà­\8d"}\r
-                other{"{0} à¬¨à­\8cà¬\9fିà¬\95ାଲà­\8d à¬®à¬¾à¬\87ଲà­\8d"}\r
+                dnam{"ନଟିକାଲ୍ ମାଇଲ୍"}\r
+                one{"{0} ନଟିକାଲ୍ ମାଇଲ୍"}\r
+                other{"{0} ନଟିକାଲ୍ ମାଇଲ୍"}\r
             }\r
             parsec{\r
-                dnam{"ପାରସେ"}\r
-                one{"{0} ପାରସେ"}\r
-                other{"{0} ପାରସେ"}\r
+                dnam{"ପାରସେକ୍"}\r
+                one{"{0} ପାରସେକ୍"}\r
+                other{"{0} ପାରସେକ୍"}\r
             }\r
             picometer{\r
                 dnam{"ପିକୋମିଟର୍"}\r
@@ -449,9 +450,9 @@ or{
         }\r
         mass{\r
             carat{\r
-                dnam{"à¬\95à­\87ରେଟ୍"}\r
-                one{"{0} à¬\95à­\87ରେଟ୍"}\r
-                other{"{0} à¬\95à­\87ରେଟ୍"}\r
+                dnam{"à¬\95à­\8dà­\9fାରେଟ୍"}\r
+                one{"{0} à¬\95à­\8dà­\9fାରେଟ୍"}\r
+                other{"{0} à¬\95à­\8dà­\9fାରେଟ୍"}\r
             }\r
             gram{\r
                 dnam{"ଗ୍ରାମ୍"}\r
@@ -477,7 +478,7 @@ or{
             }\r
             milligram{\r
                 dnam{"ମିଲିଗ୍ରାମ୍"}\r
-                one{"{0} mg"}\r
+                one{"{0} ମିଲିଗ୍ରାମ୍"}\r
                 other{"{0} ମିଲିଗ୍ରାମ୍"}\r
             }\r
             ounce{\r
@@ -557,9 +558,9 @@ or{
                 other{"ପାରାର {0} ମିଲିମିଟର୍"}\r
             }\r
             pound-per-square-inch{\r
-                dnam{"ପà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
-                one{"ପà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି {0} ପାଉଣ୍ଡ୍"}\r
-                other{"ପà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9cି {0} ପାଉଣ୍ଡ୍"}\r
+                dnam{"ପାà¬\89ଣà­\8dଡà­\8d à¬ªà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a"}\r
+                one{"ପà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a {0} ପାଉଣ୍ଡ୍"}\r
+                other{"ପà­\8dରତି à¬¬à¬°à­\8dà¬\97 à¬\87à¬\9eà­\8dà¬\9a {0} ପାଉଣ୍ଡ୍"}\r
             }\r
         }\r
         speed{\r
@@ -569,9 +570,9 @@ or{
                 other{"{0} କିଲୋମିଟର୍ ପ୍ରତି ଘଣ୍ଟା"}\r
             }\r
             knot{\r
-                dnam{"à¬\95à­\8dନà­\8bଟ୍"}\r
-                one{"{0} à¬\95à­\8dନà­\8bଟ୍"}\r
-                other{"{0} à¬\95à­\8dନà­\8bଟ୍"}\r
+                dnam{"ନଟ୍"}\r
+                one{"{0} à¬¨ଟ୍"}\r
+                other{"{0} à¬¨ଟ୍"}\r
             }\r
             meter-per-second{\r
                 dnam{"ମିଟର୍ ପ୍ରତି ସେକେଣ୍ଡ୍"}\r
@@ -591,9 +592,9 @@ or{
                 other{"{0} ଡିଗ୍ରୀ ସେଲସିୟସ୍"}\r
             }\r
             fahrenheit{\r
-                dnam{"ଡିà¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହà­\87à¬\9fà­\8d"}\r
-                one{"{0} à¬¡à¬¿à¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହà­\87ଇଟ୍"}\r
-                other{"{0} à¬¡à¬¿à¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହà­\87à¬\9fà­\8d"}\r
+                dnam{"ଡିà¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହାà¬\87à¬\9fà­\8d"}\r
+                one{"{0} à¬¡à¬¿à¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହାଇଟ୍"}\r
+                other{"{0} à¬¡à¬¿à¬\97à­\8dରà­\80 à¬«à¬¾à¬°à­\87ନହାà¬\87à¬\9fà­\8d"}\r
             }\r
             generic{\r
                 dnam{"°"}\r
@@ -601,16 +602,16 @@ or{
                 other{"{0}°"}\r
             }\r
             kelvin{\r
-                dnam{"à¬\95à­\87ଲଭିନସà­\8d"}\r
-                one{"{0} କେଲଭିନ"}\r
-                other{"{0} କେଲଭିନ"}\r
+                dnam{"କେଲଭିନ୍"}\r
+                one{"{0} କେଲଭିନ"}\r
+                other{"{0} କେଲଭିନ"}\r
             }\r
         }\r
         volume{\r
             acre-foot{\r
-                dnam{"à¬\8fà¬\95ର-ଫà­\81à¬\9f"}\r
+                dnam{"à¬\8fà¬\95ର-ଫିà¬\9fà­\8d"}\r
                 one{"{0} ଏକର-ଫୁଟ"}\r
-                other{"{0} à¬\8fà¬\95ର-ଫà­\81à¬\9f"}\r
+                other{"{0} à¬\8fà¬\95ର-ଫିà¬\9fà­\8d"}\r
             }\r
             centiliter{\r
                 dnam{"ସେଣ୍ଟିଲିଟର୍"}\r
@@ -624,14 +625,14 @@ or{
                 per{"{0} ପ୍ରତି କ୍ୟୁବିକ୍ ସେଣ୍ଟିମିଟର୍"}\r
             }\r
             cubic-foot{\r
-                dnam{"à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬«à­\81à¬\9f"}\r
-                one{"{0} କ୍ୟୁବିକ୍ ଫୁଟ"}\r
-                other{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬«à­\81à¬\9f"}\r
+                dnam{"à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬«à¬¿à¬\9fà­\8d"}\r
+                one{"{0} କ୍ୟୁବିକ୍ ଫୁଟ"}\r
+                other{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬«à¬¿à¬\9fà­\8d"}\r
             }\r
             cubic-inch{\r
-                dnam{"à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                one{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                other{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aି"}\r
+                dnam{"à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                one{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                other{"{0} à¬\95à­\8dà­\9fà­\81ବିà¬\95à­\8d à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
             }\r
             cubic-kilometer{\r
                 dnam{"କ୍ୟୁବିକ୍ କିଲୋମିଟର୍"}\r
@@ -708,14 +709,14 @@ or{
                 other{"{0} ମିଲିଲିଟର୍"}\r
             }\r
             pint{\r
-                dnam{"ପିଣ୍ଟ୍"}\r
-                one{"{0} à¬ªà¬¿ଣ୍ଟ୍"}\r
-                other{"{0} à¬ªà¬¿ଣ୍ଟ୍"}\r
+                dnam{"ପାà¬\87ଣ୍ଟ୍"}\r
+                one{"{0} à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
+                other{"{0} à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
             }\r
             pint-metric{\r
-                dnam{"ମà­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¿ଣ୍ଟ୍"}\r
-                one{"{0} à¬®à­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¿ଣ୍ଟ୍"}\r
-                other{"{0} à¬®à­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¿ଣ୍ଟ୍"}\r
+                dnam{"ମà­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
+                one{"{0} à¬®à­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
+                other{"{0} à¬®à­\87à¬\9fà­\8dରିà¬\95à­\8d à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
             }\r
             quart{\r
                 dnam{"କ୍ଵାର୍ଟ୍"}\r
@@ -723,14 +724,14 @@ or{
                 other{"{0} କ୍ଵାର୍ଟ୍"}\r
             }\r
             tablespoon{\r
-                dnam{"à¬\9aାମà­\81à¬\9aା"}\r
-                one{"{0} à¬\9aାମà­\81à¬\9aା"}\r
-                other{"{0} à¬\9aାମà­\81à¬\9aା"}\r
+                dnam{"à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
+                one{"{0} à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
+                other{"{0} à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
             }\r
             teaspoon{\r
-                dnam{"à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
-                one{"{0} à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
-                other{"{0} à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
+                dnam{"à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
+                one{"{0} à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
+                other{"{0} à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
             }\r
         }\r
     }\r
@@ -741,8 +742,8 @@ or{
         consumption{\r
             liter-per-100kilometers{\r
                 dnam{"ଲି/100କିମି"}\r
-                one{"{0} ଲି/100 କିମି"}\r
-                other{"{0} ଲି/100 କିମି"}\r
+                one{"{0}ଲି/100 କିମି"}\r
+                other{"{0}ଲି/100 କିମି"}\r
             }\r
         }\r
         coordinate{\r
@@ -754,13 +755,13 @@ or{
         duration{\r
             day{\r
                 dnam{"ଦିନ"}\r
-                one{"{0}d"}\r
-                other{"{0}d"}\r
+                one{"{0}ଦିନ"}\r
+                other{"{0}ଦିନ"}\r
             }\r
             hour{\r
                 dnam{"ଘଣ୍ଟା"}\r
-                one{"{0}h"}\r
-                other{"{0}h"}\r
+                one{"{0}ଘଣ୍ଟା"}\r
+                other{"{0}ଘଣ୍ଟା"}\r
             }\r
             millisecond{\r
                 dnam{"ମିଲିସେକେଣ୍ଡ"}\r
@@ -769,28 +770,28 @@ or{
             }\r
             minute{\r
                 dnam{"ମିନିଟ୍‌"}\r
-                one{"{0}m"}\r
-                other{"{0}m"}\r
+                one{"{0}ମିନିଟ୍‌"}\r
+                other{"{0}ମିନିଟ୍‌"}\r
             }\r
             month{\r
                 dnam{"ମାସ"}\r
-                one{"{0}m"}\r
-                other{"{0}m"}\r
+                one{"{0}ମାସ"}\r
+                other{"{0}ମାସ"}\r
             }\r
             second{\r
                 dnam{"ସେକେଣ୍ଡ"}\r
-                one{"{0}s"}\r
-                other{"{0} s"}\r
+                one{"{0}ସେକ୍"}\r
+                other{"{0}ସେକ୍"}\r
             }\r
             week{\r
-                dnam{"wk"}\r
-                one{"{0}w"}\r
-                other{"{0}w"}\r
+                dnam{"ସପ୍ତାହ"}\r
+                one{"{0}ସପ୍"}\r
+                other{"{0} ସପ୍"}\r
             }\r
             year{\r
                 dnam{"yr"}\r
-                one{"{0}y"}\r
-                other{"{0}y"}\r
+                one{"{0}ବର୍ଷ"}\r
+                other{"{0}ବର୍ଷ"}\r
             }\r
         }\r
         length{\r
@@ -811,8 +812,8 @@ or{
             }\r
             millimeter{\r
                 dnam{"ମିମି"}\r
-                one{"{0} ମିମି"}\r
-                other{"{0} mm"}\r
+                one{"{0}ମିମି"}\r
+                other{"{0}ମିମି"}\r
             }\r
         }\r
         mass{\r
@@ -852,7 +853,7 @@ or{
     unitsShort{\r
         acceleration{\r
             g-force{\r
-                dnam{"ଜି-ଫୋର୍ସ"}\r
+                dnam{"ଜି-ଫୋର୍ସ"}\r
                 one{"{0} ଜି"}\r
                 other{"{0} ଜି"}\r
             }\r
@@ -864,9 +865,9 @@ or{
         }\r
         angle{\r
             arc-minute{\r
-                dnam{"ଆର୍କମିନିଟ୍"}\r
-                one{"{0} ଆର୍କମିନିଟ୍"}\r
-                other{"{0} ଆର୍କମିନିଟ୍"}\r
+                dnam{"ଆର୍କମି"}\r
+                one{"{0} ଆର୍କମି"}\r
+                other{"{0} ଆର୍କମି"}\r
             }\r
             arc-second{\r
                 dnam{"ଆର୍କସେ"}\r
@@ -879,14 +880,14 @@ or{
                 other{"{0} ଡି"}\r
             }\r
             radian{\r
-                dnam{"ରାଡିଆନ୍"}\r
-                one{"{0} à¬°à¬¾ଡି"}\r
-                other{"{0} à¬°à¬¾ଡି"}\r
+                dnam{"ରà­\87ଡିଆନ୍"}\r
+                one{"{0} à¬°à­\87ଡି"}\r
+                other{"{0} à¬°à­\87ଡି"}\r
             }\r
             revolution{\r
-                dnam{"ରିଭà­\8b"}\r
-                one{"{0} à¬°à¬¿à¬­à­\8b"}\r
-                other{"{0} à¬°à¬¿à¬­à­\8b"}\r
+                dnam{"ପରିà¬\95à­\8dର"}\r
+                one{"{0} à¬ªà¬°à¬¿à¬\95à­\8dର"}\r
+                other{"{0} à¬ªà¬°à¬¿à¬\95à­\8dର"}\r
             }\r
         }\r
         area{\r
@@ -907,15 +908,15 @@ or{
                 per{"{0}/ସେମି²"}\r
             }\r
             square-foot{\r
-                dnam{"ବରà­\8dà¬\97 à¬«à­\81à¬\9f"}\r
-                one{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à­\81à¬\9f"}\r
-                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à­\81à¬\9f"}\r
+                dnam{"ବରà­\8dà¬\97 à¬«à¬¿à¬\9fà­\8d"}\r
+                one{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à¬¿à¬\9fà­\8d"}\r
+                other{"{0} à¬¬à¬°à­\8dà¬\97 à¬«à¬¿à¬\9fà­\8d"}\r
             }\r
             square-inch{\r
-                dnam{"ଇଞ୍ଚି²"}\r
-                one{"{0} ଇଞ୍ଚି²"}\r
-                other{"{0} ଇଞ୍ଚି²"}\r
-                per{"{0}/ଇଞ୍ଚି²"}\r
+                dnam{"ଇଞ୍ଚ²"}\r
+                one{"{0} ଇଞ୍ଚ²"}\r
+                other{"{0} ଇଞ୍ଚ²"}\r
+                per{"{0}/ଇଞ୍ଚ²"}\r
             }\r
             square-kilometer{\r
                 dnam{"କିମି²"}\r
@@ -951,9 +952,9 @@ or{
                 other{"{0} kt"}\r
             }\r
             milligram-per-deciliter{\r
-                dnam{"à¬\8fମà¬\9cି/ଡେଲି"}\r
-                one{"{0} à¬\8fମà¬\9cି/ଡେଲି"}\r
-                other{"{0} à¬\8fମà¬\9cି/ଡେଲି"}\r
+                dnam{"ମିà¬\97à­\8dରା/ଡେଲି"}\r
+                one{"{0} à¬®à¬¿à¬\97à­\8dରା/ଡେଲି"}\r
+                other{"{0} à¬®à¬¿à¬\97à­\8dରା/ଡେଲି"}\r
             }\r
             millimole-per-liter{\r
                 dnam{"ମିଲିମୋଲ୍/ଲିଟର୍"}\r
@@ -1007,43 +1008,43 @@ or{
             }\r
             gigabit{\r
                 dnam{"ଜିବିଟ୍"}\r
-                one{"{0} ଜିବିଟ୍"}\r
-                other{"{0} ଜିବିଟ୍"}\r
+                one{"{0} Gb"}\r
+                other{"{0} Gb"}\r
             }\r
             gigabyte{\r
                 dnam{"ଜିବାଇଟ୍"}\r
-                one{"{0} ଜିବି"}\r
-                other{"{0} ଜିବି"}\r
+                one{"{0} GB"}\r
+                other{"{0} GB"}\r
             }\r
             kilobit{\r
                 dnam{"କେବିଟ୍"}\r
-                one{"{0} କେବିଟ୍"}\r
-                other{"{0} କେବିଟ୍"}\r
+                one{"{0} kb"}\r
+                other{"{0} kb"}\r
             }\r
             kilobyte{\r
                 dnam{"କେବାଇଟ୍"}\r
-                one{"{0} କେବି"}\r
-                other{"{0} କେବି"}\r
+                one{"{0} kB"}\r
+                other{"{0} kB"}\r
             }\r
             megabit{\r
                 dnam{"ମେବିଟ୍"}\r
-                one{"{0} ଏମବିଟ୍"}\r
-                other{"{0} ଏମବିଟ୍"}\r
+                one{"{0} Mb"}\r
+                other{"{0} Mb"}\r
             }\r
             megabyte{\r
                 dnam{"ମେବାଇଟ୍"}\r
-                one{"{0} ଏମବି"}\r
-                other{"{0} ଏମବି"}\r
+                one{"{0} MB"}\r
+                other{"{0} MB"}\r
             }\r
             terabit{\r
-                dnam{"à¬\9fà­\87ବିଟ୍"}\r
-                one{"{0} ଟିବି"}\r
-                other{"{0} ଟିବି"}\r
+                dnam{"à¬\9fିବିଟ୍"}\r
+                one{"{0} Tb"}\r
+                other{"{0} Tb"}\r
             }\r
             terabyte{\r
-                dnam{"à¬\9fà­\87ବାଇଟ୍"}\r
-                one{"{0} ଟିବିଟ୍"}\r
-                other{"{0} ଟେବି"}\r
+                dnam{"à¬\9fିବାଇଟ୍"}\r
+                one{"{0} TB"}\r
+                other{"{0} TB"}\r
             }\r
         }\r
         duration{\r
@@ -1056,18 +1057,18 @@ or{
                 dnam{"ଦିନ"}\r
                 one{"{0} ଦିନ"}\r
                 other{"{0} ଦିନ"}\r
-                per{"{0}/d"}\r
+                per{"{0}/ଦିନ"}\r
             }\r
             hour{\r
                 dnam{"ଘଣ୍ଟା"}\r
                 one{"{0} ଘଣ୍ଟା"}\r
                 other{"{0} ଘଣ୍ଟା"}\r
-                per{"{0}/h"}\r
+                per{"{0}/ଘଣ୍ଟା"}\r
             }\r
             microsecond{\r
                 dnam{"μସେକେଣ୍ଡ"}\r
-                one{"{0} μସେ"}\r
-                other{"{0} μସେ"}\r
+                one{"{0} μs"}\r
+                other{"{0} μs"}\r
             }\r
             millisecond{\r
                 dnam{"ମିଲିସେକେଣ୍ଡ"}\r
@@ -1082,9 +1083,9 @@ or{
             }\r
             month{\r
                 dnam{"ମାସ"}\r
-                one{"{0} mth"}\r
-                other{"{0} mths"}\r
-                per{"{0}/m"}\r
+                one{"{0} ମାସ"}\r
+                other{"{0} ମାସ"}\r
+                per{"{0}/ମାସ"}\r
             }\r
             nanosecond{\r
                 dnam{"ns"}\r
@@ -1095,24 +1096,24 @@ or{
                 dnam{"ସେକେଣ୍ଡ"}\r
                 one{"{0} ସେକେଣ୍ଡ"}\r
                 other{"{0} ସେକେଣ୍ଡ"}\r
-                per{"{0}/s"}\r
+                per{"{0}/ସେକେଣ୍ଡ"}\r
             }\r
             week{\r
                 dnam{"ସପ୍ତାହ"}\r
-                one{"{0} wk"}\r
-                other{"{0} wks"}\r
-                per{"{0}/w"}\r
+                one{"{0} ସପ୍ତାହ"}\r
+                other{"{0} ସପ୍ତାହ"}\r
+                per{"{0}/ସପ୍ତାହ"}\r
             }\r
             year{\r
                 dnam{"ବର୍ଷ"}\r
-                one{"{0} yr"}\r
-                other{"{0} yrs"}\r
-                per{"{0}/y"}\r
+                one{"{0} ବର୍ଷ"}\r
+                other{"{0} ବର୍ଷ"}\r
+                per{"{0}/ବର୍ଷ"}\r
             }\r
         }\r
         electric{\r
             ampere{\r
-                dnam{"à¬\8fମପିà¬\8fସ୍"}\r
+                dnam{"à¬\86ମà­\8dପପ୍"}\r
                 one{"{0} ଏ"}\r
                 other{"{0} ଏ"}\r
             }\r
@@ -1134,29 +1135,29 @@ or{
         }\r
         energy{\r
             calorie{\r
-                dnam{"à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                one{"{0} à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                other{"{0} à¬\95à­\8dà­\9fାଲà­\8b"}\r
+                dnam{"à¬\95à­\8dà­\9fାଲà­\8d"}\r
+                one{"{0} à¬\95à­\8dà­\9fାଲà­\8d"}\r
+                other{"{0} à¬\95à­\8dà­\9fାଲà­\8d"}\r
             }\r
             foodcalorie{\r
-                dnam{"à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                one{"{0} à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                other{"{0} à¬\95à­\8dà­\9fାଲà­\8b"}\r
+                dnam{"à¬\95à­\8dà­\9fାଲà­\8d"}\r
+                one{"{0} à¬\95à­\8dà­\9fାଲà­\8d"}\r
+                other{"{0} à¬\95à­\8dà­\9fାଲà­\8d"}\r
             }\r
             joule{\r
-                dnam{"à¬\9cà­\8cଲà­\87"}\r
-                one{"{0} à¬\9cà­\8c"}\r
-                other{"{0} à¬\9cà­\8c"}\r
+                dnam{"à¬\9cà­\81ଲà­\8d"}\r
+                one{"{0} à¬\9cà­\81"}\r
+                other{"{0} à¬\9cà­\81"}\r
             }\r
             kilocalorie{\r
-                dnam{"à¬\95à­\87à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                one{"{0} à¬\95à­\87à¬\95à­\8dà­\9fାଲà­\8b"}\r
-                other{"{0} à¬\95à­\87à¬\95à­\8dà­\9fାଲà­\8b"}\r
+                dnam{"à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8d"}\r
+                one{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8d"}\r
+                other{"{0} à¬\95ିଲà­\8bà¬\95à­\8dà­\9fାଲà­\8d"}\r
             }\r
             kilojoule{\r
-                dnam{"à¬\95ିଲà­\8bà¬\9cà­\8cଲà­\87"}\r
-                one{"{0} à¬\95ିà¬\9cà­\8c"}\r
-                other{"{0} à¬\95ିà¬\9cà­\8c"}\r
+                dnam{"à¬\95ିଲà­\8bà¬\9cà­\81ଲà­\8d"}\r
+                one{"{0} à¬\95ିà¬\9cà­\81"}\r
+                other{"{0} à¬\95ିà¬\9cà­\81"}\r
             }\r
             kilowatt-hour{\r
                 dnam{"କିୱା-ଘଣ୍ଟା"}\r
@@ -1204,16 +1205,16 @@ or{
                 other{"{0} ଡେମି"}\r
             }\r
             foot{\r
-                dnam{"ଫà­\81à¬\9f"}\r
-                one{"{0} à¬«à­\81à¬\9f"}\r
-                other{"{0} à¬«à­\81à¬\9f"}\r
-                per{"{0}/ଫà­\81à¬\9f"}\r
+                dnam{"ଫିà¬\9fà­\8d"}\r
+                one{"{0} à¬«à¬¿à¬\9fà­\8d"}\r
+                other{"{0} à¬«à¬¿à¬\9fà­\8d"}\r
+                per{"{0}/ଫିà¬\9fà­\8d"}\r
             }\r
             inch{\r
-                dnam{"à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                one{"{0} à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                other{"{0} à¬\87à¬\9eà­\8dà¬\9aି"}\r
-                per{"{0}/à¬\87à¬\9eà­\8dà¬\9aି"}\r
+                dnam{"à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                one{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                other{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
+                per{"{0}/à¬\87à¬\9eà­\8dà¬\9aà­\8d"}\r
             }\r
             kilometer{\r
                 dnam{"କିମି"}\r
@@ -1222,9 +1223,9 @@ or{
                 per{"{0}/କିମି"}\r
             }\r
             light-year{\r
-                dnam{"ପà­\8dରà¬\95ାଶ ବର୍ଷ"}\r
-                one{"{0} à¬ªà­\8dରବ"}\r
-                other{"{0} à¬ªà­\8dରବ"}\r
+                dnam{"à¬\86ଲà­\8bà¬\95 ବର୍ଷ"}\r
+                one{"{0} à¬\86ବ"}\r
+                other{"{0} à¬\86ବ"}\r
             }\r
             meter{\r
                 dnam{"ମି"}\r
@@ -1263,7 +1264,7 @@ or{
                 other{"{0} ନୌମି"}\r
             }\r
             parsec{\r
-                dnam{"ପାରସେ"}\r
+                dnam{"ପାରସେକ୍"}\r
                 one{"{0} ପିସି"}\r
                 other{"{0} ପିସି"}\r
             }\r
@@ -1292,7 +1293,7 @@ or{
         }\r
         mass{\r
             carat{\r
-                dnam{"à¬\95à­\87ରେଟ୍"}\r
+                dnam{"à¬\95à­\8dà­\9fାରେଟ୍"}\r
                 one{"{0} ସିଡି"}\r
                 other{"{0} ସିଡି"}\r
             }\r
@@ -1320,7 +1321,7 @@ or{
             }\r
             milligram{\r
                 dnam{"ମିଗ୍ରା"}\r
-                one{"{0} mg"}\r
+                one{"{0} ମିଗ୍ରା"}\r
                 other{"{0} ମିଗ୍ରା"}\r
             }\r
             ounce{\r
@@ -1336,9 +1337,9 @@ or{
             }\r
             pound{\r
                 dnam{"ପାଉଣ୍ଡ୍"}\r
-                one{"{0} à¬\8fଲବି"}\r
-                other{"{0} à¬\8fଲବି"}\r
-                per{"{0}/à¬\8fଲବି"}\r
+                one{"{0} à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
+                other{"{0} à¬ªà¬¾à¬\89ଣà­\8dଡà­\8d"}\r
+                per{"{0}/ପାà¬\89ଣà­\8dଡà­\8d"}\r
             }\r
             ton{\r
                 dnam{"ଟନ୍"}\r
@@ -1350,7 +1351,7 @@ or{
             gigawatt{\r
                 dnam{"ଗିୱା"}\r
                 one{"{0} ଗିୱା"}\r
-                other{"{0} à¬\9cିୱା"}\r
+                other{"{0} à¬\97ିୱା"}\r
             }\r
             horsepower{\r
                 dnam{"ଏଚପି"}\r
@@ -1412,9 +1413,9 @@ or{
                 other{"{0} କେପିଏଚ୍"}\r
             }\r
             knot{\r
-                dnam{"à¬\95à­\8dନà­\8bଟ୍"}\r
-                one{"{0} à¬\95à­\8dନà­\8bଟ୍"}\r
-                other{"{0} à¬\95à­\8dନà­\8bଟ୍"}\r
+                dnam{"ନଟ୍"}\r
+                one{"{0} à¬¨ଟ୍"}\r
+                other{"{0} à¬¨ଟ୍"}\r
             }\r
             meter-per-second{\r
                 dnam{"ମିଟର୍/ସେ"}\r
@@ -1451,9 +1452,9 @@ or{
         }\r
         volume{\r
             acre-foot{\r
-                dnam{"à¬\8fà¬\95ର à¬«à­\81à¬\9f"}\r
-                one{"{0} à¬\8fà¬\95ର-ଫà­\81à¬\9f"}\r
-                other{"{0} à¬\8fà¬\95ର-ଫà­\81à¬\9f"}\r
+                dnam{"à¬\8fà¬\95ର à¬«à¬¿à¬\9fà­\8d"}\r
+                one{"{0} à¬\8fà¬\95ର-ଫିà¬\9fà­\8d"}\r
+                other{"{0} à¬\8fà¬\95ର-ଫିà¬\9fà­\8d"}\r
             }\r
             centiliter{\r
                 dnam{"ସେଲି"}\r
@@ -1467,14 +1468,14 @@ or{
                 per{"{0}/ସେମି³"}\r
             }\r
             cubic-foot{\r
-                dnam{"ଫà­\81à¬\9f³"}\r
-                one{"{0} à¬«à­\81à¬\9f³"}\r
-                other{"{0} à¬«à­\81à¬\9f³"}\r
+                dnam{"ଫିà¬\9fà­\8d³"}\r
+                one{"{0} à¬«à¬¿à¬\9fà­\8d³"}\r
+                other{"{0} à¬«à¬¿à¬\9fà­\8d³"}\r
             }\r
             cubic-inch{\r
-                dnam{"à¬\87à¬\9eà­\8dà¬\9aି³"}\r
-                one{"{0} à¬\87à¬\9eà­\8dà¬\9aି³"}\r
-                other{"{0} à¬\87à¬\9eà­\8dà¬\9aି³"}\r
+                dnam{"à¬\87à¬\9eà­\8dà¬\9aà­\8d³"}\r
+                one{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d³"}\r
+                other{"{0} à¬\87à¬\9eà­\8dà¬\9aà­\8d³"}\r
             }\r
             cubic-kilometer{\r
                 dnam{"କିମି³"}\r
@@ -1488,9 +1489,9 @@ or{
                 per{"{0}/ମି³"}\r
             }\r
             cubic-mile{\r
-                dnam{"à¬\95à­\8dà­\9fà­\81ମା³"}\r
-                one{"{0} à¬\95à­\8dà­\9fà­\81ମା³"}\r
-                other{"{0} à¬\95à­\8dà­\9fà­\81ମା³"}\r
+                dnam{"ମା³"}\r
+                one{"{0} ମା³"}\r
+                other{"{0} ମା³"}\r
             }\r
             cubic-yard{\r
                 dnam{"ୟାର୍ଡ୍³"}\r
@@ -1503,7 +1504,7 @@ or{
                 other{"{0} କ"}\r
             }\r
             cup-metric{\r
-                dnam{"ମେକପ୍"}\r
+                dnam{"ମେକ"}\r
                 one{"{0} ମେକ"}\r
                 other{"{0} ମେକ"}\r
             }\r
@@ -1551,14 +1552,14 @@ or{
                 other{"{0} ମିଲି"}\r
             }\r
             pint{\r
-                dnam{"ପିଣ୍ଟ୍"}\r
-                one{"{0} à¬ªà¬¿ଣ୍ଟ୍"}\r
-                other{"{0} à¬ªà¬¿ଣ୍ଟ୍"}\r
+                dnam{"ପାà¬\87ଣ୍ଟ୍"}\r
+                one{"{0} à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
+                other{"{0} à¬ªà¬¾à¬\87ଣ୍ଟ୍"}\r
             }\r
             pint-metric{\r
-                dnam{"ମà­\87ପିà¬\9fି"}\r
-                one{"{0} à¬®à­\87ପିà¬\9fି"}\r
-                other{"{0} à¬®à­\87ପିà¬\9fି"}\r
+                dnam{"ମà­\87ପା"}\r
+                one{"{0} à¬®à­\87ପା"}\r
+                other{"{0} à¬®à­\87ପା"}\r
             }\r
             quart{\r
                 dnam{"କ୍ଵାର୍ଟ୍"}\r
@@ -1566,14 +1567,14 @@ or{
                 other{"{0} କ୍ଵାର୍ଟ୍"}\r
             }\r
             tablespoon{\r
-                dnam{"à¬\9aାମà­\81à¬\9aା"}\r
-                one{"{0} à¬\9aାମà­\81à¬\9aା"}\r
-                other{"{0} à¬\9aାମà­\81à¬\9aା"}\r
+                dnam{"à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
+                one{"{0} à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
+                other{"{0} à¬\96ାà¬\87ବା à¬\9aାମà¬\9a"}\r
             }\r
             teaspoon{\r
-                dnam{"à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
-                one{"{0} à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
-                other{"{0} à¬\9aାà¬\9aାମà­\81à¬\9aା"}\r
+                dnam{"à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
+                one{"{0} à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
+                other{"{0} à¬\9bà­\8bà¬\9f à¬\9aାମà¬\9a"}\r
             }\r
         }\r
     }\r
index a1ff5ab..7c0fe58 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 511c7b8..ae98ea9 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 10b9c6f..335b281 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5ddcad6..2b4dfd0 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 3b7fc18..02953a1 100644 (file)
Binary files a/source/data/unit/pool.res and b/source/data/unit/pool.res differ
index ad6dd6d..96e5020 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 566d447..bc7672a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a385088..1aff836 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 13c0236..2b17974 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{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
 }\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f4cd124..0a9b33f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b5a1669..0c74f8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d30b2ff..5cf402d 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 060a5fc..0f426fb 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9f5e748..f7318b5 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         acceleration{\r
             g-force{\r
index e3f0965..9287a10 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b8cb201..bc44bb6 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 59bc601..8623e75 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 38a59fc..4635a41 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-UNIT_CLDR_VERSION = 32.0.1\r
+UNIT_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index e3bc350..d08e27d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 984e00a..0392300 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 3dc3cb2..b380c4d 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 1f682b0..f8e52b1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     unitsNarrow{\r
         duration{\r
             day{\r
index f7499f7..317fd08 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 65dc7c3..78cddc9 100644 (file)
@@ -4,7 +4,7 @@
  * ICU <specials> source: <path>/common/main/root.xml\r
  */\r
 root{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 8d90c48..3f3a192 100644 (file)
@@ -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{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -1129,10 +1129,10 @@ ru{
             }\r
             hour{\r
                 dnam{"ч"}\r
-                few{"{0} ч."}\r
-                many{"{0} ч."}\r
-                one{"{0} ч."}\r
-                other{"{0} ч."}\r
+                few{"{0} ч"}\r
+                many{"{0} ч"}\r
+                one{"{0} ч"}\r
+                other{"{0} ч"}\r
                 per{"{0}/ч."}\r
             }\r
             microsecond{\r
@@ -1151,10 +1151,10 @@ ru{
             }\r
             minute{\r
                 dnam{"мин"}\r
-                few{"{0} мин."}\r
-                many{"{0} мин."}\r
-                one{"{0} мин."}\r
-                other{"{0} мин."}\r
+                few{"{0} мин"}\r
+                many{"{0} мин"}\r
+                one{"{0} мин"}\r
+                other{"{0} мин"}\r
                 per{"{0}/мин."}\r
             }\r
             month{\r
@@ -1174,10 +1174,10 @@ ru{
             }\r
             second{\r
                 dnam{"c"}\r
-                few{"{0} с."}\r
-                many{"{0} с."}\r
-                one{"{0} с."}\r
-                other{"{0} с."}\r
+                few{"{0} с"}\r
+                many{"{0} с"}\r
+                one{"{0} с"}\r
+                other{"{0} с"}\r
                 per{"{0}/c"}\r
             }\r
             week{\r
@@ -1476,6 +1476,13 @@ ru{
                 one{"{0} мм рт. ст."}\r
                 other{"{0} мм рт. ст."}\r
             }\r
+            pound-per-square-inch{\r
+                dnam{"ф. на дюйм²"}\r
+                few{"{0} ф./дюйм²"}\r
+                many{"{0} ф./дюйм²"}\r
+                one{"{0} ф./дюйм²"}\r
+                other{"{0} ф./дюйм²"}\r
+            }\r
         }\r
         speed{\r
             kilometer-per-hour{\r
@@ -2046,10 +2053,10 @@ ru{
             }\r
             foot{\r
                 dnam{"фт"}\r
-                few{"{0} Ñ\84Ñ\83Ñ\82а"}\r
-                many{"{0} Ñ\84Ñ\83Ñ\82ов"}\r
-                one{"{0} Ñ\84Ñ\83Ñ\82"}\r
-                other{"{0} Ñ\84Ñ\83Ñ\82а"}\r
+                few{"{0} Ñ\84Ñ\82"}\r
+                many{"{0} Ñ\84Ñ\82"}\r
+                one{"{0} фт"}\r
+                other{"{0} Ñ\84Ñ\82"}\r
                 per{"{0}/фт"}\r
             }\r
             furlong{\r
index 1d9cb05..3bc3de7 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
 }\r
index 8c996fc..aedac7f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0ad7052..1127196 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index ab5a439..d1d966a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 50263b2..ef6dd50 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9db3de5..6b3b628 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 6f2dbe6..d7f4546 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c5c911a..7affa4f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 68840d0..94ee507 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8ed3cbd..2b4c06d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a1ec743..4da3319 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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b2c332a..b08a2b5 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
index 5943649..0b811f4 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index d50fdda..abbe7d4 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
index e463efb..cc4ff67 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 2a25732..7724fa7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 93064a3..c3835c3 100644 (file)
@@ -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{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index afa0882..2a41f47 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -511,9 +511,9 @@ sq{
                 other{"{0} gigavat"}\r
             }\r
             horsepower{\r
-                dnam{"kuaj fuqi"}\r
-                one{"{0} kalë fuqi"}\r
-                other{"{0} kuaj fuqi"}\r
+                dnam{"kuaj-fuqi"}\r
+                one{"{0} kalë-fuqi"}\r
+                other{"{0} kuaj-fuqi"}\r
             }\r
             kilowatt{\r
                 dnam{"kilovat"}\r
index 1b79cf2..233e6e7 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 038f9b5..49b4188 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{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 4650921..f32317a 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 82fab8b..1d639c0 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     unitsNarrow{\r
         speed{\r
             kilometer-per-hour{\r
index a41f035..19969ee 100644 (file)
@@ -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{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index cce3867..f19a92d 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 6c6c87c..6491c0c 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 0c75fc8..9f2e536 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index cf924d3..f0d2dcc 100644 (file)
@@ -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{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index f11e3b8..03f6978 100644 (file)
@@ -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{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 7758e43..4a6c1a4 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index b8c6a19..d5e060f 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index f7c7a7f..b968c73 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -1835,6 +1835,7 @@ tr{
                 other{"{0} pm"}\r
             }\r
             point{\r
+                dnam{"punto"}\r
                 one{"{0} pt"}\r
                 other{"{0} pt"}\r
             }\r
index 21daa24..5cf27c8 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index d3d2547..fb36460 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 553d2fc..a349069 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index cb4ff99..70c0884 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         acceleration{\r
             g-force{\r
index c75e632..35e1a94 100644 (file)
@@ -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{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index dd348f4..17b289e 100644 (file)
@@ -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{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index d4fc9b6..aee37ab 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         length{\r
             astronomical-unit{\r
index df14ac4..76fe732 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a124e09..3ab8dff 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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bc08fe4..608cdcb 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ba509c3..c3ada87 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 37fb754..52c939e 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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eeb9e33..147de6d 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 3658070..617ecfc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 63fdbb6..e4d49f1 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     units{\r
         duration{\r
             day{\r
index 4a93a33..c3a8774 100644 (file)
@@ -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{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 96cd8df..5b3894e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8520543..d80b037 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7697e5d..b95d87d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 30c8428..eb0f317 100644 (file)
@@ -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{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d590025..16b18a0 100644 (file)
@@ -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{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 04370d2..ce676d4 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{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0fd8cdd..1affd80 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 106130b..5d4dafe 100644 (file)
@@ -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{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a48c54e..5f62fce 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index a19d41c..38f1415 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index a06b0ae..c45fc08 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index c7f1dcb..8648265 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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 8fae5c0..a5f81c3 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     units{\r
         acceleration{\r
             meter-per-second-squared{\r
index 9589854..43c2f1f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index bcaca8a..0ee0ffa 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 238497d..7ba8e13 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="de"/>\r
     </identity>\r
 </ldml>\r
index 599b2a2..acf3eda 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="el"/> \r
     </identity>\r
     <special xmlns:icu="http://www.icu-project.org/">\r
index ab4e1e3..bd7742a 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="en"/> \r
     </identity>\r
 </ldml>\r
index da96b8f..f3b7e45 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="en"/> \r
         <territory type="US"/>\r
     </identity>\r
index 0d5fecc..27e38cb 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="en"/> \r
         <territory type="US"/> \r
         <variant type="POSIX"/> \r
index 00ff32d..68949e7 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="es"/>\r
     </identity>\r
 </ldml>\r
index a6233b2..02e3b81 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 28903 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="fi"/> \r
     </identity>\r
     <special xmlns:icu="http://www.icu-project.org/">\r
index f726fc1..8890ccb 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="fr"/>\r
     </identity>\r
 </ldml>\r
index 4df7a07..3a8897a 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="it"/>\r
     </identity>\r
 </ldml>\r
index ef17434..4e44f96 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="ja"/> \r
     </identity>\r
     <special xmlns:icu="http://www.icu-project.org/">\r
index 073fe8d..f8a40dc 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="pt"/>\r
     </identity>\r
 </ldml>\r
index a1f4031..05e2af0 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="root"/> \r
     </identity>\r
     <special xmlns:icu="http://www.icu-project.org/">\r
index 8177611..75f60e8 100644 (file)
@@ -14,7 +14,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 38848 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="ru"/>\r
     </identity>\r
 </ldml>\r
index 201439f..cc6c653 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.5 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="root"/> \r
     </identity>\r
     <special xmlns:icu="http://www.icu-project.org/">\r
index 1d81c1c..0bb58d0 100644 (file)
@@ -12,7 +12,7 @@
 >\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.30 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="root"/> \r
     </identity>\r
 </ldml>\r
index ccc3483..c5c8105 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="be"/>\r
     </identity>\r
     <rbnf>\r
index cef2a75..859ffa9 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="bg"/>\r
     </identity>\r
     <rbnf>\r
index cbc82f2..361f3ff 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="ca"/>\r
     </identity>\r
     <rbnf>\r
index 67b05f0..742372b 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="cy"/>\r
     </identity>\r
     <rbnf>\r
index 1521137..e479749 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="da"/>\r
     </identity>\r
     <rbnf>\r
index 4369fd8..ee2a401 100644 (file)
@@ -8,7 +8,7 @@
 <ldml>\r
        <identity>\r
 \r
-               <version number="$Revision: 1.4 $"/>\r
+               <version number="$Revision: 40674 $"/>\r
                <language type="de"/>\r
        </identity>\r
     <rbnf>\r
index 771d929..a9da7cd 100644 (file)
@@ -8,7 +8,7 @@
 <ldml>\r
        <identity>\r
 \r
-               <version number="$Revision: 1.4 $"/>\r
+               <version number="$Revision: 40674 $"/>\r
                <language type="en"/>\r
        </identity>\r
     <rbnf>\r
index 0a15d6c..48f7ea9 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="fo"/>\r
     </identity>\r
     <rbnf>\r
index 6ed9a42..7e40354 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
        <identity>\r
-               <version number="$Revision: 1.4 $"/>\r
+               <version number="$Revision: 40674 $"/>\r
                <language type="ga"/>\r
        </identity>\r
     <rbnf>\r
index 92da488..f6c6ba4 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="is"/>\r
     </identity>\r
     <rbnf>\r
index 5e4f49c..ea2ea03 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="mk"/>\r
     </identity>\r
     <rbnf>\r
index 91d09c9..d812cff 100644 (file)
@@ -8,7 +8,7 @@
 <ldml>\r
        <identity>\r
 \r
-               <version number="$Revision: 1.4 $"/>\r
+               <version number="$Revision: 40674 $"/>\r
                <language type="mt"/>\r
        </identity>\r
     <rbnf>\r
index 3a0d525..71dc279 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="nb"/>\r
     </identity>\r
     <rbnf>\r
index 64d13c8..d837891 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="nn"/>\r
     </identity>\r
     <rbnf>\r
index 3781c75..72bb7d0 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
        <identity>\r
-               <version number="$Revision: 1.4 $"/>\r
+               <version number="$Revision: 40674 $"/>\r
                <language type="root"/>\r
        </identity>\r
     <rbnf>\r
index 6ff2955..1b3f4bd 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="ru"/>\r
     </identity>\r
     <rbnf>\r
index 3cbbf3d..e09c530 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="sr"/>\r
     </identity>\r
     <rbnf>\r
index 3431f44..71223ff 100644 (file)
@@ -7,7 +7,7 @@
 <!DOCTYPE ldml SYSTEM "http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd">\r
 <ldml>\r
     <identity>\r
-        <version number="$Revision: 1.1 $"/>\r
+        <version number="$Revision: 40674 $"/>\r
         <language type="uk"/>\r
     </identity>\r
     <rbnf>\r
index 1a47200..58a7430 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index b148116..32ad1fc 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 58ee8ca..3f86cfa 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 9024b3a..f309ac5 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"አቢጃን"}\r
index eaee5ca..338b606 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"أبيدجان"}\r
index e16882e..0c6eb87 100644 (file)
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
-    Version{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\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{"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{"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{"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{"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:Qyzylorda"{\r
+            ec{"কেজিলোৰ্ডা"}\r
         }\r
         "Asia:Rangoon"{\r
-            ec{"য়াঙ্গুন"}\r
+            ec{"য়াঙোন"}\r
+        }\r
+        "Asia:Riyadh"{\r
+            ec{"ৰিয়াধ"}\r
         }\r
         "Asia:Saigon"{\r
-            ec{"Ho Chi Minh"}\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
@@ -27,541 +954,931 @@ as{
         "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
-            ld{"ব্ৰিটিচ গ্ৰীষ্মকালীন সময়"}\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{"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{"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
+            ls{"আফগানিস্তান সময়"}\r
         }\r
         "meta:Africa_Central"{\r
-            ls{"মধà§\8dয à¦\86ফà§\8dরিà¦\95া সময়"}\r
+            ls{"মধà§\8dয à¦\86ফà§\8dৰিà¦\95াৰ সময়"}\r
         }\r
         "meta:Africa_Eastern"{\r
-            ls{"পà§\82রà§\8dব à¦\86ফà§\8dরিà¦\95া সময়"}\r
+            ls{"পà§\82ব à¦\86ফà§\8dৰিà¦\95াৰ সময়"}\r
         }\r
         "meta:Africa_Southern"{\r
-            ls{"দà¦\95à§\8dষিণ à¦\86ফà§\8dরিà¦\95া মান সময়"}\r
+            ls{"দà¦\95à§\8dষিণ à¦\86ফà§\8dৰিà¦\95াৰ মান সময়"}\r
         }\r
         "meta:Africa_Western"{\r
-            ld{"পশ্চিম আফ্রিকার গ্রীষ্মকালীন সময়"}\r
-            lg{"পশ্চিম আফ্রিকা সময়"}\r
-            ls{"পশ্চিম আফ্রিকার মান সময়"}\r
+            ld{"পশ্চিম আফ্ৰিকাৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"পশ্চিম আফ্ৰিকাৰ সময়"}\r
+            ls{"পশ্চিম আফ্ৰিকাৰ মান সময়"}\r
+        }\r
+        "meta:Alaska"{\r
+            ld{"আলাস্কাৰ ডেলাইট সময়"}\r
+            lg{"আলাস্কাৰ সময়"}\r
+            ls{"আলাস্কাৰ মান সময়"}\r
         }\r
         "meta:Amazon"{\r
-            ld{"আমজান গ্রীষ্মের সময়"}\r
-            lg{"আমজান সময়"}\r
-            ls{"আমজান মান সময়"}\r
+            ld{"আমাজনৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"আমাজনৰ সময়"}\r
+            ls{"আমাজনৰ মান সময়"}\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:Apia"{\r
-            ld{"আপিয়া ডেলাইট টাইম"}\r
-            lg{"আপিয়া সময়"}\r
-            ls{"আপিয়া স্ট্যান্ডার্ড টাইম"}\r
+            ld{"আপিয়াৰ ডেলাইট সময়"}\r
+            lg{"আপিয়া সময়"}\r
+            ls{"আপিয়াৰ মান সময়"}\r
         }\r
         "meta:Arabian"{\r
-            ld{"à¦\86রবà§\80য় à¦¦à¦¿à¦¨à§\87র à¦\86লà§\8b"}\r
-            lg{"à¦\86রবà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
-            ls{"à¦\86রবà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
+            ld{"à¦\86ৰবà§\80য় à¦¡à§\87লাà¦\87à¦\9f à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\86ৰবà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\86ৰবà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Argentina"{\r
-            ld{"আৰ্জেণ্টিনা গ্ৰীষ্ম সময়"}\r
-            lg{"আৰ্জেণ্টিনা সময়"}\r
-            ls{"আৰ্জেণ্টিনা মান সময়"}\r
+            ld{"আৰ্জেণ্টিনাৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"আৰ্জেণ্টিনা সময়"}\r
+            ls{"আৰ্জেণ্টিনা মান সময়"}\r
         }\r
         "meta:Argentina_Western"{\r
-            ld{"à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\86রà§\8dà¦\9cà§\87নà§\8dà¦\9fিনা à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\86রà§\8dà¦\9cà§\87নà§\8dà¦\9fিনা সময়"}\r
-            ls{"à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\86রà§\8dà¦\9cà§\87নà§\8dà¦\9fিনা মান সময়"}\r
+            ld{"পাশà§\8dà¦\9aাতà§\8dয à¦\86ৰà§\8dà¦\9cà§\87ণà§\8dà¦\9fিনাৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পাশà§\8dà¦\9aাতà§\8dয à¦\86ৰà§\8dà¦\9cà§\87ণà§\8dà¦\9fিনাৰ সময়"}\r
+            ls{"পাশà§\8dà¦\9aাতà§\8dয à¦\86ৰà§\8dà¦\9cà§\87ণà§\8dà¦\9fিনাৰ মান সময়"}\r
         }\r
         "meta:Armenia"{\r
-            ld{"আর্মেনিয়া গ্রীষ্মকালীন সময়"}\r
-            lg{"আর্মেনিয়া টাইম"}\r
-            ls{"আর্মেনিয়া স্ট্যান্ডার্ড টাইম"}\r
+            ld{"আৰ্মেনিয়াৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"আৰ্মেনিয়াৰ সময়"}\r
+            ls{"আৰ্মেনিয়াৰ মান সময়"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"আটলাণ্টিক ডেলাইট সময়"}\r
+            lg{"আটলাণ্টিক সময়"}\r
+            ls{"আটলাণ্টিক মান সময়"}\r
         }\r
         "meta:Australia_Central"{\r
-            ld{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦\95à§\87নà§\8dদà§\8dরà§\80য় à¦¦à¦¿à¦¬à¦¾à¦²à§\8bà¦\95 সময়"}\r
-            lg{"à¦\95à§\87নà§\8dদà§\8dরà§\80য় à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়া সময়"}\r
-            ls{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦\95à§\87নà§\8dদà§\8dরà§\80য় à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦\95à§\87নà§\8dদà§\8dৰà§\80য় à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"মধà§\8dয à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ সময়"}\r
+            ls{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦\95à§\87নà§\8dদà§\8dৰà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Australia_CentralWestern"{\r
-            ld{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦¸à§\87নà§\8dà¦\9fà§\8dরাল à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦¡à§\87লাà¦\87à¦\9f à¦\9fাà¦\87ম"}\r
-            lg{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦¸à§\87নà§\8dà¦\9fà§\8dরাল à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\9fাà¦\87ম"}\r
-            ls{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦¸à§\87নà§\8dà¦\9fà§\8dরাল à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦\95à§\87নà§\8dদà§\8dৰà§\80য় à¦ªà¦¾à¦¶à§\8dà¦\9aাতà§\8dয à¦¡à§\87লাà¦\87à¦\9f à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦\95à§\87নà§\8dদà§\8dৰà§\80য় à¦ªà¦¾à¦¶à§\8dà¦\9aাতà§\8dয à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦\95à§\87নà§\8dদà§\8dৰà§\80য় à¦ªà¦¾à¦¶à§\8dà¦\9aাতà§\8dয à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Australia_Eastern"{\r
-            ld{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦ªà§\82রà§\8dব à¦¦à¦¿à¦¬à¦¾à¦²à§\8bà¦\95 সময়"}\r
-            lg{"পà§\82রà§\8dব à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়া সময়"}\r
-            ls{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦\87সà§\8dà¦\9fারà§\8dন à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦ªà§\8dৰাà¦\9aà§\8dয à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"পà§\8dৰাà¦\9aà§\8dয à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ সময়"}\r
+            ls{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦ªà§\8dৰাà¦\9aà§\8dয à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Australia_Western"{\r
-            ld{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦¡à§\87লাà¦\87à¦\9f à¦\9fাà¦\87ম"}\r
-            lg{"à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়া à¦\9fাà¦\87ম"}\r
-            ls{"à¦\85সà§\8dà¦\9fà§\8dরà§\87লিয়ান à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦ªà¦¾à¦¶à§\8dà¦\9aাতà§\8dয à¦¡à§\87লাà¦\87à¦\9f à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পাশà§\8dà¦\9aাতà§\8dয à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\85ষà§\8dà¦\9fà§\8dৰà§\87লিয়াৰ à¦ªà¦¾à¦¶à§\8dà¦\9aাতà§\8dয à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Azerbaijan"{\r
-            ld{"à¦\86à¦\9cারবাà¦\87à¦\9cান à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\86à¦\9cারবাà¦\87à¦\9cান সময়"}\r
-            ls{"à¦\86à¦\9cারবাà¦\87à¦\9cান à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\86à¦\9cà§\87ৰবাà¦\87à¦\9cানৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\86à¦\9cà§\87ৰবাà¦\87à¦\9cানৰ সময়"}\r
+            ls{"à¦\86à¦\9cà§\87ৰবাà¦\87à¦\9cানৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Azores"{\r
-            ld{"Azores গ্রীষ্মের সময়"}\r
-            lg{"Azores সময়"}\r
-            ls{"Azores মান সময়"}\r
+            ld{"আজোৰেছৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"আজোৰেছ সময়"}\r
+            ls{"আজোৰেছৰ মান সময়"}\r
         }\r
         "meta:Bangladesh"{\r
-            ld{"বাংলাদেশ à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"বাংলাদেশ সময়"}\r
-            ls{"বাংলাদেশ স্ট্যান্ডার্ড টাইম"}\r
+            ld{"বাংলাদেশৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"বাংলাদেশ সময়"}\r
+            ls{"বাংলাদেশৰ মান সময়"}\r
         }\r
         "meta:Bhutan"{\r
-            ls{"ভুটান টাইম"}\r
+            ls{"ভুটানৰ সময়"}\r
         }\r
         "meta:Bolivia"{\r
-            ls{"বলিভিয়া সময়"}\r
+            ls{"বলিভিয়া সময়"}\r
         }\r
         "meta:Brasilia"{\r
-            ld{"বà§\8dৰাà¦\9bিলিয়া à¦\97à§\8dৰà§\80ষà§\8dম সময়"}\r
-            lg{"বà§\8dৰাà¦\9bিলিয়া সময়"}\r
-            ls{"বà§\8dৰাà¦\9bিলিয়া মান সময়"}\r
+            ld{"বà§\8dৰাà¦\9cিলিয়াৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন সময়"}\r
+            lg{"বà§\8dৰাà¦\9cিলিয়াৰ সময়"}\r
+            ls{"বà§\8dৰাà¦\9cিলিয়াৰ মান সময়"}\r
         }\r
         "meta:Brunei"{\r
-            ls{"বà§\8dরà§\81নà§\87à¦\87 à¦¦à¦¾à¦°à§\81সসালাম সময়"}\r
+            ls{"বà§\8dৰà§\81নà§\87à¦\87 à¦¡à¦¾à§°à§\81à¦\9bালà§\87মৰ সময়"}\r
         }\r
         "meta:Cape_Verde"{\r
-            ld{"à¦\95à§\87প à¦­à¦¾à¦°à§\8dদà§\87 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\95à§\87প à¦­à¦¾à¦°à§\8dদà§\87 সময়"}\r
-            ls{"à¦\95à§\87প à¦\93য়ারà§\8dড à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\95à§\87প à¦­à¦¾à§°à§\8dদà§\87ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\95à§\87প à¦­à¦¾à§°à§\8dদà§\87ৰ সময়"}\r
+            ls{"à¦\95à§\87প à¦­à¦¾à§°à§\8dদà§\87ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Chamorro"{\r
-            ls{"à¦\9aামà§\87রà§\8b à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ls{"à¦\9aামà§\8bৰà§\8bৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Chatham"{\r
-            ld{"à¦\9aà§\8dযাথাম à¦¡à§\87à¦\87লাà¦\87à¦\9f à¦\9fাà¦\87ম"}\r
-            lg{"à¦\9aà§\8dযাথাম à¦\9fাà¦\87ম"}\r
-            ls{"à¦\9aà§\8dযাথাম à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9aাথামৰ à¦¡à§\87লাà¦\87à¦\9f à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\9aাথামৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\9aাথামৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Chile"{\r
-            ld{"চিলি à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"চিলি সময়"}\r
-            ls{"চিলি স্ট্যান্ডার্ড টাইম"}\r
+            ld{"চিলিৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"চিলি সময়"}\r
+            ls{"চিলিৰ মান সময়"}\r
         }\r
         "meta:China"{\r
-            ld{"চীন ডেইলাইট টাইম"}\r
-            lg{"চীন সময়"}\r
-            ls{"চীন স্ট্যান্ডার্ড টাইম"}\r
+            ld{"চীনৰ ডেলাইট সময়"}\r
+            lg{"চীন সময়"}\r
+            ls{"চীনৰ মান সময়"}\r
         }\r
         "meta:Choibalsan"{\r
-            ld{"à¦\9aিবà§\8dবলসন à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\9aিবà§\8dবালান à¦\9fাà¦\87ম"}\r
-            ls{"à¦\9aিবà§\8dবলসন à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\95à§\8bà¦\87বালà§\8dà¦\9bনৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\95à§\8bà¦\87বালà§\8dà¦\9bনৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\95à§\8bà¦\87বালà§\8dà¦\9bনৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Christmas"{\r
-            ls{"à¦\95à§\8dরিসমাস à¦\86à¦\87লà§\8dযানà§\8dড সময়"}\r
+            ls{"à¦\96à§\8dৰà§\80ষà§\8dà¦\9fমাà¦\9b à¦¦à§\8dবà§\80পৰ সময়"}\r
         }\r
         "meta:Cocos"{\r
-            ls{"à¦\95à§\8bà¦\95à§\8bস à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c সময়"}\r
+            ls{"à¦\95à§\8bà¦\95à§\8bà¦\9b à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ সময়"}\r
         }\r
         "meta:Colombia"{\r
-            ld{"কলম্বিয়া গ্ৰীষ্ম সময়"}\r
-            lg{"কলম্বিয়া সময়"}\r
-            ls{"কলম্বিয়া মান সময়"}\r
+            ld{"কলম্বিয়াৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"কলম্বিয়া সময়"}\r
+            ls{"কলম্বিয়া মান সময়"}\r
         }\r
         "meta:Cook"{\r
-            ld{"কুক দ্বীপপুঞ্জ হাফ গ্রীষ্মকালীন সময়"}\r
-            lg{"কুক দ্বীপপুঞ্জ সময়"}\r
-            ls{"কুক দ্বীপপুঞ্জ স্ট্যান্ডার্ড টাইম"}\r
+            ld{"কুক দ্বীপপুঞ্জৰ অৰ্ধ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"কুক দ্বীপপুঞ্জৰ সময়"}\r
+            ls{"কুক দ্বীপপুঞ্জৰ মান সময়"}\r
+        }\r
+        "meta:Cuba"{\r
+            ld{"কিউবাৰ ডেলাইট সময়"}\r
+            lg{"কিউবাৰ সময়"}\r
+            ls{"কিউবাৰ মান সময়"}\r
         }\r
         "meta:Davis"{\r
-            ls{"ডà§\87ভিস à¦\9fাà¦\87ম"}\r
+            ls{"ডà§\87ভিà¦\9bৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:DumontDUrville"{\r
-            ls{"ডামমনà§\8dà¦\9f-ডিâ\80\98à¦\89রিভà§\8dযাল à¦\9fাà¦\87ম"}\r
+            ls{"ডà§\81মà§\8bণà§\8dà¦\9f-ডি à¦\86ৰà§\8dভিলৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:East_Timor"{\r
-            ls{"পà§\82রà§\8dব à¦¤à¦¿à¦®à§\81র à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"পà§\82ব à¦¤à¦¿à¦®à§\8bৰৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Easter"{\r
-            ld{"ইষ্টাৰ দ্বীপ গ্ৰীষ্ম সময়"}\r
-            lg{"ইষ্টাৰ দ্বীপ সময়"}\r
-            ls{"ইষ্টাৰ দ্বীপ মান সময়"}\r
+            ld{"ইষ্টাৰ দ্বীপৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"ইষ্টাৰ দ্বীপ সময়"}\r
+            ls{"ইষ্টাৰ দ্বীপ মান সময়"}\r
         }\r
         "meta:Ecuador"{\r
-            ls{"ইকুৱেডৰ সময়"}\r
+            ls{"ইকুৱেডৰ সময়"}\r
         }\r
         "meta:Europe_Central"{\r
-            ld{"মধà§\8dয à¦\87à¦\89রà§\8bপà§\80য় à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\95à§\87নà§\8dদà§\8dরà§\80য় à¦\87à¦\89রà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
-            ls{"à¦\95à§\87নà§\8dদà§\8dরà§\80য় à¦\87à¦\89রà§\8bপà§\80য় à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"মধà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"মধà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"মধà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Europe_Eastern"{\r
-            ld{"পà§\82রà§\8dব à¦\87à¦\89রà§\8bপà§\80য় à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"পà§\82রà§\8dব à¦\87à¦\89রà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
-            ls{"পà§\82রà§\8dব à¦\87à¦\89রà§\8bপà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
+            ld{"পà§\8dৰাà¦\9aà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পà§\8dৰাà¦\9aà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"পà§\8dৰাà¦\9aà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Europe_Further_Eastern"{\r
-            ls{"à¦\86রà¦\93 à¦ªà§\82রà§\8dব à¦\87à¦\89রà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\85à¦\97à§\8dৰ-পà§\8dৰাà¦\9aà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Europe_Western"{\r
-            ld{"পশà§\8dà¦\9aিম à¦\87à¦\89রà§\8bপà§\80য় à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"পশà§\8dà¦\9aিম à¦\87à¦\89রà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
-            ls{"পশà§\8dà¦\9aিম à¦\87à¦\89রà§\8bপà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
+            ld{"পাশà§\8dà¦\9aাতà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পাশà§\8dà¦\9aাতà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"পাশà§\8dà¦\9aাতà§\8dয à¦\87à¦\89ৰà§\8bপà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Falkland"{\r
-            ld{"ফà¦\95লà§\8dযানà§\8dড à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"ফà¦\95লà§\8dযানà§\8dড à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c সময়"}\r
-            ls{"ফà¦\95লà§\8dযানà§\8dড à¦¦à§\8dবà§\80প à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"ফà¦\95লà§\87ণà§\8dড à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ফà¦\95লà§\87ণà§\8dড à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ সময়"}\r
+            ls{"ফà¦\95লà§\87ণà§\8dড à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Fiji"{\r
-            ld{"ফিজি à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"ফিজি সময়"}\r
-            ls{"ফিজি স্ট্যান্ডার্ড টাইম"}\r
+            ld{"ফিজিৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ফিজি সময়"}\r
+            ls{"ফিজিৰ মান সময়"}\r
         }\r
         "meta:French_Guiana"{\r
-            ls{"ফরাসি à¦\97ায়ানা সময়"}\r
+            ls{"ফà§\8dৰানà§\8dস à¦\97য়ানাৰ সময়"}\r
         }\r
         "meta:French_Southern"{\r
-            ls{"ফরাসি à¦¦à¦\95à§\8dষিণ à¦\93 à¦\85à§\8dযানà§\8dà¦\9fারà§\8dà¦\95à¦\9fিà¦\95 à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"দà¦\95à§\8dষিণ à¦«à§\8dৰানà§\8dস à¦\86ৰà§\81 à¦\8fণà§\8dà¦\9fাৰà§\8dà¦\95à¦\9fিà¦\95 à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:GMT"{\r
-            ls{"মà¦\95à§\8dà¦\95ার সময়"}\r
+            ls{"à¦\97à§\8dৰà§\80ণà¦\89à¦\87à¦\9a à¦®à¦¾à¦¨ সময়"}\r
         }\r
         "meta:Galapagos"{\r
-            ls{"à¦\97ালাপাà¦\97à§\8bস à¦\9fাà¦\87ম"}\r
+            ls{"à¦\97ালাপাà¦\97à§\8bà¦\9bৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Gambier"{\r
-            ls{"à¦\97ামà§\8dবà§\81র à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\97à§\87মà§\8dবিয়াৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Georgia"{\r
-            ld{"à¦\9cরà§\8dà¦\9cিয়া à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\9cরà§\8dà¦\9cিয়া à¦\9fাà¦\87ম"}\r
-            ls{"à¦\9cরà§\8dà¦\9cিয়া à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9cৰà§\8dà¦\9cিয়াৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\9cৰà§\8dà¦\9cিয়াৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\9cৰà§\8dà¦\9cিয়াৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Gilbert_Islands"{\r
-            ls{"গিলবার্ট দ্বীপপুঞ্জ সময়"}\r
+            ls{"গিলবাৰ্ট দ্বীপপুঞ্জৰ সময়"}\r
+        }\r
+        "meta:Greenland_Eastern"{\r
+            ld{"পূব গ্ৰীণলেণ্ডৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"পূব গ্ৰীণলেণ্ডৰ সময়"}\r
+            ls{"পূব গ্ৰীণলেণ্ডৰ মান সময়"}\r
+        }\r
+        "meta:Greenland_Western"{\r
+            ld{"পশ্চিম গ্ৰীণলেণ্ডৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"পশ্চিম গ্ৰীণলেণ্ডৰ সময়"}\r
+            ls{"পশ্চিম গ্ৰীণলেণ্ডৰ মান সময়"}\r
         }\r
         "meta:Gulf"{\r
-            ls{"à¦\89পসাà¦\97রà§\80য় à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ls{"à¦\89পসাà¦\97ৰà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Guyana"{\r
-            ls{"গায়ানা টাইম"}\r
+            ls{"গায়ানাৰ সময়"}\r
+        }\r
+        "meta:Hawaii_Aleutian"{\r
+            ld{"হাৱাই-এলিউশ্বনৰ ডেলাইট সময়"}\r
+            lg{"হাৱাই-এলিউশ্বনৰ সময়"}\r
+            ls{"হাৱাই-এলিউশ্বনৰ মান সময়"}\r
         }\r
         "meta:Hong_Kong"{\r
-            ld{"হংà¦\95à¦\82 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"হংকং সময়"}\r
-            ls{"হংকং স্ট্যান্ডার্ড টাইম"}\r
+            ld{"হং à¦\95à¦\99ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"হং কঙৰ সময়"}\r
+            ls{"হং কঙৰ মান সময়"}\r
         }\r
         "meta:Hovd"{\r
-            ld{"হà¦\93à¦\97ড à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"হà¦\93ড à¦\9fাà¦\87ম"}\r
-            ls{"হà§\8bভড à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"হà§\8bভà§\8dâ\80\8cডৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"হà§\8bভà§\8dâ\80\8cডৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"হà§\8bভà§\8dâ\80\8cডৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:India"{\r
-            ls{"ভাৰতীয় সময়"}\r
+            ls{"ভাৰতà§\80য় à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
             ss{"ভা. স."}\r
         }\r
         "meta:Indian_Ocean"{\r
-            ls{"ভারত à¦®à¦¹à¦¾à¦¸à¦¾à¦\97র সময়"}\r
+            ls{"ভাৰত à¦®à¦¹à¦¾à¦¸à¦¾à¦\97ৰà§\80য় সময়"}\r
         }\r
         "meta:Indochina"{\r
-            ls{"à¦\87নà§\8dদà§\8bà¦\9aà§\80না à¦\9fাà¦\87ম"}\r
+            ls{"à¦\87ণà§\8dডà§\8bà¦\9aাà¦\87নাৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Indonesia_Central"{\r
-            ls{"মধà§\8dয à¦\87নà§\8dদà§\8bনà§\87শিয়া সময়"}\r
+            ls{"মধà§\8dয à¦\87ণà§\8dডà§\8bনà§\87à¦\9aিয়াৰ সময়"}\r
         }\r
         "meta:Indonesia_Eastern"{\r
-            ls{"à¦\87সà§\8dà¦\9fারà§\8dন à¦\87নà§\8dদà§\8bনà§\87শিয়া সময়"}\r
+            ls{"পà§\8dৰাà¦\9aà§\8dয à¦\87ণà§\8dডà§\8bনà§\87à¦\9aিয়াৰ সময়"}\r
         }\r
         "meta:Indonesia_Western"{\r
-            ls{"à¦\93য়à§\87সà§\8dà¦\9fারà§\8dন à¦\87নà§\8dদà§\8bনà§\87শিয়া সময়"}\r
+            ls{"পাশà§\8dà¦\9aাতà§\8dয à¦\87ণà§\8dডà§\8bনà§\87à¦\9aিয়াৰ সময়"}\r
         }\r
         "meta:Iran"{\r
-            ld{"à¦\87রান à¦¦à¦¿à¦¬à¦¾à¦²à§\8bà¦\95 সময়"}\r
-            lg{"à¦\87রান সময়"}\r
-            ls{"à¦\87রান à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\87ৰানৰ à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"à¦\87ৰানৰ সময়"}\r
+            ls{"à¦\87ৰানৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Irkutsk"{\r
-            ld{"à¦\87রà§\8dà¦\95à§\81ষসà§\8dà¦\95 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\87রà§\8dà¦\95à§\81à¦\95à§\8dসà§\8dà¦\95 সময়"}\r
-            ls{"à¦\87à¦\99à§\8dà¦\95à§\81à¦\95à§\8dà¦\9fà¦\95 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\87ৰà§\8dà¦\95à§\81à¦\9fসà§\8dà¦\95ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\87ৰà§\8dà¦\95à§\81à¦\9fসà§\8dà¦\95ৰ সময়"}\r
+            ls{"à¦\87ৰà§\8dà¦\95à§\81à¦\9fসà§\8dà¦\95ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Israel"{\r
-            ld{"à¦\87সà§\8dরায়à§\87ল à¦¦à¦¿à¦¬à¦¾à¦²à§\8bà¦\95 সময়"}\r
-            lg{"à¦\87সà§\8dরায়à§\87ল সময়"}\r
-            ls{"à¦\87সà§\8dরায়à§\87ল à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\87à¦\9cৰাà¦\87লৰ à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"à¦\87à¦\9cৰাà¦\87লৰ সময়"}\r
+            ls{"à¦\87à¦\9cৰাà¦\87লৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Japan"{\r
-            ld{"জাপান দিনের হালকা সময়"}\r
-            lg{"জাপান সময়"}\r
-            ls{"জাপান স্ট্যান্ডার্ড টাইম"}\r
+            ld{"জাপানৰ ডেলাইট সময়"}\r
+            lg{"জাপান সময়"}\r
+            ls{"জাপানৰ মান সময়"}\r
         }\r
         "meta:Kazakhstan_Eastern"{\r
-            ls{"পà§\82রà§\8dব à¦\95াà¦\9cাà¦\96সà§\8dতান সময়"}\r
+            ls{"পà§\82ব à¦\95াà¦\9cাà¦\96সà§\8dতানৰ সময়"}\r
         }\r
         "meta:Kazakhstan_Western"{\r
-            ls{"পশà§\8dà¦\9aিম à¦\95াসাবালান সময়"}\r
+            ls{"পশà§\8dà¦\9aিম à¦\95াà¦\9cাà¦\96সà§\8dতানৰ সময়"}\r
         }\r
         "meta:Korea"{\r
-            ld{"à¦\95à§\8bরিয়ান à¦¦à¦¿à¦¨à§\87র à¦\86লà§\8b"}\r
-            lg{"à¦\95à§\8bরিয়ান সময়"}\r
-            ls{"à¦\95à§\8bরিয়ান à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\95à§\8bৰিয়াৰ à¦¡à§\87লাà¦\87à¦\9f à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\95à§\8bৰিয়াৰ সময়"}\r
+            ls{"à¦\95à§\8bৰিয়াৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Kosrae"{\r
-            ls{"à¦\95à§\8bসরা à¦\9fাà¦\87ম"}\r
+            ls{"à¦\95à§\8bà¦\9bৰায়à§\87 à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Krasnoyarsk"{\r
-            ld{"ক্রোয়েশোয়ারস্ক গ্রীষ্মকালীন সময়"}\r
-            lg{"ক্রোশোয়েয়ার্স্ক টাইম"}\r
-            ls{"ক্রোশনোয়ার্স্ক মান সময়"}\r
+            ld{"ক্ৰাছনোয়াৰ্স্ক গ্ৰীষ্মকালীন সময়"}\r
+            lg{"ক্ৰাছনোয়াৰ্স্কৰ সময়"}\r
+            ls{"ক্ৰাছনোয়াৰ্স্কৰ মান সময়"}\r
+        }\r
+        "meta:Kyrgystan"{\r
+            ls{"কিৰ্গিজস্তানৰ সময়"}\r
         }\r
         "meta:Line_Islands"{\r
-            ls{"লাইন দ্বীপপুঞ্জ সময়"}\r
+            ls{"লাইন দ্বীপপুঞ্জ সময়"}\r
         }\r
         "meta:Lord_Howe"{\r
-            ld{"লরà§\8dড à¦¹à§\8dযালà§\8b à¦¦à¦¿à¦¬à¦¾à¦²à§\8bà¦\95 সময়"}\r
-            lg{"লরà§\8dড à¦¹à¦¾à¦­à§\80 সময়"}\r
-            ls{"লরà§\8dড à¦¹à¦¾à¦­à§\80 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"লৰà§\8dড à¦¹à¦¾à¦\93ৰ à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"লৰà§\8dড à¦¹à¦¾à¦\93ৰ সময়"}\r
+            ls{"লৰà§\8dড à¦¹à¦¾à¦\93ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Macquarie"{\r
-            ls{"মà§\8dযাà¦\95à¦\95à§\81রি à¦\86à¦\87লà§\8dযানà§\8dড à¦\9fাà¦\87ম"}\r
+            ls{"মà§\87à¦\95à§\8dâ\80\8cà¦\95à§\81ৱà§\87ৰà§\80 à¦¦à§\8dবà§\80পৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Magadan"{\r
-            ld{"মà§\8dযাà¦\97াদান à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"মà§\8dযাà¦\97াদান à¦\9fাà¦\87ম"}\r
-            ls{"মà§\8dযাà¦\97াদান মান সময়"}\r
+            ld{"মাà¦\97াদানৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"মাà¦\97াদানৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"মাà¦\97াদানৰ মান সময়"}\r
         }\r
         "meta:Malaysia"{\r
-            ls{"মালয়à§\87শিয়া সময়"}\r
+            ls{"মালয়à§\87à¦\9aিয়াৰ সময়"}\r
         }\r
         "meta:Maldives"{\r
-            ls{"মালদà§\8dবà§\80পà§\87র à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"মালদ্বীপৰ সময়"}\r
         }\r
         "meta:Marquesas"{\r
-            ls{"মারà¦\95াসাস সময়"}\r
+            ls{"মাৰà§\8dà¦\95à¦\9bà§\87à¦\9bৰ সময়"}\r
         }\r
         "meta:Marshall_Islands"{\r
-            ls{"মারà§\8dশাল à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c সময়"}\r
+            ls{"মাৰà§\8dশà§\8dবাল à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ সময়"}\r
         }\r
         "meta:Mauritius"{\r
-            ld{"Mauritius à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"Mauritus সময়"}\r
-            ls{"Mauritius মান সময়"}\r
+            ld{"মৰিà¦\9bাà¦\9bৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"মৰিছাছৰ সময়"}\r
+            ls{"মৰিছাছৰ মান সময়"}\r
         }\r
         "meta:Mawson"{\r
-            ls{"মোসন টাইম"}\r
+            ls{"মাউছনৰ সময়"}\r
+        }\r
+        "meta:Mexico_Northwest"{\r
+            ld{"উত্তৰ-পশ্চিম মেক্সিকোৰ ডেলাইট সময়"}\r
+            lg{"উত্তৰ-পশ্চিম মেক্সিকোৰ সময়"}\r
+            ls{"উত্তৰ-পশ্চিম মেক্সিকোৰ মান সময়"}\r
+        }\r
+        "meta:Mexico_Pacific"{\r
+            ld{"মেক্সিকোৰ প্ৰশান্ত ডেলাইট সময়"}\r
+            lg{"মেক্সিকোৰ প্ৰশান্ত সময়"}\r
+            ls{"মেক্সিকোৰ প্ৰশান্ত মান সময়"}\r
         }\r
         "meta:Mongolia"{\r
-            ld{"à¦\89লানবাà¦\9fার à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\89লানবাà¦\9fার à¦\9fাà¦\87ম"}\r
-            ls{"à¦\89লানবাà¦\9fার à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
+            ld{"à¦\89লানবাà¦\9fাৰৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\89লানবাà¦\9fাৰৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\89লানবাà¦\9fাৰৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Moscow"{\r
-            ld{"মস্কো à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"মস্কো সময়"}\r
-            ls{"মস্কো স্ট্যান্ডার্ড টাইম"}\r
+            ld{"মস্কোৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"মস্কো সময়"}\r
+            ls{"মস্কোৰ মান সময়"}\r
         }\r
         "meta:Myanmar"{\r
-            ls{"মায়ানমার à¦\9fাà¦\87ম"}\r
+            ls{"মà§\8dযানমাৰৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Nauru"{\r
-            ls{"নাà¦\89রà§\81 à¦\9fাà¦\87ম"}\r
+            ls{"নাà¦\89ৰà§\81ৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Nepal"{\r
-            ls{"নেপাল সময়"}\r
+            ls{"নেপাল সময়"}\r
         }\r
         "meta:New_Caledonia"{\r
-            ld{"নিà¦\89 à¦\95à§\8dযালà§\87ডà§\8bনিয়া à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"নিà¦\89 à¦\95à§\8dযালà§\87ডà§\8bনিয়া সময়"}\r
-            ls{"নিà¦\89 à¦\95à§\8dযালà§\87ডà§\8bনিয়া à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"নিà¦\89 à¦\95à§\87লিডà§\8bনিয়াৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"নিà¦\89 à¦\95à§\87লিডà§\8bনিয়াৰ সময়"}\r
+            ls{"নিà¦\89 à¦\95à§\87লিডà§\8bনিয়াৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:New_Zealand"{\r
-            ld{"নিউজিল্যান্ড ডেলাইট টাইম"}\r
-            lg{"নিউজিল্যান্ড সময়"}\r
-            ls{"নিউজিল্যান্ড স্ট্যান্ডার্ড টাইম"}\r
+            ld{"নিউজিলেণ্ডৰ ডেলাইট সময়"}\r
+            lg{"নিউজিলেণ্ডৰ সময়"}\r
+            ls{"নিউজিলেণ্ডৰ মান সময়"}\r
+        }\r
+        "meta:Newfoundland"{\r
+            ld{"নিউফাউণ্ডলেণ্ডৰ ডেলাইট সময়"}\r
+            lg{"নিউফাউণ্ডলেণ্ডৰ সময়"}\r
+            ls{"নিউফাউণ্ডলেণ্ডৰ মান সময়"}\r
         }\r
         "meta:Niue"{\r
-            ls{"নিà¦\89à¦\87য় à¦\9fাà¦\87ম"}\r
+            ls{"নিয়à§\81ৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"নরফোক দ্বীপ সময়"}\r
+            ls{"ন’ৰফ’ক দ্বীপৰ সময়"}\r
         }\r
         "meta:Noronha"{\r
-            ld{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à¦¿ à¦¨à§\8bৰà§\8bনà§\8dবা à¦\97à§\8dৰà§\80ষà§\8dম সময়"}\r
-            lg{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à¦¿ à¦¨à§\8bৰà§\8bনà§\8dবা"}\r
-            ls{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à¦¿ à¦¨à§\8bৰà§\8bনà§\8dবা মান সময়"}\r
+            ld{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à§\87 à¦¨à§\8bৰà§\8bনà§\8dâ\80\8cহাৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন সময়"}\r
+            lg{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à§\87 à¦¨à§\8bৰà§\8bনà§\8dâ\80\8cহাৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"ফাৰà§\8dনাণà§\8dডà§\8b à¦¡à§\87 à¦¨à§\8bৰà§\8bনà§\8dâ\80\8cহাৰ মান সময়"}\r
         }\r
         "meta:Novosibirsk"{\r
-            ld{"নà§\8bভà§\8bসিবিরসà§\8dà¦\95 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"নà§\8bভà§\8bসিবিরসà§\8dà¦\95 সময়"}\r
-            ls{"নà§\8bভà§\8bসিবিরসà§\8dà¦\95 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"নভà§\8bà¦\9bিবিৰà§\8dসà§\8dà¦\95ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"নভà§\8bà¦\9bিবিৰà§\8dসà§\8dà¦\95ৰ সময়"}\r
+            ls{"নভà§\8bà¦\9bিবিৰà§\8dসà§\8dà¦\95ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Omsk"{\r
-            ld{"Omsk à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"Omsk সময়"}\r
-            ls{"Omsk আদর্শ সময়"}\r
+            ld{"à¦\93মসà§\8dà¦\95ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ওমস্কৰ সময়"}\r
+            ls{"ওমস্কৰ মান সময়"}\r
         }\r
         "meta:Pakistan"{\r
-            ld{"পাকিস্তান à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"পাকিস্তান টাইম"}\r
-            ls{"পাকিস্তান স্ট্যান্ডার্ড টাইম"}\r
+            ld{"পাকিস্তানৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পাকিস্তানৰ সময়"}\r
+            ls{"পাকিস্তানৰ মান সময়"}\r
         }\r
         "meta:Palau"{\r
-            ls{"পালাউ সময়"}\r
+            ls{"পালাউ সময়"}\r
         }\r
         "meta:Papua_New_Guinea"{\r
-            ls{"পাপà§\81য়া à¦¨à¦¿à¦\89 à¦\97িনি সময়"}\r
+            ls{"পাপà§\81ৱা à¦¨à¦¿à¦\89 à¦\97িনিৰ সময়"}\r
         }\r
         "meta:Paraguay"{\r
-            ld{"পাৰাগুৱে গ্ৰীষ্ম সময়"}\r
-            lg{"পাৰাগুৱে সময়"}\r
-            ls{"পাৰাগুৱে মান সময়"}\r
+            ld{"পাৰাগুৱেৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"পাৰাগুৱে সময়"}\r
+            ls{"পাৰাগুৱে মান সময়"}\r
         }\r
         "meta:Peru"{\r
-            ld{"পà§\87রà§\81 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"পà§\87রà§\81 সময়"}\r
-            ls{"পà§\87রà§\81 মান সময়"}\r
+            ld{"পà§\87ৰà§\81ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"পà§\87ৰà§\81ৰ সময়"}\r
+            ls{"পà§\87ৰà§\81ৰ মান সময়"}\r
         }\r
         "meta:Philippines"{\r
-            ld{"ফিলিপাইন à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"ফিলিপাইন টাইম"}\r
-            ls{"ফিলিপাইন স্ট্যান্ডার্ড টাইম"}\r
+            ld{"ফিলিপাইনৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ফিলিপাইনৰ সময়"}\r
+            ls{"ফিলিপাইনৰ মান সময়"}\r
         }\r
         "meta:Phoenix_Islands"{\r
-            ls{"ফিনিক্স দ্বীপপুঞ্জ সময়"}\r
+            ls{"ফিনিক্স দ্বীপপুঞ্জৰ সময়"}\r
+        }\r
+        "meta:Pierre_Miquelon"{\r
+            ld{"ছেইণ্ট পিয়েৰে আৰু মিকিউৱেলনৰ ডেলাইট সময়"}\r
+            lg{"ছেইণ্ট পিয়েৰে আৰু মিকিউৱেলনৰ সময়"}\r
+            ls{"ছেইণ্ট পিয়েৰে আৰু মিকিউৱেলনৰ মান সময়"}\r
         }\r
         "meta:Pitcairn"{\r
-            ls{"পিà¦\9fারà¦\95নার à¦\9fাà¦\87ম"}\r
+            ls{"পিà¦\9fà¦\95à§\87à¦\87ৰà§\8dণৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Ponape"{\r
-            ls{"পনাপ সময়"}\r
+            ls{"পà§\8bনাপà§\87ৰ সময়"}\r
         }\r
         "meta:Pyongyang"{\r
-            ls{"পিয়à¦\82à¦\87য়à¦\82 à¦\9fাà¦\87ম"}\r
+            ls{"পà§\8dযà¦\82য়াà¦\82ৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Reunion"{\r
-            ls{"রিয়ানিয়ন à¦\9fাà¦\87ম"}\r
+            ls{"ৰিà¦\87à¦\89নিয়নৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Rothera"{\r
-            ls{"রà§\8bথà§\87রা à¦\9fাà¦\87ম"}\r
+            ls{"ৰà§\8bথà§\87ৰাৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Sakhalin"{\r
-            ld{"সাà¦\96ালিন à¦\97à§\8dরà§\80ষà§\8dমà§\87র সময়"}\r
-            lg{"সাà¦\96ালিন à¦\9fাà¦\87ম"}\r
-            ls{"সাà¦\96ালিন à¦®à¦¾à¦¨ à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9bাà¦\96ালিনৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন সময়"}\r
+            lg{"à¦\9bাà¦\96ালিনৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\9bাà¦\96ালিনৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Samoa"{\r
-            ld{"সামà§\8bয়া ডেলাইট সময়"}\r
-            lg{"সামà§\8bয়া সময়"}\r
-            ls{"সামà§\8bয়া à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9bামà§\8bৱাৰ ডেলাইট সময়"}\r
+            lg{"à¦\9bামà§\8bৱাৰ সময়"}\r
+            ls{"à¦\9bামà§\8bৱাৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Seychelles"{\r
-            ls{"সà§\87শà§\87লস সময়"}\r
+            ls{"à¦\9bিà¦\9aিলিà¦\9bৰ সময়"}\r
         }\r
         "meta:Singapore"{\r
-            ls{"সিà¦\99à§\8dà¦\97াপà§\81র à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ls{"à¦\9bিà¦\82à¦\97াপà§\81ৰৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Solomon"{\r
-            ls{"সলà§\8bমন à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9c সময়"}\r
+            ls{"à¦\9aà§\8bলà§\8bমà§\8bন à¦¦à§\8dবà§\80পপà§\81à¦\9eà§\8dà¦\9cৰ সময়"}\r
         }\r
         "meta:South_Georgia"{\r
-            ls{"দà¦\95à§\8dষিণ à¦\9cরà§\8dà¦\9cিয়া à¦\9fাà¦\87ম"}\r
+            ls{"দà¦\95à§\8dষিণ à¦\9cৰà§\8dà¦\9cিয়াৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Suriname"{\r
-            ls{"সà§\81রিনাম à¦\9fাà¦\87ম"}\r
+            ls{"à¦\9bà§\81ৰিনামৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Syowa"{\r
-            ls{"Syowa টাইম"}\r
+            ls{"স্বোৱা সময়"}\r
         }\r
         "meta:Tahiti"{\r
-            ls{"তাহিতি টাইম"}\r
+            ls{"তাহিতিৰ সময়"}\r
         }\r
         "meta:Taipei"{\r
-            ld{"তাà¦\87পà§\87 à¦¦à¦¿à¦¨à§\87র à¦¹à¦¾à¦²à¦\95া সময়"}\r
-            lg{"তাà¦\87পà§\87 সময়"}\r
-            ls{"তাà¦\87পà§\87 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9fাà¦\87পà§\87à¦\87ৰ à¦¡à§\87লাà¦\87à¦\9f সময়"}\r
+            lg{"à¦\9fাà¦\87পà§\87à¦\87ৰ সময়"}\r
+            ls{"à¦\9fাà¦\87পà§\87à¦\87ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Tajikistan"{\r
-            ls{"তাজিকিস্তান টাইম"}\r
+            ls{"তাজিকিস্তানৰ সময়"}\r
         }\r
         "meta:Tokelau"{\r
-            ls{"টোকেলাউ সময়"}\r
+            ls{"টোকেলাউ সময়"}\r
         }\r
         "meta:Tonga"{\r
-            ld{"à¦\9fà¦\99à§\8dà¦\97া à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\9fà§\8bà¦\99à§\8dà¦\97া à¦\9fাà¦\87ম"}\r
-            ls{"à¦\9fà§\8bà¦\99à§\8dà¦\97া à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"à¦\9fà¦\82à¦\97াৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"à¦\9fà¦\82à¦\97াৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"à¦\9fà¦\82à¦\97াৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Truk"{\r
-            ls{"à¦\9aà§\81à§\81à¦\95 à¦\9fাà¦\87ম"}\r
+            ls{"à¦\9aà§\8dà¦\9aà§\81à¦\95ৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Turkmenistan"{\r
-            ld{"তà§\81রà§\8dà¦\95মà§\87নিসà§\8dতান à¦\97à§\8dরà§\80ষà§\8dম সময়"}\r
-            lg{"তà§\81রà§\8dà¦\95মà§\87নিসà§\8dতান সময়"}\r
-            ls{"তà§\81রà§\8dà¦\95মà§\87নিসà§\8dতান মান সময়"}\r
+            ld{"তà§\81ৰà§\8dà¦\95মà§\87নিসà§\8dতানৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন সময়"}\r
+            lg{"তà§\81ৰà§\8dà¦\95মà§\87নিসà§\8dতানৰ সময়"}\r
+            ls{"তà§\81ৰà§\8dà¦\95মà§\87নিসà§\8dতানৰ মান সময়"}\r
         }\r
         "meta:Tuvalu"{\r
-            ls{"à¦\9fà§\81ভালà§\81 সময়"}\r
+            ls{"à¦\9fà§\81ভালাà¦\89ৰ সময়"}\r
         }\r
         "meta:Uruguay"{\r
-            ld{"উৰুগুৱে গ্ৰীষ্ম সময়"}\r
-            lg{"উৰুগুৱে সময়"}\r
-            ls{"উৰুগুৱে মান সময়"}\r
+            ld{"উৰুগুৱেৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"উৰুগুৱে সময়"}\r
+            ls{"উৰুগুৱে মান সময়"}\r
         }\r
         "meta:Uzbekistan"{\r
-            ld{"উজবেকিস্তান গ্রীষ্মের সময়"}\r
-            lg{"উজবেকিস্তান সময়"}\r
-            ls{"উজবেকিস্তান মান সময়"}\r
+            ld{"উজবেকিস্তানৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"উজবেকিস্তান সময়"}\r
+            ls{"উজবেকিস্তান মান সময়"}\r
         }\r
         "meta:Vanuatu"{\r
-            ld{"ভানà§\81য়াতà§\81 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"ভানà§\81য়াতà§\81 সময়"}\r
-            ls{"ভানà§\81য়াতà§\81 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"ভানাà¦\9fà§\81ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ভানাà¦\9fà§\81ৰ সময়"}\r
+            ls{"ভানাà¦\9fà§\81ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Venezuela"{\r
-            ls{"ভà§\87নিà¦\9cà§\81য়à§\87লা সময়"}\r
+            ls{"ভà§\87নিà¦\9cà§\81ৱà§\87লাৰ সময়"}\r
         }\r
         "meta:Vladivostok"{\r
-            ld{"ভà§\8dলাদভà§\8bসà§\8dà¦\9fà¦\95 à¦¸à¦¾à¦®à¦¾à¦° সময়"}\r
-            lg{"ভà§\8dলাদভà§\8bসà§\8dà¦\9fà¦\95 à¦\9fাà¦\87ম"}\r
-            ls{"ভà§\8dলাদভà§\8bসà§\8dà¦\9fà§\8bà¦\95 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড à¦\9fাà¦\87ম"}\r
+            ld{"ভà§\8dলাডিভà§\8bষà§\8dà¦\9fà§\8bà¦\95ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন সময়"}\r
+            lg{"ভà§\8dলাডিভà§\8bষà§\8dà¦\9fà§\8bà¦\95ৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"ভà§\8dলাডিভà§\8bষà§\8dà¦\9fà§\8bà¦\95ৰ à¦®à¦¾à¦¨ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Volgograd"{\r
-            ld{"ভলà¦\97à§\8bà¦\97à§\8dরà§\87ড à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"ভলà¦\97à§\8bà¦\97à§\8dরাদ à¦\9fাà¦\87ম"}\r
-            ls{"ভà§\8bলà¦\97à§\8bà¦\97à§\8dরাদ মান সময়"}\r
+            ld{"ভà§\8bলà§\8dà¦\97à§\8bà¦\97à§\8dৰাডৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"ভà§\8bলà§\8dà¦\97à§\8bà¦\97à§\8dৰাডৰ à¦¸à¦®à¦¯à¦¼"}\r
+            ls{"ভà§\8bলà§\8dà¦\97à§\8bà¦\97à§\8dৰাডৰ মান সময়"}\r
         }\r
         "meta:Vostok"{\r
-            ls{"ভà§\8bসà§\8dà¦\9fà§\8bà¦\95 à¦\9fাà¦\87ম"}\r
+            ls{"ভà§\8bষà§\8dà¦\9fà¦\95ৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Wake"{\r
-            ls{"à¦\93য়াà¦\95 à¦\86à¦\87লà§\8dযানà§\8dড à¦\9fাà¦\87ম"}\r
+            ls{"ৱà§\87à¦\95 à¦¦à§\8dবà§\80পৰ à¦¸à¦®à¦¯à¦¼"}\r
         }\r
         "meta:Wallis"{\r
-            ls{"à¦\93য়ালিস à¦\93 à¦«à§\81à¦\9fà§\81না সময়"}\r
+            ls{"ৱালিà¦\9b à¦\86ৰà§\81 à¦«à§\81à¦\9fà§\81নাৰ সময়"}\r
         }\r
         "meta:Yakutsk"{\r
-            ld{"Yakutsk গ্রীষ্মের সময়"}\r
-            lg{"Yakutsk সময়"}\r
-            ls{"Yakutsk মান সময়"}\r
+            ld{"য়াকুত্স্কৰ গ্ৰীষ্মকালীন সময়"}\r
+            lg{"য়াকুত্স্কৰ সময়"}\r
+            ls{"য়াকুত্স্কৰ মান সময়"}\r
         }\r
         "meta:Yekaterinburg"{\r
-            ld{"à¦\87য়à§\87à¦\95াতà§\87রিনবারà§\8dà¦\97 à¦\97à§\8dরà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
-            lg{"à¦\87য়à§\87à¦\95াতà§\87রিনবারà§\8dà¦\97 সময়"}\r
-            ls{"à¦\87য়à§\87à¦\95াতà§\87রিনবারà§\8dà¦\97 à¦¸à§\8dà¦\9fà§\8dযানà§\8dডারà§\8dড সময়"}\r
+            ld{"য়à§\87à¦\95াà¦\9fà§\87ৰিণবাৰà§\8dà¦\97ৰ à¦\97à§\8dৰà§\80ষà§\8dমà¦\95ালà§\80ন à¦¸à¦®à¦¯à¦¼"}\r
+            lg{"য়à§\87à¦\95াà¦\9fà§\87ৰিণবাৰà§\8dà¦\97ৰ সময়"}\r
+            ls{"য়à§\87à¦\95াà¦\9fà§\87ৰিণবাৰà§\8dà¦\97ৰ à¦®à¦¾à¦¨ সময়"}\r
         }\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
         gmtZeroFormat{"GMT"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
-        regionFormat{"{0}"}\r
-        regionFormatDaylight{"{0} (+1)"}\r
-        regionFormatStandard{"{0} (+0)"}\r
+        regionFormat{"{0} সময়"}\r
+        regionFormatDaylight{"{0} (+1) ডেলাইট সময়"}\r
+        regionFormatStandard{"{0} (+0) মান সময়"}\r
     }\r
 }\r
index e26c2b1..9a6086d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 193fc91..402f763 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index acc70bb..8ce8eb7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abican"}\r
index 36cb9e7..92831f6 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4c0b75a..8e9ad74 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ccf3b15..b7663c2 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fe49e79..85bd7dc 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абіджан"}\r
index 44bc1b9..b2da0e3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c52fa07..49dc3e1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0808774..9476ffb 100644 (file)
@@ -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{"2.1.37.59"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
index 88a359b..95351ea 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c5d9b23..6d163ff 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"আবিদজান"}\r
index 71fdd06..4de994e 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"མ་རྟོགས་པ"}\r
index 62a8672..ba8562f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 0f62a19..a2f3de0 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिद्जान"}\r
index 3e57294..eafac3e 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 4bac6cc..127aab4 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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
index 972dc01..7149b11 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index b753279..1ba691e 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index cb0f662..6e956c8 100644 (file)
@@ -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{"2.1.37.51"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"𑄃𑄝𑄨𑄘𑄴𑄎𑄚𑄴"}\r
index 58f2463..6369a03 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -303,6 +303,9 @@ ce{
         "America:El_Salvador"{\r
             ec{"Сальвадор"}\r
         }\r
+        "America:Fort_Nelson"{\r
+            ec{"Форт Нельсон"}\r
+        }\r
         "America:Fortaleza"{\r
             ec{"Форталеза"}\r
         }\r
@@ -504,6 +507,9 @@ ce{
         "America:Puerto_Rico"{\r
             ec{"Пуэрто-Рико"}\r
         }\r
+        "America:Punta_Arenas"{\r
+            ec{"Пунта-Аренас"}\r
+        }\r
         "America:Rainy_River"{\r
             ec{"Рейни-Ривер"}\r
         }\r
@@ -708,6 +714,9 @@ ce{
         "Asia:Dushanbe"{\r
             ec{"Душанбе"}\r
         }\r
+        "Asia:Famagusta"{\r
+            ec{"Фамагуста"}\r
+        }\r
         "Asia:Gaza"{\r
             ec{"Газа"}\r
         }\r
@@ -1278,7 +1287,7 @@ ce{
             ec{"Уоллис"}\r
         }\r
         "meta:Afghanistan"{\r
-            ls{"ОвхӀан мохк"}\r
+            ls{"ОвхӀан"}\r
         }\r
         "meta:Africa_Central"{\r
             ls{"Юккъера Африка"}\r
@@ -1422,9 +1431,9 @@ ce{
             ls{"Чили, стандартан хан"}\r
         }\r
         "meta:China"{\r
-            ld{"Ð\9aиÑ\82ай, аьхкенан хан"}\r
-            lg{"Ð\9aиÑ\82ай"}\r
-            ls{"Ð\9aиÑ\82ай, стандартан хан"}\r
+            ld{"ЦийÑ\87оÑ\8cнан, аьхкенан хан"}\r
+            lg{"ЦийÑ\87оÑ\8c"}\r
+            ls{"ЦийÑ\87оÑ\8cнан, стандартан хан"}\r
         }\r
         "meta:Choibalsan"{\r
             ld{"Чойбалсан, аьхкенан хан"}\r
@@ -1552,7 +1561,7 @@ ce{
             ls{"Ховд, стандартан хан"}\r
         }\r
         "meta:India"{\r
-            ls{"Ð\98нди"}\r
+            ls{"Ð¥Ó\80инди"}\r
         }\r
         "meta:Indian_Ocean"{\r
             ls{"Индин океан"}\r
@@ -1585,9 +1594,9 @@ ce{
             ls{"Израиль, стандартан хан"}\r
         }\r
         "meta:Japan"{\r
-            ld{"Япони, аьхкенан хан"}\r
-            lg{"Япони"}\r
-            ls{"Япони, стандартан хан"}\r
+            ld{"Япон, аьхкенан хан"}\r
+            lg{"Япон"}\r
+            ls{"Япон, стандартан хан"}\r
         }\r
         "meta:Kazakhstan_Eastern"{\r
             ls{"Малхбален Казахстан"}\r
@@ -1752,6 +1761,9 @@ ce{
         "meta:Ponape"{\r
             ls{"Понапе, гӀ-наш"}\r
         }\r
+        "meta:Pyongyang"{\r
+            ls{"Пхеньян"}\r
+        }\r
         "meta:Reunion"{\r
             ls{"Реюньон"}\r
         }\r
index aee7a43..dc4d15a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fdefcd7..cbff64f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ᎠᏈᏣᏂ"}\r
index 00b3660..e2239e9 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.71"}\r
 }\r
index e556c89..e5ee86f 100644 (file)
@@ -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{"2.1.37.11"}\r
+    Version{"2.1.39.15"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
index ba4d0f9..39d5d86 100644 (file)
@@ -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{"2.1.37.17"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 2f8a87b..eab1c00 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 9a0f850..821e0e6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b9040c1..9af4ab7 100644 (file)
@@ -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{"2.1.37.96"}\r
+    Version{"2.1.39.41"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 310056e..b7a9293 100644 (file)
@@ -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{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     zoneStrings{\r
         "Europe:Saratov"{\r
             ec{"Saratov"}\r
index c18c83d..168865c 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4b20a41..2d849b7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
index 8401a2e..da85750 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd81d2d..b4779e6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7e1d9fb..0c325c5 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"ཀཱའི་རོ"}\r
index c7b78cf..1a71c61 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ddbf9fe..bf58133 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index a4de7e5..80c18bf 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Αμπιτζάν"}\r
index 2bff499..e27822d 100644 (file)
@@ -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{"2.1.37.44"}\r
+    Version{"2.1.39.27"}\r
     zoneStrings{\r
         "Africa:Sao_Tome"{\r
             ec{"São Tomé"}\r
@@ -597,7 +597,7 @@ en{
             ls{"Qyzylorda Standard Time"}\r
         }\r
         "meta:Reunion"{\r
-            ls{"Reunion Time"}\r
+            ls{"Réunion Time"}\r
         }\r
         "meta:Rothera"{\r
             ls{"Rothera Time"}\r
index 1863aa0..b1b8cde 100644 (file)
@@ -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{"2.1.35.71"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index b602e66..0d21bac 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Europe_Central"{\r
             sd{"CEST"}\r
index 8a0d454..77b05c3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 07cb4ef..beab069 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d4310ea..e7db69b 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 015064b..b1bf79f 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "America:St_Barthelemy"{\r
             ec{"St Barthélemy"}\r
index 84a0efd..9ed875f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e58d31c..79bbbec 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_001"}\r
-    Version{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a3b9186..1221395 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 95e82b5..2302f22 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e98f0cb..f9732f4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 5891076..7a35027 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b3f503b..8d7f40e 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Asia:Rangoon"{\r
             ec{"Rangoon"}\r
index a54c911..be9edae 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d0f0a97..7f88422 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f59d92a..412c586 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index a628c49..b14438f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 8c9c483..671fbc2 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 46da087..287dd1c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 72ed165..60e8574 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3d758dd..b875050 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e767286..a597d81 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b548583..0895e8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index aa8b9e9..aa3a309 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index d35b004..5440566 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 86f8e9d..1262667 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5df30b2..dcebb46 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index eab91ca..4d8ccd9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 1678a4b..fc277f3 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "America:St_Barthelemy"{\r
             ec{"St Barthélemy"}\r
index 7921b24..f97da06 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c0d3839..446b666 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fb03736..29841b6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 5fe0d68..0011868 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bcaeadc..5f316c5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 574fedf..5944b26 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Chamorro"{\r
             ss{"ChST"}\r
index a01c61b..d41399a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Guyana"{\r
             ss{"GYT"}\r
index 5b3714c..3843077 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Hong_Kong"{\r
             sd{"HKST"}\r
index 3e25871..e235a2a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Europe:Dublin"{\r
             sd{"IST"}\r
index 76bee45..f1deccb 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index e66ecc0..334249a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9bc72d3..0958316 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{"2.1.37.11"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Asia:Rangoon"{\r
             ec{"Rangoon"}\r
index 2b8ba3f..30f0e6c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c47ce4e..58a67ff 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d812c18..47beda6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8579729..530c671 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 899b1ea..e32ac54 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 35fb03c..5071564 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bd356e9..f41f763 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bfd0689..266321d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 149dc39..4ca589c 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index dd70b56..5b8439a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 3593a19..94d5e48 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index ebe9a97..f66c8d6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index 749aec3..1e96d62 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Hong_Kong"{\r
             sd{"HKST"}\r
index 594608a..c76fd60 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index a027fc6..6f2ffa6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8464a2e..6c3347d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c46dd12..f11dbe5 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index e77bf35..5af77d8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index deec5d6..1ac0775 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Malaysia"{\r
             ss{"MYT"}\r
index 4e37ee5..60d0511 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 358d626..f6a4801 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2173006..a701b08 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 9d0d0cd..aa5abc8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 165856c..6f449af 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 266914a..3ed1d47 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12f4bef..b3b16ea 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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "meta:Australia_Central"{\r
             sd{"ACDT"}\r
index 6aa4d92..b38e2e4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 080d0e6..95260de 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fef2013..b579c0d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4094568..c2a368a 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 30541dc..ce9d554 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d9d9e08..1d10bc4 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index e2de69a..b43b4f6 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 77c65fa..f714f79 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c426222..a0f76f9 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 264d713..385979d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index c9f58e6..9317cbd 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Malaysia"{\r
             ss{"MYT"}\r
index cf6ab49..b7760f3 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 59ccb39..3dd1ef3 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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5da90d9..6e34717 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 27a68d4..7523eca 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index ec1778f..e557d34 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bee5b81..816b96f 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 852eb0f..c75d879 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 020c31b..57b8d9b 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index d27b6ec..e1d7464 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 21b8b30..4901b27 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 4ebd07d..2138644 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 103e428..a7f85c0 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 3c7a636..5fe918d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 12317cf..b20e591 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index ba6619b..60a9955 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 12b8824..8eba2ed 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8c90fd7..5ce4a40 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 5456dda..1fde72d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 258fe85..55440c8 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 52310df..2c0834d 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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 01d90fd..2b44c0e 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index bb267dc..39ec765 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abiyán"}\r
@@ -535,7 +535,7 @@ es{
             ec{"Santarém"}\r
         }\r
         "America:Santiago"{\r
-            ec{"Santiago"}\r
+            ec{"Santiago de Chile"}\r
         }\r
         "America:Santo_Domingo"{\r
             ec{"Santo Domingo"}\r
index bd0418d..fb4fe22 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Accra"}\r
index c626fa9..ef78a93 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{"2.1.37.22"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Argentina"{\r
             sd{"ARST"}\r
index c6a82c5..47be5a5 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Bolivia"{\r
             ss{"BOT"}\r
index e68498b..fb21200 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index aa10911..fa5a9f6 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{"2.1.32.37"}\r
+    Version{"2.1.38.39"}\r
 }\r
index e7de3b2..c03685f 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Chile"{\r
             sd{"CLST"}\r
index c8edb73..6cb3849 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Colombia"{\r
             sd{"COST"}\r
index 82ff37a..313353c 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 66f010e..b2e6637 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3dda130..4381d5e 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 9a4ab73..458610c 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Ecuador"{\r
             ss{"ECT"}\r
index 1bbc305..1d816ac 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 7f59d73..c512fad 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 1a47aac..b247e1c 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{"2.1.37.32"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Acra"}\r
index 0dfa0d0..a0abad9 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index f69e0b9..4a2ce80 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 3c275fa..5704228 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Peru"{\r
             sd{"PEST"}\r
index b93177f..58bbb75 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index a2ebd39..b2ab967 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 04cc715..2b73abf 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
 }\r
index c0196e7..1830ba0 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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Acra"}\r
index 44a7c08..f581281 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Uruguay"{\r
             sd{"UYST"}\r
index 423b500..5dc26f5 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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Venezuela"{\r
             ss{"VET"}\r
index e0f162d..40d137f 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 68c5bde..2f81521 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 759c5fd..c692442 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index eec1c9a..cc43236 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"آبیجان"}\r
index c22ec4b..e443f9b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8e3a40c..0a85430 100644 (file)
@@ -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{"2.1.37.67"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index d7b20f0..3eaef0a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index a3168a6..2848679 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -148,7 +148,7 @@ fo{
             ec{"Porto-Novo"}\r
         }\r
         "Africa:Sao_Tome"{\r
-            ec{"Sao Tome"}\r
+            ec{"São Tomé"}\r
         }\r
         "Africa:Tripoli"{\r
             ec{"Tripoli"}\r
@@ -1110,7 +1110,7 @@ fo{
             ec{"Ulyanovsk"}\r
         }\r
         "Europe:Uzhgorod"{\r
-            ec{"Uzhgorod"}\r
+            ec{"Uzhhorod"}\r
         }\r
         "Europe:Vaduz"{\r
             ec{"Vaduz"}\r
index 882d8c1..ce299e1 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index b34ebdc..b3980fb 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Africa:Ndjamena"{\r
             ec{"Ndjamena"}\r
index fc6a181..5d4f0d3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:French_Guiana"{\r
             ss{"GFT"}\r
index e157add..563b240 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "America:New_York"{\r
             ec{"Gnove York"}\r
index 88b984c..e85f587 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Addis Abeba"}\r
index 4a4dae2..49b08f3 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 6e9ba80..43221b6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 0ab42e7..793e5a7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 700e699..ad0db5b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
index 6fd84a1..8823d7d 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"આબિદ્જાન"}\r
index 724ae2e..18b6f91 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index aa8d6e1..263322a 100644 (file)
@@ -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{"2.1.34.91"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 49cc819..d7a0572 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 95e9e59..5d8bf73 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"HDT"}\r
index e6ffaa4..f09b54d 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"אביג׳אן"}\r
@@ -1547,6 +1547,9 @@ he{
             lg{"שעון מערב גרינלנד"}\r
             ls{"שעון מערב גרינלנד (חורף)"}\r
         }\r
+        "meta:Guam"{\r
+            ls{"שעון גואם"}\r
+        }\r
         "meta:Gulf"{\r
             ls{"שעון מדינות המפרץ"}\r
         }\r
@@ -1729,6 +1732,9 @@ he{
             lg{"שעון פרננדו די נורוניה"}\r
             ls{"שעון פרננדו די נורוניה (חורף)"}\r
         }\r
+        "meta:North_Mariana"{\r
+            ls{"שעון איי מריאנה הצפוניים"}\r
+        }\r
         "meta:Novosibirsk"{\r
             ld{"שעון נובוסיבירסק (קיץ)"}\r
             lg{"שעון נובוסיבירסק"}\r
index 6295649..73085c4 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिदजान"}\r
index 6da65b1..3e83539 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 869dafc..9edf6b0 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
index 5f8aaa1..91abbb2 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 280f762..0209aa5 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Աբիջան"}\r
index d20d7c5..2265be6 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 7f5c97e..4ac2604 100644 (file)
@@ -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{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 6f1919b..548aa77 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"ꅉꀋꐚꌠ"}\r
index 0927586..eab87fc 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index de3a0a3..2335c53 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.40"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 7c63d48..a042046 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"アビジャン"}\r
index 86013a4..cb8f5a6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index a76db1c..14013c8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8557914..f3f1b08 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"აბიჯანი"}\r
index 5373780..b4697cd 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 82cc5ce..5288d3c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 613d9a9..1799635 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8e55298..0831341 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "America:Blanc-Sablon"{\r
             ec{"Blank-Sablon"}\r
index e55ca9d..468de03 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 25baae9..5d4b6f4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1b59b9d..b355958 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
index 944f5b0..ca2848d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 046dfd6..b3cc35b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b73e7da..274b596 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 81487da..8e67bc6 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"អាប៊ីដ្យាន"}\r
@@ -1076,6 +1076,9 @@ km{
         "Europe:Sarajevo"{\r
             ec{"សារ៉ាយ៉េវ៉ូ"}\r
         }\r
+        "Europe:Saratov"{\r
+            ec{"សារ៉ាតាវ"}\r
+        }\r
         "Europe:Simferopol"{\r
             ec{"ស៊ីមហ្វើរ៉ុប៉ូល"}\r
         }\r
index dd3fad4..e2d232b 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ಅಬಿದ್‌ಜನ್"}\r
index 067faa6..74fd217 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"아비장"}\r
index ff72307..2660e53 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Korea"{\r
             ld{"조선 하계 표준시"}\r
index 6a02a62..eaa0fdb 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
             ls{"समन्वित वैश्विक वेळ"}\r
index 9bd6625..9e2d601 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"عابِدجان"}\r
index 6395664..373ccf8 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ebd1d94..da65abe 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 908714d..fe6b1a5 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"Kaijro"}\r
index 30cb7bd..dd763ab 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fb70d26..89dea0d 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
index f674d0f..867ed94 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 429dab4..b481328 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Accra"}\r
index a910336..613c190 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 24b30eb..47e8b25 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 3a0db14..75809a4 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         regionFormat{"Ngonga ya {0}"}\r
index 4b8d1e1..b92b14b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ອາບິດແຈນ"}\r
index 3549fee..62e4417 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"نادیار"}\r
index 816fd48..46ebd88 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžanas"}\r
index 459ebe5..6d68b67 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 6a4f5e4..ed2c8c4 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ff3cfe6..577a73d 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index fb251a6..b386d96 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžana"}\r
index 54e59a7..7a65d24 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 30afe7b..e97881c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c8441c4..c56a9e7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index f8cf02c..cb14071 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 946ffe5..5c5e119 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index fa8edc1..122b5ff 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index 6b7ee27..dbb5c15 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
index 295547b..e47e39f 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"അബിദ്‌ജാൻ‌"}\r
index c641046..e646bbb 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абижан"}\r
@@ -1756,7 +1756,7 @@ mn{
         "meta:Pierre_Miquelon"{\r
             ld{"Сен-Пьер ба Микелоны зуны цаг"}\r
             lg{"Сен-Пьер ба Микелоны цаг"}\r
-            ls{"Сен-Пьер ба Микелоны стандарт цаг"}\r
+            ls{"Сент-Пьер ба Микелоны стандарт цаг"}\r
         }\r
         "meta:Pitcairn"{\r
             ls{"Питкернийн цаг"}\r
index bb62511..9603e65 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिद्जान"}\r
index 53db957..44ac976 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 12ac0af..61744e8 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 86f3b1d..331821d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 49a001c..7cc588b 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"အာဘီဂျန်"}\r
index c7c1838..28b1aa9 100644 (file)
@@ -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{"2.1.31.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index e1cc798..52489e6 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 95641bb..a9a3f07 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 6c83d4b..f5db067 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c94fe0f..a92ba8d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index f4a33b5..a43be2e 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अविड्जान"}\r
index fe2fd85..d3a859c 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"IST"}\r
index 2ae35bd..1af96c9 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 1ff62c7..cffbf48 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Suriname"{\r
             ss{"SRT"}\r
index f71fe3e..9eec7b7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 1d17381..c8483f0 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 85ed40f..1f71077 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 7231670..b692416 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 50995ba..3223ff1 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index b517be3..98a6fa6 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         gmtFormat{"GMT{0}"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
index ca78e33..0cc4546 100644 (file)
@@ -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{"2.1.37.57"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ଆବିଦଜାନ"}\r
@@ -37,7 +37,7 @@ or{
             ec{"ବ୍ରାଜାଭିଲ୍ଲେ"}\r
         }\r
         "Africa:Bujumbura"{\r
-            ec{"ବାà¬\9cà­\81ମବୁରା"}\r
+            ec{"ବà­\81à¬\9cà­\81ମà­\8dବୁରା"}\r
         }\r
         "Africa:Cairo"{\r
             ec{"କାଇରୋ"}\r
@@ -163,10 +163,10 @@ or{
             ec{"ଆଡାକ୍"}\r
         }\r
         "America:Anchorage"{\r
-            ec{"à¬\86ନà¬\9aà­\8bରାà¬\97à­\87"}\r
+            ec{"à¬\86à¬\99à­\8dà¬\95ରà­\87à¬\9cà­\8d"}\r
         }\r
         "America:Anguilla"{\r
-            ec{"à¬\86ନଗୁଇଲା"}\r
+            ec{"à¬\86à¬\99à­\8dଗୁଇଲା"}\r
         }\r
         "America:Antigua"{\r
             ec{"ଆଣ୍ଟିଗୁଆ"}\r
@@ -208,7 +208,7 @@ or{
             ec{"ବାହିଆ ବ୍ୟାଣ୍ଡେରାସ୍"}\r
         }\r
         "America:Barbados"{\r
-            ec{"ବାରବାଡୋସ୍"}\r
+            ec{"ବାରà­\8dବାଡà­\8bସà­\8d"}\r
         }\r
         "America:Belem"{\r
             ec{"ବେଲେମ"}\r
@@ -304,7 +304,7 @@ or{
             ec{"ଏଲ୍ ସାଲଭାଡୋର୍"}\r
         }\r
         "America:Fort_Nelson"{\r
-            ec{"ଫà­\8bରà­\8dà¬\9fà­\8d à¬¨à­\87ଲସà­\8bନà­\8d"}\r
+            ec{"ଫୋର୍ଟ୍ ନେଲସନ୍"}\r
         }\r
         "America:Fortaleza"{\r
             ec{"ଫୋର୍ଟେଲେଜା"}\r
@@ -316,10 +316,10 @@ or{
             ec{"ନୁଉକ୍"}\r
         }\r
         "America:Goose_Bay"{\r
-            ec{"à¬\97à­\8bସà­\87 ବେ"}\r
+            ec{"à¬\97à­\81ସà­\8d ବେ"}\r
         }\r
         "America:Grand_Turk"{\r
-            ec{"à¬\97à­\8dରାଣà­\8dଡà­\8d à¬\9fà­\81ରà­\8dà¬\95à­\8d"}\r
+            ec{"ଗ୍ରାଣ୍ଡ୍ ଟର୍କ୍"}\r
         }\r
         "America:Grenada"{\r
             ec{"ଗ୍ରେନାଡା"}\r
@@ -478,7 +478,7 @@ or{
             ec{"କେନ୍ଦ୍ର, ଉତ୍ତର ଡାକୋଟା"}\r
         }\r
         "America:North_Dakota:New_Salem"{\r
-            ec{"ନà­\8dà­\9fà­\81 à¬¸à¬²à¬¿ମ୍, ଉତ୍ତର ଡାକୋଟା"}\r
+            ec{"ନà­\8dà­\9fà­\81 à¬¸à¬¾à¬²à­\87ମ୍, ଉତ୍ତର ଡାକୋଟା"}\r
         }\r
         "America:Ojinaga"{\r
             ec{"ଓଜିନାଗା"}\r
@@ -487,7 +487,7 @@ or{
             ec{"ପାନାମା"}\r
         }\r
         "America:Pangnirtung"{\r
-            ec{"ପାନà¬\97ନିରଟୁଙ୍ଗ"}\r
+            ec{"ପାà¬\99à­\8dà¬\97ନିରà­\8dଟୁଙ୍ଗ"}\r
         }\r
         "America:Paramaribo"{\r
             ec{"ପାରାମାରିବୋ"}\r
@@ -535,7 +535,7 @@ or{
             ec{"ସାଣ୍ଟିଆଗୋ"}\r
         }\r
         "America:Santo_Domingo"{\r
-            ec{"ସାନà­\8dà¬\9fà­\8b à¬¡à­\8bମିନଗୋ"}\r
+            ec{"ସାଣà­\8dà¬\9fà­\8b à¬¡à­\8bମିà¬\99à­\8dଗୋ"}\r
         }\r
         "America:Sao_Paulo"{\r
             ec{"ସାଓ ପାଓଲୋ"}\r
@@ -553,7 +553,7 @@ or{
             ec{"ସେଣ୍ଟ୍. ଜନସ୍"}\r
         }\r
         "America:St_Kitts"{\r
-            ec{"ସà­\87ଣà­\8dà¬\9fà­\8d à¬\95ିà¬\9fà­\8dà¬\9fିସà­\8d"}\r
+            ec{"ସେଣ୍ଟ୍ କିଟ୍ସ୍"}\r
         }\r
         "America:St_Lucia"{\r
             ec{"ସେଣ୍ଟ୍. ଲୁସିଆ"}\r
@@ -574,7 +574,7 @@ or{
             ec{"ଥୁଲେ"}\r
         }\r
         "America:Thunder_Bay"{\r
-            ec{"ଥà­\81ଣà­\8dଡà­\87ର୍ ବେ"}\r
+            ec{"ଥଣà­\8dଡର୍ ବେ"}\r
         }\r
         "America:Tijuana"{\r
             ec{"ତିଜୁଆନା"}\r
@@ -586,7 +586,7 @@ or{
             ec{"ଟୋରଟୋଲା"}\r
         }\r
         "America:Vancouver"{\r
-            ec{"ଭାଲà¬\95à­\8cଭà­\87ର୍"}\r
+            ec{"ଭାà¬\99à­\8dà¬\95à­\81ଭର୍"}\r
         }\r
         "America:Whitehorse"{\r
             ec{"ହ୍ଵାଇଟହର୍ସ୍"}\r
@@ -703,7 +703,7 @@ or{
             ec{"ଢାକା"}\r
         }\r
         "Asia:Dili"{\r
-            ec{"ଦିଲି"}\r
+            ec{"ଦିଲà­\8dଲà­\80"}\r
         }\r
         "Asia:Dubai"{\r
             ec{"ଦୁବାଇ"}\r
@@ -859,7 +859,7 @@ or{
             ec{"ଟୋମସ୍କ"}\r
         }\r
         "Asia:Ulaanbaatar"{\r
-            ec{"à¬\89ଲାନବାà¬\9fର"}\r
+            ec{"à¬\89ଲାନà­\8dâ\80\8cବାà¬\9fରà­\8dâ\80\8c"}\r
         }\r
         "Asia:Urumqi"{\r
             ec{"ଉରୁମକି"}\r
@@ -886,7 +886,7 @@ or{
             ec{"ଆଜୋରେସ୍"}\r
         }\r
         "Atlantic:Bermuda"{\r
-            ec{"ବà­\87ରମୁଡା"}\r
+            ec{"ବରà­\8dମୁଡା"}\r
         }\r
         "Atlantic:Canary"{\r
             ec{"କାନାରେ"}\r
@@ -976,7 +976,7 @@ or{
             ec{"ବ୍ରାଟିସଲାଭା"}\r
         }\r
         "Europe:Brussels"{\r
-            ec{"ବà­\8dରà­\81ସସà­\87ଲସ୍"}\r
+            ec{"ବà­\8dରସଲà­\8dସ୍"}\r
         }\r
         "Europe:Bucharest"{\r
             ec{"ବୁଚାରେଷ୍ଟ୍"}\r
@@ -1032,7 +1032,7 @@ or{
         }\r
         "Europe:London"{\r
             ec{"ଲଣ୍ଡନ୍"}\r
-            ld{"ବà­\8dରିà¬\9fିଶà­\8dâ\80\8c à¬®à¬¾à¬¨à¬¾à¬\99à­\8dà¬\95 ସମୟ"}\r
+            ld{"ବà­\8dରିà¬\9fିଶà­\8dâ\80\8c à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳà­\80ନ ସମୟ"}\r
         }\r
         "Europe:Luxembourg"{\r
             ec{"ଲକ୍ସମବର୍ଗ"}\r
@@ -1065,7 +1065,7 @@ or{
             ec{"ପୋଡଗୋରିକା"}\r
         }\r
         "Europe:Prague"{\r
-            ec{"ପà­\8dରାà¬\97à­\81à¬\8f"}\r
+            ec{"ପà­\8dରାà¬\97à­\8d"}\r
         }\r
         "Europe:Riga"{\r
             ec{"ରିଗା"}\r
@@ -1128,7 +1128,7 @@ or{
             ec{"ୱାରସୱା"}\r
         }\r
         "Europe:Zagreb"{\r
-            ec{"à¬\9cାà¬\97à­\8dରିବ୍"}\r
+            ec{"à¬\9cାà¬\97à­\8dରà­\87ବ୍"}\r
         }\r
         "Europe:Zaporozhye"{\r
             ec{"ଜାପୋରୋଜହୟେ"}\r
@@ -1149,7 +1149,7 @@ or{
             ec{"କୋକୋସ୍‌"}\r
         }\r
         "Indian:Comoro"{\r
-            ec{"à¬\95ରà­\8dଣà­\8dଣୋରୋ"}\r
+            ec{"à¬\95à­\8bମୋରୋ"}\r
         }\r
         "Indian:Kerguelen"{\r
             ec{"କେରୁଗେଲେନ"}\r
@@ -1214,6 +1214,9 @@ or{
         "Pacific:Honolulu"{\r
             ec{"ହୋନୋଲୁଲୁ"}\r
         }\r
+        "Pacific:Johnston"{\r
+            ec{"ଜନଷ୍ଟନ୍"}\r
+        }\r
         "Pacific:Kiritimati"{\r
             ec{"କିରିତିମାଟି"}\r
         }\r
@@ -1306,9 +1309,9 @@ or{
             ls{"ଆଲାସ୍କା ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Amazon"{\r
-            ld{"à¬\86ମାà¬\9cାନ à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳ ସମୟ"}\r
-            lg{"à¬\86ମାà¬\9cାନ ସମୟ"}\r
-            ls{"à¬\86ମାà¬\9cାନ ମାନାଙ୍କ ସମୟ"}\r
+            ld{"à¬\86ମାà¬\9cନà­\8d à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳà­\80ନ ସମୟ"}\r
+            lg{"à¬\86ମାà¬\9cନà­\8d ସମୟ"}\r
+            ls{"à¬\86ମାà¬\9cନà­\8d ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:America_Central"{\r
             ld{"କେନ୍ଦ୍ରୀୟ ଦିବାଲୋକ ସମୟ"}\r
@@ -1351,7 +1354,7 @@ or{
             ls{"ପଶ୍ଚିମ ଆର୍ଜେଣ୍ଟିନା ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Armenia"{\r
-            ld{"à¬\86ରà­\8dମà­\87ନିà¬\86 à¬\96ରାଦିନ ସମୟ"}\r
+            ld{"à¬\86ରà­\8dମà­\87ନିà¬\86 à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳ ସମୟ"}\r
             lg{"ଆର୍ମେନିଆ ସମୟ"}\r
             ls{"ଆର୍ମେନିଆ ମାନାଙ୍କ ସମୟ"}\r
         }\r
@@ -1449,7 +1452,7 @@ or{
             ls{"କଲମ୍ବିଆ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Cook"{\r
-            ld{"à¬\95à­\81à¬\95à­\8dâ\80\8c à¬¦à­\8dà­±à­\80ପପà­\81à¬\9eà­\8dà¬\9c à¬\85ଧା à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳ ସମୟ"}\r
+            ld{"à¬\95à­\81à¬\95à­\8dâ\80\8c à¬¦à­\8dà­±à­\80ପପà­\81à¬\9eà­\8dà¬\9c à¬\85ରà­\8dଦà­\8dଧ à¬\97à­\80ଷà­\8dମà¬\95ାଳà­\80ନ ସମୟ"}\r
             lg{"କୁକ୍‌ ଦ୍ୱୀପପୁଞ୍ଜ ସମୟ"}\r
             ls{"କୁକ୍‌ ଦ୍ୱୀପପୁଞ୍ଜ ମାନାଙ୍କ ସମୟ"}\r
         }\r
@@ -1582,7 +1585,7 @@ or{
             ls{"ଇରାନ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Irkutsk"{\r
-            ld{"à¬\87à¬\85ରà¬\95à­\81à¬\9fସà­\8dà¬\95 à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳ ସମୟ"}\r
+            ld{"à¬\87ରà­\8dà¬\95à­\81à¬\9fସà­\8dà¬\95à­\8d à¬\97à­\8dରà­\80ଷà­\8dମà¬\95ାଳà­\80ନ ସମୟ"}\r
             lg{"ଇଅରକୁଟସ୍କ ସମୟ"}\r
             ls{"ଇଅରକୁଟସ୍କ ମାନାଙ୍କ ସମୟ"}\r
         }\r
@@ -1597,7 +1600,7 @@ or{
             ls{"ଜାପାନ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Kazakhstan_Eastern"{\r
-            ls{"à¬\95ାà¬\9cାà¬\95ସà­\8dତାନ ସମୟ"}\r
+            ls{"ପà­\82ରà­\8dବ à¬\95ାà¬\9cାà¬\95ସà­\8dତାନà­\8d ସମୟ"}\r
         }\r
         "meta:Kazakhstan_Western"{\r
             ls{"ପଶ୍ଚିମ କାଜାକସ୍ତାନ ସମୟ"}\r
@@ -1660,14 +1663,14 @@ or{
             ls{"ଉତ୍ତରପଶ୍ଚିମ ମେକ୍ସିକୋ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Mexico_Pacific"{\r
-            ld{"ମà­\87à¬\95à­\8dସିà¬\95à­\8b ପାସିଫିକ୍ ଦିବାଲୋକ ସମୟ"}\r
-            lg{"ମà­\87à¬\95à­\8dସିà¬\95à­\8b ପାସିଫିକ୍ ସମୟ"}\r
-            ls{"ମà­\87à¬\95à­\8dସିà¬\95à­\8b ପାସିଫିକ୍ ମାନାଙ୍କ ସମୟ"}\r
+            ld{"ମà­\87à¬\95à­\8dସିà¬\95ାନà­\8d ପାସିଫିକ୍ ଦିବାଲୋକ ସମୟ"}\r
+            lg{"ମà­\87à¬\95à­\8dସିà¬\95ାନà­\8d ପାସିଫିକ୍ ସମୟ"}\r
+            ls{"ମà­\87à¬\95à­\8dସିà¬\95ାନà­\8d ପାସିଫିକ୍ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Mongolia"{\r
             ld{"ଉଲାନ୍‌ ବାଟର୍‌ ଗ୍ରୀଷ୍ମକାଳ ସମୟ"}\r
-            lg{"ଉଲାନ୍ ବାଟର୍‌ ସମୟ"}\r
-            ls{"ଉଲାନ୍‌ ବାଟର୍‌ ମାନାଙ୍କ ସମୟ"}\r
+            lg{"ଉଲାନ୍ବାଟର୍‌ ସମୟ"}\r
+            ls{"ଉଲାନ୍‌ବାଟର୍‌ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Moscow"{\r
             ld{"ମସ୍କୋ ଗ୍ରୀଷ୍ମକାଳ ସମୟ"}\r
index 32ea744..a11a252 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Asia:Tbilisi"{\r
             ec{"Тбилис"}\r
index be769f4..cefeb8a 100644 (file)
@@ -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{"2.1.37.22"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ਅਬੀਦਜਾਨ"}\r
index 10b9c6f..335b281 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index dc1602d..f5d6fdd 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index d02cb3b..5a9848f 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.15"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidżan"}\r
index 57068ee..dcbba3f 100644 (file)
Binary files a/source/data/zone/pool.res and b/source/data/zone/pool.res differ
index aee894c..ad1c716 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ابيجان"}\r
@@ -873,6 +873,9 @@ ps{
         "Australia:Hobart"{\r
             ec{"هوبارټ"}\r
         }\r
+        "Australia:Lindeman"{\r
+            ec{"لینډامین"}\r
+        }\r
         "Australia:Lord_Howe"{\r
             ec{"رب هیله"}\r
         }\r
@@ -1127,6 +1130,9 @@ ps{
         "Pacific:Honolulu"{\r
             ec{"هینولولو"}\r
         }\r
+        "Pacific:Johnston"{\r
+            ec{"جانستون"}\r
+        }\r
         "Pacific:Kosrae"{\r
             ec{"کوسیرا"}\r
         }\r
@@ -1640,6 +1646,9 @@ ps{
             lg{"سینټ پییرا و ميکلين وخت"}\r
             ls{"سینټ پییرا و ميکلين معیاری وخت"}\r
         }\r
+        "meta:Pitcairn"{\r
+            ls{"پیټ کارین وخت"}\r
+        }\r
         "meta:Ponape"{\r
             ls{"پونپپ وخت"}\r
         }\r
@@ -1668,6 +1677,9 @@ ps{
         "meta:Singapore"{\r
             ls{"د سنګاپور معیاري وخت"}\r
         }\r
+        "meta:Solomon"{\r
+            ls{"د سلیمان ټاپوګانو وخت"}\r
+        }\r
         "meta:South_Georgia"{\r
             ls{"د سویل جورجیا وخت"}\r
         }\r
index 6967354..866d51e 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 9004ed0..db01c25 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 4ee7339..f8c82cc 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 734cd01..ba01884 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{"2.1.35.71"}\r
+    Version{"2.1.39.12"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 0f6e235..9ec6f23 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 4253c34..8cf36ac 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index b5a1669..0c74f8c 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index beeebba..3aff6d8 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index aa83921..f8f079a 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 4199af7..055f900 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Adis-Abeba"}\r
index 9810313..a8eec16 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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index fe5abba..772c127 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 2264e42..b8a25be 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index f1af54e..0bfeb49 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Bolivia"{\r
             ss{"BOT"}\r
index 7b8c789..4d9e49f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Ecuador"{\r
             ss{"ECT"}\r
index 386f822..fc3d534 100644 (file)
@@ -1,6 +1,6 @@
 # © 2016 and later: Unicode, Inc. and others.\r
 # License & terms of use: http://www.unicode.org/copyright.html#License\r
-ZONE_CLDR_VERSION = 32.0.1\r
+ZONE_CLDR_VERSION = 33\r
 # A list of txt's to build\r
 # Note:\r
 #\r
index 499f20e..26c082a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Addis Abeba"}\r
index 984e00a..0392300 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 461599a..625638b 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index f7499f7..317fd08 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 7b0afd1..01cb8a3 100644 (file)
@@ -4,7 +4,7 @@
  * ICU <specials> source: <path>/common/main/root.xml\r
  */\r
 root{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.27"}\r
     zoneStrings{\r
         "Africa:Asmera"{\r
             ec{"Asmara"}\r
index 3ae4f27..52bdd76 100644 (file)
@@ -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{"2.1.37.58"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
index 68b4c5d..d14c083 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     zoneStrings{\r
         gmtFormat{"GMT{0}"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
index 8c996fc..aedac7f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8870064..c24373a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Asia:Almaty"{\r
             ec{"Алматы"}\r
index ab5a439..d1d966a 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 50263b2..ef6dd50 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 4824a2c..95448ea 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "America:Curacao"{\r
             ec{"Curaçao"}\r
index 1846d8f..051bdeb 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.73"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"Kairo"}\r
index 6f2dbe6..d7f4546 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c5c911a..7affa4f 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 68840d0..94ee507 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8ed3cbd..2b4c06d 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index a1ec743..4da3319 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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 2db194b..56b6fd3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 8b687ea..2297f3f 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"අබිජාන්"}\r
index 10a4e48..dc3e725 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index e7423b2..e17b73a 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
index 4275195..a41cf2b 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 2a25732..7724fa7 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 286fa90..f16e7e4 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "meta:Colombia"{\r
             ld{"Waqtiyada Xagaaga Kolambiya"}\r
index de8a430..3b08277 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abixhan"}\r
@@ -1780,7 +1780,7 @@ sq{
             ls{"Ora e Palaut"}\r
         }\r
         "meta:Papua_New_Guinea"{\r
-            ls{"Ora e Papua-Guinesë së Re"}\r
+            ls{"Ora e Guinesë së Re-Papua"}\r
         }\r
         "meta:Paraguay"{\r
             ld{"Ora Verore e Paraguait"}\r
index 60083b0..c99b8ae 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
index 2e18268..0eae0a3 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 767a8be..4a9c09a 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{"2.1.37.8"}\r
+    Version{"2.1.39.37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
index 9f6836d..6fb34f7 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 1d00bb6..1312c54 100644 (file)
@@ -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{"2.1.37.34"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 1b1371d..0e9db93 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"அபிட்ஜான்"}\r
index 8a5007e..9401012 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"∅∅∅"}\r
index b72586f..9d7839e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"∅∅∅"}\r
index 4045b67..fc02d8c 100644 (file)
@@ -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{"2.1.36.86"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"అబిడ్జాన్"}\r
index 0c75fc8..9f2e536 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index c71eff9..7618f38 100644 (file)
@@ -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{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     zoneStrings{\r
         "Asia:Dushanbe"{\r
             ec{"Душанбе"}\r
index e2b6f38..a1ea19e 100644 (file)
@@ -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{"2.1.37.56"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"อาบีจาน"}\r
index 501e0f4..83608aa 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 399ea0a..ecd6b28 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 22254fa..5aeccf4 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 0c971f5..93ad80c 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.38.72"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
             ls{"Бөтендөнья килештерелгән вакыты"}\r
index d3d2547..fb36460 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 553d2fc..a349069 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 193461c..e51d34a 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Sao_Tome"{\r
             ec{"سان-تومې"}\r
index 3187733..6d655e3 100644 (file)
@@ -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{"2.1.37.12"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абіджан"}\r
index aa80515..3e7b0f4 100644 (file)
@@ -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{"2.1.37.69"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"عابدجان"}\r
index e82e3e7..32e10d5 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"اکرا"}\r
index 4480b84..0cca2a0 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 8a68c6c..3ff4a03 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{"2.1.36.86"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Asia:Kabul"{\r
             ec{"کابل"}\r
index 4dfe21c..0343d6d 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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Africa:Asmera"{\r
             ec{"Asmara"}\r
index fdd810c..f46e181 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index ba509c3..c3ada87 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 37fb754..52c939e 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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index e66f0f3..e4aeaaa 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 9036516..d79f1f8 100644 (file)
@@ -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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 3658070..617ecfc 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index ea6684d..b952ca5 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akra"}\r
index 805c5a7..1c0c861 100644 (file)
@@ -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{"2.1.37.4"}\r
+    Version{"2.1.38.71"}\r
     zoneStrings{\r
         "Africa:Dakar"{\r
             ec{"Dakar"}\r
index 96cd8df..5b3894e 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 8520543..d80b037 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
 }\r
index b4a4faf..e379e8e 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.38.69"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"אַבידזשאַן"}\r
index 30c8428..eb0f317 100644 (file)
@@ -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{\r
-    Version{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index 0a2f42d..d525451 100644 (file)
@@ -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{"2.1.37.33"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比讓"}\r
index 88fe369..b5c8883 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{"2.1.37.8"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比让"}\r
index 0c38547..c407649 100644 (file)
@@ -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{"2.1.36.80"}\r
+    Version{"2.1.38.69"}\r
 }\r
index 0fd8cdd..1affd80 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
 }\r
index d5a56b7..3021a3f 100644 (file)
@@ -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{"2.1.37.42"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比让"}\r
index 1e311fc..a81684f 100644 (file)
@@ -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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 90914b5..0c8e5e6 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.38.39"}\r
     zoneStrings{\r
         "America:Scoresbysund"{\r
             ec{"斯考斯伯松德"}\r
index eab09ab..0694728 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{"2.1.37.5"}\r
+    Version{"2.1.39.20"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比讓"}\r
index c0c4b32..f365060 100644 (file)
@@ -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{"2.1.37.6"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比贊"}\r
index 9589854..43c2f1f 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{"2.1.31.33"}\r
+    Version{"2.1.38.39"}\r
 }\r
index 5f73849..8761fe5 100644 (file)
@@ -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{"2.1.37.1"}\r
+    Version{"2.1.39.11"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"i-Abidjan"}\r
index d208f8e..ff28d9b 100644 (file)
@@ -1,51 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
   <PropertyGroup Label="Globals">
     <ProjectGuid>{DBA4088D-F6F9-4F8F-8820-082A4765C16C}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>UCONVMSG_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <TypeLibraryName>.\x86\Release/uconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;UCONVMSG_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/uconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>uconvmsg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>uconvmsg.lib;icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/uconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>x86\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>x86\Release;..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/uconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <TypeLibraryName>.\x86\Debug/uconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;UCONVMSG_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/uconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>uconvmsg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>uconvmsg.lib;icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/uconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>x86\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>x86\Debug;..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/uconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <Outputs>$(ProjectDir)..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/uconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;UCONVMSG_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/uconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>uconvmsg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>uconvmsg.lib;icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/uconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>x64\Release;..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/uconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
       <Outputs>$(ProjectDir)..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/uconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;UCONVMSG_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/uconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>uconvmsg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>uconvmsg.lib;icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/uconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>x64\Debug;..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/uconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     </CustomBuild>
     <None Include="resfiles.mk" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\genrb\genrb.vcxproj">
-      <Project>{97521d06-ec47-45d4-8bd0-9e16b3f93b2a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\pkgdata\pkgdata.vcxproj">
-      <Project>{4c8454fe-81d3-4ca3-9927-29ba96f03dac}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index dda6050..e52be37 100644 (file)
@@ -107,7 +107,9 @@ number_affixutils.o number_compact.o number_decimalquantity.o \
 number_decimfmtprops.o number_fluent.o number_formatimpl.o number_grouping.o \
 number_integerwidth.o number_longnames.o number_modifiers.o number_notation.o \
 number_padding.o number_patternmodifier.o number_patternstring.o \
-number_rounding.o number_scientific.o number_stringbuilder.o
+number_rounding.o number_scientific.o number_stringbuilder.o \
+double-conversion.o double-conversion-bignum-dtoa.o double-conversion-bignum.o \
+double-conversion-cached-powers.o double-conversion-diy-fp.o double-conversion-fast-dtoa.o
 
 
 ## Header files to install
index d877cb2..d36a2cc 100644 (file)
@@ -725,7 +725,7 @@ void AlphabeticIndex::addIndexExemplars(const Locale &locale, UErrorCode &status
     }
 
     // question: should we add auxiliary exemplars?
-    if (exemplars.containsSome(0x61, 0x7A) /* a-z */ || exemplars.size() == 0) {
+    if (exemplars.containsSome(0x61, 0x7A) /* a-z */ || exemplars.isEmpty()) {
         exemplars.add(0x61, 0x7A);
     }
     if (exemplars.containsSome(0xAC00, 0xD7A3)) {  // Hangul syllables
@@ -740,14 +740,9 @@ void AlphabeticIndex::addIndexExemplars(const Locale &locale, UErrorCode &status
         // cut down to small list
         // make use of the fact that Ethiopic is allocated in 8's, where
         // the base is 0 mod 8.
-        UnicodeSet ethiopic(
-            UNICODE_STRING_SIMPLE("[[:Block=Ethiopic:]&[:Script=Ethiopic:]]"), status);
-        UnicodeSetIterator it(ethiopic);
-        while (it.next() && !it.isString()) {
-            if ((it.getCodepoint() & 0x7) != 0) {
-                exemplars.remove(it.getCodepoint());
-            }
-        }
+        UnicodeSet ethiopic(UnicodeString(u"[ሀለሐመሠረሰሸቀቈቐቘበቨተቸኀኈነኘአከኰኸዀወዐዘዠየደዸጀገጐጘጠጨጰጸፀፈፐፘ]"), status);
+        ethiopic.retainAll(exemplars);
+        exemplars.remove(u'ሀ', 0x137F).addAll(ethiopic);
     }
 
     // Upper-case any that aren't already so.
index 092dc4c..526a5a7 100644 (file)
@@ -3223,14 +3223,14 @@ int32_t Calendar::handleComputeJulianDay(UCalendarDateFields bestField)  {
         bestField == UCAL_DAY_OF_WEEK_IN_MONTH);
     int32_t year;
 
-    if (bestField == UCAL_WEEK_OF_YEAR) {
-        year = internalGet(UCAL_YEAR_WOY, handleGetExtendedYear());
-        internalSet(UCAL_EXTENDED_YEAR, year);
+    if (bestField == UCAL_WEEK_OF_YEAR && newerField(UCAL_YEAR_WOY, UCAL_YEAR) == UCAL_YEAR_WOY) {
+        year = internalGet(UCAL_YEAR_WOY);
     } else {
         year = handleGetExtendedYear();
-        internalSet(UCAL_EXTENDED_YEAR, year);
     }
 
+    internalSet(UCAL_EXTENDED_YEAR, year);
+
 #if defined (U_DEBUG_CAL)
     fprintf(stderr, "%s:%d: bestField= %s - y=%d\n", __FILE__, __LINE__, fldName(bestField), year);
 #endif
index ff6e5ec..12e05b4 100644 (file)
@@ -34,12 +34,12 @@ class UVector32;
 // Export an explicit template instantiation of the MaybeStackArray that
 //    is used as a data member of CEBuffer.
 //
-//    MSVC requires this, even though it should not be necessary. 
-//    No direct access to the MaybeStackArray leaks out of the i18n library.
+//    When building DLLs for Windows this is required even though
+//    no direct access to the MaybeStackArray leaks out of the i18n library.
 //
 // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
 //
-#if defined (_MSC_VER)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API MaybeStackArray<int64_t, CEBUFFER_INITIAL_CAPACITY>;
 #endif
 
index d321a82..a2cc58c 100644 (file)
@@ -38,6 +38,7 @@
 #include "uresimp.h"
 #include "ureslocs.h"
 #include "charstr.h"
+#include "uassert.h"
 
 // *****************************************************************************
 // class DecimalFormatSymbols
@@ -165,6 +166,7 @@ DecimalFormatSymbols::operator=(const DecimalFormatSymbols& rhs)
         uprv_strcpy(actualLocale, rhs.actualLocale);
         fIsCustomCurrencySymbol = rhs.fIsCustomCurrencySymbol; 
         fIsCustomIntlCurrencySymbol = rhs.fIsCustomIntlCurrencySymbol; 
+        fCodePointZero = rhs.fCodePointZero;
     }
     return *this;
 }
@@ -196,6 +198,7 @@ DecimalFormatSymbols::operator==(const DecimalFormatSymbols& that) const
             return FALSE;
         }
     }
+    // No need to check fCodePointZero since it is based on fSymbols
     return locale == that.locale &&
         uprv_strcmp(validLocale, that.validLocale) == 0 &&
         uprv_strcmp(actualLocale, that.actualLocale) == 0;
@@ -433,6 +436,24 @@ DecimalFormatSymbols::initialize(const Locale& loc, UErrorCode& status,
     // Let the monetary number separators equal the default number separators if necessary.
     sink.resolveMissingMonetarySeparators(fSymbols);
 
+    // Resolve codePointZero
+    UChar32 tempCodePointZero;
+    for (int32_t i=0; i<=9; i++) {
+        const UnicodeString& stringDigit = getConstDigitSymbol(i);
+        if (stringDigit.countChar32() != 1) {
+            tempCodePointZero = -1;
+            break;
+        }
+        UChar32 cp = stringDigit.char32At(0);
+        if (i == 0) {
+            tempCodePointZero = cp;
+        } else if (cp != tempCodePointZero + i) {
+            tempCodePointZero = -1;
+            break;
+        }
+    }
+    fCodePointZero = tempCodePointZero;
+
     // Obtain currency data from the currency API.  This is strictly
     // for backward compatibility; we don't use DecimalFormatSymbols
     // for currency data anymore.
@@ -530,6 +551,8 @@ DecimalFormatSymbols::initialize() {
     fSymbols[kExponentMultiplicationSymbol] = (UChar)0xd7; // 'x' multiplication symbol for exponents
     fIsCustomCurrencySymbol = FALSE; 
     fIsCustomIntlCurrencySymbol = FALSE;
+    fCodePointZero = 0x30;
+    U_ASSERT(fCodePointZero == fSymbols[kZeroDigitSymbol].char32At(0));
 
 }
 
index 149062e..cee2f8e 100644 (file)
@@ -627,10 +627,12 @@ U_CAPI decNumber * U_EXPORT2 uprv_decNumberFromString(decNumber *dn, const char
 
       for (; *c=='0' && *(c+1)!='\0';) c++;  /* strip insignificant zeros  */
       firstexp=c;                            /* save exponent digit place  */
+      uInt uexponent = 0;   /* Avoid undefined behavior on signed int overflow */
       for (; ;c++) {
         if (*c<'0' || *c>'9') break;         /* not a digit  */
-        exponent=X10(exponent)+(Int)*c-(Int)'0';
+        uexponent=X10(uexponent)+(uInt)*c-(uInt)'0';
         } /* c  */
+      exponent = (Int)uexponent;
       /* if not now on a '\0', *c must not be a digit  */
       if (*c!='\0') break;
 
index b07bcdd..4ee5e33 100644 (file)
@@ -50,10 +50,12 @@ static void syntaxError(const UnicodeString& pattern,
     parseError.preContext[stop-start] = 0;
 
     //for post-context
-    start = pos+1;
-    stop  = ((pos+U_PARSE_CONTEXT_LEN)<=pattern.length()) ? (pos+(U_PARSE_CONTEXT_LEN-1)) :
-        pattern.length();
-    pattern.extract(start,stop-start,parseError.postContext,0);
+    start = pattern.moveIndex32(pos, 1);
+    stop = pos + U_PARSE_CONTEXT_LEN - 1;
+    if (stop > pattern.length()) {
+        stop = pattern.length();
+    }
+    pattern.extract(start, stop - start, parseError.postContext, 0);
     //null terminate the buffer
     parseError.postContext[stop-start]= 0;
 }
index 8e86fa7..978bb60 100644 (file)
 #include "digitinterval.h" 
 #include "ucln_in.h"
 #include "umutex.h"
+#include "double-conversion.h"
 #include <stdlib.h>
 #include <limits.h>
 #include <string.h>
 #include <stdio.h>
 #include <limits>
 
+using icu::double_conversion::DoubleToStringConverter;
+
 #if !defined(U_USE_STRTOD_L)
 # if U_PLATFORM_USES_ONLY_WIN32_API
 #   define U_USE_STRTOD_L 1
@@ -850,8 +853,53 @@ DigitList::set(double source)
         } else {
             uprv_strcpy(rep,"inf");
         }
+    } else if (uprv_isNaN(source)) {
+        uprv_strcpy(rep, "NaN");
     } else {
-        sprintf(rep, "%+1.*e", MAX_DBL_DIGITS - 1, source);
+        bool sign;
+        int32_t length;
+        int32_t point;
+        DoubleToStringConverter::DoubleToAscii(
+            source,
+            DoubleToStringConverter::DtoaMode::SHORTEST,
+            0,
+            rep + 1,
+            sizeof(rep),
+            &sign,
+            &length,
+            &point
+        );
+
+        // Convert the raw buffer into a string for decNumber
+        int32_t power = point - length;
+        if (sign) {
+            rep[0] = '-';
+        } else {
+            rep[0] = '0';
+        }
+        length++;
+        rep[length++] = 'E';
+        if (power < 0) {
+            rep[length++] = '-';
+            power = -power;
+        } else {
+            rep[length++] = '+';
+        }
+        if (power < 10) {
+            rep[length++] = power + '0';
+        } else if (power < 100) {
+            rep[length++] = (power / 10) + '0';
+            rep[length++] = (power % 10) + '0';
+        } else {
+            U_ASSERT(power < 1000);
+            rep[length + 2] = (power % 10) + '0';
+            power /= 10;
+            rep[length + 1] = (power % 10) + '0';
+            power /= 10;
+            rep[length] = power + '0';
+            length += 3;
+        }
+        rep[length++] = 0;
     }
     U_ASSERT(uprv_strlen(rep) < sizeof(rep));
 
diff --git a/source/i18n/double-conversion-bignum-dtoa.cpp b/source/i18n/double-conversion-bignum-dtoa.cpp
new file mode 100644 (file)
index 0000000..07d0b0e
--- /dev/null
@@ -0,0 +1,659 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#include <math.h>
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-bignum-dtoa.h"
+
+#include "double-conversion-bignum.h"
+#include "double-conversion-ieee.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+static int NormalizedExponent(uint64_t significand, int exponent) {
+  ASSERT(significand != 0);
+  while ((significand & Double::kHiddenBit) == 0) {
+    significand = significand << 1;
+    exponent = exponent - 1;
+  }
+  return exponent;
+}
+
+
+// Forward declarations:
+// Returns an estimation of k such that 10^(k-1) <= v < 10^k.
+static int EstimatePower(int exponent);
+// Computes v / 10^estimated_power exactly, as a ratio of two bignums, numerator
+// and denominator.
+static void InitialScaledStartValues(uint64_t significand,
+                                     int exponent,
+                                     bool lower_boundary_is_closer,
+                                     int estimated_power,
+                                     bool need_boundary_deltas,
+                                     Bignum* numerator,
+                                     Bignum* denominator,
+                                     Bignum* delta_minus,
+                                     Bignum* delta_plus);
+// Multiplies numerator/denominator so that its values lies in the range 1-10.
+// Returns decimal_point s.t.
+//  v = numerator'/denominator' * 10^(decimal_point-1)
+//     where numerator' and denominator' are the values of numerator and
+//     denominator after the call to this function.
+static void FixupMultiply10(int estimated_power, bool is_even,
+                            int* decimal_point,
+                            Bignum* numerator, Bignum* denominator,
+                            Bignum* delta_minus, Bignum* delta_plus);
+// Generates digits from the left to the right and stops when the generated
+// digits yield the shortest decimal representation of v.
+static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
+                                   Bignum* delta_minus, Bignum* delta_plus,
+                                   bool is_even,
+                                   Vector<char> buffer, int* length);
+// Generates 'requested_digits' after the decimal point.
+static void BignumToFixed(int requested_digits, int* decimal_point,
+                          Bignum* numerator, Bignum* denominator,
+                          Vector<char>(buffer), int* length);
+// Generates 'count' digits of numerator/denominator.
+// Once 'count' digits have been produced rounds the result depending on the
+// remainder (remainders of exactly .5 round upwards). Might update the
+// decimal_point when rounding up (for example for 0.9999).
+static void GenerateCountedDigits(int count, int* decimal_point,
+                                  Bignum* numerator, Bignum* denominator,
+                                  Vector<char>(buffer), int* length);
+
+
+void BignumDtoa(double v, BignumDtoaMode mode, int requested_digits,
+                Vector<char> buffer, int* length, int* decimal_point) {
+  ASSERT(v > 0);
+  ASSERT(!Double(v).IsSpecial());
+  uint64_t significand;
+  int exponent;
+  bool lower_boundary_is_closer;
+  if (mode == BIGNUM_DTOA_SHORTEST_SINGLE) {
+    float f = static_cast<float>(v);
+    ASSERT(f == v);
+    significand = Single(f).Significand();
+    exponent = Single(f).Exponent();
+    lower_boundary_is_closer = Single(f).LowerBoundaryIsCloser();
+  } else {
+    significand = Double(v).Significand();
+    exponent = Double(v).Exponent();
+    lower_boundary_is_closer = Double(v).LowerBoundaryIsCloser();
+  }
+  bool need_boundary_deltas =
+      (mode == BIGNUM_DTOA_SHORTEST || mode == BIGNUM_DTOA_SHORTEST_SINGLE);
+
+  bool is_even = (significand & 1) == 0;
+  int normalized_exponent = NormalizedExponent(significand, exponent);
+  // estimated_power might be too low by 1.
+  int estimated_power = EstimatePower(normalized_exponent);
+
+  // Shortcut for Fixed.
+  // The requested digits correspond to the digits after the point. If the
+  // number is much too small, then there is no need in trying to get any
+  // digits.
+  if (mode == BIGNUM_DTOA_FIXED && -estimated_power - 1 > requested_digits) {
+    buffer[0] = '\0';
+    *length = 0;
+    // Set decimal-point to -requested_digits. This is what Gay does.
+    // Note that it should not have any effect anyways since the string is
+    // empty.
+    *decimal_point = -requested_digits;
+    return;
+  }
+
+  Bignum numerator;
+  Bignum denominator;
+  Bignum delta_minus;
+  Bignum delta_plus;
+  // Make sure the bignum can grow large enough. The smallest double equals
+  // 4e-324. In this case the denominator needs fewer than 324*4 binary digits.
+  // The maximum double is 1.7976931348623157e308 which needs fewer than
+  // 308*4 binary digits.
+  ASSERT(Bignum::kMaxSignificantBits >= 324*4);
+  InitialScaledStartValues(significand, exponent, lower_boundary_is_closer,
+                           estimated_power, need_boundary_deltas,
+                           &numerator, &denominator,
+                           &delta_minus, &delta_plus);
+  // We now have v = (numerator / denominator) * 10^estimated_power.
+  FixupMultiply10(estimated_power, is_even, decimal_point,
+                  &numerator, &denominator,
+                  &delta_minus, &delta_plus);
+  // We now have v = (numerator / denominator) * 10^(decimal_point-1), and
+  //  1 <= (numerator + delta_plus) / denominator < 10
+  switch (mode) {
+    case BIGNUM_DTOA_SHORTEST:
+    case BIGNUM_DTOA_SHORTEST_SINGLE:
+      GenerateShortestDigits(&numerator, &denominator,
+                             &delta_minus, &delta_plus,
+                             is_even, buffer, length);
+      break;
+    case BIGNUM_DTOA_FIXED:
+      BignumToFixed(requested_digits, decimal_point,
+                    &numerator, &denominator,
+                    buffer, length);
+      break;
+    case BIGNUM_DTOA_PRECISION:
+      GenerateCountedDigits(requested_digits, decimal_point,
+                            &numerator, &denominator,
+                            buffer, length);
+      break;
+    default:
+      UNREACHABLE();
+  }
+  buffer[*length] = '\0';
+}
+
+
+// The procedure starts generating digits from the left to the right and stops
+// when the generated digits yield the shortest decimal representation of v. A
+// decimal representation of v is a number lying closer to v than to any other
+// double, so it converts to v when read.
+//
+// This is true if d, the decimal representation, is between m- and m+, the
+// upper and lower boundaries. d must be strictly between them if !is_even.
+//           m- := (numerator - delta_minus) / denominator
+//           m+ := (numerator + delta_plus) / denominator
+//
+// Precondition: 0 <= (numerator+delta_plus) / denominator < 10.
+//   If 1 <= (numerator+delta_plus) / denominator < 10 then no leading 0 digit
+//   will be produced. This should be the standard precondition.
+static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
+                                   Bignum* delta_minus, Bignum* delta_plus,
+                                   bool is_even,
+                                   Vector<char> buffer, int* length) {
+  // Small optimization: if delta_minus and delta_plus are the same just reuse
+  // one of the two bignums.
+  if (Bignum::Equal(*delta_minus, *delta_plus)) {
+    delta_plus = delta_minus;
+  }
+  *length = 0;
+  for (;;) {
+    uint16_t digit;
+    digit = numerator->DivideModuloIntBignum(*denominator);
+    ASSERT(digit <= 9);  // digit is a uint16_t and therefore always positive.
+    // digit = numerator / denominator (integer division).
+    // numerator = numerator % denominator.
+    buffer[(*length)++] = static_cast<char>(digit + '0');
+
+    // Can we stop already?
+    // If the remainder of the division is less than the distance to the lower
+    // boundary we can stop. In this case we simply round down (discarding the
+    // remainder).
+    // Similarly we test if we can round up (using the upper boundary).
+    bool in_delta_room_minus;
+    bool in_delta_room_plus;
+    if (is_even) {
+      in_delta_room_minus = Bignum::LessEqual(*numerator, *delta_minus);
+    } else {
+      in_delta_room_minus = Bignum::Less(*numerator, *delta_minus);
+    }
+    if (is_even) {
+      in_delta_room_plus =
+          Bignum::PlusCompare(*numerator, *delta_plus, *denominator) >= 0;
+    } else {
+      in_delta_room_plus =
+          Bignum::PlusCompare(*numerator, *delta_plus, *denominator) > 0;
+    }
+    if (!in_delta_room_minus && !in_delta_room_plus) {
+      // Prepare for next iteration.
+      numerator->Times10();
+      delta_minus->Times10();
+      // We optimized delta_plus to be equal to delta_minus (if they share the
+      // same value). So don't multiply delta_plus if they point to the same
+      // object.
+      if (delta_minus != delta_plus) {
+        delta_plus->Times10();
+      }
+    } else if (in_delta_room_minus && in_delta_room_plus) {
+      // Let's see if 2*numerator < denominator.
+      // If yes, then the next digit would be < 5 and we can round down.
+      int compare = Bignum::PlusCompare(*numerator, *numerator, *denominator);
+      if (compare < 0) {
+        // Remaining digits are less than .5. -> Round down (== do nothing).
+      } else if (compare > 0) {
+        // Remaining digits are more than .5 of denominator. -> Round up.
+        // Note that the last digit could not be a '9' as otherwise the whole
+        // loop would have stopped earlier.
+        // We still have an assert here in case the preconditions were not
+        // satisfied.
+        ASSERT(buffer[(*length) - 1] != '9');
+        buffer[(*length) - 1]++;
+      } else {
+        // Halfway case.
+        // TODO(floitsch): need a way to solve half-way cases.
+        //   For now let's round towards even (since this is what Gay seems to
+        //   do).
+
+        if ((buffer[(*length) - 1] - '0') % 2 == 0) {
+          // Round down => Do nothing.
+        } else {
+          ASSERT(buffer[(*length) - 1] != '9');
+          buffer[(*length) - 1]++;
+        }
+      }
+      return;
+    } else if (in_delta_room_minus) {
+      // Round down (== do nothing).
+      return;
+    } else {  // in_delta_room_plus
+      // Round up.
+      // Note again that the last digit could not be '9' since this would have
+      // stopped the loop earlier.
+      // We still have an ASSERT here, in case the preconditions were not
+      // satisfied.
+      ASSERT(buffer[(*length) -1] != '9');
+      buffer[(*length) - 1]++;
+      return;
+    }
+  }
+}
+
+
+// Let v = numerator / denominator < 10.
+// Then we generate 'count' digits of d = x.xxxxx... (without the decimal point)
+// from left to right. Once 'count' digits have been produced we decide wether
+// to round up or down. Remainders of exactly .5 round upwards. Numbers such
+// as 9.999999 propagate a carry all the way, and change the
+// exponent (decimal_point), when rounding upwards.
+static void GenerateCountedDigits(int count, int* decimal_point,
+                                  Bignum* numerator, Bignum* denominator,
+                                  Vector<char> buffer, int* length) {
+  ASSERT(count >= 0);
+  for (int i = 0; i < count - 1; ++i) {
+    uint16_t digit;
+    digit = numerator->DivideModuloIntBignum(*denominator);
+    ASSERT(digit <= 9);  // digit is a uint16_t and therefore always positive.
+    // digit = numerator / denominator (integer division).
+    // numerator = numerator % denominator.
+    buffer[i] = static_cast<char>(digit + '0');
+    // Prepare for next iteration.
+    numerator->Times10();
+  }
+  // Generate the last digit.
+  uint16_t digit;
+  digit = numerator->DivideModuloIntBignum(*denominator);
+  if (Bignum::PlusCompare(*numerator, *numerator, *denominator) >= 0) {
+    digit++;
+  }
+  ASSERT(digit <= 10);
+  buffer[count - 1] = static_cast<char>(digit + '0');
+  // Correct bad digits (in case we had a sequence of '9's). Propagate the
+  // carry until we hat a non-'9' or til we reach the first digit.
+  for (int i = count - 1; i > 0; --i) {
+    if (buffer[i] != '0' + 10) break;
+    buffer[i] = '0';
+    buffer[i - 1]++;
+  }
+  if (buffer[0] == '0' + 10) {
+    // Propagate a carry past the top place.
+    buffer[0] = '1';
+    (*decimal_point)++;
+  }
+  *length = count;
+}
+
+
+// Generates 'requested_digits' after the decimal point. It might omit
+// trailing '0's. If the input number is too small then no digits at all are
+// generated (ex.: 2 fixed digits for 0.00001).
+//
+// Input verifies:  1 <= (numerator + delta) / denominator < 10.
+static void BignumToFixed(int requested_digits, int* decimal_point,
+                          Bignum* numerator, Bignum* denominator,
+                          Vector<char>(buffer), int* length) {
+  // Note that we have to look at more than just the requested_digits, since
+  // a number could be rounded up. Example: v=0.5 with requested_digits=0.
+  // Even though the power of v equals 0 we can't just stop here.
+  if (-(*decimal_point) > requested_digits) {
+    // The number is definitively too small.
+    // Ex: 0.001 with requested_digits == 1.
+    // Set decimal-point to -requested_digits. This is what Gay does.
+    // Note that it should not have any effect anyways since the string is
+    // empty.
+    *decimal_point = -requested_digits;
+    *length = 0;
+    return;
+  } else if (-(*decimal_point) == requested_digits) {
+    // We only need to verify if the number rounds down or up.
+    // Ex: 0.04 and 0.06 with requested_digits == 1.
+    ASSERT(*decimal_point == -requested_digits);
+    // Initially the fraction lies in range (1, 10]. Multiply the denominator
+    // by 10 so that we can compare more easily.
+    denominator->Times10();
+    if (Bignum::PlusCompare(*numerator, *numerator, *denominator) >= 0) {
+      // If the fraction is >= 0.5 then we have to include the rounded
+      // digit.
+      buffer[0] = '1';
+      *length = 1;
+      (*decimal_point)++;
+    } else {
+      // Note that we caught most of similar cases earlier.
+      *length = 0;
+    }
+    return;
+  } else {
+    // The requested digits correspond to the digits after the point.
+    // The variable 'needed_digits' includes the digits before the point.
+    int needed_digits = (*decimal_point) + requested_digits;
+    GenerateCountedDigits(needed_digits, decimal_point,
+                          numerator, denominator,
+                          buffer, length);
+  }
+}
+
+
+// Returns an estimation of k such that 10^(k-1) <= v < 10^k where
+// v = f * 2^exponent and 2^52 <= f < 2^53.
+// v is hence a normalized double with the given exponent. The output is an
+// approximation for the exponent of the decimal approimation .digits * 10^k.
+//
+// The result might undershoot by 1 in which case 10^k <= v < 10^k+1.
+// Note: this property holds for v's upper boundary m+ too.
+//    10^k <= m+ < 10^k+1.
+//   (see explanation below).
+//
+// Examples:
+//  EstimatePower(0)   => 16
+//  EstimatePower(-52) => 0
+//
+// Note: e >= 0 => EstimatedPower(e) > 0. No similar claim can be made for e<0.
+static int EstimatePower(int exponent) {
+  // This function estimates log10 of v where v = f*2^e (with e == exponent).
+  // Note that 10^floor(log10(v)) <= v, but v <= 10^ceil(log10(v)).
+  // Note that f is bounded by its container size. Let p = 53 (the double's
+  // significand size). Then 2^(p-1) <= f < 2^p.
+  //
+  // Given that log10(v) == log2(v)/log2(10) and e+(len(f)-1) is quite close
+  // to log2(v) the function is simplified to (e+(len(f)-1)/log2(10)).
+  // The computed number undershoots by less than 0.631 (when we compute log3
+  // and not log10).
+  //
+  // Optimization: since we only need an approximated result this computation
+  // can be performed on 64 bit integers. On x86/x64 architecture the speedup is
+  // not really measurable, though.
+  //
+  // Since we want to avoid overshooting we decrement by 1e10 so that
+  // floating-point imprecisions don't affect us.
+  //
+  // Explanation for v's boundary m+: the computation takes advantage of
+  // the fact that 2^(p-1) <= f < 2^p. Boundaries still satisfy this requirement
+  // (even for denormals where the delta can be much more important).
+
+  const double k1Log10 = 0.30102999566398114;  // 1/lg(10)
+
+  // For doubles len(f) == 53 (don't forget the hidden bit).
+  const int kSignificandSize = Double::kSignificandSize;
+  double estimate = ceil((exponent + kSignificandSize - 1) * k1Log10 - 1e-10);
+  return static_cast<int>(estimate);
+}
+
+
+// See comments for InitialScaledStartValues.
+static void InitialScaledStartValuesPositiveExponent(
+    uint64_t significand, int exponent,
+    int estimated_power, bool need_boundary_deltas,
+    Bignum* numerator, Bignum* denominator,
+    Bignum* delta_minus, Bignum* delta_plus) {
+  // A positive exponent implies a positive power.
+  ASSERT(estimated_power >= 0);
+  // Since the estimated_power is positive we simply multiply the denominator
+  // by 10^estimated_power.
+
+  // numerator = v.
+  numerator->AssignUInt64(significand);
+  numerator->ShiftLeft(exponent);
+  // denominator = 10^estimated_power.
+  denominator->AssignPowerUInt16(10, estimated_power);
+
+  if (need_boundary_deltas) {
+    // Introduce a common denominator so that the deltas to the boundaries are
+    // integers.
+    denominator->ShiftLeft(1);
+    numerator->ShiftLeft(1);
+    // Let v = f * 2^e, then m+ - v = 1/2 * 2^e; With the common
+    // denominator (of 2) delta_plus equals 2^e.
+    delta_plus->AssignUInt16(1);
+    delta_plus->ShiftLeft(exponent);
+    // Same for delta_minus. The adjustments if f == 2^p-1 are done later.
+    delta_minus->AssignUInt16(1);
+    delta_minus->ShiftLeft(exponent);
+  }
+}
+
+
+// See comments for InitialScaledStartValues
+static void InitialScaledStartValuesNegativeExponentPositivePower(
+    uint64_t significand, int exponent,
+    int estimated_power, bool need_boundary_deltas,
+    Bignum* numerator, Bignum* denominator,
+    Bignum* delta_minus, Bignum* delta_plus) {
+  // v = f * 2^e with e < 0, and with estimated_power >= 0.
+  // This means that e is close to 0 (have a look at how estimated_power is
+  // computed).
+
+  // numerator = significand
+  //  since v = significand * 2^exponent this is equivalent to
+  //  numerator = v * / 2^-exponent
+  numerator->AssignUInt64(significand);
+  // denominator = 10^estimated_power * 2^-exponent (with exponent < 0)
+  denominator->AssignPowerUInt16(10, estimated_power);
+  denominator->ShiftLeft(-exponent);
+
+  if (need_boundary_deltas) {
+    // Introduce a common denominator so that the deltas to the boundaries are
+    // integers.
+    denominator->ShiftLeft(1);
+    numerator->ShiftLeft(1);
+    // Let v = f * 2^e, then m+ - v = 1/2 * 2^e; With the common
+    // denominator (of 2) delta_plus equals 2^e.
+    // Given that the denominator already includes v's exponent the distance
+    // to the boundaries is simply 1.
+    delta_plus->AssignUInt16(1);
+    // Same for delta_minus. The adjustments if f == 2^p-1 are done later.
+    delta_minus->AssignUInt16(1);
+  }
+}
+
+
+// See comments for InitialScaledStartValues
+static void InitialScaledStartValuesNegativeExponentNegativePower(
+    uint64_t significand, int exponent,
+    int estimated_power, bool need_boundary_deltas,
+    Bignum* numerator, Bignum* denominator,
+    Bignum* delta_minus, Bignum* delta_plus) {
+  // Instead of multiplying the denominator with 10^estimated_power we
+  // multiply all values (numerator and deltas) by 10^-estimated_power.
+
+  // Use numerator as temporary container for power_ten.
+  Bignum* power_ten = numerator;
+  power_ten->AssignPowerUInt16(10, -estimated_power);
+
+  if (need_boundary_deltas) {
+    // Since power_ten == numerator we must make a copy of 10^estimated_power
+    // before we complete the computation of the numerator.
+    // delta_plus = delta_minus = 10^estimated_power
+    delta_plus->AssignBignum(*power_ten);
+    delta_minus->AssignBignum(*power_ten);
+  }
+
+  // numerator = significand * 2 * 10^-estimated_power
+  //  since v = significand * 2^exponent this is equivalent to
+  // numerator = v * 10^-estimated_power * 2 * 2^-exponent.
+  // Remember: numerator has been abused as power_ten. So no need to assign it
+  //  to itself.
+  ASSERT(numerator == power_ten);
+  numerator->MultiplyByUInt64(significand);
+
+  // denominator = 2 * 2^-exponent with exponent < 0.
+  denominator->AssignUInt16(1);
+  denominator->ShiftLeft(-exponent);
+
+  if (need_boundary_deltas) {
+    // Introduce a common denominator so that the deltas to the boundaries are
+    // integers.
+    numerator->ShiftLeft(1);
+    denominator->ShiftLeft(1);
+    // With this shift the boundaries have their correct value, since
+    // delta_plus = 10^-estimated_power, and
+    // delta_minus = 10^-estimated_power.
+    // These assignments have been done earlier.
+    // The adjustments if f == 2^p-1 (lower boundary is closer) are done later.
+  }
+}
+
+
+// Let v = significand * 2^exponent.
+// Computes v / 10^estimated_power exactly, as a ratio of two bignums, numerator
+// and denominator. The functions GenerateShortestDigits and
+// GenerateCountedDigits will then convert this ratio to its decimal
+// representation d, with the required accuracy.
+// Then d * 10^estimated_power is the representation of v.
+// (Note: the fraction and the estimated_power might get adjusted before
+// generating the decimal representation.)
+//
+// The initial start values consist of:
+//  - a scaled numerator: s.t. numerator/denominator == v / 10^estimated_power.
+//  - a scaled (common) denominator.
+//  optionally (used by GenerateShortestDigits to decide if it has the shortest
+//  decimal converting back to v):
+//  - v - m-: the distance to the lower boundary.
+//  - m+ - v: the distance to the upper boundary.
+//
+// v, m+, m-, and therefore v - m- and m+ - v all share the same denominator.
+//
+// Let ep == estimated_power, then the returned values will satisfy:
+//  v / 10^ep = numerator / denominator.
+//  v's boundarys m- and m+:
+//    m- / 10^ep == v / 10^ep - delta_minus / denominator
+//    m+ / 10^ep == v / 10^ep + delta_plus / denominator
+//  Or in other words:
+//    m- == v - delta_minus * 10^ep / denominator;
+//    m+ == v + delta_plus * 10^ep / denominator;
+//
+// Since 10^(k-1) <= v < 10^k    (with k == estimated_power)
+//  or       10^k <= v < 10^(k+1)
+//  we then have 0.1 <= numerator/denominator < 1
+//           or    1 <= numerator/denominator < 10
+//
+// It is then easy to kickstart the digit-generation routine.
+//
+// The boundary-deltas are only filled if the mode equals BIGNUM_DTOA_SHORTEST
+// or BIGNUM_DTOA_SHORTEST_SINGLE.
+
+static void InitialScaledStartValues(uint64_t significand,
+                                     int exponent,
+                                     bool lower_boundary_is_closer,
+                                     int estimated_power,
+                                     bool need_boundary_deltas,
+                                     Bignum* numerator,
+                                     Bignum* denominator,
+                                     Bignum* delta_minus,
+                                     Bignum* delta_plus) {
+  if (exponent >= 0) {
+    InitialScaledStartValuesPositiveExponent(
+        significand, exponent, estimated_power, need_boundary_deltas,
+        numerator, denominator, delta_minus, delta_plus);
+  } else if (estimated_power >= 0) {
+    InitialScaledStartValuesNegativeExponentPositivePower(
+        significand, exponent, estimated_power, need_boundary_deltas,
+        numerator, denominator, delta_minus, delta_plus);
+  } else {
+    InitialScaledStartValuesNegativeExponentNegativePower(
+        significand, exponent, estimated_power, need_boundary_deltas,
+        numerator, denominator, delta_minus, delta_plus);
+  }
+
+  if (need_boundary_deltas && lower_boundary_is_closer) {
+    // The lower boundary is closer at half the distance of "normal" numbers.
+    // Increase the common denominator and adapt all but the delta_minus.
+    denominator->ShiftLeft(1);  // *2
+    numerator->ShiftLeft(1);    // *2
+    delta_plus->ShiftLeft(1);   // *2
+  }
+}
+
+
+// This routine multiplies numerator/denominator so that its values lies in the
+// range 1-10. That is after a call to this function we have:
+//    1 <= (numerator + delta_plus) /denominator < 10.
+// Let numerator the input before modification and numerator' the argument
+// after modification, then the output-parameter decimal_point is such that
+//  numerator / denominator * 10^estimated_power ==
+//    numerator' / denominator' * 10^(decimal_point - 1)
+// In some cases estimated_power was too low, and this is already the case. We
+// then simply adjust the power so that 10^(k-1) <= v < 10^k (with k ==
+// estimated_power) but do not touch the numerator or denominator.
+// Otherwise the routine multiplies the numerator and the deltas by 10.
+static void FixupMultiply10(int estimated_power, bool is_even,
+                            int* decimal_point,
+                            Bignum* numerator, Bignum* denominator,
+                            Bignum* delta_minus, Bignum* delta_plus) {
+  bool in_range;
+  if (is_even) {
+    // For IEEE doubles half-way cases (in decimal system numbers ending with 5)
+    // are rounded to the closest floating-point number with even significand.
+    in_range = Bignum::PlusCompare(*numerator, *delta_plus, *denominator) >= 0;
+  } else {
+    in_range = Bignum::PlusCompare(*numerator, *delta_plus, *denominator) > 0;
+  }
+  if (in_range) {
+    // Since numerator + delta_plus >= denominator we already have
+    // 1 <= numerator/denominator < 10. Simply update the estimated_power.
+    *decimal_point = estimated_power + 1;
+  } else {
+    *decimal_point = estimated_power;
+    numerator->Times10();
+    if (Bignum::Equal(*delta_minus, *delta_plus)) {
+      delta_minus->Times10();
+      delta_plus->AssignBignum(*delta_minus);
+    } else {
+      delta_minus->Times10();
+      delta_plus->Times10();
+    }
+  }
+}
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-bignum-dtoa.h b/source/i18n/double-conversion-bignum-dtoa.h
new file mode 100644 (file)
index 0000000..edc21b0
--- /dev/null
@@ -0,0 +1,102 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_BIGNUM_DTOA_H_
+#define DOUBLE_CONVERSION_BIGNUM_DTOA_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+enum BignumDtoaMode {
+  // Return the shortest correct representation.
+  // For example the output of 0.299999999999999988897 is (the less accurate but
+  // correct) 0.3.
+  BIGNUM_DTOA_SHORTEST,
+  // Same as BIGNUM_DTOA_SHORTEST but for single-precision floats.
+  BIGNUM_DTOA_SHORTEST_SINGLE,
+  // Return a fixed number of digits after the decimal point.
+  // For instance fixed(0.1, 4) becomes 0.1000
+  // If the input number is big, the output will be big.
+  BIGNUM_DTOA_FIXED,
+  // Return a fixed number of digits, no matter what the exponent is.
+  BIGNUM_DTOA_PRECISION
+};
+
+// Converts the given double 'v' to ascii.
+// The result should be interpreted as buffer * 10^(point-length).
+// The buffer will be null-terminated.
+//
+// The input v must be > 0 and different from NaN, and Infinity.
+//
+// The output depends on the given mode:
+//  - SHORTEST: produce the least amount of digits for which the internal
+//   identity requirement is still satisfied. If the digits are printed
+//   (together with the correct exponent) then reading this number will give
+//   'v' again. The buffer will choose the representation that is closest to
+//   'v'. If there are two at the same distance, than the number is round up.
+//   In this mode the 'requested_digits' parameter is ignored.
+//  - FIXED: produces digits necessary to print a given number with
+//   'requested_digits' digits after the decimal point. The produced digits
+//   might be too short in which case the caller has to fill the gaps with '0's.
+//   Example: toFixed(0.001, 5) is allowed to return buffer="1", point=-2.
+//   Halfway cases are rounded up. The call toFixed(0.15, 2) thus returns
+//     buffer="2", point=0.
+//   Note: the length of the returned buffer has no meaning wrt the significance
+//   of its digits. That is, just because it contains '0's does not mean that
+//   any other digit would not satisfy the internal identity requirement.
+//  - PRECISION: produces 'requested_digits' where the first digit is not '0'.
+//   Even though the length of produced digits usually equals
+//   'requested_digits', the function is allowed to return fewer digits, in
+//   which case the caller has to fill the missing digits with '0's.
+//   Halfway cases are again rounded up.
+// 'BignumDtoa' expects the given buffer to be big enough to hold all digits
+// and a terminating null-character.
+void BignumDtoa(double v, BignumDtoaMode mode, int requested_digits,
+                Vector<char> buffer, int* length, int* point);
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_BIGNUM_DTOA_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-bignum.cpp b/source/i18n/double-conversion-bignum.cpp
new file mode 100644 (file)
index 0000000..d5682af
--- /dev/null
@@ -0,0 +1,784 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-bignum.h"
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+Bignum::Bignum()
+    : bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
+  for (int i = 0; i < kBigitCapacity; ++i) {
+    bigits_[i] = 0;
+  }
+}
+
+
+template<typename S>
+static int BitSize(S value) {
+  (void) value;  // Mark variable as used.
+  return 8 * sizeof(value);
+}
+
+// Guaranteed to lie in one Bigit.
+void Bignum::AssignUInt16(uint16_t value) {
+  ASSERT(kBigitSize >= BitSize(value));
+  Zero();
+  if (value == 0) return;
+
+  EnsureCapacity(1);
+  bigits_[0] = value;
+  used_digits_ = 1;
+}
+
+
+void Bignum::AssignUInt64(uint64_t value) {
+  const int kUInt64Size = 64;
+
+  Zero();
+  if (value == 0) return;
+
+  int needed_bigits = kUInt64Size / kBigitSize + 1;
+  EnsureCapacity(needed_bigits);
+  for (int i = 0; i < needed_bigits; ++i) {
+    bigits_[i] = value & kBigitMask;
+    value = value >> kBigitSize;
+  }
+  used_digits_ = needed_bigits;
+  Clamp();
+}
+
+
+void Bignum::AssignBignum(const Bignum& other) {
+  exponent_ = other.exponent_;
+  for (int i = 0; i < other.used_digits_; ++i) {
+    bigits_[i] = other.bigits_[i];
+  }
+  // Clear the excess digits (if there were any).
+  for (int i = other.used_digits_; i < used_digits_; ++i) {
+    bigits_[i] = 0;
+  }
+  used_digits_ = other.used_digits_;
+}
+
+
+static uint64_t ReadUInt64(Vector<const char> buffer,
+                           int from,
+                           int digits_to_read) {
+  uint64_t result = 0;
+  for (int i = from; i < from + digits_to_read; ++i) {
+    int digit = buffer[i] - '0';
+    ASSERT(0 <= digit && digit <= 9);
+    result = result * 10 + digit;
+  }
+  return result;
+}
+
+
+void Bignum::AssignDecimalString(Vector<const char> value) {
+  // 2^64 = 18446744073709551616 > 10^19
+  const int kMaxUint64DecimalDigits = 19;
+  Zero();
+  int length = value.length();
+  unsigned int pos = 0;
+  // Let's just say that each digit needs 4 bits.
+  while (length >= kMaxUint64DecimalDigits) {
+    uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
+    pos += kMaxUint64DecimalDigits;
+    length -= kMaxUint64DecimalDigits;
+    MultiplyByPowerOfTen(kMaxUint64DecimalDigits);
+    AddUInt64(digits);
+  }
+  uint64_t digits = ReadUInt64(value, pos, length);
+  MultiplyByPowerOfTen(length);
+  AddUInt64(digits);
+  Clamp();
+}
+
+
+static int HexCharValue(char c) {
+  if ('0' <= c && c <= '9') return c - '0';
+  if ('a' <= c && c <= 'f') return 10 + c - 'a';
+  ASSERT('A' <= c && c <= 'F');
+  return 10 + c - 'A';
+}
+
+
+void Bignum::AssignHexString(Vector<const char> value) {
+  Zero();
+  int length = value.length();
+
+  int needed_bigits = length * 4 / kBigitSize + 1;
+  EnsureCapacity(needed_bigits);
+  int string_index = length - 1;
+  for (int i = 0; i < needed_bigits - 1; ++i) {
+    // These bigits are guaranteed to be "full".
+    Chunk current_bigit = 0;
+    for (int j = 0; j < kBigitSize / 4; j++) {
+      current_bigit += HexCharValue(value[string_index--]) << (j * 4);
+    }
+    bigits_[i] = current_bigit;
+  }
+  used_digits_ = needed_bigits - 1;
+
+  Chunk most_significant_bigit = 0;  // Could be = 0;
+  for (int j = 0; j <= string_index; ++j) {
+    most_significant_bigit <<= 4;
+    most_significant_bigit += HexCharValue(value[j]);
+  }
+  if (most_significant_bigit != 0) {
+    bigits_[used_digits_] = most_significant_bigit;
+    used_digits_++;
+  }
+  Clamp();
+}
+
+
+void Bignum::AddUInt64(uint64_t operand) {
+  if (operand == 0) return;
+  Bignum other;
+  other.AssignUInt64(operand);
+  AddBignum(other);
+}
+
+
+void Bignum::AddBignum(const Bignum& other) {
+  ASSERT(IsClamped());
+  ASSERT(other.IsClamped());
+
+  // If this has a greater exponent than other append zero-bigits to this.
+  // After this call exponent_ <= other.exponent_.
+  Align(other);
+
+  // There are two possibilities:
+  //   aaaaaaaaaaa 0000  (where the 0s represent a's exponent)
+  //     bbbbb 00000000
+  //   ----------------
+  //   ccccccccccc 0000
+  // or
+  //    aaaaaaaaaa 0000
+  //  bbbbbbbbb 0000000
+  //  -----------------
+  //  cccccccccccc 0000
+  // In both cases we might need a carry bigit.
+
+  EnsureCapacity(1 + Max(BigitLength(), other.BigitLength()) - exponent_);
+  Chunk carry = 0;
+  int bigit_pos = other.exponent_ - exponent_;
+  ASSERT(bigit_pos >= 0);
+  for (int i = 0; i < other.used_digits_; ++i) {
+    Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry;
+    bigits_[bigit_pos] = sum & kBigitMask;
+    carry = sum >> kBigitSize;
+    bigit_pos++;
+  }
+
+  while (carry != 0) {
+    Chunk sum = bigits_[bigit_pos] + carry;
+    bigits_[bigit_pos] = sum & kBigitMask;
+    carry = sum >> kBigitSize;
+    bigit_pos++;
+  }
+  used_digits_ = Max(bigit_pos, used_digits_);
+  ASSERT(IsClamped());
+}
+
+
+void Bignum::SubtractBignum(const Bignum& other) {
+  ASSERT(IsClamped());
+  ASSERT(other.IsClamped());
+  // We require this to be bigger than other.
+  ASSERT(LessEqual(other, *this));
+
+  Align(other);
+
+  int offset = other.exponent_ - exponent_;
+  Chunk borrow = 0;
+  int i;
+  for (i = 0; i < other.used_digits_; ++i) {
+    ASSERT((borrow == 0) || (borrow == 1));
+    Chunk difference = bigits_[i + offset] - other.bigits_[i] - borrow;
+    bigits_[i + offset] = difference & kBigitMask;
+    borrow = difference >> (kChunkSize - 1);
+  }
+  while (borrow != 0) {
+    Chunk difference = bigits_[i + offset] - borrow;
+    bigits_[i + offset] = difference & kBigitMask;
+    borrow = difference >> (kChunkSize - 1);
+    ++i;
+  }
+  Clamp();
+}
+
+
+void Bignum::ShiftLeft(int shift_amount) {
+  if (used_digits_ == 0) return;
+  exponent_ += shift_amount / kBigitSize;
+  int local_shift = shift_amount % kBigitSize;
+  EnsureCapacity(used_digits_ + 1);
+  BigitsShiftLeft(local_shift);
+}
+
+
+void Bignum::MultiplyByUInt32(uint32_t factor) {
+  if (factor == 1) return;
+  if (factor == 0) {
+    Zero();
+    return;
+  }
+  if (used_digits_ == 0) return;
+
+  // The product of a bigit with the factor is of size kBigitSize + 32.
+  // Assert that this number + 1 (for the carry) fits into double chunk.
+  ASSERT(kDoubleChunkSize >= kBigitSize + 32 + 1);
+  DoubleChunk carry = 0;
+  for (int i = 0; i < used_digits_; ++i) {
+    DoubleChunk product = static_cast<DoubleChunk>(factor) * bigits_[i] + carry;
+    bigits_[i] = static_cast<Chunk>(product & kBigitMask);
+    carry = (product >> kBigitSize);
+  }
+  while (carry != 0) {
+    EnsureCapacity(used_digits_ + 1);
+    bigits_[used_digits_] = carry & kBigitMask;
+    used_digits_++;
+    carry >>= kBigitSize;
+  }
+}
+
+
+void Bignum::MultiplyByUInt64(uint64_t factor) {
+  if (factor == 1) return;
+  if (factor == 0) {
+    Zero();
+    return;
+  }
+  ASSERT(kBigitSize < 32);
+  uint64_t carry = 0;
+  uint64_t low = factor & 0xFFFFFFFF;
+  uint64_t high = factor >> 32;
+  for (int i = 0; i < used_digits_; ++i) {
+    uint64_t product_low = low * bigits_[i];
+    uint64_t product_high = high * bigits_[i];
+    uint64_t tmp = (carry & kBigitMask) + product_low;
+    bigits_[i] = tmp & kBigitMask;
+    carry = (carry >> kBigitSize) + (tmp >> kBigitSize) +
+        (product_high << (32 - kBigitSize));
+  }
+  while (carry != 0) {
+    EnsureCapacity(used_digits_ + 1);
+    bigits_[used_digits_] = carry & kBigitMask;
+    used_digits_++;
+    carry >>= kBigitSize;
+  }
+}
+
+
+void Bignum::MultiplyByPowerOfTen(int exponent) {
+  const uint64_t kFive27 = UINT64_2PART_C(0x6765c793, fa10079d);
+  const uint16_t kFive1 = 5;
+  const uint16_t kFive2 = kFive1 * 5;
+  const uint16_t kFive3 = kFive2 * 5;
+  const uint16_t kFive4 = kFive3 * 5;
+  const uint16_t kFive5 = kFive4 * 5;
+  const uint16_t kFive6 = kFive5 * 5;
+  const uint32_t kFive7 = kFive6 * 5;
+  const uint32_t kFive8 = kFive7 * 5;
+  const uint32_t kFive9 = kFive8 * 5;
+  const uint32_t kFive10 = kFive9 * 5;
+  const uint32_t kFive11 = kFive10 * 5;
+  const uint32_t kFive12 = kFive11 * 5;
+  const uint32_t kFive13 = kFive12 * 5;
+  const uint32_t kFive1_to_12[] =
+      { kFive1, kFive2, kFive3, kFive4, kFive5, kFive6,
+        kFive7, kFive8, kFive9, kFive10, kFive11, kFive12 };
+
+  ASSERT(exponent >= 0);
+  if (exponent == 0) return;
+  if (used_digits_ == 0) return;
+
+  // We shift by exponent at the end just before returning.
+  int remaining_exponent = exponent;
+  while (remaining_exponent >= 27) {
+    MultiplyByUInt64(kFive27);
+    remaining_exponent -= 27;
+  }
+  while (remaining_exponent >= 13) {
+    MultiplyByUInt32(kFive13);
+    remaining_exponent -= 13;
+  }
+  if (remaining_exponent > 0) {
+    MultiplyByUInt32(kFive1_to_12[remaining_exponent - 1]);
+  }
+  ShiftLeft(exponent);
+}
+
+
+void Bignum::Square() {
+  ASSERT(IsClamped());
+  int product_length = 2 * used_digits_;
+  EnsureCapacity(product_length);
+
+  // Comba multiplication: compute each column separately.
+  // Example: r = a2a1a0 * b2b1b0.
+  //    r =  1    * a0b0 +
+  //        10    * (a1b0 + a0b1) +
+  //        100   * (a2b0 + a1b1 + a0b2) +
+  //        1000  * (a2b1 + a1b2) +
+  //        10000 * a2b2
+  //
+  // In the worst case we have to accumulate nb-digits products of digit*digit.
+  //
+  // Assert that the additional number of bits in a DoubleChunk are enough to
+  // sum up used_digits of Bigit*Bigit.
+  if ((1 << (2 * (kChunkSize - kBigitSize))) <= used_digits_) {
+    UNIMPLEMENTED();
+  }
+  DoubleChunk accumulator = 0;
+  // First shift the digits so we don't overwrite them.
+  int copy_offset = used_digits_;
+  for (int i = 0; i < used_digits_; ++i) {
+    bigits_[copy_offset + i] = bigits_[i];
+  }
+  // We have two loops to avoid some 'if's in the loop.
+  for (int i = 0; i < used_digits_; ++i) {
+    // Process temporary digit i with power i.
+    // The sum of the two indices must be equal to i.
+    int bigit_index1 = i;
+    int bigit_index2 = 0;
+    // Sum all of the sub-products.
+    while (bigit_index1 >= 0) {
+      Chunk chunk1 = bigits_[copy_offset + bigit_index1];
+      Chunk chunk2 = bigits_[copy_offset + bigit_index2];
+      accumulator += static_cast<DoubleChunk>(chunk1) * chunk2;
+      bigit_index1--;
+      bigit_index2++;
+    }
+    bigits_[i] = static_cast<Chunk>(accumulator) & kBigitMask;
+    accumulator >>= kBigitSize;
+  }
+  for (int i = used_digits_; i < product_length; ++i) {
+    int bigit_index1 = used_digits_ - 1;
+    int bigit_index2 = i - bigit_index1;
+    // Invariant: sum of both indices is again equal to i.
+    // Inner loop runs 0 times on last iteration, emptying accumulator.
+    while (bigit_index2 < used_digits_) {
+      Chunk chunk1 = bigits_[copy_offset + bigit_index1];
+      Chunk chunk2 = bigits_[copy_offset + bigit_index2];
+      accumulator += static_cast<DoubleChunk>(chunk1) * chunk2;
+      bigit_index1--;
+      bigit_index2++;
+    }
+    // The overwritten bigits_[i] will never be read in further loop iterations,
+    // because bigit_index1 and bigit_index2 are always greater
+    // than i - used_digits_.
+    bigits_[i] = static_cast<Chunk>(accumulator) & kBigitMask;
+    accumulator >>= kBigitSize;
+  }
+  // Since the result was guaranteed to lie inside the number the
+  // accumulator must be 0 now.
+  ASSERT(accumulator == 0);
+
+  // Don't forget to update the used_digits and the exponent.
+  used_digits_ = product_length;
+  exponent_ *= 2;
+  Clamp();
+}
+
+
+void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
+  ASSERT(base != 0);
+  ASSERT(power_exponent >= 0);
+  if (power_exponent == 0) {
+    AssignUInt16(1);
+    return;
+  }
+  Zero();
+  int shifts = 0;
+  // We expect base to be in range 2-32, and most often to be 10.
+  // It does not make much sense to implement different algorithms for counting
+  // the bits.
+  while ((base & 1) == 0) {
+    base >>= 1;
+    shifts++;
+  }
+  int bit_size = 0;
+  int tmp_base = base;
+  while (tmp_base != 0) {
+    tmp_base >>= 1;
+    bit_size++;
+  }
+  int final_size = bit_size * power_exponent;
+  // 1 extra bigit for the shifting, and one for rounded final_size.
+  EnsureCapacity(final_size / kBigitSize + 2);
+
+  // Left to Right exponentiation.
+  int mask = 1;
+  while (power_exponent >= mask) mask <<= 1;
+
+  // The mask is now pointing to the bit above the most significant 1-bit of
+  // power_exponent.
+  // Get rid of first 1-bit;
+  mask >>= 2;
+  uint64_t this_value = base;
+
+  bool delayed_multipliciation = false;
+  const uint64_t max_32bits = 0xFFFFFFFF;
+  while (mask != 0 && this_value <= max_32bits) {
+    this_value = this_value * this_value;
+    // Verify that there is enough space in this_value to perform the
+    // multiplication.  The first bit_size bits must be 0.
+    if ((power_exponent & mask) != 0) {
+      uint64_t base_bits_mask =
+          ~((static_cast<uint64_t>(1) << (64 - bit_size)) - 1);
+      bool high_bits_zero = (this_value & base_bits_mask) == 0;
+      if (high_bits_zero) {
+        this_value *= base;
+      } else {
+        delayed_multipliciation = true;
+      }
+    }
+    mask >>= 1;
+  }
+  AssignUInt64(this_value);
+  if (delayed_multipliciation) {
+    MultiplyByUInt32(base);
+  }
+
+  // Now do the same thing as a bignum.
+  while (mask != 0) {
+    Square();
+    if ((power_exponent & mask) != 0) {
+      MultiplyByUInt32(base);
+    }
+    mask >>= 1;
+  }
+
+  // And finally add the saved shifts.
+  ShiftLeft(shifts * power_exponent);
+}
+
+
+// Precondition: this/other < 16bit.
+uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) {
+  ASSERT(IsClamped());
+  ASSERT(other.IsClamped());
+  ASSERT(other.used_digits_ > 0);
+
+  // Easy case: if we have less digits than the divisor than the result is 0.
+  // Note: this handles the case where this == 0, too.
+  if (BigitLength() < other.BigitLength()) {
+    return 0;
+  }
+
+  Align(other);
+
+  uint16_t result = 0;
+
+  // Start by removing multiples of 'other' until both numbers have the same
+  // number of digits.
+  while (BigitLength() > other.BigitLength()) {
+    // This naive approach is extremely inefficient if `this` divided by other
+    // is big. This function is implemented for doubleToString where
+    // the result should be small (less than 10).
+    ASSERT(other.bigits_[other.used_digits_ - 1] >= ((1 << kBigitSize) / 16));
+    ASSERT(bigits_[used_digits_ - 1] < 0x10000);
+    // Remove the multiples of the first digit.
+    // Example this = 23 and other equals 9. -> Remove 2 multiples.
+    result += static_cast<uint16_t>(bigits_[used_digits_ - 1]);
+    SubtractTimes(other, bigits_[used_digits_ - 1]);
+  }
+
+  ASSERT(BigitLength() == other.BigitLength());
+
+  // Both bignums are at the same length now.
+  // Since other has more than 0 digits we know that the access to
+  // bigits_[used_digits_ - 1] is safe.
+  Chunk this_bigit = bigits_[used_digits_ - 1];
+  Chunk other_bigit = other.bigits_[other.used_digits_ - 1];
+
+  if (other.used_digits_ == 1) {
+    // Shortcut for easy (and common) case.
+    int quotient = this_bigit / other_bigit;
+    bigits_[used_digits_ - 1] = this_bigit - other_bigit * quotient;
+    ASSERT(quotient < 0x10000);
+    result += static_cast<uint16_t>(quotient);
+    Clamp();
+    return result;
+  }
+
+  int division_estimate = this_bigit / (other_bigit + 1);
+  ASSERT(division_estimate < 0x10000);
+  result += static_cast<uint16_t>(division_estimate);
+  SubtractTimes(other, division_estimate);
+
+  if (other_bigit * (division_estimate + 1) > this_bigit) {
+    // No need to even try to subtract. Even if other's remaining digits were 0
+    // another subtraction would be too much.
+    return result;
+  }
+
+  while (LessEqual(other, *this)) {
+    SubtractBignum(other);
+    result++;
+  }
+  return result;
+}
+
+
+template<typename S>
+static int SizeInHexChars(S number) {
+  ASSERT(number > 0);
+  int result = 0;
+  while (number != 0) {
+    number >>= 4;
+    result++;
+  }
+  return result;
+}
+
+
+static char HexCharOfValue(int value) {
+  ASSERT(0 <= value && value <= 16);
+  if (value < 10) return static_cast<char>(value + '0');
+  return static_cast<char>(value - 10 + 'A');
+}
+
+
+bool Bignum::ToHexString(char* buffer, int buffer_size) const {
+  ASSERT(IsClamped());
+  // Each bigit must be printable as separate hex-character.
+  ASSERT(kBigitSize % 4 == 0);
+  const int kHexCharsPerBigit = kBigitSize / 4;
+
+  if (used_digits_ == 0) {
+    if (buffer_size < 2) return false;
+    buffer[0] = '0';
+    buffer[1] = '\0';
+    return true;
+  }
+  // We add 1 for the terminating '\0' character.
+  int needed_chars = (BigitLength() - 1) * kHexCharsPerBigit +
+      SizeInHexChars(bigits_[used_digits_ - 1]) + 1;
+  if (needed_chars > buffer_size) return false;
+  int string_index = needed_chars - 1;
+  buffer[string_index--] = '\0';
+  for (int i = 0; i < exponent_; ++i) {
+    for (int j = 0; j < kHexCharsPerBigit; ++j) {
+      buffer[string_index--] = '0';
+    }
+  }
+  for (int i = 0; i < used_digits_ - 1; ++i) {
+    Chunk current_bigit = bigits_[i];
+    for (int j = 0; j < kHexCharsPerBigit; ++j) {
+      buffer[string_index--] = HexCharOfValue(current_bigit & 0xF);
+      current_bigit >>= 4;
+    }
+  }
+  // And finally the last bigit.
+  Chunk most_significant_bigit = bigits_[used_digits_ - 1];
+  while (most_significant_bigit != 0) {
+    buffer[string_index--] = HexCharOfValue(most_significant_bigit & 0xF);
+    most_significant_bigit >>= 4;
+  }
+  return true;
+}
+
+
+Bignum::Chunk Bignum::BigitAt(int index) const {
+  if (index >= BigitLength()) return 0;
+  if (index < exponent_) return 0;
+  return bigits_[index - exponent_];
+}
+
+
+int Bignum::Compare(const Bignum& a, const Bignum& b) {
+  ASSERT(a.IsClamped());
+  ASSERT(b.IsClamped());
+  int bigit_length_a = a.BigitLength();
+  int bigit_length_b = b.BigitLength();
+  if (bigit_length_a < bigit_length_b) return -1;
+  if (bigit_length_a > bigit_length_b) return +1;
+  for (int i = bigit_length_a - 1; i >= Min(a.exponent_, b.exponent_); --i) {
+    Chunk bigit_a = a.BigitAt(i);
+    Chunk bigit_b = b.BigitAt(i);
+    if (bigit_a < bigit_b) return -1;
+    if (bigit_a > bigit_b) return +1;
+    // Otherwise they are equal up to this digit. Try the next digit.
+  }
+  return 0;
+}
+
+
+int Bignum::PlusCompare(const Bignum& a, const Bignum& b, const Bignum& c) {
+  ASSERT(a.IsClamped());
+  ASSERT(b.IsClamped());
+  ASSERT(c.IsClamped());
+  if (a.BigitLength() < b.BigitLength()) {
+    return PlusCompare(b, a, c);
+  }
+  if (a.BigitLength() + 1 < c.BigitLength()) return -1;
+  if (a.BigitLength() > c.BigitLength()) return +1;
+  // The exponent encodes 0-bigits. So if there are more 0-digits in 'a' than
+  // 'b' has digits, then the bigit-length of 'a'+'b' must be equal to the one
+  // of 'a'.
+  if (a.exponent_ >= b.BigitLength() && a.BigitLength() < c.BigitLength()) {
+    return -1;
+  }
+
+  Chunk borrow = 0;
+  // Starting at min_exponent all digits are == 0. So no need to compare them.
+  int min_exponent = Min(Min(a.exponent_, b.exponent_), c.exponent_);
+  for (int i = c.BigitLength() - 1; i >= min_exponent; --i) {
+    Chunk chunk_a = a.BigitAt(i);
+    Chunk chunk_b = b.BigitAt(i);
+    Chunk chunk_c = c.BigitAt(i);
+    Chunk sum = chunk_a + chunk_b;
+    if (sum > chunk_c + borrow) {
+      return +1;
+    } else {
+      borrow = chunk_c + borrow - sum;
+      if (borrow > 1) return -1;
+      borrow <<= kBigitSize;
+    }
+  }
+  if (borrow == 0) return 0;
+  return -1;
+}
+
+
+void Bignum::Clamp() {
+  while (used_digits_ > 0 && bigits_[used_digits_ - 1] == 0) {
+    used_digits_--;
+  }
+  if (used_digits_ == 0) {
+    // Zero.
+    exponent_ = 0;
+  }
+}
+
+
+bool Bignum::IsClamped() const {
+  return used_digits_ == 0 || bigits_[used_digits_ - 1] != 0;
+}
+
+
+void Bignum::Zero() {
+  for (int i = 0; i < used_digits_; ++i) {
+    bigits_[i] = 0;
+  }
+  used_digits_ = 0;
+  exponent_ = 0;
+}
+
+
+void Bignum::Align(const Bignum& other) {
+  if (exponent_ > other.exponent_) {
+    // If "X" represents a "hidden" digit (by the exponent) then we are in the
+    // following case (a == this, b == other):
+    // a:  aaaaaaXXXX   or a:   aaaaaXXX
+    // b:     bbbbbbX      b: bbbbbbbbXX
+    // We replace some of the hidden digits (X) of a with 0 digits.
+    // a:  aaaaaa000X   or a:   aaaaa0XX
+    int zero_digits = exponent_ - other.exponent_;
+    EnsureCapacity(used_digits_ + zero_digits);
+    for (int i = used_digits_ - 1; i >= 0; --i) {
+      bigits_[i + zero_digits] = bigits_[i];
+    }
+    for (int i = 0; i < zero_digits; ++i) {
+      bigits_[i] = 0;
+    }
+    used_digits_ += zero_digits;
+    exponent_ -= zero_digits;
+    ASSERT(used_digits_ >= 0);
+    ASSERT(exponent_ >= 0);
+  }
+}
+
+
+void Bignum::BigitsShiftLeft(int shift_amount) {
+  ASSERT(shift_amount < kBigitSize);
+  ASSERT(shift_amount >= 0);
+  Chunk carry = 0;
+  for (int i = 0; i < used_digits_; ++i) {
+    Chunk new_carry = bigits_[i] >> (kBigitSize - shift_amount);
+    bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask;
+    carry = new_carry;
+  }
+  if (carry != 0) {
+    bigits_[used_digits_] = carry;
+    used_digits_++;
+  }
+}
+
+
+void Bignum::SubtractTimes(const Bignum& other, int factor) {
+  ASSERT(exponent_ <= other.exponent_);
+  if (factor < 3) {
+    for (int i = 0; i < factor; ++i) {
+      SubtractBignum(other);
+    }
+    return;
+  }
+  Chunk borrow = 0;
+  int exponent_diff = other.exponent_ - exponent_;
+  for (int i = 0; i < other.used_digits_; ++i) {
+    DoubleChunk product = static_cast<DoubleChunk>(factor) * other.bigits_[i];
+    DoubleChunk remove = borrow + product;
+    Chunk difference = bigits_[i + exponent_diff] - (remove & kBigitMask);
+    bigits_[i + exponent_diff] = difference & kBigitMask;
+    borrow = static_cast<Chunk>((difference >> (kChunkSize - 1)) +
+                                (remove >> kBigitSize));
+  }
+  for (int i = other.used_digits_ + exponent_diff; i < used_digits_; ++i) {
+    if (borrow == 0) return;
+    Chunk difference = bigits_[i] - borrow;
+    bigits_[i] = difference & kBigitMask;
+    borrow = difference >> (kChunkSize - 1);
+  }
+  Clamp();
+}
+
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-bignum.h b/source/i18n/double-conversion-bignum.h
new file mode 100644 (file)
index 0000000..d1af3bf
--- /dev/null
@@ -0,0 +1,162 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_BIGNUM_H_
+#define DOUBLE_CONVERSION_BIGNUM_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+class Bignum {
+ public:
+  // 3584 = 128 * 28. We can represent 2^3584 > 10^1000 accurately.
+  // This bignum can encode much bigger numbers, since it contains an
+  // exponent.
+  static const int kMaxSignificantBits = 3584;
+
+  Bignum();
+  void AssignUInt16(uint16_t value);
+  void AssignUInt64(uint64_t value);
+  void AssignBignum(const Bignum& other);
+
+  void AssignDecimalString(Vector<const char> value);
+  void AssignHexString(Vector<const char> value);
+
+  void AssignPowerUInt16(uint16_t base, int exponent);
+
+  void AddUInt64(uint64_t operand);
+  void AddBignum(const Bignum& other);
+  // Precondition: this >= other.
+  void SubtractBignum(const Bignum& other);
+
+  void Square();
+  void ShiftLeft(int shift_amount);
+  void MultiplyByUInt32(uint32_t factor);
+  void MultiplyByUInt64(uint64_t factor);
+  void MultiplyByPowerOfTen(int exponent);
+  void Times10() { return MultiplyByUInt32(10); }
+  // Pseudocode:
+  //  int result = this / other;
+  //  this = this % other;
+  // In the worst case this function is in O(this/other).
+  uint16_t DivideModuloIntBignum(const Bignum& other);
+
+  bool ToHexString(char* buffer, int buffer_size) const;
+
+  // Returns
+  //  -1 if a < b,
+  //   0 if a == b, and
+  //  +1 if a > b.
+  static int Compare(const Bignum& a, const Bignum& b);
+  static bool Equal(const Bignum& a, const Bignum& b) {
+    return Compare(a, b) == 0;
+  }
+  static bool LessEqual(const Bignum& a, const Bignum& b) {
+    return Compare(a, b) <= 0;
+  }
+  static bool Less(const Bignum& a, const Bignum& b) {
+    return Compare(a, b) < 0;
+  }
+  // Returns Compare(a + b, c);
+  static int PlusCompare(const Bignum& a, const Bignum& b, const Bignum& c);
+  // Returns a + b == c
+  static bool PlusEqual(const Bignum& a, const Bignum& b, const Bignum& c) {
+    return PlusCompare(a, b, c) == 0;
+  }
+  // Returns a + b <= c
+  static bool PlusLessEqual(const Bignum& a, const Bignum& b, const Bignum& c) {
+    return PlusCompare(a, b, c) <= 0;
+  }
+  // Returns a + b < c
+  static bool PlusLess(const Bignum& a, const Bignum& b, const Bignum& c) {
+    return PlusCompare(a, b, c) < 0;
+  }
+ private:
+  typedef uint32_t Chunk;
+  typedef uint64_t DoubleChunk;
+
+  static const int kChunkSize = sizeof(Chunk) * 8;
+  static const int kDoubleChunkSize = sizeof(DoubleChunk) * 8;
+  // With bigit size of 28 we loose some bits, but a double still fits easily
+  // into two chunks, and more importantly we can use the Comba multiplication.
+  static const int kBigitSize = 28;
+  static const Chunk kBigitMask = (1 << kBigitSize) - 1;
+  // Every instance allocates kBigitLength chunks on the stack. Bignums cannot
+  // grow. There are no checks if the stack-allocated space is sufficient.
+  static const int kBigitCapacity = kMaxSignificantBits / kBigitSize;
+
+  void EnsureCapacity(int size) {
+    if (size > kBigitCapacity) {
+      UNREACHABLE();
+    }
+  }
+  void Align(const Bignum& other);
+  void Clamp();
+  bool IsClamped() const;
+  void Zero();
+  // Requires this to have enough capacity (no tests done).
+  // Updates used_digits_ if necessary.
+  // shift_amount must be < kBigitSize.
+  void BigitsShiftLeft(int shift_amount);
+  // BigitLength includes the "hidden" digits encoded in the exponent.
+  int BigitLength() const { return used_digits_ + exponent_; }
+  Chunk BigitAt(int index) const;
+  void SubtractTimes(const Bignum& other, int factor);
+
+  Chunk bigits_buffer_[kBigitCapacity];
+  // A vector backed by bigits_buffer_. This way accesses to the array are
+  // checked for out-of-bounds errors.
+  Vector<Chunk> bigits_;
+  int used_digits_;
+  // The Bignum's value equals value(bigits_) * 2^(exponent_ * kBigitSize).
+  int exponent_;
+
+  DISALLOW_COPY_AND_ASSIGN(Bignum);
+};
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_BIGNUM_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-cached-powers.cpp b/source/i18n/double-conversion-cached-powers.cpp
new file mode 100644 (file)
index 0000000..e497004
--- /dev/null
@@ -0,0 +1,193 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2006-2008 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#include <stdarg.h>
+#include <limits.h>
+#include <math.h>
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+#include "double-conversion-cached-powers.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+struct CachedPower {
+  uint64_t significand;
+  int16_t binary_exponent;
+  int16_t decimal_exponent;
+};
+
+static const CachedPower kCachedPowers[] = {
+  {UINT64_2PART_C(0xfa8fd5a0, 081c0288), -1220, -348},
+  {UINT64_2PART_C(0xbaaee17f, a23ebf76), -1193, -340},
+  {UINT64_2PART_C(0x8b16fb20, 3055ac76), -1166, -332},
+  {UINT64_2PART_C(0xcf42894a, 5dce35ea), -1140, -324},
+  {UINT64_2PART_C(0x9a6bb0aa, 55653b2d), -1113, -316},
+  {UINT64_2PART_C(0xe61acf03, 3d1a45df), -1087, -308},
+  {UINT64_2PART_C(0xab70fe17, c79ac6ca), -1060, -300},
+  {UINT64_2PART_C(0xff77b1fc, bebcdc4f), -1034, -292},
+  {UINT64_2PART_C(0xbe5691ef, 416bd60c), -1007, -284},
+  {UINT64_2PART_C(0x8dd01fad, 907ffc3c), -980, -276},
+  {UINT64_2PART_C(0xd3515c28, 31559a83), -954, -268},
+  {UINT64_2PART_C(0x9d71ac8f, ada6c9b5), -927, -260},
+  {UINT64_2PART_C(0xea9c2277, 23ee8bcb), -901, -252},
+  {UINT64_2PART_C(0xaecc4991, 4078536d), -874, -244},
+  {UINT64_2PART_C(0x823c1279, 5db6ce57), -847, -236},
+  {UINT64_2PART_C(0xc2109436, 4dfb5637), -821, -228},
+  {UINT64_2PART_C(0x9096ea6f, 3848984f), -794, -220},
+  {UINT64_2PART_C(0xd77485cb, 25823ac7), -768, -212},
+  {UINT64_2PART_C(0xa086cfcd, 97bf97f4), -741, -204},
+  {UINT64_2PART_C(0xef340a98, 172aace5), -715, -196},
+  {UINT64_2PART_C(0xb23867fb, 2a35b28e), -688, -188},
+  {UINT64_2PART_C(0x84c8d4df, d2c63f3b), -661, -180},
+  {UINT64_2PART_C(0xc5dd4427, 1ad3cdba), -635, -172},
+  {UINT64_2PART_C(0x936b9fce, bb25c996), -608, -164},
+  {UINT64_2PART_C(0xdbac6c24, 7d62a584), -582, -156},
+  {UINT64_2PART_C(0xa3ab6658, 0d5fdaf6), -555, -148},
+  {UINT64_2PART_C(0xf3e2f893, dec3f126), -529, -140},
+  {UINT64_2PART_C(0xb5b5ada8, aaff80b8), -502, -132},
+  {UINT64_2PART_C(0x87625f05, 6c7c4a8b), -475, -124},
+  {UINT64_2PART_C(0xc9bcff60, 34c13053), -449, -116},
+  {UINT64_2PART_C(0x964e858c, 91ba2655), -422, -108},
+  {UINT64_2PART_C(0xdff97724, 70297ebd), -396, -100},
+  {UINT64_2PART_C(0xa6dfbd9f, b8e5b88f), -369, -92},
+  {UINT64_2PART_C(0xf8a95fcf, 88747d94), -343, -84},
+  {UINT64_2PART_C(0xb9447093, 8fa89bcf), -316, -76},
+  {UINT64_2PART_C(0x8a08f0f8, bf0f156b), -289, -68},
+  {UINT64_2PART_C(0xcdb02555, 653131b6), -263, -60},
+  {UINT64_2PART_C(0x993fe2c6, d07b7fac), -236, -52},
+  {UINT64_2PART_C(0xe45c10c4, 2a2b3b06), -210, -44},
+  {UINT64_2PART_C(0xaa242499, 697392d3), -183, -36},
+  {UINT64_2PART_C(0xfd87b5f2, 8300ca0e), -157, -28},
+  {UINT64_2PART_C(0xbce50864, 92111aeb), -130, -20},
+  {UINT64_2PART_C(0x8cbccc09, 6f5088cc), -103, -12},
+  {UINT64_2PART_C(0xd1b71758, e219652c), -77, -4},
+  {UINT64_2PART_C(0x9c400000, 00000000), -50, 4},
+  {UINT64_2PART_C(0xe8d4a510, 00000000), -24, 12},
+  {UINT64_2PART_C(0xad78ebc5, ac620000), 3, 20},
+  {UINT64_2PART_C(0x813f3978, f8940984), 30, 28},
+  {UINT64_2PART_C(0xc097ce7b, c90715b3), 56, 36},
+  {UINT64_2PART_C(0x8f7e32ce, 7bea5c70), 83, 44},
+  {UINT64_2PART_C(0xd5d238a4, abe98068), 109, 52},
+  {UINT64_2PART_C(0x9f4f2726, 179a2245), 136, 60},
+  {UINT64_2PART_C(0xed63a231, d4c4fb27), 162, 68},
+  {UINT64_2PART_C(0xb0de6538, 8cc8ada8), 189, 76},
+  {UINT64_2PART_C(0x83c7088e, 1aab65db), 216, 84},
+  {UINT64_2PART_C(0xc45d1df9, 42711d9a), 242, 92},
+  {UINT64_2PART_C(0x924d692c, a61be758), 269, 100},
+  {UINT64_2PART_C(0xda01ee64, 1a708dea), 295, 108},
+  {UINT64_2PART_C(0xa26da399, 9aef774a), 322, 116},
+  {UINT64_2PART_C(0xf209787b, b47d6b85), 348, 124},
+  {UINT64_2PART_C(0xb454e4a1, 79dd1877), 375, 132},
+  {UINT64_2PART_C(0x865b8692, 5b9bc5c2), 402, 140},
+  {UINT64_2PART_C(0xc83553c5, c8965d3d), 428, 148},
+  {UINT64_2PART_C(0x952ab45c, fa97a0b3), 455, 156},
+  {UINT64_2PART_C(0xde469fbd, 99a05fe3), 481, 164},
+  {UINT64_2PART_C(0xa59bc234, db398c25), 508, 172},
+  {UINT64_2PART_C(0xf6c69a72, a3989f5c), 534, 180},
+  {UINT64_2PART_C(0xb7dcbf53, 54e9bece), 561, 188},
+  {UINT64_2PART_C(0x88fcf317, f22241e2), 588, 196},
+  {UINT64_2PART_C(0xcc20ce9b, d35c78a5), 614, 204},
+  {UINT64_2PART_C(0x98165af3, 7b2153df), 641, 212},
+  {UINT64_2PART_C(0xe2a0b5dc, 971f303a), 667, 220},
+  {UINT64_2PART_C(0xa8d9d153, 5ce3b396), 694, 228},
+  {UINT64_2PART_C(0xfb9b7cd9, a4a7443c), 720, 236},
+  {UINT64_2PART_C(0xbb764c4c, a7a44410), 747, 244},
+  {UINT64_2PART_C(0x8bab8eef, b6409c1a), 774, 252},
+  {UINT64_2PART_C(0xd01fef10, a657842c), 800, 260},
+  {UINT64_2PART_C(0x9b10a4e5, e9913129), 827, 268},
+  {UINT64_2PART_C(0xe7109bfb, a19c0c9d), 853, 276},
+  {UINT64_2PART_C(0xac2820d9, 623bf429), 880, 284},
+  {UINT64_2PART_C(0x80444b5e, 7aa7cf85), 907, 292},
+  {UINT64_2PART_C(0xbf21e440, 03acdd2d), 933, 300},
+  {UINT64_2PART_C(0x8e679c2f, 5e44ff8f), 960, 308},
+  {UINT64_2PART_C(0xd433179d, 9c8cb841), 986, 316},
+  {UINT64_2PART_C(0x9e19db92, b4e31ba9), 1013, 324},
+  {UINT64_2PART_C(0xeb96bf6e, badf77d9), 1039, 332},
+  {UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340},
+};
+
+static const int kCachedPowersOffset = 348;  // -1 * the first decimal_exponent.
+static const double kD_1_LOG2_10 = 0.30102999566398114;  //  1 / lg(10)
+// Difference between the decimal exponents in the table above.
+const int PowersOfTenCache::kDecimalExponentDistance = 8;
+const int PowersOfTenCache::kMinDecimalExponent = -348;
+const int PowersOfTenCache::kMaxDecimalExponent = 340;
+
+void PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
+    int min_exponent,
+    int max_exponent,
+    DiyFp* power,
+    int* decimal_exponent) {
+  int kQ = DiyFp::kSignificandSize;
+  double k = ceil((min_exponent + kQ - 1) * kD_1_LOG2_10);
+  int foo = kCachedPowersOffset;
+  int index =
+      (foo + static_cast<int>(k) - 1) / kDecimalExponentDistance + 1;
+  ASSERT(0 <= index && index < static_cast<int>(ARRAY_SIZE(kCachedPowers)));
+  CachedPower cached_power = kCachedPowers[index];
+  ASSERT(min_exponent <= cached_power.binary_exponent);
+  (void) max_exponent;  // Mark variable as used.
+  ASSERT(cached_power.binary_exponent <= max_exponent);
+  *decimal_exponent = cached_power.decimal_exponent;
+  *power = DiyFp(cached_power.significand, cached_power.binary_exponent);
+}
+
+
+void PowersOfTenCache::GetCachedPowerForDecimalExponent(int requested_exponent,
+                                                        DiyFp* power,
+                                                        int* found_exponent) {
+  ASSERT(kMinDecimalExponent <= requested_exponent);
+  ASSERT(requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance);
+  int index =
+      (requested_exponent + kCachedPowersOffset) / kDecimalExponentDistance;
+  CachedPower cached_power = kCachedPowers[index];
+  *power = DiyFp(cached_power.significand, cached_power.binary_exponent);
+  *found_exponent = cached_power.decimal_exponent;
+  ASSERT(*found_exponent <= requested_exponent);
+  ASSERT(requested_exponent < *found_exponent + kDecimalExponentDistance);
+}
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-cached-powers.h b/source/i18n/double-conversion-cached-powers.h
new file mode 100644 (file)
index 0000000..438746b
--- /dev/null
@@ -0,0 +1,82 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_CACHED_POWERS_H_
+#define DOUBLE_CONVERSION_CACHED_POWERS_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-diy-fp.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+class PowersOfTenCache {
+ public:
+
+  // Not all powers of ten are cached. The decimal exponent of two neighboring
+  // cached numbers will differ by kDecimalExponentDistance.
+  static const int kDecimalExponentDistance;
+
+  static const int kMinDecimalExponent;
+  static const int kMaxDecimalExponent;
+
+  // Returns a cached power-of-ten with a binary exponent in the range
+  // [min_exponent; max_exponent] (boundaries included).
+  static void GetCachedPowerForBinaryExponentRange(int min_exponent,
+                                                   int max_exponent,
+                                                   DiyFp* power,
+                                                   int* decimal_exponent);
+
+  // Returns a cached power of ten x ~= 10^k such that
+  //   k <= decimal_exponent < k + kCachedPowersDecimalDistance.
+  // The given decimal_exponent must satisfy
+  //   kMinDecimalExponent <= requested_exponent, and
+  //   requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance.
+  static void GetCachedPowerForDecimalExponent(int requested_exponent,
+                                               DiyFp* power,
+                                               int* found_exponent);
+};
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_CACHED_POWERS_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-diy-fp.cpp b/source/i18n/double-conversion-diy-fp.cpp
new file mode 100644 (file)
index 0000000..f38430c
--- /dev/null
@@ -0,0 +1,74 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-diy-fp.h"
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+void DiyFp::Multiply(const DiyFp& other) {
+  // Simply "emulates" a 128 bit multiplication.
+  // However: the resulting number only contains 64 bits. The least
+  // significant 64 bits are only used for rounding the most significant 64
+  // bits.
+  const uint64_t kM32 = 0xFFFFFFFFU;
+  uint64_t a = f_ >> 32;
+  uint64_t b = f_ & kM32;
+  uint64_t c = other.f_ >> 32;
+  uint64_t d = other.f_ & kM32;
+  uint64_t ac = a * c;
+  uint64_t bc = b * c;
+  uint64_t ad = a * d;
+  uint64_t bd = b * d;
+  uint64_t tmp = (bd >> 32) + (ad & kM32) + (bc & kM32);
+  // By adding 1U << 31 to tmp we round the final result.
+  // Halfway cases will be round up.
+  tmp += 1U << 31;
+  uint64_t result_f = ac + (ad >> 32) + (bc >> 32) + (tmp >> 32);
+  e_ += other.e_ + 64;
+  f_ = result_f;
+}
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-diy-fp.h b/source/i18n/double-conversion-diy-fp.h
new file mode 100644 (file)
index 0000000..2189685
--- /dev/null
@@ -0,0 +1,136 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_DIY_FP_H_
+#define DOUBLE_CONVERSION_DIY_FP_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+// This "Do It Yourself Floating Point" class implements a floating-point number
+// with a uint64 significand and an int exponent. Normalized DiyFp numbers will
+// have the most significant bit of the significand set.
+// Multiplication and Subtraction do not normalize their results.
+// DiyFp are not designed to contain special doubles (NaN and Infinity).
+class DiyFp {
+ public:
+  static const int kSignificandSize = 64;
+
+  DiyFp() : f_(0), e_(0) {}
+  DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {}
+
+  // this = this - other.
+  // The exponents of both numbers must be the same and the significand of this
+  // must be bigger than the significand of other.
+  // The result will not be normalized.
+  void Subtract(const DiyFp& other) {
+    ASSERT(e_ == other.e_);
+    ASSERT(f_ >= other.f_);
+    f_ -= other.f_;
+  }
+
+  // Returns a - b.
+  // The exponents of both numbers must be the same and this must be bigger
+  // than other. The result will not be normalized.
+  static DiyFp Minus(const DiyFp& a, const DiyFp& b) {
+    DiyFp result = a;
+    result.Subtract(b);
+    return result;
+  }
+
+
+  // this = this * other.
+  void Multiply(const DiyFp& other);
+
+  // returns a * b;
+  static DiyFp Times(const DiyFp& a, const DiyFp& b) {
+    DiyFp result = a;
+    result.Multiply(b);
+    return result;
+  }
+
+  void Normalize() {
+    ASSERT(f_ != 0);
+    uint64_t significand = f_;
+    int exponent = e_;
+
+    // This method is mainly called for normalizing boundaries. In general
+    // boundaries need to be shifted by 10 bits. We thus optimize for this case.
+    const uint64_t k10MSBits = UINT64_2PART_C(0xFFC00000, 00000000);
+    while ((significand & k10MSBits) == 0) {
+      significand <<= 10;
+      exponent -= 10;
+    }
+    while ((significand & kUint64MSB) == 0) {
+      significand <<= 1;
+      exponent--;
+    }
+    f_ = significand;
+    e_ = exponent;
+  }
+
+  static DiyFp Normalize(const DiyFp& a) {
+    DiyFp result = a;
+    result.Normalize();
+    return result;
+  }
+
+  uint64_t f() const { return f_; }
+  int e() const { return e_; }
+
+  void set_f(uint64_t new_value) { f_ = new_value; }
+  void set_e(int new_value) { e_ = new_value; }
+
+ private:
+  static const uint64_t kUint64MSB = UINT64_2PART_C(0x80000000, 00000000);
+
+  uint64_t f_;
+  int e_;
+};
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_DIY_FP_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-fast-dtoa.cpp b/source/i18n/double-conversion-fast-dtoa.cpp
new file mode 100644 (file)
index 0000000..8d1499a
--- /dev/null
@@ -0,0 +1,683 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-fast-dtoa.h"
+
+#include "double-conversion-cached-powers.h"
+#include "double-conversion-diy-fp.h"
+#include "double-conversion-ieee.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+// The minimal and maximal target exponent define the range of w's binary
+// exponent, where 'w' is the result of multiplying the input by a cached power
+// of ten.
+//
+// A different range might be chosen on a different platform, to optimize digit
+// generation, but a smaller range requires more powers of ten to be cached.
+static const int kMinimalTargetExponent = -60;
+static const int kMaximalTargetExponent = -32;
+
+
+// Adjusts the last digit of the generated number, and screens out generated
+// solutions that may be inaccurate. A solution may be inaccurate if it is
+// outside the safe interval, or if we cannot prove that it is closer to the
+// input than a neighboring representation of the same length.
+//
+// Input: * buffer containing the digits of too_high / 10^kappa
+//        * the buffer's length
+//        * distance_too_high_w == (too_high - w).f() * unit
+//        * unsafe_interval == (too_high - too_low).f() * unit
+//        * rest = (too_high - buffer * 10^kappa).f() * unit
+//        * ten_kappa = 10^kappa * unit
+//        * unit = the common multiplier
+// Output: returns true if the buffer is guaranteed to contain the closest
+//    representable number to the input.
+//  Modifies the generated digits in the buffer to approach (round towards) w.
+static bool RoundWeed(Vector<char> buffer,
+                      int length,
+                      uint64_t distance_too_high_w,
+                      uint64_t unsafe_interval,
+                      uint64_t rest,
+                      uint64_t ten_kappa,
+                      uint64_t unit) {
+  uint64_t small_distance = distance_too_high_w - unit;
+  uint64_t big_distance = distance_too_high_w + unit;
+  // Let w_low  = too_high - big_distance, and
+  //     w_high = too_high - small_distance.
+  // Note: w_low < w < w_high
+  //
+  // The real w (* unit) must lie somewhere inside the interval
+  // ]w_low; w_high[ (often written as "(w_low; w_high)")
+
+  // Basically the buffer currently contains a number in the unsafe interval
+  // ]too_low; too_high[ with too_low < w < too_high
+  //
+  //  too_high - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+  //                     ^v 1 unit            ^      ^                 ^      ^
+  //  boundary_high ---------------------     .      .                 .      .
+  //                     ^v 1 unit            .      .                 .      .
+  //   - - - - - - - - - - - - - - - - - - -  +  - - + - - - - - -     .      .
+  //                                          .      .         ^       .      .
+  //                                          .  big_distance  .       .      .
+  //                                          .      .         .       .    rest
+  //                              small_distance     .         .       .      .
+  //                                          v      .         .       .      .
+  //  w_high - - - - - - - - - - - - - - - - - -     .         .       .      .
+  //                     ^v 1 unit                   .         .       .      .
+  //  w ----------------------------------------     .         .       .      .
+  //                     ^v 1 unit                   v         .       .      .
+  //  w_low  - - - - - - - - - - - - - - - - - - - - -         .       .      .
+  //                                                           .       .      v
+  //  buffer --------------------------------------------------+-------+--------
+  //                                                           .       .
+  //                                                  safe_interval    .
+  //                                                           v       .
+  //   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     .
+  //                     ^v 1 unit                                     .
+  //  boundary_low -------------------------                     unsafe_interval
+  //                     ^v 1 unit                                     v
+  //  too_low  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+  //
+  //
+  // Note that the value of buffer could lie anywhere inside the range too_low
+  // to too_high.
+  //
+  // boundary_low, boundary_high and w are approximations of the real boundaries
+  // and v (the input number). They are guaranteed to be precise up to one unit.
+  // In fact the error is guaranteed to be strictly less than one unit.
+  //
+  // Anything that lies outside the unsafe interval is guaranteed not to round
+  // to v when read again.
+  // Anything that lies inside the safe interval is guaranteed to round to v
+  // when read again.
+  // If the number inside the buffer lies inside the unsafe interval but not
+  // inside the safe interval then we simply do not know and bail out (returning
+  // false).
+  //
+  // Similarly we have to take into account the imprecision of 'w' when finding
+  // the closest representation of 'w'. If we have two potential
+  // representations, and one is closer to both w_low and w_high, then we know
+  // it is closer to the actual value v.
+  //
+  // By generating the digits of too_high we got the largest (closest to
+  // too_high) buffer that is still in the unsafe interval. In the case where
+  // w_high < buffer < too_high we try to decrement the buffer.
+  // This way the buffer approaches (rounds towards) w.
+  // There are 3 conditions that stop the decrementation process:
+  //   1) the buffer is already below w_high
+  //   2) decrementing the buffer would make it leave the unsafe interval
+  //   3) decrementing the buffer would yield a number below w_high and farther
+  //      away than the current number. In other words:
+  //              (buffer{-1} < w_high) && w_high - buffer{-1} > buffer - w_high
+  // Instead of using the buffer directly we use its distance to too_high.
+  // Conceptually rest ~= too_high - buffer
+  // We need to do the following tests in this order to avoid over- and
+  // underflows.
+  ASSERT(rest <= unsafe_interval);
+  while (rest < small_distance &&  // Negated condition 1
+         unsafe_interval - rest >= ten_kappa &&  // Negated condition 2
+         (rest + ten_kappa < small_distance ||  // buffer{-1} > w_high
+          small_distance - rest >= rest + ten_kappa - small_distance)) {
+    buffer[length - 1]--;
+    rest += ten_kappa;
+  }
+
+  // We have approached w+ as much as possible. We now test if approaching w-
+  // would require changing the buffer. If yes, then we have two possible
+  // representations close to w, but we cannot decide which one is closer.
+  if (rest < big_distance &&
+      unsafe_interval - rest >= ten_kappa &&
+      (rest + ten_kappa < big_distance ||
+       big_distance - rest > rest + ten_kappa - big_distance)) {
+    return false;
+  }
+
+  // Weeding test.
+  //   The safe interval is [too_low + 2 ulp; too_high - 2 ulp]
+  //   Since too_low = too_high - unsafe_interval this is equivalent to
+  //      [too_high - unsafe_interval + 4 ulp; too_high - 2 ulp]
+  //   Conceptually we have: rest ~= too_high - buffer
+  return (2 * unit <= rest) && (rest <= unsafe_interval - 4 * unit);
+}
+
+
+// Rounds the buffer upwards if the result is closer to v by possibly adding
+// 1 to the buffer. If the precision of the calculation is not sufficient to
+// round correctly, return false.
+// The rounding might shift the whole buffer in which case the kappa is
+// adjusted. For example "99", kappa = 3 might become "10", kappa = 4.
+//
+// If 2*rest > ten_kappa then the buffer needs to be round up.
+// rest can have an error of +/- 1 unit. This function accounts for the
+// imprecision and returns false, if the rounding direction cannot be
+// unambiguously determined.
+//
+// Precondition: rest < ten_kappa.
+static bool RoundWeedCounted(Vector<char> buffer,
+                             int length,
+                             uint64_t rest,
+                             uint64_t ten_kappa,
+                             uint64_t unit,
+                             int* kappa) {
+  ASSERT(rest < ten_kappa);
+  // The following tests are done in a specific order to avoid overflows. They
+  // will work correctly with any uint64 values of rest < ten_kappa and unit.
+  //
+  // If the unit is too big, then we don't know which way to round. For example
+  // a unit of 50 means that the real number lies within rest +/- 50. If
+  // 10^kappa == 40 then there is no way to tell which way to round.
+  if (unit >= ten_kappa) return false;
+  // Even if unit is just half the size of 10^kappa we are already completely
+  // lost. (And after the previous test we know that the expression will not
+  // over/underflow.)
+  if (ten_kappa - unit <= unit) return false;
+  // If 2 * (rest + unit) <= 10^kappa we can safely round down.
+  if ((ten_kappa - rest > rest) && (ten_kappa - 2 * rest >= 2 * unit)) {
+    return true;
+  }
+  // If 2 * (rest - unit) >= 10^kappa, then we can safely round up.
+  if ((rest > unit) && (ten_kappa - (rest - unit) <= (rest - unit))) {
+    // Increment the last digit recursively until we find a non '9' digit.
+    buffer[length - 1]++;
+    for (int i = length - 1; i > 0; --i) {
+      if (buffer[i] != '0' + 10) break;
+      buffer[i] = '0';
+      buffer[i - 1]++;
+    }
+    // If the first digit is now '0'+ 10 we had a buffer with all '9's. With the
+    // exception of the first digit all digits are now '0'. Simply switch the
+    // first digit to '1' and adjust the kappa. Example: "99" becomes "10" and
+    // the power (the kappa) is increased.
+    if (buffer[0] == '0' + 10) {
+      buffer[0] = '1';
+      (*kappa) += 1;
+    }
+    return true;
+  }
+  return false;
+}
+
+// Returns the biggest power of ten that is less than or equal to the given
+// number. We furthermore receive the maximum number of bits 'number' has.
+//
+// Returns power == 10^(exponent_plus_one-1) such that
+//    power <= number < power * 10.
+// If number_bits == 0 then 0^(0-1) is returned.
+// The number of bits must be <= 32.
+// Precondition: number < (1 << (number_bits + 1)).
+
+// Inspired by the method for finding an integer log base 10 from here:
+// http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog10
+static unsigned int const kSmallPowersOfTen[] =
+    {0, 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000,
+     1000000000};
+
+static void BiggestPowerTen(uint32_t number,
+                            int number_bits,
+                            uint32_t* power,
+                            int* exponent_plus_one) {
+  ASSERT(number < (1u << (number_bits + 1)));
+  // 1233/4096 is approximately 1/lg(10).
+  int exponent_plus_one_guess = ((number_bits + 1) * 1233 >> 12);
+  // We increment to skip over the first entry in the kPowersOf10 table.
+  // Note: kPowersOf10[i] == 10^(i-1).
+  exponent_plus_one_guess++;
+  // We don't have any guarantees that 2^number_bits <= number.
+  if (number < kSmallPowersOfTen[exponent_plus_one_guess]) {
+    exponent_plus_one_guess--;
+  }
+  *power = kSmallPowersOfTen[exponent_plus_one_guess];
+  *exponent_plus_one = exponent_plus_one_guess;
+}
+
+// Generates the digits of input number w.
+// w is a floating-point number (DiyFp), consisting of a significand and an
+// exponent. Its exponent is bounded by kMinimalTargetExponent and
+// kMaximalTargetExponent.
+//       Hence -60 <= w.e() <= -32.
+//
+// Returns false if it fails, in which case the generated digits in the buffer
+// should not be used.
+// Preconditions:
+//  * low, w and high are correct up to 1 ulp (unit in the last place). That
+//    is, their error must be less than a unit of their last digits.
+//  * low.e() == w.e() == high.e()
+//  * low < w < high, and taking into account their error: low~ <= high~
+//  * kMinimalTargetExponent <= w.e() <= kMaximalTargetExponent
+// Postconditions: returns false if procedure fails.
+//   otherwise:
+//     * buffer is not null-terminated, but len contains the number of digits.
+//     * buffer contains the shortest possible decimal digit-sequence
+//       such that LOW < buffer * 10^kappa < HIGH, where LOW and HIGH are the
+//       correct values of low and high (without their error).
+//     * if more than one decimal representation gives the minimal number of
+//       decimal digits then the one closest to W (where W is the correct value
+//       of w) is chosen.
+// Remark: this procedure takes into account the imprecision of its input
+//   numbers. If the precision is not enough to guarantee all the postconditions
+//   then false is returned. This usually happens rarely (~0.5%).
+//
+// Say, for the sake of example, that
+//   w.e() == -48, and w.f() == 0x1234567890abcdef
+// w's value can be computed by w.f() * 2^w.e()
+// We can obtain w's integral digits by simply shifting w.f() by -w.e().
+//  -> w's integral part is 0x1234
+//  w's fractional part is therefore 0x567890abcdef.
+// Printing w's integral part is easy (simply print 0x1234 in decimal).
+// In order to print its fraction we repeatedly multiply the fraction by 10 and
+// get each digit. Example the first digit after the point would be computed by
+//   (0x567890abcdef * 10) >> 48. -> 3
+// The whole thing becomes slightly more complicated because we want to stop
+// once we have enough digits. That is, once the digits inside the buffer
+// represent 'w' we can stop. Everything inside the interval low - high
+// represents w. However we have to pay attention to low, high and w's
+// imprecision.
+static bool DigitGen(DiyFp low,
+                     DiyFp w,
+                     DiyFp high,
+                     Vector<char> buffer,
+                     int* length,
+                     int* kappa) {
+  ASSERT(low.e() == w.e() && w.e() == high.e());
+  ASSERT(low.f() + 1 <= high.f() - 1);
+  ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent);
+  // low, w and high are imprecise, but by less than one ulp (unit in the last
+  // place).
+  // If we remove (resp. add) 1 ulp from low (resp. high) we are certain that
+  // the new numbers are outside of the interval we want the final
+  // representation to lie in.
+  // Inversely adding (resp. removing) 1 ulp from low (resp. high) would yield
+  // numbers that are certain to lie in the interval. We will use this fact
+  // later on.
+  // We will now start by generating the digits within the uncertain
+  // interval. Later we will weed out representations that lie outside the safe
+  // interval and thus _might_ lie outside the correct interval.
+  uint64_t unit = 1;
+  DiyFp too_low = DiyFp(low.f() - unit, low.e());
+  DiyFp too_high = DiyFp(high.f() + unit, high.e());
+  // too_low and too_high are guaranteed to lie outside the interval we want the
+  // generated number in.
+  DiyFp unsafe_interval = DiyFp::Minus(too_high, too_low);
+  // We now cut the input number into two parts: the integral digits and the
+  // fractionals. We will not write any decimal separator though, but adapt
+  // kappa instead.
+  // Reminder: we are currently computing the digits (stored inside the buffer)
+  // such that:   too_low < buffer * 10^kappa < too_high
+  // We use too_high for the digit_generation and stop as soon as possible.
+  // If we stop early we effectively round down.
+  DiyFp one = DiyFp(static_cast<uint64_t>(1) << -w.e(), w.e());
+  // Division by one is a shift.
+  uint32_t integrals = static_cast<uint32_t>(too_high.f() >> -one.e());
+  // Modulo by one is an and.
+  uint64_t fractionals = too_high.f() & (one.f() - 1);
+  uint32_t divisor;
+  int divisor_exponent_plus_one;
+  BiggestPowerTen(integrals, DiyFp::kSignificandSize - (-one.e()),
+                  &divisor, &divisor_exponent_plus_one);
+  *kappa = divisor_exponent_plus_one;
+  *length = 0;
+  // Loop invariant: buffer = too_high / 10^kappa  (integer division)
+  // The invariant holds for the first iteration: kappa has been initialized
+  // with the divisor exponent + 1. And the divisor is the biggest power of ten
+  // that is smaller than integrals.
+  while (*kappa > 0) {
+    int digit = integrals / divisor;
+    ASSERT(digit <= 9);
+    buffer[*length] = static_cast<char>('0' + digit);
+    (*length)++;
+    integrals %= divisor;
+    (*kappa)--;
+    // Note that kappa now equals the exponent of the divisor and that the
+    // invariant thus holds again.
+    uint64_t rest =
+        (static_cast<uint64_t>(integrals) << -one.e()) + fractionals;
+    // Invariant: too_high = buffer * 10^kappa + DiyFp(rest, one.e())
+    // Reminder: unsafe_interval.e() == one.e()
+    if (rest < unsafe_interval.f()) {
+      // Rounding down (by not emitting the remaining digits) yields a number
+      // that lies within the unsafe interval.
+      return RoundWeed(buffer, *length, DiyFp::Minus(too_high, w).f(),
+                       unsafe_interval.f(), rest,
+                       static_cast<uint64_t>(divisor) << -one.e(), unit);
+    }
+    divisor /= 10;
+  }
+
+  // The integrals have been generated. We are at the point of the decimal
+  // separator. In the following loop we simply multiply the remaining digits by
+  // 10 and divide by one. We just need to pay attention to multiply associated
+  // data (like the interval or 'unit'), too.
+  // Note that the multiplication by 10 does not overflow, because w.e >= -60
+  // and thus one.e >= -60.
+  ASSERT(one.e() >= -60);
+  ASSERT(fractionals < one.f());
+  ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f());
+  for (;;) {
+    fractionals *= 10;
+    unit *= 10;
+    unsafe_interval.set_f(unsafe_interval.f() * 10);
+    // Integer division by one.
+    int digit = static_cast<int>(fractionals >> -one.e());
+    ASSERT(digit <= 9);
+    buffer[*length] = static_cast<char>('0' + digit);
+    (*length)++;
+    fractionals &= one.f() - 1;  // Modulo by one.
+    (*kappa)--;
+    if (fractionals < unsafe_interval.f()) {
+      return RoundWeed(buffer, *length, DiyFp::Minus(too_high, w).f() * unit,
+                       unsafe_interval.f(), fractionals, one.f(), unit);
+    }
+  }
+}
+
+
+
+// Generates (at most) requested_digits digits of input number w.
+// w is a floating-point number (DiyFp), consisting of a significand and an
+// exponent. Its exponent is bounded by kMinimalTargetExponent and
+// kMaximalTargetExponent.
+//       Hence -60 <= w.e() <= -32.
+//
+// Returns false if it fails, in which case the generated digits in the buffer
+// should not be used.
+// Preconditions:
+//  * w is correct up to 1 ulp (unit in the last place). That
+//    is, its error must be strictly less than a unit of its last digit.
+//  * kMinimalTargetExponent <= w.e() <= kMaximalTargetExponent
+//
+// Postconditions: returns false if procedure fails.
+//   otherwise:
+//     * buffer is not null-terminated, but length contains the number of
+//       digits.
+//     * the representation in buffer is the most precise representation of
+//       requested_digits digits.
+//     * buffer contains at most requested_digits digits of w. If there are less
+//       than requested_digits digits then some trailing '0's have been removed.
+//     * kappa is such that
+//            w = buffer * 10^kappa + eps with |eps| < 10^kappa / 2.
+//
+// Remark: This procedure takes into account the imprecision of its input
+//   numbers. If the precision is not enough to guarantee all the postconditions
+//   then false is returned. This usually happens rarely, but the failure-rate
+//   increases with higher requested_digits.
+static bool DigitGenCounted(DiyFp w,
+                            int requested_digits,
+                            Vector<char> buffer,
+                            int* length,
+                            int* kappa) {
+  ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent);
+  ASSERT(kMinimalTargetExponent >= -60);
+  ASSERT(kMaximalTargetExponent <= -32);
+  // w is assumed to have an error less than 1 unit. Whenever w is scaled we
+  // also scale its error.
+  uint64_t w_error = 1;
+  // We cut the input number into two parts: the integral digits and the
+  // fractional digits. We don't emit any decimal separator, but adapt kappa
+  // instead. Example: instead of writing "1.2" we put "12" into the buffer and
+  // increase kappa by 1.
+  DiyFp one = DiyFp(static_cast<uint64_t>(1) << -w.e(), w.e());
+  // Division by one is a shift.
+  uint32_t integrals = static_cast<uint32_t>(w.f() >> -one.e());
+  // Modulo by one is an and.
+  uint64_t fractionals = w.f() & (one.f() - 1);
+  uint32_t divisor;
+  int divisor_exponent_plus_one;
+  BiggestPowerTen(integrals, DiyFp::kSignificandSize - (-one.e()),
+                  &divisor, &divisor_exponent_plus_one);
+  *kappa = divisor_exponent_plus_one;
+  *length = 0;
+
+  // Loop invariant: buffer = w / 10^kappa  (integer division)
+  // The invariant holds for the first iteration: kappa has been initialized
+  // with the divisor exponent + 1. And the divisor is the biggest power of ten
+  // that is smaller than 'integrals'.
+  while (*kappa > 0) {
+    int digit = integrals / divisor;
+    ASSERT(digit <= 9);
+    buffer[*length] = static_cast<char>('0' + digit);
+    (*length)++;
+    requested_digits--;
+    integrals %= divisor;
+    (*kappa)--;
+    // Note that kappa now equals the exponent of the divisor and that the
+    // invariant thus holds again.
+    if (requested_digits == 0) break;
+    divisor /= 10;
+  }
+
+  if (requested_digits == 0) {
+    uint64_t rest =
+        (static_cast<uint64_t>(integrals) << -one.e()) + fractionals;
+    return RoundWeedCounted(buffer, *length, rest,
+                            static_cast<uint64_t>(divisor) << -one.e(), w_error,
+                            kappa);
+  }
+
+  // The integrals have been generated. We are at the point of the decimal
+  // separator. In the following loop we simply multiply the remaining digits by
+  // 10 and divide by one. We just need to pay attention to multiply associated
+  // data (the 'unit'), too.
+  // Note that the multiplication by 10 does not overflow, because w.e >= -60
+  // and thus one.e >= -60.
+  ASSERT(one.e() >= -60);
+  ASSERT(fractionals < one.f());
+  ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f());
+  while (requested_digits > 0 && fractionals > w_error) {
+    fractionals *= 10;
+    w_error *= 10;
+    // Integer division by one.
+    int digit = static_cast<int>(fractionals >> -one.e());
+    ASSERT(digit <= 9);
+    buffer[*length] = static_cast<char>('0' + digit);
+    (*length)++;
+    requested_digits--;
+    fractionals &= one.f() - 1;  // Modulo by one.
+    (*kappa)--;
+  }
+  if (requested_digits != 0) return false;
+  return RoundWeedCounted(buffer, *length, fractionals, one.f(), w_error,
+                          kappa);
+}
+
+
+// Provides a decimal representation of v.
+// Returns true if it succeeds, otherwise the result cannot be trusted.
+// There will be *length digits inside the buffer (not null-terminated).
+// If the function returns true then
+//        v == (double) (buffer * 10^decimal_exponent).
+// The digits in the buffer are the shortest representation possible: no
+// 0.09999999999999999 instead of 0.1. The shorter representation will even be
+// chosen even if the longer one would be closer to v.
+// The last digit will be closest to the actual v. That is, even if several
+// digits might correctly yield 'v' when read again, the closest will be
+// computed.
+static bool Grisu3(double v,
+                   FastDtoaMode mode,
+                   Vector<char> buffer,
+                   int* length,
+                   int* decimal_exponent) {
+  DiyFp w = Double(v).AsNormalizedDiyFp();
+  // boundary_minus and boundary_plus are the boundaries between v and its
+  // closest floating-point neighbors. Any number strictly between
+  // boundary_minus and boundary_plus will round to v when convert to a double.
+  // Grisu3 will never output representations that lie exactly on a boundary.
+  DiyFp boundary_minus, boundary_plus;
+  if (mode == FAST_DTOA_SHORTEST) {
+    Double(v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
+  } else {
+    ASSERT(mode == FAST_DTOA_SHORTEST_SINGLE);
+    float single_v = static_cast<float>(v);
+    Single(single_v).NormalizedBoundaries(&boundary_minus, &boundary_plus);
+  }
+  ASSERT(boundary_plus.e() == w.e());
+  DiyFp ten_mk;  // Cached power of ten: 10^-k
+  int mk;        // -k
+  int ten_mk_minimal_binary_exponent =
+     kMinimalTargetExponent - (w.e() + DiyFp::kSignificandSize);
+  int ten_mk_maximal_binary_exponent =
+     kMaximalTargetExponent - (w.e() + DiyFp::kSignificandSize);
+  PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
+      ten_mk_minimal_binary_exponent,
+      ten_mk_maximal_binary_exponent,
+      &ten_mk, &mk);
+  ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() +
+          DiyFp::kSignificandSize) &&
+         (kMaximalTargetExponent >= w.e() + ten_mk.e() +
+          DiyFp::kSignificandSize));
+  // Note that ten_mk is only an approximation of 10^-k. A DiyFp only contains a
+  // 64 bit significand and ten_mk is thus only precise up to 64 bits.
+
+  // The DiyFp::Times procedure rounds its result, and ten_mk is approximated
+  // too. The variable scaled_w (as well as scaled_boundary_minus/plus) are now
+  // off by a small amount.
+  // In fact: scaled_w - w*10^k < 1ulp (unit in the last place) of scaled_w.
+  // In other words: let f = scaled_w.f() and e = scaled_w.e(), then
+  //           (f-1) * 2^e < w*10^k < (f+1) * 2^e
+  DiyFp scaled_w = DiyFp::Times(w, ten_mk);
+  ASSERT(scaled_w.e() ==
+         boundary_plus.e() + ten_mk.e() + DiyFp::kSignificandSize);
+  // In theory it would be possible to avoid some recomputations by computing
+  // the difference between w and boundary_minus/plus (a power of 2) and to
+  // compute scaled_boundary_minus/plus by subtracting/adding from
+  // scaled_w. However the code becomes much less readable and the speed
+  // enhancements are not terriffic.
+  DiyFp scaled_boundary_minus = DiyFp::Times(boundary_minus, ten_mk);
+  DiyFp scaled_boundary_plus  = DiyFp::Times(boundary_plus,  ten_mk);
+
+  // DigitGen will generate the digits of scaled_w. Therefore we have
+  // v == (double) (scaled_w * 10^-mk).
+  // Set decimal_exponent == -mk and pass it to DigitGen. If scaled_w is not an
+  // integer than it will be updated. For instance if scaled_w == 1.23 then
+  // the buffer will be filled with "123" und the decimal_exponent will be
+  // decreased by 2.
+  int kappa;
+  bool result = DigitGen(scaled_boundary_minus, scaled_w, scaled_boundary_plus,
+                         buffer, length, &kappa);
+  *decimal_exponent = -mk + kappa;
+  return result;
+}
+
+
+// The "counted" version of grisu3 (see above) only generates requested_digits
+// number of digits. This version does not generate the shortest representation,
+// and with enough requested digits 0.1 will at some point print as 0.9999999...
+// Grisu3 is too imprecise for real halfway cases (1.5 will not work) and
+// therefore the rounding strategy for halfway cases is irrelevant.
+static bool Grisu3Counted(double v,
+                          int requested_digits,
+                          Vector<char> buffer,
+                          int* length,
+                          int* decimal_exponent) {
+  DiyFp w = Double(v).AsNormalizedDiyFp();
+  DiyFp ten_mk;  // Cached power of ten: 10^-k
+  int mk;        // -k
+  int ten_mk_minimal_binary_exponent =
+     kMinimalTargetExponent - (w.e() + DiyFp::kSignificandSize);
+  int ten_mk_maximal_binary_exponent =
+     kMaximalTargetExponent - (w.e() + DiyFp::kSignificandSize);
+  PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
+      ten_mk_minimal_binary_exponent,
+      ten_mk_maximal_binary_exponent,
+      &ten_mk, &mk);
+  ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() +
+          DiyFp::kSignificandSize) &&
+         (kMaximalTargetExponent >= w.e() + ten_mk.e() +
+          DiyFp::kSignificandSize));
+  // Note that ten_mk is only an approximation of 10^-k. A DiyFp only contains a
+  // 64 bit significand and ten_mk is thus only precise up to 64 bits.
+
+  // The DiyFp::Times procedure rounds its result, and ten_mk is approximated
+  // too. The variable scaled_w (as well as scaled_boundary_minus/plus) are now
+  // off by a small amount.
+  // In fact: scaled_w - w*10^k < 1ulp (unit in the last place) of scaled_w.
+  // In other words: let f = scaled_w.f() and e = scaled_w.e(), then
+  //           (f-1) * 2^e < w*10^k < (f+1) * 2^e
+  DiyFp scaled_w = DiyFp::Times(w, ten_mk);
+
+  // We now have (double) (scaled_w * 10^-mk).
+  // DigitGen will generate the first requested_digits digits of scaled_w and
+  // return together with a kappa such that scaled_w ~= buffer * 10^kappa. (It
+  // will not always be exactly the same since DigitGenCounted only produces a
+  // limited number of digits.)
+  int kappa;
+  bool result = DigitGenCounted(scaled_w, requested_digits,
+                                buffer, length, &kappa);
+  *decimal_exponent = -mk + kappa;
+  return result;
+}
+
+
+bool FastDtoa(double v,
+              FastDtoaMode mode,
+              int requested_digits,
+              Vector<char> buffer,
+              int* length,
+              int* decimal_point) {
+  ASSERT(v > 0);
+  ASSERT(!Double(v).IsSpecial());
+
+  bool result = false;
+  int decimal_exponent = 0;
+  switch (mode) {
+    case FAST_DTOA_SHORTEST:
+    case FAST_DTOA_SHORTEST_SINGLE:
+      result = Grisu3(v, mode, buffer, length, &decimal_exponent);
+      break;
+    case FAST_DTOA_PRECISION:
+      result = Grisu3Counted(v, requested_digits,
+                             buffer, length, &decimal_exponent);
+      break;
+    default:
+      UNREACHABLE();
+  }
+  if (result) {
+    *decimal_point = *length + decimal_exponent;
+    buffer[*length] = '\0';
+  }
+  return result;
+}
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-fast-dtoa.h b/source/i18n/double-conversion-fast-dtoa.h
new file mode 100644 (file)
index 0000000..58a6470
--- /dev/null
@@ -0,0 +1,106 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_FAST_DTOA_H_
+#define DOUBLE_CONVERSION_FAST_DTOA_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+enum FastDtoaMode {
+  // Computes the shortest representation of the given input. The returned
+  // result will be the most accurate number of this length. Longer
+  // representations might be more accurate.
+  FAST_DTOA_SHORTEST,
+  // Same as FAST_DTOA_SHORTEST but for single-precision floats.
+  FAST_DTOA_SHORTEST_SINGLE,
+  // Computes a representation where the precision (number of digits) is
+  // given as input. The precision is independent of the decimal point.
+  FAST_DTOA_PRECISION
+};
+
+// FastDtoa will produce at most kFastDtoaMaximalLength digits. This does not
+// include the terminating '\0' character.
+static const int kFastDtoaMaximalLength = 17;
+// Same for single-precision numbers.
+static const int kFastDtoaMaximalSingleLength = 9;
+
+// Provides a decimal representation of v.
+// The result should be interpreted as buffer * 10^(point - length).
+//
+// Precondition:
+//   * v must be a strictly positive finite double.
+//
+// Returns true if it succeeds, otherwise the result can not be trusted.
+// There will be *length digits inside the buffer followed by a null terminator.
+// If the function returns true and mode equals
+//   - FAST_DTOA_SHORTEST, then
+//     the parameter requested_digits is ignored.
+//     The result satisfies
+//         v == (double) (buffer * 10^(point - length)).
+//     The digits in the buffer are the shortest representation possible. E.g.
+//     if 0.099999999999 and 0.1 represent the same double then "1" is returned
+//     with point = 0.
+//     The last digit will be closest to the actual v. That is, even if several
+//     digits might correctly yield 'v' when read again, the buffer will contain
+//     the one closest to v.
+//   - FAST_DTOA_PRECISION, then
+//     the buffer contains requested_digits digits.
+//     the difference v - (buffer * 10^(point-length)) is closest to zero for
+//     all possible representations of requested_digits digits.
+//     If there are two values that are equally close, then FastDtoa returns
+//     false.
+// For both modes the buffer must be large enough to hold the result.
+bool FastDtoa(double d,
+              FastDtoaMode mode,
+              int requested_digits,
+              Vector<char> buffer,
+              int* length,
+              int* decimal_point);
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_FAST_DTOA_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-ieee.h b/source/i18n/double-conversion-ieee.h
new file mode 100644 (file)
index 0000000..952bcea
--- /dev/null
@@ -0,0 +1,420 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_DOUBLE_H_
+#define DOUBLE_CONVERSION_DOUBLE_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-diy-fp.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+// We assume that doubles and uint64_t have the same endianness.
+static uint64_t double_to_uint64(double d) { return BitCast<uint64_t>(d); }
+static double uint64_to_double(uint64_t d64) { return BitCast<double>(d64); }
+static uint32_t float_to_uint32(float f) { return BitCast<uint32_t>(f); }
+static float uint32_to_float(uint32_t d32) { return BitCast<float>(d32); }
+
+// Helper functions for doubles.
+class Double {
+ public:
+  static const uint64_t kSignMask = UINT64_2PART_C(0x80000000, 00000000);
+  static const uint64_t kExponentMask = UINT64_2PART_C(0x7FF00000, 00000000);
+  static const uint64_t kSignificandMask = UINT64_2PART_C(0x000FFFFF, FFFFFFFF);
+  static const uint64_t kHiddenBit = UINT64_2PART_C(0x00100000, 00000000);
+  static const int kPhysicalSignificandSize = 52;  // Excludes the hidden bit.
+  static const int kSignificandSize = 53;
+
+  Double() : d64_(0) {}
+  explicit Double(double d) : d64_(double_to_uint64(d)) {}
+  explicit Double(uint64_t d64) : d64_(d64) {}
+  explicit Double(DiyFp diy_fp)
+    : d64_(DiyFpToUint64(diy_fp)) {}
+
+  // The value encoded by this Double must be greater or equal to +0.0.
+  // It must not be special (infinity, or NaN).
+  DiyFp AsDiyFp() const {
+    ASSERT(Sign() > 0);
+    ASSERT(!IsSpecial());
+    return DiyFp(Significand(), Exponent());
+  }
+
+  // The value encoded by this Double must be strictly greater than 0.
+  DiyFp AsNormalizedDiyFp() const {
+    ASSERT(value() > 0.0);
+    uint64_t f = Significand();
+    int e = Exponent();
+
+    // The current double could be a denormal.
+    while ((f & kHiddenBit) == 0) {
+      f <<= 1;
+      e--;
+    }
+    // Do the final shifts in one go.
+    f <<= DiyFp::kSignificandSize - kSignificandSize;
+    e -= DiyFp::kSignificandSize - kSignificandSize;
+    return DiyFp(f, e);
+  }
+
+  // Returns the double's bit as uint64.
+  uint64_t AsUint64() const {
+    return d64_;
+  }
+
+  // Returns the next greater double. Returns +infinity on input +infinity.
+  double NextDouble() const {
+    if (d64_ == kInfinity) return Double(kInfinity).value();
+    if (Sign() < 0 && Significand() == 0) {
+      // -0.0
+      return 0.0;
+    }
+    if (Sign() < 0) {
+      return Double(d64_ - 1).value();
+    } else {
+      return Double(d64_ + 1).value();
+    }
+  }
+
+  double PreviousDouble() const {
+    if (d64_ == (kInfinity | kSignMask)) return -Infinity();
+    if (Sign() < 0) {
+      return Double(d64_ + 1).value();
+    } else {
+      if (Significand() == 0) return -0.0;
+      return Double(d64_ - 1).value();
+    }
+  }
+
+  int Exponent() const {
+    if (IsDenormal()) return kDenormalExponent;
+
+    uint64_t d64 = AsUint64();
+    int biased_e =
+        static_cast<int>((d64 & kExponentMask) >> kPhysicalSignificandSize);
+    return biased_e - kExponentBias;
+  }
+
+  uint64_t Significand() const {
+    uint64_t d64 = AsUint64();
+    uint64_t significand = d64 & kSignificandMask;
+    if (!IsDenormal()) {
+      return significand + kHiddenBit;
+    } else {
+      return significand;
+    }
+  }
+
+  // Returns true if the double is a denormal.
+  bool IsDenormal() const {
+    uint64_t d64 = AsUint64();
+    return (d64 & kExponentMask) == 0;
+  }
+
+  // We consider denormals not to be special.
+  // Hence only Infinity and NaN are special.
+  bool IsSpecial() const {
+    uint64_t d64 = AsUint64();
+    return (d64 & kExponentMask) == kExponentMask;
+  }
+
+  bool IsNan() const {
+    uint64_t d64 = AsUint64();
+    return ((d64 & kExponentMask) == kExponentMask) &&
+        ((d64 & kSignificandMask) != 0);
+  }
+
+  bool IsInfinite() const {
+    uint64_t d64 = AsUint64();
+    return ((d64 & kExponentMask) == kExponentMask) &&
+        ((d64 & kSignificandMask) == 0);
+  }
+
+  int Sign() const {
+    uint64_t d64 = AsUint64();
+    return (d64 & kSignMask) == 0? 1: -1;
+  }
+
+  // Precondition: the value encoded by this Double must be greater or equal
+  // than +0.0.
+  DiyFp UpperBoundary() const {
+    ASSERT(Sign() > 0);
+    return DiyFp(Significand() * 2 + 1, Exponent() - 1);
+  }
+
+  // Computes the two boundaries of this.
+  // The bigger boundary (m_plus) is normalized. The lower boundary has the same
+  // exponent as m_plus.
+  // Precondition: the value encoded by this Double must be greater than 0.
+  void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const {
+    ASSERT(value() > 0.0);
+    DiyFp v = this->AsDiyFp();
+    DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1));
+    DiyFp m_minus;
+    if (LowerBoundaryIsCloser()) {
+      m_minus = DiyFp((v.f() << 2) - 1, v.e() - 2);
+    } else {
+      m_minus = DiyFp((v.f() << 1) - 1, v.e() - 1);
+    }
+    m_minus.set_f(m_minus.f() << (m_minus.e() - m_plus.e()));
+    m_minus.set_e(m_plus.e());
+    *out_m_plus = m_plus;
+    *out_m_minus = m_minus;
+  }
+
+  bool LowerBoundaryIsCloser() const {
+    // The boundary is closer if the significand is of the form f == 2^p-1 then
+    // the lower boundary is closer.
+    // Think of v = 1000e10 and v- = 9999e9.
+    // Then the boundary (== (v - v-)/2) is not just at a distance of 1e9 but
+    // at a distance of 1e8.
+    // The only exception is for the smallest normal: the largest denormal is
+    // at the same distance as its successor.
+    // Note: denormals have the same exponent as the smallest normals.
+    bool physical_significand_is_zero = ((AsUint64() & kSignificandMask) == 0);
+    return physical_significand_is_zero && (Exponent() != kDenormalExponent);
+  }
+
+  double value() const { return uint64_to_double(d64_); }
+
+  // Returns the significand size for a given order of magnitude.
+  // If v = f*2^e with 2^p-1 <= f <= 2^p then p+e is v's order of magnitude.
+  // This function returns the number of significant binary digits v will have
+  // once it's encoded into a double. In almost all cases this is equal to
+  // kSignificandSize. The only exceptions are denormals. They start with
+  // leading zeroes and their effective significand-size is hence smaller.
+  static int SignificandSizeForOrderOfMagnitude(int order) {
+    if (order >= (kDenormalExponent + kSignificandSize)) {
+      return kSignificandSize;
+    }
+    if (order <= kDenormalExponent) return 0;
+    return order - kDenormalExponent;
+  }
+
+  static double Infinity() {
+    return Double(kInfinity).value();
+  }
+
+  static double NaN() {
+    return Double(kNaN).value();
+  }
+
+ private:
+  static const int kExponentBias = 0x3FF + kPhysicalSignificandSize;
+  static const int kDenormalExponent = -kExponentBias + 1;
+  static const int kMaxExponent = 0x7FF - kExponentBias;
+  static const uint64_t kInfinity = UINT64_2PART_C(0x7FF00000, 00000000);
+  static const uint64_t kNaN = UINT64_2PART_C(0x7FF80000, 00000000);
+
+  const uint64_t d64_;
+
+  static uint64_t DiyFpToUint64(DiyFp diy_fp) {
+    uint64_t significand = diy_fp.f();
+    int exponent = diy_fp.e();
+    while (significand > kHiddenBit + kSignificandMask) {
+      significand >>= 1;
+      exponent++;
+    }
+    if (exponent >= kMaxExponent) {
+      return kInfinity;
+    }
+    if (exponent < kDenormalExponent) {
+      return 0;
+    }
+    while (exponent > kDenormalExponent && (significand & kHiddenBit) == 0) {
+      significand <<= 1;
+      exponent--;
+    }
+    uint64_t biased_exponent;
+    if (exponent == kDenormalExponent && (significand & kHiddenBit) == 0) {
+      biased_exponent = 0;
+    } else {
+      biased_exponent = static_cast<uint64_t>(exponent + kExponentBias);
+    }
+    return (significand & kSignificandMask) |
+        (biased_exponent << kPhysicalSignificandSize);
+  }
+
+  DISALLOW_COPY_AND_ASSIGN(Double);
+};
+
+class Single {
+ public:
+  static const uint32_t kSignMask = 0x80000000;
+  static const uint32_t kExponentMask = 0x7F800000;
+  static const uint32_t kSignificandMask = 0x007FFFFF;
+  static const uint32_t kHiddenBit = 0x00800000;
+  static const int kPhysicalSignificandSize = 23;  // Excludes the hidden bit.
+  static const int kSignificandSize = 24;
+
+  Single() : d32_(0) {}
+  explicit Single(float f) : d32_(float_to_uint32(f)) {}
+  explicit Single(uint32_t d32) : d32_(d32) {}
+
+  // The value encoded by this Single must be greater or equal to +0.0.
+  // It must not be special (infinity, or NaN).
+  DiyFp AsDiyFp() const {
+    ASSERT(Sign() > 0);
+    ASSERT(!IsSpecial());
+    return DiyFp(Significand(), Exponent());
+  }
+
+  // Returns the single's bit as uint64.
+  uint32_t AsUint32() const {
+    return d32_;
+  }
+
+  int Exponent() const {
+    if (IsDenormal()) return kDenormalExponent;
+
+    uint32_t d32 = AsUint32();
+    int biased_e =
+        static_cast<int>((d32 & kExponentMask) >> kPhysicalSignificandSize);
+    return biased_e - kExponentBias;
+  }
+
+  uint32_t Significand() const {
+    uint32_t d32 = AsUint32();
+    uint32_t significand = d32 & kSignificandMask;
+    if (!IsDenormal()) {
+      return significand + kHiddenBit;
+    } else {
+      return significand;
+    }
+  }
+
+  // Returns true if the single is a denormal.
+  bool IsDenormal() const {
+    uint32_t d32 = AsUint32();
+    return (d32 & kExponentMask) == 0;
+  }
+
+  // We consider denormals not to be special.
+  // Hence only Infinity and NaN are special.
+  bool IsSpecial() const {
+    uint32_t d32 = AsUint32();
+    return (d32 & kExponentMask) == kExponentMask;
+  }
+
+  bool IsNan() const {
+    uint32_t d32 = AsUint32();
+    return ((d32 & kExponentMask) == kExponentMask) &&
+        ((d32 & kSignificandMask) != 0);
+  }
+
+  bool IsInfinite() const {
+    uint32_t d32 = AsUint32();
+    return ((d32 & kExponentMask) == kExponentMask) &&
+        ((d32 & kSignificandMask) == 0);
+  }
+
+  int Sign() const {
+    uint32_t d32 = AsUint32();
+    return (d32 & kSignMask) == 0? 1: -1;
+  }
+
+  // Computes the two boundaries of this.
+  // The bigger boundary (m_plus) is normalized. The lower boundary has the same
+  // exponent as m_plus.
+  // Precondition: the value encoded by this Single must be greater than 0.
+  void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const {
+    ASSERT(value() > 0.0);
+    DiyFp v = this->AsDiyFp();
+    DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1));
+    DiyFp m_minus;
+    if (LowerBoundaryIsCloser()) {
+      m_minus = DiyFp((v.f() << 2) - 1, v.e() - 2);
+    } else {
+      m_minus = DiyFp((v.f() << 1) - 1, v.e() - 1);
+    }
+    m_minus.set_f(m_minus.f() << (m_minus.e() - m_plus.e()));
+    m_minus.set_e(m_plus.e());
+    *out_m_plus = m_plus;
+    *out_m_minus = m_minus;
+  }
+
+  // Precondition: the value encoded by this Single must be greater or equal
+  // than +0.0.
+  DiyFp UpperBoundary() const {
+    ASSERT(Sign() > 0);
+    return DiyFp(Significand() * 2 + 1, Exponent() - 1);
+  }
+
+  bool LowerBoundaryIsCloser() const {
+    // The boundary is closer if the significand is of the form f == 2^p-1 then
+    // the lower boundary is closer.
+    // Think of v = 1000e10 and v- = 9999e9.
+    // Then the boundary (== (v - v-)/2) is not just at a distance of 1e9 but
+    // at a distance of 1e8.
+    // The only exception is for the smallest normal: the largest denormal is
+    // at the same distance as its successor.
+    // Note: denormals have the same exponent as the smallest normals.
+    bool physical_significand_is_zero = ((AsUint32() & kSignificandMask) == 0);
+    return physical_significand_is_zero && (Exponent() != kDenormalExponent);
+  }
+
+  float value() const { return uint32_to_float(d32_); }
+
+  static float Infinity() {
+    return Single(kInfinity).value();
+  }
+
+  static float NaN() {
+    return Single(kNaN).value();
+  }
+
+ private:
+  static const int kExponentBias = 0x7F + kPhysicalSignificandSize;
+  static const int kDenormalExponent = -kExponentBias + 1;
+  static const int kMaxExponent = 0xFF - kExponentBias;
+  static const uint32_t kInfinity = 0x7F800000;
+  static const uint32_t kNaN = 0x7FC00000;
+
+  const uint32_t d32_;
+
+  DISALLOW_COPY_AND_ASSIGN(Single);
+};
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_DOUBLE_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h
new file mode 100644 (file)
index 0000000..02795b4
--- /dev/null
@@ -0,0 +1,358 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_UTILS_H_
+#define DOUBLE_CONVERSION_UTILS_H_
+
+#include <stdlib.h>
+#include <string.h>
+
+// ICU PATCH: Use U_ASSERT instead of <assert.h>
+#include "uassert.h"
+#define ASSERT U_ASSERT
+
+#ifndef UNIMPLEMENTED
+#define UNIMPLEMENTED() (abort())
+#endif
+#ifndef DOUBLE_CONVERSION_NO_RETURN
+#ifdef _MSC_VER
+#define DOUBLE_CONVERSION_NO_RETURN __declspec(noreturn)
+#else
+#define DOUBLE_CONVERSION_NO_RETURN __attribute__((noreturn))
+#endif
+#endif
+#ifndef UNREACHABLE
+#ifdef _MSC_VER
+void DOUBLE_CONVERSION_NO_RETURN abort_noreturn();
+inline void abort_noreturn() { abort(); }
+#define UNREACHABLE()   (abort_noreturn())
+#else
+#define UNREACHABLE()   (abort())
+#endif
+#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.
+// An easy way to test if the floating-point operations are correct is to
+// evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then
+// the result is equal to 89255e-22.
+// The best way to test this, is to create a division-function and to compare
+// the output of the division with the expected result. (Inlining must be
+// disabled.)
+// On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
+// ICU PATCH: Enable ARM builds for Windows with 'defined(_M_ARM)'.
+#if defined(_M_X64) || defined(__x86_64__) || \
+    defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || \
+    defined(__hppa__) || defined(__ia64__) || \
+    defined(__mips__) || \
+    defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
+    defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
+    defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
+    defined(__SH4__) || defined(__alpha__) || \
+    defined(_MIPS_ARCH_MIPS32R2) || \
+    defined(__AARCH64EL__) || defined(__aarch64__) || \
+    defined(__riscv)
+#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+#elif defined(__mc68000__)
+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
+#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
+#if defined(_WIN32)
+// Windows uses a 64bit wide floating point stack.
+#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+#else
+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
+#endif  // _WIN32
+#else
+#error Target architecture was not detected as supported by Double-Conversion.
+#endif
+
+#if defined(__GNUC__)
+#define DOUBLE_CONVERSION_UNUSED __attribute__((unused))
+#else
+#define DOUBLE_CONVERSION_UNUSED
+#endif
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;  // NOLINT
+typedef unsigned short uint16_t;  // NOLINT
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+// intptr_t and friends are defined in crtdefs.h through stdio.h.
+
+#else
+
+#include <stdint.h>
+
+#endif
+
+typedef uint16_t uc16;
+
+// The following macro works on both 32 and 64-bit platforms.
+// Usage: instead of writing 0x1234567890123456
+//      write UINT64_2PART_C(0x12345678,90123456);
+#define UINT64_2PART_C(a, b) (((static_cast<uint64_t>(a) << 32) + 0x##b##u))
+
+
+// The expression ARRAY_SIZE(a) is a compile-time constant of type
+// size_t which represents the number of elements of the given
+// array. You should only use ARRAY_SIZE on statically allocated
+// arrays.
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(a)                                   \
+  ((sizeof(a) / sizeof(*(a))) /                         \
+  static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
+#endif
+
+// A macro to disallow the evil copy constructor and operator= functions
+// This should be used in the private: declarations for a class
+#ifndef DISALLOW_COPY_AND_ASSIGN
+#define DISALLOW_COPY_AND_ASSIGN(TypeName)      \
+  TypeName(const TypeName&);                    \
+  void operator=(const TypeName&)
+#endif
+
+// A macro to disallow all the implicit constructors, namely the
+// default constructor, copy constructor and operator= functions.
+//
+// This should be used in the private: declarations for a class
+// that wants to prevent anyone from instantiating it. This is
+// especially useful for classes containing only static methods.
+#ifndef DISALLOW_IMPLICIT_CONSTRUCTORS
+#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
+  TypeName();                                    \
+  DISALLOW_COPY_AND_ASSIGN(TypeName)
+#endif
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+static const int kCharSize = sizeof(char);
+
+// Returns the maximum of the two parameters.
+template <typename T>
+static T Max(T a, T b) {
+  return a < b ? b : a;
+}
+
+
+// Returns the minimum of the two parameters.
+template <typename T>
+static T Min(T a, T b) {
+  return a < b ? a : b;
+}
+
+
+inline int StrLength(const char* string) {
+  size_t length = strlen(string);
+  ASSERT(length == static_cast<size_t>(static_cast<int>(length)));
+  return static_cast<int>(length);
+}
+
+// This is a simplified version of V8's Vector class.
+template <typename T>
+class Vector {
+ public:
+  Vector() : start_(NULL), length_(0) {}
+  Vector(T* data, int len) : start_(data), length_(len) {
+    ASSERT(len == 0 || (len > 0 && data != NULL));
+  }
+
+  // Returns a vector using the same backing storage as this one,
+  // spanning from and including 'from', to but not including 'to'.
+  Vector<T> SubVector(int from, int to) {
+    ASSERT(to <= length_);
+    ASSERT(from < to);
+    ASSERT(0 <= from);
+    return Vector<T>(start() + from, to - from);
+  }
+
+  // Returns the length of the vector.
+  int length() const { return length_; }
+
+  // Returns whether or not the vector is empty.
+  bool is_empty() const { return length_ == 0; }
+
+  // Returns the pointer to the start of the data in the vector.
+  T* start() const { return start_; }
+
+  // Access individual vector elements - checks bounds in debug mode.
+  T& operator[](int index) const {
+    ASSERT(0 <= index && index < length_);
+    return start_[index];
+  }
+
+  T& first() { return start_[0]; }
+
+  T& last() { return start_[length_ - 1]; }
+
+ private:
+  T* start_;
+  int length_;
+};
+
+
+// Helper class for building result strings in a character buffer. The
+// purpose of the class is to use safe operations that checks the
+// buffer bounds on all operations in debug mode.
+class StringBuilder {
+ public:
+  StringBuilder(char* buffer, int buffer_size)
+      : buffer_(buffer, buffer_size), position_(0) { }
+
+  ~StringBuilder() { if (!is_finalized()) Finalize(); }
+
+  int size() const { return buffer_.length(); }
+
+  // Get the current position in the builder.
+  int position() const {
+    ASSERT(!is_finalized());
+    return position_;
+  }
+
+  // Reset the position.
+  void Reset() { position_ = 0; }
+
+  // Add a single character to the builder. It is not allowed to add
+  // 0-characters; use the Finalize() method to terminate the string
+  // instead.
+  void AddCharacter(char c) {
+    ASSERT(c != '\0');
+    ASSERT(!is_finalized() && position_ < buffer_.length());
+    buffer_[position_++] = c;
+  }
+
+  // Add an entire string to the builder. Uses strlen() internally to
+  // compute the length of the input string.
+  void AddString(const char* s) {
+    AddSubstring(s, StrLength(s));
+  }
+
+  // Add the first 'n' characters of the given string 's' to the
+  // builder. The input string must have enough characters.
+  void AddSubstring(const char* s, int n) {
+    ASSERT(!is_finalized() && position_ + n < buffer_.length());
+    ASSERT(static_cast<size_t>(n) <= strlen(s));
+    memmove(&buffer_[position_], s, n * kCharSize);
+    position_ += n;
+  }
+
+
+  // Add character padding to the builder. If count is non-positive,
+  // nothing is added to the builder.
+  void AddPadding(char c, int count) {
+    for (int i = 0; i < count; i++) {
+      AddCharacter(c);
+    }
+  }
+
+  // Finalize the string by 0-terminating it and returning the buffer.
+  char* Finalize() {
+    ASSERT(!is_finalized() && position_ < buffer_.length());
+    buffer_[position_] = '\0';
+    // Make sure nobody managed to add a 0-character to the
+    // buffer while building the string.
+    ASSERT(strlen(buffer_.start()) == static_cast<size_t>(position_));
+    position_ = -1;
+    ASSERT(is_finalized());
+    return buffer_.start();
+  }
+
+ private:
+  Vector<char> buffer_;
+  int position_;
+
+  bool is_finalized() const { return position_ < 0; }
+
+  DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder);
+};
+
+// The type-based aliasing rule allows the compiler to assume that pointers of
+// different types (for some definition of different) never alias each other.
+// Thus the following code does not work:
+//
+// float f = foo();
+// int fbits = *(int*)(&f);
+//
+// The compiler 'knows' that the int pointer can't refer to f since the types
+// don't match, so the compiler may cache f in a register, leaving random data
+// in fbits.  Using C++ style casts makes no difference, however a pointer to
+// char data is assumed to alias any other pointer.  This is the 'memcpy
+// exception'.
+//
+// Bit_cast uses the memcpy exception to move the bits from a variable of one
+// type of a variable of another type.  Of course the end result is likely to
+// be implementation dependent.  Most compilers (gcc-4.2 and MSVC 2005)
+// will completely optimize BitCast away.
+//
+// There is an additional use for BitCast.
+// Recent gccs will warn when they see casts that may result in breakage due to
+// the type-based aliasing rule.  If you have checked that there is no breakage
+// you can use BitCast to cast one pointer type to another.  This confuses gcc
+// enough that it can no longer see that you have cast one pointer type to
+// another thus avoiding the warning.
+template <class Dest, class Source>
+inline Dest BitCast(const Source& source) {
+  // Compile time assertion: sizeof(Dest) == sizeof(Source)
+  // A compile error here means your Dest and Source have different sizes.
+  DOUBLE_CONVERSION_UNUSED
+      typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1];
+
+  Dest dest;
+  memmove(&dest, &source, sizeof(dest));
+  return dest;
+}
+
+template <class Dest, class Source>
+inline Dest BitCast(Source* source) {
+  return BitCast<Dest>(reinterpret_cast<uintptr_t>(source));
+}
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_UTILS_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion.cpp b/source/i18n/double-conversion.cpp
new file mode 100644 (file)
index 0000000..8629284
--- /dev/null
@@ -0,0 +1,1005 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2010 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#include <limits.h>
+#include <math.h>
+
+// ICU PATCH: Customize header file paths for ICU.
+// The files fixed-dtoa.h and strtod.h are not needed.
+
+#include "double-conversion.h"
+
+#include "double-conversion-bignum-dtoa.h"
+#include "double-conversion-fast-dtoa.h"
+#include "double-conversion-ieee.h"
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+#if 0  // not needed for ICU
+const DoubleToStringConverter& DoubleToStringConverter::EcmaScriptConverter() {
+  int flags = UNIQUE_ZERO | EMIT_POSITIVE_EXPONENT_SIGN;
+  static DoubleToStringConverter converter(flags,
+                                           "Infinity",
+                                           "NaN",
+                                           'e',
+                                           -6, 21,
+                                           6, 0);
+  return converter;
+}
+
+
+bool DoubleToStringConverter::HandleSpecialValues(
+    double value,
+    StringBuilder* result_builder) const {
+  Double double_inspect(value);
+  if (double_inspect.IsInfinite()) {
+    if (infinity_symbol_ == NULL) return false;
+    if (value < 0) {
+      result_builder->AddCharacter('-');
+    }
+    result_builder->AddString(infinity_symbol_);
+    return true;
+  }
+  if (double_inspect.IsNan()) {
+    if (nan_symbol_ == NULL) return false;
+    result_builder->AddString(nan_symbol_);
+    return true;
+  }
+  return false;
+}
+
+
+void DoubleToStringConverter::CreateExponentialRepresentation(
+    const char* decimal_digits,
+    int length,
+    int exponent,
+    StringBuilder* result_builder) const {
+  ASSERT(length != 0);
+  result_builder->AddCharacter(decimal_digits[0]);
+  if (length != 1) {
+    result_builder->AddCharacter('.');
+    result_builder->AddSubstring(&decimal_digits[1], length-1);
+  }
+  result_builder->AddCharacter(exponent_character_);
+  if (exponent < 0) {
+    result_builder->AddCharacter('-');
+    exponent = -exponent;
+  } else {
+    if ((flags_ & EMIT_POSITIVE_EXPONENT_SIGN) != 0) {
+      result_builder->AddCharacter('+');
+    }
+  }
+  if (exponent == 0) {
+    result_builder->AddCharacter('0');
+    return;
+  }
+  ASSERT(exponent < 1e4);
+  const int kMaxExponentLength = 5;
+  char buffer[kMaxExponentLength + 1];
+  buffer[kMaxExponentLength] = '\0';
+  int first_char_pos = kMaxExponentLength;
+  while (exponent > 0) {
+    buffer[--first_char_pos] = '0' + (exponent % 10);
+    exponent /= 10;
+  }
+  result_builder->AddSubstring(&buffer[first_char_pos],
+                               kMaxExponentLength - first_char_pos);
+}
+
+
+void DoubleToStringConverter::CreateDecimalRepresentation(
+    const char* decimal_digits,
+    int length,
+    int decimal_point,
+    int digits_after_point,
+    StringBuilder* result_builder) const {
+  // Create a representation that is padded with zeros if needed.
+  if (decimal_point <= 0) {
+      // "0.00000decimal_rep" or "0.000decimal_rep00".
+    result_builder->AddCharacter('0');
+    if (digits_after_point > 0) {
+      result_builder->AddCharacter('.');
+      result_builder->AddPadding('0', -decimal_point);
+      ASSERT(length <= digits_after_point - (-decimal_point));
+      result_builder->AddSubstring(decimal_digits, length);
+      int remaining_digits = digits_after_point - (-decimal_point) - length;
+      result_builder->AddPadding('0', remaining_digits);
+    }
+  } else if (decimal_point >= length) {
+    // "decimal_rep0000.00000" or "decimal_rep.0000".
+    result_builder->AddSubstring(decimal_digits, length);
+    result_builder->AddPadding('0', decimal_point - length);
+    if (digits_after_point > 0) {
+      result_builder->AddCharacter('.');
+      result_builder->AddPadding('0', digits_after_point);
+    }
+  } else {
+    // "decima.l_rep000".
+    ASSERT(digits_after_point > 0);
+    result_builder->AddSubstring(decimal_digits, decimal_point);
+    result_builder->AddCharacter('.');
+    ASSERT(length - decimal_point <= digits_after_point);
+    result_builder->AddSubstring(&decimal_digits[decimal_point],
+                                 length - decimal_point);
+    int remaining_digits = digits_after_point - (length - decimal_point);
+    result_builder->AddPadding('0', remaining_digits);
+  }
+  if (digits_after_point == 0) {
+    if ((flags_ & EMIT_TRAILING_DECIMAL_POINT) != 0) {
+      result_builder->AddCharacter('.');
+    }
+    if ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) {
+      result_builder->AddCharacter('0');
+    }
+  }
+}
+
+
+bool DoubleToStringConverter::ToShortestIeeeNumber(
+    double value,
+    StringBuilder* result_builder,
+    DoubleToStringConverter::DtoaMode mode) const {
+  ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE);
+  if (Double(value).IsSpecial()) {
+    return HandleSpecialValues(value, result_builder);
+  }
+
+  int decimal_point;
+  bool sign;
+  const int kDecimalRepCapacity = kBase10MaximalLength + 1;
+  char decimal_rep[kDecimalRepCapacity];
+  int decimal_rep_length;
+
+  DoubleToAscii(value, mode, 0, decimal_rep, kDecimalRepCapacity,
+                &sign, &decimal_rep_length, &decimal_point);
+
+  bool unique_zero = (flags_ & UNIQUE_ZERO) != 0;
+  if (sign && (value != 0.0 || !unique_zero)) {
+    result_builder->AddCharacter('-');
+  }
+
+  int exponent = decimal_point - 1;
+  if ((decimal_in_shortest_low_ <= exponent) &&
+      (exponent < decimal_in_shortest_high_)) {
+    CreateDecimalRepresentation(decimal_rep, decimal_rep_length,
+                                decimal_point,
+                                Max(0, decimal_rep_length - decimal_point),
+                                result_builder);
+  } else {
+    CreateExponentialRepresentation(decimal_rep, decimal_rep_length, exponent,
+                                    result_builder);
+  }
+  return true;
+}
+
+
+bool DoubleToStringConverter::ToFixed(double value,
+                                      int requested_digits,
+                                      StringBuilder* result_builder) const {
+  ASSERT(kMaxFixedDigitsBeforePoint == 60);
+  const double kFirstNonFixed = 1e60;
+
+  if (Double(value).IsSpecial()) {
+    return HandleSpecialValues(value, result_builder);
+  }
+
+  if (requested_digits > kMaxFixedDigitsAfterPoint) return false;
+  if (value >= kFirstNonFixed || value <= -kFirstNonFixed) return false;
+
+  // Find a sufficiently precise decimal representation of n.
+  int decimal_point;
+  bool sign;
+  // Add space for the '\0' byte.
+  const int kDecimalRepCapacity =
+      kMaxFixedDigitsBeforePoint + kMaxFixedDigitsAfterPoint + 1;
+  char decimal_rep[kDecimalRepCapacity];
+  int decimal_rep_length;
+  DoubleToAscii(value, FIXED, requested_digits,
+                decimal_rep, kDecimalRepCapacity,
+                &sign, &decimal_rep_length, &decimal_point);
+
+  bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0);
+  if (sign && (value != 0.0 || !unique_zero)) {
+    result_builder->AddCharacter('-');
+  }
+
+  CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point,
+                              requested_digits, result_builder);
+  return true;
+}
+
+
+bool DoubleToStringConverter::ToExponential(
+    double value,
+    int requested_digits,
+    StringBuilder* result_builder) const {
+  if (Double(value).IsSpecial()) {
+    return HandleSpecialValues(value, result_builder);
+  }
+
+  if (requested_digits < -1) return false;
+  if (requested_digits > kMaxExponentialDigits) return false;
+
+  int decimal_point;
+  bool sign;
+  // Add space for digit before the decimal point and the '\0' character.
+  const int kDecimalRepCapacity = kMaxExponentialDigits + 2;
+  ASSERT(kDecimalRepCapacity > kBase10MaximalLength);
+  char decimal_rep[kDecimalRepCapacity];
+  int decimal_rep_length;
+
+  if (requested_digits == -1) {
+    DoubleToAscii(value, SHORTEST, 0,
+                  decimal_rep, kDecimalRepCapacity,
+                  &sign, &decimal_rep_length, &decimal_point);
+  } else {
+    DoubleToAscii(value, PRECISION, requested_digits + 1,
+                  decimal_rep, kDecimalRepCapacity,
+                  &sign, &decimal_rep_length, &decimal_point);
+    ASSERT(decimal_rep_length <= requested_digits + 1);
+
+    for (int i = decimal_rep_length; i < requested_digits + 1; ++i) {
+      decimal_rep[i] = '0';
+    }
+    decimal_rep_length = requested_digits + 1;
+  }
+
+  bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0);
+  if (sign && (value != 0.0 || !unique_zero)) {
+    result_builder->AddCharacter('-');
+  }
+
+  int exponent = decimal_point - 1;
+  CreateExponentialRepresentation(decimal_rep,
+                                  decimal_rep_length,
+                                  exponent,
+                                  result_builder);
+  return true;
+}
+
+
+bool DoubleToStringConverter::ToPrecision(double value,
+                                          int precision,
+                                          StringBuilder* result_builder) const {
+  if (Double(value).IsSpecial()) {
+    return HandleSpecialValues(value, result_builder);
+  }
+
+  if (precision < kMinPrecisionDigits || precision > kMaxPrecisionDigits) {
+    return false;
+  }
+
+  // Find a sufficiently precise decimal representation of n.
+  int decimal_point;
+  bool sign;
+  // Add one for the terminating null character.
+  const int kDecimalRepCapacity = kMaxPrecisionDigits + 1;
+  char decimal_rep[kDecimalRepCapacity];
+  int decimal_rep_length;
+
+  DoubleToAscii(value, PRECISION, precision,
+                decimal_rep, kDecimalRepCapacity,
+                &sign, &decimal_rep_length, &decimal_point);
+  ASSERT(decimal_rep_length <= precision);
+
+  bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0);
+  if (sign && (value != 0.0 || !unique_zero)) {
+    result_builder->AddCharacter('-');
+  }
+
+  // The exponent if we print the number as x.xxeyyy. That is with the
+  // decimal point after the first digit.
+  int exponent = decimal_point - 1;
+
+  int extra_zero = ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) ? 1 : 0;
+  if ((-decimal_point + 1 > max_leading_padding_zeroes_in_precision_mode_) ||
+      (decimal_point - precision + extra_zero >
+       max_trailing_padding_zeroes_in_precision_mode_)) {
+    // Fill buffer to contain 'precision' digits.
+    // Usually the buffer is already at the correct length, but 'DoubleToAscii'
+    // is allowed to return less characters.
+    for (int i = decimal_rep_length; i < precision; ++i) {
+      decimal_rep[i] = '0';
+    }
+
+    CreateExponentialRepresentation(decimal_rep,
+                                    precision,
+                                    exponent,
+                                    result_builder);
+  } else {
+    CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point,
+                                Max(0, precision - decimal_point),
+                                result_builder);
+  }
+  return true;
+}
+#endif // not needed for ICU
+
+
+static BignumDtoaMode DtoaToBignumDtoaMode(
+    DoubleToStringConverter::DtoaMode dtoa_mode) {
+  switch (dtoa_mode) {
+    case DoubleToStringConverter::SHORTEST:  return BIGNUM_DTOA_SHORTEST;
+    case DoubleToStringConverter::SHORTEST_SINGLE:
+        return BIGNUM_DTOA_SHORTEST_SINGLE;
+    case DoubleToStringConverter::FIXED:     return BIGNUM_DTOA_FIXED;
+    case DoubleToStringConverter::PRECISION: return BIGNUM_DTOA_PRECISION;
+    default:
+      UNREACHABLE();
+  }
+}
+
+
+void DoubleToStringConverter::DoubleToAscii(double v,
+                                            DtoaMode mode,
+                                            int requested_digits,
+                                            char* buffer,
+                                            int buffer_length,
+                                            bool* sign,
+                                            int* length,
+                                            int* point) {
+  Vector<char> vector(buffer, buffer_length);
+  ASSERT(!Double(v).IsSpecial());
+  ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE || requested_digits >= 0);
+
+  if (Double(v).Sign() < 0) {
+    *sign = true;
+    v = -v;
+  } else {
+    *sign = false;
+  }
+
+  if (mode == PRECISION && requested_digits == 0) {
+    vector[0] = '\0';
+    *length = 0;
+    return;
+  }
+
+  if (v == 0) {
+    vector[0] = '0';
+    vector[1] = '\0';
+    *length = 1;
+    *point = 1;
+    return;
+  }
+
+  bool fast_worked;
+  switch (mode) {
+    case SHORTEST:
+      fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST, 0, vector, length, point);
+      break;
+#if 0 // not needed for ICU
+    case SHORTEST_SINGLE:
+      fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST_SINGLE, 0,
+                             vector, length, point);
+      break;
+    case FIXED:
+      fast_worked = FastFixedDtoa(v, requested_digits, vector, length, point);
+      break;
+    case PRECISION:
+      fast_worked = FastDtoa(v, FAST_DTOA_PRECISION, requested_digits,
+                             vector, length, point);
+      break;
+#endif // not needed for ICU
+    default:
+      fast_worked = false;
+      UNREACHABLE();
+  }
+  if (fast_worked) return;
+
+  // If the fast dtoa didn't succeed use the slower bignum version.
+  BignumDtoaMode bignum_mode = DtoaToBignumDtoaMode(mode);
+  BignumDtoa(v, bignum_mode, requested_digits, vector, length, point);
+  vector[*length] = '\0';
+}
+
+
+#if 0 // not needed for ICU
+// Consumes the given substring from the iterator.
+// Returns false, if the substring does not match.
+template <class Iterator>
+static bool ConsumeSubString(Iterator* current,
+                             Iterator end,
+                             const char* substring) {
+  ASSERT(**current == *substring);
+  for (substring++; *substring != '\0'; substring++) {
+    ++*current;
+    if (*current == end || **current != *substring) return false;
+  }
+  ++*current;
+  return true;
+}
+
+
+// Maximum number of significant digits in decimal representation.
+// The longest possible double in decimal representation is
+// (2^53 - 1) * 2 ^ -1074 that is (2 ^ 53 - 1) * 5 ^ 1074 / 10 ^ 1074
+// (768 digits). If we parse a number whose first digits are equal to a
+// mean of 2 adjacent doubles (that could have up to 769 digits) the result
+// must be rounded to the bigger one unless the tail consists of zeros, so
+// we don't need to preserve all the digits.
+const int kMaxSignificantDigits = 772;
+
+
+static const char kWhitespaceTable7[] = { 32, 13, 10, 9, 11, 12 };
+static const int kWhitespaceTable7Length = ARRAY_SIZE(kWhitespaceTable7);
+
+
+static const uc16 kWhitespaceTable16[] = {
+  160, 8232, 8233, 5760, 6158, 8192, 8193, 8194, 8195,
+  8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279
+};
+static const int kWhitespaceTable16Length = ARRAY_SIZE(kWhitespaceTable16);
+
+
+static bool isWhitespace(int x) {
+  if (x < 128) {
+    for (int i = 0; i < kWhitespaceTable7Length; i++) {
+      if (kWhitespaceTable7[i] == x) return true;
+    }
+  } else {
+    for (int i = 0; i < kWhitespaceTable16Length; i++) {
+      if (kWhitespaceTable16[i] == x) return true;
+    }
+  }
+  return false;
+}
+
+
+// Returns true if a nonspace found and false if the end has reached.
+template <class Iterator>
+static inline bool AdvanceToNonspace(Iterator* current, Iterator end) {
+  while (*current != end) {
+    if (!isWhitespace(**current)) return true;
+    ++*current;
+  }
+  return false;
+}
+
+
+static bool isDigit(int x, int radix) {
+  return (x >= '0' && x <= '9' && x < '0' + radix)
+      || (radix > 10 && x >= 'a' && x < 'a' + radix - 10)
+      || (radix > 10 && x >= 'A' && x < 'A' + radix - 10);
+}
+
+
+static double SignedZero(bool sign) {
+  return sign ? -0.0 : 0.0;
+}
+
+
+// Returns true if 'c' is a decimal digit that is valid for the given radix.
+//
+// The function is small and could be inlined, but VS2012 emitted a warning
+// because it constant-propagated the radix and concluded that the last
+// condition was always true. By moving it into a separate function the
+// compiler wouldn't warn anymore.
+#if _MSC_VER
+#pragma optimize("",off)
+static bool IsDecimalDigitForRadix(int c, int radix) {
+  return '0' <= c && c <= '9' && (c - '0') < radix;
+}
+#pragma optimize("",on)
+#else
+static bool inline IsDecimalDigitForRadix(int c, int radix) {
+       return '0' <= c && c <= '9' && (c - '0') < radix;
+}
+#endif
+// Returns true if 'c' is a character digit that is valid for the given radix.
+// The 'a_character' should be 'a' or 'A'.
+//
+// The function is small and could be inlined, but VS2012 emitted a warning
+// because it constant-propagated the radix and concluded that the first
+// condition was always false. By moving it into a separate function the
+// compiler wouldn't warn anymore.
+static bool IsCharacterDigitForRadix(int c, int radix, char a_character) {
+  return radix > 10 && c >= a_character && c < a_character + radix - 10;
+}
+
+
+// Parsing integers with radix 2, 4, 8, 16, 32. Assumes current != end.
+template <int radix_log_2, class Iterator>
+static double RadixStringToIeee(Iterator* current,
+                                Iterator end,
+                                bool sign,
+                                bool allow_trailing_junk,
+                                double junk_string_value,
+                                bool read_as_double,
+                                bool* result_is_junk) {
+  ASSERT(*current != end);
+
+  const int kDoubleSize = Double::kSignificandSize;
+  const int kSingleSize = Single::kSignificandSize;
+  const int kSignificandSize = read_as_double? kDoubleSize: kSingleSize;
+
+  *result_is_junk = true;
+
+  // Skip leading 0s.
+  while (**current == '0') {
+    ++(*current);
+    if (*current == end) {
+      *result_is_junk = false;
+      return SignedZero(sign);
+    }
+  }
+
+  int64_t number = 0;
+  int exponent = 0;
+  const int radix = (1 << radix_log_2);
+
+  do {
+    int digit;
+    if (IsDecimalDigitForRadix(**current, radix)) {
+      digit = static_cast<char>(**current) - '0';
+    } else if (IsCharacterDigitForRadix(**current, radix, 'a')) {
+      digit = static_cast<char>(**current) - 'a' + 10;
+    } else if (IsCharacterDigitForRadix(**current, radix, 'A')) {
+      digit = static_cast<char>(**current) - 'A' + 10;
+    } else {
+      if (allow_trailing_junk || !AdvanceToNonspace(current, end)) {
+        break;
+      } else {
+        return junk_string_value;
+      }
+    }
+
+    number = number * radix + digit;
+    int overflow = static_cast<int>(number >> kSignificandSize);
+    if (overflow != 0) {
+      // Overflow occurred. Need to determine which direction to round the
+      // result.
+      int overflow_bits_count = 1;
+      while (overflow > 1) {
+        overflow_bits_count++;
+        overflow >>= 1;
+      }
+
+      int dropped_bits_mask = ((1 << overflow_bits_count) - 1);
+      int dropped_bits = static_cast<int>(number) & dropped_bits_mask;
+      number >>= overflow_bits_count;
+      exponent = overflow_bits_count;
+
+      bool zero_tail = true;
+      for (;;) {
+        ++(*current);
+        if (*current == end || !isDigit(**current, radix)) break;
+        zero_tail = zero_tail && **current == '0';
+        exponent += radix_log_2;
+      }
+
+      if (!allow_trailing_junk && AdvanceToNonspace(current, end)) {
+        return junk_string_value;
+      }
+
+      int middle_value = (1 << (overflow_bits_count - 1));
+      if (dropped_bits > middle_value) {
+        number++;  // Rounding up.
+      } else if (dropped_bits == middle_value) {
+        // Rounding to even to consistency with decimals: half-way case rounds
+        // up if significant part is odd and down otherwise.
+        if ((number & 1) != 0 || !zero_tail) {
+          number++;  // Rounding up.
+        }
+      }
+
+      // Rounding up may cause overflow.
+      if ((number & ((int64_t)1 << kSignificandSize)) != 0) {
+        exponent++;
+        number >>= 1;
+      }
+      break;
+    }
+    ++(*current);
+  } while (*current != end);
+
+  ASSERT(number < ((int64_t)1 << kSignificandSize));
+  ASSERT(static_cast<int64_t>(static_cast<double>(number)) == number);
+
+  *result_is_junk = false;
+
+  if (exponent == 0) {
+    if (sign) {
+      if (number == 0) return -0.0;
+      number = -number;
+    }
+    return static_cast<double>(number);
+  }
+
+  ASSERT(number != 0);
+  return Double(DiyFp(number, exponent)).value();
+}
+
+
+template <class Iterator>
+double StringToDoubleConverter::StringToIeee(
+    Iterator input,
+    int length,
+    bool read_as_double,
+    int* processed_characters_count) const {
+  Iterator current = input;
+  Iterator end = input + length;
+
+  *processed_characters_count = 0;
+
+  const bool allow_trailing_junk = (flags_ & ALLOW_TRAILING_JUNK) != 0;
+  const bool allow_leading_spaces = (flags_ & ALLOW_LEADING_SPACES) != 0;
+  const bool allow_trailing_spaces = (flags_ & ALLOW_TRAILING_SPACES) != 0;
+  const bool allow_spaces_after_sign = (flags_ & ALLOW_SPACES_AFTER_SIGN) != 0;
+
+  // To make sure that iterator dereferencing is valid the following
+  // convention is used:
+  // 1. Each '++current' statement is followed by check for equality to 'end'.
+  // 2. If AdvanceToNonspace returned false then current == end.
+  // 3. If 'current' becomes equal to 'end' the function returns or goes to
+  // 'parsing_done'.
+  // 4. 'current' is not dereferenced after the 'parsing_done' label.
+  // 5. Code before 'parsing_done' may rely on 'current != end'.
+  if (current == end) return empty_string_value_;
+
+  if (allow_leading_spaces || allow_trailing_spaces) {
+    if (!AdvanceToNonspace(&current, end)) {
+      *processed_characters_count = static_cast<int>(current - input);
+      return empty_string_value_;
+    }
+    if (!allow_leading_spaces && (input != current)) {
+      // No leading spaces allowed, but AdvanceToNonspace moved forward.
+      return junk_string_value_;
+    }
+  }
+
+  // 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;
+  int significant_digits = 0;
+  int insignificant_digits = 0;
+  bool nonzero_digit_dropped = false;
+
+  bool sign = false;
+
+  if (*current == '+' || *current == '-') {
+    sign = (*current == '-');
+    ++current;
+    Iterator next_non_space = current;
+    // Skip following spaces (if allowed).
+    if (!AdvanceToNonspace(&next_non_space, end)) return junk_string_value_;
+    if (!allow_spaces_after_sign && (current != next_non_space)) {
+      return junk_string_value_;
+    }
+    current = next_non_space;
+  }
+
+  if (infinity_symbol_ != NULL) {
+    if (*current == infinity_symbol_[0]) {
+      if (!ConsumeSubString(&current, end, infinity_symbol_)) {
+        return junk_string_value_;
+      }
+
+      if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
+        return junk_string_value_;
+      }
+      if (!allow_trailing_junk && AdvanceToNonspace(&current, end)) {
+        return junk_string_value_;
+      }
+
+      ASSERT(buffer_pos == 0);
+      *processed_characters_count = static_cast<int>(current - input);
+      return sign ? -Double::Infinity() : Double::Infinity();
+    }
+  }
+
+  if (nan_symbol_ != NULL) {
+    if (*current == nan_symbol_[0]) {
+      if (!ConsumeSubString(&current, end, nan_symbol_)) {
+        return junk_string_value_;
+      }
+
+      if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
+        return junk_string_value_;
+      }
+      if (!allow_trailing_junk && AdvanceToNonspace(&current, end)) {
+        return junk_string_value_;
+      }
+
+      ASSERT(buffer_pos == 0);
+      *processed_characters_count = static_cast<int>(current - input);
+      return sign ? -Double::NaN() : Double::NaN();
+    }
+  }
+
+  bool leading_zero = false;
+  if (*current == '0') {
+    ++current;
+    if (current == end) {
+      *processed_characters_count = static_cast<int>(current - input);
+      return SignedZero(sign);
+    }
+
+    leading_zero = true;
+
+    // It could be hexadecimal value.
+    if ((flags_ & ALLOW_HEX) && (*current == 'x' || *current == 'X')) {
+      ++current;
+      if (current == end || !isDigit(*current, 16)) {
+        return junk_string_value_;  // "0x".
+      }
+
+      bool result_is_junk;
+      double result = RadixStringToIeee<4>(&current,
+                                           end,
+                                           sign,
+                                           allow_trailing_junk,
+                                           junk_string_value_,
+                                           read_as_double,
+                                           &result_is_junk);
+      if (!result_is_junk) {
+        if (allow_trailing_spaces) AdvanceToNonspace(&current, end);
+        *processed_characters_count = static_cast<int>(current - input);
+      }
+      return result;
+    }
+
+    // Ignore leading zeros in the integer part.
+    while (*current == '0') {
+      ++current;
+      if (current == end) {
+        *processed_characters_count = static_cast<int>(current - input);
+        return SignedZero(sign);
+      }
+    }
+  }
+
+  bool octal = leading_zero && (flags_ & ALLOW_OCTALS) != 0;
+
+  // Copy significant digits of the integer part (if any) to the buffer.
+  while (*current >= '0' && *current <= '9') {
+    if (significant_digits < kMaxSignificantDigits) {
+      ASSERT(buffer_pos < kBufferSize);
+      buffer[buffer_pos++] = static_cast<char>(*current);
+      significant_digits++;
+      // Will later check if it's an octal in the buffer.
+    } else {
+      insignificant_digits++;  // Move the digit into the exponential part.
+      nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
+    }
+    octal = octal && *current < '8';
+    ++current;
+    if (current == end) goto parsing_done;
+  }
+
+  if (significant_digits == 0) {
+    octal = false;
+  }
+
+  if (*current == '.') {
+    if (octal && !allow_trailing_junk) return junk_string_value_;
+    if (octal) goto parsing_done;
+
+    ++current;
+    if (current == end) {
+      if (significant_digits == 0 && !leading_zero) {
+        return junk_string_value_;
+      } else {
+        goto parsing_done;
+      }
+    }
+
+    if (significant_digits == 0) {
+      // octal = false;
+      // Integer part consists of 0 or is absent. Significant digits start after
+      // leading zeros (if any).
+      while (*current == '0') {
+        ++current;
+        if (current == end) {
+          *processed_characters_count = static_cast<int>(current - input);
+          return SignedZero(sign);
+        }
+        exponent--;  // Move this 0 into the exponent.
+      }
+    }
+
+    // There is a fractional part.
+    // We don't emit a '.', but adjust the exponent instead.
+    while (*current >= '0' && *current <= '9') {
+      if (significant_digits < kMaxSignificantDigits) {
+        ASSERT(buffer_pos < kBufferSize);
+        buffer[buffer_pos++] = static_cast<char>(*current);
+        significant_digits++;
+        exponent--;
+      } else {
+        // Ignore insignificant digits in the fractional part.
+        nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
+      }
+      ++current;
+      if (current == end) goto parsing_done;
+    }
+  }
+
+  if (!leading_zero && exponent == 0 && significant_digits == 0) {
+    // If leading_zeros is true then the string contains zeros.
+    // If exponent < 0 then string was [+-]\.0*...
+    // If significant_digits != 0 the string is not equal to 0.
+    // Otherwise there are no digits in the string.
+    return junk_string_value_;
+  }
+
+  // Parse exponential part.
+  if (*current == 'e' || *current == 'E') {
+    if (octal && !allow_trailing_junk) return junk_string_value_;
+    if (octal) goto parsing_done;
+    ++current;
+    if (current == end) {
+      if (allow_trailing_junk) {
+        goto parsing_done;
+      } else {
+        return junk_string_value_;
+      }
+    }
+    char exponen_sign = '+';
+    if (*current == '+' || *current == '-') {
+      exponen_sign = static_cast<char>(*current);
+      ++current;
+      if (current == end) {
+        if (allow_trailing_junk) {
+          goto parsing_done;
+        } else {
+          return junk_string_value_;
+        }
+      }
+    }
+
+    if (current == end || *current < '0' || *current > '9') {
+      if (allow_trailing_junk) {
+        goto parsing_done;
+      } else {
+        return junk_string_value_;
+      }
+    }
+
+    const int max_exponent = INT_MAX / 2;
+    ASSERT(-max_exponent / 2 <= exponent && exponent <= max_exponent / 2);
+    int num = 0;
+    do {
+      // Check overflow.
+      int digit = *current - '0';
+      if (num >= max_exponent / 10
+          && !(num == max_exponent / 10 && digit <= max_exponent % 10)) {
+        num = max_exponent;
+      } else {
+        num = num * 10 + digit;
+      }
+      ++current;
+    } while (current != end && *current >= '0' && *current <= '9');
+
+    exponent += (exponen_sign == '-' ? -num : num);
+  }
+
+  if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
+    return junk_string_value_;
+  }
+  if (!allow_trailing_junk && AdvanceToNonspace(&current, end)) {
+    return junk_string_value_;
+  }
+  if (allow_trailing_spaces) {
+    AdvanceToNonspace(&current, end);
+  }
+
+  parsing_done:
+  exponent += insignificant_digits;
+
+  if (octal) {
+    double result;
+    bool result_is_junk;
+    char* start = buffer;
+    result = RadixStringToIeee<3>(&start,
+                                  buffer + buffer_pos,
+                                  sign,
+                                  allow_trailing_junk,
+                                  junk_string_value_,
+                                  read_as_double,
+                                  &result_is_junk);
+    ASSERT(!result_is_junk);
+    *processed_characters_count = static_cast<int>(current - input);
+    return result;
+  }
+
+  if (nonzero_digit_dropped) {
+    buffer[buffer_pos++] = '1';
+    exponent--;
+  }
+
+  ASSERT(buffer_pos < kBufferSize);
+  buffer[buffer_pos] = '\0';
+
+  double converted;
+  if (read_as_double) {
+    converted = Strtod(Vector<const char>(buffer, buffer_pos), exponent);
+  } else {
+    converted = Strtof(Vector<const char>(buffer, buffer_pos), exponent);
+  }
+  *processed_characters_count = static_cast<int>(current - input);
+  return sign? -converted: converted;
+}
+
+
+double StringToDoubleConverter::StringToDouble(
+    const char* buffer,
+    int length,
+    int* processed_characters_count) const {
+  return StringToIeee(buffer, length, true, processed_characters_count);
+}
+
+
+double StringToDoubleConverter::StringToDouble(
+    const uc16* buffer,
+    int length,
+    int* processed_characters_count) const {
+  return StringToIeee(buffer, length, true, processed_characters_count);
+}
+
+
+float StringToDoubleConverter::StringToFloat(
+    const char* buffer,
+    int length,
+    int* processed_characters_count) const {
+  return static_cast<float>(StringToIeee(buffer, length, false,
+                                         processed_characters_count));
+}
+
+
+float StringToDoubleConverter::StringToFloat(
+    const uc16* buffer,
+    int length,
+    int* processed_characters_count) const {
+  return static_cast<float>(StringToIeee(buffer, length, false,
+                                         processed_characters_count));
+}
+#endif // not needed for ICU
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
diff --git a/source/i18n/double-conversion.h b/source/i18n/double-conversion.h
new file mode 100644 (file)
index 0000000..0939412
--- /dev/null
@@ -0,0 +1,566 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// From the double-conversion library. Original license:
+//
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+//       notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+//       copyright notice, this list of conditions and the following
+//       disclaimer in the documentation and/or other materials provided
+//       with the distribution.
+//     * Neither the name of Google Inc. nor the names of its
+//       contributors may be used to endorse or promote products derived
+//       from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING
+#include "unicode/utypes.h"
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
+#define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
+
+// ICU PATCH: Customize header file paths for ICU.
+
+#include "double-conversion-utils.h"
+
+// ICU PATCH: Wrap in ICU namespace
+U_NAMESPACE_BEGIN
+
+namespace double_conversion {
+
+class DoubleToStringConverter {
+ public:
+#if 0 // not needed for ICU
+  // When calling ToFixed with a double > 10^kMaxFixedDigitsBeforePoint
+  // or a requested_digits parameter > kMaxFixedDigitsAfterPoint then the
+  // function returns false.
+  static const int kMaxFixedDigitsBeforePoint = 60;
+  static const int kMaxFixedDigitsAfterPoint = 60;
+
+  // When calling ToExponential with a requested_digits
+  // parameter > kMaxExponentialDigits then the function returns false.
+  static const int kMaxExponentialDigits = 120;
+
+  // When calling ToPrecision with a requested_digits
+  // parameter < kMinPrecisionDigits or requested_digits > kMaxPrecisionDigits
+  // then the function returns false.
+  static const int kMinPrecisionDigits = 1;
+  static const int kMaxPrecisionDigits = 120;
+
+  enum Flags {
+    NO_FLAGS = 0,
+    EMIT_POSITIVE_EXPONENT_SIGN = 1,
+    EMIT_TRAILING_DECIMAL_POINT = 2,
+    EMIT_TRAILING_ZERO_AFTER_POINT = 4,
+    UNIQUE_ZERO = 8
+  };
+
+  // Flags should be a bit-or combination of the possible Flags-enum.
+  //  - NO_FLAGS: no special flags.
+  //  - EMIT_POSITIVE_EXPONENT_SIGN: when the number is converted into exponent
+  //    form, emits a '+' for positive exponents. Example: 1.2e+2.
+  //  - EMIT_TRAILING_DECIMAL_POINT: when the input number is an integer and is
+  //    converted into decimal format then a trailing decimal point is appended.
+  //    Example: 2345.0 is converted to "2345.".
+  //  - EMIT_TRAILING_ZERO_AFTER_POINT: in addition to a trailing decimal point
+  //    emits a trailing '0'-character. This flag requires the
+  //    EXMIT_TRAILING_DECIMAL_POINT flag.
+  //    Example: 2345.0 is converted to "2345.0".
+  //  - UNIQUE_ZERO: "-0.0" is converted to "0.0".
+  //
+  // Infinity symbol and nan_symbol provide the string representation for these
+  // special values. If the string is NULL and the special value is encountered
+  // then the conversion functions return false.
+  //
+  // The exponent_character is used in exponential representations. It is
+  // usually 'e' or 'E'.
+  //
+  // When converting to the shortest representation the converter will
+  // represent input numbers in decimal format if they are in the interval
+  // [10^decimal_in_shortest_low; 10^decimal_in_shortest_high[
+  //    (lower boundary included, greater boundary excluded).
+  // Example: with decimal_in_shortest_low = -6 and
+  //               decimal_in_shortest_high = 21:
+  //   ToShortest(0.000001)  -> "0.000001"
+  //   ToShortest(0.0000001) -> "1e-7"
+  //   ToShortest(111111111111111111111.0)  -> "111111111111111110000"
+  //   ToShortest(100000000000000000000.0)  -> "100000000000000000000"
+  //   ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21"
+  //
+  // When converting to precision mode the converter may add
+  // max_leading_padding_zeroes before returning the number in exponential
+  // format.
+  // Example with max_leading_padding_zeroes_in_precision_mode = 6.
+  //   ToPrecision(0.0000012345, 2) -> "0.0000012"
+  //   ToPrecision(0.00000012345, 2) -> "1.2e-7"
+  // Similarily the converter may add up to
+  // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid
+  // returning an exponential representation. A zero added by the
+  // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit.
+  // Examples for max_trailing_padding_zeroes_in_precision_mode = 1:
+  //   ToPrecision(230.0, 2) -> "230"
+  //   ToPrecision(230.0, 2) -> "230."  with EMIT_TRAILING_DECIMAL_POINT.
+  //   ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT.
+  DoubleToStringConverter(int flags,
+                          const char* infinity_symbol,
+                          const char* nan_symbol,
+                          char exponent_character,
+                          int decimal_in_shortest_low,
+                          int decimal_in_shortest_high,
+                          int max_leading_padding_zeroes_in_precision_mode,
+                          int max_trailing_padding_zeroes_in_precision_mode)
+      : flags_(flags),
+        infinity_symbol_(infinity_symbol),
+        nan_symbol_(nan_symbol),
+        exponent_character_(exponent_character),
+        decimal_in_shortest_low_(decimal_in_shortest_low),
+        decimal_in_shortest_high_(decimal_in_shortest_high),
+        max_leading_padding_zeroes_in_precision_mode_(
+            max_leading_padding_zeroes_in_precision_mode),
+        max_trailing_padding_zeroes_in_precision_mode_(
+            max_trailing_padding_zeroes_in_precision_mode) {
+    // When 'trailing zero after the point' is set, then 'trailing point'
+    // must be set too.
+    ASSERT(((flags & EMIT_TRAILING_DECIMAL_POINT) != 0) ||
+        !((flags & EMIT_TRAILING_ZERO_AFTER_POINT) != 0));
+  }
+
+  // Returns a converter following the EcmaScript specification.
+  static const DoubleToStringConverter& EcmaScriptConverter();
+
+  // Computes the shortest string of digits that correctly represent the input
+  // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high
+  // (see constructor) it then either returns a decimal representation, or an
+  // exponential representation.
+  // Example with decimal_in_shortest_low = -6,
+  //              decimal_in_shortest_high = 21,
+  //              EMIT_POSITIVE_EXPONENT_SIGN activated, and
+  //              EMIT_TRAILING_DECIMAL_POINT deactived:
+  //   ToShortest(0.000001)  -> "0.000001"
+  //   ToShortest(0.0000001) -> "1e-7"
+  //   ToShortest(111111111111111111111.0)  -> "111111111111111110000"
+  //   ToShortest(100000000000000000000.0)  -> "100000000000000000000"
+  //   ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21"
+  //
+  // Note: the conversion may round the output if the returned string
+  // is accurate enough to uniquely identify the input-number.
+  // For example the most precise representation of the double 9e59 equals
+  // "899999999999999918767229449717619953810131273674690656206848", but
+  // the converter will return the shorter (but still correct) "9e59".
+  //
+  // Returns true if the conversion succeeds. The conversion always succeeds
+  // except when the input value is special and no infinity_symbol or
+  // nan_symbol has been given to the constructor.
+  bool ToShortest(double value, StringBuilder* result_builder) const {
+    return ToShortestIeeeNumber(value, result_builder, SHORTEST);
+  }
+
+  // Same as ToShortest, but for single-precision floats.
+  bool ToShortestSingle(float value, StringBuilder* result_builder) const {
+    return ToShortestIeeeNumber(value, result_builder, SHORTEST_SINGLE);
+  }
+
+
+  // Computes a decimal representation with a fixed number of digits after the
+  // decimal point. The last emitted digit is rounded.
+  //
+  // Examples:
+  //   ToFixed(3.12, 1) -> "3.1"
+  //   ToFixed(3.1415, 3) -> "3.142"
+  //   ToFixed(1234.56789, 4) -> "1234.5679"
+  //   ToFixed(1.23, 5) -> "1.23000"
+  //   ToFixed(0.1, 4) -> "0.1000"
+  //   ToFixed(1e30, 2) -> "1000000000000000019884624838656.00"
+  //   ToFixed(0.1, 30) -> "0.100000000000000005551115123126"
+  //   ToFixed(0.1, 17) -> "0.10000000000000001"
+  //
+  // If requested_digits equals 0, then the tail of the result depends on
+  // the EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT.
+  // Examples, for requested_digits == 0,
+  //   let EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT be
+  //    - false and false: then 123.45 -> 123
+  //                             0.678 -> 1
+  //    - true and false: then 123.45 -> 123.
+  //                            0.678 -> 1.
+  //    - true and true: then 123.45 -> 123.0
+  //                           0.678 -> 1.0
+  //
+  // Returns true if the conversion succeeds. The conversion always succeeds
+  // except for the following cases:
+  //   - the input value is special and no infinity_symbol or nan_symbol has
+  //     been provided to the constructor,
+  //   - 'value' > 10^kMaxFixedDigitsBeforePoint, or
+  //   - 'requested_digits' > kMaxFixedDigitsAfterPoint.
+  // The last two conditions imply that the result will never contain more than
+  // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters
+  // (one additional character for the sign, and one for the decimal point).
+  bool ToFixed(double value,
+               int requested_digits,
+               StringBuilder* result_builder) const;
+
+  // Computes a representation in exponential format with requested_digits
+  // after the decimal point. The last emitted digit is rounded.
+  // If requested_digits equals -1, then the shortest exponential representation
+  // is computed.
+  //
+  // Examples with EMIT_POSITIVE_EXPONENT_SIGN deactivated, and
+  //               exponent_character set to 'e'.
+  //   ToExponential(3.12, 1) -> "3.1e0"
+  //   ToExponential(5.0, 3) -> "5.000e0"
+  //   ToExponential(0.001, 2) -> "1.00e-3"
+  //   ToExponential(3.1415, -1) -> "3.1415e0"
+  //   ToExponential(3.1415, 4) -> "3.1415e0"
+  //   ToExponential(3.1415, 3) -> "3.142e0"
+  //   ToExponential(123456789000000, 3) -> "1.235e14"
+  //   ToExponential(1000000000000000019884624838656.0, -1) -> "1e30"
+  //   ToExponential(1000000000000000019884624838656.0, 32) ->
+  //                     "1.00000000000000001988462483865600e30"
+  //   ToExponential(1234, 0) -> "1e3"
+  //
+  // Returns true if the conversion succeeds. The conversion always succeeds
+  // except for the following cases:
+  //   - the input value is special and no infinity_symbol or nan_symbol has
+  //     been provided to the constructor,
+  //   - 'requested_digits' > kMaxExponentialDigits.
+  // The last condition implies that the result will never contain more than
+  // kMaxExponentialDigits + 8 characters (the sign, the digit before the
+  // decimal point, the decimal point, the exponent character, the
+  // exponent's sign, and at most 3 exponent digits).
+  bool ToExponential(double value,
+                     int requested_digits,
+                     StringBuilder* result_builder) const;
+
+  // Computes 'precision' leading digits of the given 'value' and returns them
+  // either in exponential or decimal format, depending on
+  // max_{leading|trailing}_padding_zeroes_in_precision_mode (given to the
+  // constructor).
+  // The last computed digit is rounded.
+  //
+  // Example with max_leading_padding_zeroes_in_precision_mode = 6.
+  //   ToPrecision(0.0000012345, 2) -> "0.0000012"
+  //   ToPrecision(0.00000012345, 2) -> "1.2e-7"
+  // Similarily the converter may add up to
+  // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid
+  // returning an exponential representation. A zero added by the
+  // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit.
+  // Examples for max_trailing_padding_zeroes_in_precision_mode = 1:
+  //   ToPrecision(230.0, 2) -> "230"
+  //   ToPrecision(230.0, 2) -> "230."  with EMIT_TRAILING_DECIMAL_POINT.
+  //   ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT.
+  // Examples for max_trailing_padding_zeroes_in_precision_mode = 3, and no
+  //    EMIT_TRAILING_ZERO_AFTER_POINT:
+  //   ToPrecision(123450.0, 6) -> "123450"
+  //   ToPrecision(123450.0, 5) -> "123450"
+  //   ToPrecision(123450.0, 4) -> "123500"
+  //   ToPrecision(123450.0, 3) -> "123000"
+  //   ToPrecision(123450.0, 2) -> "1.2e5"
+  //
+  // Returns true if the conversion succeeds. The conversion always succeeds
+  // except for the following cases:
+  //   - the input value is special and no infinity_symbol or nan_symbol has
+  //     been provided to the constructor,
+  //   - precision < kMinPericisionDigits
+  //   - precision > kMaxPrecisionDigits
+  // The last condition implies that the result will never contain more than
+  // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the
+  // exponent character, the exponent's sign, and at most 3 exponent digits).
+  bool ToPrecision(double value,
+                   int precision,
+                   StringBuilder* result_builder) const;
+#endif // not needed for ICU
+
+  enum DtoaMode {
+    // Produce the shortest correct representation.
+    // For example the output of 0.299999999999999988897 is (the less accurate
+    // but correct) 0.3.
+    SHORTEST,
+    // Same as SHORTEST, but for single-precision floats.
+    SHORTEST_SINGLE,
+    // Produce a fixed number of digits after the decimal point.
+    // For instance fixed(0.1, 4) becomes 0.1000
+    // If the input number is big, the output will be big.
+    FIXED,
+    // Fixed number of digits (independent of the decimal point).
+    PRECISION
+  };
+
+  // The maximal number of digits that are needed to emit a double in base 10.
+  // A higher precision can be achieved by using more digits, but the shortest
+  // accurate representation of any double will never use more digits than
+  // kBase10MaximalLength.
+  // Note that DoubleToAscii null-terminates its input. So the given buffer
+  // should be at least kBase10MaximalLength + 1 characters long.
+  static const int kBase10MaximalLength = 17;
+
+  // Converts the given double 'v' to ascii. 'v' must not be NaN, +Infinity, or
+  // -Infinity. In SHORTEST_SINGLE-mode this restriction also applies to 'v'
+  // after it has been casted to a single-precision float. That is, in this
+  // mode static_cast<float>(v) must not be NaN, +Infinity or -Infinity.
+  //
+  // The result should be interpreted as buffer * 10^(point-length).
+  //
+  // The output depends on the given mode:
+  //  - SHORTEST: produce the least amount of digits for which the internal
+  //   identity requirement is still satisfied. If the digits are printed
+  //   (together with the correct exponent) then reading this number will give
+  //   'v' again. The buffer will choose the representation that is closest to
+  //   'v'. If there are two at the same distance, than the one farther away
+  //   from 0 is chosen (halfway cases - ending with 5 - are rounded up).
+  //   In this mode the 'requested_digits' parameter is ignored.
+  //  - SHORTEST_SINGLE: same as SHORTEST but with single-precision.
+  //  - FIXED: produces digits necessary to print a given number with
+  //   'requested_digits' digits after the decimal point. The produced digits
+  //   might be too short in which case the caller has to fill the remainder
+  //   with '0's.
+  //   Example: toFixed(0.001, 5) is allowed to return buffer="1", point=-2.
+  //   Halfway cases are rounded towards +/-Infinity (away from 0). The call
+  //   toFixed(0.15, 2) thus returns buffer="2", point=0.
+  //   The returned buffer may contain digits that would be truncated from the
+  //   shortest representation of the input.
+  //  - PRECISION: produces 'requested_digits' where the first digit is not '0'.
+  //   Even though the length of produced digits usually equals
+  //   'requested_digits', the function is allowed to return fewer digits, in
+  //   which case the caller has to fill the missing digits with '0's.
+  //   Halfway cases are again rounded away from 0.
+  // DoubleToAscii expects the given buffer to be big enough to hold all
+  // digits and a terminating null-character. In SHORTEST-mode it expects a
+  // buffer of at least kBase10MaximalLength + 1. In all other modes the
+  // requested_digits parameter and the padding-zeroes limit the size of the
+  // output. Don't forget the decimal point, the exponent character and the
+  // terminating null-character when computing the maximal output size.
+  // The given length is only used in debug mode to ensure the buffer is big
+  // enough.
+  // ICU PATCH: Export this as U_I18N_API for unit tests.
+  static void U_I18N_API DoubleToAscii(double v,
+                            DtoaMode mode,
+                            int requested_digits,
+                            char* buffer,
+                            int buffer_length,
+                            bool* sign,
+                            int* length,
+                            int* point);
+
+#if 0 // not needed for ICU
+ private:
+  // Implementation for ToShortest and ToShortestSingle.
+  bool ToShortestIeeeNumber(double value,
+                            StringBuilder* result_builder,
+                            DtoaMode mode) const;
+
+  // If the value is a special value (NaN or Infinity) constructs the
+  // corresponding string using the configured infinity/nan-symbol.
+  // If either of them is NULL or the value is not special then the
+  // function returns false.
+  bool HandleSpecialValues(double value, StringBuilder* result_builder) const;
+  // Constructs an exponential representation (i.e. 1.234e56).
+  // The given exponent assumes a decimal point after the first decimal digit.
+  void CreateExponentialRepresentation(const char* decimal_digits,
+                                       int length,
+                                       int exponent,
+                                       StringBuilder* result_builder) const;
+  // Creates a decimal representation (i.e 1234.5678).
+  void CreateDecimalRepresentation(const char* decimal_digits,
+                                   int length,
+                                   int decimal_point,
+                                   int digits_after_point,
+                                   StringBuilder* result_builder) const;
+
+  const int flags_;
+  const char* const infinity_symbol_;
+  const char* const nan_symbol_;
+  const char exponent_character_;
+  const int decimal_in_shortest_low_;
+  const int decimal_in_shortest_high_;
+  const int max_leading_padding_zeroes_in_precision_mode_;
+  const int max_trailing_padding_zeroes_in_precision_mode_;
+
+  DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter);
+};
+
+
+class StringToDoubleConverter {
+ public:
+  // Enumeration for allowing octals and ignoring junk when converting
+  // strings to numbers.
+  enum Flags {
+    NO_FLAGS = 0,
+    ALLOW_HEX = 1,
+    ALLOW_OCTALS = 2,
+    ALLOW_TRAILING_JUNK = 4,
+    ALLOW_LEADING_SPACES = 8,
+    ALLOW_TRAILING_SPACES = 16,
+    ALLOW_SPACES_AFTER_SIGN = 32
+  };
+
+  // Flags should be a bit-or combination of the possible Flags-enum.
+  //  - NO_FLAGS: no special flags.
+  //  - ALLOW_HEX: recognizes the prefix "0x". Hex numbers may only be integers.
+  //      Ex: StringToDouble("0x1234") -> 4660.0
+  //          In StringToDouble("0x1234.56") the characters ".56" are trailing
+  //          junk. The result of the call is hence dependent on
+  //          the ALLOW_TRAILING_JUNK flag and/or the junk value.
+  //      With this flag "0x" is a junk-string. Even with ALLOW_TRAILING_JUNK,
+  //      the string will not be parsed as "0" followed by junk.
+  //
+  //  - ALLOW_OCTALS: recognizes the prefix "0" for octals:
+  //      If a sequence of octal digits starts with '0', then the number is
+  //      read as octal integer. Octal numbers may only be integers.
+  //      Ex: StringToDouble("01234") -> 668.0
+  //          StringToDouble("012349") -> 12349.0  // Not a sequence of octal
+  //                                               // digits.
+  //          In StringToDouble("01234.56") the characters ".56" are trailing
+  //          junk. The result of the call is hence dependent on
+  //          the ALLOW_TRAILING_JUNK flag and/or the junk value.
+  //          In StringToDouble("01234e56") the characters "e56" are trailing
+  //          junk, too.
+  //  - ALLOW_TRAILING_JUNK: ignore trailing characters that are not part of
+  //      a double literal.
+  //  - ALLOW_LEADING_SPACES: skip over leading whitespace, including spaces,
+  //                          new-lines, and tabs.
+  //  - ALLOW_TRAILING_SPACES: ignore trailing whitespace.
+  //  - ALLOW_SPACES_AFTER_SIGN: ignore whitespace after the sign.
+  //       Ex: StringToDouble("-   123.2") -> -123.2.
+  //           StringToDouble("+   123.2") -> 123.2
+  //
+  // empty_string_value is returned when an empty string is given as input.
+  // If ALLOW_LEADING_SPACES or ALLOW_TRAILING_SPACES are set, then a string
+  // containing only spaces is converted to the 'empty_string_value', too.
+  //
+  // junk_string_value is returned when
+  //  a) ALLOW_TRAILING_JUNK is not set, and a junk character (a character not
+  //     part of a double-literal) is found.
+  //  b) ALLOW_TRAILING_JUNK is set, but the string does not start with a
+  //     double literal.
+  //
+  // infinity_symbol and nan_symbol are strings that are used to detect
+  // inputs that represent infinity and NaN. They can be null, in which case
+  // they are ignored.
+  // The conversion routine first reads any possible signs. Then it compares the
+  // following character of the input-string with the first character of
+  // the infinity, and nan-symbol. If either matches, the function assumes, that
+  // a match has been found, and expects the following input characters to match
+  // the remaining characters of the special-value symbol.
+  // This means that the following restrictions apply to special-value symbols:
+  //  - they must not start with signs ('+', or '-'),
+  //  - they must not have the same first character.
+  //  - they must not start with digits.
+  //
+  // Examples:
+  //  flags = ALLOW_HEX | ALLOW_TRAILING_JUNK,
+  //  empty_string_value = 0.0,
+  //  junk_string_value = NaN,
+  //  infinity_symbol = "infinity",
+  //  nan_symbol = "nan":
+  //    StringToDouble("0x1234") -> 4660.0.
+  //    StringToDouble("0x1234K") -> 4660.0.
+  //    StringToDouble("") -> 0.0  // empty_string_value.
+  //    StringToDouble(" ") -> NaN  // junk_string_value.
+  //    StringToDouble(" 1") -> NaN  // junk_string_value.
+  //    StringToDouble("0x") -> NaN  // junk_string_value.
+  //    StringToDouble("-123.45") -> -123.45.
+  //    StringToDouble("--123.45") -> NaN  // junk_string_value.
+  //    StringToDouble("123e45") -> 123e45.
+  //    StringToDouble("123E45") -> 123e45.
+  //    StringToDouble("123e+45") -> 123e45.
+  //    StringToDouble("123E-45") -> 123e-45.
+  //    StringToDouble("123e") -> 123.0  // trailing junk ignored.
+  //    StringToDouble("123e-") -> 123.0  // trailing junk ignored.
+  //    StringToDouble("+NaN") -> NaN  // NaN string literal.
+  //    StringToDouble("-infinity") -> -inf.  // infinity literal.
+  //    StringToDouble("Infinity") -> NaN  // junk_string_value.
+  //
+  //  flags = ALLOW_OCTAL | ALLOW_LEADING_SPACES,
+  //  empty_string_value = 0.0,
+  //  junk_string_value = NaN,
+  //  infinity_symbol = NULL,
+  //  nan_symbol = NULL:
+  //    StringToDouble("0x1234") -> NaN  // junk_string_value.
+  //    StringToDouble("01234") -> 668.0.
+  //    StringToDouble("") -> 0.0  // empty_string_value.
+  //    StringToDouble(" ") -> 0.0  // empty_string_value.
+  //    StringToDouble(" 1") -> 1.0
+  //    StringToDouble("0x") -> NaN  // junk_string_value.
+  //    StringToDouble("0123e45") -> NaN  // junk_string_value.
+  //    StringToDouble("01239E45") -> 1239e45.
+  //    StringToDouble("-infinity") -> NaN  // junk_string_value.
+  //    StringToDouble("NaN") -> NaN  // junk_string_value.
+  StringToDoubleConverter(int flags,
+                          double empty_string_value,
+                          double junk_string_value,
+                          const char* infinity_symbol,
+                          const char* nan_symbol)
+      : flags_(flags),
+        empty_string_value_(empty_string_value),
+        junk_string_value_(junk_string_value),
+        infinity_symbol_(infinity_symbol),
+        nan_symbol_(nan_symbol) {
+  }
+
+  // Performs the conversion.
+  // The output parameter 'processed_characters_count' is set to the number
+  // of characters that have been processed to read the number.
+  // Spaces than are processed with ALLOW_{LEADING|TRAILING}_SPACES are included
+  // in the 'processed_characters_count'. Trailing junk is never included.
+  double StringToDouble(const char* buffer,
+                        int length,
+                        int* processed_characters_count) const;
+
+  // Same as StringToDouble above but for 16 bit characters.
+  double StringToDouble(const uc16* buffer,
+                        int length,
+                        int* processed_characters_count) const;
+
+  // Same as StringToDouble but reads a float.
+  // Note that this is not equivalent to static_cast<float>(StringToDouble(...))
+  // due to potential double-rounding.
+  float StringToFloat(const char* buffer,
+                      int length,
+                      int* processed_characters_count) const;
+
+  // Same as StringToFloat above but for 16 bit characters.
+  float StringToFloat(const uc16* buffer,
+                      int length,
+                      int* processed_characters_count) const;
+
+ private:
+  const int flags_;
+  const double empty_string_value_;
+  const double junk_string_value_;
+  const char* const infinity_symbol_;
+  const char* const nan_symbol_;
+
+  template <class Iterator>
+  double StringToIeee(Iterator start_pointer,
+                      int length,
+                      bool read_as_double,
+                      int* processed_characters_count) const;
+
+  DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter);
+#endif // not needed for ICU
+};
+
+}  // namespace double_conversion
+
+// ICU PATCH: Close ICU namespace
+U_NAMESPACE_END
+
+#endif  // DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
+#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING
index 187342e..aefd704 100644 (file)
@@ -261,12 +261,21 @@ static const char* const CLDR_FIELD_APPEND[] = {
     "Hour", "Minute", "Second", "*", "Timezone"
 };
 
-static const char* const CLDR_FIELD_NAME[] = {
+static const char* const CLDR_FIELD_NAME[UDATPG_FIELD_COUNT] = {
     "era", "year", "quarter", "month", "week", "weekOfMonth", "weekday",
     "dayOfYear", "weekdayOfMonth", "day", "dayperiod", // The UDATPG_x_FIELD constants and these fields have a different order than in ICU4J
     "hour", "minute", "second", "*", "zone"
 };
 
+static const char* const CLDR_FIELD_WIDTH[] = { // [UDATPG_WIDTH_COUNT]
+    "", "-short", "-narrow"
+};
+
+// TODO(ticket:13619): remove when definition uncommented in dtptngen.h.
+static const int32_t UDATPG_WIDTH_COUNT = UDATPG_NARROW + 1;
+static constexpr UDateTimePGDisplayWidth UDATPG_WIDTH_APPENDITEM = UDATPG_WIDE;
+static constexpr int32_t UDATPG_FIELD_KEY_MAX = 24; // max length of CLDR field tag (type + width)
+
 // For appendItems
 static const UChar UDATPG_ItemFormat[]= {0x7B, 0x30, 0x7D, 0x20, 0x251C, 0x7B, 0x32, 0x7D, 0x3A,
     0x20, 0x7B, 0x31, 0x7D, 0x2524, 0};  // {0} \u251C{2}: {1}\u2524
@@ -379,10 +388,11 @@ DateTimePatternGenerator::operator=(const DateTimePatternGenerator& other) {
     }
     for (int32_t i=0; i< UDATPG_FIELD_COUNT; ++i ) {
         appendItemFormats[i] = other.appendItemFormats[i];
-        appendItemNames[i] = other.appendItemNames[i];
-        // NUL-terminate for the C API.
-        appendItemFormats[i].getTerminatedBuffer();
-        appendItemNames[i].getTerminatedBuffer();
+        appendItemFormats[i].getTerminatedBuffer(); // NUL-terminate for the C API.
+        for (int32_t j=0; j< UDATPG_WIDTH_COUNT; ++j ) {
+            fieldDisplayNames[i][j] = other.fieldDisplayNames[i][j];
+            fieldDisplayNames[i][j].getTerminatedBuffer(); // NUL-terminate for the C API.
+        }
     }
     UErrorCode status = U_ZERO_ERROR;
     patternMap->copyFrom(*other.patternMap, status);
@@ -399,10 +409,14 @@ DateTimePatternGenerator::operator==(const DateTimePatternGenerator& other) cons
     if ((pLocale==other.pLocale) && (patternMap->equals(*other.patternMap)) &&
         (dateTimeFormat==other.dateTimeFormat) && (decimal==other.decimal)) {
         for ( int32_t i=0 ; i<UDATPG_FIELD_COUNT; ++i ) {
-           if ((appendItemFormats[i] != other.appendItemFormats[i]) ||
-               (appendItemNames[i] != other.appendItemNames[i]) ) {
-               return FALSE;
-           }
+            if (appendItemFormats[i] != other.appendItemFormats[i]) {
+                return FALSE;
+            }
+            for (int32_t j=0; j< UDATPG_WIDTH_COUNT; ++j ) {
+                if (fieldDisplayNames[i][j] != other.fieldDisplayNames[i][j]) {
+                    return FALSE;
+                }
+            }
         }
         return TRUE;
     }
@@ -824,15 +838,16 @@ struct DateTimePatternGenerator::AppendItemNamesSink : public ResourceSink {
         ResourceTable itemsTable = value.getTable(errorCode);
         if (U_FAILURE(errorCode)) { return; }
         for (int32_t i = 0; itemsTable.getKeyAndValue(i, key, value); ++i) {
-            UDateTimePatternField field = dtpg.getAppendNameNumber(key);
+            UDateTimePGDisplayWidth width;
+            UDateTimePatternField field = dtpg.getFieldAndWidthIndices(key, &width);
             if (field == UDATPG_FIELD_COUNT) { continue; }
             ResourceTable detailsTable = value.getTable(errorCode);
             if (U_FAILURE(errorCode)) { return; }
             for (int32_t j = 0; detailsTable.getKeyAndValue(j, key, value); ++j) {
                 if (uprv_strcmp(key, "dn") != 0) { continue; }
                 const UnicodeString& valueStr = value.getUnicodeString(errorCode);
-                if (dtpg.getAppendItemName(field).isEmpty() && !valueStr.isEmpty()) {
-                    dtpg.setAppendItemName(field, valueStr);
+                if (dtpg.getFieldDisplayName(field,width).isEmpty() && !valueStr.isEmpty()) {
+                    dtpg.setFieldDisplayName(field,width,valueStr);
                 }
                 break;
             }
@@ -841,8 +856,7 @@ struct DateTimePatternGenerator::AppendItemNamesSink : public ResourceSink {
 
     void fillInMissing() {
         for (int32_t i = 0; i < UDATPG_FIELD_COUNT; i++) {
-            UDateTimePatternField field = (UDateTimePatternField)i;
-            UnicodeString& valueStr = dtpg.getMutableAppendItemName(field);
+            UnicodeString& valueStr = dtpg.getMutableFieldDisplayName((UDateTimePatternField)i, UDATPG_WIDE);
             if (valueStr.isEmpty()) {
                 valueStr = CAP_F;
                 U_ASSERT(i < 20);
@@ -857,6 +871,12 @@ struct DateTimePatternGenerator::AppendItemNamesSink : public ResourceSink {
                 // NUL-terminate for the C API.
                 valueStr.getTerminatedBuffer();
             }
+            for (int32_t j = 1; j < UDATPG_WIDTH_COUNT; j++) {
+                UnicodeString& valueStr = dtpg.getMutableFieldDisplayName((UDateTimePatternField)i, (UDateTimePGDisplayWidth)j);
+                if (valueStr.isEmpty()) {
+                    valueStr = dtpg.getFieldDisplayName((UDateTimePatternField)i, (UDateTimePGDisplayWidth)(j-1));
+                }
+            }
         }
     }
 };
@@ -969,25 +989,35 @@ DateTimePatternGenerator::getAppendItemFormat(UDateTimePatternField field) const
 
 void
 DateTimePatternGenerator::setAppendItemName(UDateTimePatternField field, const UnicodeString& value) {
-    appendItemNames[field] = value;
-    // NUL-terminate for the C API.
-    appendItemNames[field].getTerminatedBuffer();
+    setFieldDisplayName(field, UDATPG_WIDTH_APPENDITEM, value);
 }
 
 const UnicodeString&
 DateTimePatternGenerator::getAppendItemName(UDateTimePatternField field) const {
-    return appendItemNames[field];
+    return fieldDisplayNames[field][UDATPG_WIDTH_APPENDITEM];
+}
+
+void
+DateTimePatternGenerator::setFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width, const UnicodeString& value) {
+    fieldDisplayNames[field][width] = value;
+    // NUL-terminate for the C API.
+    fieldDisplayNames[field][width].getTerminatedBuffer();
+}
+
+UnicodeString
+DateTimePatternGenerator::getFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width) const {
+    return fieldDisplayNames[field][width];
 }
 
 UnicodeString&
-DateTimePatternGenerator::getMutableAppendItemName(UDateTimePatternField field) {
-    return appendItemNames[field];
+DateTimePatternGenerator::getMutableFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width) {
+    return fieldDisplayNames[field][width];
 }
 
 void
 DateTimePatternGenerator::getAppendName(UDateTimePatternField field, UnicodeString& value) {
     value = SINGLE_QUOTE;
-    value += appendItemNames[field];
+    value += fieldDisplayNames[field][UDATPG_WIDTH_APPENDITEM];
     value += SINGLE_QUOTE;
 }
 
@@ -1312,9 +1342,23 @@ DateTimePatternGenerator::getAppendFormatNumber(const char* field) const {
 }
 
 UDateTimePatternField
-DateTimePatternGenerator::getAppendNameNumber(const char* field) const {
+DateTimePatternGenerator::getFieldAndWidthIndices(const char* key, UDateTimePGDisplayWidth* widthP) const {
+    char cldrFieldKey[UDATPG_FIELD_KEY_MAX + 1];
+    uprv_strncpy(cldrFieldKey, key, UDATPG_FIELD_KEY_MAX);
+    cldrFieldKey[UDATPG_FIELD_KEY_MAX]=0; // ensure termination
+    *widthP = UDATPG_WIDE;
+    char* hyphenPtr = uprv_strchr(cldrFieldKey, '-');
+    if (hyphenPtr) {
+        for (int32_t i=UDATPG_WIDTH_COUNT-1; i>0; --i) {
+            if (uprv_strcmp(CLDR_FIELD_WIDTH[i], hyphenPtr)==0) {
+                *widthP=(UDateTimePGDisplayWidth)i;
+                break;
+            }
+        }
+        *hyphenPtr = 0; // now delete width portion of key
+    }
     for (int32_t i=0; i<UDATPG_FIELD_COUNT; ++i ) {
-        if (uprv_strcmp(CLDR_FIELD_NAME[i],field)==0) {
+        if (uprv_strcmp(CLDR_FIELD_NAME[i],cldrFieldKey)==0) {
             return (UDateTimePatternField)i;
         }
     }
index 3dd3378..aa15d51 100644 (file)
@@ -1,51 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />
   <PropertyGroup Label="Globals">
     <ProjectGuid>{0178B127-6269-407D-B112-93877BB62776}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* "i18n" project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;U_I18N_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <CompileAs>Default</CompileAs>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <BaseAddress>0x4a900000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Debug' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
+    <ClCompile>
+      <BrowseInformation>true</BrowseInformation>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Release' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
+    <ClCompile>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuin.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/i18n.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuin60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\icuin61.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\icuin.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4a900000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuind.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/i18n.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuin60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>..\..\bin\icuin61d.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\icuind.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4a900000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuin.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/i18n.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuin60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icuin61.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\icuin.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4a900000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuin.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuind.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/i18n.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuin60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>..\..\bin64\icuin61d.dll</OutputFile>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\icuind.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4a900000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuind.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="decimfmt.cpp" />
     <ClCompile Include="decNumber.cpp" />
     <ClCompile Include="digitlst.cpp" />
+    <ClCompile Include="double-conversion-bignum-dtoa.cpp" />
+    <ClCompile Include="double-conversion-bignum.cpp" />
+    <ClCompile Include="double-conversion-cached-powers.cpp" />
+    <ClCompile Include="double-conversion-diy-fp.cpp" />
+    <ClCompile Include="double-conversion-fast-dtoa.cpp" />
+    <ClCompile Include="double-conversion.cpp" />
     <ClCompile Include="dtfmtsym.cpp" />
     <ClCompile Include="dtitvfmt.cpp" />
     <ClCompile Include="dtitvinf.cpp" />
     <ClCompile Include="utmscale.cpp" />
     <ClCompile Include="vtzone.cpp" />
     <ClCompile Include="vzone.cpp" />
-    <ClCompile Include="windtfmt.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
-    <ClCompile Include="winnmfmt.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
-    <ClCompile Include="wintzimpl.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="windtfmt.cpp" />
+    <ClCompile Include="winnmfmt.cpp" />
+    <ClCompile Include="wintzimpl.cpp" />
     <ClCompile Include="zonemeta.cpp" />
     <ClCompile Include="zrule.cpp" />
     <ClCompile Include="ztrans.cpp" />
-    <ClCompile Include="ucln_in.cpp">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="ucln_in.cpp" />
     <ClCompile Include="regexcmp.cpp" />
     <ClCompile Include="regeximp.cpp" />
     <ClCompile Include="regexst.cpp" />
     <ClCompile Include="uspoof_impl.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="unicode\alphaindex.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="bocsu.h" />
-    <CustomBuild Include="unicode\coleitr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\coll.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\search.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\sortkey.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stsearch.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tblcoll.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucol.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="affixpatternparser.h" />
     <ClInclude Include="decimalformatpatternimpl.h" />
     <ClInclude Include="decimfmtimpl.h" />
     <ClInclude Include="tzgnames.h" />
     <ClInclude Include="tznames_impl.h" />
     <ClInclude Include="ucol_imp.h" />
-    <CustomBuild Include="unicode\ucoleitr.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\usearch.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tzfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tznames.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uitercollationiterator.h" />
-    <CustomBuild Include="unicode\region.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uregion.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="usrchimp.h" />
     <ClInclude Include="astro.h" />
-    <CustomBuild Include="unicode\basictz.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="buddhcal.h" />
-    <CustomBuild Include="unicode\calendar.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="cecal.h" />
     <ClInclude Include="chnsecal.h" />
-    <CustomBuild Include="unicode\choicfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\compactdecimalformat.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="coptccal.h" />
-    <CustomBuild Include="unicode\curramt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="currfmt.h" />
-    <CustomBuild Include="unicode\currpinf.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\currunit.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dangical.h" />
-    <CustomBuild Include="unicode\datefmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dcfmtsym.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="decContext.h" />
     <ClInclude Include="decfmtst.h" />
     <ClInclude Include="decimalformatpattern.h" />
-    <CustomBuild Include="unicode\decimfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="decNumber.h" />
     <ClInclude Include="decNumberLocal.h" />
     <ClInclude Include="digitlst.h" />
+    <ClInclude Include="double-conversion-bignum-dtoa.h" />
+    <ClInclude Include="double-conversion-bignum.h" />
+    <ClInclude Include="double-conversion-cached-powers.h" />
+    <ClInclude Include="double-conversion-diy-fp.h" />
+    <ClInclude Include="double-conversion-fast-dtoa.h" />
+    <ClInclude Include="double-conversion-ieee.h" />
+    <ClInclude Include="double-conversion-utils.h" />
+    <ClInclude Include="double-conversion.h" />
     <ClInclude Include="dt_impl.h" />
-    <CustomBuild Include="unicode\dtfmtsym.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dtitv_impl.h" />
-    <CustomBuild Include="unicode\dtitvfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtitvinf.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtptngen.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dtptngen_impl.h" />
-    <CustomBuild Include="unicode\dtrule.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ethpccal.h" />
-    <CustomBuild Include="unicode\fieldpos.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\fmtable.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uformattable.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\format.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="fphdlimp.h" />
-    <CustomBuild Include="unicode\fpositer.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\gender.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ugender.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\gregocal.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="gregoimp.h" />
     <ClInclude Include="hebrwcal.h" />
     <ClInclude Include="indiancal.h" />
     <ClInclude Include="islamcal.h" />
     <ClInclude Include="japancal.h" />
-    <CustomBuild Include="unicode\measfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\measunit.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\measure.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\msgfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="msgfmt_impl.h" />
     <ClInclude Include="nfrlist.h" />
     <ClInclude Include="nfrs.h" />
     <ClInclude Include="nfrule.h" />
     <ClInclude Include="nfsubs.h" />
-    <CustomBuild Include="unicode\numfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\numsys.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="olsontz.h" />
     <ClInclude Include="persncal.h" />
-    <CustomBuild Include="unicode\plurfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\plurrule.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="plurrule_impl.h" />
     <ClInclude Include="quantityformatter.h" />
     <ClInclude Include="sharedbreakiterator.h" />
     <ClInclude Include="shareddateformatsymbols.h" />
     <ClInclude Include="sharednumberformat.h" />
     <ClInclude Include="sharedpluralrules.h" />
-    <CustomBuild Include="unicode\rbnf.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\rbtz.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\reldatefmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="reldtfmt.h" />
-    <CustomBuild Include="unicode\scientificnumberformatter.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\selfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\simpletz.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\smpdtfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="smpdtfst.h" />
     <ClInclude Include="standardplural.h" />
     <ClInclude Include="taiwncal.h" />
-    <CustomBuild Include="unicode\timezone.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmunit.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmutamt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmutfmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tzrule.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tztrans.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucal.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udat.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udateintervalformat.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udatpg.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ufieldpositer.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ulocdata.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umsg.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="umsg_imp.h" />
-    <CustomBuild Include="unicode\unum.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unumsys.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\upluralrules.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ureldatefmt.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utmscale.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\vtzone.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="utf16collationiterator.h" />
     <ClInclude Include="utf8collationiterator.h" />
     <ClInclude Include="vzone.h" />
     <ClInclude Include="zrule.h" />
     <ClInclude Include="ztrans.h" />
     <ClInclude Include="ucln_in.h" />
-    <CustomBuild Include="unicode\regex.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="regexcmp.h" />
     <ClInclude Include="regexcst.h" />
     <ClInclude Include="regeximp.h" />
     <ClInclude Include="regexst.h" />
     <ClInclude Include="regextxt.h" />
-    <CustomBuild Include="unicode\uregex.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="anytrans.h" />
     <ClInclude Include="brktrans.h" />
     <ClInclude Include="casetrn.h" />
     <ClInclude Include="titletrn.h" />
     <ClInclude Include="tolowtrn.h" />
     <ClInclude Include="toupptrn.h" />
-    <CustomBuild Include="unicode\translit.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="transreg.h" />
     <ClInclude Include="tridpars.h" />
     <ClInclude Include="unesctrn.h" />
     <ClInclude Include="uni2name.h" />
-    <CustomBuild Include="unicode\unirepl.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utrans.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="csdetect.h" />
     <ClInclude Include="csmatch.h" />
     <ClInclude Include="csr2022.h" />
     <ClInclude Include="csrucode.h" />
     <ClInclude Include="csrutf8.h" />
     <ClInclude Include="inputext.h" />
-    <CustomBuild Include="unicode\ucsdet.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uspoof.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="scriptset.h" />
     <ClInclude Include="uspoof_conf.h" />
     <ClInclude Include="uspoof_impl.h" />
     <ClInclude Include="number_stringbuilder.h" />
     <ClInclude Include="number_types.h" />
     <ClInclude Include="number_utils.h" />
-    <CustomBuild Include="unicode\nounit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\numberformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="i18n.rc" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <!-- The following import will copy all of the header files from this projects 'unicode' folder. -->
+  <Import Project="$(SolutionDir)\Windows.CopyUnicodeHeaderFiles.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 134cd21..f975913 100644 (file)
     <ClCompile Include="digitlst.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
+    <ClCompile Include="double-conversion-bignum-dtoa.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="double-conversion-bignum.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="double-conversion-cached-powers.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="double-conversion-diy-fp.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="double-conversion-fast-dtoa.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="double-conversion.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
     <ClCompile Include="dtfmtsym.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
     <ClCompile Include="uregion.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
+    <ClCompile Include="number_stringbuilder.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_affixutils.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_compact.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_decimalquantity.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_decimfmtprops.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_fluent.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_formatimpl.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_grouping.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_integerwidth.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_longnames.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_modifiers.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_notation.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_padding.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_patternmodifier.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_patternstring.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_rounding.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="number_scientific.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="nounit.cpp">
+      <Filter>misc</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="bocsu.cpp">
     <ClInclude Include="digitlst.h">
       <Filter>formatting</Filter>
     </ClInclude>
+    <ClInclude Include="double-conversion-bignum-dtoa.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-bignum.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-cached-powers.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-diy-fp.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-fast-dtoa.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-ieee.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion-utils.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="double-conversion.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
     <ClInclude Include="dt_impl.h">
       <Filter>formatting</Filter>
     </ClInclude>
     <CustomBuild Include="unicode\msgfmt.h">
       <Filter>formatting</Filter>
     </CustomBuild>
-    <CustomBuild Include="unicode/nounit.h">
-      <Filter>formatting</Filter>
-    </CustomBuild>
-    <CustomBuild Include="/numberformatter.h">
-      <Filter>formatting</Filter>
-    </CustomBuild>
     <CustomBuild Include="unicode\numfmt.h">
       <Filter>formatting</Filter>
     </CustomBuild>
     <CustomBuild Include="unicode\uformattable.h">
       <Filter>formatting</Filter>
     </CustomBuild>
+    <CustomBuild Include="unicode\nounit.h">
+      <Filter>misc</Filter>
+    </CustomBuild>
+    <CustomBuild Include="unicode\numberformatter.h">
+      <Filter>formatting</Filter>
+    </CustomBuild>
   </ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7090c83..21d5032 100644 (file)
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- The following import will include the 'default' configuration options for VS UWP projects. -->
+  <Import Project="..\allinone\Build.Windows.UWP.ProjectConfiguration.props" />
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>
     <ProjectGuid>{6786C051-383B-47E0-9E82-B8B994E06A25}</ProjectGuid>
     <Keyword>DynamicLibrary</Keyword>
     <DefaultLanguage>en-US</DefaultLanguage>
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
-    <AppContainerApplication>true</AppContainerApplication>
-    <ApplicationType>Windows Store</ApplicationType>
-    <WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
-    <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
-    <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -71,7 +66,6 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <Midl>
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MkTypLibCompatible>true</MkTypLibCompatible>
       <SuppressStartupBanner>true</SuppressStartupBanner>
     </Midl>
@@ -79,7 +73,7 @@
       <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <!-- U_DISABLE_RENAMING -->
       <!-- U_HIDE_DRAFT_API & U_HIDE_DEPRECATED_API -->
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;U_ATTRIBUTE_DEPRECATED=;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;U_PLATFORM_USES_ONLY_WIN32_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;_CRT_SECURE_NO_DEPRECATE;U_I18N_IMPLEMENTATION;U_PLATFORM_USES_ONLY_WIN32_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <ExceptionHandling>
       </ExceptionHandling>
@@ -93,8 +87,7 @@
       <CompileAsWinRT>false</CompileAsWinRT>
       <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>U_PLATFORM_HAS_WINUWP_API=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    <ResourceCompile>      
       <Culture>0x0409</Culture>
       <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
       <ProgramDataBaseFileName>.\x86\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin32uwp\icuin60.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuin61.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\icuin60d.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuin61d.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\icuin60.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuin61.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\icuin60d.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuin61d.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\icuin60.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuin61.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\icuin60d.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuin61d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARMuwp\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARMuwp\icuind.lib</ImportLibrary>
       <AdditionalDependencies>..\..\libARMuwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
     <ClCompile Include="decimfmt.cpp" />
     <ClCompile Include="decNumber.cpp" />
     <ClCompile Include="digitlst.cpp" />
+    <ClCompile Include="double-conversion-bignum-dtoa.cpp" />
+    <ClCompile Include="double-conversion-bignum.cpp" />
+    <ClCompile Include="double-conversion-cached-powers.cpp" />
+    <ClCompile Include="double-conversion-diy-fp.cpp" />
+    <ClCompile Include="double-conversion-fast-dtoa.cpp" />
+    <ClCompile Include="double-conversion.cpp" />
     <ClCompile Include="dtfmtsym.cpp" />
     <ClCompile Include="dtitvfmt.cpp" />
     <ClCompile Include="dtitvinf.cpp" />
     <ClCompile Include="uspoof_impl.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="unicode\alphaindex.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="bocsu.h" />
-    <CustomBuild Include="unicode\coleitr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\coll.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\search.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\sortkey.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\stsearch.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tblcoll.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucol.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="affixpatternparser.h" />
     <ClInclude Include="decimalformatpatternimpl.h" />
     <ClInclude Include="decimfmtimpl.h" />
     <ClInclude Include="tzgnames.h" />
     <ClInclude Include="tznames_impl.h" />
     <ClInclude Include="ucol_imp.h" />
-    <CustomBuild Include="unicode\ucoleitr.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\usearch.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tzfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tznames.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="uitercollationiterator.h" />
-    <CustomBuild Include="unicode\region.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uregion.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="usrchimp.h" />
     <ClInclude Include="astro.h" />
-    <CustomBuild Include="unicode\basictz.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="buddhcal.h" />
-    <CustomBuild Include="unicode\calendar.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="cecal.h" />
     <ClInclude Include="chnsecal.h" />
-    <CustomBuild Include="unicode\choicfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\compactdecimalformat.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="coptccal.h" />
-    <CustomBuild Include="unicode\curramt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="currfmt.h" />
-    <CustomBuild Include="unicode\currpinf.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\currunit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dangical.h" />
-    <CustomBuild Include="unicode\datefmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dcfmtsym.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="decContext.h" />
     <ClInclude Include="decfmtst.h" />
     <ClInclude Include="decimalformatpattern.h" />
-    <CustomBuild Include="unicode\decimfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="decNumber.h" />
     <ClInclude Include="decNumberLocal.h" />
     <ClInclude Include="digitlst.h" />
+    <ClInclude Include="double-conversion-bignum-dtoa.h" />
+    <ClInclude Include="double-conversion-bignum.h" />
+    <ClInclude Include="double-conversion-cached-powers.h" />
+    <ClInclude Include="double-conversion-diy-fp.h" />
+    <ClInclude Include="double-conversion-fast-dtoa.h" />
+    <ClInclude Include="double-conversion-ieee.h" />
+    <ClInclude Include="double-conversion-utils.h" />
+    <ClInclude Include="double-conversion.h" />
     <ClInclude Include="dt_impl.h" />
-    <CustomBuild Include="unicode\dtfmtsym.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dtitv_impl.h" />
-    <CustomBuild Include="unicode\dtitvfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtitvinf.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\dtptngen.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="dtptngen_impl.h" />
-    <CustomBuild Include="unicode\dtrule.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="ethpccal.h" />
-    <CustomBuild Include="unicode\fieldpos.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\fmtable.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uformattable.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\format.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="fphdlimp.h" />
-    <CustomBuild Include="unicode\fpositer.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\gender.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ugender.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\gregocal.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="gregoimp.h" />
     <ClInclude Include="hebrwcal.h" />
     <ClInclude Include="indiancal.h" />
     <ClInclude Include="islamcal.h" />
     <ClInclude Include="japancal.h" />
-    <CustomBuild Include="unicode\measfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\measunit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\measure.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\msgfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="msgfmt_impl.h" />
     <ClInclude Include="nfrlist.h" />
     <ClInclude Include="nfrs.h" />
     <ClInclude Include="nfrule.h" />
     <ClInclude Include="nfsubs.h" />
-    <CustomBuild Include="unicode\numfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\numsys.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="olsontz.h" />
     <ClInclude Include="persncal.h" />
-    <CustomBuild Include="unicode\plurfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\plurrule.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="plurrule_impl.h" />
     <ClInclude Include="quantityformatter.h" />
     <ClInclude Include="sharedbreakiterator.h" />
     <ClInclude Include="shareddateformatsymbols.h" />
     <ClInclude Include="sharednumberformat.h" />
     <ClInclude Include="sharedpluralrules.h" />
-    <CustomBuild Include="unicode\rbnf.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\rbtz.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\reldatefmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="reldtfmt.h" />
-    <CustomBuild Include="unicode\scientificnumberformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\selfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\simpletz.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\smpdtfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="smpdtfst.h" />
     <ClInclude Include="standardplural.h" />
     <ClInclude Include="taiwncal.h" />
-    <CustomBuild Include="unicode\timezone.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmunit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmutamt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tmutfmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tzrule.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\tztrans.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ucal.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udat.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udateintervalformat.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\udatpg.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ufieldpositer.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ulocdata.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\umsg.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="umsg_imp.h" />
-    <CustomBuild Include="unicode\unum.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\unumsys.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\upluralrules.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ureldatefmt.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utmscale.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\vtzone.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="utf16collationiterator.h" />
     <ClInclude Include="utf8collationiterator.h" />
     <ClInclude Include="vzone.h" />
     <ClInclude Include="zrule.h" />
     <ClInclude Include="ztrans.h" />
     <ClInclude Include="ucln_in.h" />
-    <CustomBuild Include="unicode\regex.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="regexcmp.h" />
     <ClInclude Include="regexcst.h" />
     <ClInclude Include="regeximp.h" />
     <ClInclude Include="regexst.h" />
     <ClInclude Include="regextxt.h" />
-    <CustomBuild Include="unicode\uregex.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="anytrans.h" />
     <ClInclude Include="brktrans.h" />
     <ClInclude Include="casetrn.h" />
     <ClInclude Include="titletrn.h" />
     <ClInclude Include="tolowtrn.h" />
     <ClInclude Include="toupptrn.h" />
-    <CustomBuild Include="unicode\translit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="transreg.h" />
     <ClInclude Include="tridpars.h" />
     <ClInclude Include="unesctrn.h" />
     <ClInclude Include="uni2name.h" />
-    <CustomBuild Include="unicode\unirepl.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\utrans.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="csdetect.h" />
     <ClInclude Include="csmatch.h" />
     <ClInclude Include="csr2022.h" />
     <ClInclude Include="csrucode.h" />
     <ClInclude Include="csrutf8.h" />
     <ClInclude Include="inputext.h" />
-    <CustomBuild Include="unicode\ucsdet.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\uspoof.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
     <ClInclude Include="scriptset.h" />
     <ClInclude Include="uspoof_conf.h" />
     <ClInclude Include="uspoof_impl.h" />
     <ClInclude Include="number_stringbuilder.h" />
     <ClInclude Include="number_types.h" />
     <ClInclude Include="number_utils.h" />
-    <CustomBuild Include="unicode\nounit.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\numberformatter.h">
-      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
-      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="i18n.rc" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\common\common_uwp.vcxproj">
-      <Project>{C10CF34B-3F79-430E-AD38-5A32DC0589C2}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 4fd0e07..b84bedf 100644 (file)
@@ -614,7 +614,7 @@ void IslamicCalendar::handleComputeFields(int32_t julianDay, UErrorCode &status)
             days = julianDay - ASTRONOMICAL_EPOC;
         }
         // Use the civil calendar approximation, which is just arithmetic
-        year  = (int)ClockMath::floorDivide( (double)(30 * days + 10646) , 10631.0 );
+        year  = (int32_t)ClockMath::floorDivide(30 * (int64_t)days + 10646, (int64_t)10631);
         month = (int32_t)uprv_ceil((days - 29 - yearStart(year)) / 29.5 );
         month = month<11?month:11;
         startDate = monthStart(year, month);
index 2ef5329..5970262 100644 (file)
@@ -764,10 +764,11 @@ UnicodeString &MeasureFormat::formatMeasurePerUnit(
     if (U_FAILURE(status)) {
         return appendTo;
     }
-    MeasureUnit *resolvedUnit =
-            MeasureUnit::resolveUnitPerUnit(measure.getUnit(), perUnit);
-    if (resolvedUnit != NULL) {
-        Measure newMeasure(measure.getNumber(), resolvedUnit, status);
+    bool isResolved = false;
+    MeasureUnit resolvedUnit =
+        MeasureUnit::resolveUnitPerUnit(measure.getUnit(), perUnit, &isResolved);
+    if (isResolved) {
+        Measure newMeasure(measure.getNumber(), new MeasureUnit(resolvedUnit), status);
         return formatMeasure(
                 newMeasure, **numberFormat, appendTo, pos, status);
     }
@@ -1061,9 +1062,13 @@ UnicodeString &MeasureFormat::formatNumeric(
     }
 
     // Format time. draft becomes something like '5:30:45'
+    // #13606: DateFormat is not thread-safe, but MeasureFormat advertises itself as thread-safe.
     FieldPosition smallestFieldPosition(smallestField);
     UnicodeString draft;
+    static UMutex dateFmtMutex = U_MUTEX_INITIALIZER;
+    umtx_lock(&dateFmtMutex);
     dateFmt.format(date, draft, smallestFieldPosition, status);
+    umtx_unlock(&dateFmtMutex);
 
     // If we find field for smallest amount replace it with the formatted
     // smallest amount from above taking care to replace the integer part
index e9e1417..4322134 100644 (file)
@@ -1211,8 +1211,8 @@ int32_t MeasureUnit::internalGetIndexForTypeAndSubtype(const char *type, const c
     return gIndexes[t] + st - gOffsets[t];
 }
 
-MeasureUnit *MeasureUnit::resolveUnitPerUnit(
-        const MeasureUnit &unit, const MeasureUnit &perUnit) {
+MeasureUnit MeasureUnit::resolveUnitPerUnit(
+        const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved) {
     int32_t unitOffset = unit.getOffset();
     int32_t perUnitOffset = perUnit.getOffset();
 
@@ -1233,10 +1233,13 @@ MeasureUnit *MeasureUnit::resolveUnitPerUnit(
         } else {
             // We found a resolution for our unit / per-unit combo
             // return it.
-            return new MeasureUnit(midRow[2], midRow[3]);
+            *isResolved = true;
+            return MeasureUnit(midRow[2], midRow[3]);
         }
     }
-    return NULL;
+
+    *isResolved = false;
+    return MeasureUnit();
 }
 
 MeasureUnit *MeasureUnit::create(int typeId, int subTypeId, UErrorCode &status) {
index 769fad3..e7b17b4 100644 (file)
@@ -681,7 +681,7 @@ static void dumpUS(FILE* f, const UnicodeString& us) {
 #endif
 
 UBool
-NFRuleSet::parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result) const
+NFRuleSet::parse(const UnicodeString& text, ParsePosition& pos, double upperBound, uint32_t nonNumericalExecutedRuleMask, Formattable& result) const
 {
     // try matching each rule in the rule set against the text being
     // parsed.  Whichever one matches the most characters is the one
@@ -707,9 +707,12 @@ NFRuleSet::parse(const UnicodeString& text, ParsePosition& pos, double upperBoun
 #endif
     // Try each of the negative rules, fraction rules, infinity rules and NaN rules
     for (int i = 0; i < NON_NUMERICAL_RULE_LENGTH; i++) {
-        if (nonNumericalRules[i]) {
+        if (nonNumericalRules[i] && ((nonNumericalExecutedRuleMask >> i) & 1) == 0) {
+            // Mark this rule as being executed so that we don't try to execute it again.
+            nonNumericalExecutedRuleMask |= 1 << i;
+
             Formattable tempResult;
-            UBool success = nonNumericalRules[i]->doParse(text, workingPos, 0, upperBound, tempResult);
+            UBool success = nonNumericalRules[i]->doParse(text, workingPos, 0, upperBound, nonNumericalExecutedRuleMask, tempResult);
             if (success && (workingPos.getIndex() > highWaterMark.getIndex())) {
                 result = tempResult;
                 highWaterMark = workingPos;
@@ -748,7 +751,7 @@ NFRuleSet::parse(const UnicodeString& text, ParsePosition& pos, double upperBoun
                 continue;
             }
             Formattable tempResult;
-            UBool success = rules[i]->doParse(text, workingPos, fIsFractionRuleSet, upperBound, tempResult);
+            UBool success = rules[i]->doParse(text, workingPos, fIsFractionRuleSet, upperBound, nonNumericalExecutedRuleMask, tempResult);
             if (success && workingPos.getIndex() > highWaterMark.getIndex()) {
                 result = tempResult;
                 highWaterMark = workingPos;
index 1e39b28..db03c90 100644 (file)
@@ -55,7 +55,7 @@ public:
     void  format(int64_t number, UnicodeString& toAppendTo, int32_t pos, int32_t recursionCount, UErrorCode& status) const;
     void  format(double number, UnicodeString& toAppendTo, int32_t pos, int32_t recursionCount, UErrorCode& status) const;
 
-    UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result) const;
+    UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, uint32_t nonNumericalExecutedRuleMask, Formattable& result) const;
 
     void appendRules(UnicodeString& result) const; // toString
 
index f24be11..c75ecf0 100644 (file)
@@ -900,6 +900,7 @@ NFRule::doParse(const UnicodeString& text,
                 ParsePosition& parsePosition,
                 UBool isFractionRule,
                 double upperBound,
+                uint32_t nonNumericalExecutedRuleMask,
                 Formattable& resVal) const
 {
     // internally we operate on a copy of the string being parsed
@@ -1002,6 +1003,7 @@ NFRule::doParse(const UnicodeString& text,
         temp.setTo(ruleText, sub1Pos, sub2Pos - sub1Pos);
         double partialResult = matchToDelimiter(workText, start, tempBaseValue,
             temp, pp, sub1,
+            nonNumericalExecutedRuleMask,
             upperBound);
 
         // if we got a successful match (or were trying to match a
@@ -1022,6 +1024,7 @@ NFRule::doParse(const UnicodeString& text,
             temp.setTo(ruleText, sub2Pos, ruleText.length() - sub2Pos);
             partialResult = matchToDelimiter(workText2, 0, partialResult,
                 temp, pp2, sub2,
+                nonNumericalExecutedRuleMask,
                 upperBound);
 
             // if we got a successful match on this second
@@ -1158,6 +1161,7 @@ NFRule::matchToDelimiter(const UnicodeString& text,
                          const UnicodeString& delimiter,
                          ParsePosition& pp,
                          const NFSubstitution* sub,
+                         uint32_t nonNumericalExecutedRuleMask,
                          double upperBound) const
 {
        UErrorCode status = U_ZERO_ERROR;
@@ -1191,6 +1195,7 @@ NFRule::matchToDelimiter(const UnicodeString& text,
 #else
                     formatter->isLenient(),
 #endif
+                    nonNumericalExecutedRuleMask,
                     result);
 
                 // if the substitution could match all the text up to
@@ -1244,6 +1249,7 @@ NFRule::matchToDelimiter(const UnicodeString& text,
 #else
             formatter->isLenient(),
 #endif
+            nonNumericalExecutedRuleMask,
             result);
         if (success && (tempPP.getIndex() != 0)) {
             // if there's a successful match (or it's a null
index 809119c..698b75b 100644 (file)
@@ -74,6 +74,7 @@ public:
                   ParsePosition& pos, 
                   UBool isFractional, 
                   double upperBound,
+                  uint32_t nonNumericalExecutedRuleMask,
                   Formattable& result) const;
 
     UBool shouldRollBack(int64_t number) const;
@@ -94,6 +95,7 @@ private:
     int32_t indexOfAnyRulePrefix() const;
     double matchToDelimiter(const UnicodeString& text, int32_t startPos, double baseValue,
                             const UnicodeString& delimiter, ParsePosition& pp, const NFSubstitution* sub, 
+                            uint32_t nonNumericalExecutedRuleMask,
                             double upperBound) const;
     void stripPrefix(UnicodeString& text, const UnicodeString& prefix, ParsePosition& pp) const;
 
index b5da982..4c17aa2 100644 (file)
@@ -155,6 +155,7 @@ public:
         double baseValue,
         double upperBound,
         UBool lenientParse,
+        uint32_t nonNumericalExecutedRuleMask,
         Formattable& result) const;
 
     virtual double composeRuleValue(double newRuleValue, double oldRuleValue) const {
@@ -221,6 +222,7 @@ public:
         double baseValue,
         double upperBound,
         UBool lenientParse,
+        uint32_t nonNumericalExecutedRuleMask,
         Formattable& result) const;
 
     virtual double composeRuleValue(double newRuleValue, double oldRuleValue) const { return newRuleValue + oldRuleValue; }
@@ -292,6 +294,7 @@ public:
         double baseValue,
         double upperBound,
         UBool /*lenientParse*/,
+        uint32_t nonNumericalExecutedRuleMask,
         Formattable& result) const;
 
     virtual double composeRuleValue(double newRuleValue, double oldRuleValue) const { return newRuleValue / oldRuleValue; }
@@ -689,6 +692,7 @@ NFSubstitution::doParse(const UnicodeString& text,
                         double baseValue,
                         double upperBound,
                         UBool lenientParse,
+                        uint32_t nonNumericalExecutedRuleMask,
                         Formattable& result) const
 {
 #ifdef RBNF_DEBUG
@@ -709,7 +713,7 @@ NFSubstitution::doParse(const UnicodeString& text,
     // on), then also try parsing the text using a default-
     // constructed NumberFormat
     if (ruleSet != NULL) {
-        ruleSet->parse(text, parsePosition, upperBound, result);
+        ruleSet->parse(text, parsePosition, upperBound, nonNumericalExecutedRuleMask, result);
         if (lenientParse && !ruleSet->isFractionRuleSet() && parsePosition.getIndex() == 0) {
             UErrorCode status = U_ZERO_ERROR;
             NumberFormat* fmt = NumberFormat::createInstance(status);
@@ -931,18 +935,19 @@ ModulusSubstitution::doParse(const UnicodeString& text,
                              double baseValue,
                              double upperBound,
                              UBool lenientParse,
+                             uint32_t nonNumericalExecutedRuleMask,
                              Formattable& result) const
 {
     // if this isn't a >>> substitution, we can just use the
     // inherited parse() routine to do the parsing
     if (ruleToUse == NULL) {
-        return NFSubstitution::doParse(text, parsePosition, baseValue, upperBound, lenientParse, result);
+        return NFSubstitution::doParse(text, parsePosition, baseValue, upperBound, lenientParse, nonNumericalExecutedRuleMask, result);
 
         // but if it IS a >>> substitution, we have to do it here: we
         // use the specific rule's doParse() method, and then we have to
         // do some of the other work of NFRuleSet.parse()
     } else {
-        ruleToUse->doParse(text, parsePosition, FALSE, upperBound, result);
+        ruleToUse->doParse(text, parsePosition, FALSE, upperBound, nonNumericalExecutedRuleMask, result);
 
         if (parsePosition.getIndex() != 0) {
             UErrorCode status = U_ZERO_ERROR;
@@ -1118,12 +1123,13 @@ FractionalPartSubstitution::doParse(const UnicodeString& text,
                 double baseValue,
                 double /*upperBound*/,
                 UBool lenientParse,
+                uint32_t nonNumericalExecutedRuleMask,
                 Formattable& resVal) const
 {
     // if we're not in byDigits mode, we can just use the inherited
     // doParse()
     if (!byDigits) {
-        return NFSubstitution::doParse(text, parsePosition, baseValue, 0, lenientParse, resVal);
+        return NFSubstitution::doParse(text, parsePosition, baseValue, 0, lenientParse, nonNumericalExecutedRuleMask, resVal);
 
         // if we ARE in byDigits mode, parse the text one digit at a time
         // using this substitution's owning rule set (we do this by setting
@@ -1141,7 +1147,7 @@ FractionalPartSubstitution::doParse(const UnicodeString& text,
         while (workText.length() > 0 && workPos.getIndex() != 0) {
             workPos.setIndex(0);
             Formattable temp;
-            getRuleSet()->parse(workText, workPos, 10, temp);
+            getRuleSet()->parse(workText, workPos, 10, nonNumericalExecutedRuleMask, temp);
             UErrorCode status = U_ZERO_ERROR;
             digit = temp.getLong(status);
 //            digit = temp.getType() == Formattable::kLong ?
@@ -1249,6 +1255,7 @@ NumeratorSubstitution::doParse(const UnicodeString& text,
                                double baseValue,
                                double upperBound,
                                UBool /*lenientParse*/,
+                               uint32_t nonNumericalExecutedRuleMask,
                                Formattable& result) const
 {
     // we don't have to do anything special to do the parsing here,
@@ -1267,7 +1274,7 @@ NumeratorSubstitution::doParse(const UnicodeString& text,
 
         while (workText.length() > 0 && workPos.getIndex() != 0) {
             workPos.setIndex(0);
-            getRuleSet()->parse(workText, workPos, 1, temp); // parse zero or nothing at all
+            getRuleSet()->parse(workText, workPos, 1, nonNumericalExecutedRuleMask, temp); // parse zero or nothing at all
             if (workPos.getIndex() == 0) {
                 // we failed, either there were no more zeros, or the number was formatted with digits
                 // either way, we're done
@@ -1289,7 +1296,7 @@ NumeratorSubstitution::doParse(const UnicodeString& text,
     }
 
     // we've parsed off the zeros, now let's parse the rest from our current position
-    NFSubstitution::doParse(workText, parsePosition, withZeros ? 1 : baseValue, upperBound, FALSE, result);
+    NFSubstitution::doParse(workText, parsePosition, withZeros ? 1 : baseValue, upperBound, FALSE, nonNumericalExecutedRuleMask, result);
 
     if (withZeros) {
         // any base value will do in this case.  is there a way to
index e8b2591..948627c 100644 (file)
@@ -191,6 +191,7 @@ public:
         double baseValue,
         double upperBound, 
         UBool lenientParse,
+        uint32_t nonNumericalExecutedRuleMask,
         Formattable& result) const;
     
     /**
index 4dfdbc7..df4b267 100644 (file)
@@ -70,6 +70,7 @@ int32_t AffixUtils::estimateLength(const CharSequence &patternString, UErrorCode
         case STATE_FIRST_QUOTE:
         case STATE_INSIDE_QUOTE:
             status = U_ILLEGAL_ARGUMENT_ERROR;
+            break;
         default:
             break;
     }
index 8ceee13..cc0d8fd 100644 (file)
@@ -262,7 +262,6 @@ void CompactHandler::precomputeAllModifiers(MutablePatternModifier &buildReferen
         buildReference.setPatternInfo(&patternInfo);
         info.mod = buildReference.createImmutable(status);
         if (U_FAILURE(status)) { return; }
-        info.numDigits = patternInfo.positive.integerTotal;
         info.patternString = patternString;
     }
 }
@@ -286,7 +285,6 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr
 
     StandardPlural::Form plural = quantity.getStandardPlural(rules);
     const UChar *patternString = data.getPattern(magnitude, plural);
-    int numDigits = -1;
     if (patternString == nullptr) {
         // Use the default (non-compact) modifier.
         // No need to take any action.
@@ -299,7 +297,6 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr
             const CompactModInfo &info = precomputedMods[i];
             if (u_strcmp(patternString, info.patternString) == 0) {
                 info.mod->applyToMicros(micros, quantity);
-                numDigits = info.numDigits;
                 break;
             }
         }
@@ -313,12 +310,8 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr
         PatternParser::parseToPatternInfo(UnicodeString(patternString), patternInfo, status);
         static_cast<MutablePatternModifier*>(const_cast<Modifier*>(micros.modMiddle))
             ->setPatternInfo(&patternInfo);
-        numDigits = patternInfo.positive.integerTotal;
     }
 
-    // FIXME: Deal with numDigits == 0 (Awaiting a test case)
-    (void)numDigits;
-
     // We already performed rounding. Do not perform it again.
     micros.rounding = Rounder::constructPassThrough();
 }
index 2344abf..f7adf36 100644 (file)
@@ -52,7 +52,6 @@ class CompactData : public MultiplierProducer {
 struct CompactModInfo {
     const ImmutablePatternModifier *mod;
     const UChar* patternString;
-    int32_t numDigits;
 };
 
 class CompactHandler : public MicroPropsGenerator, public UMemory {
index 7246357..b68df26 100644 (file)
 #include "decContext.h"
 #include "decNumber.h"
 #include "number_roundingutils.h"
+#include "double-conversion.h"
 #include "unicode/plurrule.h"
 
 using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
+using icu::double_conversion::DoubleToStringConverter;
+
 namespace {
 
 int8_t NEGATIVE_FLAG = 1;
@@ -265,6 +268,10 @@ bool DecimalQuantity::isNegative() const {
     return (flags & NEGATIVE_FLAG) != 0;
 }
 
+int8_t DecimalQuantity::signum() const {
+    return isNegative() ? -1 : isZero() ? 0 : 1;
+}
+
 bool DecimalQuantity::isInfinite() const {
     return (flags & INFINITY_FLAG) != 0;
 }
@@ -392,31 +399,27 @@ void DecimalQuantity::_setToDoubleFast(double n) {
 }
 
 void DecimalQuantity::convertToAccurateDouble() {
-    double n = origDouble;
-    U_ASSERT(n != 0);
+    U_ASSERT(origDouble != 0);
     int32_t delta = origDelta;
-    setBcdToZero();
 
-    // Call the slow oracle function (Double.toString in Java, sprintf in C++).
-    // The <float.h> constant DBL_DIG defines a platform-specific number of digits in a double.
-    // However, this tends to be too low (see #11318). Instead, we always use 14 decimal places.
-    static constexpr size_t CAP = 1 + 14 + 8; // Extra space for '+', '.', e+NNN, and '\0'
-    char dstr[CAP];
-    snprintf(dstr, CAP, "%+1.14e", n);
-
-    // uprv_decNumberFromString() will parse the string expecting '.' as a
-    // decimal separator, however sprintf() can use ',' in certain locales.
-    // Overwrite a ',' with '.' here before proceeding.
-    char *decimalSeparator = strchr(dstr, ',');
-    if (decimalSeparator != nullptr) {
-        *decimalSeparator = '.';
-    }
-
-    StringPiece sp(dstr);
-    DecNumberWithStorage dn;
-    stringToDecNumber(dstr, dn);
-    _setToDecNumber(dn.getAlias());
+    // Call the slow oracle function (Double.toString in Java, DoubleToAscii in C++).
+    char buffer[DoubleToStringConverter::kBase10MaximalLength + 1];
+    bool sign; // unused; always positive
+    int32_t length;
+    int32_t point;
+    DoubleToStringConverter::DoubleToAscii(
+        origDouble,
+        DoubleToStringConverter::DtoaMode::SHORTEST,
+        0,
+        buffer,
+        sizeof(buffer),
+        &sign,
+        &length,
+        &point
+    );
 
+    setBcdToZero();
+    readDoubleConversionToBcd(buffer, length, point);
     scale += delta;
     explicitExactDouble = true;
 }
@@ -833,6 +836,26 @@ void DecimalQuantity::readDecNumberToBcd(decNumber *dn) {
     precision = dn->digits;
 }
 
+void DecimalQuantity::readDoubleConversionToBcd(
+        const char* buffer, int32_t length, int32_t point) {
+    // NOTE: Despite the fact that double-conversion's API is called
+    // "DoubleToAscii", they actually use '0' (as opposed to u8'0').
+    if (length > 16) {
+        ensureCapacity(length);
+        for (int32_t i = 0; i < length; i++) {
+            fBCD.bcdBytes.ptr[i] = buffer[length-i-1] - '0';
+        }
+    } else {
+        uint64_t result = 0L;
+        for (int32_t i = 0; i < length; i++) {
+            result |= static_cast<uint64_t>(buffer[length-i-1] - '0') << (4 * i);
+        }
+        fBCD.bcdLong = result;
+    }
+    scale = point - length;
+    precision = length;
+}
+
 void DecimalQuantity::compact() {
     if (usingBytes) {
         int32_t delta = 0;
index ccb8326..4309c3c 100644 (file)
@@ -115,6 +115,9 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
     /** @return Whether the value represented by this {@link DecimalQuantity} is less than zero. */
     bool isNegative() const;
 
+    /** @return -1 if the value is negative; 1 if positive; or 0 if zero. */
+    int8_t signum() const;
+
     /** @return Whether the value represented by this {@link DecimalQuantity} is infinite. */
     bool isInfinite() const U_OVERRIDE;
 
@@ -395,6 +398,8 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
 
     void readDecNumberToBcd(decNumber *dn);
 
+    void readDoubleConversionToBcd(const char* buffer, int32_t length, int32_t point);
+
     void copyBcdFrom(const DecimalQuantity &other);
 
     /**
index 3e25966..96356ca 100644 (file)
@@ -19,8 +19,8 @@ U_NAMESPACE_BEGIN
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of CurrencyPluralInfoWrapper.
-// (MSVC requires this, even though it should not be necessary.)
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
 template class U_I18N_API LocalPointerBase<CurrencyPluralInfo>;
index 76c3a7c..2711310 100644 (file)
@@ -33,12 +33,13 @@ Derived NumberFormatterSettings<Derived>::unit(const icu::MeasureUnit &unit) con
 }
 
 template<typename Derived>
-Derived NumberFormatterSettings<Derived>::adoptUnit(const icu::MeasureUnit *unit) const {
+Derived NumberFormatterSettings<Derived>::adoptUnit(icu::MeasureUnit *unit) const {
     Derived copy(*this);
     // Just copy the unit into the MacroProps by value, and delete it since we have ownership.
     // NOTE: Slicing occurs here. However, CurrencyUnit can be restored from MeasureUnit.
     // TimeUnit may be affected, but TimeUnit is not as relevant to number formatting.
     if (unit != nullptr) {
+      // TODO: On nullptr, reset to default value?
         copy.fMacros.unit = *unit;
         delete unit;
     }
@@ -46,6 +47,26 @@ Derived NumberFormatterSettings<Derived>::adoptUnit(const icu::MeasureUnit *unit
 }
 
 template<typename Derived>
+Derived NumberFormatterSettings<Derived>::perUnit(const icu::MeasureUnit &perUnit) const {
+    Derived copy(*this);
+    // See comments above about slicing.
+    copy.fMacros.perUnit = perUnit;
+    return copy;
+}
+
+template<typename Derived>
+Derived NumberFormatterSettings<Derived>::adoptPerUnit(icu::MeasureUnit *perUnit) const {
+    Derived copy(*this);
+    // See comments above about slicing and ownership.
+    if (perUnit != nullptr) {
+      // TODO: On nullptr, reset to default value?
+        copy.fMacros.perUnit = *perUnit;
+        delete perUnit;
+    }
+    return copy;
+}
+
+template<typename Derived>
 Derived NumberFormatterSettings<Derived>::rounding(const Rounder &rounder) const {
     Derived copy(*this);
     // NOTE: Slicing is OK.
@@ -54,9 +75,11 @@ Derived NumberFormatterSettings<Derived>::rounding(const Rounder &rounder) const
 }
 
 template<typename Derived>
-Derived NumberFormatterSettings<Derived>::grouping(const Grouper &grouper) const {
+Derived NumberFormatterSettings<Derived>::grouping(const UGroupingStrategy &strategy) const {
     Derived copy(*this);
-    copy.fMacros.grouper = grouper;
+    // NOTE: This is slightly different than how the setting is stored in Java
+    // because we want to put it on the stack.
+    copy.fMacros.grouper = Grouper::forStrategy(strategy);
     return copy;
 }
 
@@ -75,7 +98,7 @@ Derived NumberFormatterSettings<Derived>::symbols(const DecimalFormatSymbols &sy
 }
 
 template<typename Derived>
-Derived NumberFormatterSettings<Derived>::adoptSymbols(const NumberingSystem *ns) const {
+Derived NumberFormatterSettings<Derived>::adoptSymbols(NumberingSystem *ns) const {
     Derived copy(*this);
     copy.fMacros.symbols.setTo(ns);
     return copy;
index 9986ce6..bc96cb1 100644 (file)
@@ -17,6 +17,8 @@
 #include "unicode/dcfmtsym.h"
 #include "number_scientific.h"
 #include "number_compact.h"
+#include "uresimp.h"
+#include "ureslocs.h"
 
 using namespace icu;
 using namespace icu::number;
@@ -88,6 +90,37 @@ const char16_t *getPatternForStyle(const Locale &locale, const char *nsName, Cld
     return pattern;
 }
 
+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: 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;
+}
+
 inline bool unitIsCurrency(const MeasureUnit &unit) {
     return uprv_strcmp("currency", unit.getType()) == 0;
 }
@@ -161,8 +194,9 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps &macros, bool safe,
     bool isPercent = isNoUnit && unitIsPercent(macros.unit);
     bool isPermille = isNoUnit && unitIsPermille(macros.unit);
     bool isCldrUnit = !isCurrency && !isNoUnit;
-    bool isAccounting =
-            macros.sign == UNUM_SIGN_ACCOUNTING || macros.sign == UNUM_SIGN_ACCOUNTING_ALWAYS;
+    bool isAccounting = macros.sign == UNUM_SIGN_ACCOUNTING
+            || macros.sign == UNUM_SIGN_ACCOUNTING_ALWAYS
+            || macros.sign == UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO;
     CurrencyUnit currency(kDefaultCurrency, status);
     if (isCurrency) {
         currency = CurrencyUnit(macros.unit, status); // Restore CurrencyUnit from MeasureUnit
@@ -185,20 +219,51 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps &macros, bool safe,
     }
     const char *nsName = U_SUCCESS(status) ? ns->getName() : "latn";
 
-    // Load and parse the pattern string.  It is used for grouping sizes and affixes only.
-    CldrPatternStyle patternStyle;
-    if (isPercent || isPermille) {
-        patternStyle = CLDR_PATTERN_STYLE_PERCENT;
-    } else if (!isCurrency || unitWidth == UNUM_UNIT_WIDTH_FULL_NAME) {
-        patternStyle = CLDR_PATTERN_STYLE_DECIMAL;
-    } else if (isAccounting) {
-        // NOTE: Although ACCOUNTING and ACCOUNTING_ALWAYS are only supported in currencies right now,
-        // the API contract allows us to add support to other units in the future.
-        patternStyle = CLDR_PATTERN_STYLE_ACCOUNTING;
+    // Resolve the symbols. Do this here because currency may need to customize them.
+    if (macros.symbols.isDecimalFormatSymbols()) {
+        fMicros.symbols = macros.symbols.getDecimalFormatSymbols();
     } else {
-        patternStyle = CLDR_PATTERN_STYLE_CURRENCY;
+        fMicros.symbols = new DecimalFormatSymbols(macros.locale, *ns, status);
+        // Give ownership to the NumberFormatterImpl.
+        fSymbols.adoptInstead(fMicros.symbols);
+    }
+
+    // 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.
+            DecimalFormatSymbols* symbols = new DecimalFormatSymbols(*fMicros.symbols);
+            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 (pattern == nullptr) {
+        CldrPatternStyle patternStyle;
+        if (isPercent || isPermille) {
+            patternStyle = CLDR_PATTERN_STYLE_PERCENT;
+        } else if (!isCurrency || unitWidth == UNUM_UNIT_WIDTH_FULL_NAME) {
+            patternStyle = CLDR_PATTERN_STYLE_DECIMAL;
+        } else if (isAccounting) {
+            // NOTE: Although ACCOUNTING and ACCOUNTING_ALWAYS are only supported in currencies right now,
+            // the API contract allows us to add support to other units in the future.
+            patternStyle = CLDR_PATTERN_STYLE_ACCOUNTING;
+        } else {
+            patternStyle = CLDR_PATTERN_STYLE_CURRENCY;
+        }
+        pattern = getPatternForStyle(macros.locale, nsName, patternStyle, status);
     }
-    const char16_t *pattern = getPatternForStyle(macros.locale, nsName, patternStyle, status);
     auto patternInfo = new ParsedPatternInfo();
     fPatternInfo.adoptInstead(patternInfo);
     PatternParser::parseToPatternInfo(UnicodeString(pattern), *patternInfo, status);
@@ -207,15 +272,6 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps &macros, bool safe,
     /// START POPULATING THE DEFAULT MICROPROPS AND BUILDING THE MICROPROPS GENERATOR ///
     /////////////////////////////////////////////////////////////////////////////////////
 
-    // Symbols
-    if (macros.symbols.isDecimalFormatSymbols()) {
-        fMicros.symbols = macros.symbols.getDecimalFormatSymbols();
-    } else {
-        fMicros.symbols = new DecimalFormatSymbols(macros.locale, *ns, status);
-        // Give ownership to the NumberFormatterImpl.
-        fSymbols.adoptInstead(fMicros.symbols);
-    }
-
     // Rounding strategy
     if (!macros.rounder.isBogus()) {
         fMicros.rounding = macros.rounder;
@@ -233,11 +289,11 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps &macros, bool safe,
         fMicros.grouping = macros.grouper;
     } else if (macros.notation.fType == Notation::NTN_COMPACT) {
         // Compact notation uses minGrouping by default since ICU 59
-        fMicros.grouping = Grouper::minTwoDigits();
+        fMicros.grouping = Grouper::forStrategy(UNUM_GROUPING_MIN2);
     } else {
-        fMicros.grouping = Grouper::defaults();
+        fMicros.grouping = Grouper::forStrategy(UNUM_GROUPING_AUTO);
     }
-    fMicros.grouping.setLocaleData(*fPatternInfo);
+    fMicros.grouping.setLocaleData(*fPatternInfo, macros.locale);
 
     // Padding strategy
     if (!macros.padder.isBogus()) {
@@ -308,6 +364,7 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps &macros, bool safe,
                         LongNameHandler::forMeasureUnit(
                                 macros.locale,
                                 macros.unit,
+                                macros.perUnit,
                                 unitWidth,
                                 resolvePluralRules(macros.rules, macros.locale, status),
                                 chain,
index 1536282..a2b1bbd 100644 (file)
@@ -7,36 +7,70 @@
 
 #include "unicode/numberformatter.h"
 #include "number_patternstring.h"
+#include "uresimp.h"
 
 using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
-Grouper Grouper::defaults() {
-    return {-2, -2, false};
+namespace {
+
+int16_t getMinGroupingForLocale(const Locale& locale) {
+    // TODO: Cache this?
+    UErrorCode localStatus = U_ZERO_ERROR;
+    LocalUResourceBundlePointer bundle(ures_open(NULL, locale.getName(), &localStatus));
+    int32_t resultLen = 0;
+    const char16_t* result = ures_getStringByKeyWithFallback(
+        bundle.getAlias(),
+        "NumberElements/minimumGroupingDigits",
+        &resultLen,
+        &localStatus);
+    // TODO: Is it safe to assume resultLen == 1? Would locales set minGrouping >= 10?
+    if (U_FAILURE(localStatus) || resultLen != 1) {
+        return 1;
+    }
+    return result[0] - u'0';
 }
 
-Grouper Grouper::minTwoDigits() {
-    return {-2, -2, true};
 }
 
-Grouper Grouper::none() {
-    return {-1, -1, false};
+Grouper Grouper::forStrategy(UGroupingStrategy grouping) {
+    switch (grouping) {
+    case UNUM_GROUPING_OFF:
+        return {-1, -1, -2};
+    case UNUM_GROUPING_AUTO:
+        return {-2, -2, -2};
+    case UNUM_GROUPING_MIN2:
+        return {-2, -2, -3};
+    case UNUM_GROUPING_ON_ALIGNED:
+        return {-4, -4, 1};
+    case UNUM_GROUPING_THOUSANDS:
+        return {3, 3, 1};
+    default:
+        U_ASSERT(FALSE);
+    }
 }
 
-void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo) {
-    if (fGrouping1 != -2) {
+void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale) {
+    if (fGrouping1 != -2 && fGrouping2 != -4) {
         return;
     }
-    auto grouping1 = static_cast<int8_t> (patternInfo.positive.groupingSizes & 0xffff);
-    auto grouping2 = static_cast<int8_t> ((patternInfo.positive.groupingSizes >> 16) & 0xffff);
-    auto grouping3 = static_cast<int8_t> ((patternInfo.positive.groupingSizes >> 32) & 0xffff);
+    auto grouping1 = static_cast<int16_t> (patternInfo.positive.groupingSizes & 0xffff);
+    auto grouping2 = static_cast<int16_t> ((patternInfo.positive.groupingSizes >> 16) & 0xffff);
+    auto grouping3 = static_cast<int16_t> ((patternInfo.positive.groupingSizes >> 32) & 0xffff);
     if (grouping2 == -1) {
-        grouping1 = -1;
+        grouping1 = fGrouping1 == -4 ? (short) 3 : (short) -1;
     }
     if (grouping3 == -1) {
         grouping2 = grouping1;
     }
+    if (fMinGrouping == -2) {
+        fMinGrouping = getMinGroupingForLocale(locale);
+    } else if (fMinGrouping == -3) {
+        fMinGrouping = uprv_max(2, getMinGroupingForLocale(locale));
+    } else {
+        // leave fMinGrouping alone
+    }
     fGrouping1 = grouping1;
     fGrouping2 = grouping2;
 }
@@ -49,7 +83,7 @@ bool Grouper::groupAtPosition(int32_t position, const impl::DecimalQuantity &val
     }
     position -= fGrouping1;
     return position >= 0 && (position % fGrouping2) == 0
-           && value.getUpperDisplayMagnitude() - fGrouping1 + 1 >= (fMin2 ? 2 : 1);
+           && value.getUpperDisplayMagnitude() - fGrouping1 + 1 >= fMinGrouping;
 }
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 10dacfc..4a61227 100644 (file)
@@ -13,25 +13,28 @@ using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
-IntegerWidth::IntegerWidth(int8_t minInt, int8_t maxInt) {
+IntegerWidth::IntegerWidth(digits_t minInt, digits_t maxInt) {
     fUnion.minMaxInt.fMinInt = minInt;
     fUnion.minMaxInt.fMaxInt = maxInt;
 }
 
 IntegerWidth IntegerWidth::zeroFillTo(int32_t minInt) {
     if (minInt >= 0 && minInt <= kMaxIntFracSig) {
-        return {static_cast<int8_t>(minInt), -1};
+        return {static_cast<digits_t>(minInt), -1};
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 IntegerWidth IntegerWidth::truncateAt(int32_t maxInt) {
     if (fHasError) { return *this; }  // No-op on error
-    if (maxInt >= 0 && maxInt <= kMaxIntFracSig) {
-        return {fUnion.minMaxInt.fMinInt, static_cast<int8_t>(maxInt)};
+    digits_t minInt = fUnion.minMaxInt.fMinInt;
+    if (maxInt >= 0 && maxInt <= kMaxIntFracSig && minInt <= maxInt) {
+        return {minInt, static_cast<digits_t>(maxInt)};
+    } else if (maxInt == -1) {
+        return {minInt, -1};
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
index 88b3413..5c36344 100644 (file)
@@ -5,6 +5,7 @@
 
 #if !UCONFIG_NO_FORMATTING && !UPRV_INCOMPLETE_CPP11_SUPPORT
 
+#include "unicode/simpleformatter.h"
 #include "unicode/ures.h"
 #include "ureslocs.h"
 #include "charstr.h"
@@ -19,6 +20,37 @@ using namespace icu::number::impl;
 
 namespace {
 
+constexpr int32_t DNAM_INDEX = StandardPlural::Form::COUNT;
+constexpr int32_t PER_INDEX = StandardPlural::Form::COUNT + 1;
+constexpr int32_t ARRAY_LENGTH = StandardPlural::Form::COUNT + 2;
+
+static int32_t getIndex(const char* pluralKeyword, UErrorCode& status) {
+    // pluralKeyword can also be "dnam" or "per"
+    if (uprv_strcmp(pluralKeyword, "dnam") == 0) {
+        return DNAM_INDEX;
+    } else if (uprv_strcmp(pluralKeyword, "per") == 0) {
+        return PER_INDEX;
+    } else {
+        StandardPlural::Form plural = StandardPlural::fromString(pluralKeyword, status);
+        return plural;
+    }
+}
+
+static UnicodeString getWithPlural(
+        const UnicodeString* strings,
+        int32_t plural,
+        UErrorCode& status) {
+    UnicodeString result = strings[plural];
+    if (result.isBogus()) {
+        result = strings[StandardPlural::Form::OTHER];
+    }
+    if (result.isBogus()) {
+        // There should always be data in the "other" plural variant.
+        status = U_INTERNAL_PROGRAM_ERROR;
+    }
+    return result;
+}
+
 
 //////////////////////////
 /// BEGIN DATA LOADING ///
@@ -28,7 +60,7 @@ class PluralTableSink : public ResourceSink {
   public:
     explicit PluralTableSink(UnicodeString *outArray) : outArray(outArray) {
         // Initialize the array to bogus strings.
-        for (int32_t i = 0; i < StandardPlural::Form::COUNT; i++) {
+        for (int32_t i = 0; i < ARRAY_LENGTH; i++) {
             outArray[i].setToBogus();
         }
     }
@@ -36,17 +68,13 @@ class PluralTableSink : public ResourceSink {
     void put(const char *key, ResourceValue &value, UBool /*noFallback*/, UErrorCode &status) U_OVERRIDE {
         ResourceTable pluralsTable = value.getTable(status);
         if (U_FAILURE(status)) { return; }
-        for (int i = 0; pluralsTable.getKeyAndValue(i, key, value); ++i) {
-            // In MeasureUnit data, ignore dnam and per units for now.
-            if (uprv_strcmp(key, "dnam") == 0 || uprv_strcmp(key, "per") == 0) {
-                continue;
-            }
-            StandardPlural::Form plural = StandardPlural::fromString(key, status);
+        for (int32_t i = 0; pluralsTable.getKeyAndValue(i, key, value); ++i) {
+            int32_t index = getIndex(key, status);
             if (U_FAILURE(status)) { return; }
-            if (!outArray[plural].isBogus()) {
+            if (!outArray[index].isBogus()) {
                 continue;
             }
-            outArray[plural] = value.getUnicodeString(status);
+            outArray[index] = value.getUnicodeString(status);
             if (U_FAILURE(status)) { return; }
         }
     }
@@ -105,6 +133,22 @@ void getCurrencyLongNameData(const Locale &locale, const CurrencyUnit &currency,
     }
 }
 
+UnicodeString getPerUnitFormat(const Locale& locale, const UNumberUnitWidth &width, UErrorCode& status) {
+    LocalUResourceBundlePointer unitsBundle(ures_open(U_ICUDATA_UNIT, locale.getName(), &status));
+    if (U_FAILURE(status)) { return {}; }
+    CharString key;
+    key.append("units", status);
+    if (width == UNUM_UNIT_WIDTH_NARROW) {
+        key.append("Narrow", status);
+    } else if (width == UNUM_UNIT_WIDTH_SHORT) {
+        key.append("Short", status);
+    }
+    key.append("/compound/per", status);
+    int32_t len = 0;
+    const UChar* ptr = ures_getStringByKeyWithFallback(unitsBundle.getAlias(), key.data(), &len, &status);
+    return UnicodeString(ptr, len);
+}
+
 ////////////////////////
 /// END DATA LOADING ///
 ////////////////////////
@@ -112,11 +156,24 @@ void getCurrencyLongNameData(const Locale &locale, const CurrencyUnit &currency,
 } // namespace
 
 LongNameHandler
-LongNameHandler::forMeasureUnit(const Locale &loc, const MeasureUnit &unit, const UNumberUnitWidth &width,
-                                const PluralRules *rules, const MicroPropsGenerator *parent,
-                                UErrorCode &status) {
+LongNameHandler::forMeasureUnit(const Locale &loc, const MeasureUnit &unitRef, const MeasureUnit &perUnit,
+                                const UNumberUnitWidth &width, const PluralRules *rules,
+                                const MicroPropsGenerator *parent, UErrorCode &status) {
+    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).
+        bool isResolved = false;
+        MeasureUnit resolved = MeasureUnit::resolveUnitPerUnit(unit, perUnit, &isResolved);
+        if (isResolved) {
+            unit = resolved;
+        } else {
+            // No simplified form is available.
+            return forCompoundUnit(loc, unit, perUnit, width, rules, parent, status);
+        }
+    }
+
     LongNameHandler result(rules, parent);
-    UnicodeString simpleFormats[StandardPlural::Form::COUNT];
+    UnicodeString simpleFormats[ARRAY_LENGTH];
     getMeasureData(loc, unit, width, simpleFormats, status);
     if (U_FAILURE(status)) { return result; }
     // TODO: What field to use for units?
@@ -124,12 +181,47 @@ LongNameHandler::forMeasureUnit(const Locale &loc, const MeasureUnit &unit, cons
     return result;
 }
 
+LongNameHandler
+LongNameHandler::forCompoundUnit(const Locale &loc, const MeasureUnit &unit, const MeasureUnit &perUnit,
+                                 const UNumberUnitWidth &width, const PluralRules *rules,
+                                 const MicroPropsGenerator *parent, UErrorCode &status) {
+    LongNameHandler result(rules, parent);
+    UnicodeString primaryData[ARRAY_LENGTH];
+    getMeasureData(loc, unit, width, primaryData, status);
+    if (U_FAILURE(status)) { return result; }
+    UnicodeString secondaryData[ARRAY_LENGTH];
+    getMeasureData(loc, perUnit, width, secondaryData, status);
+    if (U_FAILURE(status)) { return result; }
+
+    UnicodeString perUnitFormat;
+    if (!secondaryData[PER_INDEX].isBogus()) {
+        perUnitFormat = secondaryData[PER_INDEX];
+    } else {
+        UnicodeString rawPerUnitFormat = getPerUnitFormat(loc, width, status);
+        if (U_FAILURE(status)) { return result; }
+        // rawPerUnitFormat is something like "{0}/{1}"; we need to substitute in the secondary unit.
+        SimpleFormatter compiled(rawPerUnitFormat, 2, 2, status);
+        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);
+        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; }
+    }
+    // TODO: What field to use for units?
+    multiSimpleFormatsToModifiers(primaryData, perUnitFormat, UNUM_FIELD_COUNT, result.fModifiers, status);
+    return result;
+}
+
 LongNameHandler LongNameHandler::forCurrencyLongNames(const Locale &loc, const CurrencyUnit &currency,
                                                       const PluralRules *rules,
                                                       const MicroPropsGenerator *parent,
                                                       UErrorCode &status) {
     LongNameHandler result(rules, parent);
-    UnicodeString simpleFormats[StandardPlural::Form::COUNT];
+    UnicodeString simpleFormats[ARRAY_LENGTH];
     getCurrencyLongNameData(loc, currency, simpleFormats, status);
     if (U_FAILURE(status)) { return result; }
     simpleFormatsToModifiers(simpleFormats, UNUM_CURRENCY_FIELD, result.fModifiers, status);
@@ -139,20 +231,30 @@ LongNameHandler LongNameHandler::forCurrencyLongNames(const Locale &loc, const C
 void LongNameHandler::simpleFormatsToModifiers(const UnicodeString *simpleFormats, Field field,
                                                SimpleModifier *output, UErrorCode &status) {
     for (int32_t i = 0; i < StandardPlural::Form::COUNT; i++) {
-        UnicodeString simpleFormat = simpleFormats[i];
-        if (simpleFormat.isBogus()) {
-            simpleFormat = simpleFormats[StandardPlural::Form::OTHER];
-        }
-        if (simpleFormat.isBogus()) {
-            // There should always be data in the "other" plural variant.
-            status = U_INTERNAL_PROGRAM_ERROR;
-            return;
-        }
-        SimpleFormatter compiledFormatter(simpleFormat, 1, 1, status);
+        UnicodeString simpleFormat = getWithPlural(simpleFormats, i, status);
+        if (U_FAILURE(status)) { return; }
+        SimpleFormatter compiledFormatter(simpleFormat, 0, 1, status);
+        if (U_FAILURE(status)) { return; }
         output[i] = SimpleModifier(compiledFormatter, field, false);
     }
 }
 
+void LongNameHandler::multiSimpleFormatsToModifiers(const UnicodeString *leadFormats, UnicodeString trailFormat,
+                                                    Field field, SimpleModifier *output, UErrorCode &status) {
+    SimpleFormatter trailCompiled(trailFormat, 1, 1, status);
+    if (U_FAILURE(status)) { return; }
+    for (int32_t i = 0; i < StandardPlural::Form::COUNT; i++) {
+        UnicodeString leadFormat = getWithPlural(leadFormats, i, status);
+        if (U_FAILURE(status)) { return; }
+        UnicodeString compoundFormat;
+        trailCompiled.format(leadFormat, compoundFormat, status);
+        if (U_FAILURE(status)) { return; }
+        SimpleFormatter compoundCompiled(compoundFormat, 0, 1, status);
+        if (U_FAILURE(status)) { return; }
+        output[i] = SimpleModifier(compoundCompiled, field, false);
+    }
+}
+
 void LongNameHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micros,
                                       UErrorCode &status) const {
     parent->processQuantity(quantity, micros, status);
index 22ecbac..8738bb9 100644 (file)
@@ -21,8 +21,9 @@ class LongNameHandler : public MicroPropsGenerator, public UMemory {
                          const MicroPropsGenerator *parent, UErrorCode &status);
 
     static LongNameHandler
-    forMeasureUnit(const Locale &loc, const MeasureUnit &unit, const UNumberUnitWidth &width,
-                   const PluralRules *rules, const MicroPropsGenerator *parent, UErrorCode &status);
+    forMeasureUnit(const Locale &loc, const MeasureUnit &unit, const MeasureUnit &perUnit,
+                   const UNumberUnitWidth &width, const PluralRules *rules,
+                   const MicroPropsGenerator *parent, UErrorCode &status);
 
     void
     processQuantity(DecimalQuantity &quantity, MicroProps &micros, UErrorCode &status) const U_OVERRIDE;
@@ -35,8 +36,15 @@ class LongNameHandler : public MicroPropsGenerator, public UMemory {
     LongNameHandler(const PluralRules *rules, const MicroPropsGenerator *parent)
             : rules(rules), parent(parent) {}
 
+    static LongNameHandler
+    forCompoundUnit(const Locale &loc, const MeasureUnit &unit, const MeasureUnit &perUnit,
+                    const UNumberUnitWidth &width, const PluralRules *rules,
+                    const MicroPropsGenerator *parent, UErrorCode &status);
+
     static void simpleFormatsToModifiers(const UnicodeString *simpleFormats, Field field,
                                          SimpleModifier *output, UErrorCode &status);
+    static void multiSimpleFormatsToModifiers(const UnicodeString *leadFormats, UnicodeString trailFormat,
+                                         Field field, SimpleModifier *output, UErrorCode &status);
 };
 
 }  // namespace impl
index a19b12d..872b970 100644 (file)
@@ -74,19 +74,29 @@ bool ConstantAffixModifier::isStrong() const {
 
 SimpleModifier::SimpleModifier(const SimpleFormatter &simpleFormatter, Field field, bool strong)
         : fCompiledPattern(simpleFormatter.compiledPattern), fField(field), fStrong(strong) {
-    U_ASSERT(1 ==
-             SimpleFormatter::getArgumentLimit(fCompiledPattern.getBuffer(), fCompiledPattern.length()));
-    if (fCompiledPattern.charAt(1) != 0) {
+    int32_t argLimit = SimpleFormatter::getArgumentLimit(
+            fCompiledPattern.getBuffer(), fCompiledPattern.length());
+    if (argLimit == 0) {
+        // No arguments in compiled pattern
         fPrefixLength = fCompiledPattern.charAt(1) - ARG_NUM_LIMIT;
-        fSuffixOffset = 3 + fPrefixLength;
-    } else {
-        fPrefixLength = 0;
-        fSuffixOffset = 2;
-    }
-    if (3 + fPrefixLength < fCompiledPattern.length()) {
-        fSuffixLength = fCompiledPattern.charAt(fSuffixOffset) - ARG_NUM_LIMIT;
-    } else {
+        U_ASSERT(2 + fPrefixLength == fCompiledPattern.length());
+        // Set suffixOffset = -1 to indicate no arguments in compiled pattern.
+        fSuffixOffset = -1;
         fSuffixLength = 0;
+    } else {
+        U_ASSERT(argLimit == 1);
+        if (fCompiledPattern.charAt(1) != 0) {
+            fPrefixLength = fCompiledPattern.charAt(1) - ARG_NUM_LIMIT;
+            fSuffixOffset = 3 + fPrefixLength;
+        } else {
+            fPrefixLength = 0;
+            fSuffixOffset = 2;
+        }
+        if (3 + fPrefixLength < fCompiledPattern.length()) {
+            fSuffixLength = fCompiledPattern.charAt(fSuffixOffset) - ARG_NUM_LIMIT;
+        } else {
+            fSuffixLength = 0;
+        }
     }
 }
 
@@ -123,26 +133,37 @@ bool SimpleModifier::isStrong() const {
 int32_t
 SimpleModifier::formatAsPrefixSuffix(NumberStringBuilder &result, int32_t startIndex, int32_t endIndex,
                                      Field field, UErrorCode &status) const {
-    if (fPrefixLength > 0) {
-        result.insert(startIndex, fCompiledPattern, 2, 2 + fPrefixLength, field, status);
-    }
-    if (fSuffixLength > 0) {
-        result.insert(
-                endIndex + fPrefixLength,
-                fCompiledPattern,
-                1 + fSuffixOffset,
-                1 + fSuffixOffset + fSuffixLength,
-                field,
-                status);
+    if (fSuffixOffset == -1) {
+        // There is no argument for the inner number; overwrite the entire segment with our string.
+        return result.splice(startIndex, endIndex, fCompiledPattern, 2, 2 + fPrefixLength, field, status);
+    } else {
+        if (fPrefixLength > 0) {
+            result.insert(startIndex, fCompiledPattern, 2, 2 + fPrefixLength, field, status);
+        }
+        if (fSuffixLength > 0) {
+            result.insert(
+                    endIndex + fPrefixLength,
+                    fCompiledPattern,
+                    1 + fSuffixOffset,
+                    1 + fSuffixOffset + fSuffixLength,
+                    field,
+                    status);
+        }
+        return fPrefixLength + fSuffixLength;
     }
-    return fPrefixLength + fSuffixLength;
 }
 
 int32_t ConstantMultiFieldModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex,
                                           UErrorCode &status) const {
-    // Insert the suffix first since inserting the prefix will change the rightIndex
-    int32_t length = output.insert(rightIndex, fSuffix, status);
-    length += output.insert(leftIndex, fPrefix, status);
+    int32_t length = output.insert(leftIndex, fPrefix, status);
+    if (fOverwrite) {
+        length += output.splice(
+            leftIndex + length,
+            rightIndex + length,
+            UnicodeString(), 0, 0,
+            UNUM_FIELD_COUNT, status);
+    }
+    length += output.insert(rightIndex + length, fSuffix, status);
     return length;
 }
 
@@ -162,10 +183,11 @@ bool ConstantMultiFieldModifier::isStrong() const {
 
 CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const NumberStringBuilder &prefix,
                                                                const NumberStringBuilder &suffix,
+                                                               bool overwrite,
                                                                bool strong,
                                                                const DecimalFormatSymbols &symbols,
                                                                UErrorCode &status)
-        : ConstantMultiFieldModifier(prefix, suffix, strong) {
+        : 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) {
index 6a88828..4762a6f 100644 (file)
@@ -103,8 +103,15 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory {
  */
 class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory {
   public:
-    ConstantMultiFieldModifier(const NumberStringBuilder &prefix, const NumberStringBuilder &suffix,
-                               bool strong) : fPrefix(prefix), fSuffix(suffix), fStrong(strong) {}
+    ConstantMultiFieldModifier(
+            const NumberStringBuilder &prefix,
+            const NumberStringBuilder &suffix,
+            bool overwrite,
+            bool strong)
+      : fPrefix(prefix),
+        fSuffix(suffix),
+        fOverwrite(overwrite),
+        fStrong(strong) {}
 
     int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex,
                   UErrorCode &status) const U_OVERRIDE;
@@ -120,6 +127,7 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory {
     // value and is treated internally as immutable.
     NumberStringBuilder fPrefix;
     NumberStringBuilder fSuffix;
+    bool fOverwrite;
     bool fStrong;
 };
 
@@ -127,8 +135,13 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory {
 class U_I18N_API CurrencySpacingEnabledModifier : public ConstantMultiFieldModifier {
   public:
     /** Safe code path */
-    CurrencySpacingEnabledModifier(const NumberStringBuilder &prefix, const NumberStringBuilder &suffix,
-                                   bool strong, const DecimalFormatSymbols &symbols, UErrorCode &status);
+    CurrencySpacingEnabledModifier(
+            const NumberStringBuilder &prefix,
+            const NumberStringBuilder &suffix,
+            bool overwrite,
+            bool strong,
+            const DecimalFormatSymbols &symbols,
+            UErrorCode &status);
 
     int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex,
                   UErrorCode &status) const U_OVERRIDE;
@@ -216,31 +229,33 @@ class U_I18N_API ParameterizedModifier : public UMemory {
         }
     }
 
-    void adoptPositiveNegativeModifiers(const Modifier *positive, const Modifier *negative) {
-        mods[0] = positive;
-        mods[1] = negative;
+    void adoptPositiveNegativeModifiers(
+            const Modifier *positive, const Modifier *zero, const Modifier *negative) {
+        mods[2] = positive;
+        mods[1] = zero;
+        mods[0] = negative;
     }
 
     /** The modifier is ADOPTED. */
-    void adoptSignPluralModifier(bool isNegative, StandardPlural::Form plural, const Modifier *mod) {
-        mods[getModIndex(isNegative, plural)] = mod;
+    void adoptSignPluralModifier(int8_t signum, StandardPlural::Form plural, const Modifier *mod) {
+        mods[getModIndex(signum, plural)] = mod;
     }
 
     /** Returns a reference to the modifier; no ownership change. */
-    const Modifier *getModifier(bool isNegative) const {
-        return mods[isNegative ? 1 : 0];
+    const Modifier *getModifier(int8_t signum) const {
+        return mods[signum + 1];
     }
 
     /** Returns a reference to the modifier; no ownership change. */
-    const Modifier *getModifier(bool isNegative, StandardPlural::Form plural) const {
-        return mods[getModIndex(isNegative, plural)];
+    const Modifier *getModifier(int8_t signum, StandardPlural::Form plural) const {
+        return mods[getModIndex(signum, plural)];
     }
 
   private:
-    const Modifier *mods[2 * StandardPlural::COUNT];
+    const Modifier *mods[3 * StandardPlural::COUNT];
 
-    inline static int32_t getModIndex(bool isNegative, StandardPlural::Form plural) {
-        return static_cast<int32_t>(plural) * 2 + (isNegative ? 1 : 0);
+    inline static int32_t getModIndex(int8_t signum, StandardPlural::Form plural) {
+        return static_cast<int32_t>(plural) * 3 + (signum + 1);
     }
 };
 
index ff0cd95..f4ad333 100644 (file)
@@ -54,13 +54,13 @@ Notation Notation::simple() {
 
 ScientificNotation
 ScientificNotation::withMinExponentDigits(int32_t minExponentDigits) const {
-    if (minExponentDigits >= 0 && minExponentDigits < kMaxIntFracSig) {
+    if (minExponentDigits >= 1 && minExponentDigits <= kMaxIntFracSig) {
         ScientificSettings settings = fUnion.scientific;
-        settings.fMinExponentDigits = (int8_t) minExponentDigits;
+        settings.fMinExponentDigits = static_cast<digits_t>(minExponentDigits);
         NotationUnion union_ = {settings};
         return {NTN_SCIENTIFIC, union_};
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
index a478af6..b1db349 100644 (file)
@@ -43,7 +43,7 @@ Padder Padder::codePoints(UChar32 cp, int32_t targetWidth, UNumberFormatPadPosit
     if (targetWidth >= 0) {
         return {cp, targetWidth, position};
     } else {
-        return {U_NUMBER_PADDING_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
index 0599f92..e182104 100644 (file)
@@ -38,8 +38,8 @@ MutablePatternModifier::setSymbols(const DecimalFormatSymbols *symbols, const Cu
     this->rules = rules;
 }
 
-void MutablePatternModifier::setNumberProperties(bool isNegative, StandardPlural::Form plural) {
-    this->isNegative = isNegative;
+void MutablePatternModifier::setNumberProperties(int8_t signum, StandardPlural::Form plural) {
+    this->signum = signum;
     this->plural = plural;
 }
 
@@ -74,10 +74,12 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator *paren
     if (needsPlurals()) {
         // Slower path when we require the plural keyword.
         for (StandardPlural::Form plural : STANDARD_PLURAL_VALUES) {
-            setNumberProperties(false, plural);
-            pm->adoptSignPluralModifier(false, plural, createConstantModifier(status));
-            setNumberProperties(true, plural);
-            pm->adoptSignPluralModifier(true, plural, createConstantModifier(status));
+            setNumberProperties(1, plural);
+            pm->adoptSignPluralModifier(1, plural, createConstantModifier(status));
+            setNumberProperties(0, plural);
+            pm->adoptSignPluralModifier(0, plural, createConstantModifier(status));
+            setNumberProperties(-1, plural);
+            pm->adoptSignPluralModifier(-1, plural, createConstantModifier(status));
         }
         if (U_FAILURE(status)) {
             delete pm;
@@ -86,11 +88,13 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator *paren
         return new ImmutablePatternModifier(pm, rules, parent);  // adopts pm
     } else {
         // Faster path when plural keyword is not needed.
-        setNumberProperties(false, StandardPlural::Form::COUNT);
+        setNumberProperties(1, StandardPlural::Form::COUNT);
         Modifier *positive = createConstantModifier(status);
-        setNumberProperties(true, StandardPlural::Form::COUNT);
+        setNumberProperties(0, StandardPlural::Form::COUNT);
+        Modifier *zero = createConstantModifier(status);
+        setNumberProperties(-1, StandardPlural::Form::COUNT);
         Modifier *negative = createConstantModifier(status);
-        pm->adoptPositiveNegativeModifiers(positive, negative);
+        pm->adoptPositiveNegativeModifiers(positive, zero, negative);
         if (U_FAILURE(status)) {
             delete pm;
             return nullptr;
@@ -105,9 +109,9 @@ ConstantMultiFieldModifier *MutablePatternModifier::createConstantModifier(UErro
     insertPrefix(a, 0, status);
     insertSuffix(b, 0, status);
     if (patternInfo->hasCurrencySign()) {
-        return new CurrencySpacingEnabledModifier(a, b, fStrong, *symbols, status);
+        return new CurrencySpacingEnabledModifier(a, b, !patternInfo->hasBody(), fStrong, *symbols, status);
     } else {
-        return new ConstantMultiFieldModifier(a, b, fStrong);
+        return new ConstantMultiFieldModifier(a, b, !patternInfo->hasBody(), fStrong);
     }
 }
 
@@ -123,13 +127,13 @@ void ImmutablePatternModifier::processQuantity(DecimalQuantity &quantity, MicroP
 
 void ImmutablePatternModifier::applyToMicros(MicroProps &micros, DecimalQuantity &quantity) const {
     if (rules == nullptr) {
-        micros.modMiddle = pm->getModifier(quantity.isNegative());
+        micros.modMiddle = pm->getModifier(quantity.signum());
     } else {
         // TODO: Fix this. Avoid the copy.
         DecimalQuantity copy(quantity);
         copy.roundToInfinity();
         StandardPlural::Form plural = copy.getStandardPlural(rules);
-        micros.modMiddle = pm->getModifier(quantity.isNegative(), plural);
+        micros.modMiddle = pm->getModifier(quantity.signum(), plural);
     }
 }
 
@@ -149,9 +153,9 @@ void MutablePatternModifier::processQuantity(DecimalQuantity &fq, MicroProps &mi
         // TODO: Fix this. Avoid the copy.
         DecimalQuantity copy(fq);
         micros.rounding.apply(copy, status);
-        nonConstThis->setNumberProperties(fq.isNegative(), copy.getStandardPlural(rules));
+        nonConstThis->setNumberProperties(fq.signum(), copy.getStandardPlural(rules));
     } else {
-        nonConstThis->setNumberProperties(fq.isNegative(), StandardPlural::Form::COUNT);
+        nonConstThis->setNumberProperties(fq.signum(), StandardPlural::Form::COUNT);
     }
     micros.modMiddle = this;
 }
@@ -163,9 +167,23 @@ int32_t MutablePatternModifier::apply(NumberStringBuilder &output, int32_t leftI
     auto nonConstThis = const_cast<MutablePatternModifier *>(this);
     int32_t prefixLen = nonConstThis->insertPrefix(output, leftIndex, status);
     int32_t suffixLen = nonConstThis->insertSuffix(output, rightIndex + prefixLen, status);
+    // If the pattern had no decimal stem body (like #,##0.00), overwrite the value.
+    int32_t overwriteLen = 0;
+    if (!patternInfo->hasBody()) {
+        overwriteLen = output.splice(
+            leftIndex + prefixLen, rightIndex + prefixLen,
+            UnicodeString(), 0, 0, UNUM_FIELD_COUNT,
+            status);
+    }
     CurrencySpacingEnabledModifier::applyCurrencySpacing(
-            output, leftIndex, prefixLen, rightIndex + prefixLen, suffixLen, *symbols, status);
-    return prefixLen + suffixLen;
+            output,
+            leftIndex,
+            prefixLen,
+            rightIndex + overwriteLen + prefixLen,
+            suffixLen,
+            *symbols,
+            status);
+    return prefixLen + overwriteLen + suffixLen;
 }
 
 int32_t MutablePatternModifier::getPrefixLength(UErrorCode &status) const {
@@ -230,13 +248,16 @@ UnicodeString MutablePatternModifier::getSymbol(AffixPatternType type) const {
             } else if (unitWidth == UNumberUnitWidth::UNUM_UNIT_WIDTH_HIDDEN) {
                 return UnicodeString();
             } else {
+                UCurrNameStyle selector = (unitWidth == UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW)
+                        ? UCurrNameStyle::UCURR_NARROW_SYMBOL_NAME
+                        : UCurrNameStyle::UCURR_SYMBOL_NAME;
                 UErrorCode status = U_ZERO_ERROR;
                 UBool isChoiceFormat = FALSE;
                 int32_t symbolLen = 0;
                 const char16_t *symbol = ucurr_getName(
                         currencyCode,
                         symbols->getLocale().getName(),
-                        UCurrNameStyle::UCURR_SYMBOL_NAME,
+                        selector,
                         &isChoiceFormat,
                         &symbolLen,
                         &status);
@@ -278,14 +299,17 @@ void MutablePatternModifier::enterCharSequenceMode(bool isPrefix) {
     inCharSequenceMode = true;
 
     // Should the output render '+' where '-' would normally appear in the pattern?
-    plusReplacesMinusSign = !isNegative && (
-            signDisplay == UNUM_SIGN_ALWAYS ||
-            signDisplay == UNUM_SIGN_ACCOUNTING_ALWAYS) &&
-                            patternInfo->positiveHasPlusSign() == false;
+    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.)
     bool useNegativeAffixPattern = patternInfo->hasNegativeSubpattern() && (
-            isNegative || (patternInfo->negativeHasMinusSign() && plusReplacesMinusSign));
+            signum == -1 || (patternInfo->negativeHasMinusSign() && plusReplacesMinusSign));
 
     // Resolve the flags for the affix pattern.
     fFlags = 0;
@@ -303,7 +327,7 @@ void MutablePatternModifier::enterCharSequenceMode(bool isPrefix) {
     // Should we prepend a sign to the pattern?
     if (!isPrefix || useNegativeAffixPattern) {
         prependSign = false;
-    } else if (isNegative) {
+    } else if (signum == -1) {
         prependSign = signDisplay != UNUM_SIGN_NEVER;
     } else {
         prependSign = plusReplacesMinusSign;
index 705037f..9c8b95f 100644 (file)
@@ -18,8 +18,8 @@ U_NAMESPACE_BEGIN
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of ParameterizedModifier.
-// (MSVC requires this, even though it should not be necessary.)
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
 template class U_I18N_API LocalPointerBase<number::impl::ParameterizedModifier>;
@@ -125,13 +125,13 @@ class U_I18N_API MutablePatternModifier
     /**
      * Sets attributes of the current number being processed.
      *
-     * @param isNegative
-     *            Whether the number is negative.
+     * @param signum
+     *            -1 if negative; +1 if positive; or 0 if zero.
      * @param plural
-     *            The plural form of the number, required only if the pattern contains the triple currency sign, "¤¤¤"
-     *            (and as indicated by {@link #needsPlurals()}).
+     *            The plural form of the number, required only if the pattern contains the triple
+     *            currency sign, "¤¤¤" (and as indicated by {@link #needsPlurals()}).
      */
-    void setNumberProperties(bool isNegative, StandardPlural::Form plural);
+    void setNumberProperties(int8_t signum, StandardPlural::Form plural);
 
     /**
      * Returns true if the pattern represented by this MurkyModifier requires a plural keyword in order to localize.
@@ -211,7 +211,7 @@ class U_I18N_API MutablePatternModifier
     const PluralRules *rules;
 
     // Number details (initialized in setNumberProperties)
-    bool isNegative;
+    int8_t signum;
     StandardPlural::Form plural;
 
     // QuantityChain details (initialized in addToChain)
index c67e354..2017882 100644 (file)
@@ -95,6 +95,10 @@ bool ParsedPatternInfo::containsSymbolType(AffixPatternType type, UErrorCode &st
     return AffixUtils::containsType(UnicodeStringCharSequence(pattern), type, status);
 }
 
+bool ParsedPatternInfo::hasBody() const {
+    return positive.integerTotal > 0;
+}
+
 /////////////////////////////////////////////////////
 /// BEGIN RECURSIVE DESCENT PARSER IMPLEMENTATION ///
 /////////////////////////////////////////////////////
index 6e1bb7f..ec44290 100644 (file)
@@ -84,6 +84,8 @@ struct U_I18N_API ParsedPatternInfo : public AffixPatternProvider, public UMemor
 
     bool containsSymbolType(AffixPatternType type, UErrorCode &status) const U_OVERRIDE;
 
+    bool hasBody() const U_OVERRIDE;
+
   private:
     struct U_I18N_API ParserState {
         const UnicodeString &pattern; // reference to the parent
index 5c494f0..fd4dafd 100644 (file)
@@ -58,7 +58,7 @@ FractionRounder Rounder::fixedFraction(int32_t minMaxFractionPlaces) {
     if (minMaxFractionPlaces >= 0 && minMaxFractionPlaces <= kMaxIntFracSig) {
         return constructFraction(minMaxFractionPlaces, minMaxFractionPlaces);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -66,7 +66,7 @@ FractionRounder Rounder::minFraction(int32_t minFractionPlaces) {
     if (minFractionPlaces >= 0 && minFractionPlaces <= kMaxIntFracSig) {
         return constructFraction(minFractionPlaces, -1);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -74,7 +74,7 @@ FractionRounder Rounder::maxFraction(int32_t maxFractionPlaces) {
     if (maxFractionPlaces >= 0 && maxFractionPlaces <= kMaxIntFracSig) {
         return constructFraction(0, maxFractionPlaces);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -83,40 +83,40 @@ FractionRounder Rounder::minMaxFraction(int32_t minFractionPlaces, int32_t maxFr
         minFractionPlaces <= maxFractionPlaces) {
         return constructFraction(minFractionPlaces, maxFractionPlaces);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 Rounder Rounder::fixedDigits(int32_t minMaxSignificantDigits) {
-    if (minMaxSignificantDigits >= 0 && minMaxSignificantDigits <= kMaxIntFracSig) {
+    if (minMaxSignificantDigits >= 1 && minMaxSignificantDigits <= kMaxIntFracSig) {
         return constructSignificant(minMaxSignificantDigits, minMaxSignificantDigits);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 Rounder Rounder::minDigits(int32_t minSignificantDigits) {
-    if (minSignificantDigits >= 0 && minSignificantDigits <= kMaxIntFracSig) {
+    if (minSignificantDigits >= 1 && minSignificantDigits <= kMaxIntFracSig) {
         return constructSignificant(minSignificantDigits, -1);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 Rounder Rounder::maxDigits(int32_t maxSignificantDigits) {
-    if (maxSignificantDigits >= 0 && maxSignificantDigits <= kMaxIntFracSig) {
-        return constructSignificant(0, maxSignificantDigits);
+    if (maxSignificantDigits >= 1 && maxSignificantDigits <= kMaxIntFracSig) {
+        return constructSignificant(1, maxSignificantDigits);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 Rounder Rounder::minMaxDigits(int32_t minSignificantDigits, int32_t maxSignificantDigits) {
-    if (minSignificantDigits >= 0 && maxSignificantDigits <= kMaxIntFracSig &&
+    if (minSignificantDigits >= 1 && maxSignificantDigits <= kMaxIntFracSig &&
         minSignificantDigits <= maxSignificantDigits) {
         return constructSignificant(minSignificantDigits, maxSignificantDigits);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -124,7 +124,7 @@ IncrementRounder Rounder::increment(double roundingIncrement) {
     if (roundingIncrement > 0.0) {
         return constructIncrement(roundingIncrement, 0);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -139,19 +139,19 @@ Rounder Rounder::withMode(RoundingMode roundingMode) const {
 
 Rounder FractionRounder::withMinDigits(int32_t minSignificantDigits) const {
     if (fType == RND_ERROR) { return *this; } // no-op in error state
-    if (minSignificantDigits >= 0 && minSignificantDigits <= kMaxIntFracSig) {
+    if (minSignificantDigits >= 1 && minSignificantDigits <= kMaxIntFracSig) {
         return constructFractionSignificant(*this, minSignificantDigits, -1);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 Rounder FractionRounder::withMaxDigits(int32_t maxSignificantDigits) const {
     if (fType == RND_ERROR) { return *this; } // no-op in error state
-    if (maxSignificantDigits >= 0 && maxSignificantDigits <= kMaxIntFracSig) {
+    if (maxSignificantDigits >= 1 && maxSignificantDigits <= kMaxIntFracSig) {
         return constructFractionSignificant(*this, -1, maxSignificantDigits);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
@@ -185,14 +185,14 @@ Rounder IncrementRounder::withMinFraction(int32_t minFrac) const {
     if (minFrac >= 0 && minFrac <= kMaxIntFracSig) {
         return constructIncrement(fUnion.increment.fIncrement, minFrac);
     } else {
-        return {U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR};
+        return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR};
     }
 }
 
 FractionRounder Rounder::constructFraction(int32_t minFrac, int32_t maxFrac) {
     FractionSignificantSettings settings;
-    settings.fMinFrac = static_cast<int8_t> (minFrac);
-    settings.fMaxFrac = static_cast<int8_t> (maxFrac);
+    settings.fMinFrac = static_cast<digits_t>(minFrac);
+    settings.fMaxFrac = static_cast<digits_t>(maxFrac);
     settings.fMinSig = -1;
     settings.fMaxSig = -1;
     RounderUnion union_;
@@ -204,8 +204,8 @@ Rounder Rounder::constructSignificant(int32_t minSig, int32_t maxSig) {
     FractionSignificantSettings settings;
     settings.fMinFrac = -1;
     settings.fMaxFrac = -1;
-    settings.fMinSig = static_cast<int8_t>(minSig);
-    settings.fMaxSig = static_cast<int8_t>(maxSig);
+    settings.fMinSig = static_cast<digits_t>(minSig);
+    settings.fMaxSig = static_cast<digits_t>(maxSig);
     RounderUnion union_;
     union_.fracSig = settings;
     return {RND_SIGNIFICANT, union_, kDefaultMode};
@@ -214,8 +214,8 @@ Rounder Rounder::constructSignificant(int32_t minSig, int32_t maxSig) {
 Rounder
 Rounder::constructFractionSignificant(const FractionRounder &base, int32_t minSig, int32_t maxSig) {
     FractionSignificantSettings settings = base.fUnion.fracSig;
-    settings.fMinSig = static_cast<int8_t>(minSig);
-    settings.fMaxSig = static_cast<int8_t>(maxSig);
+    settings.fMinSig = static_cast<digits_t>(minSig);
+    settings.fMaxSig = static_cast<digits_t>(maxSig);
     RounderUnion union_;
     union_.fracSig = settings;
     return {RND_FRACTION_SIGNIFICANT, union_, kDefaultMode};
@@ -224,7 +224,7 @@ Rounder::constructFractionSignificant(const FractionRounder &base, int32_t minSi
 IncrementRounder Rounder::constructIncrement(double increment, int32_t minFrac) {
     IncrementSettings settings;
     settings.fIncrement = increment;
-    settings.fMinFrac = minFrac;
+    settings.fMinFrac = static_cast<digits_t>(minFrac);
     RounderUnion union_;
     union_.increment = settings;
     return {RND_INCREMENT, union_, kDefaultMode};
@@ -251,28 +251,39 @@ void Rounder::setLocaleData(const CurrencyUnit &currency, UErrorCode &status) {
 int32_t
 Rounder::chooseMultiplierAndApply(impl::DecimalQuantity &input, const impl::MultiplierProducer &producer,
                                   UErrorCode &status) {
-    // TODO: Make a better and more efficient implementation.
-    // TODO: Avoid the object creation here.
-    DecimalQuantity copy(input);
-
+    // Do not call this method with zero.
     U_ASSERT(!input.isZero());
-    int32_t magnitude = input.getMagnitude();
-    int32_t multiplier = producer.getMultiplier(magnitude);
+
+    // Perform the first attempt at rounding.
+    int magnitude = input.getMagnitude();
+    int multiplier = producer.getMultiplier(magnitude);
     input.adjustMagnitude(multiplier);
     apply(input, status);
 
-    // If the number turned to zero when rounding, do not re-attempt the rounding.
-    if (!input.isZero() && input.getMagnitude() == magnitude + multiplier + 1) {
-        magnitude += 1;
-        input = copy;
-        multiplier = producer.getMultiplier(magnitude);
-        input.adjustMagnitude(multiplier);
-        U_ASSERT(input.getMagnitude() == magnitude + multiplier - 1);
-        apply(input, status);
-        U_ASSERT(input.getMagnitude() == magnitude + multiplier);
+    // If the number rounded to zero, exit.
+    if (input.isZero() || U_FAILURE(status)) {
+        return multiplier;
+    }
+
+    // If the new magnitude after rounding is the same as it was before rounding, then we are done.
+    // This case applies to most numbers.
+    if (input.getMagnitude() == magnitude + multiplier) {
+        return multiplier;
     }
 
-    return multiplier;
+    // If the above case DIDN'T apply, then we have a case like 99.9 -> 100 or 999.9 -> 1000:
+    // The number rounded up to the next magnitude. Check if the multiplier changes; if it doesn't,
+    // we do not need to make any more adjustments.
+    int _multiplier = producer.getMultiplier(magnitude + 1);
+    if (multiplier == _multiplier) {
+        return multiplier;
+    }
+
+    // We have a case like 999.9 -> 1000, where the correct output is "1K", not "1000".
+    // Fix the magnitude and re-apply the rounding strategy.
+    input.adjustMagnitude(_multiplier - multiplier);
+    apply(input, status);
+    return _multiplier;
 }
 
 /** This is the method that contains the actual rounding logic. */
@@ -331,6 +342,7 @@ void Rounder::apply(impl::DecimalQuantity &value, UErrorCode& status) const {
         case RND_CURRENCY:
             // Call .withCurrency() before .apply()!
             U_ASSERT(false);
+            break;
 
         case RND_PASS_THROUGH:
             break;
index e6e86bd..37159d7 100644 (file)
@@ -191,6 +191,30 @@ NumberStringBuilder::insert(int32_t index, const UnicodeString &unistr, int32_t
     return count;
 }
 
+int32_t
+NumberStringBuilder::splice(int32_t startThis, int32_t endThis,  const UnicodeString &unistr,
+                            int32_t startOther, int32_t endOther, Field field, UErrorCode& status) {
+    int32_t thisLength = endThis - startThis;
+    int32_t otherLength = endOther - startOther;
+    int32_t count = otherLength - thisLength;
+    int32_t position;
+    if (count > 0) {
+        // Overall, chars need to be added.
+        position = prepareForInsert(startThis, count, status);
+    } else {
+        // Overall, chars need to be removed or kept the same.
+        position = remove(startThis, -count);
+    }
+    if (U_FAILURE(status)) {
+        return count;
+    }
+    for (int32_t i = 0; i < otherLength; i++) {
+        getCharPtr()[position + i] = unistr.charAt(startOther + i);
+        getFieldPtr()[position + i] = field;
+    }
+    return count;
+}
+
 int32_t NumberStringBuilder::append(const NumberStringBuilder &other, UErrorCode &status) {
     return insert(fLength, other, status);
 }
@@ -296,6 +320,19 @@ int32_t NumberStringBuilder::prepareForInsertHelper(int32_t index, int32_t count
     return fZero + index;
 }
 
+int32_t NumberStringBuilder::remove(int32_t index, int32_t count) {
+    // TODO: Reset the heap here?  (If the string after removal can fit on stack?)
+    int32_t position = index + fZero;
+    uprv_memmove2(getCharPtr() + position,
+            getCharPtr() + position + count,
+            sizeof(char16_t) * (fLength - index - count));
+    uprv_memmove2(getFieldPtr() + position,
+            getFieldPtr() + position + count,
+            sizeof(Field) * (fLength - index - count));
+    fLength -= count;
+    return position;
+}
+
 UnicodeString NumberStringBuilder::toUnicodeString() const {
     return UnicodeString(getCharPtr() + fZero, fLength);
 }
index f08dcb1..a97cc9c 100644 (file)
@@ -77,6 +77,9 @@ class U_I18N_API NumberStringBuilder : public UMemory {
     int32_t insert(int32_t index, const UnicodeString &unistr, int32_t start, int32_t end, Field field,
                    UErrorCode &status);
 
+    int32_t splice(int32_t startThis, int32_t endThis,  const UnicodeString &unistr,
+                   int32_t startOther, int32_t endOther, Field field, UErrorCode& status);
+
     int32_t append(const NumberStringBuilder &other, UErrorCode &status);
 
     int32_t insert(int32_t index, const NumberStringBuilder &other, UErrorCode &status);
@@ -123,6 +126,8 @@ class U_I18N_API NumberStringBuilder : public UMemory {
     int32_t prepareForInsert(int32_t index, int32_t count, UErrorCode &status);
 
     int32_t prepareForInsertHelper(int32_t index, int32_t count, UErrorCode &status);
+
+    int32_t remove(int32_t index, int32_t count);
 };
 
 } // namespace impl
index 2bc21bd..c01765e 100644 (file)
@@ -31,7 +31,7 @@ typedef UNumberFormatPadPosition PadPosition;
 typedef UNumberCompactStyle CompactStyle;
 
 // ICU4J Equivalent: RoundingUtils.MAX_INT_FRAC_SIG
-static constexpr int32_t kMaxIntFracSig = 100;
+static constexpr int32_t kMaxIntFracSig = 999;
 
 // ICU4J Equivalent: RoundingUtils.DEFAULT_ROUNDING_MODE
 static constexpr RoundingMode kDefaultMode = RoundingMode::UNUM_FOUND_HALFEVEN;
@@ -42,10 +42,6 @@ static constexpr char16_t kFallbackPaddingString[] = u" ";
 // ICU4J Equivalent: NumberFormatterImpl.DEFAULT_CURRENCY
 static constexpr char16_t kDefaultCurrency[] = u"XXX";
 
-// FIXME: New error codes:
-static constexpr UErrorCode U_NUMBER_DIGIT_WIDTH_OUTOFBOUNDS_ERROR = U_ILLEGAL_ARGUMENT_ERROR;
-static constexpr UErrorCode U_NUMBER_PADDING_WIDTH_OUTOFBOUNDS_ERROR = U_ILLEGAL_ARGUMENT_ERROR;
-
 // Forward declarations:
 
 class Modifier;
@@ -142,6 +138,13 @@ class U_I18N_API AffixPatternProvider {
     virtual bool negativeHasMinusSign() const = 0;
 
     virtual bool containsSymbolType(AffixPatternType, UErrorCode &) const = 0;
+
+    /**
+     * True if the pattern has a number placeholder like "0" or "#,##0.00"; false if the pattern does not
+     * have one. This is used in cases like compact notation, where the pattern replaces the entire
+     * number instead of rendering the number.
+     */
+    virtual bool hasBody() const = 0;
 };
 
 /**
@@ -230,10 +233,21 @@ class U_I18N_API MicroPropsGenerator {
     virtual void processQuantity(DecimalQuantity& quantity, MicroProps& micros, UErrorCode& status) const = 0;
 };
 
+/**
+ * An interface used by compact notation and scientific notation to choose a multiplier while rounding.
+ */
 class MultiplierProducer {
   public:
     virtual ~MultiplierProducer() = default;
 
+    /**
+     * Maps a magnitude to a multiplier in powers of ten. For example, in compact notation in English, a magnitude of 5
+     * (e.g., 100,000) should return a multiplier of -3, since the number is displayed in thousands.
+     *
+     * @param magnitude
+     *            The power of ten of the input number.
+     * @return The shift in powers of ten.
+     */
     virtual int32_t getMultiplier(int32_t magnitude) const = 0;
 };
 
index 66f532e..1b75e5e 100644 (file)
@@ -1371,7 +1371,7 @@ RuleBasedNumberFormat::parse(const UnicodeString& text,
             ParsePosition working_pp(0);
             Formattable working_result;
 
-            rp->parse(workingText, working_pp, kMaxDouble, working_result);
+            rp->parse(workingText, working_pp, kMaxDouble, 0, working_result);
             if (working_pp.getIndex() > high_pp.getIndex()) {
                 high_pp = working_pp;
                 high_result = working_result;
index 4e9ad6a..ca1008c 100644 (file)
@@ -4450,11 +4450,9 @@ UnicodeSet *RegexCompile::createSetForProperty(const UnicodeString &propName, UB
     //    See if the property looks like a Java "InBlockName", which
     //    we will recast as "Block=BlockName"
     //
-    static const UChar IN[] = {0x49, 0x6E, 0};  // "In"
-    static const UChar BLOCK[] = {0x42, 0x6C, 0x6f, 0x63, 0x6b, 0x3d, 00};  // "Block="
-    if (mPropName.startsWith(IN, 2) && propName.length()>=3) {
+    if (mPropName.startsWith(u"In", 2) && propName.length()>=3) {
         setExpr.truncate(4);   // Leaves "[\p{", or "[\P{"
-        setExpr.append(BLOCK, -1);
+        setExpr.append(u"Block=", -1);
         setExpr.append(UnicodeString(mPropName, 2));  // Property with the leading "In" removed.
         setExpr.append(chRBrace);
         setExpr.append(chRBracket);
index d01117f..efa3909 100644 (file)
@@ -438,7 +438,7 @@ RegexMatcher &RegexMatcher::appendReplacement(UText *dest,
                         status = U_REGEX_INVALID_CAPTURE_GROUP_NAME;
                     }
                 }
-                        
+
             } else if (u_isdigit(nextChar)) {
                 // $n    Scan for a capture group number
                 int32_t numCaptureGroups = fPattern->fGroupMap->size();
@@ -459,7 +459,7 @@ RegexMatcher &RegexMatcher::appendReplacement(UText *dest,
                         break;
                     }
                     (void)UTEXT_NEXT32(replacement);
-                    groupNum=groupNum*10 + nextDigitVal; 
+                    groupNum=groupNum*10 + nextDigitVal;
                     ++numDigits;
                 }
             } else {
@@ -2187,7 +2187,7 @@ int32_t  RegexMatcher::split(UText *input,
                     break;
                 }
                 i++;
-                dest[i] = utext_extract_replace(fInputText, dest[i], 
+                dest[i] = utext_extract_replace(fInputText, dest[i],
                                                start64(groupNum, status), end64(groupNum, status), &status);
             }
 
@@ -5469,7 +5469,7 @@ GC_Done:
                 if (lbStartIdx < 0) {
                     // First time through loop.
                     lbStartIdx = fp->fInputIdx - minML;
-                    if (lbStartIdx > 0) {
+                    if (lbStartIdx > 0 && lbStartIdx < fInputLength) {
                         U16_SET_CP_START(inputBuf, 0, lbStartIdx);
                     }
                 } else {
@@ -5546,7 +5546,7 @@ GC_Done:
                 if (lbStartIdx < 0) {
                     // First time through loop.
                     lbStartIdx = fp->fInputIdx - minML;
-                    if (lbStartIdx > 0) {
+                    if (lbStartIdx > 0 && lbStartIdx < fInputLength) {
                         U16_SET_CP_START(inputBuf, 0, lbStartIdx);
                     }
                 } else {
@@ -5818,3 +5818,4 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(RegexMatcher)
 U_NAMESPACE_END
 
 #endif  // !UCONFIG_NO_REGULAR_EXPRESSIONS
+
index e17d14c..57a7ba8 100644 (file)
@@ -177,7 +177,7 @@ void SimpleTimeZone::construct(int32_t rawOffsetGMT,
 
     decodeRules(status);
 
-    if (savingsDST <= 0) {
+    if (savingsDST == 0) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
 }
@@ -686,7 +686,7 @@ SimpleTimeZone::setRawOffset(int32_t offsetMillis)
 void 
 SimpleTimeZone::setDSTSavings(int32_t millisSavedDuringDST, UErrorCode& status) 
 {
-    if (millisSavedDuringDST <= 0) {
+    if (millisSavedDuringDST == 0) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
     else {
index e53dc92..f59333e 100644 (file)
@@ -95,6 +95,7 @@ ucol_safeClone(const UCollator *coll, void * /*stackBuffer*/, int32_t * pBufferS
     Collator *newColl = Collator::fromUCollator(coll)->clone();
     if (newColl == NULL) {
         *status = U_MEMORY_ALLOCATION_ERROR;
+        return nullptr;
     } else {
         *status = U_SAFECLONE_ALLOCATED_WARNING;
     }
index 0f1d6d2..76975ec 100644 (file)
@@ -451,6 +451,7 @@ CollationLoader::loadFromData(UErrorCode &errorCode) {
     const CollationCacheEntry *entry = new CollationCacheEntry(validLocale, t.getAlias());
     if(entry == NULL) {
         errorCode = U_MEMORY_ALLOCATION_ERROR;
+        return nullptr;
     } else {
         t.orphan();
     }
index 9ba82b5..febf73b 100644 (file)
@@ -181,6 +181,25 @@ udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
     return result.getBuffer();
 }
 
+U_CAPI int32_t U_EXPORT2
+udatpg_getFieldDisplayName(const UDateTimePatternGenerator *dtpg,
+                           UDateTimePatternField field,
+                           UDateTimePGDisplayWidth width,
+                           UChar *fieldName, int32_t capacity,
+                           UErrorCode *pErrorCode) {
+    if (U_FAILURE(*pErrorCode))
+        return -1;
+    if (fieldName == NULL ? capacity != 0 : capacity < 0) {
+        *pErrorCode = U_ILLEGAL_ARGUMENT_ERROR;
+        return -1;
+    }
+    UnicodeString result = ((const DateTimePatternGenerator *)dtpg)->getFieldDisplayName(field,width);
+    if (fieldName == NULL) {
+        return result.length();
+    }
+    return result.extract(fieldName, capacity, *pErrorCode);
+}
+
 U_CAPI void U_EXPORT2
 udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg,
                          const UChar *dtFormat, int32_t length) {
index 3fbe5da..d682d2d 100644 (file)
@@ -16,7 +16,7 @@
 #include "unicode/utypes.h"
 /**
  * \file
- * \brief C++ API: Formats decimal numbers in compact form.
+ * \brief C++ API: Compatibility APIs for compact decimal number formatting.
  */
 
 #if !UCONFIG_NO_FORMATTING
@@ -30,6 +30,11 @@ U_NAMESPACE_BEGIN
 class PluralRules;
 
 /**
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
+ * numberformatter.h fits their use case.  Although not deprecated, this header
+ * is provided for backwards compatibility only.
+ * <hr/>
+ *
  * The CompactDecimalFormat produces abbreviated numbers, suitable for display in
  * environments will limited real estate. For example, 'Hits: 1.2B' instead of
  * 'Hits: 1,200,000,000'. The format will be appropriate for the given language,
@@ -56,6 +61,9 @@ public:
 
      /**
       * Returns a compact decimal instance for specified locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
       * @param inLocale the given locale.
       * @param style whether to use short or long style.
       * @param status error code returned  here.
index 3da0797..f8bcf54 100644 (file)
@@ -44,7 +44,8 @@ class TimeZone;
 class DateTimePatternGenerator;
 
 // explicit template instantiation. see digitlst.h
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API EnumSet<UDateFormatBooleanAttribute,
             0, 
             UDAT_BOOLEAN_ATTRIBUTE_COUNT>;
index 4dc6f95..e58befa 100644 (file)
@@ -80,10 +80,6 @@ U_NAMESPACE_BEGIN
  * If you supply a pattern with multiple grouping characters, the interval
  * between the last one and the end of the integer is the one that is
  * used. So "#,##,###,####" == "######,####" == "##,####,####".
- * <P>
- * This class only handles localized digits where the 10 digits are
- * contiguous in Unicode, from 0 to 9. Other digits sets (such as
- * superscripts) would need a different subclass.
  */
 class U_I18N_API DecimalFormatSymbols : public UObject {
 public:
@@ -396,6 +392,13 @@ public:
     inline UBool isCustomIntlCurrencySymbol() const {
         return fIsCustomIntlCurrencySymbol;
     }
+
+    /**
+     * @internal For ICU use only
+     */
+    inline UChar32 getCodePointZero() const {
+        return fCodePointZero;
+    }
 #endif  /* U_HIDE_INTERNAL_API */
 
     /**
@@ -410,10 +413,23 @@ public:
      * @return the format symbol by the param 'symbol'
      * @internal
      */
-    inline const UnicodeString &getConstSymbol(ENumberFormatSymbol symbol) const;
+    inline const UnicodeStringgetConstSymbol(ENumberFormatSymbol symbol) const;
 
 #ifndef U_HIDE_INTERNAL_API
     /**
+     * Returns the const UnicodeString reference, like getConstSymbol,
+     * corresponding to the digit with the given value.  This is equivalent
+     * to accessing the symbol from getConstSymbol with the corresponding
+     * key, such as kZeroDigitSymbol or kOneDigitSymbol.
+     *
+     * @param digit The digit, an integer between 0 and 9 inclusive.
+     *              If outside the range 0 to 9, the zero digit is returned.
+     * @return the format symbol for the given digit.
+     * @internal This API is currently for ICU use only.
+     */
+    inline const UnicodeString& getConstDigitSymbol(int32_t digit) const;
+
+    /**
      * Returns that pattern stored in currecy info. Internal API for use by NumberFormat API.
      * @internal
      */
@@ -444,6 +460,22 @@ private:
      */
     UnicodeString fNoSymbol;
 
+    /**
+     * Dealing with code points is faster than dealing with strings when formatting. Because of
+     * this, we maintain a value containing the zero code point that is used whenever digitStrings
+     * represents a sequence of ten code points in order.
+     *
+     * <p>If the value stored here is positive, it means that the code point stored in this value
+     * corresponds to the digitStrings array, and codePointZero can be used instead of the
+     * digitStrings array for the purposes of efficient formatting; if -1, then digitStrings does
+     * *not* contain a sequence of code points, and it must be used directly.
+     *
+     * <p>It is assumed that codePointZero always shadows the value in digitStrings. codePointZero
+     * should never be set directly; rather, it should be updated only when digitStrings mutates.
+     * That is, the flow of information is digitStrings -> codePointZero, not the other way.
+     */
+    UChar32 fCodePointZero;
+
     Locale locale;
 
     char actualLocale[ULOC_FULLNAME_CAPACITY];
@@ -469,7 +501,7 @@ DecimalFormatSymbols::getSymbol(ENumberFormatSymbol symbol) const {
     return *strPtr;
 }
 
-// See comments above for this function. Not hidden with #ifndef U_HIDE_INTERNAL_API
+// See comments above for this function. Not hidden with #ifdef U_HIDE_INTERNAL_API
 inline const UnicodeString &
 DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
     const UnicodeString *strPtr;
@@ -481,6 +513,19 @@ DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
     return *strPtr;
 }
 
+#ifndef U_HIDE_INTERNAL_API
+inline const UnicodeString& DecimalFormatSymbols::getConstDigitSymbol(int32_t digit) const {
+    if (digit < 0 || digit > 9) {
+        digit = 0;
+    }
+    if (digit == 0) {
+        return fSymbols[kZeroDigitSymbol];
+    }
+    ENumberFormatSymbol key = static_cast<ENumberFormatSymbol>(kOneDigitSymbol + digit - 1);
+    return fSymbols[key];
+}
+#endif
+
 // -------------------------------------
 
 inline void
@@ -497,14 +542,20 @@ DecimalFormatSymbols::setSymbol(ENumberFormatSymbol symbol, const UnicodeString
 
     // If the zero digit is being set to a known zero digit according to Unicode,
     // then we automatically set the corresponding 1-9 digits
-    if ( propogateDigits && symbol == kZeroDigitSymbol && value.countChar32() == 1 ) {
+    // Also record updates to fCodePointZero. Be conservative if in doubt.
+    if (symbol == kZeroDigitSymbol) {
         UChar32 sym = value.char32At(0);
-        if ( u_charDigitValue(sym) == 0 ) {
+        if ( propogateDigits && u_charDigitValue(sym) == 0 && value.countChar32() == 1 ) {
+            fCodePointZero = sym;
             for ( int8_t i = 1 ; i<= 9 ; i++ ) {
                 sym++;
                 fSymbols[(int)kOneDigitSymbol+i-1] = UnicodeString(sym);
             }
+        } else {
+            fCodePointZero = -1;
         }
+    } else if (symbol >= kOneDigitSymbol && symbol <= kNineDigitSymbol) {
+        fCodePointZero = -1;
     }
 }
 
index 7900536..b062208 100644 (file)
@@ -30,7 +30,7 @@
 #include "unicode/utypes.h"
 /**
  * \file
- * \brief C++ API: Formats decimal numbers.
+ * \brief C++ API: Compatibility APIs for decimal formatting.
  */
 
 #if !UCONFIG_NO_FORMATTING
@@ -67,13 +67,19 @@ class PluralRules;
 class VisibleDigitsWithExponent;
 
 // explicit template instantiation. see digitlst.h
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API    EnumSet<UNumberFormatAttribute,
             UNUM_MAX_NONBOOLEAN_ATTRIBUTE+1,
             UNUM_LIMIT_BOOLEAN_ATTRIBUTE>;
 #endif
 
 /**
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
+ * numberformatter.h fits their use case.  Although not deprecated, this header
+ * is provided for backwards compatibility only.
+ * <hr/>
+ *
  * DecimalFormat is a concrete subclass of NumberFormat that formats decimal
  * numbers. It has a variety of features designed to make it possible to parse
  * and format numbers in any locale, including support for Western, Arabic, or
@@ -688,6 +694,9 @@ public:
      * on NumberFormat such as createInstance. These factories will
      * return the most appropriate sub-class of NumberFormat for a given
      * locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of DecimalFormat.
      * @param status    Output param set to success/failure code. If the
      *                  pattern is invalid this will be set to a failure code.
      * @stable ICU 2.0
@@ -703,6 +712,9 @@ public:
      * on NumberFormat such as createInstance. These factories will
      * return the most appropriate sub-class of NumberFormat for a given
      * locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of DecimalFormat.
      * @param pattern   A non-localized pattern string.
      * @param status    Output param set to success/failure code. If the
      *                  pattern is invalid this will be set to a failure code.
@@ -721,6 +733,9 @@ public:
      * createInstance or createCurrencyInstance. If you need only minor adjustments
      * to a standard format, you can modify the format returned by
      * a NumberFormat factory method.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of DecimalFormat.
      *
      * @param pattern           a non-localized pattern string
      * @param symbolsToAdopt    the set of symbols to be used.  The caller should not
@@ -826,6 +841,9 @@ public:
      * createInstance or createCurrencyInstance. If you need only minor adjustments
      * to a standard format, you can modify the format returned by
      * a NumberFormat factory method.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of DecimalFormat.
      *
      * @param pattern           a non-localized pattern string
      * @param symbolsToAdopt    the set of symbols to be used.  The caller should not
@@ -849,6 +867,9 @@ public:
      * createInstance or createCurrencyInstance. If you need only minor adjustments
      * to a standard format, you can modify the format returned by
      * a NumberFormat factory method.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of DecimalFormat.
      *
      * @param pattern           a non-localized pattern string
      * @param symbols   the set of symbols to be used
@@ -1964,12 +1985,14 @@ public:
     UCurrencyUsage getCurrencyUsage() const;
 
 
+#ifndef U_HIDE_DEPRECATED_API
     /**
      * The resource tags we use to retrieve decimal format data from
      * locale resource bundles.
      * @deprecated ICU 3.4. This string has no public purpose. Please don't use it.
      */
     static const char fgNumberPatterns[];
+#endif  // U_HIDE_DEPRECATED_API
 
 #ifndef U_HIDE_INTERNAL_API
     /**
index 5712edb..feb465e 100644 (file)
@@ -263,14 +263,29 @@ public:
 
     /**
      * Getter corresponding to setAppendItemNames. Values below 0 or at or above
-     * UDATPG_FIELD_COUNT are illegal arguments.
+     * UDATPG_FIELD_COUNT are illegal arguments. Note: The more general method
+     * for getting date/time field display names is getFieldDisplayName.
      *
      * @param field  such as UDATPG_ERA_FIELD.
      * @return name for field
+     * @see getFieldDisplayName
      * @stable ICU 3.8
      */
     const UnicodeString& getAppendItemName(UDateTimePatternField field) const;
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * The general interface to get a display name for a particular date/time field,
+     * in one of several possible display widths.
+     *
+     * @param field  The desired UDateTimePatternField, such as UDATPG_ERA_FIELD.
+     * @param width  The desired UDateTimePGDisplayWidth, such as UDATPG_ABBREVIATED.
+     * @return.      The display name for field
+     * @draft ICU 61
+     */
+    UnicodeString getFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width) const;
+#endif  // U_HIDE_DRAFT_API
+
     /**
      * The DateTimeFormat is a message format pattern used to compose date and
      * time patterns. The default pattern in the root locale is "{1} {0}", where
@@ -507,13 +522,17 @@ private:
      */
     DateTimePatternGenerator& operator=(const DateTimePatternGenerator& other);
 
+    // TODO(ticket:13619): re-enable when UDATPG_NARROW no longer in  draft mode.
+    // static const int32_t UDATPG_WIDTH_COUNT = UDATPG_NARROW + 1;
+
     Locale pLocale;  // pattern locale
     FormatParser *fp;
     DateTimeMatcher* dtMatcher;
     DistanceInfo *distanceInfo;
     PatternMap *patternMap;
     UnicodeString appendItemFormats[UDATPG_FIELD_COUNT];
-    UnicodeString appendItemNames[UDATPG_FIELD_COUNT];
+    // TODO(ticket:13619): [3] -> UDATPG_WIDTH_COUNT
+    UnicodeString fieldDisplayNames[UDATPG_FIELD_COUNT][3];
     UnicodeString dateTimeFormat;
     UnicodeString decimal;
     DateTimeMatcher *skipMatcher;
@@ -543,8 +562,11 @@ private:
     void setDateTimeFromCalendar(const Locale& locale, UErrorCode& status);
     void setDecimalSymbols(const Locale& locale, UErrorCode& status);
     UDateTimePatternField getAppendFormatNumber(const char* field) const;
-    UDateTimePatternField getAppendNameNumber(const char* field) const;
-    UnicodeString& getMutableAppendItemName(UDateTimePatternField field);
+#ifndef U_HIDE_DRAFT_API
+    UDateTimePatternField getFieldAndWidthIndices(const char* key, UDateTimePGDisplayWidth* widthP) const;
+    void setFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width, const UnicodeString& value);
+    UnicodeString& getMutableFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width);
+#endif  // U_HIDE_DRAFT_API
     void getAppendName(UDateTimePatternField field, UnicodeString& value);
     UnicodeString mapSkeletonMetacharacters(const UnicodeString& patternForm, int32_t* flags, UErrorCode& status);
     int32_t getCanonicalIndex(const UnicodeString& field);
index 156bb81..00f2d47 100644 (file)
@@ -22,7 +22,7 @@
 
 /**
  * \file 
- * \brief C++ API: Formatter for measure objects.
+ * \brief C++ API: Compatibility APIs for measure formatting.
  */
 
 /**
@@ -87,8 +87,9 @@ class ListFormatter;
 class DateFormat;
 
 /**
- * 
- * A formatter for measure objects.
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
+ * numberformatter.h fits their use case.  Although not deprecated, this header
+ * is provided for backwards compatibility only.
  *
  * @see Format
  * @author Alan Liu
@@ -101,6 +102,9 @@ class U_I18N_API MeasureFormat : public Format {
 
     /**
      * Constructor.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 53
      */
     MeasureFormat(
@@ -108,6 +112,9 @@ class U_I18N_API MeasureFormat : public Format {
 
     /**
      * Constructor.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 53
      */
     MeasureFormat(
@@ -227,6 +234,9 @@ class U_I18N_API MeasureFormat : public Format {
     /**
      * Return a formatter for CurrencyAmount objects in the given
      * locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param locale desired locale
      * @param ec input-output error code
      * @return a formatter object, or NULL upon error
@@ -238,6 +248,9 @@ class U_I18N_API MeasureFormat : public Format {
     /**
      * Return a formatter for CurrencyAmount objects in the default
      * locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param ec input-output error code
      * @return a formatter object, or NULL upon error
      * @stable ICU 3.0
index 4140ae3..9559724 100644 (file)
@@ -196,8 +196,8 @@ class U_I18N_API MeasureUnit: public UObject {
      * ICU use only.
      * @internal
      */
-    static MeasureUnit *resolveUnitPerUnit(
-            const MeasureUnit &unit, const MeasureUnit &perUnit);
+    static MeasureUnit resolveUnitPerUnit(
+            const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved);
 #endif /* U_HIDE_INTERNAL_API */
 
 // All code between the "Start generated createXXX methods" comment and
@@ -832,15 +832,13 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPicometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns unit of length: point.
      * Caller owns returned value and must free it.
      * @param status ICU error code.
-     * @draft ICU 59
+     * @stable ICU 59
      */
     static MeasureUnit *createPoint(UErrorCode &status);
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns unit of length: yard.
index 04fc84b..290e77e 100644 (file)
 #ifndef __NOUNIT_H__
 #define __NOUNIT_H__
 
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/measunit.h"
 
 /**
  * \file
  * \brief C++ API: units for percent and permille
  */
 
-
-#include "unicode/measunit.h"
-
-#if !UCONFIG_NO_FORMATTING
-
 U_NAMESPACE_BEGIN
 
 #ifndef U_HIDE_DRAFT_API
index 4a11c2f..3fbb33c 100644 (file)
  * </ul>
  *
  * <p>
- * * The narrow format for currencies is not currently supported; this is a known issue that will be fixed in a
- * future version. See #11666 for more information.
- *
- * <p>
  * This enum is similar to {@link com.ibm.icu.text.MeasureFormat.FormatWidth}.
  *
  * @draft ICU 60
@@ -155,27 +151,122 @@ typedef enum UNumberUnitWidth {
      *
      * @draft ICU 60
      */
-            UNUM_UNIT_WIDTH_HIDDEN,
+            UNUM_UNIT_WIDTH_HIDDEN
 
+#ifndef U_HIDE_INTERNAL_API
+    ,
     /**
      * One more than the highest UNumberUnitWidth value.
      *
      * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420.
      */
             UNUM_UNIT_WIDTH_COUNT
+#endif  // U_HIDE_INTERNAL_API
 } UNumberUnitWidth;
 
 /**
- * An enum declaring how to denote positive and negative numbers. Example outputs when formatting 123 and -123 in
- * <em>en-US</em>:
+ * An enum declaring the strategy for when and how to display grouping separators (i.e., the
+ * separator, often a comma or period, after every 2-3 powers of ten). The choices are several
+ * pre-built strategies for different use cases that employ locale data whenever possible. Example
+ * outputs for 1234 and 1234567 in <em>en-IN</em>:
+ *
+ * <ul>
+ * <li>OFF: 1234 and 12345
+ * <li>MIN2: 1234 and 12,34,567
+ * <li>AUTO: 1,234 and 12,34,567
+ * <li>ON_ALIGNED: 1,234 and 12,34,567
+ * <li>THOUSANDS: 1,234 and 1,234,567
+ * </ul>
  *
  * <p>
+ * The default is AUTO, which displays grouping separators unless the locale data says that grouping
+ * is not customary. To force grouping for all numbers greater than 1000 consistently across locales,
+ * use ON_ALIGNED. On the other hand, to display grouping less frequently than the default, use MIN2
+ * or OFF. See the docs of each option for details.
+ *
+ * <p>
+ * Note: This enum specifies the strategy for grouping sizes. To set which character to use as the
+ * grouping separator, use the "symbols" setter.
+ *
+ * @draft ICU 61
+ */
+typedef enum UGroupingStrategy {
+    /**
+     * Do not display grouping separators in any locale.
+     *
+     * @draft ICU 61
+     */
+    UNUM_GROUPING_OFF,
+
+    /**
+     * Display grouping using locale defaults, except do not show grouping on values smaller than
+     * 10000 (such that there is a <em>minimum of two digits</em> before the first separator).
+     *
+     * <p>
+     * Note that locales may restrict grouping separators to be displayed only on 1 million or
+     * greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).
+     *
+     * <p>
+     * Locale data is used to determine whether to separate larger numbers into groups of 2
+     * (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
+     *
+     * @draft ICU 61
+     */
+    UNUM_GROUPING_MIN2,
+
+    /**
+     * Display grouping using the default strategy for all locales. This is the default behavior.
+     *
+     * <p>
+     * Note that locales may restrict grouping separators to be displayed only on 1 million or
+     * greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).
+     *
+     * <p>
+     * Locale data is used to determine whether to separate larger numbers into groups of 2
+     * (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
+     *
+     * @draft ICU 61
+     */
+    UNUM_GROUPING_AUTO,
+
+    /**
+     * Always display the grouping separator on values of at least 1000.
+     *
+     * <p>
+     * This option ignores the locale data that restricts or disables grouping, described in MIN2 and
+     * AUTO. This option may be useful to normalize the alignment of numbers, such as in a
+     * spreadsheet.
+     *
+     * <p>
+     * Locale data is used to determine whether to separate larger numbers into groups of 2
+     * (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
+     *
+     * @draft ICU 61
+     */
+    UNUM_GROUPING_ON_ALIGNED,
+
+    /**
+     * Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use
+     * locale data for determining the grouping strategy.
+     *
+     * @draft ICU 61
+     */
+    UNUM_GROUPING_THOUSANDS
+
+} UGroupingStrategy;
+
+/**
+ * An enum declaring how to denote positive and negative numbers. Example outputs when formatting
+ * 123, 0, and -123 in <em>en-US</em>:
+ *
  * <ul>
- * <li>AUTO: "123", "-123"
- * <li>ALWAYS: "+123", "-123"
- * <li>NEVER: "123", "123"
- * <li>ACCOUNTING: "$123", "($123)"
- * <li>ACCOUNTING_ALWAYS: "+$123", "($123)"
+ * <li>AUTO: "123", "0", and "-123"
+ * <li>ALWAYS: "+123", "+0", and "-123"
+ * <li>NEVER: "123", "0", and "123"
+ * <li>ACCOUNTING: "$123", "$0", and "($123)"
+ * <li>ACCOUNTING_ALWAYS: "+$123", "+$0", and "($123)"
+ * <li>EXCEPT_ZERO: "+123", "0", and "-123"
+ * <li>ACCOUNTING_EXCEPT_ZERO: "+$123", "$0", and "($123)"
  * </ul>
  *
  * <p>
@@ -190,21 +281,22 @@ typedef enum UNumberSignDisplay {
      *
      * @draft ICU 60
      */
-            UNUM_SIGN_AUTO,
+    UNUM_SIGN_AUTO,
 
     /**
-     * Show the minus sign on negative numbers and the plus sign on positive numbers.
+     * Show the minus sign on negative numbers and the plus sign on positive numbers, including zero.
+     * To hide the sign on zero, see {@link UNUM_SIGN_EXCEPT_ZERO}.
      *
      * @draft ICU 60
      */
-            UNUM_SIGN_ALWAYS,
+    UNUM_SIGN_ALWAYS,
 
     /**
      * Do not show the sign on positive or negative numbers.
      *
      * @draft ICU 60
      */
-            UNUM_SIGN_NEVER,
+    UNUM_SIGN_NEVER,
 
     /**
      * Use the locale-dependent accounting format on negative numbers, and do not show the sign on positive numbers.
@@ -220,22 +312,44 @@ typedef enum UNumberSignDisplay {
      *
      * @draft ICU 60
      */
-            UNUM_SIGN_ACCOUNTING,
+    UNUM_SIGN_ACCOUNTING,
 
     /**
-     * Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive numbers.
-     * For more information on the accounting format, see the ACCOUNTING sign display strategy.
+     * Use the locale-dependent accounting format on negative numbers, and show the plus sign on
+     * positive numbers, including zero. For more information on the accounting format, see the
+     * ACCOUNTING sign display strategy. To hide the sign on zero, see
+     * {@link UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO}.
      *
      * @draft ICU 60
      */
-            UNUM_SIGN_ACCOUNTING_ALWAYS,
+    UNUM_SIGN_ACCOUNTING_ALWAYS,
+
+    /**
+     * Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a
+     * sign on zero.
+     *
+     * @draft ICU 61
+     */
+    UNUM_SIGN_EXCEPT_ZERO,
+
+    /**
+     * Use the locale-dependent accounting format on negative numbers, and show the plus sign on
+     * positive numbers. Do not show a sign on zero. For more information on the accounting format,
+     * see the ACCOUNTING sign display strategy.
+     *
+     * @draft ICU 61
+     */
+    UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO
 
+#ifndef U_HIDE_INTERNAL_API
+    ,
     /**
      * One more than the highest UNumberSignDisplay value.
      *
      * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420.
      */
-            UNUM_SIGN_COUNT
+    UNUM_SIGN_COUNT
+#endif  // U_HIDE_INTERNAL_API
 } UNumberSignDisplay;
 
 /**
@@ -261,14 +375,17 @@ typedef enum UNumberDecimalSeparatorDisplay {
      *
      * @draft ICU 60
      */
-            UNUM_DECIMAL_SEPARATOR_ALWAYS,
+            UNUM_DECIMAL_SEPARATOR_ALWAYS
 
+#ifndef U_HIDE_INTERNAL_API
+    ,
     /**
      * One more than the highest UNumberDecimalSeparatorDisplay value.
      *
      * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420.
      */
             UNUM_DECIMAL_SEPARATOR_COUNT
+#endif  // U_HIDE_INTERNAL_API
 } UNumberDecimalMarkDisplay;
 
 U_NAMESPACE_BEGIN namespace number {  // icu::number
@@ -283,11 +400,27 @@ class Rounder;
 class FractionRounder;
 class CurrencyRounder;
 class IncrementRounder;
-class Grouper;
 class IntegerWidth;
 
 namespace impl {
 
+#ifndef U_HIDE_INTERNAL_API
+/**
+ * Datatype for minimum/maximum fraction digits. Must be able to hold kMaxIntFracSig.
+ *
+ * @internal
+ */
+typedef int16_t digits_t;
+
+/**
+ * Use a default threshold of 3. This means that the third time .format() is called, the data structures get built
+ * using the "safe" code path. The first two calls to .format() will trigger the unsafe code path.
+ *
+ * @internal
+ */
+static constexpr int32_t DEFAULT_THRESHOLD = 3;
+#endif  // U_HIDE_INTERNAL_API
+
 // Forward declarations:
 class Padder;
 struct MacroProps;
@@ -471,7 +604,7 @@ class U_I18N_API Notation : public UMemory {
         struct ScientificSettings {
             int8_t fEngineeringInterval;
             bool fRequireMinInt;
-            int8_t fMinExponentDigits;
+            impl::digits_t fMinExponentDigits;
             UNumberSignDisplay fExponentSignDisplay;
         } scientific;
 
@@ -786,14 +919,14 @@ class U_I18N_API Rounder : public UMemory {
     union RounderUnion {
         struct FractionSignificantSettings {
             // For RND_FRACTION, RND_SIGNIFICANT, and RND_FRACTION_SIGNIFICANT
-            int8_t fMinFrac;
-            int8_t fMaxFrac;
-            int8_t fMinSig;
-            int8_t fMaxSig;
+            impl::digits_t fMinFrac;
+            impl::digits_t fMaxFrac;
+            impl::digits_t fMinSig;
+            impl::digits_t fMaxSig;
         } fracSig;
         struct IncrementSettings {
             double fIncrement;
-            int32_t fMinFrac;
+            impl::digits_t fMinFrac;
         } increment; // For RND_INCREMENT
         UCurrencyUsage currencyUsage; // For RND_CURRENCY
         UErrorCode errorCode; // For RND_ERROR
@@ -836,6 +969,20 @@ class U_I18N_API Rounder : public UMemory {
     /** Version of {@link #apply} that obeys minInt constraints. Used for scientific notation compatibility mode. */
     void apply(impl::DecimalQuantity &value, int32_t minInt, UErrorCode status);
 
+    /**
+     * Rounding endpoint used by Engineering and Compact notation. Chooses the most appropriate multiplier (magnitude
+     * adjustment), applies the adjustment, rounds, and returns the chosen multiplier.
+     *
+     * <p>
+     * In most cases, this is simple. However, when rounding the number causes it to cross a multiplier boundary, we
+     * need to re-do the rounding. For example, to display 999,999 in Engineering notation with 2 sigfigs, first you
+     * guess the multiplier to be -3. However, then you end up getting 1000E3, which is not the correct output. You then
+     * change your multiplier to be -6, and you get 1.0E6, which is correct.
+     *
+     * @param input The quantity to process.
+     * @param producer Function to call to return a multiplier based on a magnitude.
+     * @return The number of orders of magnitude the input was adjusted by this method.
+     */
     int32_t
     chooseMultiplierAndApply(impl::DecimalQuantity &input, const impl::MultiplierProducer &producer,
                              UErrorCode &status);
@@ -1003,53 +1150,6 @@ class U_I18N_API IncrementRounder : public Rounder {
 };
 
 /**
- * @internal This API is a technical preview.  It is likely to change in an upcoming release.
- */
-class U_I18N_API Grouper : public UMemory {
-  public:
-    /**
-     * @internal This API is a technical preview.  It is likely to change in an upcoming release.
-     */
-    static Grouper defaults();
-
-    /**
-     * @internal This API is a technical preview.  It is likely to change in an upcoming release.
-     */
-    static Grouper minTwoDigits();
-
-    /**
-     * @internal This API is a technical preview.  It is likely to change in an upcoming release.
-     */
-    static Grouper none();
-
-  private:
-    int8_t fGrouping1; // -3 means "bogus"; -2 means "needs locale data"; -1 means "no grouping"
-    int8_t fGrouping2;
-    bool fMin2;
-
-    Grouper(int8_t grouping1, int8_t grouping2, bool min2)
-            : fGrouping1(grouping1), fGrouping2(grouping2), fMin2(min2) {}
-
-    Grouper() : fGrouping1(-3) {};
-
-    bool isBogus() const {
-        return fGrouping1 == -3;
-    }
-
-    /** NON-CONST: mutates the current instance. */
-    void setLocaleData(const impl::ParsedPatternInfo &patternInfo);
-
-    bool groupAtPosition(int32_t position, const impl::DecimalQuantity &value) const;
-
-    // To allow MacroProps/MicroProps to initialize empty instances:
-    friend struct impl::MacroProps;
-    friend struct impl::MicroProps;
-
-    // To allow NumberFormatterImpl to access isBogus() and perform other operations:
-    friend class impl::NumberFormatterImpl;
-};
-
-/**
  * A class that defines the strategy for padding and truncating integers before the decimal separator.
  *
  * <p>
@@ -1080,7 +1180,8 @@ class U_I18N_API IntegerWidth : public UMemory {
      * For example, with maxInt=3, the number 1234 will get printed as "234".
      *
      * @param maxInt
-     *            The maximum number of places before the decimal separator.
+     *            The maximum number of places before the decimal separator. maxInt == -1 means no
+     *            truncation.
      * @return An IntegerWidth for passing to the NumberFormatter integerWidth() setter.
      * @draft ICU 60
      * @see NumberFormatter
@@ -1090,14 +1191,14 @@ class U_I18N_API IntegerWidth : public UMemory {
   private:
     union {
         struct {
-            int8_t fMinInt;
-            int8_t fMaxInt;
+            impl::digits_t fMinInt;
+            impl::digits_t fMaxInt;
         } minMaxInt;
         UErrorCode errorCode;
     } fUnion;
     bool fHasError = false;
 
-    IntegerWidth(int8_t minInt, int8_t maxInt);
+    IntegerWidth(impl::digits_t minInt, impl::digits_t maxInt);
 
     IntegerWidth(UErrorCode errorCode) { // NOLINT
         fUnion.errorCode = errorCode;
@@ -1132,14 +1233,7 @@ class U_I18N_API IntegerWidth : public UMemory {
 
 namespace impl {
 
-/**
- * Use a default threshold of 3. This means that the third time .format() is called, the data structures get built
- * using the "safe" code path. The first two calls to .format() will trigger the unsafe code path.
- *
- * @internal
- */
-static constexpr int32_t DEFAULT_THRESHOLD = 3;
-
+// Do not enclose entire SymbolsWrapper with #ifndef U_HIDE_INTERNAL_API, needed for a protected field
 /** @internal */
 class U_I18N_API SymbolsWrapper : public UMemory {
   public:
@@ -1155,6 +1249,7 @@ class U_I18N_API SymbolsWrapper : public UMemory {
     /** @internal */
     SymbolsWrapper &operator=(const SymbolsWrapper &other);
 
+#ifndef U_HIDE_INTERNAL_API
     /**
      * The provided object is copied, but we do not adopt it.
      * @internal
@@ -1202,6 +1297,7 @@ class U_I18N_API SymbolsWrapper : public UMemory {
         }
         return FALSE;
     }
+#endif  // U_HIDE_INTERNAL_API
 
   private:
     enum SymbolsPointerType {
@@ -1218,14 +1314,72 @@ class U_I18N_API SymbolsWrapper : public UMemory {
     void doCleanup();
 };
 
+// Do not enclose entire Grouper with #ifndef U_HIDE_INTERNAL_API, needed for a protected field
+/** @internal */
+class U_I18N_API Grouper : public UMemory {
+  public:
+#ifndef U_HIDE_INTERNAL_API
+    /** @internal */
+    static Grouper forStrategy(UGroupingStrategy grouping);
+
+    // Future: static Grouper forProperties(DecimalFormatProperties& properties);
+
+    /** @internal */
+    Grouper(int16_t grouping1, int16_t grouping2, int16_t minGrouping)
+            : fGrouping1(grouping1), fGrouping2(grouping2), fMinGrouping(minGrouping) {}
+#endif  // U_HIDE_INTERNAL_API
+
+  private:
+    /**
+     * The grouping sizes, with the following special values:
+     * <ul>
+     * <li>-1 = no grouping
+     * <li>-2 = needs locale data
+     * <li>-4 = fall back to Western grouping if not in locale
+     * </ul>
+     */
+    int16_t fGrouping1;
+    int16_t fGrouping2;
+
+    /**
+     * The minimum gropuing size, with the following special values:
+     * <ul>
+     * <li>-2 = needs locale data
+     * <li>-3 = no less than 2
+     * </ul>
+     */
+    int16_t fMinGrouping;
+
+    Grouper() : fGrouping1(-3) {};
+
+    bool isBogus() const {
+        return fGrouping1 == -3;
+    }
+
+    /** NON-CONST: mutates the current instance. */
+    void setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale);
+
+    bool groupAtPosition(int32_t position, const impl::DecimalQuantity &value) const;
+
+    // To allow MacroProps/MicroProps to initialize empty instances:
+    friend struct MacroProps;
+    friend struct MicroProps;
+
+    // To allow NumberFormatterImpl to access isBogus() and perform other operations:
+    friend class NumberFormatterImpl;
+};
+
+// Do not enclose entire Padder with #ifndef U_HIDE_INTERNAL_API, needed for a protected field
 /** @internal */
 class U_I18N_API Padder : public UMemory {
   public:
+#ifndef U_HIDE_INTERNAL_API
     /** @internal */
     static Padder none();
 
     /** @internal */
     static Padder codePoints(UChar32 cp, int32_t targetWidth, UNumberFormatPadPosition position);
+#endif  // U_HIDE_INTERNAL_API
 
   private:
     UChar32 fWidth;  // -3 = error; -2 = bogus; -1 = no padding
@@ -1275,6 +1429,7 @@ class U_I18N_API Padder : public UMemory {
     friend class impl::NumberFormatterImpl;
 };
 
+// Do not enclose entire MacroProps with #ifndef U_HIDE_INTERNAL_API, needed for a protected field
 /** @internal */
 struct U_I18N_API MacroProps : public UMemory {
     /** @internal */
@@ -1284,6 +1439,9 @@ struct U_I18N_API MacroProps : public UMemory {
     MeasureUnit unit; // = NoUnit::base();
 
     /** @internal */
+    MeasureUnit perUnit; // = NoUnit::base();
+
+    /** @internal */
     Rounder rounder;  // = Rounder();  (bogus)
 
     /** @internal */
@@ -1375,29 +1533,30 @@ class U_I18N_API NumberFormatterSettings {
      * <li>Percent: "12.3%"
      * </ul>
      *
-     * <p>
      * All units will be properly localized with locale data, and all units are compatible with notation styles,
      * rounding strategies, and other number formatter settings.
      *
-     * <p>
-     * Pass this method any instance of {@link MeasureUnit}. For units of measure:
+     * Pass this method any instance of {@link MeasureUnit}. For units of measure (which often involve the
+     * factory methods that return a pointer):
      *
      * <pre>
-     * NumberFormatter.with().adoptUnit(MeasureUnit::createMeter(status))
+     * NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
      * </pre>
      *
      * Currency:
      *
      * <pre>
-     * NumberFormatter.with()::unit(CurrencyUnit(u"USD", status))
+     * NumberFormatter::with().unit(CurrencyUnit(u"USD", status))
      * </pre>
      *
      * Percent:
      *
      * <pre>
-     * NumberFormatter.with()::unit(NoUnit.percent())
+     * NumberFormatter::with().unit(NoUnit.percent())
      * </pre>
      *
+     * See {@link #perUnit} for information on how to format strings like "5 meters per second".
+     *
      * The default is to render without units (equivalent to NoUnit.base()).
      *
      * @param unit
@@ -1406,22 +1565,65 @@ class U_I18N_API NumberFormatterSettings {
      * @see MeasureUnit
      * @see Currency
      * @see NoUnit
+     * @see #perUnit
      * @draft ICU 60
      */
     Derived unit(const icu::MeasureUnit &unit) const;
 
     /**
      * Like unit(), but takes ownership of a pointer.  Convenient for use with the MeasureFormat factory
-     * methods, which return pointers that need ownership.
+     * methods, which return pointers that need ownership.  Example:
+     *
+     * <pre>
+     * NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
+     * </pre>
      *
      * @param unit
-     * The unit to render.
+     *            The unit to render.
      * @return The fluent chain.
      * @see #unit
      * @see MeasureUnit
      * @draft ICU 60
      */
-    Derived adoptUnit(const icu::MeasureUnit *unit) const;
+    Derived adoptUnit(icu::MeasureUnit *unit) const;
+
+    /**
+     * Sets a unit to be used in the denominator. For example, to format "3 m/s", pass METER to the unit and SECOND to
+     * the perUnit.
+     *
+     * Pass this method any instance of {@link MeasureUnit}.  Since MeasureUnit factory methods return pointers, the
+     * {@link #adoptPerUnit} version of this method is often more useful.
+     *
+     * The default is not to display any unit in the denominator.
+     *
+     * If a per-unit is specified without a primary unit via {@link #unit}, the behavior is undefined.
+     *
+     * @param perUnit
+     *            The unit to render in the denominator.
+     * @return The fluent chain
+     * @see #unit
+     * @draft ICU 61
+     */
+    Derived perUnit(const icu::MeasureUnit &perUnit) const;
+
+    /**
+     * Like perUnit(), but takes ownership of a pointer.  Convenient for use with the MeasureFormat factory
+     * methods, which return pointers that need ownership.  Example:
+     *
+     * <pre>
+     * NumberFormatter::with()
+     *      .adoptUnit(MeasureUnit::createMeter(status))
+     *      .adoptPerUnit(MeasureUnit::createSecond(status))
+     * </pre>
+     *
+     * @param perUnit
+     *            The unit to render in the denominator.
+     * @return The fluent chain.
+     * @see #perUnit
+     * @see MeasureUnit
+     * @draft ICU 61
+     */
+    Derived adoptPerUnit(icu::MeasureUnit *perUnit) const;
 
     /**
      * Specifies the rounding strategy to use when formatting numbers.
@@ -1456,8 +1658,6 @@ class U_I18N_API NumberFormatterSettings {
      */
     Derived rounding(const Rounder &rounder) const;
 
-#ifndef U_HIDE_INTERNAL_API
-
     /**
      * Specifies the grouping strategy to use when formatting numbers.
      *
@@ -1471,25 +1671,21 @@ class U_I18N_API NumberFormatterSettings {
      * The exact grouping widths will be chosen based on the locale.
      *
      * <p>
-     * Pass this method the return value of one of the factory methods on {@link Grouper}. For example:
+     * Pass this method an element from the {@link UGroupingStrategy} enum. For example:
      *
      * <pre>
-     * NumberFormatter::with().grouping(Grouper::min2())
+     * NumberFormatter::with().grouping(UNUM_GROUPING_MIN2)
      * </pre>
      *
-     * The default is to perform grouping without concern for the minimum grouping digits.
+     * The default is to perform grouping according to locale data; most locales, but not all locales,
+     * enable it by default.
      *
-     * @param grouper
+     * @param strategy
      *            The grouping strategy to use.
      * @return The fluent chain.
-     * @see Grouper
-     * @see Notation
-     * @internal
-     * @internal ICU 60: This API is technical preview.
+     * @draft ICU 61
      */
-    Derived grouping(const Grouper &grouper) const;
-
-#endif  /* U_HIDE_INTERNAL_API */
+    Derived grouping(const UGroupingStrategy &strategy) const;
 
     /**
      * Specifies the minimum and maximum number of digits to render before the decimal mark.
@@ -1592,7 +1788,7 @@ class U_I18N_API NumberFormatterSettings {
      * @see NumberingSystem
      * @draft ICU 60
      */
-    Derived adoptSymbols(const NumberingSystem *symbols) const;
+    Derived adoptSymbols(NumberingSystem *symbols) const;
 
     /**
      * Sets the width of the unit (measure unit or currency).  Most common values:
index 68be021..3937985 100644 (file)
@@ -28,7 +28,7 @@
 
 /**
  * \file
- * \brief C++ API: Abstract base class for all number formats.
+ * \brief C++ API: Compatibility APIs for number formatting.
  */
 
 #if !UCONFIG_NO_FORMATTING
@@ -53,16 +53,16 @@ class StringEnumeration;
 #endif
 
 /**
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
+ * numberformatter.h fits their use case.  Although not deprecated, this header
+ * is provided for backwards compatibility only.
+ * <hr/>
  *
  * Abstract base class for all number formats.  Provides interface for
  * formatting and parsing a number.  Also provides methods for
  * determining which locales have number formats, and what their names
  * are.
  *
- * <p><strong>NOTE:</strong> Starting in ICU 60, there is a new set of APIs for localized number
- * formatting that are designed to be an improvement over DecimalFormat.  New users are discouraged
- * from using DecimalFormat.  For more information, see numberformatter.h.
- *
  * \headerfile unicode/numfmt.h "unicode/numfmt.h"
  * <P>
  * NumberFormat helps you to format and parse numbers for any locale.
@@ -708,6 +708,9 @@ public:
     /**
      * Create a default style NumberFormat for the current default locale.
      * The default formatting style is locale dependent.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 2.0
      */
     static NumberFormat* U_EXPORT2 createInstance(UErrorCode&);
@@ -716,6 +719,9 @@ public:
      * Create a default style NumberFormat for the specified locale.
      * The default formatting style is locale dependent.
      * @param inLocale    the given locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 2.0
      */
     static NumberFormat* U_EXPORT2 createInstance(const Locale& inLocale,
@@ -723,6 +729,9 @@ public:
 
     /**
      * Create a specific style NumberFormat for the specified locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param desiredLocale    the given locale.
      * @param style            the given style.
      * @param errorCode        Output param filled with success/failure status.
@@ -759,12 +768,18 @@ public:
 
     /**
      * Returns a currency format for the current default locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 2.0
      */
     static NumberFormat* U_EXPORT2 createCurrencyInstance(UErrorCode&);
 
     /**
      * Returns a currency format for the specified locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param inLocale    the given locale.
      * @stable ICU 2.0
      */
@@ -773,12 +788,18 @@ public:
 
     /**
      * Returns a percentage format for the current default locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 2.0
      */
     static NumberFormat* U_EXPORT2 createPercentInstance(UErrorCode&);
 
     /**
      * Returns a percentage format for the specified locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param inLocale    the given locale.
      * @stable ICU 2.0
      */
@@ -787,12 +808,18 @@ public:
 
     /**
      * Returns a scientific format for the current default locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @stable ICU 2.0
      */
     static NumberFormat* U_EXPORT2 createScientificInstance(UErrorCode&);
 
     /**
      * Returns a scientific format for the specified locale.
+     * <p>
+     * <strong>NOTE:</strong> New users are strongly encouraged to use
+     * {@link NumberFormatter} instead of NumberFormat.
      * @param inLocale    the given locale.
      * @stable ICU 2.0
      */
index 5b80263..3ae0807 100644 (file)
@@ -647,7 +647,8 @@ public:
      * Sets the amount of time in ms that the clock is advanced during DST.
      * @param millisSavedDuringDST the number of milliseconds the time is
      * advanced with respect to standard time when the daylight savings rules
-     * are in effect. A positive number, typically one hour (3600000).
+     * are in effect. Typically one hour (+3600000). The amount could be negative,
+     * but not 0.
      * @param status  An UErrorCode to receive the status.
      * @stable ICU 2.0
      */
@@ -657,7 +658,8 @@ public:
      * Returns the amount of time in ms that the clock is advanced during DST.
      * @return the number of milliseconds the time is
      * advanced with respect to standard time when the daylight savings rules
-     * are in effect. A positive number, typically one hour (3600000).
+     * are in effect. Typically one hour (+3600000). The amount could be negative,
+     * but not 0.
      * @stable ICU 2.0
      */
     virtual int32_t getDSTSavings(void) const;
index 76baa3d..beae756 100644 (file)
@@ -95,6 +95,21 @@ typedef enum UDateTimePatternField {
     UDATPG_FIELD_COUNT
 } UDateTimePatternField;
 
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Field display name width constants for udatpg_getFieldDisplayName().
+ * @draft ICU 61
+ */
+typedef enum UDateTimePGDisplayWidth {
+    /** @draft ICU 61 */
+    UDATPG_WIDE,
+    /** @draft ICU 61 */
+    UDATPG_ABBREVIATED,
+    /** @draft ICU 61 */
+    UDATPG_NARROW
+} UDateTimePGDisplayWidth;
+#endif  // U_HIDE_DRAFT_API
+
 /**
  * Masks to control forcing the length of specified fields in the returned
  * pattern to match those in the skeleton (when this would not happen
@@ -410,12 +425,14 @@ udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg,
 
 /**
  * Getter corresponding to setAppendItemNames. Values below 0 or at or above
- * UDATPG_FIELD_COUNT are illegal arguments.
+ * UDATPG_FIELD_COUNT are illegal arguments. Note: The more general function
+ * for getting date/time field display names is udatpg_getFieldDisplayName.
  *
  * @param dtpg   a pointer to UDateTimePatternGenerator.
  * @param field  UDateTimePatternField, such as UDATPG_ERA_FIELD
  * @param pLength A pointer that will receive the length of the name for field.
  * @return name for field
+ * @see udatpg_getFieldDisplayName
  * @stable ICU 3.8
  */
 U_STABLE const UChar * U_EXPORT2
@@ -423,6 +440,40 @@ udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
                          UDateTimePatternField field,
                          int32_t *pLength);
 
+#ifndef U_HIDE_DRAFT_API
+/**
+ * The general interface to get a display name for a particular date/time field,
+ * in one of several possible display widths.
+ *
+ * @param dtpg
+ *          A pointer to the UDateTimePatternGenerator object with the localized
+ *          display names.
+ * @param field
+ *          The desired UDateTimePatternField, such as UDATPG_ERA_FIELD.
+ * @param width
+ *          The desired UDateTimePGDisplayWidth, such as UDATPG_ABBREVIATED.
+ * @param fieldName
+ *          A pointer to a buffer to receive the NULL-terminated display name. If the name
+ *          fits into fieldName but cannot be  NULL-terminated (length == capacity) then
+ *          the error code is set to U_STRING_NOT_TERMINATED_WARNING. If the name doesn't
+ *          fit into fieldName then the error code is set to U_BUFFER_OVERFLOW_ERROR.
+ * @param capacity
+ *          The size of fieldName (in UChars).
+ * @param pErrorCode
+ *          A pointer to a UErrorCode to receive any errors
+ * @return
+ *         The full length of the name; if greater than capacity, fieldName contains a
+ *         truncated result.
+ * @draft ICU 61
+ */
+U_DRAFT int32_t U_EXPORT2
+udatpg_getFieldDisplayName(const UDateTimePatternGenerator *dtpg,
+                           UDateTimePatternField field,
+                           UDateTimePGDisplayWidth width,
+                           UChar *fieldName, int32_t capacity,
+                           UErrorCode *pErrorCode);
+#endif  // U_HIDE_DRAFT_API
+
 /**
  * The DateTimeFormat is a message format pattern used to compose date and
  * time patterns. The default pattern in the root locale is "{1} {0}", where
index 2ab09b5..ff251ff 100644 (file)
@@ -32,6 +32,9 @@
  * \brief C API: NumberFormat
  *
  * <h2> Number Format C API </h2>
+ * 
+ * <p><strong>IMPORTANT:</strong> New users with C++ capabilities are
+ * strongly encouraged to see if numberformatter.h fits their use case.
  *
  * Number Format C API  Provides functions for
  * formatting and parsing a number.  Also provides methods for
@@ -559,7 +562,6 @@ unum_formatDouble(    const    UNumberFormat*  fmt,
             UFieldPosition  *pos, /* 0 if ignore */
             UErrorCode*     status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
 * Format a double using a UNumberFormat according to the UNumberFormat's locale,
 * and initialize a UFieldPositionIterator that enumerates the subcomponents of
@@ -600,9 +602,9 @@ unum_formatDouble(    const    UNumberFormat*  fmt,
 * @see unum_parseDouble
 * @see UFieldPositionIterator
 * @see UNumberFormatFields
-* @draft ICU 59
+* @stable ICU 59
 */
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
 unum_formatDoubleForFields(const UNumberFormat* format,
                            double number,
                            UChar* result,
@@ -610,7 +612,6 @@ unum_formatDoubleForFields(const UNumberFormat* format,
                            UFieldPositionIterator* fpositer,
                            UErrorCode* status);
 
-#endif  /* U_HIDE_DRAFT_API */
 
 /**
 * Format a decimal number using a UNumberFormat.
index 99d93a4..690846b 100644 (file)
@@ -175,7 +175,6 @@ uplrules_selectWithFormat(const UPluralRules *uplrules,
 
 #endif  /* U_HIDE_INTERNAL_API */
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Creates a string enumeration of all plural rule keywords used in this
  * UPluralRules object. The rule "other" is always present by default.
@@ -184,12 +183,11 @@ uplrules_selectWithFormat(const UPluralRules *uplrules,
  * @param status A pointer to a UErrorCode to receive any errors.
  * @return a string enumeration over plural rule keywords, or NULL
  * upon error. The caller is responsible for closing the result.
- * @draft ICU 59
+ * @stable ICU 59
  */
-U_DRAFT UEnumeration* U_EXPORT2
+U_STABLE UEnumeration* U_EXPORT2
 uplrules_getKeywords(const UPluralRules *uplrules,
                      UErrorCode *status);
-#endif  /* U_HIDE_DRAFT_API */
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
index d0f05cf..697681a 100644 (file)
@@ -382,7 +382,7 @@ utrans_openIDs(UErrorCode *pErrorCode);
 U_STABLE void U_EXPORT2 
 utrans_trans(const UTransliterator* trans,
              UReplaceable* rep,
-             UReplaceableCallbacks* repFunc,
+             const UReplaceableCallbacks* repFunc,
              int32_t start,
              int32_t* limit,
              UErrorCode* status);
@@ -433,7 +433,7 @@ utrans_trans(const UTransliterator* trans,
 U_STABLE void U_EXPORT2 
 utrans_transIncremental(const UTransliterator* trans,
                         UReplaceable* rep,
-                        UReplaceableCallbacks* repFunc,
+                        const UReplaceableCallbacks* repFunc,
                         UTransPosition* pos,
                         UErrorCode* status);
 
index 0c26bdf..12f3689 100644 (file)
@@ -1465,8 +1465,10 @@ int32_t RegexCImpl::appendReplacement(RegularExpression    *regexp,
 
         int32_t groupNum  = 0;
         U_ASSERT(c == DOLLARSIGN);
-        UChar32 c32;
-        U16_GET(replacementText, 0, replIdx, replacementLength, c32);
+        UChar32 c32 = -1;
+        if (replIdx < replacementLength) {
+            U16_GET(replacementText, 0, replIdx, replacementLength, c32);
+        }
         if (u_isdigit(c32)) {
             int32_t numDigits = 0;
             int32_t numCaptureGroups = m->fPattern->fGroupMap->size();
index 5124833..29013ea 100644 (file)
@@ -41,12 +41,12 @@ U_NAMESPACE_BEGIN
 class ReplaceableGlue : public Replaceable {
 
     UReplaceable *rep;
-    UReplaceableCallbacks *func;
+    const UReplaceableCallbacks *func;
 
 public:
 
     ReplaceableGlue(UReplaceable *replaceable,
-                    UReplaceableCallbacks *funcCallback);
+                    const UReplaceableCallbacks *funcCallback);
 
     virtual ~ReplaceableGlue();
 
@@ -88,7 +88,7 @@ protected:
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ReplaceableGlue)
 
 ReplaceableGlue::ReplaceableGlue(UReplaceable *replaceable,
-                                 UReplaceableCallbacks *funcCallback)
+                                 const UReplaceableCallbacks *funcCallback)
   : Replaceable()
 {
     this->rep = replaceable;
@@ -398,7 +398,7 @@ utrans_openIDs(UErrorCode *pErrorCode) {
 U_CAPI void U_EXPORT2
 utrans_trans(const UTransliterator* trans,
              UReplaceable* rep,
-             UReplaceableCallbacks* repFunc,
+             const UReplaceableCallbacks* repFunc,
              int32_t start,
              int32_t* limit,
              UErrorCode* status) {
@@ -418,7 +418,7 @@ utrans_trans(const UTransliterator* trans,
 U_CAPI void U_EXPORT2
 utrans_transIncremental(const UTransliterator* trans,
                         UReplaceable* rep,
-                        UReplaceableCallbacks* repFunc,
+                        const UReplaceableCallbacks* repFunc,
                         UTransPosition* pos,
                         UErrorCode* status) {
 
index 375b716..ac7d6f6 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{C2B04507-2521-4801-BF0D-5FD79D6D518C}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_IO_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <BaseAddress>0x4ab00000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuio.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_IO_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/icuio.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuio60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\icuio61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\icuio.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4ab00000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\icuio.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_IO_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/icuio.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\icuio60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\icuio61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\lib\icuiod.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4ab00000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuio.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_IO_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/icuio.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuio60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icuio61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\icuio.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4ab00000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuio.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\icuio.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_IO_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/icuio.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\icuio60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icuio61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\lib64\icuiod.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4ab00000</BaseAddress>
       <ImportLibrary>..\..\lib64\icuiod.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="uscanf_p.cpp" />
     <ClCompile Include="ustdio.cpp" />
     <ClCompile Include="ustream.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="ufmt_cmn.h" />
     <ClInclude Include="uprintf.h" />
     <ClInclude Include="uscanf.h" />
-    <CustomBuild Include="unicode\ustdio.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="unicode\ustream.h">
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" ..\..\include\unicode
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="io.rc" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <!-- The following import will copy all of the header files from this projects 'unicode' folder. -->
+  <Import Project="$(SolutionDir)\Windows.CopyUnicodeHeaderFiles.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 2a7a397..6cbece8 100644 (file)
 
 /**
  * Opaque datatype representing an array of font runs
+ * @internal
  */
 typedef void pl_fontRuns;
 /**
  * Opaque datatype representing an array of value runs
+ * @internal
  */
 typedef void pl_valueRuns;
 /**
  * Opaque datatype representing an array of locale runs
+ * @internal
  */
 typedef void pl_localeRuns;
 
index 63fec11..74ea3c0 100644 (file)
@@ -1,51 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{37FC2C7F-1904-4811-8955-2F478830EAD1}</ProjectGuid>
     <RootNamespace>layoutex</RootNamespace>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+    <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_LAYOUTEX_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+    <Link>
+      <BaseAddress>0x4ac80000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\iculx.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_LAYOUTEX_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/layoutex.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\iculx60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\iculx61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\iculx.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4ac80000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib\iculxd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_LAYOUTEX_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
       <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/layoutex.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin\iculx60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\iculx61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\lib\iculxd.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4ac80000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\iculx.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_LAYOUTEX_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/layoutex.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\iculx60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\iculx61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\iculx.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <BaseAddress>0x4ac80000</BaseAddress>
       <ImportLibrary>..\..\lib64\iculx.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\lib64\iculxd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\include;..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_LAYOUTEX_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
       <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/layoutex.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\bin64\iculx60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\iculx61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\lib64\iculxd.pdb</ProgramDatabaseFile>
-      <BaseAddress>0x4ac80000</BaseAddress>
       <ImportLibrary>..\..\lib64\iculxd.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="LXUtilities.cpp" />
     <ClCompile Include="ParagraphLayout.cpp" />
     <ClCompile Include="playout.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
     </ClCompile>
     <ClCompile Include="plruns.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
     </ClCompile>
     <ClCompile Include="RunArrays.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="layoutex.rc">
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\common</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\common</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\common</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\common</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\common</AdditionalIncludeDirectories>
     </ResourceCompile>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="..\layout\layout.vcxproj">
       <Project>{c920062a-0647-4553-a3b2-37c58065664b}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7020e4c..fb4f726 100644 (file)
@@ -1,5 +1,7 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27130.2036
+MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "break", "..\break\break.vcxproj", "{DEEADF02-9C14-4854-A395-E505D2904D65}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cal", "..\cal\cal.vcxproj", "{F7659D77-09CF-4FE9-ACEE-927287AA9509}"
@@ -10,10 +12,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "date", "..\date\date.vcxpro
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "datefmt", "..\datefmt\datefmt.vcxproj", "{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "layout", "..\layout\layout.vcxproj", "{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy", "..\legacy\legacy.vcxproj", "{57F56795-1802-4605-88A0-013AAE9998F6}"
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msgfmt", "..\msgfmt\msgfmt.vcxproj", "{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "numfmt", "..\numfmt\numfmt.vcxproj", "{721FBD47-E458-4C35-90DA-FF192907D5E2}"
@@ -56,224 +54,216 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dtptngsample", "..\dtptngsa
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
                Debug|x64 = Debug|x64
-               Release|Win32 = Release|Win32
+               Debug|x86 = Debug|x86
                Release|x64 = Release|x64
+               Release|x86 = Release|x86
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.ActiveCfg = Debug|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.Build.0 = Debug|Win32
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.ActiveCfg = Debug|x64
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.Build.0 = Debug|x64
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.ActiveCfg = Release|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.Build.0 = Release|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x86.ActiveCfg = Debug|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x86.Build.0 = Debug|Win32
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.ActiveCfg = Release|x64
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.Build.0 = Release|x64
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.ActiveCfg = Debug|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.Build.0 = Debug|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x86.ActiveCfg = Release|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x86.Build.0 = Release|Win32
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.ActiveCfg = Debug|x64
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.Build.0 = Debug|x64
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.ActiveCfg = Release|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.Build.0 = Release|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x86.ActiveCfg = Debug|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x86.Build.0 = Debug|Win32
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.ActiveCfg = Release|x64
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.Build.0 = Release|x64
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.Build.0 = Debug|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x86.ActiveCfg = Release|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x86.Build.0 = Release|Win32
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.ActiveCfg = Debug|x64
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.Build.0 = Debug|x64
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.ActiveCfg = Release|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.Build.0 = Release|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x86.ActiveCfg = Debug|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x86.Build.0 = Debug|Win32
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.ActiveCfg = Release|x64
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.Build.0 = Release|x64
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.ActiveCfg = Debug|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.Build.0 = Debug|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x86.ActiveCfg = Release|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x86.Build.0 = Release|Win32
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.ActiveCfg = Debug|x64
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.Build.0 = Debug|x64
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.ActiveCfg = Release|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.Build.0 = Release|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x86.ActiveCfg = Debug|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x86.Build.0 = Debug|Win32
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.ActiveCfg = Release|x64
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.Build.0 = Release|x64
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.ActiveCfg = Debug|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.Build.0 = Debug|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x86.ActiveCfg = Release|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x86.Build.0 = Release|Win32
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.ActiveCfg = Debug|x64
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.Build.0 = Debug|x64
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.ActiveCfg = Release|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.Build.0 = Release|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x86.ActiveCfg = Debug|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x86.Build.0 = Debug|Win32
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.ActiveCfg = Release|x64
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.Build.0 = Release|x64
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|Win32.ActiveCfg = Debug|Win32
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|Win32.Build.0 = Debug|Win32
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|x64.ActiveCfg = Debug|x64
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|x64.Build.0 = Debug|x64
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|Win32.ActiveCfg = Release|Win32
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|Win32.Build.0 = Release|Win32
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|x64.ActiveCfg = Release|x64
-               {497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|x64.Build.0 = Release|x64
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.ActiveCfg = Debug|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.Build.0 = Debug|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.ActiveCfg = Debug|x64
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.Build.0 = Debug|x64
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.ActiveCfg = Release|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.Build.0 = Release|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.ActiveCfg = Release|x64
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.Build.0 = Release|x64
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.ActiveCfg = Debug|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.Build.0 = Debug|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x86.ActiveCfg = Release|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x86.Build.0 = Release|Win32
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.ActiveCfg = Debug|x64
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.Build.0 = Debug|x64
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.ActiveCfg = Release|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.Build.0 = Release|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x86.ActiveCfg = Debug|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x86.Build.0 = Debug|Win32
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.ActiveCfg = Release|x64
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.Build.0 = Release|x64
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.ActiveCfg = Debug|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.Build.0 = Debug|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x86.ActiveCfg = Release|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x86.Build.0 = Release|Win32
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.ActiveCfg = Debug|x64
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.Build.0 = Debug|x64
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.ActiveCfg = Release|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.Build.0 = Release|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x86.ActiveCfg = Debug|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x86.Build.0 = Debug|Win32
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.ActiveCfg = Release|x64
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.Build.0 = Release|x64
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.ActiveCfg = Debug|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.Build.0 = Debug|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x86.ActiveCfg = Release|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x86.Build.0 = Release|Win32
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.ActiveCfg = Debug|x64
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.Build.0 = Debug|x64
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.ActiveCfg = Release|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.Build.0 = Release|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x86.ActiveCfg = Debug|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x86.Build.0 = Debug|Win32
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.ActiveCfg = Release|x64
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.Build.0 = Release|x64
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.ActiveCfg = Debug|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.Build.0 = Debug|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x86.ActiveCfg = Release|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x86.Build.0 = Release|Win32
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.ActiveCfg = Debug|x64
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.Build.0 = Debug|x64
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.ActiveCfg = Release|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.Build.0 = Release|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x86.ActiveCfg = Debug|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x86.Build.0 = Debug|Win32
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.ActiveCfg = Release|x64
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.Build.0 = Release|x64
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.ActiveCfg = Debug|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.Build.0 = Debug|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x86.ActiveCfg = Release|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x86.Build.0 = Release|Win32
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.ActiveCfg = Debug|x64
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.Build.0 = Debug|x64
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.ActiveCfg = Release|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.Build.0 = Release|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x86.ActiveCfg = Debug|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x86.Build.0 = Debug|Win32
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.ActiveCfg = Release|x64
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.Build.0 = Release|x64
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.ActiveCfg = Debug|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.Build.0 = Debug|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x86.ActiveCfg = Release|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x86.Build.0 = Release|Win32
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.ActiveCfg = Debug|x64
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.Build.0 = Debug|x64
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.ActiveCfg = Release|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.Build.0 = Release|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x86.ActiveCfg = Debug|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x86.Build.0 = Debug|Win32
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.ActiveCfg = Release|x64
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.Build.0 = Release|x64
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.Build.0 = Debug|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x86.ActiveCfg = Release|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x86.Build.0 = Release|Win32
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.ActiveCfg = Debug|x64
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.Build.0 = Debug|x64
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.ActiveCfg = Release|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.Build.0 = Release|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x86.ActiveCfg = Debug|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x86.Build.0 = Debug|Win32
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.ActiveCfg = Release|x64
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.Build.0 = Release|x64
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.ActiveCfg = Debug|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.Build.0 = Debug|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x86.ActiveCfg = Release|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x86.Build.0 = Release|Win32
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.ActiveCfg = Debug|x64
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.Build.0 = Debug|x64
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.ActiveCfg = Release|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.Build.0 = Release|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x86.ActiveCfg = Debug|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x86.Build.0 = Debug|Win32
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.ActiveCfg = Release|x64
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.Build.0 = Release|x64
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.ActiveCfg = Debug|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.Build.0 = Debug|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x86.ActiveCfg = Release|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x86.Build.0 = Release|Win32
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.ActiveCfg = Debug|x64
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.Build.0 = Debug|x64
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.ActiveCfg = Release|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.Build.0 = Release|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x86.ActiveCfg = Debug|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x86.Build.0 = Debug|Win32
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.ActiveCfg = Release|x64
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.Build.0 = Release|x64
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.ActiveCfg = Debug|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.Build.0 = Debug|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|x64
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.Build.0 = Debug|x64
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.ActiveCfg = Release|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.Build.0 = Release|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|x64
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.Build.0 = Release|x64
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.ActiveCfg = Debug|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.Build.0 = Debug|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x86.ActiveCfg = Release|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x86.Build.0 = Release|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x86.ActiveCfg = Debug|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x86.Build.0 = Debug|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x86.ActiveCfg = Release|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x86.Build.0 = Release|Win32
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.ActiveCfg = Debug|x64
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.Build.0 = Debug|x64
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.ActiveCfg = Release|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.Build.0 = Release|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x86.ActiveCfg = Debug|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x86.Build.0 = Debug|Win32
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.ActiveCfg = Release|x64
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.Build.0 = Release|x64
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.ActiveCfg = Debug|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.Build.0 = Debug|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x86.ActiveCfg = Release|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x86.Build.0 = Release|Win32
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.ActiveCfg = Debug|x64
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.Build.0 = Debug|x64
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.ActiveCfg = Release|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.Build.0 = Release|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x86.ActiveCfg = Debug|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x86.Build.0 = Debug|Win32
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.ActiveCfg = Release|x64
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.Build.0 = Release|x64
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.ActiveCfg = Debug|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.Build.0 = Debug|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x86.ActiveCfg = Release|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x86.Build.0 = Release|Win32
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.ActiveCfg = Debug|x64
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.Build.0 = Debug|x64
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.ActiveCfg = Release|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.Build.0 = Release|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x86.ActiveCfg = Debug|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x86.Build.0 = Debug|Win32
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.ActiveCfg = Release|x64
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.Build.0 = Release|x64
-               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.ActiveCfg = Debug|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.Build.0 = Debug|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x86.ActiveCfg = Release|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x86.Build.0 = Release|Win32
                {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.ActiveCfg = Debug|x64
                {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.Build.0 = Debug|x64
-               {40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.ActiveCfg = Release|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.Build.0 = Release|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x86.ActiveCfg = Debug|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x86.Build.0 = Debug|Win32
                {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.ActiveCfg = Release|x64
                {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.Build.0 = Release|x64
-               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|Win32.ActiveCfg = Debug|Win32
-               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|Win32.Build.0 = Debug|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x86.ActiveCfg = Release|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x86.Build.0 = Release|Win32
                {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x64.ActiveCfg = Debug|x64
                {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x64.Build.0 = Debug|x64
-               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|Win32.ActiveCfg = Release|Win32
-               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|Win32.Build.0 = Release|Win32
+               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x86.ActiveCfg = Debug|Win32
+               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x86.Build.0 = Debug|Win32
                {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x64.ActiveCfg = Release|x64
                {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x64.Build.0 = Release|x64
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.ActiveCfg = Debug|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.Build.0 = Debug|Win32
+               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x86.ActiveCfg = Release|Win32
+               {247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x86.Build.0 = Release|Win32
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|x64
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|x64
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.ActiveCfg = Release|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.Build.0 = Release|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x86.ActiveCfg = Debug|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x86.Build.0 = Debug|Win32
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|x64
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|x64
-               {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|Win32.ActiveCfg = Debug|Win32
-               {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|Win32.Build.0 = Debug|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x86.ActiveCfg = Release|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x86.Build.0 = Release|Win32
                {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x64.ActiveCfg = Debug|x64
                {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x64.Build.0 = Debug|x64
-               {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|Win32.ActiveCfg = Release|Win32
-               {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|Win32.Build.0 = Release|Win32
+               {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x86.ActiveCfg = Debug|Win32
+               {683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x86.Build.0 = Debug|Win32
                {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x64.ActiveCfg = Release|x64
                {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x64.Build.0 = Release|x64
-               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|Win32.ActiveCfg = Debug|Win32
-               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|Win32.Build.0 = Debug|Win32
-               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|x64.ActiveCfg = Debug|Win32
-               {8945255B-473B-4C47-9425-E92384338CAA}.Release|Win32.ActiveCfg = Release|Win32
-               {8945255B-473B-4C47-9425-E92384338CAA}.Release|Win32.Build.0 = Release|Win32
-               {8945255B-473B-4C47-9425-E92384338CAA}.Release|x64.ActiveCfg = Release|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|Win32.ActiveCfg = Debug|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|Win32.Build.0 = Debug|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x64.ActiveCfg = Debug|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|Win32.ActiveCfg = Release|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|Win32.Build.0 = Release|Win32
-               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x64.ActiveCfg = Release|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|Win32.ActiveCfg = Debug|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|Win32.Build.0 = Debug|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x64.ActiveCfg = Debug|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|Win32.ActiveCfg = Release|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|Win32.Build.0 = Release|Win32
-               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x64.ActiveCfg = Release|Win32
+               {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x86.ActiveCfg = Release|Win32
+               {683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x86.Build.0 = Release|Win32
+               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|x64.ActiveCfg = Debug|x64
+               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|x64.Build.0 = Debug|x64
+               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|x86.ActiveCfg = Debug|Win32
+               {8945255B-473B-4C47-9425-E92384338CAA}.Debug|x86.Build.0 = Debug|Win32
+               {8945255B-473B-4C47-9425-E92384338CAA}.Release|x64.ActiveCfg = Release|x64
+               {8945255B-473B-4C47-9425-E92384338CAA}.Release|x64.Build.0 = Release|x64
+               {8945255B-473B-4C47-9425-E92384338CAA}.Release|x86.ActiveCfg = Release|Win32
+               {8945255B-473B-4C47-9425-E92384338CAA}.Release|x86.Build.0 = Release|Win32
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x64.ActiveCfg = Debug|x64
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x64.Build.0 = Debug|x64
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x86.ActiveCfg = Debug|Win32
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x86.Build.0 = Debug|Win32
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x64.ActiveCfg = Release|x64
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x64.Build.0 = Release|x64
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x86.ActiveCfg = Release|Win32
+               {B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x86.Build.0 = Release|Win32
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x64.ActiveCfg = Debug|x64
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x64.Build.0 = Debug|x64
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x86.ActiveCfg = Debug|Win32
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x86.Build.0 = Debug|Win32
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x64.ActiveCfg = Release|x64
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x64.Build.0 = Release|x64
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x86.ActiveCfg = Release|Win32
+               {115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x86.Build.0 = Release|Win32
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+                       SolutionGuid = {DB7CDCAF-F002-40F8-9E0E-F25F68EEC77B}
+               SolutionGuid = {60B84F6E-86EE-46F7-9AF4-8A3ABB09A513}
+       EndGlobalSection
 EndGlobal
index 4965aac..8b4ad61 100644 (file)
@@ -17,8 +17,9 @@
 #include <unicode/brkiter.h>
 #include <stdlib.h>
 
-U_CFUNC int c_main(void);
+using namespace icu;
 
+U_CFUNC int c_main(void);
 
 void printUnicodeString(const UnicodeString &s) {
     char charBuf[1000];
index 131bb04..80cca42 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.ActiveCfg = Debug|Win32
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.Build.0 = Debug|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.ActiveCfg = Debug|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.Build.0 = Debug|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.ActiveCfg = Debug|x64
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.Build.0 = Debug|x64
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.ActiveCfg = Release|Win32
                {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.Build.0 = Release|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.ActiveCfg = Release|Win32
-               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.Build.0 = Release|Win32
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.ActiveCfg = Release|x64
+               {DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 0ac3e59..1737d93 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{DEEADF02-9C14-4854-A395-E505D2904D65}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\x86\Release/break.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/break.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/break.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/break.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/break.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/break.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/break.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/break.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\x86\Debug/break.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/break.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/break.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/break.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/break.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/break.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/break.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/break.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 1cee7da..19f41e9 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.ActiveCfg = Debug|Win32
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.Build.0 = Debug|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.ActiveCfg = Debug|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.Build.0 = Debug|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.ActiveCfg = Debug|x64
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.Build.0 = Debug|x64
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.ActiveCfg = Release|Win32
                {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.Build.0 = Release|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.ActiveCfg = Release|Win32
-               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.Build.0 = Release|Win32
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.ActiveCfg = Release|x64
+               {F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 95a0a53..a5aad70 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{F7659D77-09CF-4FE9-ACEE-927287AA9509}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Release/cal.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/cal.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/cal.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/cal.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/cal.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/cal.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/cal.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/cal.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
       <TypeLibraryName>.\x86\Debug/cal.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/cal.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/cal.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/cal.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/cal.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/cal.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/cal.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/cal.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="cal.c">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
-    <ClCompile Include="uprint.c">
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-    </ClCompile>
+    <ClCompile Include="cal.c" />
+    <ClCompile Include="uprint.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="uprint.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index f111818..c0f7216 100644 (file)
@@ -18,6 +18,8 @@
 #include <unicode/brkiter.h>
 #include <stdlib.h>
 
+using namespace icu;
+
 U_CFUNC int c_main(UFILE *out);
 
 void printUnicodeString(UFILE *out, const UnicodeString &s) {
index e834d4d..46622a2 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.ActiveCfg = Debug|Win32
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.Build.0 = Debug|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.ActiveCfg = Debug|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.Build.0 = Debug|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.ActiveCfg = Debug|x64
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.Build.0 = Debug|x64
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.ActiveCfg = Release|Win32
                {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.Build.0 = Release|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.ActiveCfg = Release|Win32
-               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.Build.0 = Release|Win32
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.ActiveCfg = Release|x64
+               {2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 3596766..222ebed 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/case.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/case.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/case.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/case.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/case.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/case.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/case.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/case.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/case.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/case.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/case.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/case.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/case.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/case.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index eafa934..2dd272a 100644 (file)
@@ -63,7 +63,7 @@ int c_main(UFILE *out)
   u_fprintf(out, "u_strToLower(%S, turkish) -> %S\n", upper, buffer);
 
 
-  /* ustring.h APIs, UChar * string case mapping with a Engish locale */
+  /* ustring.h APIs, UChar * string case mapping with a English locale */
   /* result buffer = "ABI" latin CAPITAL letter A, latin capital letter B,
      latin capital letter I */
   length = u_strToUpper(buffer, sizeof(buffer)/sizeof(buffer[0]), upper, 
index 3a16dc1..43e5a00 100644 (file)
 
 static UFILE *out;
 
+using icu::CharacterIterator;
+using icu::StringCharacterIterator;
+using icu::UCharCharacterIterator;
+using icu::UnicodeString;
+
 void printUnicodeString(const UnicodeString &s)
 {
     u_fprintf(out, "%S", &s);
index bf6355e..9e7250d 100644 (file)
@@ -1,48 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+  
   <PropertyGroup Label="Globals">
     <ProjectGuid>{247E2681-6C84-408B-B40C-5DB50BC5E18F}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
@@ -95,7 +59,7 @@
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>./Debug/citer.exe</OutputFile>
+      <OutputFile>.\x86\Debug\citer.exe</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(OutDir)citer.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>./Debug/citer.exe</OutputFile>
+      <OutputFile>.\x64\Debug\citer.exe</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(OutDir)citer.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>./Release/citer.exe</OutputFile>
+      <OutputFile>.\x86\Release\citer.exe</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>./Release/citer.exe</OutputFile>
+      <OutputFile>.\x64\Release\citer.exe</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index e29755d..afa57d0 100644 (file)
@@ -25,7 +25,7 @@ const char gHelpString[] =
     "-lower           Lower case first\n"
     "-upper           Upper case first\n"
     "-case            Enable separate case level\n"
-    "-level n         Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical\n"
+    "-level n         Sort level, 1 to 5, for Primary, Secondary, Tertiary, Quaternary, Identical\n"
        "-source string   Source string for comparison\n"
        "-target string   Target string for comparison\n"
     "Example coll -rules \\u0026b\\u003ca -source a -target b\n"
index 3f6757a..5a4acc8 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.ActiveCfg = Debug|Win32
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.Build.0 = Debug|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|x64
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|x64
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.ActiveCfg = Release|Win32
                {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.Build.0 = Release|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|Win32
-               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|Win32
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|x64
+               {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 85d0341..453bcd4 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+  
   <PropertyGroup Label="Globals">
     <ProjectGuid>{7664D0D2-0263-4BFB-AE19-9A1CAD231440}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/coll.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/coll.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/coll.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/coll.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/coll.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/coll.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/coll.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
       <TypeLibraryName>.\x86\Debug/coll.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/coll.pch</PrecompiledHeaderOutputFile>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/coll.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/coll.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/coll.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/coll.pch</PrecompiledHeaderOutputFile>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/coll.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/coll.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 6d2a0ad..fc4cb59 100644 (file)
@@ -1,48 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+  
   <PropertyGroup Label="Globals">
     <ProjectGuid>{683745AD-3BC2-4B89-898B-93490D7F2757}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 63749a2..0ec4cd5 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.ActiveCfg = Debug|Win32
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.Build.0 = Debug|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.ActiveCfg = Debug|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.Build.0 = Debug|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.ActiveCfg = Debug|x64
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.Build.0 = Debug|x64
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.ActiveCfg = Release|Win32
                {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.Build.0 = Release|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.ActiveCfg = Release|Win32
-               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.Build.0 = Release|Win32
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.ActiveCfg = Release|x64
+               {38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index f8241c1..83ab770 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+  
   <PropertyGroup Label="Globals">
     <ProjectGuid>{38B5751A-C6F9-4409-950C-F4F9DA17275F}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\x86\Release/date.pch</PrecompiledHeaderOutputFile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/date.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/date.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/date.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\x64\Release/date.pch</PrecompiledHeaderOutputFile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/date.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/date.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\x86\Debug/date.pch</PrecompiledHeaderOutputFile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/date.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/date.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/date.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\x64\Debug/date.pch</PrecompiledHeaderOutputFile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/date.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/date.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <ClInclude Include="uprint.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index a82993d..346439a 100644 (file)
@@ -14,12 +14,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.ActiveCfg = Debug|Win32
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.Build.0 = Debug|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.ActiveCfg = Debug|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.Build.0 = Debug|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.ActiveCfg = Debug|x64
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.Build.0 = Debug|x64
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.ActiveCfg = Release|Win32
                {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.Build.0 = Release|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.ActiveCfg = Release|Win32
-               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.Build.0 = Release|Win32
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.ActiveCfg = Release|x64
+               {6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 078ca49..ca610f5 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+  
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
       <TypeLibraryName>.\x86\Debug/datefmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/datefmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/datefmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/datefmt.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/datefmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/datefmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/datefmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/datefmt.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/datefmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/datefmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/datefmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/datefmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/datefmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/datefmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/datefmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index a655328..dd1796a 100644 (file)
@@ -15,6 +15,8 @@
 #include <stdlib.h>
 #include "util.h"
 
+using namespace icu;
+
 /**
  * If the ID supplied to TimeZone is not a valid system ID,
  * TimeZone::createTimeZone() will return a GMT zone object.  In order
index 6068d0e..240b405 100644 (file)
@@ -12,6 +12,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg) {
     if (U_FAILURE(status)) {
index 3a15a9e..2fd538b 100644 (file)
@@ -10,6 +10,8 @@
 
 #include "unicode/unistr.h"
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg);
 
index da6f746..c4f7b18 100644 (file)
@@ -12,6 +12,7 @@
 //! [dtitvfmtPreDefined1]
 
 using namespace std;
+using namespace icu;
 
 static void dtitvfmtPreDefined() {
          
index 701d806..db22407 100644 (file)
@@ -1,33 +1,34 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{8945255B-473B-4C47-9425-E92384338CAA}</ProjectGuid>
-    <RootNamespace>dtitvfmtsample</RootNamespace>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+    <RootNamespace>samples</RootNamespace>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\x86\debug\</OutDir>
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <IntDir>.\x86\debug\</IntDir>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>.\x64\Debug\</OutDir>
+    <IntDir>.\x64\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\x86\release</OutDir>
-    <IntDir>.\x86\release</IntDir>
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>.\x64\Release\</OutDir>
+    <IntDir>.\x64\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\x86\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\x64\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>.\x64\Debug/dtitvfmtsample.exe</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>MaxSpeed</Optimization>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\x86\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="dtitvfmtsample.cpp">
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\x64\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
     </ClCompile>
-  </ItemGroup>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\io\io.vcxproj">
-      <Project>{c2b04507-2521-4801-bf0d-5fd79d6d518c}</Project>
-    </ProjectReference>
+    <ClCompile Include="dtitvfmtsample.cpp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index b119f4b..58d394d 100644 (file)
@@ -13,6 +13,7 @@
 //! [getBestPatternExample1]
 
 using namespace std;
+using namespace icu;
 
 static void getBestPatternExample() {
            
index c49ee6a..d2e9466 100644 (file)
@@ -1,34 +1,34 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{115886F0-7DFB-4B8B-BE79-83162EE8713B}</ProjectGuid>
     <RootNamespace>samples</RootNamespace>
-    <ProjectName>dtptngsample</ProjectName>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\x86\debug\</OutDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <IntDir>.\x86\debug\</IntDir>
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
     <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\x86\release</OutDir>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>.\x64\Debug\</OutDir>
+    <IntDir>.\x64\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <IntDir>.\x86\release</IntDir>
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>.\x64\Release\</OutDir>
+    <IntDir>.\x64\Release\</IntDir>
     <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <AdditionalIncludeDirectories>..\..\common;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\x64\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>.\x64\debug/dtptngsample.exe</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <OutputFile>\x86\debug\samples.exe</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\x64\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="dtptngsample.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\io\io.vcxproj">
-      <Project>{c2b04507-2521-4801-bf0d-5fd79d6d518c}</Project>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index c27af9d..b49dca6 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -89,7 +54,7 @@
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32;UNICODE;_CRT_SECURE_NO_DEPRECATE;LE_USE_CMEMORY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;NDEBUG;_CONSOLE;WIN32;UNICODE;_CRT_SECURE_NO_DEPRECATE;LE_USE_CMEMORY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_DEBUG;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;_DEBUG;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index f74cf11..b2b176f 100644 (file)
@@ -14,12 +14,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.ActiveCfg = Debug|Win32
                {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.Build.0 = Debug|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.ActiveCfg = Debug|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.Build.0 = Debug|Win32
+               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.ActiveCfg = Debug|x64
+               {57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.Build.0 = Debug|x64
                {57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.ActiveCfg = Release|Win32
                {57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.Build.0 = Release|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.ActiveCfg = Release|Win32
-               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.Build.0 = Release|Win32
+               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.ActiveCfg = Release|x64
+               {57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 56b7fde..2436983 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -89,7 +89,7 @@
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <AdditionalDependencies>icuuc.lib;icuin.lib;../../../../icu-1-8-1/lib/icuuc.lib;../../../../icu-1-8-1/lib/icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/legacy.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/legacy.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <AdditionalDependencies>icuucd.lib;icuind.lib;../../../../icu-1-8-1/lib/icuucd.lib;../../../../icu-1-8-1/lib/icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/legacy.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/legacy.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index b163631..f90def0 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.ActiveCfg = Debug|Win32
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.Build.0 = Debug|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.ActiveCfg = Debug|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.Build.0 = Debug|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.ActiveCfg = Debug|x64
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.Build.0 = Debug|x64
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.ActiveCfg = Release|Win32
                {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.Build.0 = Release|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.ActiveCfg = Release|Win32
-               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.Build.0 = Release|Win32
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.ActiveCfg = Release|x64
+               {5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index eebe956..fd90eac 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/msgfmt.pch</PrecompiledHeaderOutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/msgfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/msgfmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/msgfmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/msgfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/msgfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/msgfmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
       <TypeLibraryName>.\x86\Debug/msgfmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/msgfmt.pch</PrecompiledHeaderOutputFile>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/msgfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/msgfmt.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/msgfmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/msgfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/msgfmt.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index fb353a0..7966e7a 100644 (file)
@@ -12,6 +12,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg) {
     if (U_FAILURE(status)) {
index b66e019..590e545 100644 (file)
@@ -10,6 +10,8 @@
 
 #include "unicode/unistr.h"
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg);
 
index d855731..f691efd 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.ActiveCfg = Debug|Win32
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.Build.0 = Debug|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.ActiveCfg = Debug|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.Build.0 = Debug|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.ActiveCfg = Debug|x64
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.Build.0 = Debug|x64
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.ActiveCfg = Release|Win32
                {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.Build.0 = Release|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.ActiveCfg = Release|Win32
-               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.Build.0 = Release|Win32
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.ActiveCfg = Release|x64
+               {721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 2e29537..0cd1e17 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{721FBD47-E458-4C35-90DA-FF192907D5E2}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
       <TypeLibraryName>.\x86\Debug/numfmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/numfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/numfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/numfmt.pdb</ProgramDatabaseFile>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/numfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/numfmt.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/numfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/numfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/numfmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/numfmt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/numfmt.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/numfmt.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/numfmt.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index f5db0e1..ad6f008 100644 (file)
@@ -13,6 +13,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+using namespace icu;
+
 enum {
     U_SPACE=0x20,
     U_DQUOTE=0x22,
index b1c2679..8c048fc 100644 (file)
@@ -11,6 +11,8 @@
 #include "unicode/unistr.h"
 #include "unicode/fmtable.h"
 
+using namespace icu;
+
 #ifndef UPRV_LENGTHOF 
 #define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0])) 
 #endif 
index 87d77e3..c4c2879 100644 (file)
 #include "unicode/plurfmt.h"
 #include "unicode/msgfmt.h"
 #include "unicode/ustdio.h"
-//! [PluralFormatExample1] 
+//! [PluralFormatExample1]
 
 using namespace std;
+using namespace icu;
+
 static void PluralFormatExample() {
          
        u_printf("=============================================================================\n");
index 1276c9a..859213e 100644 (file)
@@ -1,33 +1,33 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B500B731-ED1A-4761-94ED-B22DFE25FF2B}</ProjectGuid>
-    <RootNamespace>plurfmtsample</RootNamespace>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\x86\debug</OutDir>
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <IntDir>.\x86\debug</IntDir>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>.\x64\Debug\</OutDir>
+    <IntDir>.\x64\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\x86\release</OutDir>
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <IntDir>.\x86\release</IntDir>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>.\x64\Release\</OutDir>
+    <IntDir>.\x64\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <OutputFile>.\x86\debug/plurfmtsample.exe</OutputFile>
+      <OutputFile>.\x86\Debug\plurfmtsample.exe</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>.\x64\Debug\plurfmtsample.exe</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>MaxSpeed</Optimization>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <OutputFile>.\x86\Release\plurfmtsample.exe</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <OutputFile>.\x86\debug/plurfmtsample.exe</OutputFile>
+      <OutputFile>.\x64\Release\plurfmtsample.exe</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="plurfmtsample.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\io\io.vcxproj">
-      <Project>{c2b04507-2521-4801-bf0d-5fd79d6d518c}</Project>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 065009c..7027a11 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.ActiveCfg = Debug|Win32
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.Build.0 = Debug|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.ActiveCfg = Debug|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.Build.0 = Debug|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.ActiveCfg = Debug|x64
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.Build.0 = Debug|x64
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.ActiveCfg = Release|Win32
                {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.Build.0 = Release|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.ActiveCfg = Release|Win32
-               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.Build.0 = Release|Win32
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.ActiveCfg = Release|x64
+               {ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 488fe6e..839cec9 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -89,7 +54,6 @@
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/props.exe</OutputFile>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/props.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
+      
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/props.exe</OutputFile>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/props.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
+      
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index efd7d65..399eb2f 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.ActiveCfg = Debug|Win32
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.Build.0 = Debug|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.ActiveCfg = Debug|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.Build.0 = Debug|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.ActiveCfg = Debug|x64
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.Build.0 = Debug|x64
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.ActiveCfg = Release|Win32
                {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.Build.0 = Release|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.ActiveCfg = Release|Win32
-               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.Build.0 = Release|Win32
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.ActiveCfg = Release|x64
+               {E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 67efde7..35ea8ae 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/strsrch.pch</PrecompiledHeaderOutputFile>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/strsrch.exe</OutputFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/strsrch.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/strsrch.pch</PrecompiledHeaderOutputFile>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/strsrch.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/strsrch.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/strsrch.pch</PrecompiledHeaderOutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/strsrch.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/strsrch.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/strsrch.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/strsrch.pch</PrecompiledHeaderOutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/strsrch.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 6b74f1b..382e4c6 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.ActiveCfg = Debug|Win32
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.Build.0 = Debug|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.ActiveCfg = Debug|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.Build.0 = Debug|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.ActiveCfg = Debug|x64
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.Build.0 = Debug|x64
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.ActiveCfg = Release|Win32
                {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.Build.0 = Release|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.ActiveCfg = Release|Win32
-               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.Build.0 = Release|Win32
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.ActiveCfg = Release|x64
+               {D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 2e63d9b..6925f30 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{D1BEC124-303A-4F44-BA70-55769B8FE96A}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/translit.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/translit.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/translit.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/translit.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/translit.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/translit.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/translit.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/translit.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/translit.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/translit.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/translit.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/translit.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/translit.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/translit.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/translit.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 71521b5..568cc67 100644 (file)
@@ -11,6 +11,8 @@
 #include "unicode/translit.h"
 #include "unicode/normlzr.h"
 
+using namespace icu;
+
 class UnaccentTransliterator : public Transliterator {
     
  public:
index fc00c4f..6f38729 100644 (file)
@@ -12,6 +12,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg) {
     if (U_FAILURE(status)) {
index dcd6384..5ff6c02 100644 (file)
@@ -10,6 +10,8 @@
 
 #include "unicode/unistr.h"
 
+using namespace icu;
+
 // Verify that a UErrorCode is successful; exit(1) if not
 void check(UErrorCode& status, const char* msg);
 
index 6ad99e5..8fe98ff 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.ActiveCfg = Debug|Win32
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.Build.0 = Debug|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.ActiveCfg = Debug|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.Build.0 = Debug|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.ActiveCfg = Debug|x64
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.Build.0 = Debug|x64
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.ActiveCfg = Release|Win32
                {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.Build.0 = Release|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.ActiveCfg = Release|Win32
-               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.Build.0 = Release|Win32
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.ActiveCfg = Release|x64
+               {94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 194a1d3..0318e70 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/uciter8.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/uciter8.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/uciter8.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/uciter8.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/uciter8.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/uciter8.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/uciter8.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/uciter8.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/uciter8.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/uciter8.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/uciter8.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/uciter8.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/uciter8.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/uciter8.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/uciter8.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index e7f8303..5f8778b 100644 (file)
@@ -551,7 +551,7 @@ uiter_setLenient8(UCharIterator *iter, const char *s, int32_t length) {
             if(length>=0) {
                 iter->limit=length;
             } else {
-                iter->limit=strlen(s);
+                iter->limit=(int32_t)strlen(s);
             }
             iter->length= iter->limit<=1 ? iter->limit : -1;
         } else {
index 7194e6d..a692b77 100644 (file)
@@ -130,7 +130,7 @@ void printBytes(const char  *name = "?",
   int32_t i;
 
   if( (len == -1) && (uch) ) {
-    len = strlen(uch);
+    len = static_cast<int32_t>(strlen(uch));
   }
 
   printf("%5s: ", name);
@@ -329,7 +329,7 @@ UErrorCode convsample_05()
 
   // grab another buffer's worth
   while((!feof(f)) && 
-        ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
+        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
   {
     // Convert bytes to unicode
     source = inBuf;
@@ -424,7 +424,7 @@ UErrorCode convsample_06()
   info = (CharFreqInfo*)malloc(sizeof(CharFreqInfo) * charCount);
   if(!info)
   {
-    fprintf(stderr, " Couldn't allocate %d bytes for freq counter\n", sizeof(CharFreqInfo)*charCount);
+    fprintf(stderr, " Couldn't allocate %d bytes for freq counter\n", static_cast<int>(sizeof(CharFreqInfo)*charCount));
   }
 
   /* reset frequencies */
@@ -444,7 +444,7 @@ UErrorCode convsample_06()
 
   // grab another buffer's worth
   while((!feof(f)) && 
-        ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
+        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
   {
     // Convert bytes to unicode
     source = inBuf;
@@ -545,7 +545,7 @@ UErrorCode convsample_12()
   // convert to Unicode
   // Note: we can use strlen, we know it's an 8 bit null terminated codepage
   target[6] = 0xFDCA;
-  len = ucnv_toUChars(conv, target, 100, source, strlen(source), &status);
+  len = ucnv_toUChars(conv, target, 100, source, static_cast<int32_t>(strlen(source)), &status);
   U_ASSERT(status);
   // close the converter
   ucnv_close(conv);
@@ -553,7 +553,7 @@ UErrorCode convsample_12()
   // ***************************** END SAMPLE ********************
   
   // Print it out
-  printBytes("src", source, strlen(source) );
+  printBytes("src", source, static_cast<int32_t>(strlen(source)) );
   printf("\n");
   printUChars("targ", target, len);
 
@@ -590,7 +590,7 @@ UErrorCode convsample_13()
   // **************************** START SAMPLE *******************
 
 
-  printBytes("src",source,sourceLimit-source);
+  printBytes("src", source, static_cast<int32_t>(sourceLimit - source));
 
   while(source < sourceLimit)
   {
@@ -640,7 +640,7 @@ UBool convsample_20_didSubstitute(const char *source)
   conv = ucnv_open("utf-8", &status);
   U_ASSERT(status);
 
-  len = ucnv_toUChars(conv, uchars, 100, source, strlen(source), &status);
+  len = ucnv_toUChars(conv, uchars, 100, source, static_cast<int32_t>(strlen(source)), &status);
   U_ASSERT(status);
  
   printUChars("uch", uchars, len);
@@ -719,7 +719,6 @@ UBool convsample_21_didSubstitute(const char *source)
   UConverter *conv = NULL, *cloneCnv = NULL;
   UErrorCode status = U_ZERO_ERROR;
   uint32_t len, len2;
-  int32_t  cloneLen;
   UBool  flagVal = FALSE;
   UConverterFromUCallback junkCB;
   
@@ -741,7 +740,7 @@ UBool convsample_21_didSubstitute(const char *source)
   conv = ucnv_open("utf-8", &status);
   U_ASSERT(status);
 
-  len = ucnv_toUChars(conv, uchars, 100, source, strlen(source), &status);
+  len = ucnv_toUChars(conv, uchars, 100, source, static_cast<int32_t>(strlen(source)), &status);
   U_ASSERT(status);
  
   printUChars("uch", uchars, len);
@@ -916,7 +915,7 @@ UErrorCode convsample_40()
 
   // grab another buffer's worth
   while((!feof(f)) && 
-        ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
+        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
   {
     inbytes += count;
 
@@ -950,9 +949,8 @@ UErrorCode convsample_40()
 
         // Process the Unicode
         // Todo: handle UTF-16/surrogates
-        assert(fwrite(uBuf, sizeof(uBuf[0]), (target-uBuf), out) ==
-               (size_t)(target-uBuf));
-        total += (target-uBuf);
+        assert(fwrite(uBuf, sizeof(uBuf[0]), (target-uBuf), out) == (size_t)(target-uBuf));
+        total += static_cast<uint32_t>((target-uBuf));
     } while (source < sourceLimit); // while simply out of space
   }
 
@@ -1022,7 +1020,7 @@ UErrorCode convsample_46()
 
   // grab another buffer's worth
   while((!feof(f)) && 
-        ((count=fread(inBuf, sizeof(UChar), BUFFERSIZE , f)) > 0) )
+        ((count=static_cast<int32_t>(fread(inBuf, sizeof(UChar), BUFFERSIZE , f))) > 0) )
   {
     inchars += count;
 
@@ -1055,13 +1053,12 @@ UErrorCode convsample_46()
         }
 
         // Process the Unicode
-        assert(fwrite(buf, sizeof(buf[0]), (target-buf), out) ==
-               (size_t)(target-buf));
-        total += (target-buf);
+        assert(fwrite(buf, sizeof(buf[0]), (target-buf), out) == (size_t)(target-buf));
+        total += static_cast<uint32_t>((target-buf));
     } while (source < sourceLimit); // while simply out of space
   }
 
-  printf("%d Uchars (%d bytes) in, %d chars out.\n", inchars, inchars * sizeof(UChar), total);
+  printf("%d Uchars (%d bytes) in, %d chars out.\n", inchars, static_cast<int>(inchars * sizeof(UChar)), total);
   
   // ***************************** END SAMPLE ********************
   ucnv_close(conv);
index 0ae26ff..40673e3 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.ActiveCfg = Debug|Win32
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.Build.0 = Debug|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.ActiveCfg = Debug|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.Build.0 = Debug|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.ActiveCfg = Debug|x64
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.Build.0 = Debug|x64
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.ActiveCfg = Release|Win32
                {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.Build.0 = Release|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.ActiveCfg = Release|Win32
-               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.Build.0 = Release|Win32
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.ActiveCfg = Release|x64
+               {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 796c700..50dec38 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{8C95060E-61F5-464E-BB42-95B788C0D7E4}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/ucnv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/ucnv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/ucnv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/ucnv.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/ucnv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/ucnv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/ucnv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/ucnv.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/ucnv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/ucnv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/ucnv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/ucnv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/ucnv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/ucnv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/ucnv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 0faeeb6..671ba15 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\reader_Win32_Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\reader_Win32_Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\reader_Win32_Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\reader_Win32_Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>.\x64\Debug\</OutDir>
+    <IntDir>.\x64\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>.\x64\Release\</OutDir>
+    <IntDir>.\x64\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\reader_Win32_Debug/reader.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\reader_Win32_Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\reader_Win32_Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\reader_Win32_Debug/reader.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\reader_Win32_Debug/reader.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\reader_Win32_Debug/reader.tlb</TypeLibraryName>
+      <TypeLibraryName>.\reader_x64_Debug/reader.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\reader_Win32_Debug/reader.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\reader_Win32_Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\reader_Win32_Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\reader_Win32_Debug/</ProgramDataBaseFileName>
+      <PrecompiledHeaderOutputFile>.\reader_x64_Debug/reader.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\reader_x64_Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\reader_x64_Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\reader_x64_Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\reader_x64_Debug/reader.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\reader_Win32_Debug/reader.pdb</ProgramDatabaseFile>
+      <ProgramDatabaseFile>.\reader_x64_Debug/reader.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\reader_Win32_Release/reader.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\reader_Win32_Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\reader_Win32_Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\reader_Win32_Release/reader.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\reader_Win32_Release/reader.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\reader_Win32_Release/reader.tlb</TypeLibraryName>
+      <TypeLibraryName>.\reader_x64_Release/reader.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\reader_Win32_Release/reader.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\reader_Win32_Release/</AssemblerListingLocation>
-      <ObjectFileName>.\reader_Win32_Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\reader_Win32_Release/</ProgramDataBaseFileName>
+      <PrecompiledHeaderOutputFile>.\reader_x64_Release/reader.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\reader_x64_Release/</AssemblerListingLocation>
+      <ObjectFileName>.\reader_x64_Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\reader_x64_Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\reader_x64_Release/reader.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>.\reader_Win32_Release/reader.pdb</ProgramDatabaseFile>
+      <ProgramDatabaseFile>.\reader_x64_Release/reader.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index a3b2fd3..8a3747d 100644 (file)
@@ -14,20 +14,20 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.ActiveCfg = Debug|Win32
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.Build.0 = Debug|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.ActiveCfg = Debug|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.Build.0 = Debug|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.ActiveCfg = Debug|x64
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.Build.0 = Debug|x64
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.ActiveCfg = Release|Win32
                {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.Build.0 = Release|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.ActiveCfg = Release|Win32
-               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.Build.0 = Release|Win32
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.ActiveCfg = Release|x64
+               {BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.Build.0 = Release|x64
                {40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.ActiveCfg = Debug|Win32
                {40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.Build.0 = Debug|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.ActiveCfg = Debug|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.Build.0 = Debug|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.ActiveCfg = Debug|x64
+               {40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.Build.0 = Debug|x64
                {40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.ActiveCfg = Release|Win32
                {40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.Build.0 = Release|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.ActiveCfg = Release|Win32
-               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.Build.0 = Release|Win32
+               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.ActiveCfg = Release|x64
+               {40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 80e74ab..f6236b9 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{40A90302-F173-4629-A003-F571D2D93D16}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>.\x64\Debug\</OutDir>
+    <IntDir>.\x64\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>.\x64\Release\</OutDir>
+    <IntDir>.\x64\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/writer.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/writer.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/writer.exe</OutputFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/writer.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/writer.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/writer.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/writer.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/writer.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/writer.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/writer.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/writer.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>.\x64\Release/writer.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\x64\Release\writer.exe</OutputFile>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>.\x64\Release/writer.pdb</ProgramDatabaseFile>
+      <ProgramDatabaseFile>.\x64\Release\writer.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index d860517..707ae6b 100644 (file)
@@ -6,7 +6,7 @@
 #  fortune_resources.mak
 #
 #      Windows nmake makefile for compiling and packaging the resources
-#      for for the ICU sample program "ufortune".
+#      for the ICU sample program "ufortune".
 #
 #      This makefile is normally invoked by the pre-link step in the
 #      MSVC project file for ufortune
@@ -45,7 +45,7 @@ BIN=bin
 #  -t fools make into thinking there are files such as es.res, etc
 #
 .txt.res:
-       $(ICUDIR)\$(BIN)\genrb -d . $*.txt
+    $(ICUDIR)\$(BIN)\genrb -d . $*.txt
 
 #
 #  all - nmake starts here by default
@@ -53,5 +53,5 @@ BIN=bin
 all: fortune_resources.dll
 
 fortune_resources.dll: $(RESFILES)
-       $(ICUDIR)\$(BIN)\pkgdata --name fortune_resources -v --mode dll -d . res-file-list.txt
+    $(ICUDIR)\$(BIN)\pkgdata --name fortune_resources -v --mode dll -d . res-file-list.txt
 
index 481189b..c071818 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.ActiveCfg = Debug|Win32
                {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.Build.0 = Debug|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.Build.0 = Debug|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|x64
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.Build.0 = Debug|x64
                {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.ActiveCfg = Release|Win32
                {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.Build.0 = Release|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|Win32
-               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.Build.0 = Release|Win32
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|x64
+               {25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index ff1760a..7eb88ca 100644 (file)
@@ -1,51 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{25F534DF-93C9-4853-A88E-DB7D8CF74042}</ProjectGuid>
     <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
   </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>.\x86\Debug\</OutDir>
+    <IntDir>.\x86\Debug\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>.\x86\Release\</OutDir>
+    <IntDir>.\x86\Release\</IntDir>
+    <TargetName>$(ProjectName)</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeaderOutputFile>.\x86\Debug/ufortune.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\x86\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;resources\fortune_resources.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>.\x86\Debug/ufortune.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\x86\Debug/ufortune.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
     </Link>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\x64\Debug/ufortune.tlb</TypeLibraryName>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeaderOutputFile>.\x64\Debug/ufortune.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\x64\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>Default</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>icuucd.lib;resources\fortune_resources.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>.\x64\Debug/ufortune.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\x64\Debug/ufortune.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Release/ufortune.tlb</TypeLibraryName>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeaderOutputFile>.\x86\Release/ufortune.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\x86\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>icuuc.lib;resources\fortune_resources.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>.\x86\Release/ufortune.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>.\x86\Release/ufortune.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\x64\Release/ufortune.tlb</TypeLibraryName>
-    </Midl>
-    <ClCompile>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeaderOutputFile>.\x64\Release/ufortune.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\x64\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <PrecompiledHeaderFile />
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;resources\fortune_resources.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>.\x64\Release/ufortune.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>.\x64\Release/ufortune.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
@@ -245,24 +119,14 @@ nmake -f fortune_resources.mak CFG=x86\Debug
 copy Fortune_Resources.DLL "$(TargetDir)"
 </Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cd resources
-nmake -f fortune_resources.mak CFG=x64\Debug
-copy Fortune_Resources.DLL "$(TargetDir)"
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cd resources
 nmake -f fortune_resources.mak CFG=x86\Release
 copy Fortune_Resources.DLL "$(TargetDir)"
 </Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cd resources
-nmake -f fortune_resources.mak CFG=x64\Release
-copy Fortune_Resources.DLL "$(TargetDir)"
-</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
     </CustomBuild>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index b704059..9c2f0bd 100644 (file)
@@ -16,7 +16,7 @@
 //   ugrep  - an ICU sample program illustrating the use of ICU Regular Expressions.
 //
 //            The use of the ICU Regex API all occurs within the main()
-//            function.  The rest of the code deals with with opening files,
+//            function.  The rest of the code deals with opening files,
 //            encoding conversions, printing results, etc.
 //
 //            This is not a full-featured grep program.  The command line options
 #include "unicode/ucnv.h"
 #include "unicode/uclean.h"
 
+using namespace icu;
 
 //
-//  The following variables contain paramters that may be set from the command line.
+//  The following variables contain parameters that may be set from the command line.
 //
 const char *pattern = NULL;     // The regular expression
 int        firstFileNum;        //  argv index of the first file name
@@ -95,7 +96,7 @@ int main(int argc, const char** argv) {
     UBool     matchFound = FALSE;
 
     //
-    //  Process the commmand line options.
+    //  Process the command line options.
     //
     processOptions(argc, argv);
 
@@ -170,7 +171,7 @@ int main(int argc, const char** argv) {
 //   doOptions          Run through the command line options, and set
 //                      the global variables accordingly.
 //
-//                      exit without returning if an error occured and
+//                      exit without returning if an error occurred and
 //                      ugrep should not proceed further.
 //
 //------------------------------------------------------------------------------------------
@@ -290,7 +291,7 @@ void readFile(const char *name) {
     //   Read in the file
     //
     charBuf    = (char *)realloc(charBuf, rawFileLen+1);   // Need error checking...
-    int t = fread(charBuf, 1, rawFileLen, file);
+    int t = static_cast<int>(fread(charBuf, 1, rawFileLen, file));
     if (t != rawFileLen)  {
         fprintf(stderr, "Error reading file \"%s\"\n", fileName);
         fclose(file);
@@ -371,7 +372,7 @@ void readFile(const char *name) {
 //
 //   nextLine           Advance the line index variables, starting at the
 //                      specified position in the input file buffer, by
-//                      scanning forwrd until the next end-of-line.
+//                      scanning forward until the next end-of-line.
 //
 //                      Need to take into account all of the possible Unicode
 //                      line ending sequences.
index a532698..be16908 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.ActiveCfg = Debug|Win32
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.Build.0 = Debug|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.ActiveCfg = Debug|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.Build.0 = Debug|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.ActiveCfg = Debug|x64
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.Build.0 = Debug|x64
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.ActiveCfg = Release|Win32
                {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.Build.0 = Release|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.ActiveCfg = Release|Win32
-               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.Build.0 = Release|Win32
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.ActiveCfg = Release|x64
+               {63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 1d42f57..799f821 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{63166CEB-02CC-472C-B3B7-E6C559939BDA}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
       <Optimization>MaxSpeed</Optimization>
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/ugrep.pch</PrecompiledHeaderOutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/ugrep.tlb</TypeLibraryName>
       <HeaderFileName>
       </HeaderFileName>
       <Optimization>MaxSpeed</Optimization>
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/ugrep.pch</PrecompiledHeaderOutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/ugrep.pch</PrecompiledHeaderOutputFile>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/ugrep.exe</OutputFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/ugrep.tlb</TypeLibraryName>
       <HeaderFileName>
       </HeaderFileName>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/ugrep.pch</PrecompiledHeaderOutputFile>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/ugrep.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/ugrep.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="ugrep.cpp">
-      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
-      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
-      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
+    <ClCompile Include="ugrep.cpp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index e121cea..55e61b4 100644 (file)
@@ -1,38 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{69437707-2FEF-4E2C-8C3F-6E6B3D241366}</ProjectGuid>
     <Keyword>MakeFileProj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Makefile</ConfigurationType>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Makefile</ConfigurationType>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Makefile</ConfigurationType>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Makefile</ConfigurationType>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index c17a5a6..8020fbb 100644 (file)
@@ -17,20 +17,20 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.ActiveCfg = Debug|Win32
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.Build.0 = Debug|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.ActiveCfg = Debug|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.Build.0 = Debug|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.ActiveCfg = Debug|x64
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.Build.0 = Debug|x64
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.ActiveCfg = Release|Win32
                {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.Build.0 = Release|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.ActiveCfg = Release|Win32
-               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.Build.0 = Release|Win32
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.ActiveCfg = Release|x64
+               {69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.Build.0 = Release|x64
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.ActiveCfg = Debug|Win32
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.Build.0 = Debug|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.ActiveCfg = Debug|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.Build.0 = Debug|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.ActiveCfg = Debug|x64
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.Build.0 = Debug|x64
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.ActiveCfg = Release|Win32
                {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.Build.0 = Release|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.ActiveCfg = Release|Win32
-               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.Build.0 = Release|Win32
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.ActiveCfg = Release|x64
+               {92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index f5a2f22..6fdd4d8 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{92580BF4-F4DA-4024-B3F8-444F982BC72F}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Release/uresb.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/uresb.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0c1a</Culture>
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;icuio.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/uresb.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/uresb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/uresb.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/uresb.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0c1a</Culture>
     </ResourceCompile>
     <Link>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
+      
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
       <TypeLibraryName>.\x86\Debug/uresb.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/uresb.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0c1a</Culture>
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/uresb.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/uresb.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/uresb.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/uresb.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0c1a</Culture>
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/uresb.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>../../../lib64/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/uresb.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index af25e20..4f0101d 100644 (file)
@@ -31,6 +31,8 @@
 #include "unicode/ucnv.h"
 #include "unicode/unistr.h"
 
+using namespace icu;
+
 #ifndef UPRV_LENGTHOF
 #define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
 #endif
index 265ca53..a096407 100644 (file)
@@ -12,12 +12,12 @@ Global
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.ActiveCfg = Debug|Win32
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.Build.0 = Debug|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.ActiveCfg = Debug|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.Build.0 = Debug|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.ActiveCfg = Debug|x64
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.Build.0 = Debug|x64
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.ActiveCfg = Release|Win32
                {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.Build.0 = Release|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.ActiveCfg = Release|Win32
-               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.Build.0 = Release|Win32
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.ActiveCfg = Release|x64
+               {FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 9196a82..10316fc 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Release/ustring.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Release/ustring.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Release/ustring.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/ustring.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/ustring.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Release/ustring.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Release/ustring.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/ustring.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
       <TypeLibraryName>.\x86\Debug/ustring.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x86\Debug/ustring.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x86\Debug/ustring.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/ustring.pdb</ProgramDatabaseFile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/ustring.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeader>
       </PrecompiledHeader>
       <PrecompiledHeaderOutputFile>.\x64\Debug/ustring.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\x64\Debug/ustring.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/ustring.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index f296c11..971d512 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{203EC78A-0531-43F0-A636-285439BDE025}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
   </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <TypeLibraryName>.\x86\Release\icudt.tlb</TypeLibraryName>
-    </Midl>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
     <ClCompile>
       <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <ExceptionHandling>
-      </ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PreprocessorDefinitions>STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <PrecompiledHeaderOutputFile>.\x86\Release\stubdata.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\x86\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
+      <PreprocessorDefinitions>STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ResourceCompile>
     <PreLinkEvent>
       <Command>echo "File with stubdata build time, used as a dependency to trigger fresh data build, since stubdata dll will overwrite the real one." &gt; "$(ProjectDir)stubdatabuilt.txt"</Command>
     </PreLinkEvent>
     <Link>
-      <OutputFile>..\..\bin\icudt60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
-      <ProgramDatabaseFile>.\x86\Release\icudt.pdb</ProgramDatabaseFile>
+      <BaseAddress>0x4ad00000</BaseAddress>
       <NoEntryPoint>true</NoEntryPoint>
       <SetChecksum>true</SetChecksum>
-      <BaseAddress>0x4ad00000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
+    </Link>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Debug' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
+    <ClCompile>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <!-- Options that are common to all 'Release' project configurations -->
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
+    <ClCompile>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Midl>
+      <TypeLibraryName>.\x86\Release\icudt.tlb</TypeLibraryName>
+    </Midl>
+    <ClCompile>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <PrecompiledHeaderOutputFile>.\x86\Release\stubdata.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\x86\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <OutputFile>..\..\bin\icudt61.dll</OutputFile>
+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+      <ProgramDatabaseFile>.\x86\Release\icudt.pdb</ProgramDatabaseFile>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
       <ImportLibrary>..\..\lib\icudt.lib</ImportLibrary>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\x86\Debug/icudt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/stubdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <PreLinkEvent>
-      <Command>echo "File with stubdata build time, used as a dependency to trigger fresh data build, since stubdata dll will overwrite the real one." &gt; "$(ProjectDir)stubdatabuilt.txt"</Command>
-    </PreLinkEvent>
     <Link>
-      <OutputFile>..\..\bin\icudt60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin\icudt61.dll</OutputFile>
       <ProgramDatabaseFile>.\x86\Debug/icudt.pdb</ProgramDatabaseFile>
-      <NoEntryPoint>true</NoEntryPoint>
-      <SetChecksum>true</SetChecksum>
-      <BaseAddress>0x4ad00000</BaseAddress>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
       <ImportLibrary>..\..\lib\icudt.lib</ImportLibrary>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release\icudt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <ExceptionHandling>
       </ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release\stubdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <PreLinkEvent>
-      <Command>echo "File with stubdata build time, used as a dependency to trigger fresh data build, since stubdata dll will overwrite the real one." &gt; "$(ProjectDir)stubdatabuilt.txt"</Command>
-    </PreLinkEvent>
     <Link>
-      <OutputFile>..\..\bin64\icudt60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icudt61.dll</OutputFile>
       <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
       <ProgramDatabaseFile>.\x64\Release\icudt.pdb</ProgramDatabaseFile>
-      <NoEntryPoint>true</NoEntryPoint>
-      <SetChecksum>true</SetChecksum>
-      <BaseAddress>0x4ad00000</BaseAddress>
-      <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
       <ImportLibrary>..\..\lib64\icudt.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/icudt.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/stubdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;STUBDATA_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <PreLinkEvent>
-      <Command>echo "File with stubdata build time, used as a dependency to trigger fresh data build, since stubdata dll will overwrite the real one." &gt; "$(ProjectDir)stubdatabuilt.txt"</Command>
-    </PreLinkEvent>
     <Link>
-      <OutputFile>..\..\bin64\icudt60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\bin64\icudt61.dll</OutputFile>
       <ProgramDatabaseFile>.\x64\Debug/icudt.pdb</ProgramDatabaseFile>
-      <NoEntryPoint>true</NoEntryPoint>
-      <SetChecksum>true</SetChecksum>
-      <BaseAddress>0x4ad00000</BaseAddress>
-      <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
       <ImportLibrary>..\..\lib64\icudt.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\data\misc\icudata.rc">
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7f03cb1..205e9fb 100644 (file)
@@ -111,7 +111,7 @@ static void TestCalendar()
     UDateFormat *datdef = 0;
     UChar *result = 0;
     int32_t resultlength, resultlengthneeded;
-    char tempMsgBuf[256];
+    char tempMsgBuf[1024];  // u_austrcpy() of some formatted dates & times.
     UChar zone1[32], zone2[32];
     const char *tzver = 0;
     UChar canonicalID[64];
index 8b926f3..f64f9d2 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{3D1246AE-1B32-479B-BECA-AEFA97BE2321}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;..\..\i18n;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/cintltst.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;..\..\i18n;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/cintltst.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug/cintltst.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Debug/cintltst.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <TypeLibraryName>.\x86\Release/cintltst.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;..\..\i18n;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/cintltst.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release/cintltst.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Release/cintltst.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/cintltst.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;..\..\i18n;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/cintltst.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug/cintltst.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Debug/cintltst.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
       <FixedBaseAddress>false</FixedBaseAddress>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/cintltst.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;..\..\i18n;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/cintltst.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release/cintltst.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Release/cintltst.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="cturtst.c" />
     <ClCompile Include="encoll.c" />
     <ClCompile Include="usrchdat.c">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild>true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="usrchtst.c" />
     <ClCompile Include="chashtst.c" />
     <ClCompile Include="stdnmtst.c" />
     <ClCompile Include="ucnvseltst.c" />
     <ClCompile Include="ucsdetst.c" />
-    <ClCompile Include="udatatst.c">
-    </ClCompile>
+    <ClCompile Include="udatatst.c"/>
     <ClCompile Include="ccaltst.c" />
     <ClCompile Include="cdateintervalformattest.c" />
     <ClCompile Include="cdattst.c" />
     <ClInclude Include="cucdapi.h" />
     <ClInclude Include="nfsprep.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index e2cd68a..d11cca7 100644 (file)
@@ -2372,7 +2372,7 @@ static const NumSysTestItem numSysTestItems[] = {
     { "en",                          "latn",    10,  FALSE,  latnDesc },
     { "en@numbers=roman",            "roman",   10,  TRUE,   romanDesc },
     { "en@numbers=finance",          "latn",    10,  FALSE,  latnDesc },
-    { "ar",                          "arab",    10,  FALSE,  arabDesc },
+    { "ar-EG",                       "arab",    10,  FALSE,  arabDesc },
     { "fa",                          "arabext", 10,  FALSE,  arabextDesc },
     { "zh_Hans@numbers=hanidec",     "hanidec", 10,  FALSE,  hanidecDesc },
     { "zh_Hant@numbers=traditional", "hant",    10,  TRUE,   hantDesc },
index 48717c1..098cd46 100644 (file)
@@ -2129,7 +2129,7 @@ static void TestFallback()
         UResourceBundle* tResB;
         UResourceBundle* zoneResource;
         const UChar* version = NULL;
-        static const UChar versionStr[] = { 0x0032, 0x002E, 0x0031, 0x002E, 0x0033, 0x0031, 0x002E, 0x0033, 0x0033, 0x0000}; // 2.1.31.33 in nn_NO
+        static const UChar versionStr[] = { 0x0032, 0x002E, 0x0031, 0x002E, 0x0033, 0x0038, 0x002E, 0x0036, 0x0039, 0x0000}; // 2.1.38.69 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 788aa80..67b53a6 100644 (file)
@@ -60,7 +60,6 @@ static void TestNumericProperties(void);
 static void TestPropertyNames(void);
 static void TestPropertyValues(void);
 static void TestConsistency(void);
-static void TestUBiDiProps(void);
 static void TestCaseFolding(void);
 
 /* internal methods used */
@@ -196,7 +195,6 @@ void addUnicodeTest(TestNode** root)
     addTest(root, &TestPropertyNames, "tsutil/cucdtst/TestPropertyNames");
     addTest(root, &TestPropertyValues, "tsutil/cucdtst/TestPropertyValues");
     addTest(root, &TestConsistency, "tsutil/cucdtst/TestConsistency");
-    addTest(root, &TestUBiDiProps, "tsutil/cucdtst/TestUBiDiProps");
     addTest(root, &TestCaseFolding, "tsutil/cucdtst/TestCaseFolding");
 }
 
@@ -3302,59 +3300,6 @@ TestConsistency() {
     uset_close(set2);
 }
 
-/*
- * Starting with ICU4C 3.4, the core Unicode properties files
- * (uprops.icu, ucase.icu, ubidi.icu, unorm.icu)
- * are hardcoded in the common DLL and therefore not included
- * in the data package any more.
- * Test requiring these files are disabled so that
- * we need not jump through hoops (like adding snapshots of these files
- * to testdata).
- * See Jitterbug 4497.
- */
-#define HARDCODED_DATA_4497 1
-
-/* API coverage for ubidi_props.c */
-static void TestUBiDiProps() {
-#if !HARDCODED_DATA_4497
-    UDataMemory *pData;
-    UBiDiProps *bdp;
-    const UBiDiProps *cbdp;
-    UErrorCode errorCode;
-
-    /* coverage for ubidi_openBinary() */
-    errorCode=U_ZERO_ERROR;
-    pData=udata_open(NULL, UBIDI_DATA_TYPE, UBIDI_DATA_NAME, &errorCode);
-    if(U_FAILURE(errorCode)) {
-        log_data_err("unable to open " UBIDI_DATA_NAME "." UBIDI_DATA_TYPE ": %s\n",
-                    u_errorName(errorCode));
-        return;
-    }
-
-    bdp=ubidi_openBinary((const uint8_t *)pData->pHeader, -1, &errorCode);
-    if(U_FAILURE(errorCode)) {
-        log_err("ubidi_openBinary() fails for the contents of " UBIDI_DATA_NAME "." UBIDI_DATA_TYPE ": %s\n",
-                u_errorName(errorCode));
-        udata_close(pData);
-        return;
-    }
-
-    if(0x2215!=ubidi_getMirror(bdp, 0x29F5)) { /* verify some data */
-        log_err("ubidi_openBinary() does not seem to return working UBiDiProps\n");
-    }
-
-    ubidi_closeProps(bdp);
-    udata_close(pData);
-
-    /* coverage for ubidi_getDummy() */
-    errorCode=U_ZERO_ERROR;
-    cbdp=ubidi_getDummy(&errorCode);
-    if(ubidi_getClass(cbdp, 0x20)!=0) {
-        log_err("ubidi_getClass(dummy, space)!=0\n");
-    }
-#endif
-}
-
 /* test case folding, compare return values with CaseFolding.txt ------------ */
 
 /* bit set for which case foldings for a character have been tested already */
index 8895c50..2338a2f 100644 (file)
@@ -42,12 +42,14 @@ static void TestOpenClose(void);
 static void TestUsage(void);
 static void TestBuilder(void);
 static void TestOptions(void);
+static void TestGetFieldDisplayNames(void);
 
 void addDateTimePatternGeneratorTest(TestNode** root) {
     TESTCASE(TestOpenClose);
     TESTCASE(TestUsage);
     TESTCASE(TestBuilder);
     TESTCASE(TestOptions);
+    TESTCASE(TestGetFieldDisplayNames);
 }
 
 /*
@@ -438,4 +440,74 @@ static void TestOptions() {
     }
 }
 
+typedef struct FieldDisplayNameData {
+    const char *            locale;
+    UDateTimePatternField   field;
+    UDateTimePGDisplayWidth width;
+    const char *            expected;
+} FieldDisplayNameData;
+enum { kFieldDisplayNameMax = 32, kFieldDisplayNameBytesMax  = 64};
+
+static void TestGetFieldDisplayNames() {
+    const FieldDisplayNameData testData[] = {
+        /*loc      field                              width               expectedName */
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_WIDE,        "Quartal" },
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_ABBREVIATED, "Quart." },
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_NARROW,      "Q" },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_WIDE,        "weekday of the month" },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_ABBREVIATED, "wkday. of mo." },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_NARROW,      "wkday. of mo." }, // fallback
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_WIDE,        "weekday of the month" },
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_ABBREVIATED, "wkday of mo" }, // override
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_NARROW,      "wkday of mo" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_WIDE,        "secondo" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_ABBREVIATED, "s" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_NARROW,      "s" },
+    };
+
+    int count = UPRV_LENGTHOF(testData);
+    const FieldDisplayNameData * 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 {
+            UChar expName[kFieldDisplayNameMax];
+            UChar getName[kFieldDisplayNameMax];
+            u_unescape(testDataPtr->expected, expName, kFieldDisplayNameMax);
+            
+            int32_t getLen = udatpg_getFieldDisplayName(dtpgen, testDataPtr->field, testDataPtr->width,
+                                                        getName, kFieldDisplayNameMax, &status);
+            if ( U_FAILURE(status) ) {
+                log_err("ERROR udatpg_getFieldDisplayName locale %s field %d width %d, got status %s, len %d\n",
+                        testDataPtr->locale, testDataPtr->field, testDataPtr->width, u_errorName(status), getLen);
+            } else if ( u_strncmp(expName, getName, kFieldDisplayNameMax) != 0 ) {
+                char expNameB[kFieldDisplayNameBytesMax];
+                char getNameB[kFieldDisplayNameBytesMax];
+                log_err("ERROR udatpg_getFieldDisplayName locale %s field %d width %d, expected %s, got %s, status %s\n",
+                        testDataPtr->locale, testDataPtr->field, testDataPtr->width,
+                        u_austrncpy(expNameB,expName,kFieldDisplayNameBytesMax),
+                        u_austrncpy(getNameB,getName,kFieldDisplayNameBytesMax), u_errorName(status) );
+            } else if (testDataPtr->width == UDATPG_WIDE && getLen > 1) {
+                // test preflight & inadequate buffer
+                int32_t getNewLen;
+                status = U_ZERO_ERROR;
+                getNewLen = udatpg_getFieldDisplayName(dtpgen, testDataPtr->field, UDATPG_WIDE, NULL, 0, &status);
+                if (U_FAILURE(status) || getNewLen != getLen) {
+                    log_err("ERROR udatpg_getFieldDisplayName locale %s field %d width %d, preflight expected len %d, got %d, status %s\n",
+                        testDataPtr->locale, testDataPtr->field, testDataPtr->width, getLen, getNewLen, u_errorName(status) );
+                }
+                status = U_ZERO_ERROR;
+                getNewLen = udatpg_getFieldDisplayName(dtpgen, testDataPtr->field, UDATPG_WIDE, getName, getLen-1, &status);
+                if (status!=U_BUFFER_OVERFLOW_ERROR || getNewLen != getLen) {
+                    log_err("ERROR udatpg_getFieldDisplayName locale %s field %d width %d, overflow expected len %d & BUFFER_OVERFLOW_ERROR, got %d & status %s\n",
+                        testDataPtr->locale, testDataPtr->field, testDataPtr->width, getLen, getNewLen, u_errorName(status) );
+                }
+            }
+            udatpg_close(dtpgen);
+        }
+    }
+}
+
 #endif
index cefbfde..fb8690d 100644 (file)
@@ -122,12 +122,12 @@ static KnownRegion knownRegions[] = {
     { "BS" ,  44, "029", URGN_TERRITORY, "019" },
     { "BT" ,  64, "034", URGN_TERRITORY, "142" },
     { "BU" , 104, "035", URGN_TERRITORY, "142" },
-    { "BV" ,  74, "QO" , URGN_TERRITORY, "009" },
+    { "BV" ,  74, "005", URGN_TERRITORY, "019" },
     { "BW" ,  72, "018", URGN_TERRITORY, "002" },
     { "BY" , 112, "151", URGN_TERRITORY, "150" },
     { "BZ" ,  84, "013", URGN_TERRITORY, "019" },
     { "CA" , 124, "021", URGN_TERRITORY, "019" },
-    { "CC" , 166, "QO" , URGN_TERRITORY, "009" },
+    { "CC" , 166, "053", URGN_TERRITORY, "009" },
     { "CD" , 180, "017", URGN_TERRITORY, "002" },
     { "CF" , 140, "017", URGN_TERRITORY, "002" },
     { "CG" , 178, "017", URGN_TERRITORY, "002" },
@@ -143,7 +143,7 @@ static KnownRegion knownRegions[] = {
     { "CU" , 192, "029", URGN_TERRITORY, "019" },
     { "CV" , 132, "011", URGN_TERRITORY, "002" },
     { "CW" , 531, "029", URGN_TERRITORY, "019" },
-    { "CX" , 162, "QO" , URGN_TERRITORY, "009" },
+    { "CX" , 162, "053", URGN_TERRITORY, "009" },
     { "CY" , 196, "145", URGN_TERRITORY, "142" },
     { "CZ" , 203, "151", URGN_TERRITORY, "150" },
     { "DD" , 276, "155", URGN_TERRITORY, "150" },
@@ -184,13 +184,13 @@ static KnownRegion knownRegions[] = {
     { "GP" , 312, "029", URGN_TERRITORY, "019" },
     { "GQ" , 226, "017", URGN_TERRITORY, "002" },
     { "GR" , 300, "039", URGN_TERRITORY, "150" },
-    { "GS" , 239, "QO" , URGN_TERRITORY, "009" },
+    { "GS" , 239, "005", URGN_TERRITORY, "019" },
     { "GT" , 320, "013", URGN_TERRITORY, "019" },
     { "GU" , 316, "057", URGN_TERRITORY, "009" },
     { "GW" , 624, "011", URGN_TERRITORY, "002" },
     { "GY" , 328, "005", URGN_TERRITORY, "019" },
     { "HK" , 344, "030", URGN_TERRITORY, "142" },
-    { "HM" , 334, "QO" , URGN_TERRITORY, "009" },
+    { "HM" , 334, "053", URGN_TERRITORY, "009" },
     { "HN" , 340, "013", URGN_TERRITORY, "019" },
     { "HR" , 191, "039", URGN_TERRITORY, "150" },
     { "HT" , 332, "029", URGN_TERRITORY, "019" },
@@ -201,7 +201,7 @@ static KnownRegion knownRegions[] = {
     { "IL" , 376, "145", URGN_TERRITORY, "142" },
     { "IM" , 833, "154", URGN_TERRITORY, "150" },
     { "IN" , 356, "034", URGN_TERRITORY, "142" },
-    { "IO" ,  86, "QO" , URGN_TERRITORY, "009" },
+    { "IO" ,  86, "014", URGN_TERRITORY, "002" },
     { "IQ" , 368, "145", URGN_TERRITORY, "142" },
     { "IR" , 364, "034", URGN_TERRITORY, "142" },
     { "IS" , 352, "154", URGN_TERRITORY, "150" },
@@ -316,7 +316,7 @@ static KnownRegion knownRegions[] = {
     { "TA" ,  -1, "QO",  URGN_TERRITORY, "009" },
     { "TC" , 796, "029", URGN_TERRITORY, "019" },
     { "TD" , 148, "017", URGN_TERRITORY, "002" },
-    { "TF" , 260, "QO" , URGN_TERRITORY, "009" },
+    { "TF" , 260, "145", URGN_TERRITORY, "142" },
     { "TG" , 768, "011", URGN_TERRITORY, "002" },
     { "TH" , 764, "035", URGN_TERRITORY, "142" },
     { "TJ" , 762, "143", URGN_TERRITORY, "142" },
@@ -333,7 +333,7 @@ static KnownRegion knownRegions[] = {
     { "TZ" , 834, "014", URGN_TERRITORY, "002" },
     { "UA" , 804, "151", URGN_TERRITORY, "150" },
     { "UG" , 800, "014", URGN_TERRITORY, "002" },
-    { "UM" , 581, "QO" , URGN_TERRITORY, "009" },
+    { "UM" , 581, "057", URGN_TERRITORY, "009" },
     { "US" , 840, "021", URGN_TERRITORY, "019" },
     { "UY" , 858, "005", URGN_TERRITORY, "019" },
     { "UZ" , 860, "143", URGN_TERRITORY, "142" },
index 0bbb5e5..9f4109c 100644 (file)
@@ -94,6 +94,7 @@ static void TestFwdBack(void);
 static void TestFwdBackUnsafe(void);
 static void TestSetChar(void);
 static void TestSetCharUnsafe(void);
+static void TestTruncateIfIncomplete(void);
 static void TestAppendChar(void);
 static void TestAppend(void);
 static void TestSurrogates(void);
@@ -114,6 +115,7 @@ addUTF8Test(TestNode** root)
     addTest(root, &TestFwdBackUnsafe,           "utf8tst/TestFwdBackUnsafe");
     addTest(root, &TestSetChar,                 "utf8tst/TestSetChar");
     addTest(root, &TestSetCharUnsafe,           "utf8tst/TestSetCharUnsafe");
+    addTest(root, &TestTruncateIfIncomplete,    "utf8tst/TestTruncateIfIncomplete");
     addTest(root, &TestAppendChar,              "utf8tst/TestAppendChar");
     addTest(root, &TestAppend,                  "utf8tst/TestAppend");
     addTest(root, &TestSurrogates,              "utf8tst/TestSurrogates");
@@ -755,6 +757,14 @@ static void TestFwdBack() {
     }
 }
 
+/**
+* Ticket #13636 - Visual Studio 2017 has problems optimizing this function.
+* As a workaround, we will turn off optimization just for this function on VS2017 and above.
+*/
+#if defined(_MSC_VER) && (_MSC_VER > 1900)
+#pragma optimize( "", off )
+#endif
+
 static void TestFwdBackUnsafe() {
     /*
      * Use a (mostly) well-formed UTF-8 string and test at code point boundaries.
@@ -840,6 +850,13 @@ static void TestFwdBackUnsafe() {
     }
 }
 
+/**
+* Ticket #13636 - Turn optimization back on.
+*/
+#if defined(_MSC_VER) && (_MSC_VER > 1900)
+#pragma optimize( "", on )
+#endif
+
 static void TestSetChar() {
     static const uint8_t input[]
         = {0x61, 0xe4, 0xba, 0x8c, 0x7f, 0xfe, 0x62, 0xc5, 0x7f, 0x61, 0x80, 0x80, 0xe0, 0x00 };
@@ -927,6 +944,64 @@ static void TestSetCharUnsafe() {
     }
 }
 
+static void TestTruncateIfIncomplete() {
+    // Difference from U8_SET_CP_START():
+    // U8_TRUNCATE_IF_INCOMPLETE() does not look at s[length].
+    // Therefore, if the last byte is a lead byte, then this macro truncates
+    // even if the byte at the input index cannot continue a valid sequence
+    // (including when that is not a trail byte).
+    // On the other hand, if the last byte is a trail byte, then the two macros behave the same.
+    static const struct {
+        const char *s;
+        int32_t expected;
+    } cases[] = {
+        { "", 0 },
+        { "a", 1 },
+        { "\x80", 1 },
+        { "\xC1", 1 },
+        { "\xC2", 0 },
+        { "\xE0", 0 },
+        { "\xF4", 0 },
+        { "\xF5", 1 },
+        { "\x80\x80", 2 },
+        { "\xC2\xA0", 2 },
+        { "\xE0\x9F", 2 },
+        { "\xE0\xA0", 0 },
+        { "\xED\x9F", 0 },
+        { "\xED\xA0", 2 },
+        { "\xF0\x8F", 2 },
+        { "\xF0\x90", 0 },
+        { "\xF4\x8F", 0 },
+        { "\xF4\x90", 2 },
+        { "\xF5\x80", 2 },
+        { "\x80\x80\x80", 3 },
+        { "\xC2\xA0\x80", 3 },
+        { "\xE0\xA0\x80", 3 },
+        { "\xF0\x8F\x80", 3 },
+        { "\xF0\x90\x80", 0 },
+        { "\xF4\x8F\x80", 0 },
+        { "\xF4\x90\x80", 3 },
+        { "\xF5\x80\x80", 3 },
+        { "\x80\x80\x80\x80", 4 },
+        { "\xC2\xA0\x80\x80", 4 },
+        { "\xE0\xA0\x80\x80", 4 },
+        { "\xF0\x90\x80\x80", 4 },
+        { "\xF5\x80\x80\x80", 4 }
+    };
+    int32_t i;
+    for (i = 0; i < UPRV_LENGTHOF(cases); ++i) {
+        const char *s = cases[i].s;
+        int32_t expected = cases[i].expected;
+        int32_t length = (int32_t)strlen(s);
+        int32_t adjusted = length;
+        U8_TRUNCATE_IF_INCOMPLETE(s, 0, adjusted);
+        if (adjusted != expected) {
+            log_err("ERROR: U8_TRUNCATE_IF_INCOMPLETE failed for i=%d, length=%d. Expected:%d Got:%d\n",
+                    (int)i, (int)length, (int)expected, (int)adjusted);
+        }
+    }
+}
+
 static void TestAppendChar(){
 #if !U_HIDE_OBSOLETE_UTF_OLD_H
     static const uint8_t s[11]={0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x00};
index 0422318..f460554 100644 (file)
@@ -16,7 +16,8 @@
 system_symbols:
   deps
     # C
-    PIC system_debug malloc_functions c_strings c_string_formatting
+    PIC system_misc system_debug malloc_functions ubsan
+    c_strings c_string_formatting
     floating_point trigonometry
     stdlib_qsort
     pthread system_locale
@@ -28,12 +29,19 @@ group: PIC
     # Position-Independent Code (-fPIC) requires a Global Offset Table.
     _GLOBAL_OFFSET_TABLE_
 
+group: system_misc
+    abort
+
 group: system_debug
     __assert_fail __stack_chk_fail
 
 group: malloc_functions
     free malloc realloc
 
+group: ubsan
+    # UBSan=UndefinedBehaviorSanitizer, clang -fsanitize=bounds
+    __ubsan_handle_out_of_bounds
+
 group: c_strings
     isspace isdigit
     __ctype_b_loc  # for <ctype.h>
@@ -415,7 +423,7 @@ group: simpleformatter
 group: patternprops
     patternprops.o
   deps
-    PIC
+    PIC ubsan
 
 group: ushape
     ushape.o
@@ -760,6 +768,8 @@ group: errorcode  # ErrorCode base class
 
 group: utypes  # u_errorName()
     utypes.o
+  deps
+    ubsan
 
 group: platform
     # Files in the "platform" group.
@@ -779,7 +789,8 @@ group: platform
     utrace.o
   deps
     # The "platform" group has no ICU dependencies.
-    PIC system_debug malloc_functions c_strings c_string_formatting
+    PIC system_misc system_debug malloc_functions ubsan
+    c_strings c_string_formatting
     floating_point pthread system_locale
     stdio_input readlink_function dir_io
     dlfcn  # Move related code into icuplug.c?
@@ -793,7 +804,7 @@ library: i18n
     alphabetic_index collation collation_builder string_search
     dayperiodrules
     formatting formattable_cnv regex regex_cnv translit
-    numberformatter
+    double_conversion numberformatter
     universal_time_scale
     uclean_i18n
 
@@ -867,6 +878,13 @@ group: dayperiodrules
   deps
     resourcebundle uclean_i18n
 
+group: double_conversion
+    double-conversion.o double-conversion-bignum.o double-conversion-bignum-dtoa.o
+    double-conversion-cached-powers.o double-conversion-diy-fp.o
+    double-conversion-fast-dtoa.o
+  deps
+    platform
+
 group: numberformatter
     # ICU 60+ NumberFormatter API
     number_affixutils.o number_compact.o number_decimalquantity.o
@@ -938,7 +956,7 @@ group: units
 group: digitlist
     digitlst.o decContext.o decNumber.o visibledigits.o
   deps
-    uclean_i18n
+    double_conversion uclean_i18n
 
 group: formattable
     fmtable.o
@@ -980,6 +998,8 @@ group: translit
 
 group: universal_time_scale
     utmscale.o
+  deps
+    ubsan
 
 group: uclean_i18n
     ucln_in.o
index d41ef25..e8a5b72 100644 (file)
@@ -64,7 +64,7 @@ scientificnumberformattertest.o datadrivennumberformattestsuite.o \
 numberformattesttuple.o numberformat2test.o pluralmaptest.o \
 numbertest_affixutils.o numbertest_api.o numbertest_decimalquantity.o \
 numbertest_modifiers.o numbertest_patternmodifier.o numbertest_patternstring.o \
-numbertest_stringbuilder.o
+numbertest_stringbuilder.o numbertest_doubleconversion.o
 
 DEPS = $(OBJECTS:.o=.d)
 
index a3ebd11..8a4edb2 100644 (file)
@@ -22,6 +22,7 @@
 #include "unicode/localpointer.h"
 #include "unicode/tblcoll.h"
 #include "unicode/uniset.h"
+#include "unicode/uscript.h"
 
 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_NORMALIZATION
 
@@ -66,6 +67,7 @@ void AlphabeticIndexTest::runIndexedTest( int32_t index, UBool exec, const char*
     TESTCASE_AUTO(TestChineseZhuyin);
     TESTCASE_AUTO(TestJapaneseKanji);
     TESTCASE_AUTO(TestChineseUnihan);
+    TESTCASE_AUTO(testHasBuckets);
     TESTCASE_AUTO_END;
 }
 
@@ -724,4 +726,27 @@ void AlphabeticIndexTest::TestChineseUnihan() {
     assertEquals("getBucketIndex(U+7527)", 101, bucketIndex);
 }
 
+void AlphabeticIndexTest::testHasBuckets() {
+    checkHasBuckets(Locale("am"), USCRIPT_ETHIOPIC);
+    checkHasBuckets(Locale("haw"), USCRIPT_LATIN);
+    checkHasBuckets(Locale("hy"), USCRIPT_ARMENIAN);
+    checkHasBuckets(Locale("vai"), USCRIPT_VAI);
+}
+
+void AlphabeticIndexTest::checkHasBuckets(const Locale &locale, UScriptCode script) {
+    IcuTestErrorCode errorCode(*this, "checkHasBuckets");
+    AlphabeticIndex aindex(locale, errorCode);
+    LocalPointer<AlphabeticIndex::ImmutableIndex> index(aindex.buildImmutableIndex(errorCode), errorCode);
+    if (U_FAILURE(errorCode)) {
+      dataerrln("%s %d  Error in index creation",  __FILE__, __LINE__);
+      return;
+    }
+    UnicodeString loc = locale.getName();
+    assertTrue(loc + u" at least 3 buckets", index->getBucketCount() >= 3);
+    const AlphabeticIndex::Bucket *bucket = index->getBucket(1);
+    assertEquals(loc + u" real bucket", U_ALPHAINDEX_NORMAL, bucket->getLabelType());
+    assertEquals(loc + u" expected script", script,
+            uscript_getScript(bucket->getLabel().char32At(0), errorCode));
+}
+
 #endif
index 6bbe153..a785fca 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef ALPHAINDEXTST_H
 #define ALPHAINDEXTST_H
 
+#include "unicode/uscript.h"
 #include "intltest.h"
 
 class AlphabeticIndexTest: public IntlTest {
@@ -49,6 +50,9 @@ public:
     void TestChineseZhuyin();
     void TestJapaneseKanji();
     void TestChineseUnihan();
+
+    void testHasBuckets();
+    void checkHasBuckets(const Locale &locale, UScriptCode script);
 };
 
 #endif
index f1eb17b..da52263 100644 (file)
@@ -17,6 +17,7 @@
 #include "unicode/simpletz.h"
 #include "unicode/smpdtfmt.h"
 #include "unicode/strenum.h"
+#include "unicode/localpointer.h"
 #include "cmemory.h"
 #include "caltest.h"
 #include "unicode/localpointer.h"
@@ -93,6 +94,8 @@ CalendarRegressionTest::runIndexedTest( int32_t index, UBool exec, const char* &
         CASE(50,TestT9452);
         CASE(51,TestT11632);
         CASE(52,TestPersianCalOverflow);
+        CASE(53,TestIslamicCalOverflow);
+        CASE(54,TestWeekOfYear13548);
     default: name = ""; break;
     }
 }
@@ -3009,9 +3012,9 @@ void CalendarRegressionTest::TestPersianCalOverflow(void) {
             month = cal->get(UCAL_MONTH, status);
             dayOfMonth = cal->get(UCAL_DATE, status);
             if ( U_FAILURE(status) ) {
-                errln("FAIL: Calendar->get MONTH/DATE for localeID %s, julianDay %d, status %s\n", localeID, jd, u_errorName(status)); 
+                errln("FAIL: Calendar->get MONTH/DATE for localeID %s, julianDay %d, status %s", localeID, jd, u_errorName(status)); 
             } else if (month > maxMonth || dayOfMonth > maxDayOfMonth) {
-                errln("FAIL: localeID %s, julianDay %d; maxMonth %d, got month %d; maxDayOfMonth %d, got dayOfMonth %d\n",
+                errln("FAIL: localeID %s, julianDay %d; maxMonth %d, got month %d; maxDayOfMonth %d, got dayOfMonth %d",
                         localeID, jd, maxMonth, month, maxDayOfMonth, dayOfMonth); 
             }
         }
@@ -3019,4 +3022,51 @@ void CalendarRegressionTest::TestPersianCalOverflow(void) {
     }
 }
 
+/**
+ * @bug tickets 12661, 13538
+ */
+void CalendarRegressionTest::TestIslamicCalOverflow(void) {
+    const char* localeID = "ar@calendar=islamic-civil";
+    UErrorCode status = U_ZERO_ERROR;
+    Calendar* cal = Calendar::createInstance(Locale(localeID), status);
+    if(U_FAILURE(status)) {
+        dataerrln("FAIL: Calendar::createInstance for localeID %s: %s", localeID, u_errorName(status));
+    } else {
+        int32_t maxMonth = cal->getMaximum(UCAL_MONTH);
+        int32_t maxDayOfMonth = cal->getMaximum(UCAL_DATE);
+        int32_t jd, year, month, dayOfMonth;
+        for (jd = 73530872; jd <= 73530876; jd++) { // year 202002, int32_t overflow if jd >= 73530874
+            status = U_ZERO_ERROR;
+            cal->clear();
+            cal->set(UCAL_JULIAN_DAY, jd);
+            year = cal->get(UCAL_YEAR, status);
+            month = cal->get(UCAL_MONTH, status);
+            dayOfMonth = cal->get(UCAL_DATE, status);
+            if ( U_FAILURE(status) ) {
+                errln("FAIL: Calendar->get YEAR/MONTH/DATE for localeID %s, julianDay %d, status %s", localeID, jd, u_errorName(status)); 
+            } else if (month > maxMonth || dayOfMonth > maxDayOfMonth) {
+                errln("FAIL: localeID %s, julianDay %d; got year %d; maxMonth %d, got month %d; maxDayOfMonth %d, got dayOfMonth %d",
+                        localeID, jd, year, maxMonth, month, maxDayOfMonth, dayOfMonth); 
+            }
+        }
+        delete cal;
+    }
+}
+
+void CalendarRegressionTest::TestWeekOfYear13548(void) {
+    int32_t year = 2000;
+    UErrorCode status = U_ZERO_ERROR;
+    LocalPointer<Calendar> cal(Calendar::createInstance(status));
+    failure(status, "Calendar::createInstance(status)");
+
+    cal->set(UCAL_YEAR, year);
+    cal->set(UCAL_WEEK_OF_YEAR, 4);
+
+    int32_t resultYear = cal->get(UCAL_YEAR, status);
+    failure(status, "get(UCAL_YEAR, status)");
+    if (year != resultYear) {
+        errln((UnicodeString)"Fail: Expected year=" + year + ", actual=" + resultYear);
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 15d5502..b4166a0 100644 (file)
@@ -79,6 +79,8 @@ public:
     void TestT9452(void);
     void TestT11632(void);
     void TestPersianCalOverflow(void);
+    void TestIslamicCalOverflow(void);
+    void TestWeekOfYear13548(void);
 
     void printdate(GregorianCalendar *cal, const char *string);
     void dowTest(UBool lenient) ;
index 5ced151..9bdaaad 100644 (file)
@@ -279,7 +279,7 @@ void CompactDecimalFormatTest::TestSwahiliShortNegative() {
 }
 
 void CompactDecimalFormatTest::TestArabicLong() {
-  CheckLocale("ar", UNUM_LONG, kArabicLong, UPRV_LENGTHOF(kArabicLong));
+  CheckLocale("ar-EG", UNUM_LONG, kArabicLong, UPRV_LENGTHOF(kArabicLong));
 }
 
 void CompactDecimalFormatTest::TestSignificantDigits() {
index db0aa86..3a0e541 100644 (file)
@@ -733,6 +733,7 @@ ConversionTest::TestUTF8ToUTF8Overflow() {
     UChar *pivotSource = buffer16;
     UChar *pivotTarget = buffer16;
     const UChar *pivotLimit = buffer16 + UPRV_LENGTHOF(buffer16);
+    int32_t length;
 
     // Convert with insufficient target capacity.
     result[2] = 5;
@@ -741,7 +742,7 @@ ConversionTest::TestUTF8ToUTF8Overflow() {
                    buffer16, &pivotSource, &pivotTarget, pivotLimit,
                    FALSE, FALSE, errorCode);
     assertEquals("overflow", U_BUFFER_OVERFLOW_ERROR, errorCode.reset());
-    int32_t length = (int32_t)(target - result);
+    length = (int32_t)(target - result);
     assertEquals("number of bytes written", 2, length);
     assertEquals("next byte not clobbered", 5, result[2]);
 
@@ -790,6 +791,52 @@ ConversionTest::TestUTF8ToUTF8Overflow() {
     if (length == 5) {
         assertTrue("text2 result same as input", memcmp(text2, result, length) == 0);
     }
+
+    ucnv_reset(cnv1.getAlias());
+    ucnv_reset(cnv2.getAlias());
+    memset(result, 0, sizeof(result));
+    static const char *illFormed = "\xf1\x91\x93\x96\x91\x94";  // U+514D6 + two more trail bytes
+    source = illFormed;
+    sourceLimit = illFormed + strlen(illFormed);
+    target = result;
+    pivotSource = pivotTarget = buffer16;
+
+    ucnv_setToUCallBack(cnv1.getAlias(), UCNV_TO_U_CALLBACK_STOP, nullptr, nullptr, nullptr, errorCode);
+
+    // Convert only two bytes and flush (but expect failure).
+    char errorBytes[10];
+    int8_t errorLength;
+    result[0] = 5;
+    ucnv_convertEx(cnv2.getAlias(), cnv1.getAlias(),
+                   &target, targetLimit, &source, source + 2,
+                   buffer16, &pivotSource, &pivotTarget, pivotLimit,
+                   FALSE, TRUE, errorCode);
+    assertEquals("illFormed truncated", U_TRUNCATED_CHAR_FOUND, errorCode.reset());
+    length = (int32_t)(target - result);
+    assertEquals("illFormed number of bytes written", 0, length);
+    errorLength = UPRV_LENGTHOF(errorBytes);
+    ucnv_getInvalidChars(cnv1.getAlias(), errorBytes, &errorLength, errorCode);
+    assertEquals("illFormed truncated errorLength", 2, (int32_t)errorLength);
+    if (errorLength == 2) {
+        assertEquals("illFormed truncated errorBytes", 0xf191, 
+                     ((int32_t)(uint8_t)errorBytes[0] << 8) | (uint8_t)errorBytes[1]);
+    }
+
+    // Continue conversion starting with a trail byte.
+    ucnv_convertEx(cnv2.getAlias(), cnv1.getAlias(),
+                   &target, targetLimit, &source, sourceLimit,
+                   buffer16, &pivotSource, &pivotTarget, pivotLimit,
+                   FALSE, TRUE, errorCode);
+
+    assertEquals("illFormed trail byte", U_ILLEGAL_CHAR_FOUND, errorCode.reset());
+    length = (int32_t)(target - result);
+    assertEquals("illFormed trail byte number of bytes written", 0, length);
+    errorLength = UPRV_LENGTHOF(errorBytes);
+    ucnv_getInvalidChars(cnv1.getAlias(), errorBytes, &errorLength, errorCode);
+    assertEquals("illFormed trail byte errorLength", 1, (int32_t)errorLength);
+    if (errorLength == 1) {
+        assertEquals("illFormed trail byte errorBytes", 0x93, (int32_t)(uint8_t)errorBytes[0]);
+    }
 }
 
 // open testdata or ICU data converter ------------------------------------- ***
index fd3a9f1..35870f7 100644 (file)
@@ -1355,18 +1355,18 @@ DateFormatTest::TestLocaleDateFormat() // Bug 495
 void
 DateFormatTest::TestFormattingLocaleTimeSeparator()
 {
-    // This test not as useful is it once was, since timeSeparator
-    // in the Arabic is changed back to ":" in CLDR 28.
+    // This test not as useful as it once was, since timeSeparator
+    // in the Arabic locale is changed back to ":" in CLDR 28.
     const UDate testDate = 874266720000.;  // Sun Sep 14 21:52:00 CET 1997
     logln((UnicodeString)"Date set to : " + dateToString(testDate));
 
     const LocalPointer<const TimeZone> tz(TimeZone::createTimeZone("CET"));
 
     const LocalPointer<DateFormat> dfArab(DateFormat::createTimeInstance(
-            DateFormat::SHORT, Locale("ar")));
+            DateFormat::SHORT, Locale("ar", "EG")));
 
     const LocalPointer<DateFormat> dfLatn(DateFormat::createTimeInstance(
-            DateFormat::SHORT, Locale("ar", NULL, NULL, "numbers=latn")));
+            DateFormat::SHORT, Locale("ar", "EG", NULL, "numbers=latn")));
 
     if (dfLatn.isNull() || dfArab.isNull()) {
         dataerrln("Error calling DateFormat::createTimeInstance()");
index 33d248d..da262ba 100644 (file)
@@ -18,6 +18,7 @@
 #include "unicode/smpdtfmt.h"
 #include "unicode/dtfmtsym.h"
 #include "unicode/dtptngen.h"
+#include "unicode/ustring.h"
 #include "cmemory.h"
 #include "loctest.h"
 
@@ -36,6 +37,7 @@ void IntlTestDateTimePatternGeneratorAPI::runIndexedTest( int32_t index, UBool e
         TESTCASE(3, testStaticGetSkeleton);
         TESTCASE(4, testC);
         TESTCASE(5, testSkeletonsWithDayPeriods);
+        TESTCASE(6, testGetFieldDisplayNames);
         default: name = ""; break;
     }
 }
@@ -1210,4 +1212,51 @@ void IntlTestDateTimePatternGeneratorAPI::testSkeletonsWithDayPeriods() {
     delete gen;
 }
 
+typedef struct FieldDisplayNameData {
+    const char *            locale;
+    UDateTimePatternField   field;
+    UDateTimePGDisplayWidth width;
+    const char *            expected; // can have escapes such as \\u00E0
+} FieldDisplayNameData;
+enum { kFieldDisplayNameMax = 32 };
+
+void IntlTestDateTimePatternGeneratorAPI::testGetFieldDisplayNames() {
+    const FieldDisplayNameData testData[] = {
+        /*loc      field                              width               expectedName */
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_WIDE,        "Quartal" },
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_ABBREVIATED, "Quart." },
+        { "de",    UDATPG_QUARTER_FIELD,              UDATPG_NARROW,      "Q" },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_WIDE,        "weekday of the month" },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_ABBREVIATED, "wkday. of mo." },
+        { "en",    UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_NARROW,      "wkday. of mo." }, // fallback
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_WIDE,        "weekday of the month" },
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_ABBREVIATED, "wkday of mo" }, // override
+        { "en_GB", UDATPG_DAY_OF_WEEK_IN_MONTH_FIELD, UDATPG_NARROW,      "wkday of mo" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_WIDE,        "secondo" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_ABBREVIATED, "s" },
+        { "it",    UDATPG_SECOND_FIELD,               UDATPG_NARROW,      "s" },
+    };
+
+    int count = UPRV_LENGTHOF(testData);
+    const FieldDisplayNameData * testDataPtr = testData;
+    for (; count-- > 0; ++testDataPtr) {
+        UErrorCode status = U_ZERO_ERROR;
+        Locale locale(testDataPtr->locale);
+        DateTimePatternGenerator * dtpg = DateTimePatternGenerator::createInstance(locale, status);
+        if (U_FAILURE(status)) {
+            dataerrln("FAIL: DateTimePatternGenerator::createInstance failed for locale %s", testDataPtr->locale);
+        } else {
+            UChar expName[kFieldDisplayNameMax+1];
+            u_unescape(testDataPtr->expected, expName, kFieldDisplayNameMax);
+            expName[kFieldDisplayNameMax] = 0; // ensure 0 termination
+            UnicodeString getName = dtpg->getFieldDisplayName(testDataPtr->field, testDataPtr->width);
+            if (getName.compare(expName, u_strlen(expName)) != 0) {
+                errln("ERROR: locale %s field %d width %d, expected %s\n",
+                      testDataPtr->locale, testDataPtr->field, testDataPtr->width, testDataPtr->expected);
+            }
+            delete dtpg;
+        }
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 03da848..adef0dc 100644 (file)
@@ -31,6 +31,7 @@ private:
     void testStaticGetSkeleton(/* char* par */);
     void testC();
     void testSkeletonsWithDayPeriods();
+    void testGetFieldDisplayNames();
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 5edf872..c459137 100644 (file)
@@ -2030,6 +2030,25 @@ UBool IntlTest::assertEquals(const char* message,
     return TRUE;
 }
 
+
+UBool IntlTest::assertEquals(const char* message,
+                             UErrorCode expected,
+                             UErrorCode actual) {
+    if (expected != actual) {
+        errln((UnicodeString)"FAIL: " + message + "; got " +
+              u_errorName(actual) + 
+              "; expected " + u_errorName(expected));
+        return FALSE;
+    }
+#ifdef VERBOSE_ASSERTIONS
+    else {
+        logln((UnicodeString)"Ok: " + message + "; got " + u_errorName(actual));
+    }
+#endif
+    return TRUE;
+}
+
+
 #if !UCONFIG_NO_FORMATTING
 UBool IntlTest::assertEquals(const char* message,
                              const Formattable& expected,
@@ -2105,6 +2124,16 @@ UBool IntlTest::assertEquals(const UnicodeString& message,
                              int64_t actual) {
     return assertEquals(extractToAssertBuf(message), expected, actual);
 }
+UBool IntlTest::assertEquals(const UnicodeString& message,
+                             double expected,
+                             double actual) {
+    return assertEquals(extractToAssertBuf(message), expected, actual);
+}
+UBool IntlTest::assertEquals(const UnicodeString& message,
+                             UErrorCode expected,
+                             UErrorCode actual) {
+    return assertEquals(extractToAssertBuf(message), expected, actual);
+}
 
 #if !UCONFIG_NO_FORMATTING
 UBool IntlTest::assertEquals(const UnicodeString& message,
index 1f7c80d..08765b7 100644 (file)
@@ -289,13 +289,12 @@ public:
     UBool assertSuccess(const char* message, UErrorCode ec, UBool possibleDataError=FALSE, const char *file=NULL, int line=0);
     UBool assertEquals(const char* message, const UnicodeString& expected,
                        const UnicodeString& actual, UBool possibleDataError=FALSE);
-    UBool assertEquals(const char* message, const char* expected,
-                       const char* actual);
-    UBool assertEquals(const char* message, UBool expected,
-                       UBool actual);
+    UBool assertEquals(const char* message, const char* expected, const char* actual);
+    UBool assertEquals(const char* message, UBool expected, UBool actual);
     UBool assertEquals(const char* message, int32_t expected, int32_t actual);
     UBool assertEquals(const char* message, int64_t expected, int64_t actual);
     UBool assertEquals(const char* message, double expected, double actual);
+    UBool assertEquals(const char* message, UErrorCode expected, UErrorCode actual);
 #if !UCONFIG_NO_FORMATTING
     UBool assertEquals(const char* message, const Formattable& expected,
                        const Formattable& actual, UBool possibleDataError=FALSE);
@@ -307,11 +306,12 @@ public:
     UBool assertSuccess(const UnicodeString& message, UErrorCode ec);
     UBool assertEquals(const UnicodeString& message, const UnicodeString& expected,
                        const UnicodeString& actual, UBool possibleDataError=FALSE);
-    UBool assertEquals(const UnicodeString& message, const char* expected,
-                       const char* actual);
+    UBool assertEquals(const UnicodeString& message, const char* expected, const char* actual);
     UBool assertEquals(const UnicodeString& message, UBool expected, UBool actual);
     UBool assertEquals(const UnicodeString& message, int32_t expected, int32_t actual);
     UBool assertEquals(const UnicodeString& message, int64_t expected, int64_t actual);
+    UBool assertEquals(const UnicodeString& message, double expected, double actual);
+    UBool assertEquals(const UnicodeString& message, UErrorCode expected, UErrorCode actual);
 
     virtual void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); // overide !
 
index 148b42c..32bd338 100644 (file)
@@ -1,52 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{73632960-B3A6-464D-83A3-4B43365F19B8}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
     <RootNamespace>intltest</RootNamespace>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;..\..\tools\toolutil;..\..\tools\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/intltest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;..\..\tools\toolutil;..\..\tools\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/intltest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug/intltest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Debug/intltest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/intltest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;..\..\tools\toolutil;..\..\tools\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/intltest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug/intltest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/intltest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <FixedBaseAddress>false</FixedBaseAddress>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
       <TypeLibraryName>.\x86\Release/intltest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;..\..\tools\toolutil;..\..\tools\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/intltest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release/intltest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Release/intltest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/intltest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;..\..\tools\toolutil;..\..\tools\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/intltest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release/intltest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Release/intltest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="numbertest_affixutils.cpp" />
     <ClCompile Include="numbertest_api.cpp" />
     <ClCompile Include="numbertest_decimalquantity.cpp" />
+    <ClCompile Include="numbertest_doubleconversion.cpp" />
     <ClCompile Include="numbertest_modifiers.cpp" />
     <ClCompile Include="numbertest_patternmodifier.cpp" />
     <ClCompile Include="numbertest_patternstring.cpp" />
     <ClInclude Include="csdetest.h" />
     <ClInclude Include="listformattertest.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 384f6da..442793e 100644 (file)
     <ClCompile Include="numbertest_decimalquantity.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
+    <ClCompile Include="numbertest_doubleconversion.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
     <ClCompile Include="numbertest_modifiers.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
index 9770025..e6e9078 100644 (file)
@@ -75,6 +75,7 @@ void IntlTestRBNF::runIndexedTest(int32_t index, UBool exec, const char* &name,
         TESTCASE(23, TestVariableDecimalPoint);
         TESTCASE(24, TestLargeNumbers);
         TESTCASE(25, TestCompactDecimalFormatStyle);
+        TESTCASE(26, TestParseFailure);
 #else
         TESTCASE(0, TestRBNFDisabled);
 #endif
@@ -2283,6 +2284,22 @@ void IntlTestRBNF::TestCompactDecimalFormatStyle() {
     doTest(&rbnf, enTestFullData, false);
 }
 
+void IntlTestRBNF::TestParseFailure() {
+    UErrorCode status = U_ZERO_ERROR;
+    RuleBasedNumberFormat rbnf(URBNF_SPELLOUT, Locale::getJapanese(), status);
+    static const UChar* testData[] = {
+        u"・・・・・・・・・・・・・・・・・・・・・・・・"
+    };
+    for (int i = 0; i < UPRV_LENGTHOF(testData); ++i) {
+        UnicodeString spelledNumberString(testData[i]);
+        Formattable actualNumber;
+        rbnf.parse(spelledNumberString, actualNumber, status);
+        if (status != U_INVALID_FORMAT_ERROR) { // I would have expected U_PARSE_ERROR, but NumberFormat::parse gives U_INVALID_FORMAT_ERROR
+            errln("FAIL: string should be unparseable index=%d %s", i, u_errorName(status));
+        }
+    }
+}
+
 void 
 IntlTestRBNF::doTest(RuleBasedNumberFormat* formatter, const char* const testData[][2], UBool testParsing) 
 {
index 540b803..e58d321 100644 (file)
@@ -147,6 +147,7 @@ class IntlTestRBNF : public IntlTest {
     void TestRounding();
     void TestLargeNumbers();
     void TestCompactDecimalFormatStyle();
+    void TestParseFailure();
 
 protected:
   virtual void doTest(RuleBasedNumberFormat* formatter, const char* const testData[][2], UBool testParsing);
index d997a26..7be9adf 100644 (file)
@@ -1747,7 +1747,7 @@ void MeasureFormatTest::TestMultiples() {
     helperTestMultiples(en, UMEASFMT_WIDTH_SHORT,  "2 mi, 1 ft, 2.3 in");
     helperTestMultiples(en, UMEASFMT_WIDTH_NARROW, "2mi 1\\u2032 2.3\\u2033");
     helperTestMultiples(ru, UMEASFMT_WIDTH_WIDE,   "2 \\u043C\\u0438\\u043B\\u0438 1 \\u0444\\u0443\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430");
-    helperTestMultiples(ru, UMEASFMT_WIDTH_SHORT,  "2 \\u043C\\u0438\\u043B\\u0438 1 \\u0444\\u0443\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C.");
+    helperTestMultiples(ru, UMEASFMT_WIDTH_SHORT,  "2 \\u043C\\u0438\\u043B\\u0438 1 \\u0444\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C.");
     helperTestMultiples(ru, UMEASFMT_WIDTH_NARROW, "2 \\u043C\\u0438\\u043B\\u044C 1 \\u0444\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430");
 }
 
index 01c2815..496aaec 100644 (file)
@@ -325,6 +325,7 @@ const NumberFormatTestTupleFieldData gFieldData[] = {
     FIELD_INIT(positiveSuffix, &gStrOps),
     FIELD_INIT(negativePrefix, &gStrOps),
     FIELD_INIT(negativeSuffix, &gStrOps),
+    FIELD_INIT(signAlwaysShown, &gIntOps),
     FIELD_INIT(localizedPattern, &gStrOps),
     FIELD_INIT(toPattern, &gStrOps),
     FIELD_INIT(toLocalizedPattern, &gStrOps),
index f417b3e..685c3d6 100644 (file)
@@ -55,6 +55,7 @@ enum ENumberFormatTestTupleField {
     kPositiveSuffix,
     kNegativePrefix,
     kNegativeSuffix,
+    kSignAlwaysShown,
     kLocalizedPattern,
     kToPattern,
     kToLocalizedPattern,
@@ -118,6 +119,7 @@ public:
     UnicodeString positiveSuffix;
     UnicodeString negativePrefix;
     UnicodeString negativeSuffix;
+    int32_t signAlwaysShown;
     UnicodeString localizedPattern;
     UnicodeString toPattern;
     UnicodeString toLocalizedPattern;
@@ -164,6 +166,7 @@ public:
     UBool positiveSuffixFlag;
     UBool negativePrefixFlag;
     UBool negativeSuffixFlag;
+    UBool signAlwaysShownFlag;
     UBool localizedPatternFlag;
     UBool toPatternFlag;
     UBool toLocalizedPatternFlag;
index 3e60031..c1d5044 100644 (file)
@@ -45,6 +45,7 @@ class NumberFormatterApiTest : public IntlTest {
     void notationScientific();
     void notationCompact();
     void unitMeasure();
+    void unitCompoundMeasure();
     void unitCurrency();
     void unitPercent();
     void roundingFraction();
@@ -62,6 +63,7 @@ class NumberFormatterApiTest : public IntlTest {
     void locale();
     void formatTypes();
     void errors();
+    void validRanges();
 
     void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
 
@@ -70,11 +72,19 @@ class NumberFormatterApiTest : public IntlTest {
     CurrencyUnit GBP;
     CurrencyUnit CZK;
     CurrencyUnit CAD;
+    CurrencyUnit ESP;
+    CurrencyUnit PTE;
 
     MeasureUnit METER;
     MeasureUnit DAY;
     MeasureUnit SQUARE_METER;
     MeasureUnit FAHRENHEIT;
+    MeasureUnit SECOND;
+    MeasureUnit POUND;
+    MeasureUnit SQUARE_MILE;
+    MeasureUnit JOULE;
+    MeasureUnit FURLONG;
+    MeasureUnit KELVIN;
 
     NumberingSystem MATHSANB;
     NumberingSystem LATN;
@@ -100,6 +110,7 @@ class DecimalQuantityTest : public IntlTest {
     void testAppend();
     void testConvertToAccurateDouble();
     void testUseApproximateDoubleWhenAble();
+    void testHardDoubleConversion();
 
     void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
 
@@ -110,6 +121,13 @@ class DecimalQuantityTest : public IntlTest {
     void checkDoubleBehavior(double d, bool explicitRequired);
 };
 
+class DoubleConversionTest : public IntlTest {
+  public:
+    void testDoubleConversionApi();
+
+    void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
+};
+
 class ModifiersTest : public IntlTest {
   public:
     void testConstantAffixModifier();
@@ -132,6 +150,7 @@ class ModifiersTest : public IntlTest {
 class PatternModifierTest : public IntlTest {
   public:
     void testBasic();
+    void testPatternWithNoPlaceholder();
     void testMutableEqualsImmutable();
 
     void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
@@ -155,6 +174,7 @@ class PatternStringTest : public IntlTest {
 class NumberStringBuilderTest : public IntlTest {
   public:
     void testInsertAppendUnicodeString();
+    void testSplice();
     void testInsertAppendCodePoint();
     void testCopy();
     void testFields();
@@ -195,6 +215,7 @@ class NumberTest : public IntlTest {
         TESTCLASS(4, PatternModifierTest);
         TESTCLASS(5, PatternStringTest);
         TESTCLASS(6, NumberStringBuilderTest);
+        TESTCLASS(7, DoubleConversionTest);
         default: name = ""; break; // needed to end loop
         }
     }
index 6351404..5b1c46f 100644 (file)
@@ -22,33 +22,31 @@ NumberFormatterApiTest::NumberFormatterApiTest()
 NumberFormatterApiTest::NumberFormatterApiTest(UErrorCode &status)
               : USD(u"USD", status), GBP(u"GBP", status),
                 CZK(u"CZK", status), CAD(u"CAD", status),
+                ESP(u"ESP", status), PTE(u"PTE", status),
                 FRENCH_SYMBOLS(Locale::getFrench(), status),
                 SWISS_SYMBOLS(Locale("de-CH"), status),
                 MYANMAR_SYMBOLS(Locale("my"), status) {
 
-    MeasureUnit *unit = MeasureUnit::createMeter(status);
+    // Check for error on the first MeasureUnit in case there is no data
+    LocalPointer<MeasureUnit> unit(MeasureUnit::createMeter(status));
     if (U_FAILURE(status)) {
         dataerrln("%s %d status = %s", __FILE__, __LINE__, u_errorName(status));
         return;
     }
     METER = *unit;
-    delete unit;
-    unit = MeasureUnit::createDay(status);
-    DAY = *unit;
-    delete unit;
-    unit = MeasureUnit::createSquareMeter(status);
-    SQUARE_METER = *unit;
-    delete unit;
-    unit = MeasureUnit::createFahrenheit(status);
-    FAHRENHEIT = *unit;
-    delete unit;
-
-    NumberingSystem *ns = NumberingSystem::createInstanceByName("mathsanb", status);
-    MATHSANB = *ns;
-    delete ns;
-    ns = NumberingSystem::createInstanceByName("latn", status);
-    LATN = *ns;
-    delete ns;
+
+    DAY = *LocalPointer<MeasureUnit>(MeasureUnit::createDay(status));
+    SQUARE_METER = *LocalPointer<MeasureUnit>(MeasureUnit::createSquareMeter(status));
+    FAHRENHEIT = *LocalPointer<MeasureUnit>(MeasureUnit::createFahrenheit(status));
+    SECOND = *LocalPointer<MeasureUnit>(MeasureUnit::createSecond(status));
+    POUND = *LocalPointer<MeasureUnit>(MeasureUnit::createPound(status));
+    SQUARE_MILE = *LocalPointer<MeasureUnit>(MeasureUnit::createSquareMile(status));
+    JOULE = *LocalPointer<MeasureUnit>(MeasureUnit::createJoule(status));
+    FURLONG = *LocalPointer<MeasureUnit>(MeasureUnit::createFurlong(status));
+    KELVIN = *LocalPointer<MeasureUnit>(MeasureUnit::createKelvin(status));
+
+    MATHSANB = *LocalPointer<NumberingSystem>(NumberingSystem::createInstanceByName("mathsanb", status));
+    LATN = *LocalPointer<NumberingSystem>(NumberingSystem::createInstanceByName("latn", status));
 }
 
 void NumberFormatterApiTest::runIndexedTest(int32_t index, UBool exec, const char *&name, char *) {
@@ -60,6 +58,7 @@ void NumberFormatterApiTest::runIndexedTest(int32_t index, UBool exec, const cha
         TESTCASE_AUTO(notationScientific);
         TESTCASE_AUTO(notationCompact);
         TESTCASE_AUTO(unitMeasure);
+        TESTCASE_AUTO(unitCompoundMeasure);
         TESTCASE_AUTO(unitCurrency);
         TESTCASE_AUTO(unitPercent);
         TESTCASE_AUTO(roundingFraction);
@@ -77,6 +76,7 @@ void NumberFormatterApiTest::runIndexedTest(int32_t index, UBool exec, const cha
         TESTCASE_AUTO(locale);
         TESTCASE_AUTO(formatTypes);
         TESTCASE_AUTO(errors);
+        TESTCASE_AUTO(validRanges);
     TESTCASE_AUTO_END;
 }
 
@@ -351,12 +351,15 @@ void NumberFormatterApiTest::notationCompact() {
             Locale::getEnglish(),
             9990000,
             u"10M");
+
+    // NOTE: There is no API for compact custom data in C++
+    // and thus no "Compact Somali No Figure" test
 }
 
 void NumberFormatterApiTest::unitMeasure() {
     assertFormatDescending(
-            u"Meters Short",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(METER)),
+            u"Meters Short and unit() method",
+            NumberFormatter::with().unit(METER),
             Locale::getEnglish(),
             u"87,650 m",
             u"8,765 m",
@@ -369,7 +372,7 @@ void NumberFormatterApiTest::unitMeasure() {
             u"0 m");
 
     assertFormatDescending(
-            u"Meters Long",
+            u"Meters Long and adoptUnit() method",
             NumberFormatter::with().adoptUnit(new MeasureUnit(METER))
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::getEnglish(),
@@ -386,7 +389,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatDescending(
             u"Compact Meters Long",
             NumberFormatter::with().notation(Notation::compactLong())
-                    .adoptUnit(new MeasureUnit(METER))
+                    .unit(METER)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::getEnglish(),
             u"88 thousand meters",
@@ -410,14 +413,14 @@ void NumberFormatterApiTest::unitMeasure() {
 //    TODO: Implement Measure in C++
 //    assertFormatSingleMeasure(
 //            u"Measure format method takes precedence over fluent chain",
-//            NumberFormatter::with().adoptUnit(new MeasureUnit(METER)),
+//            NumberFormatter::with().unit(METER),
 //            Locale::getEnglish(),
 //            new Measure(5.43, USD),
 //            u"$5.43");
 
     assertFormatSingle(
             u"Meters with Negative Sign",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(METER)),
+            NumberFormatter::with().unit(METER),
             Locale::getEnglish(),
             -9876543.21,
             u"-9,876,543.21 m");
@@ -425,7 +428,7 @@ void NumberFormatterApiTest::unitMeasure() {
     // The locale string "सान" appears only in brx.txt:
     assertFormatSingle(
             u"Interesting Data Fallback 1",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(DAY))
+            NumberFormatter::with().unit(DAY)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::createFromName("brx"),
             5.43,
@@ -434,7 +437,7 @@ void NumberFormatterApiTest::unitMeasure() {
     // Requires following the alias from unitsNarrow to unitsShort:
     assertFormatSingle(
             u"Interesting Data Fallback 2",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(DAY))
+            NumberFormatter::with().unit(DAY)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW),
             Locale::createFromName("brx"),
             5.43,
@@ -444,7 +447,7 @@ void NumberFormatterApiTest::unitMeasure() {
     // requiring fallback to the root.
     assertFormatSingle(
             u"Interesting Data Fallback 3",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(SQUARE_METER))
+            NumberFormatter::with().unit(SQUARE_METER)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW),
             Locale::createFromName("en-GB"),
             5.43,
@@ -454,7 +457,7 @@ void NumberFormatterApiTest::unitMeasure() {
     // NOTE: This example is in the documentation.
     assertFormatSingle(
             u"Difference between Narrow and Short (Narrow Version)",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(FAHRENHEIT))
+            NumberFormatter::with().unit(FAHRENHEIT)
                     .unitWidth(UNUM_UNIT_WIDTH_NARROW),
             Locale("es-US"),
             5.43,
@@ -462,11 +465,74 @@ void NumberFormatterApiTest::unitMeasure() {
 
     assertFormatSingle(
             u"Difference between Narrow and Short (Short Version)",
-            NumberFormatter::with().adoptUnit(new MeasureUnit(FAHRENHEIT))
+            NumberFormatter::with().unit(FAHRENHEIT)
                     .unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("es-US"),
             5.43,
             u"5.43 °F");
+
+    assertFormatSingle(
+            u"MeasureUnit form without {0} in CLDR pattern",
+            NumberFormatter::with()
+                    .unit(KELVIN)
+                    .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
+            Locale("es-MX"),
+            1,
+            u"kelvin");
+
+    assertFormatSingle(
+            u"MeasureUnit form without {0} in CLDR pattern and wide base form",
+            NumberFormatter::with()
+                    .rounding(Rounder::fixedFraction(20))
+                    .unit(KELVIN)
+                    .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
+            Locale("es-MX"),
+            1,
+            u"kelvin");
+}
+
+void NumberFormatterApiTest::unitCompoundMeasure() {
+    assertFormatDescending(
+            u"Meters Per Second Short (unit that simplifies) and perUnit method",
+            NumberFormatter::with().unit(METER).perUnit(SECOND),
+            Locale::getEnglish(),
+            u"87,650 m/s",
+            u"8,765 m/s",
+            u"876.5 m/s",
+            u"87.65 m/s",
+            u"8.765 m/s",
+            u"0.8765 m/s",
+            u"0.08765 m/s",
+            u"0.008765 m/s",
+            u"0 m/s");
+
+    assertFormatDescending(
+            u"Pounds Per Square Mile Short (secondary unit has per-format) and adoptPerUnit method",
+            NumberFormatter::with().unit(POUND).adoptPerUnit(new MeasureUnit(SQUARE_MILE)),
+            Locale::getEnglish(),
+            u"87,650 lb/mi²",
+            u"8,765 lb/mi²",
+            u"876.5 lb/mi²",
+            u"87.65 lb/mi²",
+            u"8.765 lb/mi²",
+            u"0.8765 lb/mi²",
+            u"0.08765 lb/mi²",
+            u"0.008765 lb/mi²",
+            u"0 lb/mi²");
+
+    assertFormatDescending(
+            u"Joules Per Furlong Short (unit with no simplifications or special patterns)",
+            NumberFormatter::with().unit(JOULE).perUnit(FURLONG),
+            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() {
@@ -547,6 +613,66 @@ void NumberFormatterApiTest::unitCurrency() {
             Locale::getEnglish(),
             -9876543.21,
             u"-£9,876,543.21");
+
+    // The full currency symbol is not shown in NARROW format.
+    // NOTE: This example is in the documentation.
+    assertFormatSingle(
+            u"Currency Difference between Narrow and Short (Narrow Version)",
+            NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_NARROW),
+            Locale("en-CA"),
+            5.43,
+            u"$5.43");
+
+    assertFormatSingle(
+            u"Currency Difference between Narrow and Short (Short Version)",
+            NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
+            Locale("en-CA"),
+            5.43,
+            u"US$5.43");
+
+    assertFormatSingle(
+            u"Currency-dependent format (Control)",
+            NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
+            Locale("ca"),
+            444444.55,
+            u"444.444,55 USD");
+
+    assertFormatSingle(
+            u"Currency-dependent format (Test)",
+            NumberFormatter::with().unit(ESP).unitWidth(UNUM_UNIT_WIDTH_SHORT),
+            Locale("ca"),
+            444444.55,
+            u"₧ 444.445");
+
+    assertFormatSingle(
+            u"Currency-dependent symbols (Control)",
+            NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
+            Locale("pt-PT"),
+            444444.55,
+            u"444 444,55 US$");
+
+    // NOTE: This is a bit of a hack on CLDR's part. They set the currency symbol to U+200B (zero-
+    // width space), and they set the decimal separator to the $ symbol.
+    assertFormatSingle(
+            u"Currency-dependent symbols (Test Short)",
+            NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_SHORT),
+            Locale("pt-PT"),
+            444444.55,
+            u"444,444$55 \u200B");
+
+    assertFormatSingle(
+            u"Currency-dependent symbols (Test Narrow)",
+            NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_NARROW),
+            Locale("pt-PT"),
+            444444.55,
+            u"444,444$55 PTE");
+
+    assertFormatSingle(
+            u"Currency-dependent symbols (Test ISO Code)",
+            NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_ISO_CODE),
+            Locale("pt-PT"),
+            444444.55,
+            u"444,444$55 PTE");
 }
 
 void NumberFormatterApiTest::unitPercent() {
@@ -765,6 +891,20 @@ void NumberFormatterApiTest::roundingFractionFigures() {
             u"0.09",
             u"0.01",
             u"0.00");
+
+    assertFormatSingle(
+            "FracSig with trailing zeros A",
+            NumberFormatter::with().rounding(Rounder::fixedFraction(2).withMinDigits(3)),
+            Locale::getEnglish(),
+            0.1,
+            u"0.10");
+
+    assertFormatSingle(
+            "FracSig with trailing zeros B",
+            NumberFormatter::with().rounding(Rounder::fixedFraction(2).withMinDigits(3)),
+            Locale::getEnglish(),
+            0.0999999,
+            u"0.10");
 }
 
 void NumberFormatterApiTest::roundingOther() {
@@ -889,7 +1029,7 @@ void NumberFormatterApiTest::roundingOther() {
 void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Western Grouping",
-            NumberFormatter::with().grouping(Grouper::defaults()),
+            NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
             Locale::getEnglish(),
             u"87,650,000",
             u"8,765,000",
@@ -903,7 +1043,7 @@ void NumberFormatterApiTest::grouping() {
 
     assertFormatDescendingBig(
             u"Indic Grouping",
-            NumberFormatter::with().grouping(Grouper::defaults()),
+            NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
             Locale("en-IN"),
             u"8,76,50,000",
             u"87,65,000",
@@ -917,7 +1057,7 @@ void NumberFormatterApiTest::grouping() {
 
     assertFormatDescendingBig(
             u"Western Grouping, Wide",
-            NumberFormatter::with().grouping(Grouper::minTwoDigits()),
+            NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
             Locale::getEnglish(),
             u"87,650,000",
             u"8,765,000",
@@ -931,7 +1071,7 @@ void NumberFormatterApiTest::grouping() {
 
     assertFormatDescendingBig(
             u"Indic Grouping, Wide",
-            NumberFormatter::with().grouping(Grouper::minTwoDigits()),
+            NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
             Locale("en-IN"),
             u"8,76,50,000",
             u"87,65,000",
@@ -945,7 +1085,7 @@ void NumberFormatterApiTest::grouping() {
 
     assertFormatDescendingBig(
             u"No Grouping",
-            NumberFormatter::with().grouping(Grouper::none()),
+            NumberFormatter::with().grouping(UNUM_GROUPING_OFF),
             Locale("en-IN"),
             u"87650000",
             u"8765000",
@@ -956,6 +1096,111 @@ void NumberFormatterApiTest::grouping() {
             u"87.65",
             u"8.765",
             u"0");
+
+    assertFormatDescendingBig(
+            u"Indic locale with THOUSANDS grouping",
+            NumberFormatter::with().grouping(UNUM_GROUPING_THOUSANDS),
+            Locale("en-IN"),
+            u"87,650,000",
+            u"8,765,000",
+            u"876,500",
+            u"87,650",
+            u"8,765",
+            u"876.5",
+            u"87.65",
+            u"8.765",
+            u"0");
+
+    // NOTE: Hungarian is interesting because it has minimumGroupingDigits=4 in locale data
+    // If this test breaks due to data changes, find another locale that has minimumGroupingDigits.
+    assertFormatDescendingBig(
+            u"Hungarian Grouping",
+            NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
+            Locale("hu"),
+            u"87 650 000",
+            u"8 765 000",
+            u"876500",
+            u"87650",
+            u"8765",
+            u"876,5",
+            u"87,65",
+            u"8,765",
+            u"0");
+
+    assertFormatDescendingBig(
+            u"Hungarian Grouping, Min 2",
+            NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
+            Locale("hu"),
+            u"87 650 000",
+            u"8 765 000",
+            u"876500",
+            u"87650",
+            u"8765",
+            u"876,5",
+            u"87,65",
+            u"8,765",
+            u"0");
+
+    assertFormatDescendingBig(
+            u"Hungarian Grouping, Always",
+            NumberFormatter::with().grouping(UNUM_GROUPING_ON_ALIGNED),
+            Locale("hu"),
+            u"87 650 000",
+            u"8 765 000",
+            u"876 500",
+            u"87 650",
+            u"8 765",
+            u"876,5",
+            u"87,65",
+            u"8,765",
+            u"0");
+
+    // NOTE: Bulgarian is interesting because it has no grouping in the default currency format.
+    // If this test breaks due to data changes, find another locale that has no default grouping.
+    assertFormatDescendingBig(
+            u"Bulgarian Currency Grouping",
+            NumberFormatter::with().grouping(UNUM_GROUPING_AUTO).unit(USD),
+            Locale("bg"),
+            u"87650000,00 щ.д.",
+            u"8765000,00 щ.д.",
+            u"876500,00 щ.д.",
+            u"87650,00 щ.д.",
+            u"8765,00 щ.д.",
+            u"876,50 щ.д.",
+            u"87,65 щ.д.",
+            u"8,76 щ.д.",
+            u"0,00 щ.д.");
+
+    assertFormatDescendingBig(
+            u"Bulgarian Currency Grouping, Always",
+            NumberFormatter::with().grouping(UNUM_GROUPING_ON_ALIGNED).unit(USD),
+            Locale("bg"),
+            u"87 650 000,00 щ.д.",
+            u"8 765 000,00 щ.д.",
+            u"876 500,00 щ.д.",
+            u"87 650,00 щ.д.",
+            u"8 765,00 щ.д.",
+            u"876,50 щ.д.",
+            u"87,65 щ.д.",
+            u"8,76 щ.д.",
+            u"0,00 щ.д.");
+
+    // TODO: Enable this test when macro-setter is available in C++
+    // MacroProps macros;
+    // macros.grouping = Grouper(4, 1, 3);
+    // assertFormatDescendingBig(
+    //         u"Custom Grouping via Internal API",
+    //         NumberFormatter::with().macros(macros),
+    //         Locale::getEnglish(),
+    //         u"8,7,6,5,0000",
+    //         u"8,7,6,5000",
+    //         u"876500",
+    //         u"87650",
+    //         u"8765",
+    //         u"876.5",
+    //         u"87.65",
+    //         u"8.765",
+    //         u"0");
 }
 
 void NumberFormatterApiTest::padding() {
@@ -1241,9 +1486,9 @@ void NumberFormatterApiTest::symbols() {
             u"US$ 12,345.67");
 
     assertFormatSingle(
-            u"Currency symbol should follow number in ar with NS arab",
+            u"Currency symbol should follow number in ar-EG with NS arab",
             NumberFormatter::with().unit(USD),
-            Locale("ar"),
+            Locale("ar-EG"),
             12345.67,
             u"١٢٬٣٤٥٫٦٧ US$");
 
@@ -1254,7 +1499,22 @@ void NumberFormatterApiTest::symbols() {
             12345.67,
             u"١٢٬٣٤٥٫٦٧ US$");
 
+    assertFormatSingle(
+            u"NumberingSystem in API should win over @numbers keyword",
+            NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).unit(USD),
+            Locale("ar@numbers=arab"),
+            12345.67,
+            u"US$ 12,345.67");
+
     UErrorCode status = U_ZERO_ERROR;
+    assertEquals("NumberingSystem in API should win over @numbers keyword in reverse order",
+            u"US$ 12,345.67",
+            NumberFormatter::withLocale(Locale("ar@numbers=arab"))
+                .adoptSymbols(new NumberingSystem(LATN))
+                .unit(USD)
+                .formatDouble(12345.67, status)
+                .toString());
+
     DecimalFormatSymbols symbols = SWISS_SYMBOLS;
     UnlocalizedNumberFormatter f = NumberFormatter::with().symbols(symbols);
     symbols.setSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kGroupingSeparatorSymbol, u"!", status);
@@ -1305,6 +1565,13 @@ void NumberFormatterApiTest::sign() {
             u"-444,444");
 
     assertFormatSingle(
+            u"Sign Auto Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_AUTO),
+            Locale::getEnglish(),
+            0,
+            u"0");
+
+    assertFormatSingle(
             u"Sign Always Positive",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS),
             Locale::getEnglish(),
@@ -1319,6 +1586,13 @@ void NumberFormatterApiTest::sign() {
             u"-444,444");
 
     assertFormatSingle(
+            u"Sign Always Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS),
+            Locale::getEnglish(),
+            0,
+            u"+0");
+
+    assertFormatSingle(
             u"Sign Never Positive",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_NEVER),
             Locale::getEnglish(),
@@ -1333,6 +1607,13 @@ void NumberFormatterApiTest::sign() {
             u"444,444");
 
     assertFormatSingle(
+            u"Sign Never Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_NEVER),
+            Locale::getEnglish(),
+            0,
+            u"0");
+
+    assertFormatSingle(
             u"Sign Accounting Positive",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING).unit(USD),
             Locale::getEnglish(),
@@ -1347,6 +1628,13 @@ void NumberFormatterApiTest::sign() {
             u"($444,444.00)");
 
     assertFormatSingle(
+            u"Sign Accounting Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING).unit(USD),
+            Locale::getEnglish(),
+            0,
+            u"$0.00");
+
+    assertFormatSingle(
             u"Sign Accounting-Always Positive",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS).unit(USD),
             Locale::getEnglish(),
@@ -1361,6 +1649,55 @@ void NumberFormatterApiTest::sign() {
             u"($444,444.00)");
 
     assertFormatSingle(
+            u"Sign Accounting-Always Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS).unit(USD),
+            Locale::getEnglish(),
+            0,
+            u"+$0.00");
+
+    assertFormatSingle(
+            u"Sign Except-Zero Positive",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
+            Locale::getEnglish(),
+            444444,
+            u"+444,444");
+
+    assertFormatSingle(
+            u"Sign Except-Zero Negative",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
+            Locale::getEnglish(),
+            -444444,
+            u"-444,444");
+
+    assertFormatSingle(
+            u"Sign Except-Zero Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
+            Locale::getEnglish(),
+            0,
+            u"0");
+
+    assertFormatSingle(
+            u"Sign Accounting-Except-Zero Positive",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
+            Locale::getEnglish(),
+            444444,
+            u"+$444,444.00");
+
+    assertFormatSingle(
+            u"Sign Accounting-Except-Zero Negative",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
+            Locale::getEnglish(),
+            -444444,
+            u"($444,444.00)");
+
+    assertFormatSingle(
+            u"Sign Accounting-Except-Zero Zero",
+            NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
+            Locale::getEnglish(),
+            0,
+            u"$0.00");
+
+    assertFormatSingle(
             u"Sign Accounting Negative Hidden",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                     .unit(USD)
@@ -1426,14 +1763,14 @@ void NumberFormatterApiTest::errors() {
         UErrorCode status2 = U_ZERO_ERROR;
         FormattedNumber fn = lnf.formatInt(1, status1);
         assertEquals(
-                "Should fail with U_ILLEGAL_ARGUMENT_ERROR since rounder is not legal",
-                U_ILLEGAL_ARGUMENT_ERROR,
+                "Should fail since rounder is not legal",
+                U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
                 status1);
         FieldPosition fp;
         fn.populateFieldPosition(fp, status2);
         assertEquals(
-                "Should fail with U_ILLEGAL_ARGUMENT_ERROR on terminal method",
-                U_ILLEGAL_ARGUMENT_ERROR,
+                "Should fail on terminal method",
+                U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
                 status2);
     }
 
@@ -1441,12 +1778,68 @@ void NumberFormatterApiTest::errors() {
         UErrorCode status = U_ZERO_ERROR;
         lnf.copyErrorTo(status);
         assertEquals(
-                "Should fail with U_ILLEGAL_ARGUMENT_ERROR since rounder is not legal",
-                U_ILLEGAL_ARGUMENT_ERROR,
+                "Should fail since rounder is not legal",
+                U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
                 status);
     }
 }
 
+void NumberFormatterApiTest::validRanges() {
+
+#define EXPECTED_MAX_INT_FRAC_SIG 999
+
+#define VALID_RANGE_ASSERT(status, method, lowerBound, argument) { \
+    UErrorCode expectedStatus = ((lowerBound <= argument) && (argument <= EXPECTED_MAX_INT_FRAC_SIG)) \
+        ? U_ZERO_ERROR \
+        : U_NUMBER_ARG_OUTOFBOUNDS_ERROR; \
+    assertEquals( \
+        UnicodeString(u"Incorrect status for " #method " on input ") \
+            + Int64ToUnicodeString(argument), \
+        expectedStatus, \
+        status); \
+}
+
+#define VALID_RANGE_ONEARG(setting, method, lowerBound) { \
+    for (int32_t argument = -2; argument <= EXPECTED_MAX_INT_FRAC_SIG + 2; argument++) { \
+        UErrorCode status = U_ZERO_ERROR; \
+        NumberFormatter::with().setting(method(argument)).copyErrorTo(status); \
+        VALID_RANGE_ASSERT(status, method, lowerBound, argument); \
+    } \
+}
+
+#define VALID_RANGE_TWOARGS(setting, method, lowerBound) { \
+    for (int32_t argument = -2; argument <= EXPECTED_MAX_INT_FRAC_SIG + 2; argument++) { \
+        UErrorCode status = U_ZERO_ERROR; \
+        /* Pass EXPECTED_MAX_INT_FRAC_SIG as the second argument so arg1 <= arg2 in expected cases */ \
+        NumberFormatter::with().setting(method(argument, EXPECTED_MAX_INT_FRAC_SIG)).copyErrorTo(status); \
+        VALID_RANGE_ASSERT(status, method, lowerBound, argument); \
+        status = U_ZERO_ERROR; \
+        /* Pass lowerBound as the first argument so arg1 <= arg2 in expected cases */ \
+        NumberFormatter::with().setting(method(lowerBound, argument)).copyErrorTo(status); \
+        VALID_RANGE_ASSERT(status, method, lowerBound, argument); \
+        /* Check that first argument must be less than or equal to second argument */ \
+        NumberFormatter::with().setting(method(argument, argument - 1)).copyErrorTo(status); \
+        assertEquals("Incorrect status for " #method " on max < min input", \
+            U_NUMBER_ARG_OUTOFBOUNDS_ERROR, \
+            status); \
+    } \
+}
+
+    VALID_RANGE_ONEARG(rounding, Rounder::fixedFraction, 0);
+    VALID_RANGE_ONEARG(rounding, Rounder::minFraction, 0);
+    VALID_RANGE_ONEARG(rounding, Rounder::maxFraction, 0);
+    VALID_RANGE_TWOARGS(rounding, Rounder::minMaxFraction, 0);
+    VALID_RANGE_ONEARG(rounding, Rounder::fixedDigits, 1);
+    VALID_RANGE_ONEARG(rounding, Rounder::minDigits, 1);
+    VALID_RANGE_ONEARG(rounding, Rounder::maxDigits, 1);
+    VALID_RANGE_TWOARGS(rounding, Rounder::minMaxDigits, 1);
+    VALID_RANGE_ONEARG(rounding, Rounder::fixedFraction(1).withMinDigits, 1);
+    VALID_RANGE_ONEARG(rounding, Rounder::fixedFraction(1).withMaxDigits, 1);
+    VALID_RANGE_ONEARG(notation, Notation::scientific().withMinExponentDigits, 1);
+    VALID_RANGE_ONEARG(integerWidth, IntegerWidth::zeroFillTo, 0);
+    VALID_RANGE_ONEARG(integerWidth, IntegerWidth::zeroFillTo(0).truncateAt, -1);
+}
+
 
 void NumberFormatterApiTest::assertFormatDescending(const UnicodeString &message,
                                                  const UnlocalizedNumberFormatter &f,
index b298b43..0cbcc52 100644 (file)
@@ -20,6 +20,7 @@ void DecimalQuantityTest::runIndexedTest(int32_t index, UBool exec, const char *
         TESTCASE_AUTO(testAppend);
         TESTCASE_AUTO(testConvertToAccurateDouble);
         TESTCASE_AUTO(testUseApproximateDoubleWhenAble);
+        TESTCASE_AUTO(testHardDoubleConversion);
     TESTCASE_AUTO_END;
 }
 
@@ -233,7 +234,7 @@ void DecimalQuantityTest::testConvertToAccurateDouble() {
 }
 
 void DecimalQuantityTest::testUseApproximateDoubleWhenAble() {
-    struct TestCase {
+    static const struct TestCase {
         double d;
         int32_t maxFrac;
         RoundingMode roundingMode;
@@ -264,4 +265,33 @@ void DecimalQuantityTest::testUseApproximateDoubleWhenAble() {
     }
 }
 
+void DecimalQuantityTest::testHardDoubleConversion() {
+    static const struct TestCase {
+        double input;
+        const char16_t* expectedOutput;
+    } cases[] = {
+            { 512.0000000000017, u"512.0000000000017" },
+            { 4095.9999999999977, u"4095.9999999999977" },
+            { 4095.999999999998, u"4095.999999999998" },
+            { 4095.9999999999986, u"4095.9999999999986" },
+            { 4095.999999999999, u"4095.999999999999" },
+            { 4095.9999999999995, u"4095.9999999999995" },
+            { 4096.000000000001, u"4096.000000000001" },
+            { 4096.000000000002, u"4096.000000000002" },
+            { 4096.000000000003, u"4096.000000000003" },
+            { 4096.000000000004, u"4096.000000000004" },
+            { 4096.000000000005, u"4096.000000000005" },
+            { 4096.0000000000055, u"4096.0000000000055" },
+            { 4096.000000000006, u"4096.000000000006" },
+            { 4096.000000000007, u"4096.000000000007" } };
+
+    for (auto& cas : cases) {
+        DecimalQuantity q;
+        q.setToDouble(cas.input);
+        q.roundToInfinity();
+        UnicodeString actualOutput = q.toPlainString();
+        assertEquals("", cas.expectedOutput, actualOutput);
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/source/test/intltest/numbertest_doubleconversion.cpp b/source/test/intltest/numbertest_doubleconversion.cpp
new file mode 100644 (file)
index 0000000..a52865d
--- /dev/null
@@ -0,0 +1,45 @@
+// © 2017 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING && !UPRV_INCOMPLETE_CPP11_SUPPORT
+
+#include "numbertest.h"
+#include "double-conversion.h"
+
+using namespace double_conversion;
+
+void DoubleConversionTest::runIndexedTest(int32_t index, UBool exec, const char *&name, char *) {
+    if (exec) {
+        logln("TestSuite DoubleConversionTest: ");
+    }
+    TESTCASE_AUTO_BEGIN;
+        TESTCASE_AUTO(testDoubleConversionApi);
+    TESTCASE_AUTO_END;
+}
+
+void DoubleConversionTest::testDoubleConversionApi() {
+    double v = 87.65;
+    char buffer[DoubleToStringConverter::kBase10MaximalLength + 1];
+    bool sign;
+    int32_t length;
+    int32_t point;
+
+    DoubleToStringConverter::DoubleToAscii(
+        v,
+        DoubleToStringConverter::DtoaMode::SHORTEST,
+        0,
+        buffer,
+        sizeof(buffer),
+        &sign,
+        &length,
+        &point
+    );
+
+    UnicodeString result(buffer, length);
+    assertEquals("Digits", u"8765", result);
+    assertEquals("Scale", 2, point);
+}
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
index 279df75..bebb3f8 100644 (file)
@@ -38,13 +38,13 @@ void ModifiersTest::testConstantMultiFieldModifier() {
     UErrorCode status = U_ZERO_ERROR;
     NumberStringBuilder prefix;
     NumberStringBuilder suffix;
-    ConstantMultiFieldModifier mod1(prefix, suffix, true);
+    ConstantMultiFieldModifier mod1(prefix, suffix, false, true);
     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);
-    ConstantMultiFieldModifier mod2(prefix, suffix, true);
+    ConstantMultiFieldModifier mod2(prefix, suffix, false, true);
     assertModifierEquals(mod2, 3, true, u"a📻|b", u"%%%n$", status);
     assertSuccess("Spot 2", status);
 
@@ -105,14 +105,14 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
 
     NumberStringBuilder prefix;
     NumberStringBuilder suffix;
-    CurrencySpacingEnabledModifier mod1(prefix, suffix, true, symbols, status);
+    CurrencySpacingEnabledModifier mod1(prefix, suffix, false, true, symbols, status);
     assertSuccess("Spot 2", status);
     assertModifierEquals(mod1, 0, true, u"|", u"n", status);
     assertSuccess("Spot 3", status);
 
     prefix.append(u"USD", UNUM_CURRENCY_FIELD, status);
     assertSuccess("Spot 4", status);
-    CurrencySpacingEnabledModifier mod2(prefix, suffix, true, symbols, status);
+    CurrencySpacingEnabledModifier mod2(prefix, suffix, false, true, symbols, status);
     assertSuccess("Spot 5", status);
     assertModifierEquals(mod2, 3, true, u"USD|", u"$$$n", status);
     assertSuccess("Spot 6", status);
@@ -138,7 +138,7 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
     symbols.setPatternForCurrencySpacing(UNUM_CURRENCY_SURROUNDING_MATCH, true, u"[|]");
     suffix.append("XYZ", UNUM_CURRENCY_FIELD, status);
     assertSuccess("Spot 11", status);
-    CurrencySpacingEnabledModifier mod3(prefix, suffix, true, symbols, status);
+    CurrencySpacingEnabledModifier mod3(prefix, suffix, false, true, symbols, status);
     assertSuccess("Spot 12", status);
     assertModifierEquals(mod3, 3, true, u"USD|\u00A0XYZ", u"$$$nn$$$", status);
     assertSuccess("Spot 13", status);
index f30203e..79c99e9 100644 (file)
@@ -14,6 +14,7 @@ void PatternModifierTest::runIndexedTest(int32_t index, UBool exec, const char *
     }
     TESTCASE_AUTO_BEGIN;
         TESTCASE_AUTO(testBasic);
+        TESTCASE_AUTO(testPatternWithNoPlaceholder);
         TESTCASE_AUTO(testMutableEqualsImmutable);
     TESTCASE_AUTO_END;
 }
@@ -31,13 +32,19 @@ void PatternModifierTest::testBasic() {
     assertSuccess("Spot 2", status);
     mod.setSymbols(&symbols, currency, UNUM_UNIT_WIDTH_SHORT, nullptr);
 
-    mod.setNumberProperties(false, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(1, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b", u"a", getPrefix(mod, status));
     assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
     mod.setPatternAttributes(UNUM_SIGN_ALWAYS, false);
     assertEquals("Pattern a0b", u"+a", getPrefix(mod, status));
     assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
-    mod.setNumberProperties(true, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(0, 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);
+    assertEquals("Pattern a0b", u"a", getPrefix(mod, status));
+    assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
+    mod.setNumberProperties(-1, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b", u"-a", getPrefix(mod, status));
     assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
     mod.setPatternAttributes(UNUM_SIGN_NEVER, false);
@@ -50,24 +57,69 @@ void PatternModifierTest::testBasic() {
     assertSuccess("Spot 4", status);
     mod.setPatternInfo(&patternInfo2);
     mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
-    mod.setNumberProperties(false, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(1, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b;c-0d", u"a", getPrefix(mod, status));
     assertEquals("Pattern a0b;c-0d", u"b", getSuffix(mod, status));
     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(true, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(0, 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);
+    assertEquals("Pattern a0b;c-0d", u"a", getPrefix(mod, status));
+    assertEquals("Pattern a0b;c-0d", u"b", getSuffix(mod, status));
+    mod.setNumberProperties(-1, 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_NEVER, false);
-    assertEquals(
-            "Pattern a0b;c-0d",
-            u"c-",
-            getPrefix(mod, status)); // TODO: What should this behavior be?
+    // 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));
     assertSuccess("Spot 5", status);
 }
 
+void PatternModifierTest::testPatternWithNoPlaceholder() {
+    UErrorCode status = U_ZERO_ERROR;
+    MutablePatternModifier mod(false);
+    ParsedPatternInfo patternInfo;
+    PatternParser::parseToPatternInfo(u"abc", patternInfo, status);
+    assertSuccess("Spot 1", status);
+    mod.setPatternInfo(&patternInfo);
+    mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
+    DecimalFormatSymbols symbols(Locale::getEnglish(), status);
+    CurrencyUnit currency(u"USD", status);
+    assertSuccess("Spot 2", status);
+    mod.setSymbols(&symbols, currency, UNUM_UNIT_WIDTH_SHORT, nullptr);
+    mod.setNumberProperties(1, StandardPlural::Form::COUNT);
+
+    // Unsafe Code Path
+    NumberStringBuilder nsb;
+    nsb.append(u"x123y", UNUM_FIELD_COUNT, status);
+    assertSuccess("Spot 3", status);
+    mod.apply(nsb, 1, 4, status);
+    assertSuccess("Spot 4", status);
+    assertEquals("Unsafe Path", u"xabcy", nsb.toUnicodeString());
+
+    // Safe Code Path
+    nsb.clear();
+    nsb.append(u"x123y", UNUM_FIELD_COUNT, status);
+    assertSuccess("Spot 5", status);
+    MicroProps micros;
+    LocalPointer<ImmutablePatternModifier> imod(mod.createImmutable(status), status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d  Error in ImmutablePatternModifier creation",
+                __FILE__, __LINE__);
+      assertSuccess("Spot 6", status);
+      return;
+    }
+    DecimalQuantity quantity;
+    imod->applyToMicros(micros, quantity);
+    micros.modMiddle->apply(nsb, 1, 4, status);
+    assertSuccess("Spot 7", status);
+    assertEquals("Safe Path", u"xabcy", nsb.toUnicodeString());
+}
+
 void PatternModifierTest::testMutableEqualsImmutable() {
     UErrorCode status = U_ZERO_ERROR;
     MutablePatternModifier mod(false);
index 323c4bd..76d27e1 100644 (file)
@@ -23,6 +23,7 @@ void NumberStringBuilderTest::runIndexedTest(int32_t index, UBool exec, const ch
     }
     TESTCASE_AUTO_BEGIN;
         TESTCASE_AUTO(testInsertAppendUnicodeString);
+        TESTCASE_AUTO(testSplice);
         TESTCASE_AUTO(testInsertAppendCodePoint);
         TESTCASE_AUTO(testCopy);
         TESTCASE_AUTO(testFields);
@@ -75,6 +76,55 @@ void NumberStringBuilderTest::testInsertAppendUnicodeString() {
     }
 }
 
+void NumberStringBuilderTest::testSplice() {
+    const struct TestCase {
+        const char16_t* input;
+        const int32_t startThis;
+        const int32_t endThis;
+    } cases[] = {
+            { u"", 0, 0 },
+            { u"abc", 0, 0 },
+            { u"abc", 1, 1 },
+            { u"abc", 1, 2 },
+            { u"abc", 0, 2 },
+            { u"abc", 0, 3 },
+            { u"lorem ipsum dolor sit amet", 8, 8 },
+            { u"lorem ipsum dolor sit amet", 8, 11 }, // 3 chars, equal to replacement "xyz"
+            { u"lorem ipsum dolor sit amet", 8, 18 } }; // 10 chars, larger than several replacements
+
+    UErrorCode status = U_ZERO_ERROR;
+    UnicodeString sb1;
+    NumberStringBuilder sb2;
+    for (auto cas : cases) {
+        for (const char16_t* replacementPtr : EXAMPLE_STRINGS) {
+            UnicodeString replacement(replacementPtr);
+
+            // Test replacement with full string
+            sb1.remove();
+            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);
+            assertSuccess("Splicing into sb2 first time", status);
+            assertEqualsImpl(sb1, sb2);
+
+            // Test replacement with partial string
+            if (replacement.length() <= 2) {
+                continue;
+            }
+            sb1.remove();
+            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);
+            assertSuccess("Splicing into sb2 second time", status);
+            assertEqualsImpl(sb1, sb2);
+        }
+    }
+}
+
 void NumberStringBuilderTest::testInsertAppendCodePoint() {
     static const UChar32 cases[] = {
             0, 1, 60, 127, 128, 0x7fff, 0x8000, 0xffff, 0x10000, 0x1f000, 0x10ffff};
@@ -230,7 +280,8 @@ void NumberStringBuilderTest::assertEqualsImpl(const UnicodeString &a, const Num
     for (int32_t i = 0; i < a.length(); i++) {
         IntlTest::assertEquals(
                 UnicodeString(u"Char at position ") + Int64ToUnicodeString(i) +
-                UnicodeString(u" in string ") + a, a.charAt(i), b.charAt(i));
+                UnicodeString(u" in \"") + a + UnicodeString("\" versus \"") +
+                b.toUnicodeString() + UnicodeString("\""), a.charAt(i), b.charAt(i));
     }
 }
 
index fc562f3..c8fce9e 100644 (file)
@@ -42,7 +42,7 @@
 #include "unicode/msgfmt.h"
 
 #if (U_PLATFORM == U_PF_AIX) || (U_PLATFORM == U_PF_OS390)
-// These should not be macros. If they are, 
+// These should not be macros. If they are,
 // replace them with std::isnan and std::isinf
 #if defined(isnan)
 #undef isnan
@@ -229,6 +229,9 @@ static void adjustDecimalFormat(
     if (tuple.negativeSuffixFlag) {
         fmt.setNegativeSuffix(tuple.negativeSuffix);
     }
+    if (tuple.signAlwaysShownFlag) {
+        // Not currently supported
+    }
     if (tuple.localizedPatternFlag) {
         UErrorCode status = U_ZERO_ERROR;
         fmt.applyLocalizedPattern(tuple.localizedPattern, status);
@@ -581,8 +584,8 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
   TESTCASE_AUTO(TestFieldPositionIterator);
   TESTCASE_AUTO(TestDecimal);
   TESTCASE_AUTO(TestCurrencyFractionDigits);
-  TESTCASE_AUTO(TestExponentParse); 
-  TESTCASE_AUTO(TestExplicitParents); 
+  TESTCASE_AUTO(TestExponentParse);
+  TESTCASE_AUTO(TestExplicitParents);
   TESTCASE_AUTO(TestLenientParse);
   TESTCASE_AUTO(TestAvailableNumberingSystems);
   TESTCASE_AUTO(TestRoundingPattern);
@@ -623,6 +626,8 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
   TESTCASE_AUTO(Test11649_toPatternWithMultiCurrency);
   TESTCASE_AUTO(Test13327_numberingSystemBufferOverflow);
   TESTCASE_AUTO(Test13391_chakmaParsing);
+  TESTCASE_AUTO(Test11035_FormatCurrencyAmount);
+  TESTCASE_AUTO(Test11318_DoubleConversion);
   TESTCASE_AUTO_END;
 }
 
@@ -1458,19 +1463,19 @@ NumberFormatTest::TestLenientParse(void)
 
     Locale en_US("en_US");
     Locale sv_SE("sv_SE");
-    
+
     NumberFormat *mFormat = NumberFormat::createInstance(sv_SE, UNUM_DECIMAL, status);
-    
+
     if (mFormat == NULL || U_FAILURE(status)) {
         dataerrln("Unable to create NumberFormat (sv_SE, UNUM_DECIMAL) - %s", u_errorName(status));
     } else {
         mFormat->setLenient(TRUE);
         for (int32_t t = 0; t < UPRV_LENGTHOF(lenientMinusTestCases); t += 1) {
             UnicodeString testCase = ctou(lenientMinusTestCases[t]);
-            
+
             mFormat->parse(testCase, n, status);
             logln((UnicodeString)"parse(" + testCase + ") = " + n.getLong());
-            
+
             if (U_FAILURE(status) || n.getType() != Formattable::kLong || n.getLong() != -5) {
                 errln((UnicodeString)"Lenient parse failed for \"" + (UnicodeString) lenientMinusTestCases[t] + (UnicodeString) "\"");
                 status = U_ZERO_ERROR;
@@ -1478,19 +1483,19 @@ NumberFormatTest::TestLenientParse(void)
         }
         delete mFormat;
     }
-    
+
     mFormat = NumberFormat::createInstance(en_US, UNUM_DECIMAL, status);
-    
+
     if (mFormat == NULL || U_FAILURE(status)) {
         dataerrln("Unable to create NumberFormat (en_US, UNUM_DECIMAL) - %s", u_errorName(status));
     } else {
         mFormat->setLenient(TRUE);
         for (int32_t t = 0; t < UPRV_LENGTHOF(lenientMinusTestCases); t += 1) {
             UnicodeString testCase = ctou(lenientMinusTestCases[t]);
-            
+
             mFormat->parse(testCase, n, status);
             logln((UnicodeString)"parse(" + testCase + ") = " + n.getLong());
-            
+
             if (U_FAILURE(status) || n.getType() != Formattable::kLong || n.getLong() != -5) {
                 errln((UnicodeString)"Lenient parse failed for \"" + (UnicodeString) lenientMinusTestCases[t] + (UnicodeString) "\"");
                 status = U_ZERO_ERROR;
@@ -1498,7 +1503,7 @@ NumberFormatTest::TestLenientParse(void)
         }
         delete mFormat;
     }
-    
+
     NumberFormat *cFormat = NumberFormat::createInstance(en_US, UNUM_CURRENCY, status);
 
     if (cFormat == NULL || U_FAILURE(status)) {
@@ -1572,10 +1577,10 @@ NumberFormatTest::TestLenientParse(void)
    // Test cases that should fail with a strict parse and pass with a
    // lenient parse.
    NumberFormat *nFormat = NumberFormat::createInstance(en_US, status);
-    
+
    if (nFormat == NULL || U_FAILURE(status)) {
        dataerrln("Unable to create NumberFormat (en_US) - %s", u_errorName(status));
-   } else { 
+   } else {
        // first, make sure that they fail with a strict parse
        for (int32_t t = 0; t < UPRV_LENGTHOF(strictFailureTestCases); t += 1) {
               UnicodeString testCase = ctou(strictFailureTestCases[t]);
@@ -2311,30 +2316,54 @@ void NumberFormatTest::TestCurrencyNames(void) {
     const UBool possibleDataError = TRUE;
     // Warning: HARD-CODED LOCALE DATA in this test.  If it fails, CHECK
     // THE LOCALE DATA before diving into the code.
-    assertEquals("USD.getName(SYMBOL_NAME)",
+    assertEquals("USD.getName(SYMBOL_NAME, en)",
                  UnicodeString("$"),
                  UnicodeString(ucurr_getName(USD, "en",
                                              UCURR_SYMBOL_NAME,
                                              &isChoiceFormat, &len, &ec)),
                                              possibleDataError);
-    assertEquals("USD.getName(LONG_NAME)",
+    assertEquals("USD.getName(NARROW_SYMBOL_NAME, en)",
+                 UnicodeString("$"),
+                 UnicodeString(ucurr_getName(USD, "en",
+                                             UCURR_NARROW_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
+    assertEquals("USD.getName(LONG_NAME, en)",
                  UnicodeString("US Dollar"),
                  UnicodeString(ucurr_getName(USD, "en",
                                              UCURR_LONG_NAME,
                                              &isChoiceFormat, &len, &ec)),
                                              possibleDataError);
-    assertEquals("CAD.getName(SYMBOL_NAME)",
+    assertEquals("CAD.getName(SYMBOL_NAME, en)",
                  UnicodeString("CA$"),
                  UnicodeString(ucurr_getName(CAD, "en",
                                              UCURR_SYMBOL_NAME,
                                              &isChoiceFormat, &len, &ec)),
                                              possibleDataError);
-    assertEquals("CAD.getName(SYMBOL_NAME)",
+    assertEquals("CAD.getName(NARROW_SYMBOL_NAME, en)",
+                 UnicodeString("$"),
+                 UnicodeString(ucurr_getName(CAD, "en",
+                                             UCURR_NARROW_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
+    assertEquals("CAD.getName(SYMBOL_NAME, en_CA)",
                  UnicodeString("$"),
                  UnicodeString(ucurr_getName(CAD, "en_CA",
                                              UCURR_SYMBOL_NAME,
                                              &isChoiceFormat, &len, &ec)),
                                              possibleDataError);
+    assertEquals("USD.getName(SYMBOL_NAME, en_CA)",
+                 UnicodeString("US$"),
+                 UnicodeString(ucurr_getName(USD, "en_CA",
+                                             UCURR_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
+    assertEquals("USD.getName(NARROW_SYMBOL_NAME, en_CA)",
+                 UnicodeString("$"),
+                 UnicodeString(ucurr_getName(USD, "en_CA",
+                                             UCURR_NARROW_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
     assertEquals("USD.getName(SYMBOL_NAME) in en_NZ",
                  UnicodeString("US$"),
                  UnicodeString(ucurr_getName(USD, "en_NZ",
@@ -2347,6 +2376,18 @@ void NumberFormatTest::TestCurrencyNames(void) {
                                              UCURR_SYMBOL_NAME,
                                              &isChoiceFormat, &len, &ec)),
                                              possibleDataError);
+    assertEquals("USX.getName(SYMBOL_NAME)",
+                 UnicodeString("USX"),
+                 UnicodeString(ucurr_getName(USX, "en_US",
+                                             UCURR_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
+    assertEquals("USX.getName(NARROW_SYMBOL_NAME)",
+                 UnicodeString("USX"),
+                 UnicodeString(ucurr_getName(USX, "en_US",
+                                             UCURR_NARROW_SYMBOL_NAME,
+                                             &isChoiceFormat, &len, &ec)),
+                                             possibleDataError);
     assertEquals("USX.getName(LONG_NAME)",
                  UnicodeString("USX"),
                  UnicodeString(ucurr_getName(USX, "en_US",
@@ -2497,7 +2538,7 @@ void NumberFormatTest::TestSymbolsWithBadLocale(void) {
         UnicodeString intlCurrencySymbol((UChar)0xa4);
 
         intlCurrencySymbol.append((UChar)0xa4);
-        
+
         logln("Current locale is %s", Locale::getDefault().getName());
         Locale::setDefault(locBad, status);
         logln("Current locale is %s", Locale::getDefault().getName());
@@ -3208,7 +3249,7 @@ void NumberFormatTest::TestCompatibleCurrencies() {
     expectParseCurrency(*fmtJP, JPY, 1235,  "\\u00A51,235");
     logln("%s:%d - testing parse of fullwidth yen sign in JP\n", __FILE__, __LINE__);
     expectParseCurrency(*fmtJP, JPY, 1235,  "\\uFFE51,235");
-    
+
     // more..
 */
 }
@@ -3228,7 +3269,7 @@ void NumberFormatTest::expectParseCurrency(const NumberFormat &fmt, const UChar*
             fmt.getLocale(ULOC_ACTUAL_LOCALE, status).getBaseName(),
             text);
     u_austrcpy(theInfo+uprv_strlen(theInfo), currency);
-    
+
     char theOperation[100];
 
     uprv_strcpy(theOperation, theInfo);
@@ -3239,7 +3280,7 @@ void NumberFormatTest::expectParseCurrency(const NumberFormat &fmt, const UChar*
     uprv_strcat(theOperation, ", check currency:");
     assertEquals(theOperation, currency, currencyAmount->getISOCurrency());
 }
-  
+
 
 void NumberFormatTest::TestJB3832(){
     const char* localeID = "pt_PT@currency=PTE";
@@ -3672,7 +3713,7 @@ void NumberFormatTest::TestNumberingSystems() {
         NumberFormat *fmt = (NumberFormat *) origFmt->clone();
         delete origFmt;
 
-        
+
         if (item->isRBNF) {
             expect3(*fmt,item->value,CharsToUnicodeString(item->expectedResult));
         } else {
@@ -4044,7 +4085,7 @@ for (;;) {
         UErrorCode status = U_ZERO_ERROR;
         NumberFormat* numFmt = NumberFormat::createInstance(locale, k, status);
         logln("#%d NumberFormat(%s, %s) Currency=%s\n",
-              i, localeString, currencyStyleNames[kIndex], 
+              i, localeString, currencyStyleNames[kIndex],
               currencyISOCode);
 
         if (U_FAILURE(status)) {
@@ -4063,6 +4104,8 @@ for (;;) {
 
         UnicodeString strBuf;
         numFmt->format(numberToBeFormat, strBuf);
+        // TODO: Re-enable the following test block. It has been disabled since
+        // the code was first checked-in (r25497)
         /*
         int resultDataIndex = 3 + kIndex;
         // DATA[i][resultDataIndex] is the currency format result
@@ -6802,7 +6845,7 @@ void NumberFormatTest::TestFormatAttributes() {
   DecimalFormat *decFmt = (DecimalFormat *) NumberFormat::createInstance(locale, UNUM_CURRENCY, status);
     if (failure(status, "NumberFormat::createInstance", TRUE)) return;
   double val = 12345.67;
-  
+
   {
     int32_t expected[] = {
       UNUM_CURRENCY_FIELD, 0, 1,
@@ -6887,7 +6930,7 @@ const char* attrString(int32_t attrId) {
 
 //
 //   Test formatting & parsing of big decimals.
-//      API test, not a comprehensive test. 
+//      API test, not a comprehensive test.
 //      See DecimalFormatTest/DataDrivenTests
 //
 #define ASSERT_SUCCESS(status) {if (U_FAILURE(status)) errln("file %s, line %d: status: %s", \
@@ -7020,7 +7063,7 @@ void NumberFormatTest::TestDecimal() {
             delete fmtr;
         }
     }
-    
+
 #if U_PLATFORM != U_PF_CYGWIN || defined(CYGWINMSVC)
     /*
      * This test fails on Cygwin (1.7.16) using GCC because of a rounding issue with strtod().
@@ -7072,38 +7115,38 @@ void NumberFormatTest::TestCurrencyFractionDigits() {
     }
 }
 
-void NumberFormatTest::TestExponentParse() { 
-    UErrorCode status = U_ZERO_ERROR; 
-    Formattable result; 
-    ParsePosition parsePos(0); 
-    // set the exponent symbol 
-    status = U_ZERO_ERROR; 
-    DecimalFormatSymbols *symbols = new DecimalFormatSymbols(Locale::getDefault(), status); 
-    if(U_FAILURE(status)) { 
-        dataerrln((UnicodeString)"ERROR: Could not create DecimalFormatSymbols (Default)"); 
-        return; 
-    } 
-    
-    // create format instance 
-    status = U_ZERO_ERROR; 
-    DecimalFormat fmt("#####", symbols, status); 
-    if(U_FAILURE(status)) { 
-        errln((UnicodeString)"ERROR: Could not create DecimalFormat (pattern, symbols*)"); 
-    } 
-    
-    // parse the text 
-    fmt.parse("5.06e-27", result, parsePos); 
-    if(result.getType() != Formattable::kDouble &&  
-       result.getDouble() != 5.06E-27 && 
-       parsePos.getIndex() != 8 
-       ) 
-    { 
-        errln("ERROR: parse failed - expected 5.06E-27, 8  - returned %d, %i", 
-              result.getDouble(), parsePos.getIndex()); 
-    } 
-} 
+void NumberFormatTest::TestExponentParse() {
+
+    UErrorCode status = U_ZERO_ERROR;
+    Formattable result;
+    ParsePosition parsePos(0);
+
+    // set the exponent symbol
+    status = U_ZERO_ERROR;
+    DecimalFormatSymbols *symbols = new DecimalFormatSymbols(Locale::getDefault(), status);
+    if(U_FAILURE(status)) {
+        dataerrln((UnicodeString)"ERROR: Could not create DecimalFormatSymbols (Default)");
+        return;
+    }
+
+    // create format instance
+    status = U_ZERO_ERROR;
+    DecimalFormat fmt("#####", symbols, status);
+    if(U_FAILURE(status)) {
+        errln((UnicodeString)"ERROR: Could not create DecimalFormat (pattern, symbols*)");
+    }
+
+    // parse the text
+    fmt.parse("5.06e-27", result, parsePos);
+    if(result.getType() != Formattable::kDouble &&
+       result.getDouble() != 5.06E-27 &&
+       parsePos.getIndex() != 8
+       )
+    {
+        errln("ERROR: parse failed - expected 5.06E-27, 8  - returned %d, %i",
+              result.getDouble(), parsePos.getIndex());
+    }
+}
 
 void NumberFormatTest::TestExplicitParents() {
 
@@ -7186,13 +7229,13 @@ NumberFormatTest::Test9087(void)
 {
     U_STRING_DECL(pattern,"#",1);
     U_STRING_INIT(pattern,"#",1);
-    
+
     U_STRING_DECL(infstr,"INF",3);
     U_STRING_INIT(infstr,"INF",3);
 
     U_STRING_DECL(nanstr,"NAN",3);
     U_STRING_INIT(nanstr,"NAN",3);
-    
+
     UChar outputbuf[50] = {0};
     UErrorCode status = U_ZERO_ERROR;
     UNumberFormat* fmt = unum_open(UNUM_PATTERN_DECIMAL,pattern,1,NULL,NULL,&status);
@@ -7214,7 +7257,7 @@ NumberFormatTest::Test9087(void)
 
     UFieldPosition position = { 0, 0, 0};
     unum_formatDouble(fmt,inf,outputbuf,50,&position,&status);
-    
+
     if ( u_strcmp(infstr, outputbuf)) {
         errln((UnicodeString)"FAIL: unexpected result for infinity - expected " + infstr + " got " + outputbuf);
     }
@@ -7235,7 +7278,7 @@ void NumberFormatTest::TestFormatFastpaths() {
     }
 #else
     infoln("NOTE: UCONFIG_FORMAT_FASTPATHS not set, test skipped.");
-#endif  
+#endif
 
     // get some additional case
     {
@@ -7498,9 +7541,9 @@ UBool NumberFormatTest::testFormattableAsUFormattable(const char *file, int line
       UErrorCode int64ConversionU = U_ZERO_ERROR;
       int64_t r = ufmt_getInt64(u, &int64ConversionU);
 
-      if( (l==r) 
+      if( (l==r)
           && ( uType != UFMT_INT64 ) // int64 better not overflow
-          && (U_INVALID_FORMAT_ERROR==int64ConversionU) 
+          && (U_INVALID_FORMAT_ERROR==int64ConversionU)
           && (U_INVALID_FORMAT_ERROR==int64ConversionF) ) {
         logln("%s:%d: OK: 64 bit overflow", file, line);
       } else {
@@ -7625,7 +7668,7 @@ void NumberFormatTest::TestSignificantDigits(void) {
     numberFormat->setMinimumSignificantDigits(3);
     numberFormat->setMaximumSignificantDigits(5);
     numberFormat->setGroupingUsed(false);
-    
+
     UnicodeString result;
     UnicodeString expectedResult;
     for (unsigned int i = 0; i < UPRV_LENGTHOF(input); ++i) {
@@ -7647,7 +7690,7 @@ void NumberFormatTest::TestShowZero() {
 
     numberFormat->setSignificantDigitsUsed(TRUE);
     numberFormat->setMaximumSignificantDigits(3);
-    
+
     UnicodeString result;
     numberFormat->format(0.0, result);
     if (result != "0") {
@@ -7664,7 +7707,7 @@ void NumberFormatTest::TestBug9936() {
         dataerrln("File %s, Line %d: status = %s.\n", __FILE__, __LINE__, u_errorName(status));
         return;
     }
-        
+
     if (numberFormat->areSignificantDigitsUsed() == TRUE) {
         errln("File %s, Line %d: areSignificantDigitsUsed() was TRUE, expected FALSE.\n", __FILE__, __LINE__);
     }
@@ -7688,7 +7731,7 @@ void NumberFormatTest::TestBug9936() {
     if (numberFormat->areSignificantDigitsUsed() == FALSE) {
         errln("File %s, Line %d: areSignificantDigitsUsed() was FALSE, expected TRUE.\n", __FILE__, __LINE__);
     }
+
 }
 
 void NumberFormatTest::TestParseNegativeWithFaLocale() {
@@ -7779,7 +7822,7 @@ void NumberFormatTest::TestParseSignsAndMarks() {
         { "en@numbers=arabext", FALSE,  CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"),          -67 },
         { "en@numbers=arabext", TRUE,   CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"),          -67 },
         { "en@numbers=arabext", TRUE,   CharsToUnicodeString("\\u200E-\\u200E \\u06F6\\u06F7"),         -67 },
+
         { "he",                 FALSE,  CharsToUnicodeString("12"),                                      12 },
         { "he",                 TRUE,   CharsToUnicodeString("12"),                                      12 },
         { "he",                 FALSE,  CharsToUnicodeString("-23"),                                    -23 },
@@ -7908,7 +7951,7 @@ void NumberFormatTest::Test10468ApplyPattern() {
     // explicit padding char is specified in the new pattern.
     fmt.applyPattern("AA#,##0.00ZZ", status);
 
-    // Oops this still prints 'a' even though we changed the pattern. 
+    // Oops this still prints 'a' even though we changed the pattern.
     if (fmt.getPadCharacterString() != UnicodeString(" ")) {
         errln("applyPattern did not clear padding character.");
     }
@@ -7921,7 +7964,7 @@ void NumberFormatTest::TestRoundingScientific10542() {
         errcheckln(status, "DecimalFormat constructor failed - %s", u_errorName(status));
         return;
     }
-        
+
     DecimalFormat::ERoundingMode roundingModes[] = {
             DecimalFormat::kRoundCeiling,
             DecimalFormat::kRoundDown,
@@ -7938,7 +7981,7 @@ void NumberFormatTest::TestRoundingScientific10542() {
             "Round half even",
             "Round half up",
             "Round up"};
-        
+
     {
         double values[] = {-0.003006, -0.003005, -0.003004, 0.003014, 0.003015, 0.003016};
         // The order of these expected values correspond to the order of roundingModes and the order of values.
@@ -8231,7 +8274,7 @@ void NumberFormatTest::TestCurrencyUsage() {
             assertEquals("Test Currency Usage 3", UnicodeString("CA$123.57"), original_rounding);
             fmt->setCurrencyUsage(UCURR_USAGE_CASH, &status);
         }else{
-            fmt = (DecimalFormat *) NumberFormat::createInstance(enUS_CAD, UNUM_CASH_CURRENCY, status); 
+            fmt = (DecimalFormat *) NumberFormat::createInstance(enUS_CAD, UNUM_CASH_CURRENCY, status);
             if (assertSuccess("en_US@currency=CAD/CASH", status, TRUE) == FALSE) {
                 continue;
             }
@@ -8632,7 +8675,7 @@ void NumberFormatTest::Test10727_RoundingZero() {
    DigitList d;
    d.set(-0.0);
    assertFalse("", d.isPositive());
-   d.round(3); 
+   d.round(3);
    assertFalse("", d.isPositive());
 }
 
@@ -8648,7 +8691,7 @@ void NumberFormatTest::Test11376_getAndSetPositivePrefix() {
         DecimalFormat *dfmt = (DecimalFormat *) fmt.getAlias();
         dfmt->setCurrency(USD);
         UnicodeString result;
-    
+
         // This line should be a no-op. I am setting the positive prefix
         // to be the same thing it was before.
         dfmt->setPositivePrefix(dfmt->getPositivePrefix(result));
@@ -8772,7 +8815,7 @@ void NumberFormatTest::Test11649_toPatternWithMultiCurrency() {
     static UChar USD[] = {0x55, 0x53, 0x44, 0x0};
     fmt.setCurrency(USD);
     UnicodeString appendTo;
-    
+
     assertEquals("", "US dollars 12.34", fmt.format(12.34, appendTo));
 
     UnicodeString topattern;
@@ -8782,7 +8825,7 @@ void NumberFormatTest::Test11649_toPatternWithMultiCurrency() {
         return;
     }
     fmt2.setCurrency(USD);
-    
+
     appendTo.remove();
     assertEquals("", "US dollars 12.34", fmt2.format(12.34, appendTo));
 }
@@ -8883,4 +8926,49 @@ void NumberFormatTest::checkExceptionIssue11735() {
     assertEquals("Issue11735 ppos", 0, ppos.getIndex());
 }
 
+void NumberFormatTest::Test11035_FormatCurrencyAmount() {
+    UErrorCode status = U_ZERO_ERROR;
+    double amount = 12345.67;
+    const char16_t* expected = u"12,345$67 ​";
+
+    // Test two ways to set a currency via API
+
+    Locale loc1 = Locale("pt_PT");
+    LocalPointer<NumberFormat> fmt1(NumberFormat::createCurrencyInstance("loc1", status),
+                                    status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d NumberFormat instance fmt1 is null",  __FILE__, __LINE__);
+      return;
+    }
+    fmt1->setCurrency(u"PTE", status);
+    assertSuccess("Setting currency on fmt1", status);
+    UnicodeString actualSetCurrency;
+    fmt1->format(amount, actualSetCurrency);
+
+    Locale loc2 = Locale("pt_PT@currency=PTE");
+    LocalPointer<NumberFormat> fmt2(NumberFormat::createCurrencyInstance(loc2, status));
+    assertSuccess("Creating fmt2", status);
+    UnicodeString actualLocaleString;
+    fmt2->format(amount, actualLocaleString);
+
+    // TODO: The following test will fail until DecimalFormat wraps NumberFormatter.
+    if (!logKnownIssue("13574")) {
+        assertEquals("Custom Currency Pattern, Set Currency", expected, actualSetCurrency);
+    }
+}
+
+void NumberFormatTest::Test11318_DoubleConversion() {
+    IcuTestErrorCode status(*this, "Test11318_DoubleConversion");
+    LocalPointer<NumberFormat> nf(NumberFormat::createInstance("en", status), status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d Error in NumberFormat instance creation",  __FILE__, __LINE__);
+      return;
+    }
+    nf->setMaximumFractionDigits(40);
+    nf->setMaximumIntegerDigits(40);
+    UnicodeString appendTo;
+    nf->format(999999999999999.9, appendTo);
+    assertEquals("Should render all digits", u"999,999,999,999,999.9", appendTo);
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 8477fcb..c212bea 100644 (file)
@@ -219,6 +219,8 @@ class NumberFormatTest: public CalendarTimeZoneTest {
     void Test13391_chakmaParsing();
 
     void checkExceptionIssue11735();
+    void Test11035_FormatCurrencyAmount();
+    void Test11318_DoubleConversion();
 
  private:
     UBool testFormattableAsUFormattable(const char *file, int line, Formattable &f);
index 1a87290..fa6ea06 100644 (file)
@@ -1035,7 +1035,7 @@ void RBBIAPITest::RoundtripRule(const char *dataFile) {
 
     builtRules = (const uint8_t *)udata_getMemory(data.getAlias());
     builtSource = (const UChar *)(builtRules + ((RBBIDataHeader*)builtRules)->fRuleSource);
-    RuleBasedBreakIterator *brkItr = new RuleBasedBreakIterator(builtSource, parseError, status);
+    LocalPointer<RuleBasedBreakIterator> brkItr (new RuleBasedBreakIterator(builtSource, parseError, status));
     if (U_FAILURE(status)) {
         errln("%s:%d createRuleBasedBreakIterator: ICU Error \"%s\"  at line %d, column %d\n",
                 __FILE__, __LINE__, u_errorName(status), parseError.line, parseError.offset);
@@ -1048,7 +1048,6 @@ void RBBIAPITest::RoundtripRule(const char *dataFile) {
         errln("%s:%d Built rules and rebuilt rules are different %s", __FILE__, __LINE__, dataFile);
         return;
     }
-    delete brkItr;
 }
 
 void RBBIAPITest::TestRoundtripRules() {
index 2503862..0278516 100644 (file)
@@ -17,6 +17,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <vector>
 
 #include "unicode/brkiter.h"
 #include "unicode/localpointer.h"
 #include "cstr.h"
 #include "intltest.h"
 #include "rbbitst.h"
+#include "rbbidata.h"
 #include "utypeinfo.h"  // for 'typeid' to work
 #include "uvector.h"
 #include "uvectr32.h"
 
+
 #if !UCONFIG_NO_FILTERED_BREAK_ITERATION
 #include "unicode/filteredbrk.h"
 #endif // !UCONFIG_NO_FILTERED_BREAK_ITERATION
@@ -75,7 +78,6 @@ void RBBITest::runIndexedTest( int32_t index, UBool exec, const char* &name, cha
 #endif
 #if !UCONFIG_NO_FILE_IO
     TESTCASE_AUTO(TestUnicodeFiles);
-    TESTCASE_AUTO(TestEmptyString);
 #endif
     TESTCASE_AUTO(TestGetAvailableLocales);
     TESTCASE_AUTO(TestGetDisplayName);
@@ -106,151 +108,13 @@ void RBBITest::runIndexedTest( int32_t index, UBool exec, const char* &name, cha
     TESTCASE_AUTO(TestBug12932);
     TESTCASE_AUTO(TestEmoji);
     TESTCASE_AUTO(TestBug12519);
+    TESTCASE_AUTO(TestBug12677);
+    TESTCASE_AUTO(TestTableRedundancies);
+    TESTCASE_AUTO(TestBug13447);
     TESTCASE_AUTO_END;
 }
 
 
-//---------------------------------------------------------------------------
-//
-//   class BITestData   Holds a set of Break iterator test data and results
-//                      Includes
-//                         - the string data to be broken
-//                         - a vector of the expected break positions.
-//                         - a vector of source line numbers for the data,
-//                               (to help see where errors occured.)
-//                         - The expected break tag values.
-//                         - Vectors of actual break positions and tag values.
-//                         - Functions for comparing actual with expected and
-//                            reporting errors.
-//
-//----------------------------------------------------------------------------
-class BITestData {
-public:
-    UnicodeString    fDataToBreak;
-    UVector          fExpectedBreakPositions;
-    UVector          fExpectedTags;
-    UVector          fLineNum;
-    UVector          fActualBreakPositions;   // Test Results.
-    UVector          fActualTags;
-
-    BITestData(UErrorCode &status);
-    void             addDataChunk(const char *data, int32_t tag, int32_t lineNum, UErrorCode status);
-    void             checkResults(const char *heading, RBBITest *test);
-    void             err(const char *heading, RBBITest *test, int32_t expectedIdx, int32_t actualIdx);
-    void             clearResults();
-};
-
-//
-// Constructor.
-//
-BITestData::BITestData(UErrorCode &status)
-: fExpectedBreakPositions(status), fExpectedTags(status),  fLineNum(status), fActualBreakPositions(status),
-  fActualTags(status)
-{
-}
-
-//
-// addDataChunk.   Add a section (non-breaking) piece if data to the test data.
-//                 The macro form collects the line number, which is helpful
-//                 when tracking down failures.
-//
-//                 A null data item is inserted at the start of each test's data
-//                  to put the starting zero into the data list.  The position saved for
-//                  each non-null item is its ending position.
-//
-#define ADD_DATACHUNK(td, data, tag, status)   td.addDataChunk(data, tag, __LINE__, status);
-void BITestData::addDataChunk(const char *data, int32_t tag, int32_t lineNum, UErrorCode status) {
-    if (U_FAILURE(status)) {return;}
-    if (data != NULL) {
-        fDataToBreak.append(CharsToUnicodeString(data));
-    }
-    fExpectedBreakPositions.addElement(fDataToBreak.length(), status);
-    fExpectedTags.addElement(tag, status);
-    fLineNum.addElement(lineNum, status);
-}
-
-
-//
-//  checkResults.   Compare the actual and expected break positions, report any differences.
-//
-void BITestData::checkResults(const char *heading, RBBITest *test) {
-    int32_t   expectedIndex = 0;
-    int32_t   actualIndex = 0;
-
-    for (;;) {
-        // If we've run through both the expected and actual results vectors, we're done.
-        //   break out of the loop.
-        if (expectedIndex >= fExpectedBreakPositions.size() &&
-            actualIndex   >= fActualBreakPositions.size()) {
-            break;
-        }
-
-
-        if (expectedIndex >= fExpectedBreakPositions.size()) {
-            err(heading, test, expectedIndex-1, actualIndex);
-            actualIndex++;
-            continue;
-        }
-
-        if (actualIndex >= fActualBreakPositions.size()) {
-            err(heading, test, expectedIndex, actualIndex-1);
-            expectedIndex++;
-            continue;
-        }
-
-        if (fActualBreakPositions.elementAti(actualIndex) != fExpectedBreakPositions.elementAti(expectedIndex)) {
-            err(heading, test, expectedIndex, actualIndex);
-            // Try to resync the positions of the indices, to avoid a rash of spurious erros.
-            if (fActualBreakPositions.elementAti(actualIndex) < fExpectedBreakPositions.elementAti(expectedIndex)) {
-                actualIndex++;
-            } else {
-                expectedIndex++;
-            }
-            continue;
-        }
-
-        if (fActualTags.elementAti(actualIndex) != fExpectedTags.elementAti(expectedIndex)) {
-            test->errln("%s, tag mismatch.  Test Line = %d, expected tag=%d, got %d",
-                heading, fLineNum.elementAt(expectedIndex),
-                fExpectedTags.elementAti(expectedIndex), fActualTags.elementAti(actualIndex));
-        }
-
-        actualIndex++;
-        expectedIndex++;
-    }
-}
-
-//
-//  err   -  An error was found.  Report it, along with information about where the
-//                                incorrectly broken test data appeared in the source file.
-//
-void    BITestData::err(const char *heading, RBBITest *test, int32_t expectedIdx, int32_t actualIdx)
-{
-    int32_t   expected = fExpectedBreakPositions.elementAti(expectedIdx);
-    int32_t   actual   = fActualBreakPositions.elementAti(actualIdx);
-    int32_t   o        = 0;
-    int32_t   line     = fLineNum.elementAti(expectedIdx);
-    if (expectedIdx > 0) {
-        // The line numbers are off by one because a premature break occurs somewhere
-        //    within the previous item, rather than at the start of the current (expected) item.
-        //    We want to report the offset of the unexpected break from the start of
-        //      this previous item.
-        o    = actual - fExpectedBreakPositions.elementAti(expectedIdx-1);
-    }
-    if (actual < expected) {
-        test->errln("%s unexpected break at offset %d in test item from line %d. actual break: %d  expected break: %d", heading, o, line, actual, expected);
-    } else {
-        test->errln("%s Failed to find break at end of item from line %d. actual break: %d  expected break: %d", heading, line, actual, expected);
-    }
-}
-
-
-void BITestData::clearResults() {
-    fActualBreakPositions.removeAllElements();
-    fActualTags.removeAllElements();
-}
-
-
 //--------------------------------------------------------------------------------------
 //
 //    RBBITest    constructor and destructor
@@ -345,277 +209,12 @@ void RBBITest::TestBug3818() {
     delete bi;
 }
 
-//----------------------------------------------------------------------------
-//
-// generalIteratorTest      Given a break iterator and a set of test data,
-//                          Run the tests and report the results.
-//
-//----------------------------------------------------------------------------
-void RBBITest::generalIteratorTest(RuleBasedBreakIterator& bi, BITestData &td)
-{
-
-    bi.setText(td.fDataToBreak);
-
-    testFirstAndNext(bi, td);
-
-    testLastAndPrevious(bi, td);
-
-    testFollowing(bi, td);
-    testPreceding(bi, td);
-    testIsBoundary(bi, td);
-    doMultipleSelectionTest(bi, td);
-}
-
-
-//
-//   testFirstAndNext.   Run the iterator forwards in the obvious first(), next()
-//                       kind of loop.
-//
-void RBBITest::testFirstAndNext(RuleBasedBreakIterator& bi, BITestData &td)
-{
-    UErrorCode  status = U_ZERO_ERROR;
-    int32_t     p;
-    int32_t     lastP = -1;
-    int32_t     tag;
-
-    logln("Test first and next");
-    bi.setText(td.fDataToBreak);
-    td.clearResults();
-
-    for (p=bi.first(); p!=RuleBasedBreakIterator::DONE; p=bi.next()) {
-        td.fActualBreakPositions.addElement(p, status);  // Save result.
-        tag = bi.getRuleStatus();
-        td.fActualTags.addElement(tag, status);
-        if (p <= lastP) {
-            // If the iterator is not making forward progress, stop.
-            //  No need to raise an error here, it'll be detected in the normal check of results.
-            break;
-        }
-        lastP = p;
-    }
-    td.checkResults("testFirstAndNext", this);
-}
-
-
-//
-//  TestLastAndPrevious.   Run the iterator backwards, starting with last().
-//
-void  RBBITest::testLastAndPrevious(RuleBasedBreakIterator& bi,  BITestData &td)
-{
-    UErrorCode  status = U_ZERO_ERROR;
-    int32_t     p;
-    int32_t     lastP  = 0x7ffffffe;
-    int32_t     tag;
-
-    logln("Test last and previous");
-    bi.setText(td.fDataToBreak);
-    td.clearResults();
-
-    for (p=bi.last(); p!=RuleBasedBreakIterator::DONE; p=bi.previous()) {
-        // Save break position.  Insert it at start of vector of results, shoving
-        //    already-saved results further towards the end.
-        td.fActualBreakPositions.insertElementAt(p, 0, status);
-        // bi.previous();   // TODO:  Why does this fix things up????
-        // bi.next();
-        tag = bi.getRuleStatus();
-        td.fActualTags.insertElementAt(tag, 0, status);
-        if (p >= lastP) {
-            // If the iterator is not making progress, stop.
-            //  No need to raise an error here, it'll be detected in the normal check of results.
-            break;
-        }
-        lastP = p;
-    }
-    td.checkResults("testLastAndPrevious", this);
-}
-
-
-void RBBITest::testFollowing(RuleBasedBreakIterator& bi, BITestData &td)
-{
-    UErrorCode  status = U_ZERO_ERROR;
-    int32_t     p;
-    int32_t     tag;
-    int32_t     lastP  = -2;     // A value that will never be returned as a break position.
-                                 //   cannot be -1; that is returned for DONE.
-    int         i;
-
-    logln("testFollowing():");
-    bi.setText(td.fDataToBreak);
-    td.clearResults();
-
-    // Save the starting point, since we won't get that out of following.
-    p = bi.first();
-    td.fActualBreakPositions.addElement(p, status);  // Save result.
-    tag = bi.getRuleStatus();
-    td.fActualTags.addElement(tag, status);
-
-    for (i = 0; i <= td.fDataToBreak.length()+1; i++) {
-        p = bi.following(i);
-        if (p != lastP) {
-            if (p == RuleBasedBreakIterator::DONE) {
-                break;
-            }
-            // We've reached a new break position.  Save it.
-            td.fActualBreakPositions.addElement(p, status);  // Save result.
-            tag = bi.getRuleStatus();
-            td.fActualTags.addElement(tag, status);
-            lastP = p;
-        }
-    }
-    // The loop normally exits by means of the break in the middle.
-    // Make sure that the index was at the correct position for the break iterator to have
-    //   returned DONE.
-    if (i != td.fDataToBreak.length()) {
-        errln("testFollowing():  iterator returned DONE prematurely.");
-    }
-
-    // Full check of all results.
-    td.checkResults("testFollowing", this);
-}
-
-
-
-void RBBITest::testPreceding(RuleBasedBreakIterator& bi,  BITestData &td) {
-    UErrorCode  status = U_ZERO_ERROR;
-    int32_t     p;
-    int32_t     tag;
-    int32_t     lastP  = 0x7ffffffe;
-    int         i;
-
-    logln("testPreceding():");
-    bi.setText(td.fDataToBreak);
-    td.clearResults();
-
-    p = bi.last();
-    td.fActualBreakPositions.addElement(p, status);
-    tag = bi.getRuleStatus();
-    td.fActualTags.addElement(tag, status);
-
-    for (i = td.fDataToBreak.length(); i>=-1; i--) {
-        p = bi.preceding(i);
-        if (p != lastP) {
-            if (p == RuleBasedBreakIterator::DONE) {
-                break;
-            }
-            // We've reached a new break position.  Save it.
-            td.fActualBreakPositions.insertElementAt(p, 0, status);
-            lastP = p;
-            tag = bi.getRuleStatus();
-            td.fActualTags.insertElementAt(tag, 0, status);
-        }
-    }
-    // The loop normally exits by means of the break in the middle.
-    // Make sure that the index was at the correct position for the break iterator to have
-    //   returned DONE.
-    if (i != 0) {
-        errln("testPreceding():  iterator returned DONE prematurely.");
-    }
-
-    // Full check of all results.
-    td.checkResults("testPreceding", this);
-}
-
-
-
-void RBBITest::testIsBoundary(RuleBasedBreakIterator& bi,  BITestData &td) {
-    UErrorCode  status = U_ZERO_ERROR;
-    int         i;
-    int32_t     tag;
-
-    logln("testIsBoundary():");
-    bi.setText(td.fDataToBreak);
-    td.clearResults();
-
-    for (i = 0; i <= td.fDataToBreak.length(); i++) {
-        if (bi.isBoundary(i)) {
-            td.fActualBreakPositions.addElement(i, status);  // Save result.
-            tag = bi.getRuleStatus();
-            td.fActualTags.addElement(tag, status);
-        }
-    }
-    td.checkResults("testIsBoundary: ", this);
-}
-
-
-
-void RBBITest::doMultipleSelectionTest(RuleBasedBreakIterator& iterator, BITestData &td)
-{
-    iterator.setText(td.fDataToBreak);
-
-    RuleBasedBreakIterator* testIterator =(RuleBasedBreakIterator*)iterator.clone();
-    int32_t offset = iterator.first();
-    int32_t testOffset;
-    int32_t count = 0;
-
-    logln("doMultipleSelectionTest text of length: %d", td.fDataToBreak.length());
-
-    if (*testIterator != iterator)
-        errln("clone() or operator!= failed: two clones compared unequal");
-
-    do {
-        testOffset = testIterator->first();
-        testOffset = testIterator->next(count);
-        if (offset != testOffset)
-            errln(UnicodeString("next(n) and next() not returning consistent results: for step ") + count + ", next(n) returned " + testOffset + " and next() had " + offset);
-
-        if (offset != RuleBasedBreakIterator::DONE) {
-            count++;
-            offset = iterator.next();
-
-            if (offset != RuleBasedBreakIterator::DONE && *testIterator == iterator) {
-                errln("operator== failed: Two unequal iterators compared equal. count=%d offset=%d", count, offset);
-                if (count > 10000 || offset == -1) {
-                    errln("operator== failed too many times. Stopping test.");
-                    if (offset == -1) {
-                        errln("Does (RuleBasedBreakIterator::DONE == -1)?");
-                    }
-                    return;
-                }
-            }
-        }
-    } while (offset != RuleBasedBreakIterator::DONE);
-
-    // now do it backwards...
-    offset = iterator.last();
-    count = 0;
-
-    do {
-        testOffset = testIterator->last();
-        testOffset = testIterator->next(count);   // next() with a negative arg is same as previous
-        if (offset != testOffset)
-            errln(UnicodeString("next(n) and next() not returning consistent results: for step ") + count + ", next(n) returned " + testOffset + " and next() had " + offset);
-
-        if (offset != RuleBasedBreakIterator::DONE) {
-            count--;
-            offset = iterator.previous();
-        }
-    } while (offset != RuleBasedBreakIterator::DONE);
-
-    delete testIterator;
-}
-
 
 //---------------------------------------------
 //
 //     other tests
 //
 //---------------------------------------------
-void RBBITest::TestEmptyString()
-{
-    UnicodeString text = "";
-    UErrorCode status = U_ZERO_ERROR;
-
-    BITestData x(status);
-    ADD_DATACHUNK(x, "", 0, status);           // Break at start of data
-    RuleBasedBreakIterator* bi = (RuleBasedBreakIterator *)BreakIterator::createLineInstance(Locale::getDefault(), status);
-    if (U_FAILURE(status))
-    {
-        errcheckln(status, "Failed to create the BreakIterator for default locale in TestEmptyString. - %s", u_errorName(status));
-        return;
-    }
-    generalIteratorTest(*bi, x);
-    delete bi;
-}
 
 void RBBITest::TestGetAvailableLocales()
 {
@@ -4843,6 +4442,102 @@ void RBBITest::TestBug12519() {
     assertTrue(WHERE "after assignment of \"biDe = biFr\", they should be equal, but are not.", *biFr == *biDe);
 }
 
+void RBBITest::TestBug12677() {
+    // Check that stripping of comments from rules for getRules() is not confused by
+    // the presence of '#' characters in the rules that do not introduce comments.
+    UnicodeString rules(u"!!forward; \n"
+                         "$x = [ab#];  # a set with a # literal. \n"
+                         " # .;        # a comment that looks sort of like a rule.   \n"
+                         " '#' '?';    # a rule with a quoted #   \n"
+                       );
+
+    UErrorCode status = U_ZERO_ERROR;
+    UParseError pe;
+    RuleBasedBreakIterator bi(rules, pe, status);
+    assertSuccess(WHERE, status);
+    UnicodeString rtRules = bi.getRules();
+    assertEquals(WHERE, UnicodeString(u"!!forward; $x = [ab#]; '#' '?'; "),  rtRules);
+}
+
+
+void RBBITest::TestTableRedundancies() {
+    UErrorCode status = U_ZERO_ERROR;
+    
+    LocalPointer<RuleBasedBreakIterator> bi (
+        (RuleBasedBreakIterator *)BreakIterator::createLineInstance(Locale::getEnglish(), status));
+    assertSuccess(WHERE, status);
+    if (U_FAILURE(status)) return;
+
+    RBBIDataWrapper *dw = bi->fData;
+    const RBBIStateTable *fwtbl = dw->fForwardTable;
+    int32_t numCharClasses = dw->fHeader->fCatCount;
+    // printf("Char Classes: %d     states: %d\n", numCharClasses, fwtbl->fNumStates);
+
+    // Check for duplicate columns (character categories)
+
+    std::vector<UnicodeString> columns;
+    for (int32_t column = 0; column < numCharClasses; column++) {
+        UnicodeString s;
+        for (int32_t r = 1; r < (int32_t)fwtbl->fNumStates; r++) {
+            RBBIStateTableRow  *row = (RBBIStateTableRow *) (fwtbl->fTableData + (fwtbl->fRowLen * r));
+            s.append(row->fNextState[column]);
+        }
+        columns.push_back(s);
+    }
+    // Ignore column (char class) 0 while checking; it's special, and may have duplicates.
+    for (int c1=1; c1<numCharClasses; c1++) {
+        for (int c2 = c1+1; c2 < numCharClasses; c2++) {
+            if (columns.at(c1) == columns.at(c2)) {
+                errln("%s:%d Duplicate columns (%d, %d)\n", __FILE__, __LINE__, c1, c2);
+                goto out;
+            }
+        }
+    }
+  out:
+
+    // Check for duplicate states
+    std::vector<UnicodeString> rows;
+    for (int32_t r=0; r < (int32_t)fwtbl->fNumStates; r++) {
+        UnicodeString s;
+        RBBIStateTableRow  *row = (RBBIStateTableRow *) (fwtbl->fTableData + (fwtbl->fRowLen * r));
+        assertTrue(WHERE, row->fAccepting >= -1);
+        s.append(row->fAccepting + 1);   // values of -1 are expected.
+        s.append(row->fLookAhead);
+        s.append(row->fTagIdx);
+        for (int32_t column = 0; column < numCharClasses; column++) {
+            s.append(row->fNextState[column]);
+        }
+        rows.push_back(s);
+    }
+    for (int r1=0; r1 < (int32_t)fwtbl->fNumStates; r1++) {
+        for (int r2 = r1+1; r2 < (int32_t)fwtbl->fNumStates; r2++) {
+            if (rows.at(r1) == rows.at(r2)) {
+                errln("%s:%d Duplicate rows (%d, %d)\n", __FILE__, __LINE__, r1, r2);
+                return;
+            }
+        }
+    }
+}
+
+// Bug 13447: verify that getRuleStatus() returns the value corresponding to current(),
+//            even after next() has returned DONE.
+
+void RBBITest::TestBug13447() {
+    UErrorCode status = U_ZERO_ERROR;
+    LocalPointer<RuleBasedBreakIterator> bi(
+        (RuleBasedBreakIterator *)BreakIterator::createWordInstance(Locale::getEnglish(), status));
+    assertSuccess(WHERE, status);
+    if (U_FAILURE(status)) return;
+    UnicodeString data(u"1234");
+    bi->setText(data);
+    assertEquals(WHERE, UBRK_WORD_NONE, bi->getRuleStatus());
+    assertEquals(WHERE, 4, bi->next());
+    assertEquals(WHERE, UBRK_WORD_NUMBER, bi->getRuleStatus());
+    assertEquals(WHERE, UBRK_DONE, bi->next());
+    assertEquals(WHERE, 4, bi->current());
+    assertEquals(WHERE, UBRK_WORD_NUMBER, bi->getRuleStatus());
+}
+
 //
 //  TestDebug    -  A place-holder test for debugging purposes.
 //                  For putting in fragments of other tests that can be invoked
index ba3c5b9..21fdfb9 100644 (file)
@@ -41,7 +41,6 @@ public:
 
     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
 
-    void TestEmptyString();
     void TestGetAvailableLocales();
     void TestGetDisplayName();
     void TestEndBehaviour();
@@ -75,6 +74,9 @@ public:
     void TestBug12932();
     void TestEmoji();
     void TestBug12519();
+    void TestBug12677();
+    void TestTableRedundancies();
+    void TestBug13447();
 
     void TestDebug();
     void TestProperties();
@@ -85,40 +87,6 @@ private:
      * internal methods to prepare test data
      **/
 
-    /**
-     * Perform tests of BreakIterator forward and backward functionality
-     * on different kinds of iterators (word, sentence, line and character).
-     * It tests the methods first(), next(), current(), preceding(), following()
-     * previous() and isBoundary().
-     * It makes use of internal functions to achieve this.
-     **/
-    void generalIteratorTest(RuleBasedBreakIterator& bi, BITestData  &td);
-    /**
-     * Internal method to perform iteration and test the first() and next() functions
-     **/
-    void testFirstAndNext(RuleBasedBreakIterator& bi, BITestData &td);
-    /**
-     * Internal method to perform iteration and test the last() and previous() functions
-     **/
-    void testLastAndPrevious(RuleBasedBreakIterator& bi, BITestData &td);
-    /**
-     * Internal method to perform iteration and test the following() function
-     **/
-    void testFollowing(RuleBasedBreakIterator& bi, BITestData &td);
-    /**
-     * Internal method to perform iteration and test the preceding() function
-     **/
-    void testPreceding(RuleBasedBreakIterator& bi, BITestData &td);
-    /**
-     * Internal method to perform iteration and test the isBoundary() function
-     **/
-    void testIsBoundary(RuleBasedBreakIterator& bi, BITestData &td);
-    /**
-     * Internal method to perform tests of BreakIterator multiple selection functionality
-     * on different kinds of iterators (word, sentence, line and character)
-     **/
-    void doMultipleSelectionTest(RuleBasedBreakIterator& iterator, BITestData &td);
-
     void RunMonkey(BreakIterator *bi, RBBIMonkeyKind &mk, const char *name, uint32_t  seed,
         int32_t loopCount, UBool useUText);
 
index 398bc68..4b0a2f4 100644 (file)
@@ -39,6 +39,7 @@
 #include "unicode/ustring.h"
 #include "unicode/utext.h"
 #include "unicode/utf16.h"
+#include "cstr.h"
 #include "regextst.h"
 #include "regexcmp.h"
 #include "uvector.h"
@@ -101,6 +102,8 @@ void RegexTest::runIndexedTest( int32_t index, UBool exec, const char* &name, ch
     TESTCASE_AUTO(NamedCapture);
     TESTCASE_AUTO(NamedCaptureLimits);
     TESTCASE_AUTO(TestBug12884);
+    TESTCASE_AUTO(TestBug13631);
+    TESTCASE_AUTO(TestBug13632);
     TESTCASE_AUTO_END;
 }
 
@@ -5806,4 +5809,46 @@ void RegexTest::TestBug12884() {
     REGEX_ASSERT(status == U_REGEX_TIME_OUT);
 }
 
+// Bug 13631. A find() of a pattern with a zero length look-behind assertions
+//            can cause a read past the end of the input text.
+//            The failure is seen when running this test with Clang's Addresss Sanitizer.
+
+void RegexTest::TestBug13631() {
+    const UChar *pats[] = { u"(?<!^)",
+                            u"(?<=^)",
+                            nullptr
+                          };
+    for (const UChar **pat=pats; *pat; ++pat) {
+        UErrorCode status = U_ZERO_ERROR;
+        UnicodeString upat(*pat);
+        RegexMatcher matcher(upat, 0, status);
+        const UChar s =u'a';
+        UText *ut = utext_openUChars(nullptr, &s, 1, &status);
+        REGEX_CHECK_STATUS;
+        matcher.reset(ut);
+        while (matcher.find()) {
+        }
+        utext_close(ut);
+    }
+}
+
+// Bug 13632 Out of bounds memory reference if a replacement string ends with a '$',
+//           where a following group specification would be expected.
+//           Failure shows when running the test under Clang's Address Sanitizer.
+
+void RegexTest::TestBug13632() {
+    UErrorCode status = U_ZERO_ERROR;
+    URegularExpression *re = uregex_openC(" ", 0, nullptr, &status);
+    const char16_t *sourceString = u"Hello, world.";
+    uregex_setText(re, sourceString, u_strlen(sourceString), &status);
+
+    const int32_t destCap = 20;
+    char16_t dest[destCap] = {};
+    const char16_t replacement[] = {u'x', u'$'};    // Not nul terminated string.
+    uregex_replaceAll(re, replacement, 2, dest, destCap, &status);
+
+    assertEquals("", U_REGEX_INVALID_CAPTURE_GROUP_NAME, status);
+    uregex_close(re);
+}
+
 #endif  /* !UCONFIG_NO_REGULAR_EXPRESSIONS  */
index 3f90de0..cfa62d7 100644 (file)
@@ -57,7 +57,9 @@ public:
     virtual void TestBug11371();
     virtual void TestBug11480();
     virtual void TestBug12884();
-    
+    virtual void TestBug13631();
+    virtual void TestBug13632();
+
     // The following functions are internal to the regexp tests.
     virtual void assertUText(const char *expected, UText *actual, const char *file, int line);
     virtual void assertUTextInvariant(const char *invariant, UText *actual, const char *file, int line);
index 4d3561a..20d62f3 100644 (file)
@@ -96,12 +96,12 @@ static KnownRegion knownRegions[] = {
     { "BS" ,  44, "029", URGN_TERRITORY, "019" },
     { "BT" ,  64, "034", URGN_TERRITORY, "142" },
     { "BU" , 104, "035", URGN_TERRITORY, "142" },
-    { "BV" ,  74, "QO" , URGN_TERRITORY, "009" },
+    { "BV" ,  74, "005", URGN_TERRITORY, "019" },
     { "BW" ,  72, "018", URGN_TERRITORY, "002" },
     { "BY" , 112, "151", URGN_TERRITORY, "150" },
     { "BZ" ,  84, "013", URGN_TERRITORY, "019" },
     { "CA" , 124, "021", URGN_TERRITORY, "019" },
-    { "CC" , 166, "QO" , URGN_TERRITORY, "009" },
+    { "CC" , 166, "053", URGN_TERRITORY, "009" },
     { "CD" , 180, "017", URGN_TERRITORY, "002" },
     { "CF" , 140, "017", URGN_TERRITORY, "002" },
     { "CG" , 178, "017", URGN_TERRITORY, "002" },
@@ -117,7 +117,7 @@ static KnownRegion knownRegions[] = {
     { "CU" , 192, "029", URGN_TERRITORY, "019" },
     { "CV" , 132, "011", URGN_TERRITORY, "002" },
     { "CW" , 531, "029", URGN_TERRITORY, "019" },
-    { "CX" , 162, "QO" , URGN_TERRITORY, "009" },
+    { "CX" , 162, "053", URGN_TERRITORY, "009" },
     { "CY" , 196, "145", URGN_TERRITORY, "142" },
     { "CZ" , 203, "151", URGN_TERRITORY, "150" },
     { "DD" , 276, "155", URGN_TERRITORY, "150" },
@@ -158,13 +158,13 @@ static KnownRegion knownRegions[] = {
     { "GP" , 312, "029", URGN_TERRITORY, "019" },
     { "GQ" , 226, "017", URGN_TERRITORY, "002" },
     { "GR" , 300, "039", URGN_TERRITORY, "150" },
-    { "GS" , 239, "QO" , URGN_TERRITORY, "009" },
+    { "GS" , 239, "005", URGN_TERRITORY, "019" },
     { "GT" , 320, "013", URGN_TERRITORY, "019" },
     { "GU" , 316, "057", URGN_TERRITORY, "009" },
     { "GW" , 624, "011", URGN_TERRITORY, "002" },
     { "GY" , 328, "005", URGN_TERRITORY, "019" },
     { "HK" , 344, "030", URGN_TERRITORY, "142" },
-    { "HM" , 334, "QO" , URGN_TERRITORY, "009" },
+    { "HM" , 334, "053", URGN_TERRITORY, "009" },
     { "HN" , 340, "013", URGN_TERRITORY, "019" },
     { "HR" , 191, "039", URGN_TERRITORY, "150" },
     { "HT" , 332, "029", URGN_TERRITORY, "019" },
@@ -175,7 +175,7 @@ static KnownRegion knownRegions[] = {
     { "IL" , 376, "145", URGN_TERRITORY, "142" },
     { "IM" , 833, "154", URGN_TERRITORY, "150" },
     { "IN" , 356, "034", URGN_TERRITORY, "142" },
-    { "IO" ,  86, "QO" , URGN_TERRITORY, "009" },
+    { "IO" ,  86, "014", URGN_TERRITORY, "002" },
     { "IQ" , 368, "145", URGN_TERRITORY, "142" },
     { "IR" , 364, "034", URGN_TERRITORY, "142" },
     { "IS" , 352, "154", URGN_TERRITORY, "150" },
@@ -290,7 +290,7 @@ static KnownRegion knownRegions[] = {
     { "TA" ,  -1, "QO",  URGN_TERRITORY, "009" },
     { "TC" , 796, "029", URGN_TERRITORY, "019" },
     { "TD" , 148, "017", URGN_TERRITORY, "002" },
-    { "TF" , 260, "QO" , URGN_TERRITORY, "009" },
+    { "TF" , 260, "145", URGN_TERRITORY, "142" },
     { "TG" , 768, "011", URGN_TERRITORY, "002" },
     { "TH" , 764, "035", URGN_TERRITORY, "142" },
     { "TJ" , 762, "143", URGN_TERRITORY, "142" },
@@ -307,7 +307,7 @@ static KnownRegion knownRegions[] = {
     { "TZ" , 834, "014", URGN_TERRITORY, "002" },
     { "UA" , 804, "151", URGN_TERRITORY, "150" },
     { "UG" , 800, "014", URGN_TERRITORY, "002" },
-    { "UM" , 581, "QO" , URGN_TERRITORY, "009" },
+    { "UM" , 581, "057", URGN_TERRITORY, "009" },
     { "US" , 840, "021", URGN_TERRITORY, "019" },
     { "UY" , 858, "005", URGN_TERRITORY, "019" },
     { "UZ" , 860, "143", URGN_TERRITORY, "142" },
index 90198e0..1ed6d76 100644 (file)
@@ -23,6 +23,7 @@ void IntlTestDecimalFormatSymbols::runIndexedTest( int32_t index, UBool exec, co
     TESTCASE_AUTO_BEGIN;
     TESTCASE_AUTO(testSymbols);
     TESTCASE_AUTO(testLastResortData);
+    TESTCASE_AUTO(testDigitSymbols);
     TESTCASE_AUTO(testNumberingSystem);
     TESTCASE_AUTO_END;
 }
@@ -249,6 +250,102 @@ void IntlTestDecimalFormatSymbols::testLastResortData() {
     Verify(1234567.25, "#,##0.##", *lastResort, "1,234,567.25");
 }
 
+void IntlTestDecimalFormatSymbols::testDigitSymbols() {
+    // This test does more in ICU4J than in ICU4C right now.
+    // In ICU4C, it is basically just a test for codePointZero and getConstDigitSymbol.
+    UChar defZero = u'0';
+    UChar32 osmanyaZero = U'\U000104A0';
+    static const UChar* osmanyaDigitStrings[] = {
+        u"\U000104A0", u"\U000104A1", u"\U000104A2", u"\U000104A3", u"\U000104A4",
+        u"\U000104A5", u"\U000104A6", u"\U000104A7", u"\U000104A8", u"\U000104A9"
+    };
+
+    IcuTestErrorCode status(*this, "testDigitSymbols()");
+    DecimalFormatSymbols symbols(Locale("en"), status);
+
+    if (defZero != symbols.getCodePointZero()) {
+        errln("ERROR: Code point zero be ASCII 0");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("i. ASCII Digit at index ") + Int64ToUnicodeString(i),
+            UnicodeString(u'0' + i),
+            symbols.getConstDigitSymbol(i));
+    }
+
+    for (int32_t i=0; i<=9; i++) {
+        DecimalFormatSymbols::ENumberFormatSymbol key =
+            i == 0
+            ? DecimalFormatSymbols::kZeroDigitSymbol
+            : static_cast<DecimalFormatSymbols::ENumberFormatSymbol>
+                (DecimalFormatSymbols::kOneDigitSymbol + i - 1);
+        symbols.setSymbol(key, UnicodeString(osmanyaDigitStrings[i]), FALSE);
+    }
+    // NOTE: in ICU4J, the calculation of codePointZero is smarter;
+    // in ICU4C, it is more conservative and is only set if propogateDigits is true.
+    if (-1 != symbols.getCodePointZero()) {
+        errln("ERROR: Code point zero be invalid");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("ii. Osmanya digit at index ") + Int64ToUnicodeString(i),
+            UnicodeString(osmanyaDigitStrings[i]),
+            symbols.getConstDigitSymbol(i));
+    }
+
+    // Check Osmanya codePointZero
+    symbols.setSymbol(
+        DecimalFormatSymbols::kZeroDigitSymbol,
+        UnicodeString(osmanyaDigitStrings[0]), TRUE);
+    if (osmanyaZero != symbols.getCodePointZero()) {
+        errln("ERROR: Code point zero be Osmanya code point zero");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("iii. Osmanya digit at index ") + Int64ToUnicodeString(i),
+            UnicodeString(osmanyaDigitStrings[i]),
+            symbols.getConstDigitSymbol(i));
+    }
+
+    // Check after copy
+    DecimalFormatSymbols copy(symbols);
+    if (osmanyaZero != copy.getCodePointZero()) {
+        errln("ERROR: Code point zero be Osmanya code point zero");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("iv. After copy at index ") + Int64ToUnicodeString(i),
+            UnicodeString(osmanyaDigitStrings[i]),
+            copy.getConstDigitSymbol(i));
+    }
+
+    // Check when loaded from resource bundle
+    DecimalFormatSymbols fromData(Locale("en@numbers=osma"), status);
+    if (osmanyaZero != fromData.getCodePointZero()) {
+        errln("ERROR: Code point zero be Osmanya code point zero");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("v. Resource bundle at index ") + Int64ToUnicodeString(i),
+            UnicodeString(osmanyaDigitStrings[i]),
+            fromData.getConstDigitSymbol(i));
+    }
+
+    // Setting a digit somewhere in the middle should invalidate codePointZero
+    symbols.setSymbol(DecimalFormatSymbols::kOneDigitSymbol, u"foo", FALSE);
+    if (-1 != symbols.getCodePointZero()) {
+        errln("ERROR: Code point zero be invalid");
+    }
+
+    // Reset digits to Latin
+    symbols.setSymbol(
+        DecimalFormatSymbols::kZeroDigitSymbol,
+        UnicodeString(defZero));
+    if (defZero != symbols.getCodePointZero()) {
+        errln("ERROR: Code point zero be ASCII 0");
+    }
+    for (int32_t i=0; i<=9; i++) {
+        assertEquals(UnicodeString("vi. ASCII Digit at index ") + Int64ToUnicodeString(i),
+            UnicodeString(u'0' + i),
+            symbols.getConstDigitSymbol(i));
+    }
+}
+
 void IntlTestDecimalFormatSymbols::testNumberingSystem() {
     IcuTestErrorCode errorCode(*this, "testNumberingSystem");
     struct testcase {
index 1fd1dfd..1922941 100644 (file)
@@ -28,6 +28,7 @@ private:
      */
     void testSymbols(/*char *par*/);
     void testLastResortData();
+    void testDigitSymbols();
     void testNumberingSystem();
 
      /** helper functions**/
index 036d5e1..1a717e3 100644 (file)
@@ -448,7 +448,8 @@ struct FormatThreadTestData
 // "Someone from {2} is receiving a #{0} error - {1}. Their telephone call is costing {3 number,currency}."
 
 static void formatErrorMessage(UErrorCode &realStatus, const UnicodeString& pattern, const Locale& theLocale,
-                     UErrorCode inStatus0, /* statusString 1 */ const Locale &inCountry2, double currency3, // these numbers are the message arguments.
+                     UErrorCode inStatus0,                       // statusString 1
+                     const Locale &inCountry2, double currency3, // these numbers are the message arguments.
                      UnicodeString &result)
 {
     if(U_FAILURE(realStatus))
@@ -666,13 +667,13 @@ public:
         // Keep this data here to avoid static initialization.
         FormatThreadTestData kNumberFormatTestData[] =
         {
-            FormatThreadTestData((double)5.0, UnicodeString("5", "")),
-                FormatThreadTestData( 6.0, UnicodeString("6", "")),
-                FormatThreadTestData( 20.0, UnicodeString("20", "")),
-                FormatThreadTestData( 8.0, UnicodeString("8", "")),
-                FormatThreadTestData( 8.3, UnicodeString("8.3", "")),
-                FormatThreadTestData( 12345, UnicodeString("12,345", "")),
-                FormatThreadTestData( 81890.23, UnicodeString("81,890.23", "")),
+            FormatThreadTestData((double)5.0, UnicodeString(u"5")),
+                FormatThreadTestData( 6.0, UnicodeString(u"6")),
+                FormatThreadTestData( 20.0, UnicodeString(u"20")),
+                FormatThreadTestData( 8.0, UnicodeString(u"8")),
+                FormatThreadTestData( 8.3, UnicodeString(u"8.3")),
+                FormatThreadTestData( 12345, UnicodeString(u"12,345")),
+                FormatThreadTestData( 81890.23, UnicodeString(u"81,890.23")),
         };
         int32_t kNumberFormatTestDataLength = UPRV_LENGTHOF(kNumberFormatTestData);
 
@@ -1388,7 +1389,7 @@ const UCTMultiThreadItem *LocaleCacheKey<UCTMultiThreadItem>::createObject(
     } else {
         result->addRef();
     }
-    
     // Log that we created an object. The first object was already counted,
     //    don't do it again.
     umtx_lock(&gCTMutex);
@@ -1451,7 +1452,7 @@ void UnifiedCacheThread::exerciseByLocale(const Locale &locale) {
 
 void UnifiedCacheThread::run() {
     // Run the exercise with 2 different locales so that we can exercise
-    // eviction more. If each thread exerices just one locale, then
+    // eviction more. If each thread exercises just one locale, then
     // eviction can't start until the threads end.
     exerciseByLocale(fLoc);
     exerciseByLocale(fLoc2);
index b749c2d..c5f59d9 100644 (file)
@@ -12,6 +12,7 @@
 #include "unicode/simpletz.h"
 #include "unicode/smpdtfmt.h"
 #include "unicode/strenum.h"
+#include "unicode/gregocal.h"
 #include "tzregts.h"
 #include "calregts.h"
 #include "cmemory.h"
@@ -46,6 +47,7 @@ TimeZoneRegressionTest::runIndexedTest( int32_t index, UBool exec, const char* &
         CASE(16, TestJDK12API);
         CASE(17, Test4176686);
         CASE(18, Test4184229);
+        CASE(19, TestNegativeDaylightSaving);
         default: name = ""; break;
     }
 }
@@ -709,10 +711,10 @@ TimeZoneRegressionTest::Test4154525()
     int32_t DATA [] = {
         1, GOOD,
         0, BAD,
-        -1, BAD,
+        -1, GOOD,   // #13566 updates SimpleTimeZone to support negative DST saving amount
         60*60*1000, GOOD,
-        INT32_MIN, BAD,
-        // Integer.MAX_VALUE, ?, // no upper limit on DST savings at this time
+        INT32_MAX, GOOD,    // no upper limit on DST savings at this time
+        INT32_MIN, GOOD     // no lower limit as well
     };
 
     UErrorCode status = U_ZERO_ERROR;
@@ -1206,4 +1208,61 @@ void TimeZoneRegressionTest::Test4184229() {
     delete zone;
 }
 
+void TimeZoneRegressionTest::TestNegativeDaylightSaving() {
+    UErrorCode status = U_ZERO_ERROR;
+    int32_t stdOff = 1 * 60*60*1000;    // Standard offset UTC+1
+    int save = -1 * 60*60*1000;     // DST saving amount -1 hour
+    SimpleTimeZone stzDublin(stdOff, "Dublin-2018",
+                                UCAL_OCTOBER, -1, -UCAL_SUNDAY, 2*60*60*1000,
+                                UCAL_MARCH, -1, -UCAL_SUNDAY, 1*60*60*1000,
+                                save, status);
+    failure(status, "SimpleTimeZone constructor");
+
+    if (save != stzDublin.getDSTSavings()) {
+        errln((UnicodeString)"FAIL: DST saving is not " + save);
+    }
+
+    GregorianCalendar cal(* TimeZone::getGMT(), status);
+    failure(status, "GregorianCalendar constructor");
+
+    UDate testDate;
+    int32_t rawOffset;
+    int32_t dstOffset;
+
+    cal.set(2018, UCAL_JANUARY, 15, 0, 0, 0);
+    testDate = cal.getTime(status);
+    failure(status, "calendar getTime() - Jan 15");
+
+    if (!stzDublin.inDaylightTime(testDate, status)) {
+        errln("FAIL: The test date (Jan 15) must be in DST.");
+    }
+    failure(status, "inDaylightTime() - Jan 15");
+
+    stzDublin.getOffset(testDate, FALSE, rawOffset, dstOffset, status);
+    failure(status, "getOffset() - Jan 15");
+    if (rawOffset != stdOff || dstOffset != save) {
+        errln((UnicodeString)"FAIL: Expected [stdoff=" + stdOff + ",save=" + save
+            + "] on the test date (Jan 15), actual[stdoff=" + rawOffset
+            + ",save=" + dstOffset + "]");
+    }
+
+    cal.set(2018, UCAL_JULY, 15, 0, 0, 0);
+    testDate = cal.getTime(status);
+    failure(status, "calendar getTime() - Jul 15");
+
+    if (stzDublin.inDaylightTime(testDate, status)) {
+        errln("FAIL: The test date (Jul 15) must be in DST.");
+    }
+    failure(status, "inDaylightTime() - Jul 15");
+
+    stzDublin.getOffset(testDate, FALSE, rawOffset, dstOffset, status);
+    failure(status, "getOffset() - Jul 15");
+    if (rawOffset != stdOff || dstOffset != 0) {
+        errln((UnicodeString)"FAIL: Expected [stdoff=" + stdOff + ",save=" + 0
+            + "] on the test date (Jul 15), actual[stdoff=" + rawOffset
+            + ",save=" + dstOffset + "]");
+    }
+}
+
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 2d7f7ef..46e43cd 100644 (file)
@@ -49,6 +49,7 @@ public:
     void TestJDK12API(void);
     void Test4184229(void);
     UBool checkCalendar314(GregorianCalendar *testCal, TimeZone *testTZ);
+    void TestNegativeDaylightSaving(void);
 
 
 protected:
index 489d6cd..8a52c94 100644 (file)
@@ -63,6 +63,7 @@ void UnicodeTest::runIndexedTest( int32_t index, UBool exec, const char* &name,
     TESTCASE_AUTO(TestBidiPairedBracketType);
     TESTCASE_AUTO(TestEmojiProperties);
     TESTCASE_AUTO(TestDefaultScriptExtensions);
+    TESTCASE_AUTO(TestInvalidCodePointFolding);
     TESTCASE_AUTO_END;
 }
 
@@ -546,3 +547,22 @@ void UnicodeTest::TestDefaultScriptExtensions() {
                  uscript_getScriptExtensions(0x3012, scx, UPRV_LENGTHOF(scx), errorCode));
     assertEquals("U+3012 num scx[0]", USCRIPT_COMMON, scx[0]);
 }
+
+void UnicodeTest::TestInvalidCodePointFolding(void) {
+    // Test behavior when an invalid code point is passed to u_foldCase
+    static const UChar32 invalidCodePoints[] = {
+            0xD800, // lead surrogate
+            0xDFFF, // trail surrogate
+            0xFDD0, // noncharacter
+            0xFFFF, // noncharacter
+            0x110000, // out of range
+            -1 // negative
+    };
+    for (int32_t i=0; i<UPRV_LENGTHOF(invalidCodePoints); ++i) {
+        UChar32 cp = invalidCodePoints[i];
+        assertEquals("Invalid code points should be echoed back",
+                cp, u_foldCase(cp, U_FOLD_CASE_DEFAULT));
+        assertEquals("Invalid code points should be echoed back",
+                cp, u_foldCase(cp, U_FOLD_CASE_EXCLUDE_SPECIAL_I));
+    }
+}
index 82ffb0e..8a7ae3f 100644 (file)
@@ -42,6 +42,7 @@ public:
     void TestBidiPairedBracketType();
     void TestEmojiProperties();
     void TestDefaultScriptExtensions();
+    void TestInvalidCodePointFolding();
 
 private:
 
index 762194a..0525d47 100644 (file)
@@ -153,8 +153,8 @@ void UnifiedCacheTest::TestEvictionPolicy() {
     unusedReference->removeRef();
 
     // unused count not to exeed in use count
-    assertEquals("", UPRV_LENGTHOF(usedReferences), cache.unusedCount());
-    assertEquals("", 2*UPRV_LENGTHOF(usedReferences), cache.keyCount());
+    assertEquals("T1", UPRV_LENGTHOF(usedReferences), cache.unusedCount());
+    assertEquals("T2", 2*UPRV_LENGTHOF(usedReferences), cache.keyCount());
 
     // Free up those used entries.
     for (int32_t i = 0; i < UPRV_LENGTHOF(usedReferences); i++) {
@@ -162,9 +162,9 @@ void UnifiedCacheTest::TestEvictionPolicy() {
     }
 
     // This should free up all cache items
-    assertEquals("", 0, cache.keyCount());
+    assertEquals("T3", 0, cache.keyCount());
 
-    assertSuccess("", status);
+    assertSuccess("T4", status);
 }
 
 
@@ -181,7 +181,7 @@ void UnifiedCacheTest::TestBounded() {
     // complete control over it. Real clients should never ever create
     // their own cache!
     UnifiedCache cache(status);
-    assertSuccess("", status);
+    assertSuccess("T0", status);
 
     // Maximum unused count is 3.
     cache.setEvictionPolicy(3, 0, status);
@@ -202,15 +202,15 @@ void UnifiedCacheTest::TestBounded() {
     const UCTItem *frFr = NULL;
     cache.get(LocaleCacheKey<UCTItem>("en_US"), &cache, enUs, status);
     cache.get(LocaleCacheKey<UCTItem>("en"), &cache, en, status);
-    assertEquals("", 1, cache.unusedCount());
+    assertEquals("T1", 1, cache.unusedCount());
     cache.get(LocaleCacheKey<UCTItem>("en_GB"), &cache, enGb, status);
     cache.get(LocaleCacheKey<UCTItem>("fr_FR"), &cache, frFr, status);
     cache.get(LocaleCacheKey<UCTItem>("fr"), &cache, fr, status);
 
     // Client holds two unique references, "en" and "fr" the other three
     // entries are eligible for eviction. 
-    assertEquals("", 3, cache.unusedCount());
-    assertEquals("", 5, cache.keyCount());
+    assertEquals("T2", 3, cache.unusedCount());
+    assertEquals("T3", 5, cache.keyCount());
 
     // Exercise cache more but don't hold the references except for
     // the last one. At the end of this, we will hold references to one
@@ -227,40 +227,40 @@ void UnifiedCacheTest::TestBounded() {
     // Client holds three unique references, "en", "fr", "de" although we
     // could have a total of 8 entries in the cache maxUnusedCount == 3
     // so we have only 6 entries.
-    assertEquals("", 3, cache.unusedCount());
-    assertEquals("", 6, cache.keyCount());
+    assertEquals("T4", 3, cache.unusedCount());
+    assertEquals("T5", 6, cache.keyCount());
 
     // For all the references we have, cache must continue to return
     // those same references (#2)
 
     cache.get(LocaleCacheKey<UCTItem>("en"), &cache, throwAway, status);
     if (throwAway != en) {
-        errln("Expected en to resolve to the same object.");
+        errln("T6: Expected en to resolve to the same object.");
     }
     cache.get(LocaleCacheKey<UCTItem>("en_US"), &cache, throwAway, status);
     if (throwAway != enUs) {
-        errln("Expected enUs to resolve to the same object.");
+        errln("T7: Expected enUs to resolve to the same object.");
     }
     cache.get(LocaleCacheKey<UCTItem>("en_GB"), &cache, throwAway, status);
     if (throwAway != enGb) {
-        errln("Expected enGb to resolve to the same object.");
+        errln("T8: Expected enGb to resolve to the same object.");
     }
     cache.get(LocaleCacheKey<UCTItem>("fr_FR"), &cache, throwAway, status);
     if (throwAway != frFr) {
-        errln("Expected frFr to resolve to the same object.");
+        errln("T9: Expected frFr to resolve to the same object.");
     }
     cache.get(LocaleCacheKey<UCTItem>("fr_FR"), &cache, throwAway, status);
     cache.get(LocaleCacheKey<UCTItem>("fr"), &cache, throwAway, status);
     if (throwAway != fr) {
-        errln("Expected fr to resolve to the same object.");
+        errln("T10: Expected fr to resolve to the same object.");
     }
     cache.get(LocaleCacheKey<UCTItem>("de_AU"), &cache, throwAway, status);
     if (throwAway != deAu) {
-        errln("Expected deAu to resolve to the same object.");
+        errln("T11: Expected deAu to resolve to the same object.");
     }
 
-    assertEquals("", 3, cache.unusedCount());
-    assertEquals("", 6, cache.keyCount());
+    assertEquals("T12", 3, cache.unusedCount());
+    assertEquals("T13", 6, cache.keyCount());
 
     // Now we hold a references to two more distinct values. Cache size 
     // should grow to 8.
@@ -268,8 +268,8 @@ void UnifiedCacheTest::TestBounded() {
     const UCTItem *ru = NULL;
     cache.get(LocaleCacheKey<UCTItem>("es"), &cache, es, status);
     cache.get(LocaleCacheKey<UCTItem>("ru"), &cache, ru, status);
-    assertEquals("", 3, cache.unusedCount());
-    assertEquals("", 8, cache.keyCount());
+    assertEquals("T14", 3, cache.unusedCount());
+    assertEquals("T15", 8, cache.keyCount());
 
     // Now release all the references we hold except for
     // es, ru, and en
@@ -284,13 +284,13 @@ void UnifiedCacheTest::TestBounded() {
     SharedObject::clearPtr(throwAway);
 
     // Size of cache should magically drop to 3.
-    assertEquals("", 3, cache.unusedCount());
-    assertEquals("", 3, cache.keyCount());
+    assertEquals("T16", 3, cache.unusedCount());
+    assertEquals("T17", 3, cache.keyCount());
 
     // Be sure nothing happens setting the eviction policy in the middle of
     // a run.
     cache.setEvictionPolicy(3, 0, status);
-    assertSuccess("", status);
+    assertSuccess("T18", status);
     
 }
 
@@ -311,7 +311,7 @@ void UnifiedCacheTest::TestBasic() {
     cache->get(LocaleCacheKey<UCTItem>("en_GB"), enGb, status);
     cache->get(LocaleCacheKey<UCTItem>("fr_FR"), frFr, status);
     cache->get(LocaleCacheKey<UCTItem>("fr"), fr, status);
-    cache->get(LocaleCacheKey<UCTItem>("en_GB"), enGb2, status);
+    cache->get(LocaleCacheKey<UCTItem>("en_GB"), enGb2, status); 
     SharedObject::clearPtr(enGb2);
     if (enGb != enUs) {
         errln("Expected en_GB and en_US to resolve to same object.");
@@ -322,16 +322,16 @@ void UnifiedCacheTest::TestBasic() {
     if (enGb == fr) {
         errln("Expected en_GB and fr to return different objects.");
     }
-    assertSuccess("", status);
+    assertSuccess("T1", status);
     // en_US, en_GB, en share one object; fr_FR and fr don't share.
     // 5 keys in all.
-    assertEquals("", baseCount + 5, cache->keyCount());
+    assertEquals("T2", baseCount + 5, cache->keyCount());
     SharedObject::clearPtr(enGb);
     cache->flush();
 
     // Only 2 unique values in the cache. flushing trims cache down
     // to this minimum size.
-    assertEquals("", baseCount + 2, cache->keyCount());
+    assertEquals("T3", baseCount + 2, cache->keyCount());
     SharedObject::clearPtr(enUs);
     SharedObject::clearPtr(en);
     cache->flush();
@@ -339,14 +339,14 @@ void UnifiedCacheTest::TestBasic() {
     // the "en" object, so it gets flushed and the keys that refer to it
     // get removed from the cache. Now we have just one unique value, fr, in
     // the cache
-    assertEquals("", baseCount + 1, cache->keyCount());
+    assertEquals("T4", baseCount + 1, cache->keyCount());
     SharedObject::clearPtr(fr);
     cache->flush();
-    assertEquals("", baseCount + 1, cache->keyCount());
+    assertEquals("T5", baseCount + 1, cache->keyCount());
     SharedObject::clearPtr(frFr);
     cache->flush();
-    assertEquals("", baseCount + 0, cache->keyCount());
-    assertSuccess("", status);
+    assertEquals("T6", baseCount + 0, cache->keyCount());
+    assertSuccess("T7", status);
 }
 
 void UnifiedCacheTest::TestError() {
index d142f04..b6f2eab 100644 (file)
@@ -42,15 +42,6 @@ UnicodeString operator+(const UnicodeString& left, const UnicodeSet& set) {
     return left + UnicodeSetTest::escape(pat);
 }
 
-#define CASE(id,test) case id:                          \
-                          name = #test;                 \
-                          if (exec) {                   \
-                              logln(#test "---");       \
-                              logln();                  \
-                              test();                   \
-                          }                             \
-                          break
-
 UnicodeSetTest::UnicodeSetTest() : utf8Cnv(NULL) {
 }
 
@@ -100,6 +91,7 @@ UnicodeSetTest::runIndexedTest(int32_t index, UBool exec,
     TESTCASE_AUTO(TestUCAUnsafeBackwards);
     TESTCASE_AUTO(TestIntOverflow);
     TESTCASE_AUTO(TestUnusedCcc);
+    TESTCASE_AUTO(TestDeepPattern);
     TESTCASE_AUTO_END;
 }
 
@@ -3970,3 +3962,19 @@ void UnicodeSetTest::TestUnusedCcc() {
     assertTrue("[:ccc=1.1:] -> empty set", ccc1_1.isEmpty());
 #endif
 }
+
+void UnicodeSetTest::TestDeepPattern() {
+    IcuTestErrorCode errorCode(*this, "TestDeepPattern");
+    // Nested ranges are parsed via recursion which can use a lot of stack space.
+    // After a reasonable limit, we should get an error.
+    constexpr int32_t DEPTH = 20000;
+    UnicodeString pattern, suffix;
+    for (int32_t i = 0; i < DEPTH; ++i) {
+        pattern.append(u"[a", 2);
+        suffix.append(']');
+    }
+    pattern.append(suffix);
+    UnicodeSet set(pattern, errorCode);
+    assertTrue("[a[a[a...1000s...]]] -> error", errorCode.isFailure());
+    errorCode.reset();
+}
index b34728a..e79a9e8 100644 (file)
@@ -93,6 +93,7 @@ private:
     void TestUCAUnsafeBackwards();
     void TestIntOverflow();
     void TestUnusedCcc();
+    void TestDeepPattern();
 
 private:
 
index 5b7a404..f67c0b1 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E4993E82-D68A-46CA-BAE0-9D35E172E46F}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <TypeLibraryName>.\x86\Debug/iotest.tlb</TypeLibraryName>
       </HeaderFileName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
       <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/iotest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug/iotest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/iotest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
       <TypeLibraryName>.\x86\Release/iotest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/iotest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release/iotest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/iotest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/iotest.tlb</TypeLibraryName>
       <HeaderFileName>
       </HeaderFileName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/iotest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug/iotest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/iotest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/iotest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\ctestfw;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>U_ATTRIBUTE_DEPRECATED=;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/iotest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release/iotest.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/iotest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="filetst.c" />
     <ClCompile Include="iotest.cpp" />
     <ClCompile Include="stream.cpp">
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
-      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
     </ClCompile>
     <ClCompile Include="strtst.c" />
     <ClCompile Include="trnstst.c" />
   <ItemGroup>
     <ClInclude Include="iotest.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\io\io.vcxproj">
-      <Project>{c2b04507-2521-4801-bf0d-5fd79d6d518c}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 50c54ee..0a83aac 100644 (file)
     <Link>
       <OutputFile>.\x86\Release/letest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;iculx.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/letest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <Link>
       <OutputFile>.\x86\Debug/letest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;iculxd.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/letest.pdb</ProgramDatabaseFile>
     <Link>
       <OutputFile>.\x64\Release/letest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;iculx.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/letest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <Link>
       <OutputFile>.\x64\Debug/letest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;iculxd.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/letest.pdb</ProgramDatabaseFile>
     <ClInclude Include="xmlreader.h" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\layoutex\layoutex.vcxproj">
-      <Project>{37fc2c7f-1904-4811-8955-2f478830ead1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="..\..\layout\layout.vcxproj">
       <Project>{c920062a-0647-4553-a3b2-37c58065664b}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="..\..\tools\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\tools\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
index 113473a..1f11f8d 100644 (file)
@@ -13,7 +13,7 @@
 // https://docs.google.com/document/d/1T2P0p953_Lh1pRwo-5CuPVrHlIBa_wcXElG-Hhg_WHM/edit?usp=sharing
 
 test plus sign
-set locale ar
+set locale ar-EG
 set pattern +0;-#
 begin
 format output  breaks
@@ -441,11 +441,10 @@ en_US     1       123,456 123456
 en_US  0       123,456 123
 en_US  1       123.456 123.456
 en_US  0       123.456 123.456
-fr_FR  1       123,456 123.456
-fr_FR  0       123,456 123.456
-// JDK returns 123 here; not sure why.
-fr_FR  1       123.456 123456  K
-fr_FR  0       123.456 123
+it_IT  1       123,456 123.456
+it_IT  0       123,456 123.456
+it_IT  1       123.456 123456
+it_IT  0       123.456 123
 
 test no grouping in pattern with parsing
 set pattern 0
@@ -466,9 +465,8 @@ output      grouping        breaks  grouping2       minGroupingDigits
 1,2345,6789    4
 1,23,45,6789   4       K       2
 1,23,45,6789   4       K       2       2
-// Q only supports minGrouping<=2
 123,456789     6               6       3
-123456789      6       JKQ     6       4
+123456789      6       JK      6       4
 
 test multiplier setters
 set locale en_US
@@ -754,6 +752,7 @@ parse       output  breaks
 +3.52EE4       3.52
 +1,234,567.8901        1234567.8901
 +1,23,4567.8901        1234567.8901
+// Fraction grouping is disabled by default
 +1,23,4567.89,01       1234567.89
 +1,23,456.78.9 123456.78
 +12.34,56      12.34
@@ -831,15 +830,14 @@ parse     output  breaks
 // JDK does allow separators in the wrong place and parses as -5347.25
 (53,47.25)     fail    K
 // strict requires prefix or suffix, except in C
-65,347.25      fail    
+65,347.25      fail
 +3.52E4        35200
 (34.8E-3)      -0.0348
 (3425E-1)      -342.5
 // Strict doesn't allow separators in sci notation.
 (63,425)       -63425
-// JDK and S allow separators in sci notation and parses as -342.5
-// C passes
-(63,425E-1)    fail    CKS
+// J does not allow grouping separators in scientific notation.
+(63,425E-1)    -6342.5 J
 // Both prefix and suffix needed for strict.
 // JDK accepts this and parses as -342.5
 (3425E-1       fail    K
@@ -954,12 +952,12 @@ set negativeSuffix 9N
 begin
 parse  output  breaks
 // S is the only implementation that passes these cases.
-// C consumes the '9' as a digit and assumes number is negative
+// C and P consume the '9' as a digit and assumes number is negative
 // J and JDK bail
-6549K  654     CJK
-// C consumes the '9' as a digit and assumes number is negative
+6549K  654     CJKP
+// C and P consume the '9' as a digit and assumes number is negative
 // J and JDK bail
-6549N  -654    CJK
+6549N  -654    CJKP
 
 test really strange prefix
 set locale en
@@ -974,7 +972,7 @@ test parse pattern with quotes
 set locale en
 set pattern '-'#y
 begin
-parse  output
+parse  output  breaks
 -45y   45
 
 test parse with locale symbols
@@ -1187,17 +1185,17 @@ $53.45  fail    USD     J
 USD 53.45      53.45   USD     J
 53.45USD       53.45   USD     CJ
 USD53.45       53.45   USD
-// S fails these because '(' is an incomplete prefix.
-(7.92) USD     -7.92   USD     CJS
-(7.92) GBP     -7.92   GBP     CJS
-(7.926) USD    -7.926  USD     CJS
-(7.926 USD)    -7.926  USD     CJS
+// P fails these because '(' is an incomplete prefix.
+(7.92) USD     -7.92   USD     CJP
+(7.92) GBP     -7.92   GBP     CJP
+(7.926) USD    -7.926  USD     CJP
+(7.926 USD)    -7.926  USD     CJP
 (USD 7.926)    -7.926  USD     J
-USD (7.926)    -7.926  USD     CJS
-USD (7.92)     -7.92   USD     CJS
-(7.92)USD      -7.92   USD     CJS
-USD(7.92)      -7.92   USD     CJS
-(8) USD        -8      USD     CJS
+USD (7.926)    -7.926  USD     CJP
+USD (7.92)     -7.92   USD     CJP
+(7.92)USD      -7.92   USD     CJP
+USD(7.92)      -7.92   USD     CJP
+(8) USD        -8      USD     CJP
 -8 USD -8      USD     C
 67 USD 67      USD     C
 53.45$ fail    USD
@@ -1223,37 +1221,38 @@ test parse foreign currency symbol
 set pattern \u00a4 0.00;\u00a4 -#
 set locale fa_IR
 begin
-parse  output  outputCurrency
+parse  output  outputCurrency  breaks
 \u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5      1235    IRR
 IRR \u06F1\u06F2\u06F3\u06F5   1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR
+// P fails here because this currency name is in the Trie only, but it has the same prefix as the non-Trie currency
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR     P
 IRR 1235       1235    IRR
 \u0631\u06cc\u0627\u0644 1235  1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR     P
 
 test parse foreign currency ISO
 set pattern \u00a4\u00a4 0.00;\u00a4\u00a4 -#
 set locale fa_IR
 begin
-parse  output  outputCurrency
+parse  output  outputCurrency  breaks
 \u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5      1235    IRR
 IRR \u06F1\u06F2\u06F3\u06F5   1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR     P
 IRR 1235       1235    IRR
 \u0631\u06cc\u0627\u0644 1235  1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR     P
 
 test parse foreign currency full
 set pattern \u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 -#
 set locale fa_IR
 begin
-parse  output  outputCurrency
+parse  output  outputCurrency  breaks
 \u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5      1235    IRR
 IRR \u06F1\u06F2\u06F3\u06F5   1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5       1235    IRR     P
 IRR 1235       1235    IRR
 \u0631\u06cc\u0627\u0644 1235  1235    IRR
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR
+\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235   1235    IRR     P
 
 test parse currency with foreign symbols symbol english
 set pattern \u00a4 0.00;\u00a4 (#)
@@ -1288,16 +1287,17 @@ Euros 7.82      7.82    EUR
 test parse currency without currency mode
 // Should accept a symbol associated with the currency specified by the API,
 // but should not traverse the full currency data.
+// P always traverses full currency data.
 set locale en_US
 set pattern \u00a4#,##0.00
 begin
 parse  currency        output  breaks
 $52.41 USD     52.41
 USD52.41       USD     52.41   K
-\u20ac52.41    USD     fail
-EUR52.41       USD     fail
-$52.41 EUR     fail
-USD52.41       EUR     fail
+\u20ac52.41    USD     fail    P
+EUR52.41       USD     fail    P
+$52.41 EUR     fail    P
+USD52.41       EUR     fail    P
 \u20ac52.41    EUR     52.41   K
 EUR52.41       EUR     52.41
 
@@ -1307,11 +1307,11 @@ set locale en_US
 set lenient 0
 begin
 parse  output  outputCurrency  breaks
-$53.45 53.45   USD
+$53.45 53.45   USD     P
 53.45 USD      53.45   USD
 USD 53.45      fail    USD
 53.45USD       fail    USD
-USD53.45       53.45   USD
+USD53.45       53.45   USD     P
 (7.92) USD     -7.92   USD
 (7.92) EUR     -7.92   EUR
 (7.926) USD    -7.926  USD
@@ -1329,9 +1329,9 @@ US Dollars 53.45  fail    USD
 53.45 US Dollars       53.45   USD
 US Dollar 53.45        fail    USD
 53.45 US Dollar        53.45   USD
-US Dollars53.45        53.45   USD
+US Dollars53.45        53.45   USD     P
 53.45US Dollars        fail    USD
-US Dollar53.45 53.45   USD
+US Dollar53.45 53.45   USD     P
 US Dollat53.45 fail    USD
 53.45US Dollar fail    USD
 US Dollars (53.45)     fail    USD
@@ -1376,13 +1376,15 @@ test parse minus sign
 set locale en
 set pattern #
 begin
-parse  output  breaks
--123   -123
-- 123  -123    JK
- -123  -123    JK
- - 123 -123    JK
-123-   -123    CJKS
-123 -  -123    CJKS
+pattern        parse   output  breaks
+#      -123    -123
+#      - 123   -123    JK
+#       -123   -123    JK
+#       - 123  -123    JK
+#      123-    123
+#      123 -   123
+#;#-   123-    -123
+#;#-   123 -   -123    JK
 
 test parse case sensitive
 set locale en
@@ -1423,8 +1425,8 @@ NaN       NaN     K
 1E2147483646   1E2147483646
 1E-2147483649  0
 1E-2147483648  0
-// S returns zero here
-1E-2147483647  1E-2147483647   S
+// P returns zero here
+1E-2147483647  1E-2147483647   P
 1E-2147483646  1E-2147483646
 
 test format push limits
@@ -1439,7 +1441,7 @@ maxFractionDigits format  output  breaks
 100    9999999999999.9950000000001     9999999999999.9950000000001     C
 2      9999999999999.9950000000001     10000000000000.00       C
 2      9999999.99499999        9999999.99
-// K doesn't support halfDowm rounding mode?
+// K doesn't support halfDown rounding mode?
 2      9999999.995     9999999.99      K
 2      9999999.99500001        10000000.00
 100    56565656565656565656565656565656565656565656565656565656565656  56565656565656565656565656565656565656565656565656565656565656.00       C
@@ -1453,8 +1455,8 @@ set locale en
 set pattern #,##0
 begin
 parse  output  breaks
-// K and J return null; S and C return 99
- 9 9   9       CJKS
+// K and J return null; S, C, and P return 99
+ 9 9   9       CJKP
 // K returns null
  9 999 9999    K
 
@@ -1497,7 +1499,7 @@ y g h56   -56     JK
 56i j‎k      -56     CJK
 56‎i jk      -56     CJK
 // S and C get 56 (accepts ' ' gs grouping); J and K get null
-5 6    fail    CS
+5 6    fail    CP
 5‎6  5       JK
 
 test parse spaces in grouping
@@ -1507,9 +1509,9 @@ set locale en
 set pattern #,##0
 begin
 parse  output  breaks
-// C, J and S get "12" here
-1 2    1       CJS
-1 23   1       CJS
+// C, J, S, and P get "12" here
+1 2    1       CJP
+1 23   1       CJP
 // K gets 1 here; doesn't pick up the grouping separator
 1 234  1234    K
 
@@ -1543,7 +1545,8 @@ begin
 parse  output  breaks
 55%    0.55
 // J and K get null
-55     0.55    JK
+// P requires the symbol to be present and gets 55
+55     0.55    JKP
 
 test trailing grouping separators in pattern
 // This test is for #13115
@@ -1573,6 +1576,34 @@ begin
 parse  output  breaks
 9223372036854775807%   92233720368547758.07
 
+test sign always shown
+set locale en
+set pattern 0
+set signAlwaysShown 1
+begin
+format output  breaks
+// C, J and K do not support this feature
+42     +42     CJK
+0      +0      CJK
+-42    -42
+
+test parse strict with plus sign
+set locale en
+set pattern 0
+set signAlwaysShown 1
+begin
+lenient        parse   output  breaks
+1      42      42
+1      -42     -42
+1      +42     42      CJK
+1      0       0
+1      +0      0       CJK
+0      42      fail    CJK
+0      -42     -42
+0      +42     42      CJK
+0      0       fail    CJK
+0      +0      0       CJK
+
 
 
 
index 1450a98..761b3e0 100644 (file)
 
 
 #   Temp debugging tests
-<locale en>
-<word>
-<data><0>コンピューター<400>は<400>、<0>本質<400>的<400>に<400>は<400>数字<400>しか<400>扱う<400>こと<400>が<400>でき<400>ま<400>せん<400>。<0>\
-コンピューター<400>は<400>、<0>文字<400>や<400>記号<400>など<400>の<400>それぞれに<400>番号<400>を<400>割り振る<400>こと<400>によって<400>扱える<400>\
-よう<400>にし<400>ます<400>。<0>ユニ<400>コード<400>が<400>出来る<400>まで<400>は<400>、<0>これらの<400>番号<400>を<400>割り振る<400>仕組み<400>が<400>\
-何<400>百<400>種類<400>も<400>存在<400>しま<400>した<400>。<0>どの<400>一つ<400>を<400>とっても<400>、<0>十分<400>な<400>文字<400>を<400>含<400>\
-んで<400>は<400>いま<400>せん<400>で<400>した<400>。<0>例えば<400>、<0>欧州<400>連合<400>一つ<400>を<400>見<400>て<400>も<400>、<0>その<400>\
-すべて<400>の<400>言語<400>を<400>カバー<400>する<400>ため<400>に<400>は<400>、<0>いくつか<400>の<400>異なる<400>符号<400>化<400>の<400>仕組み<400>\
-が<400>必要<400>で<400>した<400>。<0>英語<400>の<400>よう<400>な<400>一つ<400>の<400>言語<400>に<400>限<400>って<400>も<400>、<0>一つ<400>だけ<400>\
-の<400>符号<400>化<400>の<400>仕組み<400>では<400>、<0>一般<400>的<400>に<400>使<400>われる<400>すべて<400>の<400>文字<400>、<0>句読点<400>、<0>\
-。<0></data>
+#
 
-#<data><0>コンピューター<400>は<400>、<0>本質<400>的<400>に<400>は<400>数字<400>しか<400>扱う<400>こと<400>が<400>でき<400>ま<400>せん<400>。<0>\
 
 ## FILTERED BREAK TESTS
 
 <data>•\U00011700<200>ロ<400>から<400>売却<400>完了<400>時<400>の<400>時価<400>が<400>提示<400>さ<400>れ<400>て<400>いる<400></data>
 
 #
+# Ticket #13549
+#   CjiBreakEngine::divideUpDictionaryRange: assertion failure.
+#
+<locale en>
+<word>
+<data>•\U00020029<400>\u3300<400>\U0002C400<400></data>
+<data>•\uFAD7<400>\u331B<400>\u87DF<400>\u006D<200>\uFFFD•</data>
+
+#
 # What Is Unicode in Japanese
 # From http://unicode.org/standard/translations/japanese.html
 
index d619b63..8ba0f07 100644 (file)
@@ -13,8 +13,8 @@
 root
 {
     Version { 44.0 }
-    ExpectCLDRVersionAtLeast { 32.0 } // 'base' cldr version. Allow up to version =.=.* of this
-    CurrentCLDRVersion { 32.0 } // Current CLDR version as of the test update. Warn if not an exact match.
+    ExpectCLDRVersionAtLeast { 33.0 } // 'base' cldr version. Allow up to version =.=.* of this
+    CurrentCLDRVersion { 33.0 } // Current CLDR version as of the test update. Warn if not an exact match.
 
     ShortLanguage { xxx }
 
index bd3d2b9..983a744 100644 (file)
@@ -4134,6 +4134,10 @@ structLocale:table(nofallback){
             2,
             2,
         }
+        typographicNames:intvector{
+            2,
+            2,
+        }
         unit-pattern:intvector{
             2,
             2,
@@ -8349,6 +8353,7 @@ structLocale:table(nofallback){
             }
         }
         default{""}
+        default_latn{""}
         deva{
             miscPatterns{
                 atLeast{""}
index 444860f..de4818c 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{ECA6B435-B4FA-4F9F-BF95-F451D078FC47}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </Midl>
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/icutest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin\icutest60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin\icutest61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib\icutest.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib\icutestd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/icutest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin\icutest60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin\icutest61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib\icutestd.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib64\icutest.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/icutest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin64\icutest60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin64\icutest61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutest.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <ImportLibrary>.\..\..\..\lib64\icutest.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib64\icutestd.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/icutest.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin64\icutest60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin64\icutest61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutestd.pdb</ProgramDatabaseFile>
       <ImportLibrary>.\..\..\..\lib64\icutestd.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClInclude Include="unicode\uperf.h" />
     <ClInclude Include="unicode\utimer.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 5e96484..c90dafa 100644 (file)
@@ -4,39 +4,71 @@
 #include <stdio.h>
 #include <string>
 #include <stdlib.h>
-#include <unistd.h>
 #include <errno.h>
 #include <string.h>
 #include <iostream>
 #include <fstream>
 
-// with caution:
+// We only use U8_* macros, which are entirely inline.
 #include "unicode/utf8.h"
 
+// This contains a codepage and ISO 14882:1998 illegality table.
+// Use "make gen-table" to rebuild it.
+#include "cptbl.h"
+
+/**
+ * What is this?
+ *
+ * "This" is a preprocessor that makes an attempt to convert fully valid C++11 source code
+ * in utf-8 into something consumable by certain compilers (Solaris, xlC)
+ * which aren't quite standards compliant.
+ *
+ * - u"<unicode>" or u'<unicode>' gets converted to u"\uNNNN" or u'\uNNNN'
+ * - u8"<unicode>" gets converted to "\xAA\xBB\xCC\xDD" etc.
+ *   (some compilers do not support the u8 prefix correctly.)
+ * - if the system is EBCDIC-based, that is used to correct the input characters.
+ *
+ * Usage:
+ *   escapesrc infile.cpp outfile.cpp
+ * Normally this is invoked by the build stage, with a rule such as:
+ *
+ * _%.cpp: $(srcdir)/%.cpp
+ *       @$(BINDIR)/escapesrc$(EXEEXT) $< $@
+ * %.o: _%.cpp
+ *       $(COMPILE.cc) ... $@ $<
+ *
+ * In the Makefiles, SKIP_ESCAPING=YES is used to prevent escapesrc.cpp 
+ * from being itself escaped.
+ */
+
+
 static const char
   kSPACE   = 0x20,
   kTAB     = 0x09,
   kLF      = 0x0A,
   kCR      = 0x0D;
-  // kHASH    = 0x23,
-  // kSLASH   = 0x2f,
-  // kSTAR    = 0x2A,
-
-# include "cptbl.h"
 
+// For convenience
 # define cp1047_to_8859(c) cp1047_8859_1[c]
 
+// Our app's name
 std::string prog;
 
+/**
+ * Give the usual 1-line documentation and exit
+ */
 void usage() {
   fprintf(stderr, "%s: usage: %s infile.cpp outfile.cpp\n", prog.c_str(), prog.c_str());
 }
 
-
+/**
+ * Delete the output file (if any)
+ * We want to delete even if we didn't generate, because it might be stale.
+ */
 int cleanup(const std::string &outfile) {
   const char *outstr = outfile.c_str();
   if(outstr && *outstr) {
-    int rc = unlink(outstr);
+    int rc = std::remove(outstr);
     if(rc == 0) {
       fprintf(stderr, "%s: deleted %s\n", prog.c_str(), outstr);
       return 0;
@@ -44,7 +76,7 @@ int cleanup(const std::string &outfile) {
       if( errno == ENOENT ) {
         return 0; // File did not exist - no error.
       } else {
-        perror("unlink");
+        perror("std::remove");
         return 1;
       }
     }
@@ -52,16 +84,12 @@ int cleanup(const std::string &outfile) {
   return 0;
 }
 
-// inline bool hasNonAscii(const char *line, size_t len) {
-//   const unsigned char *uline = reinterpret_cast<const unsigned char*>(line);
-//   for(size_t i=0;i<len; i++) {
-//     if( uline[i] > 0x7F) {
-//       return true;
-//     }
-//   }
-//   return false;
-// }
-
+/**
+ * Skip across any known whitespace.
+ * @param p startpoint
+ * @param e limit
+ * @return first non-whitespace char
+ */
 inline const char *skipws(const char *p, const char *e) {
   for(;p<e;p++) {
     switch(*p) {
@@ -77,30 +105,11 @@ inline const char *skipws(const char *p, const char *e) {
   return p;
 }
 
-// inline bool isCommentOrEmpty(const char* line, size_t len) {
-//   const char *p = line;
-//   const char *e = line+len;
-//   p = skipws(p,e);
-//   if(p==e) {
-//     return true; // whitespace only
-//   }
-//   p++;
-//   switch(*p) {
-//   case kHASH: return true; // #directive
-//   case kSLASH:
-//     p++;
-//     if(p==e) return false; // single slash
-//     switch(*p) {
-//     case kSLASH: // '/ /'
-//     case kSTAR: // '/ *'
-//       return true; // start of comment
-//     default: return false; // something else
-//     }
-//   default: return false; // something else
-//   }
-//   /*NOTREACHED*/
-// }
-
+/**
+ * Append a byte, hex encoded
+ * @param outstr sstring to append to
+ * @param byte the byte to append
+ */
 void appendByte(std::string &outstr,
                 uint8_t byte) {
     char tmp2[5];
@@ -109,6 +118,11 @@ void appendByte(std::string &outstr,
 }
 
 /**
+ * Append the bytes from 'linestr' into outstr, with escaping
+ * @param outstr the output buffer
+ * @param linestr the input buffer
+ * @param pos in/out: the current char under consideration
+ * @param chars the number of chars to consider
  * @return true on failure
  */
 bool appendUtf8(std::string &outstr,
@@ -141,6 +155,7 @@ bool appendUtf8(std::string &outstr,
 }
 
 /**
+ * Fixup u8"x"
  * @param linestr string to mutate. Already escaped into \u format.
  * @param origpos beginning, points to 'u8"'
  * @param pos end, points to "
@@ -184,9 +199,11 @@ bool fixu8(std::string &linestr, size_t origpos, size_t &endpos) {
 }
 
 /**
- * fix the string at the position
- * false = no err
- * true = had err
+ * fix the u"x"/u'x'/u8"x" string at the position
+ * u8'x' is not supported, sorry.
+ * @param linestr the input string
+ * @param pos the position
+ * @return false = no err, true = had err
  */
 bool fixAt(std::string &linestr, size_t pos) {
   size_t origpos = pos;
@@ -292,8 +309,12 @@ bool fixAt(std::string &linestr, size_t pos) {
 }
 
 /**
+ * Fixup an entire line
  * false = no err
  * true = had err
+ * @param no the line number (not used)
+ * @param linestr the string to fix
+ * @return true if any err, else false
  */
 bool fixLine(int /*no*/, std::string &linestr) {
   const char *line = linestr.c_str();
@@ -304,17 +325,6 @@ bool fixLine(int /*no*/, std::string &linestr) {
     return false; // Nothing to do. No u' or u" detected
   }
 
-  // lines such as u8"\u0308" are all ASCII.
-  // // Quick Check: all ascii?
-  // if(!hasNonAscii(line, len)) {
-  //   return false; // ASCII
-  // }
-
-  // // comment or empty line?
-  // if(isCommentOrEmpty(line, len)) {
-  //   return false; // Comment or just empty
-  // }
-
   // start from the end and find all u" cases
   size_t pos = len = linestr.size();
   while((pos>0) && (pos = linestr.rfind("u\"", pos)) != std::string::npos) {
@@ -345,6 +355,12 @@ bool fixLine(int /*no*/, std::string &linestr) {
   return false;
 }
 
+/**
+ * Convert a whole file
+ * @param infile
+ * @param outfile
+ * @return 1 on err, 0 otherwise
+ */
 int convert(const std::string &infile, const std::string &outfile) {
   fprintf(stderr, "escapesrc: %s -> %s\n", infile.c_str(), outfile.c_str());
 
@@ -386,6 +402,9 @@ int convert(const std::string &infile, const std::string &outfile) {
   return 0;
 }
 
+/**
+ * Main function
+ */
 int main(int argc, const char *argv[]) {
   prog = argv[0];
 
@@ -399,6 +418,3 @@ int main(int argc, const char *argv[]) {
 
   return convert(infile, outfile);
 }
-
-
-#include "utf_impl.cpp"
index e7953e9..b8aa0ab 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{C2BE5000-7501-4E87-9724-B8D82494FAE6}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/genbrk.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/genbrk.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/genbrk.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/genbrk.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/genbrk.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/genbrk.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/genbrk.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/genbrk.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="genbrk.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index c835f32..e7dc0e5 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{FDD3C4F2-9805-44EB-9A77-BC1C1C95B547}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/genccode.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/genccode.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/genccode.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/genccode.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/genccode.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/genccode.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/genccode.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/genccode.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="genccode.c" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 50ee280..fbae8f5 100644 (file)
@@ -1,51 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{691EE0C0-DC57-4A48-8AEE-8ED75EB3A057}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
     <Keyword>Win32Proj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -90,7 +56,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <Link>
       <OutputFile>.\x86\Debug\gencfu.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
     </Link>
     </CustomBuildStep>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <MinimalRebuild>false</MinimalRebuild>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <Link>
       <OutputFile>.\x86\Release\gencfu.exe</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gencfu.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gencfu.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gencfu.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gencfu.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="gencfu.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 54dfbf8..87aeef3 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{A8D36F8D-09E6-4174-91C3-7BEAA9C3F04F}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/gencmn.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/gencmn.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/gencmn.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/gencmn.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gencmn.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gencmn.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gencmn.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gencmn.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="gencmn.c" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index d29c61f..d2becad 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{8B41752B-5A52-41E4-B7E0-07921C0CC6BF}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/gencnval.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/gencnval.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/gencnval.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/gencnval.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gencnval.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gencnval.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gencnval.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gencnval.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="gencnval.c" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7984a31..a419abb 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{9D4211F7-2C77-439C-82F0-30A4E43BA569}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/gendict.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/gendict.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/gendict.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/gendict.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gendict.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gendict.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gendict.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gendict.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="gendict.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 9feb10e..ec408e2 100644 (file)
@@ -1,51 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{C7891A65-80AB-4245-912E-5F1E17B0E6C4}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
     <RootNamespace>gennorm2</RootNamespace>
     <Keyword>Win32Proj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
+  <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+    <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release\gennorm2.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release\</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release\</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release\</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release\gennorm2.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release\gennorm2.pdb</ProgramDatabaseFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug\gennorm2.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug\</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug\</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug\</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug\gennorm2.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug\gennorm2.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>false</DataExecutionPrevention>
     </Link>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release\gennorm2.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release\</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release\</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release\</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release\gennorm2.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release\gennorm2.pdb</ProgramDatabaseFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Console</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX64</TargetMachine>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>false</DataExecutionPrevention>
     </Link>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug\gennorm2.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug\</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug\</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug\</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug\gennorm2.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug\gennorm2.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <DataExecutionPrevention>false</DataExecutionPrevention>
     </Link>
     <ClInclude Include="n2builder.h" />
     <ClInclude Include="norms.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index bf8fb1b..d76c3d2 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{D3065ADB-8820-4CC7-9B6C-9510833961A3}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -97,7 +62,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\i18n;..\..\common;..\toolutil;..\..\io;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release_derb/derb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release_derb/derb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\i18n;..\..\common;..\toolutil;..\..\io;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug_derb/derb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug_derb/derb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\i18n;..\..\common;..\toolutil;..\..\io;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release_derb/derb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release_derb/derb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\i18n;..\..\common;..\toolutil;..\..\io;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug_derb/derb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug_derb/derb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClCompile Include="derb.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\..\io\io.vcxproj">
-      <Project>{c2b04507-2521-4801-bf0d-5fd79d6d518c}</Project>
-      <Private>true</Private>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
-      <LinkLibraryDependencies>true</LinkLibraryDependencies>
-      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 0b2d62c..13c8aa8 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{97521D06-EC47-45D4-8BD0-9E16B3F93B2A}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
@@ -93,7 +64,6 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <DisableLanguageExtensions>true</DisableLanguageExtensions>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/genrb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/genrb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/genrb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/genrb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <DisableLanguageExtensions>true</DisableLanguageExtensions>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/genrb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/genrb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/genrb.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/genrb.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     <ClInclude Include="rle.h" />
     <ClInclude Include="ustr.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 4e56344..3dde2db 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{631C23CE-6C1D-4875-88F0-85E0A42B36EA}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/gensprep.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/gensprep.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/gensprep.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/gensprep.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gensprep.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gensprep.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gensprep.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gensprep.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClInclude Include="gensprep.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 078fc79..4104b48 100644 (file)
@@ -1,52 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{77C78066-746F-4EA6-B3FE-B8C8A4A97891}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
     <RootNamespace>gentest</RootNamespace>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -89,7 +54,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Release/gentest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/gentest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x86\Debug/gentest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/gentest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Release/gentest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutest.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/gentest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>.\x64\Debug/gentest.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutestd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x64\Debug/gentest.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
   <ItemGroup>
     <ClInclude Include="gentest.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 080b9fe..b0e86b3 100755 (executable)
@@ -75,6 +75,11 @@ def parse_auto_props():
             # unescape any ";;" in a property value, e.g. the mime-type from
             #    *.java = svn:eol-style=native;svn:mime-type=text/plain;;charset=utf-8
             prop_val = prop_val.replace(";;", ";");
+            # If the prop value "is quoted", remove the quotes.
+            # See svn:keywords for an example of a quoted prop value.
+            match = re.match('^"(.+)"$', prop_val)
+            if match:
+                prop_val = match.group(1)
             proplist.append((prop_name, prop_val))
 
         file_types.append((file_type, proplist))
index 964ee94..ba33286 100644 (file)
@@ -1,53 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E7611F49-F088-4175-9446-6111444E72C8}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-    <RootNamespace>icuinfo</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>x86\Release/icuinfo.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>x86\Release/</AssemblerListingLocation>
       <ObjectFileName>x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icuinfo.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>x86\Release/icuinfo.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>Debug/icuinfo.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>Debug/</AssemblerListingLocation>
       <ObjectFileName>Debug/</ObjectFileName>
       <ProgramDataBaseFileName>Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icuinfo.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>$(OutDir)icuinfo.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
 </Command>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>x64\Release/icuinfo.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>x64\Release/</AssemblerListingLocation>
       <ObjectFileName>x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icuinfo.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;icutu.lib;icutest.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>x64\Release/icuinfo.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 </Command>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\..\i18n;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>Debug/icuinfo.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>Debug/</AssemblerListingLocation>
       <ObjectFileName>Debug/</ObjectFileName>
       <ProgramDataBaseFileName>Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icuinfo.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;icutud.lib;icutestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>$(OutDir)icuinfo.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <None Include="icuplugins_windows_sample.txt" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\ctestfw\ctestfw.vcxproj">
-      <Project>{eca6b435-b4fa-4f9f-bf95-f451d078fc47}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 39cfcd2..058c495 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{659D0C08-D4ED-4BF3-B02B-2D8D4B5A7A7A}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -93,7 +58,7 @@
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>..\..\..\bin\testplug.dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib\testplug.pdb</ProgramDatabaseFile>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>..\..\..\bin\testplug.dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib\testplugd.pdb</ProgramDatabaseFile>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>..\..\..\bin64\testplug.dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib64\testplug.pdb</ProgramDatabaseFile>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;..\ctestfw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;T_CTEST_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     <Link>
       <OutputFile>..\..\..\bin64\testplug.dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib64\testplugd.pdb</ProgramDatabaseFile>
       <ImportLibrary>.\..\..\..\lib64\testplugd.lib</ImportLibrary>
   <ItemGroup>
     <ClCompile Include="testplug.c" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 6e0e998..f75d40a 100644 (file)
@@ -1,52 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{62D4B15D-7A90-4ECB-BA19-5E021D6A21BC}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
     <Keyword>Win32Proj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>x86\Release/icupkg.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>x86\Release/</AssemblerListingLocation>
       <ObjectFileName>x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icupkg.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>x86\Release/icupkg.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <Outputs>..\..\..\bin\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>Debug/icupkg.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>Debug/</AssemblerListingLocation>
       <ObjectFileName>Debug/</ObjectFileName>
       <ProgramDataBaseFileName>Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icupkg.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(OutDir)icupkg.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
 </Command>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>x64\Release/icupkg.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>x64\Release/</AssemblerListingLocation>
       <ObjectFileName>x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icupkg.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>x64\Release/icupkg.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 </Command>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>Debug/icupkg.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>Debug/</AssemblerListingLocation>
       <ObjectFileName>Debug/</ObjectFileName>
       <ProgramDataBaseFileName>Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level4</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ResourceCompile>
     <Link>
       <OutputFile>$(OutDir)icupkg.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>$(OutDir)icupkg.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="icupkg.cpp" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 4a95965..b5a1527 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{F5AD9738-1A3D-4906-B9C4-A7D9CE33DC2C}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <TypeLibraryName>.\x86\Debug/makeconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/makeconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug/makeconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Debug/makeconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <TypeLibraryName>.\x86\Release/makeconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/makeconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release/makeconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/makeconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/makeconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/makeconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug/makeconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Debug/makeconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/makeconv.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/makeconv.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release/makeconv.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/makeconv.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClInclude Include="genmbcs.h" />
     <ClInclude Include="makeconv.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 9f723c0..680cc2f 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{4C8454FE-81D3-4CA3-9927-29BA96F03DAC}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>../../../include;../../common;../toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <CustomBuildStep>
       <Command>copy "$(TargetPath)" ..\..\..\bin
       <TypeLibraryName>.\x86\Debug/pkgdata.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../include;../../common;../toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/pkgdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0411</Culture>
     </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Debug/pkgdata.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\x86\Debug/pkgdata.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <TypeLibraryName>.\x86\Release/pkgdata.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>../../../include;../../common;../toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/pkgdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0411</Culture>
     </ResourceCompile>
     <Link>
       <OutputFile>.\x86\Release/pkgdata.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x86\Release/pkgdata.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Debug/pkgdata.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../../../include;../../common;../toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/pkgdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
       <BrowseInformation>true</BrowseInformation>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0411</Culture>
     </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Debug/pkgdata.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Debug/pkgdata.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
       <Outputs>..\..\..\bin64\$(TargetFileName);%(Outputs)</Outputs>
     </CustomBuildStep>
     <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\x64\Release/pkgdata.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <AdditionalIncludeDirectories>../../../include;../../common;../toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>true</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/pkgdata.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Culture>0x0411</Culture>
     </ResourceCompile>
     <Link>
       <OutputFile>.\x64\Release/pkgdata.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\x64\Release/pkgdata.pdb</ProgramDatabaseFile>
       <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
   <ItemGroup>
     <ClInclude Include="pkgtypes.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\genccode\genccode.vcxproj">
-      <Project>{fdd3c4f2-9805-44eb-9a77-bc1c1c95b547}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\gencmn\gencmn.vcxproj">
-      <Project>{a8d36f8d-09e6-4174-91c3-7beaa9c3f04f}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\icupkg\icupkg.vcxproj">
-      <Project>{62d4b15d-7a90-4ecb-ba19-5e021d6a21bc}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\toolutil\toolutil.vcxproj">
-      <Project>{6b231032-3cb5-4eed-9210-810d666a23a0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 7197635..4df76dd 100644 (file)
@@ -1,51 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+  <!-- The following import will include the 'default' configuration options for VS projects. -->
+  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
+
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6B231032-3CB5-4EED-9210-810D666A23A0}</ProjectGuid>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
   </PropertyGroup>
+  <!-- Options that are common to *all* project configurations -->
+  <ItemDefinitionGroup>
+    <ClCompile>
+       <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>U_TOOLUTIL_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib\icutu.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_TOOLUTIL_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Release/toolutil.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin\icutu60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin\icutu61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib\icutu.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <BaseAddress>0x4ac00000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib\icutud.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_TOOLUTIL_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x86\Debug/toolutil.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x86\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin\icutu60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin\icutu61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib\icutud.pdb</ProgramDatabaseFile>
       <BaseAddress>0x4ac00000</BaseAddress>
       <RandomizedBaseAddress>false</RandomizedBaseAddress>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib64\icutu.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;U_TOOLUTIL_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Release/toolutil.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Release/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin64\icutu60.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin64\icutu61.dll</OutputFile>
+      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutu.pdb</ProgramDatabaseFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <BaseAddress>0x4ac00000</BaseAddress>
       <ImportLibrary>..\..\..\lib64\icutu.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>X64</TargetEnvironment>
       <TypeLibraryName>.\..\..\..\lib64\icutud.tlb</TypeLibraryName>
     </Midl>
     <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;..\..\i18n;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;U_TOOLUTIL_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
       <PrecompiledHeaderOutputFile>.\x64\Debug/toolutil.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
       <ObjectFileName>.\x64\Debug/</ObjectFileName>
       <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <CompileAs>Default</CompileAs>
-      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
     <Link>
-      <OutputFile>..\..\..\bin64\icutu60d.dll</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>..\..\..\bin64\icutu61d.dll</OutputFile>
+      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutud.pdb</ProgramDatabaseFile>
       <BaseAddress>0x4ac00000</BaseAddress>
       <ImportLibrary>..\..\..\lib64\icutud.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClInclude Include="dbgutil.h" />
     <ClInclude Include="udbgutil.h" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\common\common.vcxproj">
-      <Project>{73c0a65b-d1f2-4de1-b3a6-15dad2c23f3d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\..\i18n\i18n.vcxproj">
-      <Project>{0178b127-6269-407d-b112-93877bb62776}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index f8ab02d..63c9230 100644 (file)
@@ -77,12 +77,12 @@ tzorig:     $(TZCODE) $(TZDATA)
        -mv $(TZORIG)/zishrink.awk $(TZORIG)/zishrink.awk.orig
        sed -e '/if (line ~ \/^R SystemV \/) return/s/^/#/' $(TZORIG)/zishrink.awk.orig > $(TZORIG)/zishrink.awk
        -mv $(TZORIG)/Makefile $(TZORIG)/Makefile.orig
-       sed -e "s/BACKWARD=\$$(BACKWARD)/BACKWARD='\$$(BACKWARD)'/" $(TZORIG)/Makefile.orig > $(TZORIG)/Makefile
+       sed -e "s/^BACKWARD=.*/BACKWARD= backward pacificnew/" $(TZORIG)/Makefile.orig > $(TZORIG)/Makefile
        $(MAKE) -C $@ $(TZORIG_OPTS) zdump zones
 
 $(ZDUMPOUT): tzorig
        ( cd $(TZORIG) ; ./zdump$(EXEEXT) $(ZDUMP_OPTS) )
-
+       find $(ZDUMPOUT) -name '*--ICU' -exec sh -c 'mv "$${0}" $${0%--ICU}' {} \;
 
 dump-out: $(ZDUMPOUT) $(ICUZDUMPOUT)
 
index 3e5ed1d..71551ed 100644 (file)
@@ -40,6 +40,7 @@
 #include "uoptions.h"
 
 using namespace std;
+using namespace icu;
 
 class DumpFormatter {
 public:
index 9e3c7c9..168a86f 100644 (file)
@@ -78,3 +78,52 @@ Link Asia/Ho_Chi_Minh VST
 #
 Link America/Regina Canada/East-Saskatchewan # removed from backward in 2017c
 
+
+# Note:
+#   Following section was added for tz database 2018a and 2018b.
+# ICU has a bug handling negative DST, and we also don't want to
+# flip sumer time name and winter time name for Dublin at least for
+# now. Because the change had major impacts to tz database external
+# consumers, the tz database maintainer once reverted the Europe/Dublin
+# rules (same as 2017c or older) in 2018c. The tz database maintainer
+# thinks the changes in 2018a should be brought back when external
+# tz database consumers are ready to adopt the change. We don't know
+# what CLDR TC want to do with this for now. But if tz database brings
+# back the change, and CLDR TC (and ICU TC) want to keep the display name
+# unchanged, then we can uncomment the block below to restore ICU
+# custom override. (Yoshito 2018-01-23)
+
+#
+# tzdata2018a changed Europe/Dublin to use IST (UTC+1) as the standard time
+# of the region, and GMT (UTC) as the daylight saving time with negative
+# offset (-1 hour) in winter. ICU SimpleTimeZone rejects a zone with negative
+# daylight saving time offset. We could remove the restriction in newer version
+# of ICU, but such data does not work well with older ICU runtime without
+# fixing the issue. For now, we define our own Europe/Dubin in ICU, replacing
+# Europe/Dublin data from the tz database.
+#
+
+# Rule NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
+# Rule Eire--ICU       1971    only    -       Oct     31       2:00u  0       GMT
+# Rule Eire--ICU       1972    1980    -       Mar     Sun>=16  2:00u  1:00    IST
+# Rule Eire--ICU       1972    1980    -       Oct     Sun>=23  2:00u  0       GMT
+# Rule Eire--ICU       1981    max     -       Mar     lastSun  1:00u  1:00    IST
+# Rule Eire--ICU       1981    1989    -       Oct     Sun>=23  1:00u  0       GMT
+# Rule Eire--ICU       1990    1995    -       Oct     Sun>=22  1:00u  0       GMT
+# Rule Eire--ICU       1996    max     -       Oct     lastSun  1:00u  0       GMT
+
+# Zone NAME            GMTOFF  RULES   FORMAT  [UNTIL]
+# Zone Europe/Dublin--ICU      -0:25:00 -      LMT     1880 Aug  2
+#                      -0:25:21 -      DMT     1916 May 21  2:00s
+#                      -0:25:21 1:00   IST     1916 Oct  1  2:00s
+#                       0:00   GB-Eire %s      1921 Dec  6 # independence
+#                       0:00   GB-Eire GMT/IST 1940 Feb 25  2:00s
+#                       0:00   1:00    IST     1946 Oct  6  2:00s
+#                       0:00   -       GMT     1947 Mar 16  2:00s
+#                       0:00   1:00    IST     1947 Nov  2  2:00s
+#                       0:00   -       GMT     1948 Apr 18  2:00s
+#                       0:00   GB-Eire GMT/IST 1968 Oct 27
+#                       0:00   Eire--ICU       GMT/IST
+
+# Link Europe/Dublin--ICU Eire--ICU
+
index f0ee63e..b946ffb 100644 (file)
@@ -830,7 +830,7 @@ struct FinalRulePart {
         if (mode != DOM && (dow < 0 || dow >= 7)) {
             os << "Invalid input day of week " << dow;
         }
-        if (offset < 0 || offset > (2 * HOUR)) {
+        if (offset < (-1 * HOUR) || offset > (2 * HOUR)) {
             os << "Invalid input offset " << offset;
         }
         if (isgmt && !isstd) {
@@ -903,7 +903,6 @@ map<string,FinalRule> finalRules;
 
 map<string, set<string> > links;
 map<string, string> reverseLinks;
-map<string, string> linkSource; // id => "Olson link" or "ICU alias"
 
 /**
  * Predicate used to find FinalRule objects that do not have both
@@ -975,9 +974,6 @@ void readFinalZonesAndRules(istream& in) {
 
             links[fromid].insert(toid);
             reverseLinks[toid] = fromid;
-
-            linkSource[fromid] = "Olson link";
-            linkSource[toid] = "Olson link";
         } else if (token.length() > 0 && token[0] == '#') {
             consumeLine(in);
         } else {
@@ -1430,6 +1426,9 @@ void FinalRule::print(ostream& os) const {
     os << part[whichpart].offset << endl;
 }
 
+#define ICU_ZONE_OVERRIDE_SUFFIX "--ICU"
+#define ICU_ZONE_OVERRIDE_SUFFIX_LEN 5
+
 int main(int argc, char *argv[]) {
     string rootpath, zonetab, version;
     bool validArgs = FALSE;
@@ -1493,6 +1492,82 @@ int main(int argc, char *argv[]) {
          << (ZONEINFO.begin())->first << ".."
          << (--ZONEINFO.end())->first << "]" << endl;
 
+    // Overrides TZ database zones with ICU custom zone definition.
+    // These ICU zone overrides are defined in icuzones, with suffix --ICU.
+    // If there is a matching TZ database zone, the zoneinfo is replaced
+    // with the ICU definition. Then, the zone ID with --ICU suffix
+    // will be deleted from the final list.
+    // For example, zoneinfo for Europe/Dublin imported from the TZ database
+    // will be replaced with the zone definition for Europe/Dublin--ICU
+    // in icuzones.
+
+    // Collect zone IDs to be modified with ICU definition.
+    vector<string> customZones;
+    for (ZoneMapIter i = ZONEINFO.begin(); i != ZONEINFO.end(); ++i) {
+        const string& id = i->first;
+        size_t idx = id.rfind(ICU_ZONE_OVERRIDE_SUFFIX);
+        if (idx != string::npos && idx == id.length() - ICU_ZONE_OVERRIDE_SUFFIX_LEN) {
+            cout << "ICU zone override: " << id << endl;
+            customZones.push_back(id.substr(0, idx));
+        }
+    }
+
+    //
+    // BEGIN ICU Custom ZoneInfo Override Handling
+    //
+
+    // Replace zoneinfo with ICU definition, then remove ICU zone ID with
+    // the special suffix.
+    for (vector<string>::iterator i = customZones.begin(); i != customZones.end(); i++) {
+        string& origId = *i;
+        string custId = origId + ICU_ZONE_OVERRIDE_SUFFIX;
+
+        map<string,ZoneInfo>::iterator origZi = ZONEINFO.find(origId);
+        map<string,ZoneInfo>::iterator custZi = ZONEINFO.find(custId);
+        if (origZi != ZONEINFO.end() && custZi != ZONEINFO.end()) {
+            // replace original zone info with custom override,
+            // then delete one custom ID
+            cout << "Replacing ZoneInfo " << origId << " with " << custId << endl;
+            origZi->second = custZi->second;
+            ZONEINFO.erase(custZi);
+        }
+
+        // Also replace final rule
+        map<string,FinalZone>::iterator origFz = finalZones.find(origId);
+        map<string,FinalZone>::iterator custFz = finalZones.find(custId);
+        if (origFz != finalZones.end() && custFz != finalZones.end()) {
+            // replace original final zone with custom override,
+            // then delete one for custom ID
+            cout << "Replacing FinalZone for " << origId << " with " << custId << endl;
+            origFz->second = custFz->second;
+            finalZones.erase(custFz);
+        }
+    }
+
+    // Also remove aliases for ICU custom zoneinfo overrides.
+    for (map<string,set<string>>::const_iterator i = links.begin(); i != links.end(); ) {
+        const string& id = i->first;
+        size_t idx = id.rfind(ICU_ZONE_OVERRIDE_SUFFIX);
+        if (idx != string::npos && idx == id.length() - ICU_ZONE_OVERRIDE_SUFFIX_LEN) {
+            const set<string>& aliases = i->second;
+            // Also remove all revserse links
+            for (set<string>::const_iterator j = aliases.begin(); j != aliases.end(); j++) {
+                const string& alias = *j;
+                cout << "Removing alias " << alias << endl;
+                reverseLinks.erase(alias);
+            }
+
+            links.erase(i++);
+        } else {
+            i++;
+        }
+    }
+
+
+    //
+    // END ICU Custom ZoneInfo Override Handling
+    //
+
     try {
         for_each(finalZones.begin(), finalZones.end(), mergeFinalZone);
     } catch (const exception& error) {
@@ -1510,7 +1585,7 @@ int main(int argc, char *argv[]) {
         const string& olson = i->first;
         const set<string>& aliases = i->second;
         if (ZONEINFO.find(olson) == ZONEINFO.end()) {
-            cerr << "Error: Invalid " << linkSource[olson] << " to non-existent \""
+            cerr << "Error: Invalid 'Link' to non-existent \""
                  << olson << "\"" << endl;
             return 1;
         }