ICU-2767 Fixes for Japanese - composed version of prefix should have been added - looks like it was a typo. Also, a bug in AddCCNZ - instead of composed form, decomposed form was used.

X-SVN-Rev: 11386
This commit is contained in:
Vladimir Weinstein 2003-03-22 07:35:01 +00:00
parent 093e069520
commit 86f44db9be

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/CollationParsedRuleBuilder.java,v $
* $Date: 2003/03/21 22:46:58 $
* $Revision: 1.14 $
* $Date: 2003/03/22 07:35:01 $
* $Revision: 1.15 $
*
*******************************************************************************
*/
@ -1910,15 +1910,16 @@ final class CollationParsedRuleBuilder
m_utilElement2_.m_CEs_ = element.m_CEs_;
m_utilElement2_.m_isThai_ = element.m_isThai_;
m_utilElement2_.m_mapCE_ = element.m_mapCE_;
m_utilElement2_.m_prefixChars_ = element.m_prefixChars_;
//m_utilElement2_.m_prefixChars_ = element.m_prefixChars_;
m_utilElement2_.m_sizePrim_ = element.m_sizePrim_;
m_utilElement2_.m_sizeSec_ = element.m_sizeSec_;
m_utilElement2_.m_sizeTer_ = element.m_sizeTer_;
m_utilElement2_.m_variableTop_ = element.m_variableTop_;
m_utilElement2_.m_prefix_ = 0;
m_utilElement2_.m_uchars_
m_utilElement2_.m_prefix_ = element.m_prefix_;
m_utilElement2_.m_prefixChars_
= Normalizer.compose(element.m_prefixChars_, false);
m_utilElement2_.m_cPoints_ = m_utilElement2_.m_uchars_;
m_utilElement2_.m_uchars_ = element.m_uchars_;
m_utilElement2_.m_cPoints_ = element.m_cPoints_;
m_utilElement2_.m_cPointsOffset_ = 0;
if (t.m_prefixLookup_ != null) {
@ -3593,8 +3594,12 @@ final class CollationParsedRuleBuilder
// codepoints here are in the NFD form. We need to add the
// first code point of the NFC form to unsafe, because
// strcoll needs to backup over them.
String decomp = Normalizer.decompose(e.m_cPoints_, true);
unsafeCPSet(t.m_unsafeCP_, decomp.charAt(0));
// weiv: This is wrong! See the comment above.
//String decomp = Normalizer.decompose(e.m_cPoints_, true);
//unsafeCPSet(t.m_unsafeCP_, decomp.charAt(0));
// it should be:
String comp = Normalizer.compose(e.m_cPoints_, false);
unsafeCPSet(t.m_unsafeCP_, comp.charAt(0));
}
}
}