summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-07-24 12:23:52 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-07-24 14:16:06 +0200
commit982d71f3c994cd271ac402646a2372c243ec895d (patch)
tree749665ed07b5fdcc8249e0220357bbed3c2eb909 /writerfilter/source
parentfbee23deadd0e168d5b73629e31d317810c88bc9 (diff)
implement import of RTF_{MFUNC,MFUNCPR,MFNAME,MLIMLOW,MLIMLOWPR,MLIM}
Change-Id: Ibdecafae7942a0c79804176aa24e448dc505a5bb
Diffstat (limited to 'writerfilter/source')
-rw-r--r--writerfilter/source/rtftok/rtfcontrolwords.cxx2
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx36
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx8
3 files changed, 45 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.cxx b/writerfilter/source/rtftok/rtfcontrolwords.cxx
index 516a9b82d379..77697a594584 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.cxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.cxx
@@ -887,7 +887,9 @@ RTFSymbol aRTFControlWords[] = {
{"mlim", CONTROL_DESTINATION, RTF_MLIM},
{"mlimloc", CONTROL_DESTINATION, RTF_MLIMLOC},
{"mlimlow", CONTROL_DESTINATION, RTF_MLIMLOW},
+ {"mlimLow", CONTROL_DESTINATION, RTF_MLIMLOW},
{"mlimlowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR},
+ {"mlimLowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR},
{"mlimupp", CONTROL_DESTINATION, RTF_MLIMUPP},
{"mlimuppPr", CONTROL_DESTINATION, RTF_MLIMUPPPR},
{"mlit", CONTROL_FLAG, RTF_MLIT},
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 8e9d04d672cb..f1e2ef1098d3 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -1469,6 +1469,30 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aMathBuffer.appendOpeningTag(M_TOKEN(dPr));
m_aStates.top().nDestinationState = DESTINATION_MDPR;
break;
+ case RTF_MFUNC:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(func));
+ m_aStates.top().nDestinationState = DESTINATION_MFUNC;
+ break;
+ case RTF_MFUNCPR:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(funcPr));
+ m_aStates.top().nDestinationState = DESTINATION_MFUNCPR;
+ break;
+ case RTF_MFNAME:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(fName));
+ m_aStates.top().nDestinationState = DESTINATION_MFNAME;
+ break;
+ case RTF_MLIMLOW:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(limLow));
+ m_aStates.top().nDestinationState = DESTINATION_MLIMLOW;
+ break;
+ case RTF_MLIMLOWPR:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(limLowPr));
+ m_aStates.top().nDestinationState = DESTINATION_MLIMLOWPR;
+ break;
+ case RTF_MLIM:
+ m_aMathBuffer.appendOpeningTag(M_TOKEN(lim));
+ m_aStates.top().nDestinationState = DESTINATION_MLIM;
+ 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
@@ -3601,6 +3625,18 @@ int RTFDocumentImpl::popState()
m_aMathBuffer.appendClosingTag(M_TOKEN(d));
else if (m_aStates.top().nDestinationState == DESTINATION_MDPR)
m_aMathBuffer.appendClosingTag(M_TOKEN(dPr));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MFUNC)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(func));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MFUNCPR)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(funcPr));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MFNAME)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(fName));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MLIMLOW)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(limLow));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MLIMLOWPR)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(limLowPr));
+ else if (m_aStates.top().nDestinationState == DESTINATION_MLIM)
+ m_aMathBuffer.appendClosingTag(M_TOKEN(lim));
// See if we need to end a track change
RTFValue::Pointer_t pTrackchange = m_aStates.top().aCharacterSprms.find(NS_ooxml::LN_trackchange);
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 9a7ffff231df..70d7c86abfea 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -136,7 +136,13 @@ namespace writerfilter {
DESTINATION_MD,
DESTINATION_MDPR,
DESTINATION_MBEGCHR,
- DESTINATION_MENDCHR
+ DESTINATION_MENDCHR,
+ DESTINATION_MFUNC,
+ DESTINATION_MFUNCPR,
+ DESTINATION_MFNAME,
+ DESTINATION_MLIMLOW,
+ DESTINATION_MLIMLOWPR,
+ DESTINATION_MLIM
};
enum RTFBorderState