Author: hdu
Date: Tue Jan 7 08:45:56 2014
New Revision: 1556146
URL: http://svn.apache.org/r1556146
Log:
#i123986# fix charmap accessibility for code points beyond the unicode baseplane
Modified:
openoffice/trunk/main/svx/source/accessibility/charmapacc.cxx
Modified: openoffice/trunk/main/svx/source/accessibility/charmapacc.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/accessibility/charmapacc.cxx?rev=1556146&r1=1556145&r2=1556146&view=diff
==============================================================================
--- openoffice/trunk/main/svx/source/accessibility/charmapacc.cxx (original)
+++ openoffice/trunk/main/svx/source/accessibility/charmapacc.cxx Tue Jan 7
08:45:56 2014
@@ -705,11 +705,12 @@ sal_Int16 SAL_CALL SvxShowCharSetItemAcc
ensureAlive();
String sDescription = SVX_RESSTR( RID_SVXSTR_CHARACTER_CODE );
- sal_Unicode c = mpParent->maText.GetChar(0);
+ const rtl::OUString aCharStr( mpParent->maText);
+ sal_Int32 nStrIndex = 0;
+ const sal_UCS4 c = aCharStr.iterateCodePoints( &nStrIndex );
+ const int tmp_len = (c < 0x10000) ? 4 : 6;
char buf[16] = "0x0000";
- sal_Unicode c_Shifted = c;
- int tmp_len = 4;
- if(c_Shifted>0xFFFF) tmp_len = 8;
+ sal_UCS4 c_Shifted = c;
for( int i = 0; i < tmp_len; ++i )
{
char h = c_Shifted & 0x0F;