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