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 ...@@ -1203,7 +1203,14 @@ class ShapePropertyReader : public RtfAbstractReader
return; return;
} }
//числовые //числовые
int nValue = Strings::ToInteger( sValue ); int nValue = 0;
try
{
nValue = Strings::ToInteger( sValue );
}catch(...)
{
}
if( _T("shapeType") == m_sPropName ) if( _T("shapeType") == m_sPropName )
m_oShape.m_nShapeType = nValue; m_oShape.m_nShapeType = nValue;
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
{ {
if (m_ooxNumbering == NULL) return false; 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; if (m_ooxNumbering->m_arrNumPicBullet[i] == NULL) continue;
......
#include "OOXShapeReader.h" #include "OOXShapeReader.h"
#include "OOXTextItemReader.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) bool OOXShapeReader::Parse2( ReaderParameter oParam , RtfShapePtr& oOutput)
{ {
if (m_arrElement == NULL) return false; if (m_arrElement == NULL) return false;
......
...@@ -15,10 +15,8 @@ public: ...@@ -15,10 +15,8 @@ public:
m_vmlElement = vmlElem; m_vmlElement = vmlElem;
m_arrElement = vmlElem; m_arrElement = vmlElem;
} }
OOXShapeReader(OOX::WritingElementWithChilds<OOX::WritingElement> * elem) OOXShapeReader(OOX::WritingElementWithChilds<OOX::WritingElement> * elem);
{
m_arrElement = elem;
}
bool Parse( ReaderParameter oParam , RtfShapePtr& oOutput); bool Parse( ReaderParameter oParam , RtfShapePtr& oOutput);
bool Parse2( ReaderParameter oParam , RtfShapePtr& oOutput); bool Parse2( ReaderParameter oParam , RtfShapePtr& oOutput);
...@@ -140,4 +138,4 @@ public: ...@@ -140,4 +138,4 @@ public:
} }
return true; return true;
} }
}; };
\ No newline at end of file
...@@ -304,7 +304,18 @@ private: ...@@ -304,7 +304,18 @@ private:
c = m_oStream.getc(); c = m_oStream.getc();
m_oStream.ungetc(); m_oStream.ungetc();
} }
parametroInt = _wtoi(parametroStr.GetBuffer()); try
{
parametroInt = _wtoi(parametroStr.GetBuffer());
}catch(...)
{
try
{
parametroInt = _wtoi64(parametroStr.GetBuffer());
}catch(...)
{
}
}
if (negativo) if (negativo)
parametroInt = -parametroInt; parametroInt = -parametroInt;
......
...@@ -801,7 +801,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter) ...@@ -801,7 +801,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
} }
#endif #endif
if (str_lang.length() > 0) 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 )); sResult.Append( m_poBorder.RenderToOOX( oRenderParameter ));
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#include <windows.h> #include <windows.h>
#endif #endif
#define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val.c_str(), val.length())
#if defined(__linux__) || defined(_MAC) && !defined(_IOS) #if defined(__linux__) || defined(_MAC) && !defined(_IOS)
#include <unistd.h> #include <unistd.h>
#endif #endif
......
...@@ -6,8 +6,6 @@ ...@@ -6,8 +6,6 @@
#include <time.h> #include <time.h>
#include <math.h> #include <math.h>
#define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val.c_str(), val.length())
#ifndef DIB_RGB_COLORS #ifndef DIB_RGB_COLORS
#define DIB_RGB_COLORS 0x00 #define DIB_RGB_COLORS 0x00
#endif #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