diff -r a179b74831c9 -r c1f20ce4abcf kernel/eka/euser/unicode/collate.cpp --- a/kernel/eka/euser/unicode/collate.cpp Thu Aug 19 11:14:22 2010 +0300 +++ b/kernel/eka/euser/unicode/collate.cpp Tue Aug 31 16:34:26 2010 +0300 @@ -26,44 +26,6 @@ // 16 instead of 8, in case all supplementary characters static const TInt KKeyedStringBufferSize = 16; - -inline TText16 GetHighSurrogate(TUint aChar) -/** -Retrieve the high surrogate of a supplementary character. - -@param aChar The 32-bit code point value of a Unicode character. - -@return High surrogate of aChar, if aChar is a supplementary character; - aChar itself, if aChar is not a supplementary character. -*/ - { - return STATIC_CAST(TText16, 0xD7C0 + (aChar >> 10)); - } - -inline TText16 GetLowSurrogate(TUint aChar) -/** -Retrieve the low surrogate of a supplementary character. - -@param aChar The 32-bit code point value of a Unicode character. - -@return Low surrogate of aChar, if aChar is a supplementary character; - zero, if aChar is not a supplementary character. -*/ - { - return STATIC_CAST(TText16, 0xDC00 | (aChar & 0x3FF)); - } - -inline TUint JoinSurrogate(TText16 aHighSurrogate, TText16 aLowSurrogate) -/** -Combine a high surrogate and a low surrogate into a supplementary character. - -@return The 32-bit code point value of the generated Unicode supplementary - character. -*/ - { - return ((aHighSurrogate - 0xD7F7) << 10) + aLowSurrogate; - } - // Creates a one or two collation keys sequence corresponding to the input character. // Returns the number of keys output. static TInt CreateDefaultCollationKeySequence(TInt aChar, TCollationKey* aBuffer) @@ -100,22 +62,22 @@ break; } TInt c = *p >> 16; - if (IsHighSurrogate( (TText16)c )) + if (TChar::IsHighSurrogate( (TText16)c )) { - if ((p < end) && (IsLowSurrogate( (TText16)((*(p+1))>>16) ))) + if ((p < end) && (TChar::IsLowSurrogate( (TText16)((*(p+1))>>16) ))) { currentCharLength = 2; - c = JoinSurrogate( (TText16)(*p>>16), (TText16)((*(p+1))>>16) ); + c = TChar::JoinSurrogate( (TText16)(*p>>16), (TText16)((*(p+1))>>16) ); } } - else if (IsLowSurrogate( (TText16)c )) + else if (TChar::IsLowSurrogate( (TText16)c )) { - if ((p > start) && (IsHighSurrogate( (TText16)((*(p-1))>>16) ))) + if ((p > start) && (TChar::IsHighSurrogate( (TText16)((*(p-1))>>16) ))) { p--; pivot = pivot - 1; currentCharLength = 2; - c = JoinSurrogate( (TText16)(*p>>16), (TText16)((*(p+1))>>16) ); + c = TChar::JoinSurrogate( (TText16)(*p>>16), (TText16)((*(p+1))>>16) ); } } else @@ -658,8 +620,8 @@ } else { - text[textLen++] = GetHighSurrogate(cur_char); - text[textLen++] = GetLowSurrogate(cur_char); + text[textLen++] = TChar::GetHighSurrogate(cur_char); + text[textLen++] = TChar::GetLowSurrogate(cur_char); } TBool possible_prefix = ETrue; for(TInt i = 1; (i < KKeyedStringBufferSize) && possible_prefix; i++) @@ -676,8 +638,8 @@ } else { - text[textLen++] = GetHighSurrogate(c); - text[textLen++] = GetLowSurrogate(c); + text[textLen++] = TChar::GetHighSurrogate(c); + text[textLen++] = TChar::GetLowSurrogate(c); } TInt cur_index = -1; ::GetStringKey(aTable, text, textLen, cur_index, possible_prefix);