Commit 132fb2cb authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

замена конвертации от libra_office на локальную (часть форматов)

правка багов по результатам тестирования

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62479 954022d7-b5bf-4e40-9824-e11837661b57
parent 935f47db
......@@ -1203,7 +1203,14 @@ class ShapePropertyReader : public RtfAbstractReader
return;
}
//числовые
int nValue = Strings::ToInteger( sValue );
int nValue = 0;
try
{
nValue = Strings::ToInteger( sValue );
}catch(...)
{
}
if( _T("shapeType") == m_sPropName )
m_oShape.m_nShapeType = nValue;
......
......@@ -16,7 +16,7 @@ public:
{
if (m_ooxNumbering == NULL) return false;
for (long i=0; m_ooxNumbering->m_arrNumPicBullet.size(); i++)
for (long i=0; i < m_ooxNumbering->m_arrNumPicBullet.size(); i++)
{
if (m_ooxNumbering->m_arrNumPicBullet[i] == NULL) continue;
......
#include "OOXShapeReader.h"
#include "OOXTextItemReader.h"
OOXShapeReader::OOXShapeReader(OOX::WritingElementWithChilds<OOX::WritingElement> * elem)
{
m_arrElement = elem;
m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(elem);
if (m_vmlElement==NULL)
{
OOX::Logic::CPicture* pict = dynamic_cast<OOX::Logic::CPicture*>(elem);
if (pict)
{
if (pict->m_oShape.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShape.GetPointer());
else if (pict->m_oShapeArc.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeArc.GetPointer());
else if (pict->m_oShapeCurve.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeCurve.GetPointer());
else if (pict->m_oShapeLine.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeLine.GetPointer());
else if (pict->m_oShapeOval.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeOval.GetPointer());
else if (pict->m_oShapePolyLine.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapePolyLine.GetPointer());
else if (pict->m_oShapeRect.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeRect.GetPointer());
else if (pict->m_oShapeRoundRect.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeRoundRect.GetPointer());
else if (pict->m_oShapeType.IsInit()) m_vmlElement = dynamic_cast<OOX::Vml::CVmlCommonElements*>(pict->m_oShapeType.GetPointer());
}
}
}
bool OOXShapeReader::Parse2( ReaderParameter oParam , RtfShapePtr& oOutput)
{
if (m_arrElement == NULL) return false;
......
......@@ -15,10 +15,8 @@ public:
m_vmlElement = vmlElem;
m_arrElement = vmlElem;
}
OOXShapeReader(OOX::WritingElementWithChilds<OOX::WritingElement> * elem)
{
m_arrElement = elem;
}
OOXShapeReader(OOX::WritingElementWithChilds<OOX::WritingElement> * elem);
bool Parse( ReaderParameter oParam , RtfShapePtr& oOutput);
bool Parse2( ReaderParameter oParam , RtfShapePtr& oOutput);
......
......@@ -304,7 +304,18 @@ private:
c = m_oStream.getc();
m_oStream.ungetc();
}
try
{
parametroInt = _wtoi(parametroStr.GetBuffer());
}catch(...)
{
try
{
parametroInt = _wtoi64(parametroStr.GetBuffer());
}catch(...)
{
}
}
if (negativo)
parametroInt = -parametroInt;
......
......@@ -801,7 +801,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
}
#endif
if (str_lang.length() > 0)
sResult += CString(_T("<w:lang=\"")) + str_lang.c_str() + _T("\">");
sResult += CString(_T("<w:lang w:val=\"")) + str_lang.c_str() + _T("\"/>");
}
sResult.Append( m_poBorder.RenderToOOX( oRenderParameter ));
......
......@@ -14,6 +14,8 @@
#include <windows.h>
#endif
#define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val.c_str(), val.length())
#if defined(__linux__) || defined(_MAC) && !defined(_IOS)
#include <unistd.h>
#endif
......
......@@ -6,8 +6,6 @@
#include <time.h>
#include <math.h>
#define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val.c_str(), val.length())
#ifndef DIB_RGB_COLORS
#define DIB_RGB_COLORS 0x00
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment