diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-07-24 15:35:13 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-07-24 17:21:24 +0200 |
commit | 6f5f97b5583b93c821f9f9608ab41107bdff2c32 (patch) | |
tree | 580faca3d83e0f3425b1a7b43e8e574b0e7c2e54 | |
parent | 79a56a87e7485e0da6f5bc271012932f2642a662 (diff) |
implement import of RTF_M{POS,VERTJC,LIMUPP,LIMUPPPR,GROUPCHR,GROUPCHRPR}
Change-Id: I40406bd4220a918507b2ae90733f3d1d5df949d5
-rw-r--r-- | writerfilter/source/rtftok/rtfcontrolwords.cxx | 2 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 32 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 8 |
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 |