Commit 5a9873b6 authored by ElenaSubbotina's avatar ElenaSubbotina

RtfFormatReader/Writer - fix bugs(section in table, vml, math)

parent 721bb7bf
......@@ -44,8 +44,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "..\DesktopEditor\
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1} = {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "agg2d", "..\DesktopEditor\agg-2.4\agg_vs2005.vcproj", "{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "..\Common\DocxFormat\Source\XML\libxml2\win_build\libxml2.vcproj", "{21663823-DE45-479B-91D0-B4FEF4916EF0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RtfFormatLib", "..\ASCOfficeRtfFile\RtfFormatLib\Win32\RtfFormatLib.vcproj", "{AF2D00A7-A351-4700-AE88-C1D9ADE29345}"
......@@ -105,10 +103,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatWriterLib", "..\AS
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Oox2OdfConverter", "..\ASCOfficeOdfFileW\source\win32\Oox2OdfConverter.vcproj", "{BEE01B53-244A-44E6-8947-ED9342D9247E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ECMACryptReader", "..\OfficeCryptReader\win32\ECMACryptReader.vcproj", "{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OfficeFileCrypt", "..\OfficeCryptReader\win32\ECMACryptReader.vcproj", "{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "..\Common\3dParty\cryptopp\cryptlib.vcproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "agg2d", "..\DesktopEditor\agg-2.4\agg_vs2005.vcproj", "{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
......@@ -420,27 +420,6 @@ Global
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseOpenSource|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseOpenSource|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|x64.Build.0 = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|x64.ActiveCfg = Debug|x64
......@@ -596,7 +575,8 @@ Global
{F8274B05-168E-4D6E-B843-AA7510725363}.ReleaseOpenSource|x64.Build.0 = Release|x64
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.Debug|Win32.ActiveCfg = Debug|Win32
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.Debug|Win32.Build.0 = Debug|Win32
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.Debug|x64.ActiveCfg = Debug|Win32
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.Debug|x64.ActiveCfg = Debug|x64
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.Debug|x64.Build.0 = Debug|x64
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}.DLL-Import Debug|x64.ActiveCfg = Debug|Win32
......@@ -790,7 +770,8 @@ Global
{BEE01B53-244A-44E6-8947-ED9342D9247E}.ReleaseOpenSource|x64.Build.0 = Release|x64
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|Win32.ActiveCfg = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|Win32.Build.0 = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|x64.ActiveCfg = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|x64.ActiveCfg = Debug|x64
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|x64.Build.0 = Debug|x64
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.DLL-Import Debug|x64.ActiveCfg = Debug|Win32
......@@ -828,6 +809,28 @@ Global
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseOpenSource|Win32.ActiveCfg = Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.ReleaseOpenSource|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Debug|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.DLL-Import Release|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseOpenSource|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -591,7 +591,7 @@ namespace NSOfficeDrawing
etWheel,
etWipe,
etZoom
}
};
///////////////////////////////////////////////////////////////
// а нужно ли...?
///////////////////////////////////////////////////////////////
......
......@@ -1126,7 +1126,7 @@ public:
return true;
else if( _T("pict") == sCommand )
{
m_oShape.m_eShapeType = RtfShape::st_inline;
m_oShape.m_eAnchorTypeShape = RtfShape::st_inline;
m_oShape.m_nShapeType = 75;
m_oShape.m_nWrapType = 3; // none
m_oShape.m_nPositionHRelative = 3;//TCHAR
......@@ -1165,7 +1165,7 @@ public:
}
else if( _T("pict") == sCommand )
{
m_oShape.m_eShapeType = RtfShape::st_inline;
m_oShape.m_eAnchorTypeShape = RtfShape::st_inline;
m_oShape.m_nShapeType = 75;
m_oShape.m_nWrapType = 3; // none
m_oShape.m_nPositionHRelative = 3;//TCHAR
......@@ -1523,13 +1523,12 @@ private:
RtfParagraphPtr m_oCurParagraph;
//реальные параграфы и таблицы
std::vector< ITextItemPtr > aCellRenderables;
std::vector< int > aItaps; //вложенность параграфов
std::vector< RtfTableCellPtr > aCells;
std::vector< int > aCellItaps; //вложенность cell
std::vector< RtfTableRowPtr > aRows;
std::vector< int > aRowItaps; //вложенность row
int nCurItap;
std::vector< ITextItemPtr > aCellRenderables;
std::vector< int > aItaps; //вложенность параграфов
std::vector< RtfTableCellPtr > aCells;
std::vector< int > aCellItaps; //вложенность cell
std::vector< RtfTableRowPtr > aRows;
std::vector< int > aRowItaps; //вложенность row
RtfRowProperty oCurRowProperty;
RtfReader* m_oReader;
......@@ -1537,16 +1536,17 @@ private:
public:
TextItemContainerPtr m_oTextItems; //для разбивки на TextItem
int nTargetItap; //уровень который считается не таблицей ( для того чтобы читать параграфы в таблицах )
int nCurItap;
RtfTab m_oCurTab;
ParagraphPropDestination( )
{
nTargetItap = PROP_DEF;
m_bPar = false;
m_oTextItems = TextItemContainerPtr( new TextItemContainer() );
nCurItap = 0;//main document
m_eInternalState = is_normal;
m_oCurParagraph = RtfParagraphPtr(new RtfParagraph());
nTargetItap = PROP_DEF;
m_bPar = false;
m_oTextItems = TextItemContainerPtr( new TextItemContainer() );
nCurItap = 0;//main document
m_eInternalState = is_normal;
m_oCurParagraph = RtfParagraphPtr(new RtfParagraph());
}
bool ExecuteCommand(RtfDocument& oDocument, RtfReader& oReader,RtfAbstractReader& oAbstrReader,CString sCommand, bool hasParameter, int parameter);
void ExecuteText(RtfDocument& oDocument, RtfReader& oReader, CString sText)
......
......@@ -60,7 +60,7 @@ public:
RtfShapePtr oNewShape( new RtfShape() );
if( true == oShapeReader.Parse( oParam, oNewShape ) )
{
oNewShape->m_eShapeType = RtfShape::st_inline;
oNewShape->m_eAnchorTypeShape = RtfShape::st_inline;
oNewShape->m_nPositionHRelative = 3;
oNewShape->m_nPositionVRelative = 3;
......
......@@ -199,7 +199,7 @@ bool OOXParagraphReader::Parse2( ReaderParameter oParam , RtfParagraph& oOutputP
RtfCharPtr oNewChar( new RtfChar() );
oNewChar->m_bRtfEncode = false;
CString sFieldText;
sFieldText.AppendFormat(_T("HYPERLINK \"%ls\""), sTarget.GetBuffer() );
sFieldText += _T("HYPERLINK \"") + sTarget + _T("\"");
oNewChar->setText( sFieldText );
RtfParagraphPtr oNewInsertParagraph( new RtfParagraph() );
oNewInsertParagraph->AddItem( oNewChar );
......@@ -470,20 +470,13 @@ bool OOXRunReader::Parse( ReaderParameter oParam , RtfParagraph& oOutputParagrap
if (ooxObject->m_oShape.IsInit())
{
RtfShapePtr oNewShape( new RtfShape() );
oNewShape->m_eShapeType = RtfShape::st_inline;
oNewShape->m_eAnchorTypeShape = RtfShape::st_inline;
OOXShapeReader oShapeReader(ooxObject->m_oShape.GetPointer());
if( true == oShapeReader.Parse( oParam, oNewShape ) )
aPictShape = oNewShape;
}
//if (ooxObject->m_oGroupShape.IsInit())
//{
// RtfShapeGroupPtr oNewShape( new RtfShapeGroup() );
// oNewShape->m_eShapeType = RtfShape::st_inline;
// OOXShapeGroupReader oShapeReader;
// if( true == oShapeReader.Parse( oParam, oNewShape ) )
// aPictShape = oNewShape;
//}
if (ooxObject->m_oOleObject.IsInit())
{
RtfOlePtr oNewOle( new RtfOle() );
......@@ -608,23 +601,35 @@ bool OOXRunReader::Parse( ReaderParameter oParam , RtfParagraph& oOutputParagrap
{
OOX::Logic::CPicture *ooxPicture = dynamic_cast<OOX::Logic::CPicture*>(ooxItem);
if( ooxPicture)
{//todooo - groups & custom
RtfShapePtr oNewShape( new RtfShape() );
OOXShapeReader *pShapeReader = NULL;
if (ooxPicture->m_oShape.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShape.GetPointer());
else if (ooxPicture->m_oShapeRect.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeRect.GetPointer());
else if (ooxPicture->m_oShapeRoundRect.IsInit())pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeRoundRect.GetPointer());
else if (ooxPicture->m_oShapeOval.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeOval.GetPointer());
else if (ooxPicture->m_oShapeLine.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeLine.GetPointer());
else if (ooxPicture->m_oShapePolyLine.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapePolyLine.GetPointer());
else if (ooxPicture->m_oShapeCurve.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeCurve.GetPointer());
if (pShapeReader)
{
if (ooxPicture->m_oShapeGroup.IsInit())
{
if( true == pShapeReader->Parse( oParam, oNewShape ) )
oOutputParagraph.AddItem( oNewShape );
delete pShapeReader;
RtfShapeGroupPtr oNewShape( new RtfShapeGroup() );
OOXShapeGroupReader oShapeGroupReader(ooxPicture->m_oShapeGroup.GetPointer());
if( true == oShapeGroupReader.Parse( oParam, oNewShape ) )
oOutputParagraph.AddItem( oNewShape );
}
else
{
RtfShapePtr oNewShape( new RtfShape() );
OOXShapeReader *pShapeReader = NULL;
if (ooxPicture->m_oShape.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShape.GetPointer());
else if (ooxPicture->m_oShapeType.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeType.GetPointer());
else if (ooxPicture->m_oShapeArc.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeArc.GetPointer());
else if (ooxPicture->m_oShapeRect.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeRect.GetPointer());
else if (ooxPicture->m_oShapeRoundRect.IsInit())pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeRoundRect.GetPointer());
else if (ooxPicture->m_oShapeOval.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeOval.GetPointer());
else if (ooxPicture->m_oShapeLine.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeLine.GetPointer());
else if (ooxPicture->m_oShapePolyLine.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapePolyLine.GetPointer());
else if (ooxPicture->m_oShapeCurve.IsInit()) pShapeReader = new OOXShapeReader(ooxPicture->m_oShapeCurve.GetPointer());
if (pShapeReader)
{
if( true == pShapeReader->Parse( oParam, oNewShape ) )
oOutputParagraph.AddItem( oNewShape );
delete pShapeReader;
}
}
}
}break;
......@@ -765,7 +770,11 @@ bool OOXRunReader::Parse( ReaderParameter oParam , RtfParagraph& oOutputParagrap
int nFontSize = 10;
if( PROP_DEF != oNewProperty.m_nFontSize )
nFontSize = oNewProperty.m_nFontSize / 2;
sFieldText.AppendFormat(_T("SYMBOL %d \\\\f \"%ls\" \\\\s %d"), nChar, sFont.GetBuffer(), nFontSize );
sFieldText.AppendFormat(_T("SYMBOL %d \\\\f \""), nChar);
sFieldText += sFont;
sFieldText.AppendFormat(_T("\" \\\\s %d"), nFontSize );
oNewChar->setText( sFieldText );
RtfParagraphPtr oNewInsertParagraph( new RtfParagraph() );
oNewInsertParagraph->AddItem( oNewChar );
......
......@@ -48,7 +48,7 @@ public:
if (m_ooxAnchor == NULL) return false;
oOutput.m_oPicture = RtfPicturePtr( new RtfPicture() );
oOutput.m_eShapeType = RtfShape::st_anchor;
oOutput.m_eAnchorTypeShape = RtfShape::st_anchor;
oOutput.m_nShapeType = 75;
oOutput.m_bAllowOverlap = m_ooxAnchor->m_oAllowOverlap.IsInit() ? m_ooxAnchor->m_oAllowOverlap->ToBool() : false;
......@@ -241,22 +241,20 @@ public:
}
if (m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon.IsInit())///??? todooo twips ? pt?
{
int nValue;
int nValueX, nValueY;
if (m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_oStart.IsInit())
{
nValue = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_oStart->m_oX.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
nValueX = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_oStart->m_oX.ToTwips();
nValueY = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_oStart->m_oY.ToTwips();
nValue =m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_oStart->m_oY.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
oOutput.m_aWrapPoints.push_back( std::pair<int,int>(nValueX, nValueY));
}
for( int i = 0; i < m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_arrLineTo.size(); i++ )
{
nValue = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_arrLineTo[i]->m_oX.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
nValueX = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_arrLineTo[i]->m_oX.ToTwips();
nValueY = m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_arrLineTo[i]->m_oY.ToTwips();
nValue =m_ooxAnchor->m_oWrapThrough->m_oWrapPolygon->m_arrLineTo[i]->m_oY.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
oOutput.m_aWrapPoints.push_back( std::pair<int,int>(nValueX, nValueY));
}
}
}
......@@ -275,24 +273,22 @@ public:
}
if (m_ooxAnchor->m_oWrapTight->m_oWrapPolygon.IsInit())
{
int nValue;
int nValueX, nValueY;
if (m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_oStart.IsInit())
{
nValue = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_oStart->m_oX.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
nValueX = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_oStart->m_oX.ToTwips();
nValueY = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_oStart->m_oY.ToTwips();
nValue =m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_oStart->m_oY.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
oOutput.m_aWrapPoints.push_back( std::pair<int,int>(nValueX, nValueY) );
}
for( int i = 0; i < m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_arrLineTo.size(); i++ )
{
nValue = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_arrLineTo[i]->m_oX.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
nValueX = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_arrLineTo[i]->m_oX.ToTwips();
nValueY = m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_arrLineTo[i]->m_oY.ToTwips();
nValue =m_ooxAnchor->m_oWrapTight->m_oWrapPolygon->m_arrLineTo[i]->m_oY.ToTwips();
oOutput.m_aWrapPoints.push_back( nValue );
oOutput.m_aWrapPoints.push_back( std::pair<int,int>(nValueX, nValueY) );
}
}
}
......
......@@ -46,7 +46,7 @@ public:
if (m_ooxInline == NULL) return false;
oOutput.m_oPicture = RtfPicturePtr( new RtfPicture() );
oOutput.m_eShapeType = RtfShape::st_inline;
oOutput.m_eAnchorTypeShape = RtfShape::st_inline;
oOutput.m_nShapeType = 75;
oOutput.m_nLeft = 0;
oOutput.m_nTop = 0;
......
......@@ -40,18 +40,20 @@ class OOXReader
{
public:
RtfConvertationManager *m_convertationManager;
CString m_sPath;
RtfConvertationManager* m_convertationManager;
CString m_sPath;
int m_nCurItap; //для определение вложенности таблицы
int m_nCurItap; //для определение вложенности таблицы
int m_nCurFittextId;
std::map<int, CString> m_aBookmarks;
int m_nCurFittextId;
std::map<int, CString> m_aBookmarks;
std::map<int, int> m_mapPictureBullet;
std::map<int, TextItemContainerPtr> m_mapFootnotes;
std::map<int, TextItemContainerPtr> m_mapEndnotes;
std::map<int, int> m_mapPictureBullet;
std::map<int, TextItemContainerPtr> m_mapFootnotes;
std::map<int, TextItemContainerPtr> m_mapEndnotes;
std::map<CString, OOX::Vml::CShapeType*> m_mapShapeTypes;
//------------------------------------------------------------------------
OOXIdGenerator m_oOOXIdGenerator;
//Theme Fonts
......
......@@ -38,6 +38,8 @@
#include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Vml.h"
bool ParseStyle(RtfShape* pShape, SimpleTypes::Vml::CCssProperty* prop);
class OOXShapeReader
{
public:
......@@ -100,16 +102,14 @@ private:
OOX::Vml::CVmlCommonElements *m_vmlElement;
OOX::WritingElementWithChilds<OOX::WritingElement> *m_arrElement;
bool ParseStyles(RtfShape& oShape, std::vector<SimpleTypes::Vml::CCssProperty*> & props)
bool ParseStyles(RtfShapePtr pShape, std::vector<SimpleTypes::Vml::CCssProperty*> & props)
{
for (long i=0; i< props.size(); i++)
{
ParseStyle( oShape, props[i]);
ParseStyle( pShape.get(), props[i]);
}
return true;
}
bool ParseStyle(RtfShape& oShape, SimpleTypes::Vml::CCssProperty* prop);
};
......@@ -123,50 +123,14 @@ public:
m_vmlGroup = vmlGroup;
}
bool Parse( ReaderParameter oParam , RtfShapeGroupPtr& oOutput)
bool ParseStyles(RtfShapeGroupPtr pGroupShape, std::vector<SimpleTypes::Vml::CCssProperty*> & props)
{
if (m_vmlGroup == NULL) return false;
//RtfShapePtr oBaseShape = boost::static_pointer_cast<RtfShape, RtfShapeGroup>( oOutput );
//
//OOXShapeReader oShapeReader(m_vmlGroup);
//oShapeReader.Parse( oParam, oBaseShape );
//todooo притащить сюда атрибуты группы
for( int i = 0; i < m_vmlGroup->m_arrItems.size() ; i++ )
for (long i=0; i< props.size(); i++)
{
if (m_vmlGroup->m_arrItems[i] == NULL) continue;
if (m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_group)
{
RtfShapeGroupPtr oNewShape( new RtfShapeGroup() );
OOXShapeGroupReader oShapeReader(dynamic_cast<OOX::Vml::CGroup*>(m_vmlGroup->m_arrItems[i]));
if( true == oShapeReader.Parse( oParam, oNewShape ) )
oOutput->AddItem( oNewShape );
}
else if ( m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_arc ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_line ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_oval ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_shape ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_rect ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_roundrect ||
m_vmlGroup->m_arrItems[i]->getType() == OOX::et_v_polyline)
{
RtfShapePtr oNewShape( new RtfShape() );//set type .. .todooo
OOXShapeReader oShapeReader(dynamic_cast<OOX::Vml::CVmlCommonElements*>(m_vmlGroup->m_arrItems[i]));
if( true == oShapeReader.Parse( oParam, oNewShape ) )
oOutput->AddItem( oNewShape );
}
else
{
//??? todooo
//shapetype как минимум нужен !!!
}
ParseStyle( dynamic_cast<RtfShape*>(pGroupShape.get()), props[i]);
}
return true;
}
bool Parse( ReaderParameter oParam , RtfShapeGroupPtr& oOutput);
};
......@@ -55,7 +55,7 @@ CString RtfBookmarkStart::RenderToOOX(RenderParameter oRenderParameter)
{
CString sResult;
//ATLASSERT( false == m_sName.IsEmpty() );
sResult.Append(_T("<w:bookmarkStart"));
sResult += _T("<w:bookmarkStart");
OOXWriter * poOOXWriter = static_cast<OOXWriter*> ( oRenderParameter.poWriter );
RtfDocument * poDocument = static_cast<RtfDocument*> (oRenderParameter.poDocument);
......@@ -75,8 +75,8 @@ CString RtfBookmarkStart::RenderToOOX(RenderParameter oRenderParameter)
sResult.AppendFormat(_T(" w:colFirst =\"%d\""), nID);
if( PROP_DEF != nLastColumn )
sResult.AppendFormat(_T(" w:colLast =\"%d\""), nID);
sResult.AppendFormat(_T(" w:name =\"%ls\""), Utils::PrepareToXML( m_sName ).GetBuffer() );
sResult.Append(_T("/>"));
sResult += _T(" w:name =\"") + Utils::PrepareToXML( m_sName ) + _T("\"");
sResult += _T("/>");
return sResult;
}
CString RtfBookmarkEnd::RenderToRtf(RenderParameter oRenderParameter)
......
......@@ -207,21 +207,21 @@ public: CString RenderToRtf(RenderParameter oRenderParameter)
}
sResult += _T("{\\*\\fldinst ");
RenderParameter oNewParam = oRenderParameter;
oNewParam.nType = RENDER_TO_RTF_PARAM_CHAR;
oNewParam.nValue = RENDER_TO_RTF_PARAM_NO_PAR;
oNewParam.nType = RENDER_TO_RTF_PARAM_CHAR;
oNewParam.nValue = RENDER_TO_RTF_PARAM_NO_PAR;
sResult += m_oInsert->RenderToRtf( oNewParam );
if( true == m_bReferenceToEndnote )
sResult += _T("\\fldalt");
if( false == m_sData.IsEmpty() )
sResult.AppendFormat( _T("{\\*\\datafield %ls}"), m_sData.GetBuffer());
if( !m_sData.IsEmpty() )
sResult += _T("{\\*\\datafield ") + m_sData + _T("}");
sResult += _T("}");
CString str = m_oResult->RenderToRtf( oRenderParameter ) ;
sResult.AppendFormat(_T("{\\fldrslt %ls}"), str.GetBuffer());
sResult += _T("{\\fldrslt ") + str + _T("}");
sResult += _T("}");
return sResult;
}
......@@ -262,7 +262,7 @@ public: CString RenderToOOX(RenderParameter oRenderParameter)
OOXRelsWriter* poRelsWriter = static_cast<OOXRelsWriter*>( oRenderParameter.poRels );
CString sId = poRelsWriter->AddRelationship( _T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"), Utils::PrepareToXML( sHyperlink ), false );
//добавляем гиперссылку в документ
sResult.AppendFormat( _T("<w:hyperlink r:id=\"%ls\" >"), sId.GetBuffer() );
sResult += _T("<w:hyperlink r:id=\"") + sId + _T("\" >");
oNewParam.nType = RENDER_TO_OOX_PARAM_RUN;
sResult += m_oResult->RenderToOOX(oNewParam);
......
......@@ -90,9 +90,9 @@ CString RtfMath::RenderToRtf(RenderParameter oRenderParameter)
CString sResult;
if( RENDER_TO_RTF_PARAM_NESTED != oRenderParameter.nType )
sResult.Append(_T("{\\mmath"));
sResult += _T("{\\mmath");
sResult.AppendFormat(_T("{\\%ls"), m_sRtfName.GetBuffer());
sResult += _T("{\\") + m_sRtfName;
RenderParameter oNewParameter = oRenderParameter;
CString sVal;
......@@ -120,10 +120,10 @@ CString RtfMath::RenderToRtf(RenderParameter oRenderParameter)
for( int i = 0; i < (int)m_aArray.size(); i++ )
sResult.Append(m_aArray[i]->RenderToRtf( oNewParameter ));
}
sResult.Append(_T("}"));
sResult += _T("}");
if( RENDER_TO_RTF_PARAM_NESTED != oRenderParameter.nType )
sResult.AppendFormat(_T("}"), m_sRtfName.GetBuffer());
sResult += _T("}");// m_sRtfName
return sResult;
}
CString RtfMath::RenderToOOX(RenderParameter oRenderParameter)
......
......@@ -54,10 +54,11 @@ CString RtfOldList::RenderToOOX(RenderParameter oRenderParameter)
CString sText = m_oLevelText->RenderToOOX( oNewParameter );
sResult.AppendFormat( _T("<w:abstractNum w:abstractNumId=\"%d\">"), m_nLs );
sResult.Append(_T("<w:multiLevelType w:val=\"singleLevel\" />"));
sResult.Append(_T("<w:lvl w:ilvl=\"0\">"));
sResult.Append(_T("<w:numFmt w:val=\"bullet\"/>"));
if( false == sText.IsEmpty() )
sResult += _T("<w:multiLevelType w:val=\"singleLevel\" />");
sResult += _T("<w:lvl w:ilvl=\"0\">");
sResult += _T("<w:numFmt w:val=\"bullet\"/>");
if(!sText.IsEmpty() )
sResult.AppendFormat(_T("<w:lvlText w:val=\"%ls\"/>"), Utils::PrepareToXML( sText ).GetBuffer() );
else
{
......
......@@ -957,33 +957,35 @@ CString RtfListLevelProperty::RenderToOOX2(RenderParameter oRenderParameter, int
{
sResult.AppendFormat( _T("<w:lvl w:ilvl=\"%d\""), nLevel );
RENDER_OOX_BOOL_ATTRIBUTE( m_bTentative, sResult, _T("w:tentative"))
sResult.Append(_T(">"));
sResult += _T(">");
if( PROP_DEF != m_nJustification )
{
switch( m_nJustification )
{
case 0:sResult.Append(_T("<w:lvlJc w:val=\"left\" />")); break;
case 1:sResult.Append(_T("<w:lvlJc w:val=\"center\" />")); break;
case 2:sResult.Append(_T("<w:lvlJc w:val=\"right\" />")); break;
case 0: sResult += _T("<w:lvlJc w:val=\"left\"/>"); break;
case 1: sResult += _T("<w:lvlJc w:val=\"center\"/>"); break;
case 2: sResult += _T("<w:lvlJc w:val=\"right\"/>"); break;
}
}
if( 1 == m_nNoRestart)
sResult.Append(_T("<w:lvlRestart w:val=\"0\"/>"));
sResult += _T("<w:lvlRestart w:val=\"0\"/>");
if( 1 == m_nLegal)
sResult.Append(_T("<w:isLgl />"));
sResult += _T("<w:isLgl/>");
sResult.AppendFormat( _T("<w:lvlText w:val=\"%ls\"/>"), GetLevelTextOOX().GetBuffer() );
sResult.AppendFormat(_T("<w:numFmt w:val=\"%ls\" />"), GetFormat(m_nNumberType).GetBuffer() );
sResult += _T("<w:lvlText w:val=\"") + GetLevelTextOOX() + _T("\"/>");
sResult += _T("<w:numFmt w:val=\"") + GetFormat(m_nNumberType) + _T("\"/>");
RENDER_OOX_INT( m_nPictureIndex, sResult, _T("w:lvlPicBulletId") )
RENDER_OOX_INT( m_nStart, sResult, _T("w:start") )
if( PROP_DEF != m_nFollow )
{
switch( m_nFollow )
{
case 0: sResult.Append( _T("<w:suff w:val=\"tab\" />") );break;
case 1: sResult.Append( _T("<w:suff w:val=\"space\" />") );break;
case 2: sResult.Append( _T("<w:suff w:val=\"nothing\" />") );break;
case 0: sResult += _T("<w:suff w:val=\"tab\"/>"); break;
case 1: sResult += _T("<w:suff w:val=\"space\"/>"); break;
case 2: sResult += _T("<w:suff w:val=\"nothing\"/>"); break;
}
}
......@@ -998,22 +1000,24 @@ CString RtfListLevelProperty::RenderToOOX2(RenderParameter oRenderParameter, int
}
RENDER_OOX_INT_ATTRIBUTE( m_nIndent, sIndent, _T("w:left") )
RENDER_OOX_INT_ATTRIBUTE( m_nIndentStart, sIndent, _T("w:start") )
if( false == sIndent.IsEmpty() )
spPr.AppendFormat(_T("<w:ind %ls/>"), sIndent.GetBuffer());
if( !sIndent.IsEmpty() )
spPr += _T("<w:ind ") + sIndent + _T("/>");
spPr.Append( m_oTabs.RenderToOOX( oRenderParameter ) );
spPr += m_oTabs.RenderToOOX( oRenderParameter );
if( false == spPr.IsEmpty() )
sResult.AppendFormat(_T("<w:pPr>%ls</w:pPr>"), spPr.GetBuffer());
if( !spPr.IsEmpty() )
sResult += _T("<w:pPr>") + spPr + _T("</w:pPr>");
CString srPr;
RenderParameter oNewParam = oRenderParameter;
oNewParam.nType = RENDER_TO_OOX_PARAM_UNKNOWN;
srPr.Append( m_oCharProp.RenderToOOX(oNewParam) );
if( false == srPr.IsEmpty() )
sResult.AppendFormat(_T("<w:rPr>%ls</w:rPr>"), srPr.GetBuffer());
CString srPr = m_oCharProp.RenderToOOX(oNewParam);
if( !srPr.IsEmpty() )
sResult += _T("<w:rPr>") + srPr + _T("</w:rPr>");
sResult.Append(_T("</w:lvl>"));
sResult += _T("</w:lvl>");
}
return sResult;
}
......
......@@ -59,7 +59,7 @@ void RtfReader::PushState()
psaveNew -> m_oCellProperty = m_oState->m_oCellProperty;
psaveNew -> m_oCurOldList = m_oState->m_oCurOldList;
//psaveNew -> m_oSectionProp = m_oState->m_oSectionProp;
psaveNew -> psave = m_oState;
psaveNew -> m_pSaveState = m_oState;
m_oState = psaveNew;
if( PROP_DEF == m_oState->m_oCharProp.m_nFont )
......@@ -67,9 +67,8 @@ void RtfReader::PushState()
}
void RtfReader::PopState()
{
if( 0 != m_oState->psave )
m_oState = m_oState->psave;
//delete psaveOld;
if( 0 != m_oState->m_pSaveState )
m_oState = m_oState->m_pSaveState;
}
CString RtfAbstractReader::ExecuteTextInternalCodePage( std::string& sCharString, RtfDocument& oDocument, RtfReader& oReader)
......
......@@ -53,8 +53,8 @@ public:
RtfRowProperty m_oRowProperty;
RtfCellProperty m_oCellProperty;
RtfOldList m_oCurOldList;
// RtfSectionProperty m_oSectionProp;
ReaderStatePtr psave;
// RtfSectionProperty m_oSectionProp;
ReaderStatePtr m_pSaveState;
std::string m_sCurText;
ReaderState()
......@@ -65,7 +65,6 @@ public:
m_oRowProperty.SetDefaultRtf();
m_oCellProperty.SetDefaultRtf();
m_oCurOldList.SetDefault();
//m_oSectionProp.SetDefaultOOX();
}
};
......
......@@ -80,19 +80,31 @@ private:
CString CreateXml()
{
CString sResult;
sResult.Append( _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>") );
sResult += _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>");
sResult.AppendChar('\n');
sResult.Append( _T("<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">") );
sResult += _T("<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">");
sResult.Append( _T("<Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>") );
sResult.Append( _T("<Default Extension=\"xml\" ContentType=\"application/xml\"/>") );
sResult += _T("<Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>");
sResult += _T("<Default Extension=\"xml\" ContentType=\"application/xml\"/>");
for( int i = 0; i < (int)m_aExtensions.size(); i++ )
sResult.AppendFormat( _T("<Default Extension=\"%ls\" ContentType=\"%ls\"/>"), m_aExtensions[i].GetBuffer(), m_aExtTypes[i].GetBuffer());
{
sResult += _T("<Default Extension=\"");
sResult += m_aExtensions[i];
sResult += _T("\" ContentType=\"");
sResult += m_aExtTypes[i];
sResult += _T("\"/>");
}
for( int i = 0; i < (int)m_aTargets.size(); i++ )
sResult.AppendFormat( _T("<Override PartName=\"%ls\" ContentType=\"%ls\"/>"), m_aTargets[i].GetBuffer(), m_aTypes[i].GetBuffer());
sResult.Append( _T("</Types>") );
{
sResult += _T("<Override PartName=\"");
sResult += m_aTargets[i];
sResult += _T("\" ContentType=\"");
sResult += m_aTypes[i];
sResult += _T("\"/>");
}
sResult += _T("</Types>");
return sResult;
}
};
......@@ -353,7 +353,27 @@
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\UnicodeConverter\UnicodeConverter.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
</Filter>
<File
RelativePath="..\..\build\bin\icu\win_32\icudt.lib"
>
</File>
<File
RelativePath="..\..\build\bin\icu\win_32\icuuc.lib"
>
</File>
</Files>
<Globals>
</Globals>
......
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Version="8,00"
Name="cryptlib"
ProjectGUID="{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
RootNamespace="cryptlib"
......@@ -14,6 +14,8 @@
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
......@@ -31,6 +33,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
......@@ -65,6 +76,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -91,6 +105,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
......@@ -125,6 +148,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -151,6 +177,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
......@@ -185,6 +220,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -211,6 +249,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
......@@ -245,6 +292,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -271,12 +321,21 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="_DEBUG;_WINDOWS;USE_PRECOMPILED_HEADERS;WIN32"
RuntimeLibrary="1"
RuntimeLibrary="3"
EnableEnhancedInstructionSet="1"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="pch.h"
......@@ -302,6 +361,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -328,12 +390,21 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="_DEBUG;_WINDOWS;USE_PRECOMPILED_HEADERS;WIN32"
RuntimeLibrary="1"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="pch.h"
ProgramDataBaseFileName="$(OutDir)\vc80.pdb"
......@@ -358,6 +429,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -384,6 +458,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
......@@ -414,6 +497,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -440,6 +526,15 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
......@@ -470,6 +565,9 @@
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
......@@ -3202,80 +3300,6 @@
/>
</FileConfiguration>
</File>
<File
RelativePath="fipstest.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="DLL-Import Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="DLL-Import Release|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="DLL-Import Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="DLL-Import Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="gcm.cpp"
>
......
......@@ -3270,9 +3270,10 @@ namespace SimpleTypes
};
enum ECssUnitsType
{
cssunitstypeAuto = 0,
cssunitstypeUnits = 1,
cssunitstypePerc = 2,
cssunitstypeAuto = 0,
cssunitstypeUnits = 1,
cssunitstypePerc = 2,
cssunitstypeAbsolute = 3
};
struct TCssUnitsValue
{
......@@ -3823,10 +3824,15 @@ namespace SimpleTypes
}
else
{
m_oValue.oValue.eType = cssunitstypeUnits;
CString strValue = sValue.Mid( 0, nPos );
m_oValue.oValue.dValue = strValue.IsEmpty() ? 0 : _wtof(strValue );
m_oValue.oValue.eType = cssunitstypeAbsolute;
try
{
m_oValue.oValue.dValue = sValue.IsEmpty() ? 0 : _wtof(sValue );
}
catch(...)
{
m_oValue.oValue.dValue = 0;
}
}
}
......
......@@ -551,8 +551,10 @@ namespace OOX
if ( 0 != m_oSpt.GetValue() )
sResult += _T("o:spt=\"") + m_oSpt.ToString() + _T("\" ");
if ( SimpleTypes::connectortypeStraight != m_oConnectorType.GetValue() )
sResult += _T("o:connectortype=\"") + m_oConnectorType.ToString() + _T("\" ");
if (m_oConnectorType.IsInit())
{
sResult += _T("o:connectortype=\"") + m_oConnectorType->ToString() + _T("\" ");
}
ComplexTypes_WriteAttribute ( _T("o:bwmode=\""), m_oBwMode );
ComplexTypes_WriteAttribute ( _T("o:bwpure=\""), m_oBwPure );
......
......@@ -121,7 +121,7 @@ namespace OOX
nullable<SimpleTypes::CTrueFalse<>> m_oInsetPen;
// 2.2 AG_OfficeShapeAttributes
SimpleTypes::CDecimalNumber<> m_oSpt;
SimpleTypes::CConnectorType<SimpleTypes::connectortypeNone> m_oConnectorType;
nullable<SimpleTypes::CConnectorType<>> m_oConnectorType;
nullable<SimpleTypes::CBWMode<>> m_oBwMode;
nullable<SimpleTypes::CBWMode<>> m_oBwPure;
nullable<SimpleTypes::CBWMode<>> m_oBwNormal;
......
......@@ -105,7 +105,7 @@
UseOfMFC="0"
UseOfATL="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
CharacterSet="0"
DeleteExtensionsOnClean=""
>
<Tool
......@@ -126,6 +126,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions=" /Wp64"
Optimization="0"
AdditionalIncludeDirectories="include;font_win32_tt;..\Expat;..\Objects\Font\FreeType"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;AGG_BMP_ALPHA_BLEND;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS"
......
......@@ -11,6 +11,9 @@
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
......@@ -137,6 +140,130 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_LITE_READER;_USE_XMLLITE_READER_;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
......
......@@ -11,6 +11,9 @@
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
......@@ -165,6 +168,158 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;USE_LITE_READER;_USE_XMLLITE_READER_;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;__WORDSIZE=32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
......@@ -183,6 +338,15 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/bigobj"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\ASCOfficeDocxFile2\DocWrapper\XlsxSerializer.h"
......@@ -206,6 +370,15 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/bigobj"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\XlsxSerializerCom\Common\Common.h"
......@@ -238,6 +411,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\XlsxSerializerCom\Reader\CSVReader.h"
......@@ -262,6 +443,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\XlsxSerializerCom\Reader\ChartFromToBinary.h"
......@@ -278,6 +467,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\ASCOfficeDocxFile2\DocWrapper\ChartWriter.h"
......@@ -294,6 +491,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\XlsxSerializerCom\Reader\CommonWriter.h"
......@@ -310,6 +515,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\XlsxSerializerCom\Writer\CSVWriter.h"
......@@ -331,6 +544,14 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\ASCOfficeDocxFile2\DocWrapper\FontProcessor.h"
......@@ -351,6 +572,15 @@
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/bigobj"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\ASCOfficeDocxFile2\DocWrapper\DocxSerializer.h"
......
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