From d012433a400853bf68991000ad899b8d752f2dd4 Mon Sep 17 00:00:00 2001 From: ElenaSubbotina Date: Mon, 25 Apr 2016 11:44:25 +0300 Subject: [PATCH] =?UTF-8?q?DocFormatReader=20-=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D1=85=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=D0=BB=20(oMath)=20?= =?UTF-8?q?=D0=B8=D0=B7=20Run=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0?= =?UTF-8?q?=20=D0=B2=D0=BE=20=D0=B2=D0=BD=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DocDocxConverter/DocumentMapping.cpp | 22 +++++++++++++------ .../DocDocxConverter/DocumentMapping.h | 1 + 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.cpp b/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.cpp index c24b0f3793..5826f94442 100644 --- a/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.cpp +++ b/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.cpp @@ -382,6 +382,12 @@ namespace DocFileFormat { m_pXmlWriter->WriteNodeEnd(_T("w:ins")); } + + if (!_writeAfterRun.empty()) + { + m_pXmlWriter->WriteString(_writeAfterRun.c_str()); + _writeAfterRun.clear(); + } } else { @@ -571,6 +577,12 @@ namespace DocFileFormat RevisionData oData = RevisionData(chpxPic); + CharacterPropertiesMapping* rPr = new CharacterPropertiesMapping(m_pXmlWriter, m_document, &oData, _lastValidPapx, false); + if(rPr) + { + chpxPic->Convert(rPr); + RELEASEOBJECT(rPr); + } XmlUtils::CXmlWriter OleWriter; OleWriter.WriteNodeBegin (_T( "w:object" ), TRUE); @@ -607,16 +619,12 @@ namespace DocFileFormat if (!oVmlMapper.m_isEmbedded && oVmlMapper.m_isEquation) { - m_pXmlWriter->WriteString(oVmlMapper.m_equationXml.c_str()); + //нельзя в Run писать oMath + //m_pXmlWriter->WriteString(oVmlMapper.m_equationXml.c_str()); + _writeAfterRun = oVmlMapper.m_equationXml; } else { - CharacterPropertiesMapping* rPr = new CharacterPropertiesMapping(m_pXmlWriter, m_document, &oData, _lastValidPapx, false); - if(rPr) - { - chpxPic->Convert(rPr); - RELEASEOBJECT(rPr); - } m_pXmlWriter->WriteString(OleWriter.GetXmlString()); } } diff --git a/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.h b/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.h index 90a7381a9b..d9d488e109 100644 --- a/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.h +++ b/ASCOfficeDocFile/DocDocxConverter/DocumentMapping.h @@ -111,5 +111,6 @@ namespace DocFileFormat bool _writeInstrText; unsigned int _fldCharCounter; IMapping* _caller; + std::wstring _writeAfterRun; }; }