ICU-12766 merge from trunk

X-SVN-Rev: 39743
This commit is contained in:
Steven R. Loomis 2017-03-08 01:07:45 +00:00
commit 68a6ecd336
37 changed files with 654 additions and 413 deletions

View 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 59.0.1</title>
<title>ReadMe for ICU 59.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=
@ -23,7 +23,7 @@
milestone - if the release note is a milestone release
-->
<body class="milestone">
<body class="rc">
<!-- <body> -->
<p class="only-draft"><b>Note:</b> This is a draft readme.</p>
@ -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> 59.0.1 ReadMe
<abbr title="International Components for Unicode">ICU</abbr> 59.1 ReadMe
</h1>
<!-- Shouldn't need to comment/uncomment this paragraph, just change the body class -->
@ -44,7 +44,7 @@
<p class="note only-rc">This is a release candidate version of ICU4C.
It is not recommended for production use.</p>
<p>Last updated: 2017-Jan-15<br/>
<p>Last updated: 2017-Mar-04<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.
@ -230,7 +230,7 @@
</table>
<p><strong>Important:</strong> Please make sure you understand the <a href=
"http://source.icu-project.org/repos/icu/icu/trunk/LICENSE">Copyright and License Information</a>.</p>
"http://source.icu-project.org/repos/icu/trunk/icu4c/LICENSE">Copyright and License Information</a>.</p>
<h2><a name="News" href="#News" id="News">What is new in this
release?</a></h2>
@ -790,7 +790,7 @@
source file tree clean and have build output files written to
a different location. This is called an "out-of-source build".
Simply invoke the configure script from the target location:
<pre>~/icu$ svn export http://source.icu-project.org/repos/icu/icu/trunk
<pre>~/icu$ svn export http://source.icu-project.org/repos/icu/trunk/icu4c
~/icu$ mkdir trunk-dev
~/icu$ cd trunk-dev
~/icu/trunk-dev$ ../trunk/source/runConfigureICU Linux

View file

@ -1348,18 +1348,20 @@ resolveExplicitLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) {
static UBiDiDirection
checkExplicitLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) {
DirProp *dirProps=pBiDi->dirProps;
DirProp dirProp;
UBiDiLevel *levels=pBiDi->levels;
int32_t isolateCount=0;
int32_t i, length=pBiDi->length;
int32_t length=pBiDi->length;
Flags flags=0; /* collect all directionalities in the text */
UBiDiLevel level;
pBiDi->isolateCount=0;
for(i=0; i<length; ++i) {
level=levels[i];
dirProp=dirProps[i];
int32_t currentParaIndex = 0;
int32_t currentParaLimit = pBiDi->paras[0].limit;
int32_t currentParaLevel = pBiDi->paraLevel;
for(int32_t i=0; i<length; ++i) {
UBiDiLevel level=levels[i];
DirProp dirProp=dirProps[i];
if(dirProp==LRI || dirProp==RLI) {
isolateCount++;
if(isolateCount>pBiDi->isolateCount)
@ -1369,21 +1371,41 @@ checkExplicitLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) {
isolateCount--;
else if(dirProp==B)
isolateCount=0;
if(level&UBIDI_LEVEL_OVERRIDE) {
// optimized version of int32_t currentParaLevel = GET_PARALEVEL(pBiDi, i);
if (pBiDi->defaultParaLevel != 0 &&
i == currentParaLimit && (currentParaIndex + 1) < pBiDi->paraCount) {
currentParaLevel = pBiDi->paras[++currentParaIndex].level;
currentParaLimit = pBiDi->paras[currentParaIndex].limit;
}
UBiDiLevel overrideFlag = level & UBIDI_LEVEL_OVERRIDE;
level &= ~UBIDI_LEVEL_OVERRIDE;
if (level < currentParaLevel || UBIDI_MAX_EXPLICIT_LEVEL < level) {
if (level == 0) {
if (dirProp == B) {
// Paragraph separators are ok with explicit level 0.
// Prevents reordering of paragraphs.
} else {
// Treat explicit level 0 as a wildcard for the paragraph level.
// Avoid making the caller guess what the paragraph level would be.
level = (UBiDiLevel)currentParaLevel;
levels[i] = level | overrideFlag;
}
} else {
// 1 <= level < currentParaLevel or UBIDI_MAX_EXPLICIT_LEVEL < level
/* level out of bounds */
*pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
return UBIDI_LTR;
}
}
if (overrideFlag != 0) {
/* keep the override flag in levels[i] but adjust the flags */
level&=~UBIDI_LEVEL_OVERRIDE; /* make the range check below simpler */
flags|=DIRPROP_FLAG_O(level);
} else {
/* set the flags */
flags|=DIRPROP_FLAG_E(level)|DIRPROP_FLAG(dirProp);
}
if((level<GET_PARALEVEL(pBiDi, i) &&
!((0==level)&&(dirProp==B))) ||
(UBIDI_MAX_EXPLICIT_LEVEL<level)) {
/* level out of bounds */
*pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
return UBIDI_LTR;
}
}
if(flags&MASK_EMBEDDING)
flags|=DIRPROP_FLAG_LR(pBiDi->paraLevel);

View file

@ -1196,11 +1196,12 @@ ubidi_setContext(UBiDi *pBiDi,
* A level overrides the directional property of its corresponding
* (same index) character if the level has the
* <code>#UBIDI_LEVEL_OVERRIDE</code> bit set.<br><br>
* Except for that bit, it must be
* Aside from that bit, it must be
* <code>paraLevel<=embeddingLevels[]<=UBIDI_MAX_EXPLICIT_LEVEL</code>,
* with one exception: a level of zero may be specified for a paragraph
* separator even if <code>paraLevel>0</code> when multiple paragraphs
* are submitted in the same call to <code>ubidi_setPara()</code>.<br><br>
* except that level 0 is always allowed.
* Level 0 for a paragraph separator prevents reordering of paragraphs.
* Level 0 for other characters is treated as a wildcard
* and is lifted up to the resolved level of the surrounding paragraph.<br><br>
* <strong>Caution: </strong>A copy of this pointer, not of the levels,
* will be stored in the <code>UBiDi</code> object;
* the <code>embeddingLevels</code> array must not be

View file

@ -64,13 +64,13 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_MINOR_NUM 0
#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
* @stable ICU 2.4
*/
#define U_ICU_VERSION_PATCHLEVEL_NUM 1
#define U_ICU_VERSION_PATCHLEVEL_NUM 0
/** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0.
@ -119,7 +119,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION "59.0.1"
#define U_ICU_VERSION "59.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
@ -131,7 +131,7 @@
/** Data version in ICU4C.
* @internal ICU 4.4 Internal Use Only
**/
#define U_ICU_DATA_VERSION "59.0.1"
#define U_ICU_DATA_VERSION "59.1"
#endif /* U_HIDE_INTERNAL_API */
/*===========================================================================

View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for ICU 59.0.1
# Generated by GNU Autoconf 2.69 for ICU 59.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='59.0.1'
PACKAGE_STRING='ICU 59.0.1'
PACKAGE_VERSION='59.1'
PACKAGE_STRING='ICU 59.1'
PACKAGE_BUGREPORT='http://icu-project.org/bugs'
PACKAGE_URL='http://icu-project.org'
@ -1357,7 +1357,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 59.0.1 to adapt to many kinds of systems.
\`configure' configures ICU 59.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1423,7 +1423,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ICU 59.0.1:";;
short | recursive ) echo "Configuration of ICU 59.1:";;
esac
cat <<\_ACEOF
@ -1559,7 +1559,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
ICU configure 59.0.1
ICU configure 59.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -2251,7 +2251,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 59.0.1, which was
It was created by ICU $as_me 59.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -8345,7 +8345,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 59.0.1, which was
This file was extended by ICU $as_me 59.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -8399,7 +8399,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 59.0.1
ICU config.status 59.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

@ -1,7 +1,7 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
root{
Version{"2.1.30.48"}
Version{"2.1.32.92"}
boundaries{
grapheme:process(dependency){"char.brk"}
line:process(dependency){"line.brk"}

View file

@ -2405,5 +2405,5 @@ ar{
two{"{0} {1}"}
zero{"{0} {1}"}
}
Version{"2.1.32.59"}
Version{"2.1.32.86"}
}

View file

@ -0,0 +1,12 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Currencies{
BZD{
"$",
"dólar beliceño",
}
}
Version{"2.1.32.37"}
}

View file

@ -78,56 +78,56 @@ CURR_SOURCE = af.txt af_NA.txt agq.txt ak.txt\
en_TO.txt en_TT.txt en_TV.txt en_TZ.txt en_UG.txt\
en_VC.txt en_VG.txt en_VU.txt en_WS.txt en_ZA.txt\
en_ZM.txt en_ZW.txt eo.txt es.txt es_419.txt\
es_AR.txt es_BO.txt es_BR.txt es_CL.txt es_CO.txt\
es_CR.txt es_CU.txt es_DO.txt es_EC.txt es_GQ.txt\
es_GT.txt es_HN.txt es_MX.txt es_NI.txt es_PA.txt\
es_PE.txt es_PH.txt es_PR.txt es_PY.txt es_SV.txt\
es_US.txt es_UY.txt es_VE.txt et.txt eu.txt\
ewo.txt fa.txt fa_AF.txt ff.txt ff_GN.txt\
ff_MR.txt fi.txt fil.txt fo.txt fo_DK.txt\
fr.txt fr_BI.txt fr_CA.txt fr_CD.txt fr_DJ.txt\
fr_DZ.txt fr_GN.txt fr_HT.txt fr_KM.txt fr_LU.txt\
fr_MG.txt fr_MR.txt fr_MU.txt fr_RW.txt fr_SC.txt\
fr_SY.txt fr_TN.txt fr_VU.txt fur.txt fy.txt\
ga.txt gd.txt gl.txt gsw.txt gu.txt\
guz.txt gv.txt ha.txt ha_GH.txt haw.txt\
he.txt hi.txt hr.txt hr_BA.txt hsb.txt\
hu.txt hy.txt id.txt ig.txt ii.txt\
is.txt it.txt ja.txt jgo.txt jmc.txt\
ka.txt kab.txt kam.txt kde.txt kea.txt\
khq.txt ki.txt kk.txt kkj.txt kl.txt\
kln.txt km.txt kn.txt ko.txt kok.txt\
ks.txt ksb.txt ksf.txt ksh.txt kw.txt\
ky.txt lag.txt lb.txt lg.txt lkt.txt\
ln.txt ln_AO.txt lo.txt lrc.txt lt.txt\
lu.txt luo.txt luy.txt lv.txt mas.txt\
mas_TZ.txt mer.txt mfe.txt mg.txt mgh.txt\
mgo.txt mk.txt ml.txt mn.txt mr.txt\
ms.txt ms_BN.txt ms_SG.txt mt.txt mua.txt\
my.txt mzn.txt naq.txt nb.txt nd.txt\
nds.txt ne.txt nl.txt nl_AW.txt nl_BQ.txt\
nl_CW.txt nl_SR.txt nl_SX.txt nmg.txt nn.txt\
nnh.txt nus.txt nyn.txt om.txt om_KE.txt\
or.txt os.txt os_RU.txt pa.txt pa_Arab.txt\
pa_Guru.txt pl.txt ps.txt pt.txt pt_AO.txt\
pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt pt_LU.txt\
pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt pt_TL.txt\
qu.txt qu_BO.txt qu_EC.txt rm.txt rn.txt\
ro.txt ro_MD.txt rof.txt ru.txt ru_BY.txt\
ru_KG.txt ru_KZ.txt ru_MD.txt rw.txt rwk.txt\
sah.txt saq.txt sbp.txt se.txt se_SE.txt\
seh.txt ses.txt sg.txt shi.txt shi_Latn.txt\
shi_Tfng.txt si.txt sk.txt sl.txt smn.txt\
sn.txt so.txt so_DJ.txt so_ET.txt so_KE.txt\
sq.txt sq_MK.txt sr.txt sr_Cyrl.txt sr_Latn.txt\
sv.txt sw.txt sw_CD.txt sw_UG.txt ta.txt\
ta_LK.txt ta_MY.txt ta_SG.txt te.txt teo.txt\
teo_KE.txt th.txt ti.txt ti_ER.txt to.txt\
tr.txt twq.txt tzm.txt ug.txt uk.txt\
ur.txt ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt\
uz_Latn.txt vai.txt vai_Latn.txt vai_Vaii.txt vi.txt\
vun.txt wae.txt xog.txt yav.txt yi.txt\
yo.txt yo_BJ.txt yue.txt zgh.txt zh.txt\
zh_Hans.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt zh_Hant.txt\
zh_Hant_HK.txt zh_Hant_MO.txt zu.txt
es_AR.txt es_BO.txt es_BR.txt es_BZ.txt es_CL.txt\
es_CO.txt es_CR.txt es_CU.txt es_DO.txt es_EC.txt\
es_GQ.txt es_GT.txt es_HN.txt es_MX.txt es_NI.txt\
es_PA.txt es_PE.txt es_PH.txt es_PR.txt es_PY.txt\
es_SV.txt es_US.txt es_UY.txt es_VE.txt et.txt\
eu.txt ewo.txt fa.txt fa_AF.txt ff.txt\
ff_GN.txt ff_MR.txt fi.txt fil.txt fo.txt\
fo_DK.txt fr.txt fr_BI.txt fr_CA.txt fr_CD.txt\
fr_DJ.txt fr_DZ.txt fr_GN.txt fr_HT.txt fr_KM.txt\
fr_LU.txt fr_MG.txt fr_MR.txt fr_MU.txt fr_RW.txt\
fr_SC.txt fr_SY.txt fr_TN.txt fr_VU.txt fur.txt\
fy.txt ga.txt gd.txt gl.txt gsw.txt\
gu.txt guz.txt gv.txt ha.txt ha_GH.txt\
haw.txt he.txt hi.txt hr.txt hr_BA.txt\
hsb.txt hu.txt hy.txt id.txt ig.txt\
ii.txt is.txt it.txt ja.txt jgo.txt\
jmc.txt ka.txt kab.txt kam.txt kde.txt\
kea.txt khq.txt ki.txt kk.txt kkj.txt\
kl.txt kln.txt km.txt kn.txt ko.txt\
kok.txt ks.txt ksb.txt ksf.txt ksh.txt\
kw.txt ky.txt lag.txt lb.txt lg.txt\
lkt.txt ln.txt ln_AO.txt lo.txt lrc.txt\
lt.txt lu.txt luo.txt luy.txt lv.txt\
mas.txt mas_TZ.txt mer.txt mfe.txt mg.txt\
mgh.txt mgo.txt mk.txt ml.txt mn.txt\
mr.txt ms.txt ms_BN.txt ms_SG.txt mt.txt\
mua.txt my.txt mzn.txt naq.txt nb.txt\
nd.txt nds.txt ne.txt nl.txt nl_AW.txt\
nl_BQ.txt nl_CW.txt nl_SR.txt nl_SX.txt nmg.txt\
nn.txt nnh.txt nus.txt nyn.txt om.txt\
om_KE.txt or.txt os.txt os_RU.txt pa.txt\
pa_Arab.txt pa_Guru.txt pl.txt ps.txt pt.txt\
pt_AO.txt pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt\
pt_LU.txt pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt\
pt_TL.txt qu.txt qu_BO.txt qu_EC.txt rm.txt\
rn.txt ro.txt ro_MD.txt rof.txt ru.txt\
ru_BY.txt ru_KG.txt ru_KZ.txt ru_MD.txt rw.txt\
rwk.txt sah.txt saq.txt sbp.txt se.txt\
se_SE.txt seh.txt ses.txt sg.txt shi.txt\
shi_Latn.txt shi_Tfng.txt si.txt sk.txt sl.txt\
smn.txt sn.txt so.txt so_DJ.txt so_ET.txt\
so_KE.txt sq.txt sq_MK.txt sr.txt sr_Cyrl.txt\
sr_Latn.txt sv.txt sw.txt sw_CD.txt sw_UG.txt\
ta.txt ta_LK.txt ta_MY.txt ta_SG.txt te.txt\
teo.txt teo_KE.txt th.txt ti.txt ti_ER.txt\
to.txt tr.txt twq.txt tzm.txt ug.txt\
uk.txt ur.txt ur_IN.txt uz.txt uz_Arab.txt\
uz_Cyrl.txt uz_Latn.txt vai.txt vai_Latn.txt vai_Vaii.txt\
vi.txt vun.txt wae.txt xog.txt yav.txt\
yi.txt yo.txt yo_BJ.txt yue.txt zgh.txt\
zh.txt zh_Hans.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt

View file

@ -253,6 +253,7 @@
<include locales="es_AR"/>
<include locales="es_BO"/>
<include locales="es_BR"/>
<include locales="es_BZ"/>
<include locales="es_CL"/>
<include locales="es_CO"/>
<include locales="es_CR"/>
@ -397,6 +398,7 @@
<include locales="it_CH"/>
<include locales="it_IT"/>
<include locales="it_SM"/>
<include locales="it_VA"/>
<include locales="iw"/>
<include locales="iw_IL"/>
<include locales="ja"/>

View file

@ -849,7 +849,7 @@ ar{
VALENCIA{"بلنسية"}
WADEGILE{"المندرين باللاتينية - ويد–جيلز"}
}
Version{"2.1.32.59"}
Version{"2.1.32.86"}
characterLabelPattern{
all{"{0} - الكل"}
category-list{"{0}: {1}"}

View file

@ -0,0 +1,6 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Version{"2.1.32.37"}
}

View file

@ -76,47 +76,47 @@ LANG_SOURCE = af.txt agq.txt ak.txt am.txt\
en_TT.txt en_TV.txt en_TZ.txt en_UG.txt en_VC.txt\
en_VG.txt en_VU.txt en_WS.txt en_ZA.txt en_ZM.txt\
en_ZW.txt eo.txt es.txt es_419.txt es_AR.txt\
es_BO.txt es_BR.txt es_CL.txt es_CO.txt es_CR.txt\
es_CU.txt es_DO.txt es_EC.txt es_GT.txt es_HN.txt\
es_MX.txt es_NI.txt es_PA.txt es_PE.txt es_PR.txt\
es_PY.txt es_SV.txt es_US.txt es_UY.txt es_VE.txt\
et.txt eu.txt ewo.txt fa.txt fa_AF.txt\
ff.txt fi.txt fil.txt fo.txt fr.txt\
fr_BE.txt fr_CA.txt fr_CH.txt fur.txt fy.txt\
ga.txt gd.txt gl.txt gsw.txt gu.txt\
guz.txt gv.txt ha.txt haw.txt he.txt\
hi.txt hr.txt hsb.txt hu.txt hy.txt\
id.txt ig.txt ii.txt is.txt it.txt\
ja.txt jgo.txt jmc.txt ka.txt kab.txt\
kam.txt kde.txt kea.txt khq.txt ki.txt\
kk.txt kkj.txt kl.txt kln.txt km.txt\
kn.txt ko.txt kok.txt ks.txt ksb.txt\
ksf.txt ksh.txt kw.txt ky.txt lag.txt\
lb.txt lg.txt lkt.txt ln.txt lo.txt\
lrc.txt lt.txt lu.txt luo.txt luy.txt\
lv.txt mas.txt mer.txt mfe.txt mg.txt\
mgh.txt mgo.txt mk.txt ml.txt mn.txt\
mr.txt ms.txt mt.txt mua.txt my.txt\
mzn.txt naq.txt nb.txt nd.txt nds.txt\
ne.txt nl.txt nmg.txt nn.txt nnh.txt\
nus.txt nyn.txt om.txt or.txt os.txt\
pa.txt pa_Arab.txt pa_Guru.txt pl.txt ps.txt\
pt.txt pt_AO.txt pt_CH.txt pt_CV.txt pt_GQ.txt\
pt_GW.txt pt_LU.txt pt_MO.txt pt_MZ.txt pt_PT.txt\
pt_ST.txt pt_TL.txt qu.txt rm.txt rn.txt\
ro.txt ro_MD.txt rof.txt ru.txt rw.txt\
rwk.txt sah.txt saq.txt sbp.txt se.txt\
se_FI.txt seh.txt ses.txt sg.txt shi.txt\
shi_Latn.txt shi_Tfng.txt si.txt sk.txt sl.txt\
smn.txt sn.txt so.txt sq.txt sr.txt\
sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_XK.txt sr_Latn.txt\
sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_XK.txt sv.txt sv_FI.txt\
sw.txt sw_CD.txt sw_KE.txt ta.txt te.txt\
teo.txt th.txt ti.txt to.txt tr.txt\
twq.txt tzm.txt ug.txt uk.txt ur.txt\
ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt uz_Latn.txt\
vai.txt vai_Latn.txt vai_Vaii.txt vi.txt vun.txt\
wae.txt xog.txt yav.txt yi.txt yo.txt\
yo_BJ.txt yue.txt zgh.txt zh.txt zh_Hans.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt
es_BO.txt es_BR.txt es_BZ.txt es_CL.txt es_CO.txt\
es_CR.txt es_CU.txt es_DO.txt es_EC.txt es_GT.txt\
es_HN.txt es_MX.txt es_NI.txt es_PA.txt es_PE.txt\
es_PR.txt es_PY.txt es_SV.txt es_US.txt es_UY.txt\
es_VE.txt et.txt eu.txt ewo.txt fa.txt\
fa_AF.txt ff.txt fi.txt fil.txt fo.txt\
fr.txt fr_BE.txt fr_CA.txt fr_CH.txt fur.txt\
fy.txt ga.txt gd.txt gl.txt gsw.txt\
gu.txt guz.txt gv.txt ha.txt haw.txt\
he.txt hi.txt hr.txt hsb.txt hu.txt\
hy.txt id.txt ig.txt ii.txt is.txt\
it.txt ja.txt jgo.txt jmc.txt ka.txt\
kab.txt kam.txt kde.txt kea.txt khq.txt\
ki.txt kk.txt kkj.txt kl.txt kln.txt\
km.txt kn.txt ko.txt kok.txt ks.txt\
ksb.txt ksf.txt ksh.txt kw.txt ky.txt\
lag.txt lb.txt lg.txt lkt.txt ln.txt\
lo.txt lrc.txt lt.txt lu.txt luo.txt\
luy.txt lv.txt mas.txt mer.txt mfe.txt\
mg.txt mgh.txt mgo.txt mk.txt ml.txt\
mn.txt mr.txt ms.txt mt.txt mua.txt\
my.txt mzn.txt naq.txt nb.txt nd.txt\
nds.txt ne.txt nl.txt nmg.txt nn.txt\
nnh.txt nus.txt nyn.txt om.txt or.txt\
os.txt pa.txt pa_Arab.txt pa_Guru.txt pl.txt\
ps.txt pt.txt pt_AO.txt pt_CH.txt pt_CV.txt\
pt_GQ.txt pt_GW.txt pt_LU.txt pt_MO.txt pt_MZ.txt\
pt_PT.txt pt_ST.txt pt_TL.txt qu.txt rm.txt\
rn.txt ro.txt ro_MD.txt rof.txt ru.txt\
rw.txt rwk.txt sah.txt saq.txt sbp.txt\
se.txt se_FI.txt seh.txt ses.txt sg.txt\
shi.txt shi_Latn.txt shi_Tfng.txt si.txt sk.txt\
sl.txt smn.txt sn.txt so.txt sq.txt\
sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_XK.txt\
sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_XK.txt sv.txt\
sv_FI.txt sw.txt sw_CD.txt sw_KE.txt ta.txt\
te.txt teo.txt th.txt ti.txt to.txt\
tr.txt twq.txt tzm.txt ug.txt uk.txt\
ur.txt ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt\
uz_Latn.txt vai.txt vai_Latn.txt vai_Vaii.txt vi.txt\
vun.txt wae.txt xog.txt yav.txt yi.txt\
yo.txt yo_BJ.txt yue.txt zgh.txt zh.txt\
zh_Hans.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt

View file

@ -252,6 +252,104 @@ ar{
zero{"¤ 000 ترليو"}
}
}
decimalFormat{
1000{
few{"0 آلاف"}
many{"0 ألف"}
one{"0 ألف"}
other{"0 ألف"}
two{"0 ألف"}
zero{"0 ألف"}
}
10000{
few{"00 ألف"}
many{"00 ألف"}
one{"00 ألف"}
other{"00 ألف"}
two{"00 ألف"}
zero{"00 ألف"}
}
100000{
few{"000 ألف"}
many{"000 ألف"}
one{"000 ألف"}
other{"000 ألف"}
two{"000 ألف"}
zero{"000 ألف"}
}
1000000{
few{"0 مليو"}
many{"0 مليو"}
one{"0 مليو"}
other{"0 مليو"}
two{"0 مليو"}
zero{"0 مليو"}
}
10000000{
few{"00 مليو"}
many{"00 مليو"}
one{"00 مليو"}
other{"00 مليو"}
two{"00 مليو"}
zero{"00 مليو"}
}
100000000{
few{"000 مليو"}
many{"000 مليو"}
one{"000 مليو"}
other{"000 مليو"}
two{"000 مليو"}
zero{"000 مليو"}
}
1000000000{
few{"0 مليا"}
many{"0 مليا"}
one{"0 مليا"}
other{"0 مليا"}
two{"0 مليا"}
zero{"0 مليا"}
}
10000000000{
few{"00 مليا"}
many{"00 مليا"}
one{"00 مليا"}
other{"00 مليا"}
two{"00 مليا"}
zero{"00 مليا"}
}
100000000000{
few{"000 مليا"}
many{"000 مليا"}
one{"000 مليا"}
other{"000 مليا"}
two{"000 مليا"}
zero{"000 مليا"}
}
1000000000000{
few{"0 ترليو"}
many{"0 ترليو"}
one{"0 ترليو"}
other{"0 ترليو"}
two{"0 ترليو"}
zero{"0 ترليو"}
}
10000000000000{
few{"00 ترليو"}
many{"00 ترليو"}
one{"00 ترليو"}
other{"00 ترليو"}
two{"00 ترليو"}
zero{"00 ترليو"}
}
100000000000000{
few{"000 ترليو"}
many{"000 ترليو"}
one{"000 ترليو"}
other{"000 ترليو"}
two{"000 ترليو"}
zero{"000 ترليو"}
}
}
}
symbols{
decimal{"."}
@ -284,7 +382,7 @@ ar{
minimumGroupingDigits{"1"}
native{"arab"}
}
Version{"2.1.32.59"}
Version{"2.1.32.86"}
calendar{
buddhist{
eras{

View file

@ -0,0 +1,6 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Version{"2.1.32.37"}
}

View file

@ -0,0 +1,5 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
it_VA{
Version{"2.1.32.51"}
}

View file

@ -89,99 +89,100 @@ GENRB_SOURCE = af.txt af_NA.txt af_ZA.txt agq.txt\
en_UG.txt en_UM.txt en_US.txt en_US_POSIX.txt en_VC.txt\
en_VG.txt en_VI.txt en_VU.txt en_WS.txt en_ZA.txt\
en_ZM.txt en_ZW.txt eo.txt es.txt es_419.txt\
es_AR.txt es_BO.txt es_BR.txt es_CL.txt es_CO.txt\
es_CR.txt es_CU.txt es_DO.txt es_EA.txt es_EC.txt\
es_ES.txt es_GQ.txt es_GT.txt es_HN.txt es_IC.txt\
es_MX.txt es_NI.txt es_PA.txt es_PE.txt es_PH.txt\
es_PR.txt es_PY.txt es_SV.txt es_US.txt es_UY.txt\
es_VE.txt et.txt et_EE.txt eu.txt eu_ES.txt\
ewo.txt ewo_CM.txt fa.txt fa_AF.txt fa_IR.txt\
ff.txt ff_CM.txt ff_GN.txt ff_MR.txt ff_SN.txt\
fi.txt fi_FI.txt fil.txt fil_PH.txt fo.txt\
fo_DK.txt fo_FO.txt fr.txt fr_BE.txt fr_BF.txt\
fr_BI.txt fr_BJ.txt fr_BL.txt fr_CA.txt fr_CD.txt\
fr_CF.txt fr_CG.txt fr_CH.txt fr_CI.txt fr_CM.txt\
fr_DJ.txt fr_DZ.txt fr_FR.txt fr_GA.txt fr_GF.txt\
fr_GN.txt fr_GP.txt fr_GQ.txt fr_HT.txt fr_KM.txt\
fr_LU.txt fr_MA.txt fr_MC.txt fr_MF.txt fr_MG.txt\
fr_ML.txt fr_MQ.txt fr_MR.txt fr_MU.txt fr_NC.txt\
fr_NE.txt fr_PF.txt fr_PM.txt fr_RE.txt fr_RW.txt\
fr_SC.txt fr_SN.txt fr_SY.txt fr_TD.txt fr_TG.txt\
fr_TN.txt fr_VU.txt fr_WF.txt fr_YT.txt fur.txt\
fur_IT.txt fy.txt fy_NL.txt ga.txt ga_IE.txt\
gd.txt gd_GB.txt gl.txt gl_ES.txt gsw.txt\
gsw_CH.txt gsw_FR.txt gsw_LI.txt gu.txt gu_IN.txt\
guz.txt guz_KE.txt gv.txt gv_IM.txt ha.txt\
ha_GH.txt ha_NE.txt ha_NG.txt haw.txt haw_US.txt\
he.txt he_IL.txt hi.txt hi_IN.txt hr.txt\
hr_BA.txt hr_HR.txt hsb.txt hsb_DE.txt hu.txt\
hu_HU.txt hy.txt hy_AM.txt id.txt id_ID.txt\
ig.txt ig_NG.txt ii.txt ii_CN.txt is.txt\
is_IS.txt it.txt it_CH.txt it_IT.txt it_SM.txt\
ja.txt ja_JP.txt jgo.txt jgo_CM.txt jmc.txt\
jmc_TZ.txt ka.txt ka_GE.txt kab.txt kab_DZ.txt\
kam.txt kam_KE.txt kde.txt kde_TZ.txt kea.txt\
kea_CV.txt khq.txt khq_ML.txt ki.txt ki_KE.txt\
kk.txt kk_KZ.txt kkj.txt kkj_CM.txt kl.txt\
kl_GL.txt kln.txt kln_KE.txt km.txt km_KH.txt\
kn.txt kn_IN.txt ko.txt ko_KP.txt ko_KR.txt\
kok.txt kok_IN.txt ks.txt ks_IN.txt ksb.txt\
ksb_TZ.txt ksf.txt ksf_CM.txt ksh.txt ksh_DE.txt\
kw.txt kw_GB.txt ky.txt ky_KG.txt lag.txt\
lag_TZ.txt lb.txt lb_LU.txt lg.txt lg_UG.txt\
lkt.txt lkt_US.txt ln.txt ln_AO.txt ln_CD.txt\
ln_CF.txt ln_CG.txt lo.txt lo_LA.txt lrc.txt\
lrc_IQ.txt lrc_IR.txt lt.txt lt_LT.txt lu.txt\
lu_CD.txt luo.txt luo_KE.txt luy.txt luy_KE.txt\
lv.txt lv_LV.txt mas.txt mas_KE.txt mas_TZ.txt\
mer.txt mer_KE.txt mfe.txt mfe_MU.txt mg.txt\
mg_MG.txt mgh.txt mgh_MZ.txt mgo.txt mgo_CM.txt\
mk.txt mk_MK.txt ml.txt ml_IN.txt mn.txt\
mn_MN.txt mr.txt mr_IN.txt ms.txt ms_BN.txt\
ms_MY.txt ms_SG.txt mt.txt mt_MT.txt mua.txt\
mua_CM.txt my.txt my_MM.txt mzn.txt mzn_IR.txt\
naq.txt naq_NA.txt nb.txt nb_NO.txt nb_SJ.txt\
nd.txt nd_ZW.txt nds.txt nds_DE.txt nds_NL.txt\
ne.txt ne_IN.txt ne_NP.txt nl.txt nl_AW.txt\
nl_BE.txt nl_BQ.txt nl_CW.txt nl_NL.txt nl_SR.txt\
nl_SX.txt nmg.txt nmg_CM.txt nn.txt nn_NO.txt\
nnh.txt nnh_CM.txt nus.txt nus_SS.txt nyn.txt\
nyn_UG.txt om.txt om_ET.txt om_KE.txt or.txt\
or_IN.txt os.txt os_GE.txt os_RU.txt pa.txt\
pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt pa_Guru_IN.txt pl.txt\
pl_PL.txt ps.txt ps_AF.txt pt.txt pt_AO.txt\
pt_BR.txt pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt\
pt_LU.txt pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt\
pt_TL.txt qu.txt qu_BO.txt qu_EC.txt qu_PE.txt\
rm.txt rm_CH.txt rn.txt rn_BI.txt ro.txt\
ro_MD.txt ro_RO.txt rof.txt rof_TZ.txt ru.txt\
ru_BY.txt ru_KG.txt ru_KZ.txt ru_MD.txt ru_RU.txt\
ru_UA.txt rw.txt rw_RW.txt rwk.txt rwk_TZ.txt\
sah.txt sah_RU.txt saq.txt saq_KE.txt sbp.txt\
sbp_TZ.txt se.txt se_FI.txt se_NO.txt se_SE.txt\
seh.txt seh_MZ.txt ses.txt ses_ML.txt sg.txt\
sg_CF.txt shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt\
shi_Tfng_MA.txt si.txt si_LK.txt sk.txt sk_SK.txt\
sl.txt sl_SI.txt smn.txt smn_FI.txt sn.txt\
sn_ZW.txt so.txt so_DJ.txt so_ET.txt so_KE.txt\
so_SO.txt sq.txt sq_AL.txt sq_MK.txt sq_XK.txt\
sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_RS.txt\
sr_Cyrl_XK.txt sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt\
sr_Latn_XK.txt sv.txt sv_AX.txt sv_FI.txt sv_SE.txt\
sw.txt sw_CD.txt sw_KE.txt sw_TZ.txt sw_UG.txt\
ta.txt ta_IN.txt ta_LK.txt ta_MY.txt ta_SG.txt\
te.txt te_IN.txt teo.txt teo_KE.txt teo_UG.txt\
th.txt th_TH.txt ti.txt ti_ER.txt ti_ET.txt\
to.txt to_TO.txt tr.txt tr_CY.txt tr_TR.txt\
twq.txt twq_NE.txt tzm.txt tzm_MA.txt ug.txt\
ug_CN.txt uk.txt uk_UA.txt ur.txt ur_IN.txt\
ur_PK.txt uz.txt uz_Arab.txt uz_Arab_AF.txt uz_Cyrl.txt\
uz_Cyrl_UZ.txt uz_Latn.txt uz_Latn_UZ.txt vai.txt vai_Latn.txt\
vai_Latn_LR.txt vai_Vaii.txt vai_Vaii_LR.txt vi.txt vi_VN.txt\
vun.txt vun_TZ.txt wae.txt wae_CH.txt xog.txt\
xog_UG.txt yav.txt yav_CM.txt yi.txt yi_001.txt\
yo.txt yo_BJ.txt yo_NG.txt yue.txt yue_HK.txt\
zgh.txt zgh_MA.txt zh.txt zh_Hans.txt zh_Hans_CN.txt\
zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt\
zh_Hant_MO.txt zh_Hant_TW.txt zu.txt zu_ZA.txt
es_AR.txt es_BO.txt es_BR.txt es_BZ.txt es_CL.txt\
es_CO.txt es_CR.txt es_CU.txt es_DO.txt es_EA.txt\
es_EC.txt es_ES.txt es_GQ.txt es_GT.txt es_HN.txt\
es_IC.txt es_MX.txt es_NI.txt es_PA.txt es_PE.txt\
es_PH.txt es_PR.txt es_PY.txt es_SV.txt es_US.txt\
es_UY.txt es_VE.txt et.txt et_EE.txt eu.txt\
eu_ES.txt ewo.txt ewo_CM.txt fa.txt fa_AF.txt\
fa_IR.txt ff.txt ff_CM.txt ff_GN.txt ff_MR.txt\
ff_SN.txt fi.txt fi_FI.txt fil.txt fil_PH.txt\
fo.txt fo_DK.txt fo_FO.txt fr.txt fr_BE.txt\
fr_BF.txt fr_BI.txt fr_BJ.txt fr_BL.txt fr_CA.txt\
fr_CD.txt fr_CF.txt fr_CG.txt fr_CH.txt fr_CI.txt\
fr_CM.txt fr_DJ.txt fr_DZ.txt fr_FR.txt fr_GA.txt\
fr_GF.txt fr_GN.txt fr_GP.txt fr_GQ.txt fr_HT.txt\
fr_KM.txt fr_LU.txt fr_MA.txt fr_MC.txt fr_MF.txt\
fr_MG.txt fr_ML.txt fr_MQ.txt fr_MR.txt fr_MU.txt\
fr_NC.txt fr_NE.txt fr_PF.txt fr_PM.txt fr_RE.txt\
fr_RW.txt fr_SC.txt fr_SN.txt fr_SY.txt fr_TD.txt\
fr_TG.txt fr_TN.txt fr_VU.txt fr_WF.txt fr_YT.txt\
fur.txt fur_IT.txt fy.txt fy_NL.txt ga.txt\
ga_IE.txt gd.txt gd_GB.txt gl.txt gl_ES.txt\
gsw.txt gsw_CH.txt gsw_FR.txt gsw_LI.txt gu.txt\
gu_IN.txt guz.txt guz_KE.txt gv.txt gv_IM.txt\
ha.txt ha_GH.txt ha_NE.txt ha_NG.txt haw.txt\
haw_US.txt he.txt he_IL.txt hi.txt hi_IN.txt\
hr.txt hr_BA.txt hr_HR.txt hsb.txt hsb_DE.txt\
hu.txt hu_HU.txt hy.txt hy_AM.txt id.txt\
id_ID.txt ig.txt ig_NG.txt ii.txt ii_CN.txt\
is.txt is_IS.txt it.txt it_CH.txt it_IT.txt\
it_SM.txt it_VA.txt ja.txt ja_JP.txt jgo.txt\
jgo_CM.txt jmc.txt jmc_TZ.txt ka.txt ka_GE.txt\
kab.txt kab_DZ.txt kam.txt kam_KE.txt kde.txt\
kde_TZ.txt kea.txt kea_CV.txt khq.txt khq_ML.txt\
ki.txt ki_KE.txt kk.txt kk_KZ.txt kkj.txt\
kkj_CM.txt kl.txt kl_GL.txt kln.txt kln_KE.txt\
km.txt km_KH.txt kn.txt kn_IN.txt ko.txt\
ko_KP.txt ko_KR.txt kok.txt kok_IN.txt ks.txt\
ks_IN.txt ksb.txt ksb_TZ.txt ksf.txt ksf_CM.txt\
ksh.txt ksh_DE.txt kw.txt kw_GB.txt ky.txt\
ky_KG.txt lag.txt lag_TZ.txt lb.txt lb_LU.txt\
lg.txt lg_UG.txt lkt.txt lkt_US.txt ln.txt\
ln_AO.txt ln_CD.txt ln_CF.txt ln_CG.txt lo.txt\
lo_LA.txt lrc.txt lrc_IQ.txt lrc_IR.txt lt.txt\
lt_LT.txt lu.txt lu_CD.txt luo.txt luo_KE.txt\
luy.txt luy_KE.txt lv.txt lv_LV.txt mas.txt\
mas_KE.txt mas_TZ.txt mer.txt mer_KE.txt mfe.txt\
mfe_MU.txt mg.txt mg_MG.txt mgh.txt mgh_MZ.txt\
mgo.txt mgo_CM.txt mk.txt mk_MK.txt ml.txt\
ml_IN.txt mn.txt mn_MN.txt mr.txt mr_IN.txt\
ms.txt ms_BN.txt ms_MY.txt ms_SG.txt mt.txt\
mt_MT.txt mua.txt mua_CM.txt my.txt my_MM.txt\
mzn.txt mzn_IR.txt naq.txt naq_NA.txt nb.txt\
nb_NO.txt nb_SJ.txt nd.txt nd_ZW.txt nds.txt\
nds_DE.txt nds_NL.txt ne.txt ne_IN.txt ne_NP.txt\
nl.txt nl_AW.txt nl_BE.txt nl_BQ.txt nl_CW.txt\
nl_NL.txt nl_SR.txt nl_SX.txt nmg.txt nmg_CM.txt\
nn.txt nn_NO.txt nnh.txt nnh_CM.txt nus.txt\
nus_SS.txt nyn.txt nyn_UG.txt om.txt om_ET.txt\
om_KE.txt or.txt or_IN.txt os.txt os_GE.txt\
os_RU.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
pa_Guru_IN.txt pl.txt pl_PL.txt ps.txt ps_AF.txt\
pt.txt pt_AO.txt pt_BR.txt pt_CH.txt pt_CV.txt\
pt_GQ.txt pt_GW.txt pt_LU.txt pt_MO.txt pt_MZ.txt\
pt_PT.txt pt_ST.txt pt_TL.txt qu.txt qu_BO.txt\
qu_EC.txt qu_PE.txt rm.txt rm_CH.txt rn.txt\
rn_BI.txt ro.txt ro_MD.txt ro_RO.txt rof.txt\
rof_TZ.txt ru.txt ru_BY.txt ru_KG.txt ru_KZ.txt\
ru_MD.txt ru_RU.txt ru_UA.txt rw.txt rw_RW.txt\
rwk.txt rwk_TZ.txt sah.txt sah_RU.txt saq.txt\
saq_KE.txt sbp.txt sbp_TZ.txt se.txt se_FI.txt\
se_NO.txt se_SE.txt seh.txt seh_MZ.txt ses.txt\
ses_ML.txt sg.txt sg_CF.txt shi.txt shi_Latn.txt\
shi_Latn_MA.txt shi_Tfng.txt shi_Tfng_MA.txt si.txt si_LK.txt\
sk.txt sk_SK.txt sl.txt sl_SI.txt smn.txt\
smn_FI.txt sn.txt sn_ZW.txt so.txt so_DJ.txt\
so_ET.txt so_KE.txt so_SO.txt sq.txt sq_AL.txt\
sq_MK.txt sq_XK.txt sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt\
sr_Cyrl_ME.txt sr_Cyrl_RS.txt sr_Cyrl_XK.txt sr_Latn.txt sr_Latn_BA.txt\
sr_Latn_ME.txt sr_Latn_RS.txt sr_Latn_XK.txt sv.txt sv_AX.txt\
sv_FI.txt sv_SE.txt sw.txt sw_CD.txt sw_KE.txt\
sw_TZ.txt sw_UG.txt ta.txt ta_IN.txt ta_LK.txt\
ta_MY.txt ta_SG.txt te.txt te_IN.txt teo.txt\
teo_KE.txt teo_UG.txt th.txt th_TH.txt ti.txt\
ti_ER.txt ti_ET.txt to.txt to_TO.txt tr.txt\
tr_CY.txt tr_TR.txt twq.txt twq_NE.txt tzm.txt\
tzm_MA.txt ug.txt ug_CN.txt uk.txt uk_UA.txt\
ur.txt ur_IN.txt ur_PK.txt uz.txt uz_Arab.txt\
uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt uz_Latn_UZ.txt\
vai.txt vai_Latn.txt vai_Latn_LR.txt vai_Vaii.txt vai_Vaii_LR.txt\
vi.txt vi_VN.txt vun.txt vun_TZ.txt wae.txt\
wae_CH.txt xog.txt xog_UG.txt yav.txt yav_CM.txt\
yi.txt yi_001.txt yo.txt yo_BJ.txt yo_NG.txt\
yue.txt yue_HK.txt zgh.txt zgh_MA.txt zh.txt\
zh_Hans.txt zh_Hans_CN.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zh_Hant_TW.txt zu.txt\
zu_ZA.txt

View file

@ -8,6 +8,6 @@
// ***************************************************************************
icuver:table(nofallback){
DataVersion { "58.1.0.0" }
ICUVersion { "58.1.0.0" }
DataVersion { "59.1.0.0" }
ICUVersion { "59.1.0.0" }
}

View file

@ -1279,6 +1279,14 @@ metadata:table(nofallback){
reason{"overlong"}
replacement{"yo"}
}
yue_CN{
reason{"legacy"}
replacement{"yue_Hans_CN"}
}
yue_HK{
reason{"legacy"}
replacement{"yue_Hant_HK"}
}
zai{
reason{"macrolanguage"}
replacement{"zap"}

View file

@ -309,5 +309,5 @@ ar{
MK{"مقدونيا- جمهورية مقدونيا اليوغسلافية السابقة"}
TL{"تيمور الشرقية"}
}
Version{"2.1.32.59"}
Version{"2.1.32.86"}
}

View file

@ -0,0 +1,6 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Version{"2.1.32.37"}
}

View file

@ -76,47 +76,47 @@ REGION_SOURCE = af.txt agq.txt ak.txt am.txt\
en_TV.txt en_TZ.txt en_UG.txt en_VC.txt en_VG.txt\
en_VU.txt en_WS.txt en_ZA.txt en_ZM.txt en_ZW.txt\
eo.txt es.txt es_419.txt es_AR.txt es_BO.txt\
es_BR.txt es_CL.txt es_CO.txt es_CR.txt es_CU.txt\
es_DO.txt es_EC.txt es_GT.txt es_HN.txt es_MX.txt\
es_NI.txt es_PA.txt es_PE.txt es_PR.txt es_PY.txt\
es_SV.txt es_US.txt es_UY.txt es_VE.txt et.txt\
eu.txt ewo.txt fa.txt fa_AF.txt ff.txt\
fi.txt fil.txt fo.txt fr.txt fr_BE.txt\
fr_CA.txt fur.txt fy.txt ga.txt gd.txt\
gl.txt gsw.txt gu.txt guz.txt gv.txt\
ha.txt haw.txt he.txt hi.txt hr.txt\
hsb.txt hu.txt hy.txt id.txt ig.txt\
ii.txt is.txt it.txt ja.txt jgo.txt\
jmc.txt ka.txt kab.txt kam.txt kde.txt\
kea.txt khq.txt ki.txt kk.txt kkj.txt\
kl.txt kln.txt km.txt kn.txt ko.txt\
ko_KP.txt kok.txt ks.txt ksb.txt ksf.txt\
ksh.txt kw.txt ky.txt lag.txt lb.txt\
lg.txt lkt.txt ln.txt lo.txt lrc.txt\
lt.txt lu.txt luo.txt luy.txt lv.txt\
mas.txt mer.txt mfe.txt mg.txt mgh.txt\
mgo.txt mk.txt ml.txt mn.txt mr.txt\
ms.txt mt.txt mua.txt my.txt mzn.txt\
naq.txt nb.txt nd.txt nds.txt ne.txt\
nl.txt nmg.txt nn.txt nnh.txt nus.txt\
nyn.txt om.txt or.txt os.txt pa.txt\
pa_Arab.txt pa_Guru.txt pl.txt ps.txt pt.txt\
pt_AO.txt pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt\
pt_LU.txt pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt\
pt_TL.txt qu.txt rm.txt rn.txt ro.txt\
ro_MD.txt rof.txt ru.txt ru_UA.txt rw.txt\
rwk.txt sah.txt saq.txt sbp.txt se.txt\
se_FI.txt seh.txt ses.txt sg.txt shi.txt\
shi_Latn.txt shi_Tfng.txt si.txt sk.txt sl.txt\
smn.txt sn.txt so.txt sq.txt sr.txt\
sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_XK.txt sr_Latn.txt\
sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_XK.txt sv.txt sw.txt\
sw_CD.txt sw_KE.txt ta.txt te.txt teo.txt\
th.txt ti.txt to.txt tr.txt twq.txt\
tzm.txt ug.txt uk.txt ur.txt ur_IN.txt\
uz.txt uz_Arab.txt uz_Cyrl.txt uz_Latn.txt vai.txt\
vai_Latn.txt vai_Vaii.txt vi.txt vun.txt wae.txt\
xog.txt yav.txt yi.txt yo.txt yo_BJ.txt\
yue.txt zgh.txt zh.txt zh_Hans.txt zh_Hant.txt\
zh_Hant_HK.txt zh_Hant_MO.txt zu.txt
es_BR.txt es_BZ.txt es_CL.txt es_CO.txt es_CR.txt\
es_CU.txt es_DO.txt es_EC.txt es_GT.txt es_HN.txt\
es_MX.txt es_NI.txt es_PA.txt es_PE.txt es_PR.txt\
es_PY.txt es_SV.txt es_US.txt es_UY.txt es_VE.txt\
et.txt eu.txt ewo.txt fa.txt fa_AF.txt\
ff.txt fi.txt fil.txt fo.txt fr.txt\
fr_BE.txt fr_CA.txt fur.txt fy.txt ga.txt\
gd.txt gl.txt gsw.txt gu.txt guz.txt\
gv.txt ha.txt haw.txt he.txt hi.txt\
hr.txt hsb.txt hu.txt hy.txt id.txt\
ig.txt ii.txt is.txt it.txt ja.txt\
jgo.txt jmc.txt ka.txt kab.txt kam.txt\
kde.txt kea.txt khq.txt ki.txt kk.txt\
kkj.txt kl.txt kln.txt km.txt kn.txt\
ko.txt ko_KP.txt kok.txt ks.txt ksb.txt\
ksf.txt ksh.txt kw.txt ky.txt lag.txt\
lb.txt lg.txt lkt.txt ln.txt lo.txt\
lrc.txt lt.txt lu.txt luo.txt luy.txt\
lv.txt mas.txt mer.txt mfe.txt mg.txt\
mgh.txt mgo.txt mk.txt ml.txt mn.txt\
mr.txt ms.txt mt.txt mua.txt my.txt\
mzn.txt naq.txt nb.txt nd.txt nds.txt\
ne.txt nl.txt nmg.txt nn.txt nnh.txt\
nus.txt nyn.txt om.txt or.txt os.txt\
pa.txt pa_Arab.txt pa_Guru.txt pl.txt ps.txt\
pt.txt pt_AO.txt pt_CH.txt pt_CV.txt pt_GQ.txt\
pt_GW.txt pt_LU.txt pt_MO.txt pt_MZ.txt pt_PT.txt\
pt_ST.txt pt_TL.txt qu.txt rm.txt rn.txt\
ro.txt ro_MD.txt rof.txt ru.txt ru_UA.txt\
rw.txt rwk.txt sah.txt saq.txt sbp.txt\
se.txt se_FI.txt seh.txt ses.txt sg.txt\
shi.txt shi_Latn.txt shi_Tfng.txt si.txt sk.txt\
sl.txt smn.txt sn.txt so.txt sq.txt\
sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_XK.txt\
sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_XK.txt sv.txt\
sw.txt sw_CD.txt sw_KE.txt ta.txt te.txt\
teo.txt th.txt ti.txt to.txt tr.txt\
twq.txt tzm.txt ug.txt uk.txt ur.txt\
ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt uz_Latn.txt\
vai.txt vai_Latn.txt vai_Vaii.txt vi.txt vun.txt\
wae.txt xog.txt yav.txt yi.txt yo.txt\
yo_BJ.txt yue.txt zgh.txt zh.txt zh_Hans.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt

View file

@ -1,7 +1,7 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
ar{
Version{"2.1.32.59"}
Version{"2.1.32.86"}
durationUnits{
hm{"h:mm"}
hms{"h:mm:ss"}

View file

@ -0,0 +1,6 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Version{"2.1.32.37"}
}

View file

@ -76,45 +76,45 @@ UNIT_SOURCE = af.txt agq.txt ak.txt am.txt\
en_TV.txt en_TZ.txt en_UG.txt en_VC.txt en_VG.txt\
en_VU.txt en_WS.txt en_ZA.txt en_ZM.txt en_ZW.txt\
eo.txt es.txt es_419.txt es_AR.txt es_BO.txt\
es_BR.txt es_CL.txt es_CO.txt es_CR.txt es_CU.txt\
es_DO.txt es_EC.txt es_GT.txt es_HN.txt es_MX.txt\
es_NI.txt es_PA.txt es_PE.txt es_PR.txt es_PY.txt\
es_SV.txt es_US.txt es_UY.txt es_VE.txt et.txt\
eu.txt ewo.txt fa.txt ff.txt fi.txt\
fil.txt fo.txt fr.txt fr_CA.txt fr_HT.txt\
fur.txt fy.txt ga.txt gd.txt gl.txt\
gsw.txt gu.txt guz.txt gv.txt ha.txt\
haw.txt he.txt hi.txt hr.txt hsb.txt\
hu.txt hy.txt id.txt ig.txt ii.txt\
is.txt it.txt ja.txt jgo.txt jmc.txt\
ka.txt kab.txt kam.txt kde.txt kea.txt\
khq.txt ki.txt kk.txt kkj.txt kl.txt\
kln.txt km.txt kn.txt ko.txt kok.txt\
ks.txt ksb.txt ksf.txt ksh.txt kw.txt\
ky.txt lag.txt lb.txt lg.txt lkt.txt\
ln.txt lo.txt lrc.txt lt.txt lu.txt\
luo.txt luy.txt lv.txt mas.txt mer.txt\
mfe.txt mg.txt mgh.txt mgo.txt mk.txt\
ml.txt mn.txt mr.txt ms.txt mt.txt\
mua.txt my.txt mzn.txt naq.txt nb.txt\
nd.txt nds.txt ne.txt nl.txt nmg.txt\
nn.txt nnh.txt nus.txt nyn.txt om.txt\
or.txt os.txt pa.txt pa_Arab.txt pa_Guru.txt\
pl.txt ps.txt pt.txt pt_AO.txt pt_CH.txt\
pt_CV.txt pt_GQ.txt pt_GW.txt pt_LU.txt pt_MO.txt\
pt_MZ.txt pt_PT.txt pt_ST.txt pt_TL.txt qu.txt\
rm.txt rn.txt ro.txt ro_MD.txt rof.txt\
ru.txt rw.txt rwk.txt sah.txt saq.txt\
sbp.txt se.txt seh.txt ses.txt sg.txt\
shi.txt shi_Latn.txt shi_Tfng.txt si.txt sk.txt\
sl.txt smn.txt sn.txt so.txt sq.txt\
sr.txt sr_Cyrl.txt sr_Latn.txt sv.txt sv_FI.txt\
sw.txt ta.txt te.txt teo.txt th.txt\
ti.txt to.txt tr.txt twq.txt tzm.txt\
ug.txt uk.txt ur.txt ur_IN.txt uz.txt\
uz_Arab.txt uz_Cyrl.txt uz_Latn.txt vai.txt vai_Latn.txt\
vai_Vaii.txt vi.txt vun.txt wae.txt xog.txt\
yav.txt yi.txt yo.txt yue.txt zgh.txt\
zh.txt zh_Hans.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt
es_BR.txt es_BZ.txt es_CL.txt es_CO.txt es_CR.txt\
es_CU.txt es_DO.txt es_EC.txt es_GT.txt es_HN.txt\
es_MX.txt es_NI.txt es_PA.txt es_PE.txt es_PR.txt\
es_PY.txt es_SV.txt es_US.txt es_UY.txt es_VE.txt\
et.txt eu.txt ewo.txt fa.txt ff.txt\
fi.txt fil.txt fo.txt fr.txt fr_CA.txt\
fr_HT.txt fur.txt fy.txt ga.txt gd.txt\
gl.txt gsw.txt gu.txt guz.txt gv.txt\
ha.txt haw.txt he.txt hi.txt hr.txt\
hsb.txt hu.txt hy.txt id.txt ig.txt\
ii.txt is.txt it.txt ja.txt jgo.txt\
jmc.txt ka.txt kab.txt kam.txt kde.txt\
kea.txt khq.txt ki.txt kk.txt kkj.txt\
kl.txt kln.txt km.txt kn.txt ko.txt\
kok.txt ks.txt ksb.txt ksf.txt ksh.txt\
kw.txt ky.txt lag.txt lb.txt lg.txt\
lkt.txt ln.txt lo.txt lrc.txt lt.txt\
lu.txt luo.txt luy.txt lv.txt mas.txt\
mer.txt mfe.txt mg.txt mgh.txt mgo.txt\
mk.txt ml.txt mn.txt mr.txt ms.txt\
mt.txt mua.txt my.txt mzn.txt naq.txt\
nb.txt nd.txt nds.txt ne.txt nl.txt\
nmg.txt nn.txt nnh.txt nus.txt nyn.txt\
om.txt or.txt os.txt pa.txt pa_Arab.txt\
pa_Guru.txt pl.txt ps.txt pt.txt pt_AO.txt\
pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt pt_LU.txt\
pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt pt_TL.txt\
qu.txt rm.txt rn.txt ro.txt ro_MD.txt\
rof.txt ru.txt rw.txt rwk.txt sah.txt\
saq.txt sbp.txt se.txt seh.txt ses.txt\
sg.txt shi.txt shi_Latn.txt shi_Tfng.txt si.txt\
sk.txt sl.txt smn.txt sn.txt so.txt\
sq.txt sr.txt sr_Cyrl.txt sr_Latn.txt sv.txt\
sv_FI.txt sw.txt ta.txt te.txt teo.txt\
th.txt ti.txt to.txt tr.txt twq.txt\
tzm.txt ug.txt uk.txt ur.txt ur_IN.txt\
uz.txt uz_Arab.txt uz_Cyrl.txt uz_Latn.txt vai.txt\
vai_Latn.txt vai_Vaii.txt vi.txt vun.txt wae.txt\
xog.txt yav.txt yi.txt yo.txt yue.txt\
zgh.txt zh.txt zh_Hans.txt zh_Hans_HK.txt zh_Hans_MO.txt\
zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt

View file

@ -1,7 +1,7 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
ar{
Version{"2.1.32.59"}
Version{"2.1.32.86"}
zoneStrings{
"Africa:Abidjan"{
ec{"أبيدجان"}

View file

@ -0,0 +1,6 @@
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_BZ{
%%Parent{"es_419"}
Version{"2.1.32.37"}
}

View file

@ -76,46 +76,46 @@ ZONE_SOURCE = af.txt agq.txt ak.txt am.txt\
en_TO.txt en_TT.txt en_TV.txt en_TZ.txt en_UG.txt\
en_VC.txt en_VG.txt en_VU.txt en_WS.txt en_ZA.txt\
en_ZM.txt en_ZW.txt eo.txt es.txt es_419.txt\
es_AR.txt es_BO.txt es_BR.txt es_CL.txt es_CO.txt\
es_CR.txt es_CU.txt es_DO.txt es_EC.txt es_GT.txt\
es_HN.txt es_MX.txt es_NI.txt es_PA.txt es_PE.txt\
es_PR.txt es_PY.txt es_SV.txt es_US.txt es_UY.txt\
es_VE.txt et.txt eu.txt ewo.txt fa.txt\
ff.txt fi.txt fil.txt fo.txt fr.txt\
fr_CA.txt fr_GF.txt fur.txt fy.txt ga.txt\
gd.txt gl.txt gsw.txt gu.txt guz.txt\
gv.txt ha.txt haw.txt he.txt hi.txt\
hr.txt hsb.txt hu.txt hy.txt id.txt\
ig.txt ii.txt is.txt it.txt ja.txt\
jgo.txt jmc.txt ka.txt kab.txt kam.txt\
kde.txt kea.txt khq.txt ki.txt kk.txt\
kkj.txt kl.txt kln.txt km.txt kn.txt\
ko.txt ko_KP.txt kok.txt ks.txt ksb.txt\
ksf.txt ksh.txt kw.txt ky.txt lag.txt\
lb.txt lg.txt lkt.txt ln.txt lo.txt\
lrc.txt lt.txt lu.txt luo.txt luy.txt\
lv.txt mas.txt mer.txt mfe.txt mg.txt\
mgh.txt mgo.txt mk.txt ml.txt mn.txt\
mr.txt ms.txt mt.txt mua.txt my.txt\
mzn.txt naq.txt nb.txt nd.txt nds.txt\
ne.txt ne_IN.txt nl.txt nl_SR.txt nmg.txt\
nn.txt nnh.txt nus.txt nyn.txt om.txt\
or.txt os.txt pa.txt pa_Arab.txt pa_Guru.txt\
pl.txt ps.txt pt.txt pt_AO.txt pt_CH.txt\
pt_CV.txt pt_GQ.txt pt_GW.txt pt_LU.txt pt_MO.txt\
pt_MZ.txt pt_PT.txt pt_ST.txt pt_TL.txt qu.txt\
qu_BO.txt qu_EC.txt rm.txt rn.txt ro.txt\
rof.txt ru.txt rw.txt rwk.txt sah.txt\
saq.txt sbp.txt se.txt seh.txt ses.txt\
sg.txt shi.txt shi_Latn.txt shi_Tfng.txt si.txt\
sk.txt sl.txt smn.txt sn.txt so.txt\
sq.txt sr.txt sr_Cyrl.txt sr_Latn.txt sv.txt\
sw.txt ta.txt ta_MY.txt ta_SG.txt te.txt\
teo.txt th.txt ti.txt to.txt tr.txt\
twq.txt tzm.txt ug.txt uk.txt ur.txt\
ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt uz_Latn.txt\
vai.txt vai_Latn.txt vai_Vaii.txt vi.txt vun.txt\
wae.txt xog.txt yav.txt yi.txt yo.txt\
yue.txt zgh.txt zh.txt zh_Hans.txt zh_Hans_SG.txt\
zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt
es_AR.txt es_BO.txt es_BR.txt es_BZ.txt es_CL.txt\
es_CO.txt es_CR.txt es_CU.txt es_DO.txt es_EC.txt\
es_GT.txt es_HN.txt es_MX.txt es_NI.txt es_PA.txt\
es_PE.txt es_PR.txt es_PY.txt es_SV.txt es_US.txt\
es_UY.txt es_VE.txt et.txt eu.txt ewo.txt\
fa.txt ff.txt fi.txt fil.txt fo.txt\
fr.txt fr_CA.txt fr_GF.txt fur.txt fy.txt\
ga.txt gd.txt gl.txt gsw.txt gu.txt\
guz.txt gv.txt ha.txt haw.txt he.txt\
hi.txt hr.txt hsb.txt hu.txt hy.txt\
id.txt ig.txt ii.txt is.txt it.txt\
ja.txt jgo.txt jmc.txt ka.txt kab.txt\
kam.txt kde.txt kea.txt khq.txt ki.txt\
kk.txt kkj.txt kl.txt kln.txt km.txt\
kn.txt ko.txt ko_KP.txt kok.txt ks.txt\
ksb.txt ksf.txt ksh.txt kw.txt ky.txt\
lag.txt lb.txt lg.txt lkt.txt ln.txt\
lo.txt lrc.txt lt.txt lu.txt luo.txt\
luy.txt lv.txt mas.txt mer.txt mfe.txt\
mg.txt mgh.txt mgo.txt mk.txt ml.txt\
mn.txt mr.txt ms.txt mt.txt mua.txt\
my.txt mzn.txt naq.txt nb.txt nd.txt\
nds.txt ne.txt ne_IN.txt nl.txt nl_SR.txt\
nmg.txt nn.txt nnh.txt nus.txt nyn.txt\
om.txt or.txt os.txt pa.txt pa_Arab.txt\
pa_Guru.txt pl.txt ps.txt pt.txt pt_AO.txt\
pt_CH.txt pt_CV.txt pt_GQ.txt pt_GW.txt pt_LU.txt\
pt_MO.txt pt_MZ.txt pt_PT.txt pt_ST.txt pt_TL.txt\
qu.txt qu_BO.txt qu_EC.txt rm.txt rn.txt\
ro.txt rof.txt ru.txt rw.txt rwk.txt\
sah.txt saq.txt sbp.txt se.txt seh.txt\
ses.txt sg.txt shi.txt shi_Latn.txt shi_Tfng.txt\
si.txt sk.txt sl.txt smn.txt sn.txt\
so.txt sq.txt sr.txt sr_Cyrl.txt sr_Latn.txt\
sv.txt sw.txt ta.txt ta_MY.txt ta_SG.txt\
te.txt teo.txt th.txt ti.txt to.txt\
tr.txt twq.txt tzm.txt ug.txt uk.txt\
ur.txt ur_IN.txt uz.txt uz_Arab.txt uz_Cyrl.txt\
uz_Latn.txt vai.txt vai_Latn.txt vai_Vaii.txt vi.txt\
vun.txt wae.txt xog.txt yav.txt yi.txt\
yo.txt yue.txt zgh.txt zh.txt zh_Hans.txt\
zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zu.txt

View file

@ -90,6 +90,7 @@ static void testContext(void);
static void doTailTest(void);
static void testBracketOverflow(void);
static void TestExplicitLevel0();
/* new BIDI API */
static void testReorderingMode(void);
@ -138,6 +139,7 @@ addComplexTest(TestNode** root) {
addTest(root, testGetBaseDirection, "complex/bidi/testGetBaseDirection");
addTest(root, testContext, "complex/bidi/testContext");
addTest(root, testBracketOverflow, "complex/bidi/TestBracketOverflow");
addTest(root, &TestExplicitLevel0, "complex/bidi/TestExplicitLevel0");
addTest(root, doArabicShapingTest, "complex/arabic-shaping/ArabicShapingTest");
addTest(root, doLamAlefSpecialVLTRArabicShapingTest, "complex/arabic-shaping/lamalef");
@ -4922,3 +4924,24 @@ testBracketOverflow(void) {
ubidi_close(bidi);
}
static void TestExplicitLevel0() {
// The following used to fail with an error, see ICU ticket #12922.
static const UChar text[2] = { 0x202d, 0x05d0 };
static UBiDiLevel embeddings[2] = { 0, 0 };
UErrorCode errorCode = U_ZERO_ERROR;
UBiDi *bidi = ubidi_open();
ubidi_setPara(bidi, text, 2, UBIDI_DEFAULT_LTR , embeddings, &errorCode);
if (U_FAILURE(errorCode)) {
log_err("ubidi_setPara() - %s", u_errorName(errorCode));
} else {
UBiDiLevel level0 = ubidi_getLevelAt(bidi, 0);
UBiDiLevel level1 = ubidi_getLevelAt(bidi, 1);
if (level0 != 1 || level1 != 1) {
log_err("resolved levels != 1: { %d, %d }\n", level0, level1);
}
if (embeddings[0] != 1 || embeddings[1] != 1) {
log_err("modified embeddings[] levels != 1: { %d, %d }\n", embeddings[0], embeddings[1]);
}
}
ubidi_close(bidi);
}

View file

@ -6,6 +6,6 @@
#*******************************************************************************
api.report.version = 59
api.report.prev.version = 58
release.file.ver = 59m1
api.doc.version = 59 Milestone 1
release.file.ver = 59rc
api.doc.version = 59 Release Candidate

View file

@ -2674,28 +2674,29 @@ public class Bidi {
return dirct;
}
/*
/**
* Use a pre-specified embedding levels array:
*
* Adjust the directional properties for overrides (->LEVEL_OVERRIDE),
* <p>Adjust the directional properties for overrides (->LEVEL_OVERRIDE),
* ignore all explicit codes (X9),
* and check all the preset levels.
*
* Recalculate the flags to have them reflect the real properties
* <p>Recalculate the flags to have them reflect the real properties
* after taking the explicit embeddings into account.
*/
private byte checkExplicitLevels() {
byte dirProp;
int i;
int isolateCount = 0;
this.flags = 0; /* collect all directionalities in the text */
byte level;
this.isolateCount = 0;
for (i = 0; i < length; ++i) {
level = levels[i];
dirProp = dirProps[i];
int currentParaIndex = 0;
int currentParaLimit = paras_limit[0];
byte currentParaLevel = paraLevel;
for (int i = 0; i < length; ++i) {
byte level = levels[i];
byte dirProp = dirProps[i];
if (dirProp == LRI || dirProp == RLI) {
isolateCount++;
if (isolateCount > this.isolateCount)
@ -2705,21 +2706,40 @@ public class Bidi {
isolateCount--;
else if (dirProp == B)
isolateCount = 0;
if ((level & LEVEL_OVERRIDE) != 0) {
// optimized version of byte currentParaLevel = GetParaLevelAt(i);
if (defaultParaLevel != 0 &&
i == currentParaLimit && (currentParaIndex + 1) < paraCount) {
currentParaLevel = paras_level[++currentParaIndex];
currentParaLimit = paras_limit[currentParaIndex];
}
int overrideFlag = level & LEVEL_OVERRIDE;
level &= ~LEVEL_OVERRIDE;
if (level < currentParaLevel || MAX_EXPLICIT_LEVEL < level) {
if (level == 0) {
if (dirProp == B) {
// Paragraph separators are ok with explicit level 0.
// Prevents reordering of paragraphs.
} else {
// Treat explicit level 0 as a wildcard for the paragraph level.
// Avoid making the caller guess what the paragraph level would be.
level = currentParaLevel;
levels[i] = (byte)(level | overrideFlag);
}
} else {
// 1 <= level < currentParaLevel or MAX_EXPLICIT_LEVEL < level
throw new IllegalArgumentException("level " + level +
" out of bounds at " + i);
}
}
if (overrideFlag != 0) {
/* keep the override flag in levels[i] but adjust the flags */
level &= ~LEVEL_OVERRIDE; /* make the range check below simpler */
flags |= DirPropFlagO(level);
} else {
/* set the flags */
flags |= DirPropFlagE(level) | DirPropFlag(dirProp);
}
if ((level < GetParaLevelAt(i) &&
!((0 == level) && (dirProp == B))) ||
(MAX_EXPLICIT_LEVEL < level)) {
/* level out of bounds */
throw new IllegalArgumentException("level " + level +
" out of bounds at " + i);
}
}
if ((flags & MASK_EMBEDDING) != 0)
flags |= DirPropFlagLR(paraLevel);
@ -3950,11 +3970,12 @@ public class Bidi {
* A level overrides the directional property of its corresponding
* (same index) character if the level has the
* <code>LEVEL_OVERRIDE</code> bit set.<br><br>
* Except for that bit, it must be
* Aside from that bit, it must be
* <code>paraLevel&lt;=embeddingLevels[]&lt;=MAX_EXPLICIT_LEVEL</code>,
* with one exception: a level of zero may be specified for a
* paragraph separator even if <code>paraLevel&gt;0</code> when multiple
* paragraphs are submitted in the same call to <code>setPara()</code>.<br><br>
* except that level 0 is always allowed.
* Level 0 for a paragraph separator prevents reordering of paragraphs.
* Level 0 for other characters is treated as a wildcard
* and is lifted up to the resolved level of the surrounding paragraph.<br><br>
* <strong>Caution: </strong>A reference to this array, not a copy
* of the levels, will be stored in the <code>Bidi</code> object;
* the <code>embeddingLevels</code>
@ -5294,13 +5315,19 @@ public class Bidi {
/**
* Create Bidi from the given text, embedding, and direction information.
* The embeddings array may be null. If present, the values represent
* embedding level information. Negative values from -1 to -61 indicate
* overrides at the absolute value of the level. Positive values from 1 to
* 61 indicate embeddings. Where values are zero, the base embedding level
* as determined by the base direction is assumed.<p>
*
* Note: this constructor calls setPara() internally.
* <p>The embeddings array may be null. If present, the values represent
* embedding level information.
* Negative values from -1 to -{@link #MAX_EXPLICIT_LEVEL}
* indicate overrides at the absolute value of the level.
* Positive values from 1 to {@link #MAX_EXPLICIT_LEVEL} indicate embeddings.
* Where values are zero, the base embedding level
* as determined by the base direction is assumed,
* except for paragraph separators which remain at 0 to prevent reordering of paragraphs.<p>
*
* <p>Note: This constructor calls setPara() internally,
* after converting the java.text.Bidi-style embeddings with negative overrides
* into ICU-style embeddings with bit fields for {@link #LEVEL_OVERRIDE} and the level.
*
* @param text an array containing the paragraph of text to process.
* @param textStart the index into the text array of the start of the
@ -5354,22 +5381,23 @@ public class Bidi {
if (embeddings == null) {
paraEmbeddings = null;
} else {
// Convert from java.text.Bidi embeddings to ICU setPara() levels:
// Copy to the start of a new array and convert java.text negative overrides
// to ICU bit-field-and-mask overrides.
// A copy of the embeddings is always required because
// setPara() may modify its embeddings.
paraEmbeddings = new byte[paragraphLength];
byte lev;
for (int i = 0; i < paragraphLength; i++) {
lev = embeddings[i + embStart];
if (lev < 0) {
lev = (byte)((- lev) | LEVEL_OVERRIDE);
} else if (lev == 0) {
lev = paraLvl;
if (paraLvl > MAX_EXPLICIT_LEVEL) {
lev &= 1;
}
}
// setPara() lifts level 0 up to the resolved paragraph level.
paraEmbeddings[i] = lev;
}
}
if (textStart == 0 && embStart == 0 && paragraphLength == text.length) {
if (textStart == 0 && paragraphLength == text.length) {
setPara(text, paraLvl, paraEmbeddings);
} else {
char[] paraText = new char[paragraphLength];

View file

@ -560,8 +560,8 @@ public final class VersionInfo implements Comparable<VersionInfo>
UNICODE_8_0 = getInstance(8, 0, 0, 0);
UNICODE_9_0 = getInstance(9, 0, 0, 0);
ICU_VERSION = getInstance(59, 0, 1, 0);
ICU_DATA_VERSION = getInstance(59, 0, 1, 0);
ICU_VERSION = getInstance(59, 1, 0, 0);
ICU_DATA_VERSION = getInstance(59, 1, 0, 0);
UNICODE_VERSION = UNICODE_9_0;
UCOL_RUNTIME_VERSION = getInstance(9);

View file

@ -7,7 +7,7 @@
# Version numbers, etc.
icu4j.spec.version = 59
icu4j.impl.version = 59.0.1
icu4j.impl.version = 59.1
icu4j.data.version = 59
current.year = 2017
default.exec.env = JavaSE-1.6

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c8dbe867365547805caf125f25a2551375b58e09653f9e625d7a015b35aa6aa
size 12154917
oid sha256:b7b2a9e282f3f3296f80ef40391df4d5a6f161bdebe6270b73e7bcc68db124ac
size 12155212

View file

@ -526,7 +526,7 @@ public class TestBidi extends BidiFmwk {
bidi.setReorderingMode(Bidi.REORDER_RUNS_ONLY);
bidi.setPara("a \u05d0 b \u05d1 c \u05d2 d ", Bidi.LTR, null);
assertEquals("\nWrong number of runs #4", 14, bidi.countRuns());
/* test testGetBaseDirection to verify fast string direction detection function */
/* mixed start with L */
String mixedEnglishFirst = "\u0061\u0627\u0032\u06f3\u0061\u0034";
@ -566,7 +566,7 @@ public class TestBidi extends BidiFmwk {
assertEquals("\nWrong direction through fast detection #12", Bidi.NEUTRAL, Bidi.getBaseDirection(allArabicDigits));
/* null string */
String nullString = null;
assertEquals("\nWrong direction through fast detection #13", Bidi.NEUTRAL, Bidi.getBaseDirection(nullString));
assertEquals("\nWrong direction through fast detection #13", Bidi.NEUTRAL, Bidi.getBaseDirection(nullString));
/* first L (English) others are R (Hebrew etc.) */
String startEnglishOthersHebrew = "\u0071\u0590\u05D5\u05EA\u05F1";
assertEquals("\nWrong direction through fast detection #14", Bidi.LTR, Bidi.getBaseDirection(startEnglishOthersHebrew));
@ -574,4 +574,20 @@ public class TestBidi extends BidiFmwk {
String lastHebrewOthersEnglishDigit = "\u0031\u0032\u0033\u05F1";
assertEquals("\nWrong direction through fast detection #15", Bidi.RTL, Bidi.getBaseDirection(lastHebrewOthersEnglishDigit));
}
@Test
public void testExplicitLevel0() {
// The following used to fail with an error, see ICU ticket #12922.
String text = "\u202d\u05d0";
byte[] embeddings = new byte[2]; // all 0
int flags = Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT; // 0x7e
Bidi bidi = new Bidi(text.toCharArray(), 0, embeddings, 0, text.length(), flags);
assertEquals("resolved level at 0", 1, bidi.getLevelAt(0));
assertEquals("resolved level at 1", 1, bidi.getLevelAt(1));
flags = java.text.Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT; // -2
java.text.Bidi jb = new java.text.Bidi(text.toCharArray(), 0, embeddings, 0, text.length(), flags);
assertEquals("java.text resolved level at 0", 1, jb.getLevelAt(0));
assertEquals("java.text resolved level at 1", 1, jb.getLevelAt(1));
}
}

View file

@ -484,9 +484,6 @@ public class CompactDecimalFormatTest extends TestFmwk {
@Test
public void TestNordic() {
if (logKnownIssue("cldrbug:9465","CDF(12,000) for no_NO shouldn't be 12 (12K or similar)")) {
return;
}
String result = CompactDecimalFormat.getInstance( new ULocale("no_NO"),
CompactDecimalFormat.CompactStyle.SHORT ).format(12000);
assertNotEquals("CDF(12,000) for no_NO shouldn't be 12 (12K or similar)", "12", result);
@ -544,9 +541,7 @@ public class CompactDecimalFormatTest extends TestFmwk {
cdf = CompactDecimalFormat.getInstance(new ULocale("ar"), CompactDecimalFormat.CompactStyle.SHORT);
cdf.setMaximumSignificantDigits(3);
result = cdf.format(1234);
if (!logKnownIssue("cldrbug:9492", "CLDR 31-d01 incorrectly deleted ar compactDecimals short form")) {
assertEquals("CDF should correctly format 1234 with 3 significant digits in 'ar'", "١٫٢٣ ألف", result);
}
assertEquals("CDF should correctly format 1234 with 3 significant digits in 'ar'", "١٫٢٣ ألف", result);
// Check currency formatting as well
cdf = CompactDecimalFormat.getInstance(new ULocale("ar"), CompactDecimalFormat.CompactStyle.SHORT);

View file

@ -10,7 +10,7 @@
package com.ibm.icu.dev.test.util;
public class DebugUtilitiesData extends Object {
public static final String ICU4C_VERSION="59.0.1";
public static final String ICU4C_VERSION="59.1";
public static final int UDebugEnumType = 0;
public static final int UCalendarDateFields = 1;
public static final int UCalendarMonths = 2;