textrendering/texthandling/stext/TXTRICH.CPP
changeset 24 71313a964664
parent 0 1fb32624e06b
child 49 4d76f1414957
--- 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;
 	}