summaryrefslogtreecommitdiffstats
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-07-24 15:35:13 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-07-24 17:21:24 +0200
commit6f5f97b5583b93c821f9f9608ab41107bdff2c32 (patch)
tree580faca3d83e0f3425b1a7b43e8e574b0e7c2e54 /writerfilter
parentRTFDocumentImpl::pushState: use switch here as well (diff)
downloadcore-6f5f97b5583b93c821f9f9608ab41107bdff2c32.tar.gz
core-6f5f97b5583b93c821f9f9608ab41107bdff2c32.zip
implement import of RTF_M{POS,VERTJC,LIMUPP,LIMUPPPR,GROUPCHR,GROUPCHRPR}
Change-Id: I40406bd4220a918507b2ae90733f3d1d5df949d5
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfcontrolwords.cxx2
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx32
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx8
3 files changed, 41 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.cxx b/writerfilter/source/rtftok/rtfcontrolwords.cxx
index 77697a594584..0952805ae407 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.cxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.cxx
@@ -891,7 +891,9 @@ RTFSymbol aRTFControlWords[] = {
{"mlimlowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR},
{"mlimLowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR},
{"mlimupp", CONTROL_DESTINATION, RTF_MLIMUPP},
+ {"mlimUpp", CONTROL_DESTINATION, RTF_MLIMUPP},
{"mlimuppPr", CONTROL_DESTINATION, RTF_MLIMUPPPR},
+ {"mlimUppPr", CONTROL_DESTINATION, RTF_MLIMUPPPR},
{"mlit", CONTROL_FLAG, RTF_MLIT},
{"mlMargin", CONTROL_VALUE, RTF_MLMARGIN},
{"mm", CONTROL_DESTINATION, RTF_MM},
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 523a9096e207..71831f7a3d15 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -952,6 +952,8 @@ void RTFDocumentImpl::text(OUString& rString)
case DESTINATION_ATNID:
case DESTINATION_MR:
case DESTINATION_MCHR:
+ case DESTINATION_MPOS:
+ case DESTINATION_MVERTJC:
case DESTINATION_MBEGCHR:
case DESTINATION_MENDCHR:
case DESTINATION_MSUBHIDE:
@@ -1453,6 +1455,12 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
case RTF_MCHR:
m_aStates.top().nDestinationState = DESTINATION_MCHR;
break;
+ case RTF_MPOS:
+ m_aStates.top().nDestinationState = DESTINATION_MPOS;
+ break;
+ case RTF_MVERTJC:
+ m_aStates.top().nDestinationState = DESTINATION_MVERTJC;
+ break;
case RTF_MSUBHIDE:
m_aStates.top().nDestinationState = DESTINATION_MSUBHIDE;
break;
@@ -1529,6 +1537,22 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aMathBuffer.appendOpeningTag(M_TOKEN(sup));
m_aStates.top().nDestinationState = DESTINATION_MSUP;
break;
+ case RTF_MLIMUPP:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(limUpp));
+ m_aStates.top().nDestinationState = DESTINATION_MLIMUPP;
+ break;
+ case RTF_MLIMUPPPR:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(limUppPr));
+ m_aStates.top().nDestinationState = DESTINATION_MLIMUPPPR;
+ break;
+ case RTF_MGROUPCHR:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(groupChr));
+ m_aStates.top().nDestinationState = DESTINATION_MGROUPCHR;
+ break;
+ case RTF_MGROUPCHRPR:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(groupChrPr));
+ m_aStates.top().nDestinationState = DESTINATION_MGROUPCHRPR;
+ break;
default:
SAL_INFO("writerfilter", OSL_THIS_FUNC << ": TODO handle destination '" << lcl_RtfToString(nKeyword) << "'");
// Make sure we skip destinations (even without \*) till we don't handle them
@@ -3671,6 +3695,8 @@ int RTFDocumentImpl::popState()
case DESTINATION_MACC: m_aMathBuffer.appendClosingTag(M_TOKEN(acc)); break;
case DESTINATION_MACCPR: m_aMathBuffer.appendClosingTag(M_TOKEN(accPr)); break;
case DESTINATION_MCHR:
+ case DESTINATION_MPOS:
+ case DESTINATION_MVERTJC:
case DESTINATION_MBEGCHR:
case DESTINATION_MENDCHR:
case DESTINATION_MSUBHIDE:
@@ -3682,6 +3708,8 @@ int RTFDocumentImpl::popState()
switch (m_aStates.top().nDestinationState)
{
case DESTINATION_MCHR: nToken = M_TOKEN(chr); break;
+ case DESTINATION_MPOS: nToken = M_TOKEN(pos); break;
+ case DESTINATION_MVERTJC: nToken = M_TOKEN(pos); break;
case DESTINATION_MBEGCHR: nToken = M_TOKEN(begChr); break;
case DESTINATION_MENDCHR: nToken = M_TOKEN(endChr); break;
case DESTINATION_MSUBHIDE: nToken = M_TOKEN(subHide); break;
@@ -3710,6 +3738,10 @@ int RTFDocumentImpl::popState()
case DESTINATION_MNARYPR: m_aMathBuffer.appendClosingTag(M_TOKEN(naryPr)); break;
case DESTINATION_MSUB: m_aMathBuffer.appendClosingTag(M_TOKEN(sub)); break;
case DESTINATION_MSUP: m_aMathBuffer.appendClosingTag(M_TOKEN(sup)); break;
+ case DESTINATION_MLIMUPP: m_aMathBuffer.appendClosingTag(M_TOKEN(limUpp)); break;
+ case DESTINATION_MLIMUPPPR: m_aMathBuffer.appendClosingTag(M_TOKEN(limUppPr)); break;
+ case DESTINATION_MGROUPCHR: m_aMathBuffer.appendClosingTag(M_TOKEN(groupChr)); break;
+ case DESTINATION_MGROUPCHRPR: m_aMathBuffer.appendClosingTag(M_TOKEN(groupChrPr)); break;
default: break;
}
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 2de0a0b5602c..32c60a037114 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -130,6 +130,8 @@ namespace writerfilter {
DESTINATION_MACC,
DESTINATION_MACCPR,
DESTINATION_MCHR,
+ DESTINATION_MPOS,
+ DESTINATION_MVERTJC,
DESTINATION_ME,
DESTINATION_MBAR,
DESTINATION_MBARPR,
@@ -151,7 +153,11 @@ namespace writerfilter {
DESTINATION_MSUB,
DESTINATION_MSUP,
DESTINATION_MSUBHIDE,
- DESTINATION_MSUPHIDE
+ DESTINATION_MSUPHIDE,
+ DESTINATION_MLIMUPP,
+ DESTINATION_MLIMUPPPR,
+ DESTINATION_MGROUPCHR,
+ DESTINATION_MGROUPCHRPR
};
enum RTFBorderState