summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-07-10 12:12:55 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-07-10 13:31:37 +0200
commit8422d1f5042de08e8b090a907889b41e133bda40 (patch)
tree1c3b06d0b765b36495b0dcb86a6e7c6742f234e5 /writerfilter
parent4721fbbccdb582449ac938fe36d01685cd650f1d (diff)
fdo#66682 RTF export: fix level text of SVX_NUM_ARABIC
Even if level text is not ASCII, we should just write the placeholder values (0x00, 0x01, etc.) in a hex encoded form, without Unicode. Regression from 07d01742c69f1c0335bc7e1b57abd8341ce255e7. Also, fix the import side, so the previous bad output now looks bad in Writer as well. Change-Id: I2f93892006c07eec243ec7dfcb23372d243a2db4
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 18b3f96173ba..b3374de9935a 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -1713,6 +1713,8 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
{
if (nKeyword != RTF_HEXCHAR)
checkUnicode(/*bUnicode =*/ true, /*bHex =*/ true);
+ else
+ checkUnicode(/*bUnicode =*/ true, /*bHex =*/ false);
setNeedSect();
RTFSkipDestination aSkip(*this);
@@ -3111,7 +3113,8 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
if ((SAL_MIN_INT16 <= nParam) && (nParam <= SAL_MAX_UINT16))
{
m_aUnicodeBuffer.append(static_cast<sal_Unicode>(nParam));
- m_aStates.top().nCharsToSkip = m_aStates.top().nUc;
+ if (m_aStates.top().nDestinationState != DESTINATION_LEVELTEXT)
+ m_aStates.top().nCharsToSkip = m_aStates.top().nUc;
}
break;
case RTF_LEVELFOLLOW: