diff -r f2f7b3284356 -r 71313a964664 textrendering/texthandling/stext/TXTRICH.CPP --- a/textrendering/texthandling/stext/TXTRICH.CPP Mon May 03 14:13:26 2010 +0300 +++ b/textrendering/texthandling/stext/TXTRICH.CPP Fri May 14 17:40:32 2010 +0300 @@ -628,9 +628,23 @@ __ASSERT_ALWAYS(aPos >= 0 && aPos <= DocumentLength(), Panic(ECharPosBeyondDocument)); __ASSERT_ALWAYS(aChar!= EPictureCharacter, Panic(ENonOverloadedInsertCalledWithPictureCharacter)); - TBuf<1> content; - content.Append(aChar); - RtInsertL(aPos, content); + if (aChar < 0x10000) + { + TBuf<1> content; + content.Append(aChar); + RtInsertL(aPos, content); + } + else + { + TText16 high = TChar::GetHighSurrogate(aChar); + TText16 low = TChar::GetLowSurrogate(aChar); + RDebug::Print(_L("CRichText::InsertL(), %X expand to %X %X."), aChar, high, low); + + TBuf<2> content; + content.Append(high); + content.Append(low); + RtInsertL(aPos, content); + } __TEST_INVARIANT; }