Compare commits

..

11 Commits

52 changed files with 4981 additions and 578 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@ dictionaries/
LicenceManager/
Common/boost_1_58_0
Common/3dParty/boost/boost_1_58_0
Common/3dParty/boost/ios
Common/3dParty/boost/osx
Common/3dParty/icu/win_64
Common/3dParty/icu/win_32
Common/3dParty/icu/linux_64

View File

@ -58,6 +58,11 @@ namespace NSBinPptxRW
{
class CDrawingConverter;
}
namespace OOX
{
class CApp;
class CCore;
}
namespace Writers
{
@ -87,6 +92,8 @@ namespace Writers
std::wstring m_sThemePath;
int m_nDocPrIndex;
BinDocxRW::CComments* m_pComments;
OOX::CApp* m_pApp;
OOX::CCore* m_pCore;
FileWriter (std::wstring sDirOutput,std::wstring sFontDir, bool bNoFontDir, int nVersion, bool bSaveChartAsImg, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath)
: m_pDrawingConverter(pDrawingConverter), m_sThemePath(sThemePath), m_bSaveChartAsImg(bSaveChartAsImg),
@ -105,9 +112,16 @@ namespace Writers
m_oWebSettingsWriter (sDirOutput),
m_nDocPrIndex(0),
m_pComments(NULL),
m_oCustomXmlWriter (sDirOutput, pDrawingConverter)
m_oCustomXmlWriter (sDirOutput, pDrawingConverter),
m_pApp (NULL),
m_pCore (NULL)
{
}
~FileWriter()
{
RELEASEOBJECT(m_pApp);
RELEASEOBJECT(m_pCore);
}
int getNextDocPr()
{
m_nDocPrIndex++;

View File

@ -38,6 +38,9 @@
#include "../BinWriter/BinReaderWriterDefines.h"
#include "../../XlsxSerializerCom/Writer/BinaryReader.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/App.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/Core.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Docx.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Document.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FontTable.h"
@ -47,6 +50,8 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Footnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Endnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Settings/Settings.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
#include "../DocWrapper/XlsxSerializer.h"
@ -8798,6 +8803,26 @@ public:
//case c_oSerTableTypes::Document:
// res = Binary_DocumentTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_oDocumentWriter).Read();
// break;
case c_oSerTableTypes::App:
{
PPTX::App oApp(NULL);
oApp.fromPPTY(&m_oBufferedStream);
OOX::CApp* pApp = new OOX::CApp(NULL);
pApp->FromPptxApp(&oApp);
pApp->SetRequiredDefaults();
m_oFileWriter.m_pApp = pApp;
}
break;
case c_oSerTableTypes::Core:
{
PPTX::Core oCore(NULL);
oCore.fromPPTY(&m_oBufferedStream);
OOX::CCore* pCore = new OOX::CCore(NULL);
pCore->FromPptxCore(&oCore);
pCore->SetRequiredDefaults();
m_oFileWriter.m_pCore = pCore;
}
break;
case c_oSerTableTypes::HdrFtr:
res = Binary_HdrFtrTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_pComments).Read();
break;

View File

@ -296,33 +296,28 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
OOX::CPath DocProps = std::wstring(_T("docProps"));
OOX::CApp* pApp = new OOX::CApp(NULL);
if (pApp)
if (NULL != m_pCurFileWriter->m_pApp)
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
delete pApp;
}
OOX::CCore* pCore = new OOX::CCore(NULL);
if (pCore)
m_pCurFileWriter->m_pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
else
{
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
delete pCore;
}
OOX::CApp pApp(NULL);
pApp.SetDefaults();
pApp.write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
if (NULL != m_pCurFileWriter->m_pCore)
{
m_pCurFileWriter->m_pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
else
{
OOX::CCore pCore(NULL);
pCore.SetDefaults();
pCore.write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
/////////////////////////////////////////////////////////////////////////////////////
m_pCurFileWriter->Write();
pContentTypes->Write(sDstPath);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFile.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -0,0 +1,841 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4622048F9E004BDAC2 /* utils.cpp */; };
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */; };
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */; };
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */; };
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */; };
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */; };
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */; };
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */; };
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */; };
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */; };
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5C22048F9E004BDAC2 /* logging.cpp */; };
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6122048F9E004BDAC2 /* table.cpp */; };
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */; };
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */; };
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6522048F9E004BDAC2 /* style_map.cpp */; };
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */; };
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */; };
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */; };
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */; };
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7022048F9E004BDAC2 /* office_document.cpp */; };
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */; };
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */; };
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */; };
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */; };
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */; };
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */; };
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */; };
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */; };
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */; };
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9722048F9F004BDAC2 /* office_text.cpp */; };
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */; };
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */; };
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */; };
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */; };
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */; };
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */; };
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */; };
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */; };
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */; };
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */; };
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */; };
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */; };
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */; };
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */; };
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */; };
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB222048F9F004BDAC2 /* list.cpp */; };
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */; };
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */; };
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB622048F9F004BDAC2 /* styles.cpp */; };
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */; };
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */; };
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */; };
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */; };
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */; };
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */; };
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC722048F9F004BDAC2 /* object_package.cpp */; };
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */; };
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACA22048F9F004BDAC2 /* office_body.cpp */; };
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */; };
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */; };
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */; };
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */; };
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */; };
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */; };
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */; };
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */; };
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */; };
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */; };
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE422048F9F004BDAC2 /* Converter.cpp */; };
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */; };
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */; };
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */; };
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */; };
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */; };
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
8AF8AA3622048F12004BDAC2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
8AC4E6EC220587220044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex.hpp; sourceTree = "<group>"; };
8AC4E6ED220587530044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex/v4/regex.hpp; sourceTree = "<group>"; };
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libASCOfficeOdfFileW.a; sourceTree = BUILT_PRODUCTS_DIR; };
8AF8AA4522048F9E004BDAC2 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
8AF8AA4622048F9E004BDAC2 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_elements.cpp; sourceTree = "<group>"; };
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_annotation.cpp; sourceTree = "<group>"; };
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_frame.h; sourceTree = "<group>"; };
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_lite_container.h; sourceTree = "<group>"; };
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_conversion_context.h; sourceTree = "<group>"; };
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_scripts.h; sourceTree = "<group>"; };
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_page.h; sourceTree = "<group>"; };
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anim_elements.h; sourceTree = "<group>"; };
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_table_properties.cpp; sourceTree = "<group>"; };
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svg_creator.cpp; sourceTree = "<group>"; };
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_page_layout_properties.h; sourceTree = "<group>"; };
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_state.cpp; sourceTree = "<group>"; };
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_context.h; sourceTree = "<group>"; };
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_chart_properties.cpp; sourceTree = "<group>"; };
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oox_shape_defines.cpp; sourceTree = "<group>"; };
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shape_defines.h; sourceTree = "<group>"; };
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_chart_context.cpp; sourceTree = "<group>"; };
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_section_properties.h; sourceTree = "<group>"; };
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_text_properties.cpp; sourceTree = "<group>"; };
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_context.h; sourceTree = "<group>"; };
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = "<group>"; };
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = calcext_elements.h; sourceTree = "<group>"; };
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_type.h; sourceTree = "<group>"; };
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_state.h; sourceTree = "<group>"; };
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_rels.h; sourceTree = "<group>"; };
8AF8AA6122048F9E004BDAC2 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_chart.cpp; sourceTree = "<group>"; };
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_context.cpp; sourceTree = "<group>"; };
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_slide_context.h; sourceTree = "<group>"; };
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_map.cpp; sourceTree = "<group>"; };
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_paragraph_properties.h; sourceTree = "<group>"; };
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_database_ranges.h; sourceTree = "<group>"; };
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_scripts.cpp; sourceTree = "<group>"; };
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_list.cpp; sourceTree = "<group>"; };
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_text_context.h; sourceTree = "<group>"; };
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_notes_context.h; sourceTree = "<group>"; };
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_lite_container.cpp; sourceTree = "<group>"; };
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_annotation.h; sourceTree = "<group>"; };
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_paragraph_properties.cpp; sourceTree = "<group>"; };
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_chart.h; sourceTree = "<group>"; };
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_document.cpp; sourceTree = "<group>"; };
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = anim_elements.cpp; sourceTree = "<group>"; };
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_event_listeners.h; sourceTree = "<group>"; };
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_table_properties.h; sourceTree = "<group>"; };
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_rels.cpp; sourceTree = "<group>"; };
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_section_properties.cpp; sourceTree = "<group>"; };
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_elements_create.cpp; sourceTree = "<group>"; };
8AF8AA7722048F9E004BDAC2 /* office_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements.h; sourceTree = "<group>"; };
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AA7922048F9E004BDAC2 /* office_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_settings.h; sourceTree = "<group>"; };
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapePrimitives.h; sourceTree = "<group>"; };
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeBents.h; sourceTree = "<group>"; };
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeConnectors.h; sourceTree = "<group>"; };
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCallouts.h; sourceTree = "<group>"; };
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCharts.h; sourceTree = "<group>"; };
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeArrows.h; sourceTree = "<group>"; };
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeWordArt.h; sourceTree = "<group>"; };
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedArrows.h; sourceTree = "<group>"; };
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeStars.h; sourceTree = "<group>"; };
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeActionButtons.h; sourceTree = "<group>"; };
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCustoms.h; sourceTree = "<group>"; };
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeSnipRoundRects.h; sourceTree = "<group>"; };
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_shape_mapping.h; sourceTree = "<group>"; };
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedConnectors.h; sourceTree = "<group>"; };
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeMaths.h; sourceTree = "<group>"; };
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeRibbons.h; sourceTree = "<group>"; };
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeAccentCallouts.h; sourceTree = "<group>"; };
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems.h; sourceTree = "<group>"; };
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_presentation.h; sourceTree = "<group>"; };
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_graphic_properties.h; sourceTree = "<group>"; };
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_text_context.cpp; sourceTree = "<group>"; };
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_shapes.h; sourceTree = "<group>"; };
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems.cpp; sourceTree = "<group>"; };
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_conversion_context.h; sourceTree = "<group>"; };
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_settings.cpp; sourceTree = "<group>"; };
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_presentation.cpp; sourceTree = "<group>"; };
8AF8AA9522048F9F004BDAC2 /* visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = visitor.h; sourceTree = "<group>"; };
8AF8AA9622048F9F004BDAC2 /* styles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles.h; sourceTree = "<group>"; };
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_text.cpp; sourceTree = "<group>"; };
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_comment_context.h; sourceTree = "<group>"; };
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_state.h; sourceTree = "<group>"; };
8AF8AA9A22048F9F004BDAC2 /* style_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_map.h; sourceTree = "<group>"; };
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_page_state.cpp; sourceTree = "<group>"; };
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_context.cpp; sourceTree = "<group>"; };
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems_utils.h; sourceTree = "<group>"; };
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_chart_context.h; sourceTree = "<group>"; };
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = calcext_elements.cpp; sourceTree = "<group>"; };
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_context.h; sourceTree = "<group>"; };
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_state.cpp; sourceTree = "<group>"; };
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_settings_context.cpp; sourceTree = "<group>"; };
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_page_layout_properties.cpp; sourceTree = "<group>"; };
8AF8AAA422048F9F004BDAC2 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_context.cpp; sourceTree = "<group>"; };
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abstract_xml.cpp; sourceTree = "<group>"; };
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_named_expressions.cpp; sourceTree = "<group>"; };
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_notes_context.cpp; sourceTree = "<group>"; };
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_chart_properties.h; sourceTree = "<group>"; };
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_list.h; sourceTree = "<group>"; };
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_page.cpp; sourceTree = "<group>"; };
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = number_style.cpp; sourceTree = "<group>"; };
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_create.h; sourceTree = "<group>"; };
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_drawing_context.cpp; sourceTree = "<group>"; };
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = abstract_xml.h; sourceTree = "<group>"; };
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_comment_context.cpp; sourceTree = "<group>"; };
8AF8AAB222048F9F004BDAC2 /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_context.cpp; sourceTree = "<group>"; };
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odt_conversion_context.h; sourceTree = "<group>"; };
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAB622048F9F004BDAC2 /* styles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles.cpp; sourceTree = "<group>"; };
8AF8AAB722048F9F004BDAC2 /* office_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_body.h; sourceTree = "<group>"; };
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_presentation.cpp; sourceTree = "<group>"; };
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_styles_context.cpp; sourceTree = "<group>"; };
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odt_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_spreadsheet.h; sourceTree = "<group>"; };
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_slide_context.cpp; sourceTree = "<group>"; };
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = paragraph_elements.cpp; sourceTree = "<group>"; };
8AF8AABE22048F9F004BDAC2 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_frame.cpp; sourceTree = "<group>"; };
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_text_properties.h; sourceTree = "<group>"; };
8AF8AAC122048F9F004BDAC2 /* header_footer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = header_footer.h; sourceTree = "<group>"; };
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = paragraph_elements.h; sourceTree = "<group>"; };
8AF8AAC322048F9F004BDAC2 /* text_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_elements.h; sourceTree = "<group>"; };
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_state.h; sourceTree = "<group>"; };
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_number_styles_context.h; sourceTree = "<group>"; };
8AF8AAC622048F9F004BDAC2 /* office_text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_text.h; sourceTree = "<group>"; };
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = object_package.cpp; sourceTree = "<group>"; };
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_number_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAC922048F9F004BDAC2 /* number_style.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = number_style.h; sourceTree = "<group>"; };
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_body.cpp; sourceTree = "<group>"; };
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_named_expressions.h; sourceTree = "<group>"; };
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_drawing_context.h; sourceTree = "<group>"; };
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = header_footer.cpp; sourceTree = "<group>"; };
8AF8AACE22048F9F004BDAC2 /* object_package.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = object_package.h; sourceTree = "<group>"; };
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svg_creator.h; sourceTree = "<group>"; };
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_event_listeners.cpp; sourceTree = "<group>"; };
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_shapes.cpp; sourceTree = "<group>"; };
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_lists_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_graphic_properties.cpp; sourceTree = "<group>"; };
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_settings_context.h; sourceTree = "<group>"; };
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_page_state.h; sourceTree = "<group>"; };
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_spreadsheet.cpp; sourceTree = "<group>"; };
8AF8AAD722048F9F004BDAC2 /* office_document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_document.h; sourceTree = "<group>"; };
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_lists_styles_context.h; sourceTree = "<group>"; };
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems_utils.cpp; sourceTree = "<group>"; };
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_base.cpp; sourceTree = "<group>"; };
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_styles_context.h; sourceTree = "<group>"; };
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_conversion_context.h; sourceTree = "<group>"; };
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_database_ranges.cpp; sourceTree = "<group>"; };
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_presentation.h; sourceTree = "<group>"; };
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_context.h; sourceTree = "<group>"; };
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_state.cpp; sourceTree = "<group>"; };
8AF8AAE122048F9F004BDAC2 /* draw_base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_base.h; sourceTree = "<group>"; };
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocxConverter.h; sourceTree = "<group>"; };
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = "<group>"; };
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConverterChart.cpp; sourceTree = "<group>"; };
8AF8AAE622048F9F004BDAC2 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = "<group>"; };
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XlsxConverter.cpp; sourceTree = "<group>"; };
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PptxConverter.h; sourceTree = "<group>"; };
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PptxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VmlShapeTypes2Oox.h; sourceTree = "<group>"; };
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertVml.cpp; sourceTree = "<group>"; };
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Oox2OdfConverter.h; sourceTree = "<group>"; };
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertDrawing.cpp; sourceTree = "<group>"; };
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XlsxConverter.h; sourceTree = "<group>"; };
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = progressCallback.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8AF8AA3522048F12004BDAC2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
8AF8AA2F22048F12004BDAC2 = {
isa = PBXGroup;
children = (
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */,
8AF8AA3922048F12004BDAC2 /* Products */,
);
sourceTree = "<group>";
};
8AF8AA3922048F12004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */,
);
name = Products;
sourceTree = "<group>";
};
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXGroup;
children = (
8AC4E6EC220587220044119A /* regex.hpp */,
8AC4E6ED220587530044119A /* regex.hpp */,
8AF8AA4422048F9E004BDAC2 /* source */,
);
path = ASCOfficeOdfFileW;
sourceTree = "<group>";
};
8AF8AA4422048F9E004BDAC2 /* source */ = {
isa = PBXGroup;
children = (
8AF8AA4522048F9E004BDAC2 /* utils.h */,
8AF8AA4622048F9E004BDAC2 /* utils.cpp */,
8AF8AA4722048F9E004BDAC2 /* OdfFormat */,
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */,
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */,
);
name = source;
path = ../../../source;
sourceTree = "<group>";
};
8AF8AA4722048F9E004BDAC2 /* OdfFormat */ = {
isa = PBXGroup;
children = (
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */,
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */,
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */,
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */,
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */,
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */,
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */,
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */,
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */,
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */,
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */,
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */,
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */,
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */,
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */,
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */,
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */,
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */,
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */,
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */,
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */,
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */,
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */,
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */,
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */,
8AF8AA6122048F9E004BDAC2 /* table.cpp */,
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */,
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */,
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */,
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */,
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */,
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */,
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */,
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */,
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */,
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */,
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */,
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */,
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */,
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */,
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */,
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */,
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */,
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */,
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */,
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */,
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */,
8AF8AA7722048F9E004BDAC2 /* office_elements.h */,
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */,
8AF8AA7922048F9E004BDAC2 /* office_settings.h */,
8AF8AA7A22048F9E004BDAC2 /* Shapes */,
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */,
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */,
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */,
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */,
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */,
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */,
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */,
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */,
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */,
8AF8AA9522048F9F004BDAC2 /* visitor.h */,
8AF8AA9622048F9F004BDAC2 /* styles.h */,
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */,
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */,
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */,
8AF8AA9A22048F9F004BDAC2 /* style_map.h */,
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */,
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */,
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */,
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */,
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */,
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */,
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */,
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */,
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */,
8AF8AAA422048F9F004BDAC2 /* list.h */,
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */,
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */,
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */,
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */,
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */,
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */,
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */,
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */,
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */,
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */,
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */,
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */,
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */,
8AF8AAB222048F9F004BDAC2 /* list.cpp */,
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */,
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */,
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */,
8AF8AAB622048F9F004BDAC2 /* styles.cpp */,
8AF8AAB722048F9F004BDAC2 /* office_body.h */,
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */,
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */,
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */,
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */,
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */,
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */,
8AF8AABE22048F9F004BDAC2 /* table.h */,
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */,
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */,
8AF8AAC122048F9F004BDAC2 /* header_footer.h */,
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */,
8AF8AAC322048F9F004BDAC2 /* text_elements.h */,
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */,
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */,
8AF8AAC622048F9F004BDAC2 /* office_text.h */,
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */,
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */,
8AF8AAC922048F9F004BDAC2 /* number_style.h */,
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */,
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */,
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */,
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */,
8AF8AACE22048F9F004BDAC2 /* object_package.h */,
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */,
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */,
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */,
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */,
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */,
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */,
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */,
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */,
8AF8AAD722048F9F004BDAC2 /* office_document.h */,
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */,
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */,
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */,
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */,
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */,
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */,
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */,
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */,
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */,
8AF8AAE122048F9F004BDAC2 /* draw_base.h */,
);
path = OdfFormat;
sourceTree = "<group>";
};
8AF8AA7A22048F9E004BDAC2 /* Shapes */ = {
isa = PBXGroup;
children = (
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */,
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */,
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */,
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */,
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */,
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */,
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */,
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */,
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */,
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */,
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */,
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */,
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */,
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */,
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */,
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */,
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */,
);
path = Shapes;
sourceTree = "<group>";
};
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */ = {
isa = PBXGroup;
children = (
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */,
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */,
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */,
8AF8AAE622048F9F004BDAC2 /* Converter.h */,
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */,
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */,
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */,
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */,
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */,
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */,
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */,
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */,
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */,
);
path = Oox2OdfConverter;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */;
buildPhases = (
8AF8AA3422048F12004BDAC2 /* Sources */,
8AF8AA3522048F12004BDAC2 /* Frameworks */,
8AF8AA3622048F12004BDAC2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = ASCOfficeOdfFileW;
productName = ASCOfficeOdfFileW;
productReference = 8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
8AF8AA3022048F12004BDAC2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1010;
ORGANIZATIONNAME = "Alexey Musinov";
TargetAttributes = {
8AF8AA3722048F12004BDAC2 = {
CreatedOnToolsVersion = 10.1;
};
};
};
buildConfigurationList = 8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 8AF8AA2F22048F12004BDAC2;
productRefGroup = 8AF8AA3922048F12004BDAC2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
8AF8AA3422048F12004BDAC2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */,
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */,
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */,
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */,
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */,
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */,
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */,
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */,
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */,
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */,
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */,
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */,
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */,
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */,
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */,
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */,
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */,
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */,
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */,
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */,
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */,
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */,
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */,
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */,
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */,
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */,
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */,
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */,
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */,
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */,
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */,
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */,
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */,
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */,
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */,
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */,
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */,
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */,
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */,
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */,
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */,
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */,
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */,
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */,
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */,
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */,
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */,
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */,
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */,
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */,
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */,
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */,
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */,
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */,
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */,
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */,
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */,
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */,
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */,
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */,
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */,
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */,
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */,
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */,
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */,
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */,
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */,
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */,
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */,
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */,
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */,
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */,
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */,
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */,
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
8AF8AA3F22048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
8AF8AA4022048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
8AF8AA4222048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
8AF8AA4322048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA3F22048F12004BDAC2 /* Debug */,
8AF8AA4022048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA4222048F12004BDAC2 /* Debug */,
8AF8AA4322048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8AF8AA3022048F12004BDAC2 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFileW.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -660,24 +660,28 @@ namespace NSBinPptxRW
m_oReader.m_pRels->SaveRels(pathFileRels.GetPath());
}
}
// app
CreateDefaultApp();
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::App);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oApp.fromPPTY(&m_oReader);
SetRequiredDefaultsApp();
}
// core
CreateDefaultCore();
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::Core);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oCore.fromPPTY(&m_oReader);
SetRequiredDefaultsCore();
}
if (false)
{
// app
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::App);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oApp.fromPPTY(&m_oReader);
}
// core
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::Core);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oCore.fromPPTY(&m_oReader);
}
// tableStyles
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::TableStyles);
if (m_mainTables.end() != pPair)
@ -706,9 +710,6 @@ namespace NSBinPptxRW
else
{
// create default
CreateDefaultApp();
CreateDefaultCore();
CreateDefaultViewProps();
// presProps
@ -1028,18 +1029,24 @@ namespace NSBinPptxRW
m_oReader.Seek(_end_rec);
}
void CreateDefaultApp()
void SetRequiredDefaultsApp()
{
m_oApp.TotalTime = 0;
m_oApp.Words = 0;
m_oApp.AppVersion.reset(NULL);
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
#if defined(INTVER)
std::string s = VALUE2STR(INTVER);
sApplication += L"/" + std::wstring(s.begin(), s.end());
std::string s = VALUE2STR(INTVER);
sApplication += L"/" + std::wstring(s.begin(), s.end());
#endif
m_oApp.Application = sApplication;
}
void CreateDefaultApp()
{
m_oApp.TotalTime = 0;
m_oApp.Words = 0;
SetRequiredDefaultsApp();
m_oApp.PresentationFormat = L"On-screen Show (4:3)";
m_oApp.Paragraphs = 0;
m_oApp.Slides = (int)m_arSlides.size();
@ -1082,9 +1089,30 @@ namespace NSBinPptxRW
m_oApp.SharedDoc = false;
m_oApp.HyperlinksChanged = false;
}
void SetRequiredDefaultsCore()
{
if (!m_oCore.creator.IsInit())
{
std::wstring sCreator = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreator);
if (!sCreator.empty())
m_oCore.creator = sCreator;
}
if (!m_oCore.created.IsInit())
{
std::wstring sCreated = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreated);
if (!sCreated.empty())
m_oCore.created = sCreated;
}
std::wstring sLastModifiedBy = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvLastModifiedBy);
if (!sLastModifiedBy.empty())
m_oCore.lastModifiedBy = sLastModifiedBy;
std::wstring sModified = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvModified);
if (!sModified.empty())
m_oCore.modified = sModified;
}
void CreateDefaultCore()
{
m_oCore.creator = _T("");
// m_oCore.creator = _T("");
m_oCore.lastModifiedBy = _T("");
}
void CreateDefaultViewProps()

View File

@ -531,6 +531,12 @@ namespace NSBinPptxRW
WriteString(val);
WriteNodeEnd(strNodeName);
}
AVSINLINE void WriteNodeValue2(const std::wstring& strNodeName, const std::wstring& val)
{
WriteNodeBegin(strNodeName);
WriteStringXML(val);
WriteNodeEnd(strNodeName);
}
AVSINLINE void WriteNodeValue(const std::wstring& strNodeName, const bool& val)
{
WriteNodeBegin(strNodeName);
@ -663,6 +669,11 @@ namespace NSBinPptxRW
if (value.IsInit())
WriteNodeValue(strName, *value);
}
AVSINLINE void WriteNodeValue2(const std::wstring& strName, const nullable_string& value)
{
if (value.IsInit())
WriteNodeValue2(strName, *value);
}
AVSINLINE void WriteNodeValue(const std::wstring& strName, const nullable_bool& value)
{
if (value.IsInit())

View File

@ -65,8 +65,12 @@ namespace PPTX
XmlMacroReadNodeValueBase(oNode, L"Template", Template);
XmlMacroReadNodeValueBase(oNode, L"TotalTime", TotalTime);
XmlMacroReadNodeValueBase(oNode, L"Pages", Pages);
XmlMacroReadNodeValueBase(oNode, L"Words", Words);
XmlMacroReadNodeValueBase(oNode, L"Characters", Characters);
XmlMacroReadNodeValueBase(oNode, L"Application", Application);
XmlMacroReadNodeValueBase(oNode, L"DocSecurity", DocSecurity);
XmlMacroReadNodeValueBase(oNode, L"Lines", Lines);
XmlMacroReadNodeValueBase(oNode, L"PresentationFormat", PresentationFormat);
XmlMacroReadNodeValueBase(oNode, L"Paragraphs", Paragraphs);
XmlMacroReadNodeValueBase(oNode, L"Slides", Slides);
@ -91,21 +95,16 @@ namespace PPTX
XmlMacroLoadArray(oNodeVector2, _T("vt:variant"), TitlesOfParts, Logic::PartTitle);
}
XmlMacroReadNodeValueBase(oNode, L"Manager", Manager);
XmlMacroReadNodeValueBase(oNode, L"Company", Company);
XmlMacroReadNodeValueBase(oNode, L"LinksUpToDate", LinksUpToDate);
XmlMacroReadNodeValueBase(oNode, L"CharactersWithSpaces", CharactersWithSpaces);
XmlMacroReadNodeValueBase(oNode, L"SharedDoc", SharedDoc);
XmlMacroReadNodeValueBase(oNode, L"HyperlinkBase", HyperlinkBase);
XmlMacroReadNodeValueBase(oNode, L"HyperlinksChanged", HyperlinksChanged);
XmlMacroReadNodeValueBase(oNode, L"AppVersion", AppVersion);
//Characters = document.Root.element("Characters").text();
//CharactersWithSpaces = document.Root.element("CharactersWithSpaces").text();
//DigSig (Digital Signature)
//DocSecurity = document.Root.element("DocSecurity").text();
//HLinks
//HyperlinkBase = document.Root.element("HyperlinkBase").text();
//Lines = document.Root.element("Lines").text();
//Manager = document.Root.element("Manager").text();
//Pages = document.Root.element("Pages").text();
Normalize();
}
@ -153,7 +152,99 @@ namespace PPTX
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
//start new record because new attributes is incompatible with previous versions
pWriter->StartRecord(0);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(16, Characters);
pWriter->WriteInt2(17, CharactersWithSpaces);
pWriter->WriteInt2(18, DocSecurity);
pWriter->WriteString2(19, HyperlinkBase);
pWriter->WriteInt2(20, Lines);
pWriter->WriteString2(21, Manager);
pWriter->WriteInt2(22, Pages);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
pWriter->EndRecord();
}
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
pReader->Skip(1); // type
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 0: Template = pReader->GetString2(); break;
case 1: Application = pReader->GetString2(); break;
case 2: PresentationFormat = pReader->GetString2(); break;
case 3: Company = pReader->GetString2(); break;
case 4: AppVersion = pReader->GetString2(); break;
case 5: TotalTime = pReader->GetULong(); break;
case 6: Words = pReader->GetULong(); break;
case 7: Paragraphs = pReader->GetULong(); break;
case 8: Slides = pReader->GetULong(); break;
case 9: Notes = pReader->GetULong(); break;
case 10: HiddenSlides = pReader->GetULong(); break;
case 11: MMClips = pReader->GetULong(); break;
case 12: ScaleCrop = pReader->GetBool(); break;
case 13: LinksUpToDate = pReader->GetBool(); break;
case 14: SharedDoc = pReader->GetBool(); break;
case 15: HyperlinksChanged = pReader->GetBool(); break;
default: break;
}
}
while (pReader->GetPos() < _end_rec)
{
BYTE _at = pReader->GetUChar();
switch (_at)
{
case 0:
{
LONG _end_rec2 = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 16: Characters = pReader->GetULong(); break;
case 17: CharactersWithSpaces = pReader->GetULong(); break;
case 18: DocSecurity = pReader->GetULong(); break;
case 19: HyperlinkBase = pReader->GetString2(); break;
case 20: Lines = pReader->GetULong(); break;
case 21: Manager = pReader->GetString2(); break;
case 22: Pages = pReader->GetULong(); break;
default: break;
}
}
pReader->Seek(_end_rec2);
}
break;
default:
{
pReader->SkipRecord();
break;
}
}
}
pReader->Seek(_end_rec);
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
@ -166,11 +257,16 @@ namespace PPTX
pWriter->EndAttributes();
pWriter->WriteNodeValue(_T("Template"), Template);
pWriter->WriteNodeValue2(_T("Template"), Template);
pWriter->WriteNodeValue(_T("TotalTime"), TotalTime);
pWriter->WriteNodeValue(_T("Pages"), Pages);
pWriter->WriteNodeValue(_T("Words"), Words);
pWriter->WriteNodeValue(_T("Application"), Application);
pWriter->WriteNodeValue(_T("PresentationFormat"), PresentationFormat);
pWriter->WriteNodeValue(_T("Characters"), Characters);
pWriter->WriteNodeValue(_T("CharactersWithSpaces"), CharactersWithSpaces);
pWriter->WriteNodeValue2(_T("Application"), Application);
pWriter->WriteNodeValue(_T("DocSecurity"), DocSecurity);
pWriter->WriteNodeValue2(_T("PresentationFormat"), PresentationFormat);
pWriter->WriteNodeValue(_T("Lines"), Lines);
pWriter->WriteNodeValue(_T("Paragraphs"), Paragraphs);
pWriter->WriteNodeValue(_T("Slides"), Slides);
pWriter->WriteNodeValue(_T("Notes"), Notes);
@ -206,11 +302,13 @@ namespace PPTX
pWriter->EndNode(_T("vt:vector"));
pWriter->EndNode(_T("TitlesOfParts"));
pWriter->WriteNodeValue(_T("Company"), Company);
pWriter->WriteNodeValue2(_T("Manager"), Manager);
pWriter->WriteNodeValue2(_T("Company"), Company);
pWriter->WriteNodeValue(_T("LinksUpToDate"), LinksUpToDate);
pWriter->WriteNodeValue(_T("SharedDoc"), SharedDoc);
pWriter->WriteNodeValue2(_T("HyperlinkBase"), HyperlinkBase);
pWriter->WriteNodeValue(_T("HyperlinksChanged"), HyperlinksChanged);
pWriter->WriteNodeValue(_T("AppVersion"), AppVersion);
pWriter->WriteNodeValue2(_T("AppVersion"), AppVersion);
pWriter->EndNode(_T("Properties"));
}
@ -235,15 +333,16 @@ namespace PPTX
nullable_bool HyperlinksChanged; // (Hyperlinks Changed)
nullable_string AppVersion; // (Application Version)
//nullable_property<int, setter::only_positive<int> > Characters; // (Total Number of Characters)
//nullable_property<int, setter::only_positive<int> > CharactersWithSpaces; // (Number of Characters (With Spaces))
nullable_int Characters; // (Total Number of Characters)
nullable_int CharactersWithSpaces; // (Number of Characters (With Spaces))
nullable_int DocSecurity; // (Document Security)
nullable_string HyperlinkBase; // (Relative Hyperlink Base)
nullable_int Lines; // (Number of Lines)
nullable_string Manager; // (Name of Manager)
nullable_int Pages; // (Total Number of Pages)
//DigSig (Digital Signature)
//nullable_property<int, setter::only_positive<int> > DocSecurity; // (Document Security)
//std::list<std::string> - ??? HLinks; // (Hyperlink List)
//nullable_property<std::string> HyperlinkBase; // (Relative Hyperlink Base)
//nullable_property<int, setter::only_positive<int> > Lines; // (Number of Lines)
//nullable_property<std::string> Manager; // (Name of Manager)
//nullable_property<int, setter::only_positive<int> > Pages; // (Total Number of Pages)
private:
nullable_int m_VectorSize;
nullable_int m_Headings;
@ -259,6 +358,11 @@ namespace PPTX
MMClips.normalize_positive();
m_VectorSize.normalize_positive();
m_Headings.normalize_positive();
Characters.normalize_positive();
CharactersWithSpaces.normalize_positive();
DocSecurity.normalize_positive();
Lines.normalize_positive();
Pages.normalize_positive();
}
};
} // namespace PPTX

View File

@ -61,26 +61,25 @@ namespace PPTX
XmlUtils::CXmlNode oNode;
oNode.FromXmlFile(filename.m_strFilename);
XmlMacroReadNodeValueBase(oNode, _T("dc:title"), title);
XmlMacroReadNodeValueBase(oNode, _T("dc:creator"), creator);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastModifiedBy"), lastModifiedBy);
XmlMacroReadNodeValueBase(oNode, _T("cp:revision"), revision);
XmlMacroReadNodeValueBase(oNode, _T("dcterms:modified"), modified);
XmlMacroReadNodeValueBase(oNode, _T("cp:category"), category);
XmlMacroReadNodeValueBase(oNode, _T("cp:contentStatus"), contentStatus);
XmlMacroReadNodeValueBase(oNode, _T("dcterms:created"), created);
// created = PPTX::DateTime::Parse(document.Root.element("created").text().ToString());
// modified = PPTX::DateTime::Parse(document.Root.element("modified").text().ToString());
/*
category = document.Root.element("category").text();
contentStatus = document.Root.element("contentStatus").text();
description = document.Root.element("description").text();
//identifier - ???
// keywords = document.Root.element("keywords").text();
language = document.Root.element("language").text();
// lastPrinted = PPTX::DateTime::Parse(document.Root.element("lastPrinted").text().ToString());
subject = document.Root.element("subject").text();
version = document.Root.element("version").text();
*/
//created = PPTX::DateTime::Parse(document.Root.element("created").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("dc:creator"), creator);
XmlMacroReadNodeValueBase(oNode, _T("dc:description"), description);
XmlMacroReadNodeValueBase(oNode, _T("dc:identifier"), identifier);
//todo keywords is complex by spec there is no real example
XmlMacroReadNodeValueBase(oNode, _T("cp:keywords"), keywords);
XmlMacroReadNodeValueBase(oNode, _T("dc:language"), language);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastModifiedBy"), lastModifiedBy);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastPrinted"), lastPrinted);
//lastPrinted = PPTX::DateTime::Parse(document.Root.element("lastPrinted").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("dcterms:modified"), modified);
//modified = PPTX::DateTime::Parse(document.Root.element("modified").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("cp:revision"), revision);
XmlMacroReadNodeValueBase(oNode, _T("dc:subject"), subject);
XmlMacroReadNodeValueBase(oNode, _T("dc:title"), title);
XmlMacroReadNodeValueBase(oNode, _T("cp:version"), title);
}
virtual void write(const OOX::CPath& filename, const OOX::CPath& directory, OOX::CContentTypes& content)const
{
@ -116,7 +115,92 @@ namespace PPTX
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
//start new record because new attributes is incompatible with previous versions
pWriter->StartRecord(0);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteString2(6, category);
pWriter->WriteString2(7, contentStatus);
pWriter->WriteString2(8, description);
pWriter->WriteString2(9, identifier);
pWriter->WriteString2(10, keywords);
pWriter->WriteString2(11, language);
pWriter->WriteString2(12, lastPrinted);
pWriter->WriteString2(13, subject);
pWriter->WriteString2(14, version);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
pWriter->EndRecord();
}
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
pReader->Skip(1); // type
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 0: title = pReader->GetString2(); break;
case 1: creator = pReader->GetString2(); break;
case 2: lastModifiedBy = pReader->GetString2(); break;
case 3: revision = pReader->GetString2(); break;
case 4: created = pReader->GetString2(); break;
case 5: modified = pReader->GetString2(); break;
default: break;
}
}
while (pReader->GetPos() < _end_rec)
{
BYTE _at = pReader->GetUChar();
switch (_at)
{
case 0:
{
LONG _end_rec2 = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 6: category = pReader->GetString2(); break;
case 7: contentStatus = pReader->GetString2(); break;
case 8: description = pReader->GetString2(); break;
case 9: identifier = pReader->GetString2(); break;
case 10: keywords = pReader->GetString2(); break;
case 11: language = pReader->GetString2(); break;
case 12: lastPrinted = pReader->GetString2(); break;
case 13: subject = pReader->GetString2(); break;
case 14: version = pReader->GetString2(); break;
}
}
pReader->Seek(_end_rec2);
}
break;
default:
{
pReader->SkipRecord();
break;
}
}
}
pReader->Seek(_end_rec);
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
@ -131,37 +215,54 @@ namespace PPTX
pWriter->EndAttributes();
pWriter->WriteNodeValue(_T("dc:title"), title);
pWriter->WriteNodeValue(_T("dc:creator"), creator);
pWriter->WriteNodeValue(_T("cp:lastModifiedBy"), lastModifiedBy);
pWriter->WriteNodeValue(_T("cp:revision"), revision);
pWriter->WriteNodeValue2(_T("dc:title"), title);
pWriter->WriteNodeValue2(_T("dc:subject"), title);
pWriter->WriteNodeValue2(_T("dc:creator"), creator);
pWriter->WriteNodeValue2(_T("cp:keywords"), keywords);
pWriter->WriteNodeValue2(_T("dc:description"), description);
pWriter->WriteNodeValue2(_T("dc:identifier"), identifier);
pWriter->WriteNodeValue2(_T("dc:language"), language);
pWriter->WriteNodeValue2(_T("cp:lastModifiedBy"), lastModifiedBy);
pWriter->WriteNodeValue2(_T("cp:revision"), revision);
pWriter->WriteNodeValue2(_T("cp:lastPrinted"), lastPrinted);
if (created.IsInit())
{
pWriter->WriteNodeBegin(_T("dcterms:created xsi:type=\"dcterms:W3CDTF\""));
pWriter->WriteStringXML(*created);
pWriter->WriteNodeEnd(_T("dcterms:created"));
}
if (modified.IsInit())
{
pWriter->WriteNodeBegin(_T("dcterms:modified xsi:type=\"dcterms:W3CDTF\""));
pWriter->WriteStringXML(*modified);
pWriter->WriteNodeEnd(_T("dcterms:modified"));
}
pWriter->WriteNodeValue2(_T("cp:category"), revision);
pWriter->WriteNodeValue2(_T("cp:contentStatus"), revision);
pWriter->WriteNodeValue2(_T("cp:version"), revision);
pWriter->WriteNodeValue(_T("dcterms:created xsi:type=\"dcterms:W3CDTF\""), created);
pWriter->WriteNodeValue(_T("dcterms:modified xsi:type=\"dcterms:W3CDTF\""), modified);
pWriter->EndNode(_T("cp:coreProperties"));
}
public:
nullable_string title;
nullable_string creator;
nullable_string lastModifiedBy;
nullable_string revision;
// nullable_property<PPTX::DateTime> created;
nullable_string category;
nullable_string contentStatus;
//nullable_property<std::string, Limit::ContentStatus> contentStatus;
nullable_string created;
// nullable_property<PPTX::DateTime> modified;
//nullable_property<PPTX::DateTime> created;
nullable_string creator;
nullable_string description;
nullable_string identifier;
nullable_string keywords;
nullable_string language;
nullable_string lastModifiedBy;
nullable_string lastPrinted;
nullable_string modified;
/*
nullable_property<std::string> category;
nullable_property<std::string, Limit::ContentStatus> contentStatus;
nullable_property<std::string> description;
//identifier - ???
// nullable_property<std::string> keywords;
nullable_property<std::string> language;
nullable_property<PPTX::DateTime> lastPrinted;
nullable_property<std::string> subject;
nullable_property<std::string> version;
*/
//nullable_property<PPTX::DateTime> modified;
nullable_string revision;
nullable_string subject;
nullable_string title;
nullable_string version;
};
} // namespace PPTX

View File

@ -101,7 +101,11 @@ namespace PPTX
XmlUtils::CNodeValue oValue;
oValue.Write(cNvPr);
oValue.Write(cNvCxnSpPr);
//oValue.Write(nvPr); //todooo ??? 3622708.xlsx
if (m_namespace != L"xdr" && m_namespace != L"cdr")
{
oValue.Write(nvPr);
}
return XmlUtils::CreateNode(m_namespace + L":nvCxnSpPr", oValue);
}
@ -120,7 +124,12 @@ namespace PPTX
cNvPr.toXmlWriter2(namespace_ , pWriter);
cNvCxnSpPr.toXmlWriter(pWriter);
//nvPr.toXmlWriter2(namespace_, pWriter); //todooo ??? 3622708.xlsx
if (pWriter->m_lDocType != XMLWRITER_DOC_TYPE_GRAPHICS &&
pWriter->m_lDocType != XMLWRITER_DOC_TYPE_CHART_DRAWING)
{
nvPr.toXmlWriter2(namespace_, pWriter);
}
pWriter->EndNode(namespace_ + L":nvCxnSpPr");
}

View File

@ -36,8 +36,6 @@
namespace XLS
{
// Logical representation of End record in BIFF8
class End: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(End)
@ -48,10 +46,9 @@ public:
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeEnd;
static const ElementType type = typeEnd;
};

View File

@ -39,12 +39,10 @@ Frame::Frame()
{
}
Frame::~Frame()
{
}
BaseObjectPtr Frame::clone()
{
return BaseObjectPtr(new Frame(*this));
@ -56,8 +54,8 @@ void Frame::readFields(CFRecord& record)
unsigned short flags;
record >> frt >> flags;
fAutoSize = GETBIT(flags, 0);
fAutoPosition = GETBIT(flags, 1);
fAutoSize = GETBIT(flags, 0);
fAutoPosition = GETBIT(flags, 1);
}
} // namespace XLS

View File

@ -36,8 +36,6 @@
namespace XLS
{
// Logical representation of Frame record in BIFF8
class Frame: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(Frame)
@ -47,11 +45,10 @@ public:
~Frame();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeFrame;
static const ElementType type = typeFrame;
//-----------------------------
_UINT16 frt;

View File

@ -34,6 +34,22 @@
namespace XLS
{
std::wstring default_marker_color[] =
{
L"000080", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"CCFFCC", L"FFFF99", L"99CCFF", L"FF99CC", L"CC99FF", L"FFCC99", L"3366FF", L"33CCCC", L"99CC00", L"FFCC00",
L"FF9900", L"FF6600", L"666699", L"969696", L"336600", L"339966", L"330000", L"333300", L"993300", L"993366",
L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000",
L"800000", L"800000", L"808000", L"800080", L"808000", L"C0C0C0", L"808080", L"9999FF", L"993366", L"FFFFCC",
L"CCFFFF", L"660066", L"FF8080", L"0066CC", L"CCCCFF",
//todoooo - подглядеть какие в мс далее
L"000080", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"CCFFCC", L"FFFF99", L"99CCFF", L"FF99CC", L"CC99FF", L"FFCC99", L"3366FF", L"33CCCC", L"99CC00", L"FFCC00",
L"FF9900", L"FF6600", L"666699", L"969696", L"336600", L"339966", L"330000", L"333300", L"993300", L"993366",
L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000",
L"800000", L"800000", L"808000", L"800080", L"808000", L"C0C0C0", L"808080", L"9999FF", L"993366", L"FFFFCC",
L"CCFFFF", L"660066", L"FF8080", L"0066CC", L"CCCCFF"
};
MarkerFormat::MarkerFormat()
{
@ -60,8 +76,11 @@ void MarkerFormat::readFields(CFRecord& record)
fNotShowInt = GETBIT(flags, 4);
fNotShowBrd = GETBIT(flags, 5);
}
int MarkerFormat::serialize(std::wostream & _stream)
{
return serialize(_stream, -1);
}
int MarkerFormat::serialize(std::wostream & _stream, int index)
{
CP_XML_WRITER(_stream)
{
@ -87,14 +106,17 @@ int MarkerFormat::serialize(std::wostream & _stream)
}
if (imk > 0)
{
CP_XML_NODE(L"c:size") { CP_XML_ATTR(L"val", miSize / 20); }
CP_XML_NODE(L"c:size")
{
CP_XML_ATTR(L"val", (false == fAuto) ? miSize / 20 : 5);
}
CP_XML_NODE(L"c:spPr")
{
CP_XML_NODE(L"a:solidFill")
{
CP_XML_NODE(L"a:srgbClr")
{
CP_XML_ATTR(L"val", rgbBack.strRGB);
CP_XML_ATTR(L"val", (false == fAuto || index < 0) ? rgbBack.strRGB : default_marker_color[index]);
}
}
CP_XML_NODE(L"a:ln")
@ -103,7 +125,7 @@ int MarkerFormat::serialize(std::wostream & _stream)
{
CP_XML_NODE(L"a:srgbClr")
{
CP_XML_ATTR(L"val", rgbFore.strRGB);
CP_XML_ATTR(L"val", (false == fAuto || index < 0) ? rgbFore.strRGB : default_marker_color[index]);
}
}
CP_XML_NODE(L"a:prstDash") { CP_XML_ATTR(L"val", L"solid"); }

View File

@ -37,8 +37,6 @@
namespace XLS
{
// Logical representation of MarkerFormat record in BIFF8
class MarkerFormat: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(MarkerFormat)
@ -48,10 +46,10 @@ public:
~MarkerFormat();
BaseObjectPtr clone();
void readFields(CFRecord& record);
int serialize(std::wostream & _stream, int index);
int serialize(std::wostream & _stream);
//-----------------------------
LongRGB rgbFore;

View File

@ -82,6 +82,12 @@ int Pos::serialize(std::wostream & _stream)
bAutoPosition = Frame_->fAutoPosition;
bAutoSize = Frame_->fAutoSize;
}
if (m_iLayoutTarget > 0) //cem31.xls
{
bAutoPosition = false;
bAutoSize = false;
}
double x = x1 / 4000.;
double y = y1 / 4000.;

View File

@ -289,7 +289,7 @@ int SERIESFORMAT::serialize_parent(std::wostream & _stream, CHARTFORMATS* chart_
{
if (series_ss)
{
series_ss->serialize(CP_XML_STREAM(), CHART_TYPE_Bar);
series_ss->serialize(CP_XML_STREAM(), CHART_TYPE_Bar, -1);
//тут не надо рисовать маркеры .. а вот fill можно - он просто отбрасывается - по "првильному" нужно выделить отдельный тип чисто линий
}
//CP_XML_NODE(L"c:spPr")
@ -305,11 +305,21 @@ int SERIESFORMAT::serialize_parent(std::wostream & _stream, CHARTFORMATS* chart_
case 2: CP_XML_ATTR (L"val", L"log"); break;
case 3: CP_XML_ATTR (L"val", L"power"); break;
case 4: CP_XML_ATTR (L"val", L"movingAvg"); break;
case 0: //CP_XML_ATTR (L"val", L"poly"); break;
default: CP_XML_ATTR (L"val", L"linear"); break;
case 0:
default:
{
if (trendline->ordUser >1) CP_XML_ATTR (L"val", L"poly");
else CP_XML_ATTR (L"val", L"linear");
}break;
}
}
if (trendline->ordUser >1)
{
CP_XML_NODE(L"c:order")
{
CP_XML_ATTR (L"val" , trendline->ordUser);
}
}
CP_XML_NODE(L"c:dispRSqr")
{
CP_XML_ATTR (L"val" , (bool)trendline->fRSquared);

View File

@ -31,23 +31,22 @@
*/
#include "SS.h"
#include <Logic/Biff_records/DataFormat.h>
#include <Logic/Biff_records/Begin.h>
#include <Logic/Biff_records/Chart3DBarShape.h>
#include <Logic/Biff_records/LineFormat.h>
#include <Logic/Biff_records/AreaFormat.h>
#include <Logic/Biff_records/PieFormat.h>
#include <Logic/Biff_records/SerFmt.h>
#include <Logic/Biff_records/MarkerFormat.h>
#include <Logic/Biff_records/AttachedLabel.h>
#include <Logic/Biff_records/End.h>
#include "GELFRAME.h"
#include "SHAPEPROPS.h"
#include "CRTMLFRT.h"
#include <Logic/Biff_unions/GELFRAME.h>
#include <Logic/Biff_unions/SHAPEPROPS.h>
#include <Logic/Biff_unions/CRTMLFRT.h>
#include <Logic/Biff_records/StartObject.h>
#include <Logic/Biff_records/EndObject.h>
#include"../Biff_records/DataFormat.h"
#include"../Biff_records/Begin.h"
#include"../Biff_records/Chart3DBarShape.h"
#include"../Biff_records/LineFormat.h"
#include"../Biff_records/AreaFormat.h"
#include"../Biff_records/PieFormat.h"
#include"../Biff_records/SerFmt.h"
#include"../Biff_records/MarkerFormat.h"
#include"../Biff_records/AttachedLabel.h"
#include"../Biff_records/End.h"
#include"../Biff_records/StartObject.h"
#include"../Biff_records/EndObject.h"
namespace XLS
{
@ -64,14 +63,14 @@ namespace XLS
std::wstring default_series_line_color[] =
{
L"800000", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"000080", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"CCFFCC", L"FFFF99", L"99CCFF", L"FF99CC", L"CC99FF", L"FFCC99", L"3366FF", L"33CCCC", L"99CC00", L"FFCC00",
L"FF9900", L"FF6600", L"666699", L"969696", L"336600", L"339966", L"330000", L"333300", L"993300", L"993366",
L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000",
L"800000", L"800000", L"808000", L"800080", L"808000", L"C0C0C0", L"808080", L"9999FF", L"993366", L"FFFFCC",
L"CCFFFF", L"660066", L"FF8080", L"0066CC", L"CCCCFF",
//todoooo - подглядеть какие в мс далее
L"800000", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"000080", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF",
L"CCFFCC", L"FFFF99", L"99CCFF", L"FF99CC", L"CC99FF", L"FFCC99", L"3366FF", L"33CCCC", L"99CC00", L"FFCC00",
L"FF9900", L"FF6600", L"666699", L"969696", L"336600", L"339966", L"330000", L"333300", L"993300", L"993366",
L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000",
@ -234,7 +233,8 @@ void SS::apply_crt_ss (BaseObjectPtr crt_ss)
SS * ss_common = dynamic_cast<SS*>(crt_ss.get());
if (ss_common == NULL) return;
if (ss_common->m_PieFormat && !m_PieFormat) m_PieFormat = ss_common->m_PieFormat;
if (ss_common->m_PieFormat && !m_PieFormat) m_PieFormat = ss_common->m_PieFormat;
if (ss_common->m_MarkerFormat && !m_MarkerFormat) m_MarkerFormat = ss_common->m_MarkerFormat;
//.... ???
}
@ -327,8 +327,9 @@ int SS::serialize_default(std::wostream & _stream, int series_type, int ind )
int SS::serialize(std::wostream & _stream, int series_type, int indPt)
{
DataFormat *series_data_format = dynamic_cast<DataFormat *>(m_DataFormat.get());
SerFmt *series_format = dynamic_cast<SerFmt *> (m_SerFmt.get());
DataFormat *series_data_format = dynamic_cast<DataFormat*> (m_DataFormat.get());
SerFmt *series_format = dynamic_cast<SerFmt*> (m_SerFmt.get());
MarkerFormat *marker_format = dynamic_cast<MarkerFormat*> (m_MarkerFormat.get());
int ind = series_data_format->iss;
@ -383,31 +384,26 @@ int SS::serialize(std::wostream & _stream, int series_type, int indPt)
else
{
//генерация (automatic)
if ( series_type != CHART_TYPE_Line || m_is3D == true ) //line & !3dLine
if (series_type == CHART_TYPE_Scatter || series_type == CHART_TYPE_Stock)
{
}
else if ( series_type != CHART_TYPE_Line || m_is3D == true ) //line & !3dLine
ind = 31; //black
CP_XML_NODE(L"a:ln")
{
CP_XML_ATTR(L"w", 12700);//single
if (series_type == CHART_TYPE_Scatter || series_type == CHART_TYPE_Stock)
//points only - todooo сделать дефолтовые точки ala 95 стиль & stork
CP_XML_NODE(L"a:solidFill")
{
m_isAutoLine = false;
//CP_XML_NODE(L"a:noFill");
CP_XML_NODE(L"a:srgbClr")
{
CP_XML_ATTR(L"val", default_series_line_color[ind]);
}
}
else
CP_XML_NODE(L"a:prstDash")
{
CP_XML_NODE(L"a:solidFill")
{
CP_XML_NODE(L"a:srgbClr")
{
CP_XML_ATTR(L"val", default_series_line_color[ind]);
}
}
CP_XML_NODE(L"a:prstDash")
{
CP_XML_ATTR(L"val", L"solid");
}
CP_XML_ATTR(L"val", L"solid");
}
}
}
@ -416,15 +412,25 @@ int SS::serialize(std::wostream & _stream, int series_type, int indPt)
if (m_PieFormat && (series_type == CHART_TYPE_Doughnut ||
series_type == CHART_TYPE_BopPop ||
series_type == CHART_TYPE_Pie))
{
m_PieFormat->serialize(_stream);
}
if (m_MarkerFormat && series_type != CHART_TYPE_Bubble &&
if (marker_format && series_type != CHART_TYPE_Bubble &&
series_type != CHART_TYPE_Bar &&
series_type != CHART_TYPE_BopPop )
m_MarkerFormat->serialize(_stream);
{
marker_format->serialize(_stream, ind);
}
else if (/*series_type == CHART_TYPE_Line ||*/ series_type == CHART_TYPE_Scatter)
{
CP_XML_NODE(L"c:marker");
CP_XML_NODE(L"c:marker")
{
CP_XML_NODE(L"c:symbol")
{
CP_XML_ATTR(L"val", L"none");
}
}
}
}

View File

@ -66,7 +66,7 @@ public:
void apply_crt_ss (BaseObjectPtr crt_ss);
int serialize (std::wostream & _stream, int series_type, int ind = -1);
int serialize (std::wostream & _stream, int series_type, int indPt);
int serialize_default (std::wostream & _stream, int series_type, int ind);
int serialize2 (std::wostream & _stream, int series_type);
@ -90,8 +90,7 @@ public:
_CP_OPT(bool) m_isVaried;
bool m_isAutoFill;
bool m_isAutoLine;
bool m_isAutoLine;
};
} // namespace XLS

View File

@ -791,7 +791,8 @@ int ChartSheetSubstream::serialize_plot_area (std::wostream & _stream)
{
CRT * crt = dynamic_cast<CRT*>(parent0->m_arCRT[0].get());
if ((crt) && ( crt->m_iChartType == CHART_TYPE_Radar ||
crt->m_iChartType == CHART_TYPE_RadarArea))//еще?
crt->m_iChartType == CHART_TYPE_RadarArea ||
crt->m_iChartType == CHART_TYPE_Scatter))//еще?
{
PlotAreaPos->m_iLayoutTarget = 2; //inner
}
@ -898,7 +899,7 @@ int ChartSheetSubstream::serialize_plot_area (std::wostream & _stream)
series->m_arAI[0]->serialize(CP_XML_STREAM());
series_ss->serialize(CP_XML_STREAM(), crt->m_iChartType);
series_ss->serialize(CP_XML_STREAM(), crt->m_iChartType, -1);
serialize_dPt(CP_XML_STREAM(), it->second[i], crt, (std::max)(ser->cValx, ser->cValy));//+bubbles

656
Common/3dParty/boost/boost_ios.sh Executable file
View File

@ -0,0 +1,656 @@
#===============================================================================
#
# Builds a Boost framework for iOS, iOS Simulator, and OSX.
# Creates a set of universal libraries that can be used on an iOS and in the
# iOS simulator. Then creates a pseudo-framework to make using boost in Xcode
# less painful.
#
# To configure the script, define:
# BOOST_VERSION: Which version of Boost to build (e.g. 1.58.0)
# BOOST_VERSION2: Same as BOOST_VERSION, but with _ instead of . (e.g. 1_58_0)
# BOOST_LIBS: Which Boost libraries to build
# MIN_IOS_VERSION: Minimum iOS Target Version (e.g. 8.0)
# IOS_SDK_VERSION: iOS SDK version (e.g. 9.0)
# OSX_SDK_VERSION: OSX SDK version (e.g. 10.11)
#
# If a boost tarball does not exist in the current directory, this script will
# attempt to download the version specified by BOOST_VERSION. You may also
# manually place a matching tarball in the current directory and the script
# will use that.
#
#===============================================================================
BOOST_LIBS="atomic chrono date_time exception filesystem program_options random signals system test thread regex"
BUILD_IOS=
BUILD_OSX=
CLEAN=
NO_CLEAN=
NO_FRAMEWORK=
BOOST_VERSION=1.58.0
BOOST_VERSION2=1_58_0
MIN_IOS_VERSION=8.0
IOS_SDK_VERSION=`xcodebuild -showsdks | grep iphoneos | \
egrep "[[:digit:]]+\.[[:digit:]]+" -o | tail -1`
OSX_SDK_VERSION=`xcodebuild -showsdks | grep macosx | \
egrep "[[:digit:]]+\.[[:digit:]]+" -o | tail -1`
XCODE_ROOT=`xcode-select -print-path`
# The EXTRA_CPPFLAGS definition works around a thread race issue in
# shared_ptr. I encountered this historically and have not verified that
# the fix is no longer required. Without using the posix thread primitives
# an invalid compare-and-swap ARM instruction (non-thread-safe) was used for the
# shared_ptr use count causing nasty and subtle bugs.
#
# Should perhaps also consider/use instead: -BOOST_SP_USE_PTHREADS
EXTRA_CPPFLAGS="-DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS -g -DNDEBUG \
-std=c++11 -stdlib=libc++ -fvisibility=hidden -fvisibility-inlines-hidden"
EXTRA_IOS_CPPFLAGS="$EXTRA_CPPFLAGS -mios-version-min=$MIN_IOS_VERSION"
EXTRA_OSX_CPPFLAGS="$EXTRA_CPPFLAGS"
TARBALLDIR=`pwd`
SRCDIR=$TARBALLDIR
IOSOUTPUTDIR=$TARBALLDIR/ios
OSXOUTPUTDIR=$TARBALLDIR/osx
IOSBUILDDIR=$IOSOUTPUTDIR/build
OSXBUILDDIR=$OSXOUTPUTDIR/build
PREFIXDIR=$IOSOUTPUTDIR/prefix
IOSFRAMEWORKDIR=$IOSOUTPUTDIR/framework
OSXFRAMEWORKDIR=$OSXOUTPUTDIR/framework
BOOST_TARBALL=$TARBALLDIR/boost_$BOOST_VERSION2.tar.bz2
BOOST_SRC=$SRCDIR/boost_${BOOST_VERSION2}
ARM_DEV_CMD="xcrun --sdk iphoneos"
SIM_DEV_CMD="xcrun --sdk iphonesimulator"
OSX_DEV_CMD="xcrun --sdk macosx"
#===============================================================================
# Functions
#===============================================================================
usage()
{
cat << EOF
usage: $0 options
Build Boost for iOS, iOS Simulator, and OS X
OPTIONS:
-h, -\? | --help
Display these options and exit.
--boost-version
Specify which version of Boost to build. Defaults to $BOOST_VERSION.
-ios
Build for the iOS platform. May be used in conjunction with -osx.
If neither -ios nor -osx are specified, both are built.
-osx
Build for the OS X platform. May be used in conjunction with -ios.
If neither -ios nor -osx are specified, both are built.
--ios-sdk [num]
Specify the iOS SDK version to build with. Defaults to $IOS_SDK_VERSION.
--min-ios-version [num]
Specify the minimum iOS version to target. Defaults to $MIN_IOS_VERSION.
--osx-sdk [num]
Specify the OS X SDK version to build with. Defaults to $OSX_SDK_VERSION.
--no-framework
Do not create the framework.
--clean
Just clean up build artifacts, but don't actually build anything.
--no-clean
Do not clean up existing build artifacts before building.
EOF
}
abort()
{
echo
echo "Aborted: $@"
exit 1
}
die()
{
usage
exit 1
}
missingParameter()
{
echo $1 requires a parameter
die
}
unknownParameter()
{
if [[ -n $2 && $2 != "" ]]; then
echo Unknown argument \"$2\" for parameter $1.
else
echo Unknown argument $1
fi
die
}
parseArgs()
{
while [ "$1" != "" ]; do
case $1 in
-h | -\?)
usage
exit
;;
-ios)
BUILD_IOS=1
;;
-osx)
BUILD_OSX=1
;;
--boost-version)
if [ -n $2 ]; then
BOOST_VERSION=$2
BOOST_VERSION2="${BOOST_VERSION//./_}"
BOOST_TARBALL=$TARBALLDIR/boost_$BOOST_VERSION2.tar.bz2
BOOST_SRC=$SRCDIR/boost_${BOOST_VERSION2}
shift
else
missingParameter $1
fi
;;
--ios-sdk)
if [ -n $2 ]; then
IOS_SDK_VERSION=$2
shift
else
missingParameter $1
fi
;;
--min-ios-version)
if [ -n $2 ]; then
MIN_IOS_VERSION=$2
shift
else
missingParameter $1
fi
;;
--osx-sdk)
if [ -n $2 ]; then
OSX_SDK_VERSION=$2
shift
else
missingParameter $1
fi
;;
--clean)
CLEAN=1
;;
--no-clean)
NO_CLEAN=1
;;
--no-framework)
NO_FRAMEWORK=1
;;
*)
unknownParameter $1
;;
esac
shift
done
}
doneSection()
{
echo
echo "Done"
echo "================================================================="
echo
}
#===============================================================================
cleanup()
{
echo Cleaning everything
rm -rf $BOOST_SRC/iphone-build
rm -rf $BOOST_SRC/iphonesim-build
rm -rf $BOOST_SRC/osx-build
rm -rf $IOSOUTPUTDIR
rm -rf $OSXOUTPUTDIR
doneSection
}
#===============================================================================
downloadBoost()
{
if [ ! -s $BOOST_TARBALL ]; then
echo "Downloading boost ${BOOST_VERSION}"
curl -L -o $BOOST_TARBALL \
http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION2}.tar.bz2/download
fi
doneSection
}
#===============================================================================
unpackBoost()
{
[ -f "$BOOST_TARBALL" ] || abort "Source tarball missing."
echo Unpacking boost into $SRCDIR...
[ -d $SRCDIR ] || mkdir -p $SRCDIR
[ -d $BOOST_SRC ] || ( cd $SRCDIR; tar xfj $BOOST_TARBALL )
[ -d $BOOST_SRC ] && echo " ...unpacked as $BOOST_SRC"
doneSection
}
#===============================================================================
inventMissingHeaders()
{
# These files are missing in the ARM iPhoneOS SDK, but they are in the simulator.
# They are supported on the device, so we copy them from x86 SDK to a staging area
# to use them on ARM, too.
echo Invent missing headers
cp $XCODE_ROOT/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IOS_SDK_VERSION}.sdk/usr/include/{crt_externs,bzlib}.h $BOOST_SRC
}
#===============================================================================
updateBoost()
{
echo Updating boost into $BOOST_SRC...
mv $BOOST_SRC/tools/build/src/user-config.jam $BOOST_SRC/tools/build/src/user-config.jam-bk
if [[ -n $BUILD_IOS ]]; then
cat >> $BOOST_SRC/tools/build/src/user-config.jam <<EOF
using darwin : ${IOS_SDK_VERSION}~iphone
: $XCODE_ROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 \
-arch armv7s -arch arm64 $EXTRA_IOS_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/iPhoneOS.platform/Developer
: <architecture>arm <target-os>iphone
;
using darwin : ${IOS_SDK_VERSION}~iphonesim
: g++ -arch i386 -arch x86_64 $EXTRA_IOS_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/iPhoneSimulator.platform/Developer
: <architecture>x86 <target-os>iphone
;
EOF
fi
if [[ -n $BUILD_OSX ]]; then
cat >> $BOOST_SRC/tools/build/src/user-config.jam <<EOF
using darwin : ${OSX_SDK_VERSION}
: g++ -arch i386 -arch x86_64 $EXTRA_OSX_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/MacOSX.platform/Developer
: <architecture>x86 <target-os>darwin
;
EOF
fi
doneSection
}
#===============================================================================
bootstrapBoost()
{
cd $BOOST_SRC
BOOST_LIBS_COMMA=$(echo $BOOST_LIBS | sed -e "s/ /,/g")
echo "Bootstrapping (with libs $BOOST_LIBS_COMMA)"
./bootstrap.sh --with-libraries=$BOOST_LIBS_COMMA
doneSection
}
#===============================================================================
buildBoost()
{
cd $BOOST_SRC
if [[ -n $BUILD_IOS ]]; then
echo Building Boost for iPhone
# Install this one so we can copy the headers for the frameworks...
./b2 -j16 --build-dir=iphone-build --stagedir=iphone-build/stage \
--prefix=$PREFIXDIR toolset=darwin architecture=arm target-os=iphone \
macosx-version=iphone-${IOS_SDK_VERSION} define=_LITTLE_ENDIAN \
link=static stage
./b2 -j16 --build-dir=iphone-build --stagedir=iphone-build/stage \
--prefix=$PREFIXDIR toolset=darwin architecture=arm \
target-os=iphone macosx-version=iphone-${IOS_SDK_VERSION} \
define=_LITTLE_ENDIAN link=static install
doneSection
echo Building Boost for iPhoneSimulator
./b2 -j16 --build-dir=iphonesim-build --stagedir=iphonesim-build/stage \
toolset=darwin-${IOS_SDK_VERSION}~iphonesim architecture=x86 \
target-os=iphone macosx-version=iphonesim-${IOS_SDK_VERSION} \
link=static stage
doneSection
fi
if [[ -n $BUILD_OSX ]]; then
echo building Boost for OSX
./b2 -j16 --build-dir=osx-build --stagedir=osx-build/stage toolset=clang \
cxxflags="-std=c++11 -stdlib=libc++ -arch i386 -arch x86_64" \
linkflags="-stdlib=libc++" link=static threading=multi \
macosx-version=${OSX_SDK_VERSION} stage
# If we are only building for OS X and we are outputting a framework,
# then we need to install this one so we can copy the headers
if [[ -z $BUILD_IOS && -z $NO_FRAMEWORK ]]; then
PREFIXDIR=$OSXBUILDDIR/prefix
./b2 -j16 --build-dir=osx-build --stagedir=osx-build/stage \
--prefix=$PREFIXDIR toolset=clang \
cxxflags="-std=c++11 -stdlib=libc++ -arch i386 -arch x86_64" \
linkflags="-stdlib=libc++" link=static threading=multi \
macosx-version=${OSX_SDK_VERSION} install
fi
doneSection
fi
}
#===============================================================================
unpackArchive()
{
BUILDDIR=$1
LIBNAME=$2
echo "Unpacking $LIBNAME"
if [[ -d $BUILDDIR/$LIBNAME ]]; then
rm $BUILDDIR/$LIBNAME/*.o
rm $BUILDDIR/$LIBNAME/*.SYMDEF*
else
mkdir -p $BUILDDIR/$LIBNAME
fi
(
cd $BUILDDIR/$NAME; ar -x ../../libboost_$NAME.a;
for FILE in *.o; do
NEW_FILE="${NAME}_${FILE}"
mv $FILE $NEW_FILE
done
)
}
scrunchAllLibsTogetherInOneLibPerPlatform()
{
cd $BOOST_SRC
if [[ -n $BUILD_IOS ]]; then
# iOS Device
mkdir -p $IOSBUILDDIR/armv7/obj
mkdir -p $IOSBUILDDIR/armv7s/obj
mkdir -p $IOSBUILDDIR/arm64/obj
# iOS Simulator
mkdir -p $IOSBUILDDIR/i386/obj
mkdir -p $IOSBUILDDIR/x86_64/obj
fi
if [[ -n $BUILD_OSX ]]; then
# OSX
mkdir -p $OSXBUILDDIR/i386/obj
mkdir -p $OSXBUILDDIR/x86_64/obj
fi
ALL_LIBS=""
echo Splitting all existing fat binaries...
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
ALL_LIBS="$ALL_LIBS libboost_$NAME.a"
if [[ -n $BUILD_IOS ]]; then
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin armv7 -o $IOSBUILDDIR/armv7/libboost_$NAME.a
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin armv7s -o $IOSBUILDDIR/armv7s/libboost_$NAME.a
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin arm64 -o $IOSBUILDDIR/arm64/libboost_$NAME.a
$SIM_DEV_CMD lipo "iphonesim-build/stage/lib/libboost_$NAME.a" \
-thin i386 -o $IOSBUILDDIR/i386/libboost_$NAME.a
$SIM_DEV_CMD lipo "iphonesim-build/stage/lib/libboost_$NAME.a" \
-thin x86_64 -o $IOSBUILDDIR/x86_64/libboost_$NAME.a
fi
if [[ -n $BUILD_OSX ]]; then
$OSX_DEV_CMD lipo "osx-build/stage/lib/libboost_$NAME.a" \
-thin i386 -o $OSXBUILDDIR/i386/libboost_$NAME.a
$OSX_DEV_CMD lipo "osx-build/stage/lib/libboost_$NAME.a" \
-thin x86_64 -o $OSXBUILDDIR/x86_64/libboost_$NAME.a
fi
done
echo "Decomposing each architecture's .a files"
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
echo "Decomposing libboost_${NAME}.a"
if [[ -n $BUILD_IOS ]]; then
unpackArchive "$IOSBUILDDIR/armv7/obj" $NAME
unpackArchive "$IOSBUILDDIR/armv7s/obj" $NAME
unpackArchive "$IOSBUILDDIR/arm64/obj" $NAME
unpackArchive "$IOSBUILDDIR/i386/obj" $NAME
unpackArchive "$IOSBUILDDIR/x86_64/obj" $NAME
fi
if [[ -n $BUILD_OSX ]]; then
unpackArchive "$OSXBUILDDIR/i386/obj" $NAME
unpackArchive "$OSXBUILDDIR/x86_64/obj" $NAME
fi
done
echo "Linking each architecture into an uberlib ($ALL_LIBS => libboost.a )"
if [[ -n $BUILD_IOS ]]; then
rm $IOSBUILDDIR/*/libboost.a
fi
if [[ -n $BUILD_OSX ]]; then
rm $OSXBUILDDIR/*/libboost.a
fi
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
echo $NAME
if [[ -n $BUILD_IOS ]]; then
echo ...armv7
(cd $IOSBUILDDIR/armv7; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...armv7s
(cd $IOSBUILDDIR/armv7s; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...arm64
(cd $IOSBUILDDIR/arm64; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...i386
(cd $IOSBUILDDIR/i386; $SIM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...x86_64
(cd $IOSBUILDDIR/x86_64; $SIM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
fi
if [[ -n $BUILD_OSX ]]; then
echo ...osx-i386
(cd $OSXBUILDDIR/i386; $OSX_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...osx-x86_64
(cd $OSXBUILDDIR/x86_64; $OSX_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
fi
done
}
#===============================================================================
buildFramework()
{
: ${1:?}
FRAMEWORKDIR=$1
BUILDDIR=$2
VERSION_TYPE=Alpha
FRAMEWORK_NAME=boost
FRAMEWORK_VERSION=A
FRAMEWORK_CURRENT_VERSION=$BOOST_VERSION
FRAMEWORK_COMPATIBILITY_VERSION=$BOOST_VERSION
FRAMEWORK_BUNDLE=$FRAMEWORKDIR/$FRAMEWORK_NAME.framework
echo "Framework: Building $FRAMEWORK_BUNDLE from $BUILDDIR..."
rm -rf $FRAMEWORK_BUNDLE
echo "Framework: Setting up directories..."
mkdir -p $FRAMEWORK_BUNDLE
mkdir -p $FRAMEWORK_BUNDLE/Versions
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Resources
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Headers
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Documentation
echo "Framework: Creating symlinks..."
ln -s $FRAMEWORK_VERSION $FRAMEWORK_BUNDLE/Versions/Current
ln -s Versions/Current/Headers $FRAMEWORK_BUNDLE/Headers
ln -s Versions/Current/Resources $FRAMEWORK_BUNDLE/Resources
ln -s Versions/Current/Documentation $FRAMEWORK_BUNDLE/Documentation
ln -s Versions/Current/$FRAMEWORK_NAME $FRAMEWORK_BUNDLE/$FRAMEWORK_NAME
FRAMEWORK_INSTALL_NAME=$FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/$FRAMEWORK_NAME
echo "Lipoing library into $FRAMEWORK_INSTALL_NAME..."
$ARM_DEV_CMD lipo -create $BUILDDIR/*/libboost.a -o "$FRAMEWORK_INSTALL_NAME" || abort "Lipo $1 failed"
echo "Framework: Copying includes..."
cp -r $PREFIXDIR/include/boost/* $FRAMEWORK_BUNDLE/Headers/
echo "Framework: Creating plist..."
cat > $FRAMEWORK_BUNDLE/Resources/Info.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${FRAMEWORK_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.boost</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${FRAMEWORK_CURRENT_VERSION}</string>
</dict>
</plist>
EOF
doneSection
}
#===============================================================================
restoreBoost()
{
cp $BOOST_SRC/tools/build/src/user-config.jam-bk $BOOST_SRC/tools/build/src/user-config.jam
}
#===============================================================================
# Execution starts here
#===============================================================================
parseArgs $@
if [ -n "$CLEAN" ]; then
cleanup
exit
fi
if [[ -z $BUILD_IOS && -z $BUILD_OSX ]]; then
BUILD_IOS=1
BUILD_OSX=1
fi
format="%-20s %s\n"
printf "$format" "BUILD_IOS:" $( [[ -n $BUILD_IOS ]] && echo "YES" || echo "NO")
printf "$format" "BUILD_OSX:" $( [[ -n $BUILD_OSX ]] && echo "YES" || echo "NO")
printf "$format" "BOOST_VERSION:" $BOOST_VERSION
printf "$format" "IOS_SDK_VERSION:" $IOS_SDK_VERSION
printf "$format" "OSX_SDK_VERSION:" $OSX_SDK_VERSION
printf "$format" "MIN_IOS_VERSION:" $MIN_IOS_VERSION
printf "$format" "BOOST_LIBS:" "$BOOST_LIBS"
printf "$format" "BOOST_SRC:" $BOOST_SRC
printf "$format" "IOSBUILDDIR:" $IOSBUILDDIR
printf "$format" "OSXBUILDDIR:" $OSXBUILDDIR
printf "$format" "PREFIXDIR:" $PREFIXDIR
printf "$format" "IOSFRAMEWORKDIR:" $IOSFRAMEWORKDIR
printf "$format" "OSXFRAMEWORKDIR:" $OSXFRAMEWORKDIR
printf "$format" "XCODE_ROOT:" $XCODE_ROOT
echo
if [ -z $NO_CLEAN ]; then
cleanup
fi
#downloadBoost
#unpackBoost
inventMissingHeaders
bootstrapBoost
updateBoost
buildBoost
scrunchAllLibsTogetherInOneLibPerPlatform
if [ -z $NO_FRAMEWORK ]; then
if [[ -n $BUILD_IOS ]]; then
buildFramework $IOSFRAMEWORKDIR $IOSBUILDDIR
fi
if [[ -n $BUILD_OSX ]]; then
buildFramework $OSXFRAMEWORKDIR $OSXBUILDDIR
fi
fi
restoreBoost
echo "Completed successfully"

View File

@ -86,7 +86,69 @@ namespace OOX
res->HyperlinksChanged = m_bHyperlinksChanged.get();
if(m_sAppVersion.IsInit())
res->AppVersion = m_sAppVersion.get();
if(m_nCharacters.IsInit())
res->Characters = m_nCharacters.get();
if(m_nCharactersWithSpaces.IsInit())
res->CharactersWithSpaces = m_nCharactersWithSpaces.get();
if(m_nDocSecurity.IsInit())
res->DocSecurity = m_nDocSecurity.get();
if(m_sHyperlinkBase.IsInit())
res->HyperlinkBase = m_sHyperlinkBase.get();
if(m_nLines.IsInit())
res->Lines = m_nLines.get();
if(m_sManager.IsInit())
res->Manager = m_sManager.get();
if(m_nPages.IsInit())
res->Pages = m_nPages.get();
return res;
}
void CApp::FromPptxApp(PPTX::App* pApp)
{
if(pApp->Template.IsInit())
m_sTemplate = pApp->Template.get();
if(pApp->TotalTime.IsInit())
m_nTotalTime = pApp->TotalTime.get();
if(pApp->Words.IsInit())
m_nWords = pApp->Words.get();
if(pApp->Application.IsInit())
m_sApplication = pApp->Application.get();
if(pApp->PresentationFormat.IsInit())
m_sPresentationForm = pApp->PresentationFormat.get();
if(pApp->Paragraphs.IsInit())
m_nParagraphs = pApp->Paragraphs.get();
if(pApp->Slides.IsInit())
m_nSlides = pApp->Slides.get();
if(pApp->Notes.IsInit())
m_nNotes = pApp->Notes.get();
if(pApp->HiddenSlides.IsInit())
m_nHiddenSlides = pApp->HiddenSlides.get();
if(pApp->MMClips.IsInit())
m_nMMClips = pApp->MMClips.get();
if(pApp->ScaleCrop.IsInit())
m_bScaleCrop = pApp->ScaleCrop.get();
if(pApp->Company.IsInit())
m_sCompany = pApp->Company.get();
if(pApp->LinksUpToDate.IsInit())
m_bLinksUpToDate = pApp->LinksUpToDate.get();
if(pApp->SharedDoc.IsInit())
m_bSharedDoc = pApp->SharedDoc.get();
if(pApp->HyperlinksChanged.IsInit())
m_bHyperlinksChanged = pApp->HyperlinksChanged.get();
if(pApp->AppVersion.IsInit())
m_sAppVersion = pApp->AppVersion.get();
if(pApp->Characters.IsInit())
m_nCharacters = pApp->Characters.get();
if(pApp->CharactersWithSpaces.IsInit())
m_nCharactersWithSpaces = pApp->CharactersWithSpaces.get();
if(pApp->DocSecurity.IsInit())
m_nDocSecurity = pApp->DocSecurity.get();
if(pApp->HyperlinkBase.IsInit())
m_sHyperlinkBase = pApp->HyperlinkBase.get();
if(pApp->Lines.IsInit())
m_nLines = pApp->Lines.get();
if(pApp->Manager.IsInit())
m_sManager = pApp->Manager.get();
if(pApp->Pages.IsInit())
m_nPages = pApp->Pages.get();
}
} // namespace OOX

View File

@ -186,11 +186,11 @@ namespace OOX
if ( m_sApplication.IsInit() )
{
sXml += _T("<Application>");
sXml += m_sApplication.get();
sXml += XmlUtils::EncodeXmlString(m_sApplication.get());
if ( m_sAppVersion.IsInit() )
{
sXml += L"/";
sXml += m_sAppVersion.get();
sXml += XmlUtils::EncodeXmlString(m_sAppVersion.get());
}
sXml += _T("</Application>");
}
@ -225,7 +225,7 @@ namespace OOX
if ( m_sCompany.IsInit() )
{
sXml += _T("<Company>");
sXml += m_sCompany.get();
sXml += XmlUtils::EncodeXmlString(m_sCompany.get());
sXml += _T("</Company>");
}
@ -252,7 +252,7 @@ namespace OOX
if ( m_sHyperlinkBase.IsInit() )
{
sXml += _T("<HyperlinkBase>");
sXml += m_sHyperlinkBase.get();
sXml += XmlUtils::EncodeXmlString(m_sHyperlinkBase.get());
sXml += _T("</HyperlinkBase>");
}
@ -289,7 +289,7 @@ namespace OOX
if ( m_sManager.IsInit() )
{
sXml += _T("<Manager>");
sXml += m_sManager.get();
sXml += XmlUtils::EncodeXmlString(m_sManager.get());
sXml += _T("</Manager>");
}
@ -366,7 +366,7 @@ namespace OOX
if ( m_sTemplate.IsInit() )
{
sXml += _T("<Template>");
sXml += m_sTemplate.get();
sXml += XmlUtils::EncodeXmlString(m_sTemplate.get());
sXml += _T("</Template>");
}
@ -410,19 +410,24 @@ namespace OOX
}
void SetDefaults()
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
SetApplication(sApplication);
#if defined(INTVER)
SetAppVersion(VALUE2STR(INTVER));
#endif
SetRequiredDefaults();
SetDocSecurity(0);
SetScaleCrop(false);
SetLinksUpToDate(false);
SetSharedDoc(false);
SetHyperlinksChanged(false);
}
void SetRequiredDefaults()
{
m_sAppVersion.reset(NULL);
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
SetApplication(sApplication);
#if defined(INTVER)
SetAppVersion(VALUE2STR(INTVER));
#endif
}
void SetApplication(const std::wstring& sVal)
{
m_sApplication = sVal;
@ -460,6 +465,7 @@ namespace OOX
m_bHyperlinksChanged = bVal;
}
PPTX::App* ToPptxApp();
void FromPptxApp(PPTX::App* pApp);
// TO DO: DigSig
// HeadingPairs

View File

@ -55,18 +55,69 @@ namespace OOX
PPTX::Core* CCore::ToPptxCore()
{
PPTX::Core* res = new PPTX::Core(NULL);
if (m_sTitle.IsInit())
res->title = m_sTitle.get();
if (m_sCreator.IsInit())
res->creator = m_sCreator.get();
if (m_sLastModifiedBy.IsInit())
res->lastModifiedBy = m_sLastModifiedBy.get();
if (m_sRevision.IsInit())
res->revision = m_sRevision.get();
if (m_sCategory.IsInit())
res->category = m_sCategory.get();
if (m_sContentStatus.IsInit())
res->contentStatus = m_sContentStatus.get();
if (m_sCreated.IsInit())
res->created = m_sCreated.get();
if (m_sCreator.IsInit())
res->creator = m_sCreator.get();
if (m_sDescription.IsInit())
res->description = m_sDescription.get();
if (m_sIdentifier.IsInit())
res->identifier = m_sIdentifier.get();
if (m_sKeywords.IsInit())
res->keywords = m_sKeywords.get();
if (m_sLanguage.IsInit())
res->language = m_sLanguage.get();
if (m_sLastModifiedBy.IsInit())
res->lastModifiedBy = m_sLastModifiedBy.get();
if (m_sLastPrinted.IsInit())
res->lastPrinted = m_sLastPrinted.get();
if (m_sModified.IsInit())
res->modified = m_sModified.get();
if (m_sRevision.IsInit())
res->revision = m_sRevision.get();
if (m_sSubject.IsInit())
res->subject = m_sSubject.get();
if (m_sTitle.IsInit())
res->title = m_sTitle.get();
if (m_sVersion.IsInit())
res->version = m_sVersion.get();
return res;
}
void CCore::FromPptxCore(PPTX::Core* pCore)
{
if(pCore->category.IsInit())
m_sCategory = pCore->category.get();
if(pCore->contentStatus.IsInit())
m_sContentStatus = pCore->contentStatus.get();
if(pCore->created.IsInit())
m_sCreated = pCore->created.get();
if(pCore->creator.IsInit())
m_sCreator = pCore->creator.get();
if(pCore->description.IsInit())
m_sDescription = pCore->description.get();
if(pCore->identifier.IsInit())
m_sIdentifier = pCore->identifier.get();
if(pCore->keywords.IsInit())
m_sKeywords = pCore->keywords.get();
if(pCore->language.IsInit())
m_sLanguage = pCore->language.get();
if(pCore->lastModifiedBy.IsInit())
m_sLastModifiedBy = pCore->lastModifiedBy.get();
if(pCore->lastPrinted.IsInit())
m_sLastPrinted = pCore->lastPrinted.get();
if(pCore->modified.IsInit())
m_sModified = pCore->modified.get();
if(pCore->revision.IsInit())
m_sRevision = pCore->revision.get();
if(pCore->subject.IsInit())
m_sSubject = pCore->subject.get();
if(pCore->title.IsInit())
m_sTitle = pCore->title.get();
if(pCore->version.IsInit())
m_sVersion = pCore->version.get();
}
} // namespace OOX

View File

@ -36,6 +36,7 @@
#include "Docx.h"
#include "File.h"
#include "../Base/Nullable.h"
#include "../../../../DesktopEditor/common/SystemUtils.h"
namespace PPTX
{
@ -111,111 +112,96 @@ namespace OOX
std::wstring sXml;
sXml = _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:dcmitype=\"http://purl.org/dc/dcmitype/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
if ( m_sCategory.IsInit() )
{
sXml += _T("<cp:category>");
sXml += m_sCategory.get();
sXml += _T("</cp:category>");
}
if ( m_sContentStatus.IsInit() )
{
sXml += _T("<cp:contentStatus>");
sXml += m_sContentStatus.get();
sXml += _T("</cp:contentStatus>");
}
if ( m_sCreated.IsInit() )
{
sXml += _T("<dcterms:created xsi:type=\"dcterms:W3CDTF\">");
sXml += m_sCreated.get();
sXml += _T("</dcterms:created>");
}
if ( m_sCreator.IsInit() )
{
sXml += _T("<dc:creator>");
sXml += m_sCreator.get();
sXml += _T("</dc:creator>");
}
if ( m_sDescription.IsInit() )
{
sXml += _T("<dc:description>");
sXml += m_sDescription.get();
sXml += _T("</dc:description>");
}
if ( m_sIdentifier.IsInit() )
{
sXml += _T("<dc:identifier>");
sXml += m_sIdentifier.get();
sXml += _T("</dc:identifier>");
}
if ( m_sKeywords.IsInit() )
{
sXml += _T("<cp:keywords>");
sXml += m_sKeywords.get();
sXml += _T("</cp:keywords>");
}
if ( m_sLanguage.IsInit() )
{
sXml += _T("<dc:language>");
sXml += m_sLanguage.get();
sXml += _T("</dc:language>");
}
if ( m_sLastModifiedBy.IsInit() )
{
sXml += _T("<cp:lastModifiedBy>");
sXml += m_sLastModifiedBy.get();
sXml += _T("</cp:lastModifiedBy>");
}
if ( m_sLastPrinted.IsInit() )
{
sXml += _T("<cp:lastPrinted>");
sXml += m_sLastPrinted.get();
sXml += _T("</cp:lastPrinted>");
}
if ( m_sModified.IsInit() )
{
sXml += _T("<dcterms:modified xsi:type=\"dcterms:W3CDTF\">");
sXml += m_sModified.get();
sXml += _T("</dcterms:modified>");
}
if ( m_sRevision.IsInit() )
{
sXml += _T("<cp:revision>");
sXml += m_sRevision.get();
sXml += _T("</cp:revision>");
}
if ( m_sSubject.IsInit() )
{
sXml += _T("<dc:subject>");
sXml += m_sSubject.get();
sXml += _T("</dc:subject>");
}
if ( m_sTitle.IsInit() )
{
sXml += _T("<dc:title>");
sXml += m_sTitle.get();
sXml += XmlUtils::EncodeXmlString(m_sTitle.get());
sXml += _T("</dc:title>");
}
if ( m_sSubject.IsInit() )
{
sXml += _T("<dc:subject>");
sXml += XmlUtils::EncodeXmlString(m_sSubject.get());
sXml += _T("</dc:subject>");
}
if ( m_sCreator.IsInit() )
{
sXml += _T("<dc:creator>");
sXml += XmlUtils::EncodeXmlString(m_sCreator.get());
sXml += _T("</dc:creator>");
}
if ( m_sKeywords.IsInit() )
{
sXml += _T("<cp:keywords>");
sXml += XmlUtils::EncodeXmlString(m_sKeywords.get());
sXml += _T("</cp:keywords>");
}
if ( m_sDescription.IsInit() )
{
sXml += _T("<dc:description>");
sXml += XmlUtils::EncodeXmlString(m_sDescription.get());
sXml += _T("</dc:description>");
}
if ( m_sIdentifier.IsInit() )
{
sXml += _T("<dc:identifier>");
sXml += XmlUtils::EncodeXmlString(m_sIdentifier.get());
sXml += _T("</dc:identifier>");
}
if ( m_sLanguage.IsInit() )
{
sXml += _T("<dc:language>");
sXml += XmlUtils::EncodeXmlString(m_sLanguage.get());
sXml += _T("</dc:language>");
}
if ( m_sLastModifiedBy.IsInit() )
{
sXml += _T("<cp:lastModifiedBy>");
sXml += XmlUtils::EncodeXmlString(m_sLastModifiedBy.get());
sXml += _T("</cp:lastModifiedBy>");
}
if ( m_sRevision.IsInit() )
{
sXml += _T("<cp:revision>");
sXml += XmlUtils::EncodeXmlString(m_sRevision.get());
sXml += _T("</cp:revision>");
}
if ( m_sLastPrinted.IsInit() )
{
sXml += _T("<cp:lastPrinted>");
sXml += XmlUtils::EncodeXmlString(m_sLastPrinted.get());
sXml += _T("</cp:lastPrinted>");
}
if ( m_sCreated.IsInit() )
{
sXml += _T("<dcterms:created xsi:type=\"dcterms:W3CDTF\">");
sXml += XmlUtils::EncodeXmlString(m_sCreated.get());
sXml += _T("</dcterms:created>");
}
if ( m_sModified.IsInit() )
{
sXml += _T("<dcterms:modified xsi:type=\"dcterms:W3CDTF\">");
sXml += XmlUtils::EncodeXmlString(m_sModified.get());
sXml += _T("</dcterms:modified>");
}
if ( m_sCategory.IsInit() )
{
sXml += _T("<cp:category>");
sXml += XmlUtils::EncodeXmlString(m_sCategory.get());
sXml += _T("</cp:category>");
}
if ( m_sContentStatus.IsInit() )
{
sXml += _T("<cp:contentStatus>");
sXml += XmlUtils::EncodeXmlString(m_sContentStatus.get());
sXml += _T("</cp:contentStatus>");
}
if ( m_sVersion.IsInit() )
{
sXml += _T("<cp:version>");
sXml += m_sVersion.get();
sXml += XmlUtils::EncodeXmlString(m_sVersion.get());
sXml += _T("</cp:version>");
}
sXml += _T("</cp:coreProperties>");
NSFile::CFileBinary::SaveToFile( oPath.GetPath(), sXml );
@ -237,9 +223,31 @@ namespace OOX
}
void SetDefaults()
{
m_sCreator = L"";
// m_sCreator = L"";
m_sLastModifiedBy = L"";
}
void SetRequiredDefaults()
{
if (m_sCreator.IsInit())
{
std::wstring sCreator = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreator);
if (!sCreator.empty())
m_sCreator = sCreator;
}
if (m_sCreated.IsInit())
{
std::wstring sCreated = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreated);
if (!sCreated.empty())
m_sCreated = sCreated;
}
std::wstring sLastModifiedBy = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvLastModifiedBy);
if (!sLastModifiedBy.empty())
m_sLastModifiedBy = sLastModifiedBy;
std::wstring sModified = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvModified);
if (!sModified.empty())
m_sModified = sModified;
}
void SetCreator(std::wstring sVal)
{
m_sCreator = sVal;
@ -249,6 +257,7 @@ namespace OOX
m_sLastModifiedBy = sVal;
}
PPTX::Core* ToPptxCore();
void FromPptxCore(PPTX::Core* pCore);
nullable<std::wstring> m_sCategory;
nullable<std::wstring> m_sContentStatus;

View File

@ -381,14 +381,22 @@ xmlns:xr3=\"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3\"")
if(m_oHeaderRowCount.IsInit() && 0 == m_oHeaderRowCount->GetValue())
writer.WriteString(L" headerRowCount=\"0\"");
if(m_oTotalsRowCount.IsInit() && m_oTotalsRowCount->GetValue() > 0)
writer.WriteString(L" totalsRowCount=\"1\"");
else
writer.WriteString(L" totalsRowShown=\"0\"");//m_oTotalsRowShown
if (m_oInsertRow.IsInit()) WritingStringAttrString(L"insertRow", *m_oInsertRow ? L"1" : L"0");
if (m_oInsertRowShift.IsInit()) WritingStringAttrString(L"insertRowShift", *m_oInsertRowShift ? L"1" : L"0");
if (m_oPublished.IsInit()) WritingStringAttrString(L"published", *m_oPublished ? L"1" : L"0");
writer.WriteString(L" totalsRowCount=\"1\"");
else
writer.WriteString(L" totalsRowShown=\"0\"");//m_oTotalsRowShown
bool bInsertRow = m_oInsertRow.IsInit();
if (bInsertRow) {
WritingStringAttrString(L"insertRow", *m_oInsertRow ? L"1" : L"0");
}
if (m_oInsertRowShift.IsInit()) {
WritingStringAttrString(L"insertRowShift", *m_oInsertRowShift ? L"1" : L"0");
}
if (m_oPublished.IsInit()) {
WritingStringAttrString(L"published", *m_oPublished ? L"1" : L"0");
}
writer.WriteString(L">");
if(m_oAutoFilter.IsInit())

View File

@ -846,14 +846,14 @@ namespace OOX
{
m_oEvenFooter->toXML2(writer, _T("evenFooter"));
}
if (m_oFirstFooter.IsInit())
{
m_oFirstFooter->toXML2(writer, _T("firstFooter"));
}
if (m_oFirstHeader.IsInit())
{
m_oFirstHeader->toXML2(writer, _T("firstHeader"));
}
if (m_oFirstFooter.IsInit())
{
m_oFirstFooter->toXML2(writer, _T("firstFooter"));
}
writer.WriteString(_T("</headerFooter>"));
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)

View File

@ -123,30 +123,22 @@ bool OOX::Spreadsheet::CXlsx::Write(const CPath& oDirPath, OOX::CContentTypes &o
return false;
//CApp
OOX::CApp* pApp = new OOX::CApp(this);
if(NULL == m_pApp)
{
OOX::CApp* pApp = new OOX::CApp(this);
pApp->SetDefaults();
smart_ptr<OOX::File> pAppFile(pApp);
Add(pAppFile);
}
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
smart_ptr<OOX::File> pAppFile(pApp);
const OOX::RId oAppRId = Add(pAppFile);
//CCore
OOX::CCore* pCore = new OOX::CCore(this);
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
smart_ptr<OOX::File> pCoreFile(pCore);
const OOX::RId oCoreRId = Add(pCoreFile);
if(NULL == m_pCore)
{
OOX::CCore* pCore = new OOX::CCore(this);
pCore->SetDefaults();
smart_ptr<OOX::File> pCoreFile(pCore);
Add(pCoreFile);
}
//xl
CPath oXlPath = oDirPath / m_pWorkbook->DefaultDirectory();

View File

@ -43,6 +43,10 @@ namespace NSSystemUtils
static const wchar_t* gc_EnvCompanyNameDefault = L"Ascensio System SIA Copyright (c) 2018";
static const wchar_t* gc_EnvMethodEncrypt = L"METHOD_CRYPT";
static const wchar_t* gc_EnvMethodEncryptDefault = L"Strong";
static const wchar_t* gc_EnvCreator = L"CREATOR";
static const wchar_t* gc_EnvCreated = L"CREATED";
static const wchar_t* gc_EnvLastModifiedBy = L"LAST_MODIFIED_BY";
static const wchar_t* gc_EnvModified = L"MODIFIED";
KERNEL_DECL std::wstring GetEnvVariable(const std::wstring& strName);
}

View File

@ -34,9 +34,15 @@
#include "../../../DesktopEditor/common/File.h"
#include "../libxml2/libxml.h"
#include "../libxml2/include/libxml/xmlreader.h"
#include "../libxml2/include/libxml/c14n.h"
#ifdef _IOS
#include <libxml2/libxml/xmlreader.h>
#include <libxml2/libxml/c14n.h>
#else
#include "../libxml2/libxml.h"
#include "../libxml2/include/libxml/xmlreader.h"
#include "../libxml2/include/libxml/c14n.h"
#endif
#include "../include/xmlutils.h"
namespace XmlUtils

View File

@ -61,6 +61,8 @@
8A35A6F5215E5F62005CC806 /* xmllight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A35A6F2215E5F62005CC806 /* xmllight.cpp */; };
8A9FAC2B207772E1007787F6 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A9FAC27207772CC007787F6 /* libicu.a */; };
8ADB5F4220C52EFE00B72D37 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ADB5F4120C52EFE00B72D37 /* version.h */; };
8AF8AA2C22048C01004BDAC2 /* libASCOfficeOdfFile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */; };
8AF8AB6522049072004BDAC2 /* libASCOfficeOdfFileW.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -428,6 +430,34 @@
remoteGlobalIDString = 1732417F1BBECF8400E67992;
remoteInfo = icu;
};
8AF8AA2922048BF5004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 8AABA56822048801006249F6;
remoteInfo = ASCOfficeOdfFile;
};
8AF8AA2D22048C06004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8AABA56722048801006249F6;
remoteInfo = ASCOfficeOdfFile;
};
8AF8AB602204905A004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 8AF8AA3822048F12004BDAC2;
remoteInfo = ASCOfficeOdfFileW;
};
8AF8AB632204906C004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8AF8AA3722048F12004BDAC2;
remoteInfo = ASCOfficeOdfFileW;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -472,7 +502,10 @@
8A35A6F1215E5F62005CC806 /* xmllight_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xmllight_private.h; path = ../../../../../DesktopEditor/xml/src/xmllight_private.h; sourceTree = "<group>"; };
8A35A6F2215E5F62005CC806 /* xmllight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xmllight.cpp; path = ../../../../../DesktopEditor/xml/src/xmllight.cpp; sourceTree = "<group>"; };
8A9FAC22207772CC007787F6 /* icu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = icu.xcodeproj; path = icu/icu.xcodeproj; sourceTree = "<group>"; };
8AC4E6F022058B5A0044119A /* boost.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = boost.framework; path = ../../../../Common/3dParty/boost/ios/framework/boost.framework; sourceTree = "<group>"; };
8ADB5F4120C52EFE00B72D37 /* version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ASCOfficeOdfFile.xcodeproj; path = ../../../../ASCOfficeOdfFile/mac/ASCOfficeOdfFile/ASCOfficeOdfFile.xcodeproj; sourceTree = "<group>"; };
8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ASCOfficeOdfFileW.xcodeproj; path = ../../../../ASCOfficeOdfFileW/mac/ASCOfficeOdfFileW/ASCOfficeOdfFileW.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -506,6 +539,8 @@
69415FE01CB52455003E771B /* libmng_ios.a in Frameworks */,
69415F311CB51D41003E771B /* libASCOfficeDocxFile2Lib_ios.a in Frameworks */,
69415F271CB51C37003E771B /* libOfficeUtils.a in Frameworks */,
8AF8AA2C22048C01004BDAC2 /* libASCOfficeOdfFile.a in Frameworks */,
8AF8AB6522049072004BDAC2 /* libASCOfficeOdfFileW.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -515,6 +550,8 @@
17C27A0B1AC2DB3C00E1D003 = {
isa = PBXGroup;
children = (
8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */,
8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */,
8A9FAC22207772CC007787F6 /* icu.xcodeproj */,
696DD7C91F5D981A0021D0F3 /* OfficeCryptReader.xcodeproj */,
6967B1C91E27B9C400A129E2 /* RtfFormatLib.xcodeproj */,
@ -705,6 +742,7 @@
696DD7C01F5D97DB0021D0F3 /* Frameworks */ = {
isa = PBXGroup;
children = (
8AC4E6F022058B5A0044119A /* boost.framework */,
696DD7C11F5D97DB0021D0F3 /* libcryptopp.a */,
);
name = Frameworks;
@ -817,6 +855,22 @@
name = Products;
sourceTree = "<group>";
};
8AF8AA2622048BF5004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */,
);
name = Products;
sourceTree = "<group>";
};
8AF8AB5D2204905A004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@ -876,6 +930,8 @@
69415FDF1CB5244D003E771B /* PBXTargetDependency */,
69DA32EE1CEE100400E10AF0 /* PBXTargetDependency */,
17C8DEDC1ACD6A3900902C85 /* PBXTargetDependency */,
8AF8AB642204906C004BDAC2 /* PBXTargetDependency */,
8AF8AA2E22048C06004BDAC2 /* PBXTargetDependency */,
);
name = x2tconverter;
productName = X2tConverter;
@ -910,6 +966,14 @@
ProductGroup = 17E17F571AC457CD00BEA2EA /* Products */;
ProjectRef = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
},
{
ProductGroup = 8AF8AA2622048BF5004BDAC2 /* Products */;
ProjectRef = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
},
{
ProductGroup = 8AF8AB5D2204905A004BDAC2 /* Products */;
ProjectRef = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
},
{
ProductGroup = 69DA32271CEE087D00E10AF0 /* Products */;
ProjectRef = 69DA32261CEE087D00E10AF0 /* cximage.xcodeproj */;
@ -1198,6 +1262,20 @@
remoteRef = 8A9FAC26207772CC007787F6 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libASCOfficeOdfFile.a;
remoteRef = 8AF8AA2922048BF5004BDAC2 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libASCOfficeOdfFileW.a;
remoteRef = 8AF8AB602204905A004BDAC2 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXShellScriptBuildPhase section */
@ -1376,6 +1454,16 @@
name = icu;
targetProxy = 8A9FAC29207772D9007787F6 /* PBXContainerItemProxy */;
};
8AF8AA2E22048C06004BDAC2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = ASCOfficeOdfFile;
targetProxy = 8AF8AA2D22048C06004BDAC2 /* PBXContainerItemProxy */;
};
8AF8AB642204906C004BDAC2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = ASCOfficeOdfFileW;
targetProxy = 8AF8AB632204906C004BDAC2 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */

View File

@ -81,6 +81,13 @@
- (int)txt2doct_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_docx2odt:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_xlsx2ods:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_pptx2odp:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_odf2oox:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_odf2oox_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo;
- (int)sdk_zip2dir:(NSString*)nsFrom nsTo:(NSString*)nsTo;

View File

@ -471,6 +471,83 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
return NExtractTools::txt2doct_bin(from, to, temp, oInputParams);
}
- (int)sdk_docx2odt:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::docx2odt(from, to, temp, oInputParams);
}
- (int)sdk_xlsx2ods:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::xlsx2ods(from, to, temp, oInputParams);
}
- (int)sdk_pptx2odp:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::pptx2odp(from, to, temp, oInputParams);
}
- (int)sdk_odf2oox:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::odf2oox(from, to, temp, oInputParams);
}
- (int)sdk_odf2oox_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::odf2oox_dir(from, to, temp, oInputParams);
}
- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);

View File

@ -1,6 +1,6 @@
#ifndef X2T_VERSION_H
#define X2T_VERSION_H
#define X2T_VERSION "2.4.554.0"
#define X2T_VERSION "2.5.562.0"
#endif

View File

@ -35,9 +35,8 @@
#include "../../PdfWriter/OnlineOfficeBinToPdf.h"
#include "cextracttools.h"
#include "../../DesktopEditor/common/Path.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../OfficeUtils/src/OfficeUtils.h"
#include "../../Common/3dParty/pole/pole.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/XlsxSerializer.h"
@ -47,11 +46,11 @@
//#include "../../ASCOfficeDocFile/DocFormatLib/DocFormatLib.h"
#include "../../ASCOfficeTxtFile/TxtXmlFormatLib/Source/TxtXmlFile.h"
#include "../../ASCOfficePPTFile/PPTFormatLib/PPTFormatLib.h"
//#include "../../ASCOfficeOdfFile/src/ConvertOO2OOX.h"
//#include "../../ASCOfficeOdfFileW/source/Oox2OdfConverter/Oox2OdfConverter.h"
#include "../../ASCOfficeOdfFile/src/ConvertOO2OOX.h"
#include "../../ASCOfficeOdfFileW/source/Oox2OdfConverter/Oox2OdfConverter.h"
//#include "../../DesktopEditor/doctrenderer/doctrenderer.h"
//#include "../../DesktopEditor/doctrenderer/docbuilder.h"
#include "../../DesktopEditor/fontengine/ApplicationFonts.h"
#include "../../DesktopEditor/graphics/pro/Fonts.h"
#include "../../DesktopEditor/graphics/MetafileToGraphicsRenderer.h"
//#include "../../PdfReader/PdfReader.h"
#include "../../PdfReader/Src/ErrorConstants.h"
@ -62,19 +61,22 @@
//#include "../../ASCOfficeXlsFile2/source/XlsXlsxConverter/ConvertXls2Xlsx.h"
#include "../../OfficeCryptReader/source/ECMACryptFile.h"
#include "../../DesktopEditor/common/Path.h"
#include "../../DesktopEditor/common/Directory.h"
#include <iostream>
#include <fstream>
namespace NExtractTools
{
void initApplicationFonts(CApplicationFonts& oApplicationFonts, InputParams& params)
void initApplicationFonts(NSFonts::IApplicationFonts* pApplicationFonts, InputParams& params)
{
std::wstring sFontPath = params.getFontPath();
if(sFontPath.empty())
oApplicationFonts.Initialize();
pApplicationFonts->Initialize();
else
oApplicationFonts.InitializeFromFolder(sFontPath);
pApplicationFonts->InitializeFromFolder(sFontPath);
}
std::wstring getExtentionByRasterFormat(int format)
{
@ -1150,20 +1152,34 @@ namespace NExtractTools
// bin -> pdf
_UINT32 bin2pdf (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, bool bPaid, const std::wstring &sThemeDir, InputParams& params)
{
CApplicationFonts oApplicationFonts;
initApplicationFonts(oApplicationFonts, params);
CPdfRenderer pdfWriter(&oApplicationFonts);
NSFonts::IApplicationFonts* pApplicationFonts = NSFonts::NSApplication::Create();
initApplicationFonts(pApplicationFonts, params);
CPdfRenderer pdfWriter(pApplicationFonts, params.getIsPDFA());
pdfWriter.SetTempFolder(sTemp);
pdfWriter.SetThemesPlace(sThemeDir);
std::wstring documentID = params.getDocumentID();
if (false == documentID.empty())
pdfWriter.SetDocumentID(documentID);
std::wstring password = params.getSavePassword();
if (false == password.empty())
pdfWriter.SetPassword(password);
int nReg = (bPaid == false) ? 0 : 1;
_UINT32 nRet = 0;
if (params.getIsNoBase64())
{
return S_OK == pdfWriter.OnlineWordToPdfFromBinary(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
nRet = S_OK == pdfWriter.OnlineWordToPdfFromBinary(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
else
{
return S_OK == pdfWriter.OnlineWordToPdf(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
nRet = S_OK == pdfWriter.OnlineWordToPdf(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
RELEASEOBJECT(pApplicationFonts);
return nRet;
}
_UINT32 bin2image (const std::wstring &sTFileDir, BYTE* pBuffer, LONG lBufferLen, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sThemeDir, InputParams& params)
{
@ -1849,41 +1865,40 @@ namespace NExtractTools
// pptx -> odp
_UINT32 pptx2odp (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedPPTX = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
// NSDirectory::CreateDirectory(sTempUnpackedPPTX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTX, NULL, 0))
// {
// return pptx_dir2odp(sTempUnpackedPPTX, sTo, sTemp, params);
// }
std::wstring sTempUnpackedPPTX = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedPPTX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTX, NULL, 0))
{
return pptx_dir2odp(sTempUnpackedPPTX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
// pptx_dir -> odp
_UINT32 pptx_dir2odp (const std::wstring &sPptxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
return AVS_FILEUTILS_ERROR_CONVERT;
std::wstring sTempUnpackedODP = sTemp + FILE_SEPARATOR_STR + _T("odp_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedODP);
// std::wstring sTempUnpackedODP = sTemp + FILE_SEPARATOR_STR + _T("odp_unpacked");
// NSDirectory::CreateDirectory(sTempUnpackedODP);
//
// std::wstring password = params.getSavePassword();
//
// Oox2Odf::Converter converter(sPptxDir, _T("presentation"), params.getFontPath(), NULL);
//
// int nRes = 0;
// try
// {
// converter.convert();
// converter.write(sTempUnpackedODP, sTemp, password);
//
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODP, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
// }catch(...)
// {
// nRes = AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
Oox2Odf::Converter converter(sPptxDir, _T("presentation"), params.getFontPath(), NULL);
_UINT32 nRes = 0;
try
{
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODP, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODP, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}catch(...)
{
nRes = AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
// rtf -> docx
_UINT32 rtf2docx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
@ -2242,139 +2257,194 @@ namespace NExtractTools
return nRes;
}
_UINT32 odf2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + L"odf_unpacked";
// std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + L"oox_unpacked";
//
// NSDirectory::CreateDirectory(sTempUnpackedOdf);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
// return -3;
//
// NSDirectory::CreateDirectory(sTempUnpackedOox);
//
// if (S_OK == ConvertOO2OOX(sTempUnpackedOdf, sTempUnpackedOox, params.getFontPath(), false, NULL))
// {
// BinDocxRW::CDocxSerializer m_oCDocxSerializer;
//
// m_oCDocxSerializer.setFontDir(params.getFontPath());
//
// int res = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
//
// return res;
// }
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + L"oox_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedOox);
//
// int nRes = odf2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
// if(SUCCEEDED_X2T(nRes))
// {
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + L"odf_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedOdf);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
// return AVS_FILEUTILS_ERROR_CONVERT;;
//
// return S_OK == ConvertOO2OOX(sTempUnpackedOdf, sTo, params.getFontPath(), false, NULL) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + _T("odf_unpacked");
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOdf);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
return -3;
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = ConvertODF2OOXml(sTempUnpackedOdf, sTempUnpackedOox, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
if(SUCCEEDED_X2T(nRes))
{
BinDocxRW::CDocxSerializer m_oCDocxSerializer;
m_oCDocxSerializer.setFontDir(params.getFontPath());
nRes = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = odf2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
if(SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, true)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + _T("odf_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOdf);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
return AVS_FILEUTILS_ERROR_CONVERT;;
_UINT32 nRes = ConvertODF2OOXml(sTempUnpackedOdf, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
return nRes;
}
//odf flat
_UINT32 odf_flat2oot(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sResultDoctDir = sTemp + FILE_SEPARATOR_STR + _T("doct_unpacked");
std::wstring sResultDoctFileEditor = sResultDoctDir + FILE_SEPARATOR_STR + _T("Editor.bin");
NSDirectory::CreateDirectory(sResultDoctDir);
_UINT32 nRes = odf_flat2oot_bin(sFrom, sResultDoctFileEditor, sTemp, params);
if (SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDoctDir, sTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = ConvertODF2OOXml(sFrom, sTempUnpackedOox, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
if(SUCCEEDED_X2T(nRes))
{
BinDocxRW::CDocxSerializer m_oCDocxSerializer;
m_oCDocxSerializer.setFontDir(params.getFontPath());
nRes = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = odf_flat2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
if(SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, true)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
return AVS_FILEUTILS_ERROR_CONVERT;
//return ConvertODF2OOXml(sFrom, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
_UINT32 nRes = ConvertODF2OOXml(sFrom, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
return nRes;
}
// docx -> odt
_UINT32 docx2odt (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedDOCX = sTemp + FILE_SEPARATOR_STR + L"docx_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedDOCX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCX, NULL, 0))
// {
// return docx_dir2odt(sTempUnpackedDOCX, sTo, sTemp, params);
// }
// return AVS_FILEUTILS_ERROR_CONVERT;
return AVS_FILEUTILS_ERROR_CONVERT;
}
// docx dir -> odt
_UINT32 docx_dir2odt (const std::wstring &sDocxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedODT = sTemp + FILE_SEPARATOR_STR + L"odt_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedODT);
//
// Oox2Odf::Converter converter(sDocxDir, L"text", params.getFontPath(), NULL);
//
// int nRes = 0;
// try
// {
// converter.convert();
// converter.write(sTempUnpackedODT);
//
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODT, sTo, -1)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
// }catch(...)
// {
// nRes = AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
return 0;
}
// xlsx -> ods
_UINT32 xlsx2ods (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + L"xlsx_unpacked";
//
// NSDirectory::CreateDirectory(sTempUnpackedXLSX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
// {
// return xlsx_dir2ods(sTempUnpackedXLSX, sTo, sTemp, params);
// }
// docx -> odt
_UINT32 docx2odt (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedDOCX = sTemp + FILE_SEPARATOR_STR + _T("docx_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedDOCX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCX, NULL, 0))
{
return docx_dir2odt(sTempUnpackedDOCX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 xlsx_dir2ods (const std::wstring &sXlsxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
{
// std::wstring sTempUnpackedODS = sTemp + FILE_SEPARATOR_STR + L"ods_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedODS);
//
// try
// {
// Oox2Odf::Converter converter(sXlsxDir, L"spreadsheet",params.getFontPath(), NULL);
//
// converter.convert();
// converter.write(sTempUnpackedODS);
//
// COfficeUtils oCOfficeUtils(NULL);
// int nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODS, sTo, -1)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
//
// return nRes;
// }catch(...)
// {
// }
return AVS_FILEUTILS_ERROR_CONVERT;
}
}
// docx dir -> odt
_UINT32 docx_dir2odt (const std::wstring &sDocxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedODT = sTemp + FILE_SEPARATOR_STR + L"odt_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedODT);
Oox2Odf::Converter converter(sDocxDir, L"text", params.getFontPath(), NULL);
_UINT32 nRes = 0;
try
{
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODT, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODT, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}catch(...)
{
nRes = AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
// xlsx -> ods
_UINT32 xlsx2ods (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + L"xlsx_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedXLSX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
{
return xlsx_dir2ods(sTempUnpackedXLSX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 xlsx_dir2ods (const std::wstring &sXlsxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
{
std::wstring sTempUnpackedODS = sTemp + FILE_SEPARATOR_STR + L"ods_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedODS);
try
{
Oox2Odf::Converter converter(sXlsxDir, L"spreadsheet", params.getFontPath(), NULL);
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODS, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
_UINT32 nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODS, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
return nRes;
}catch(...)
{
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 mscrypt2oot (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sResultOotDir = sTemp + FILE_SEPARATOR_STR + _T("oot_unpacked");
@ -3496,8 +3566,8 @@ namespace NExtractTools
_UINT32 fromCrossPlatform(const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params)
{
int nRes = 0;
CApplicationFonts oApplicationFonts;
initApplicationFonts(oApplicationFonts, params);
NSFonts::IApplicationFonts* pApplicationFonts = NSFonts::NSApplication::Create();
initApplicationFonts(pApplicationFonts, params);
if(AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF == nFormatTo)
{
if(nFormatFrom == nFormatTo)

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// AppDelegate.h
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import <UIKit/UIKit.h>

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// AppDelegate.m
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import "AppDelegate.h"

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// ViewController.h
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import <UIKit/UIKit.h>

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// ViewController.m
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import "ViewController.h"
@ -43,27 +36,30 @@
#import "OfficeFileErrorDescription.h"
@interface ViewController ()
@property (strong) NSString *fonts;
@property (strong) NSString *temp;
@end
@implementation ViewController
- (void)viewDidLoad
{
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"x2t version converter: %@", [X2tConverter version]);
NSLog(@"%@", [X2tConverter delimiters]);
NSLog(@"%@", [X2tConverter encodingings]);
self.fonts = @"/System/Library/Fonts";
self.temp = NSTemporaryDirectory();
[self testCSV];
[self testDOCX];
[self testXLSX];
[self testODT];
}
- (void)testDOCX
{
- (void)testDOCX {
{
NSLog(@"==================== OPEN EMPTY DOCX ====================");
@ -71,12 +67,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@empty.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN EMPTY DOCX : %d",result);
} else {
@ -91,12 +85,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@demo.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN DOCX : %d",result);
} else {
@ -111,12 +103,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@demo.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
[conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
[conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
NSLog(@"%@",fullFileNameTo);
@ -128,14 +118,13 @@
X2tConverter* conv2 = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
[conv2 sdk_doct_bin2docx:fullFileNameTo nsTo:docxOut nsTemp:outTemp nsFontPath:fontsPath fromChanges:@(NO) nsThemeDir:@""];
[conv2 sdk_doct_bin2docx:fullFileNameTo nsTo:docxOut nsTemp:outTemp nsFontPath:self.fonts fromChanges:@(NO) nsThemeDir:@""];
NSLog(@"doct output: %@",fullFileNameTo);
}
}
- (void)testXLSX
{
- (void)testXLSX {
{
NSLog(@"==================== OPEN EMPTY XLSX ====================");
@ -143,12 +132,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@empty.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN EMPTY XLSX : %d",result);
} else {
@ -163,12 +150,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@price.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN XLSX : %d",result);
} else {
@ -183,13 +168,11 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@crypted.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.password = @"555";
conv.isNoBase64 = YES;
if ((int)AVS_FILEUTILS_ERROR_CONVERT_PASSWORD == [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath]) {
if ((int)AVS_FILEUTILS_ERROR_CONVERT_PASSWORD == [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts]) {
NSLog(@"Error password : %@",conv.password);
}
@ -206,13 +189,12 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@test.bin", NSTemporaryDirectory()];
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
conv.delimiter = @(4);
conv.encoding = @(46);
int result = [conv sdk_csv2xlst_bin:fullFileName nsTo:fullFileNameTo nsFontPath:fontsPath];
int result = [conv sdk_csv2xlst_bin:fullFileName nsTo:fullFileNameTo nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN CSV : %d",result);
} else {
@ -221,16 +203,120 @@
}
}
- (void)didReceiveMemoryWarning
{
- (void)testODT {
{
NSLog(@"==================== ODT TO DOCX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"odt"];
NSString* to = [NSString stringWithFormat:@"%@test_odt_to_docx.docx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODT TO DOCX : %d",result);
} else {
NSLog(@"odt output : %@", to);
}
}
{
NSLog(@"==================== DOCX TO ODT ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"docx"];
NSString* to = [NSString stringWithFormat:@"%@docx_to_odt_test.odt", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2odt:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR DOCX TO ODT : %d",result);
} else {
NSLog(@"odt output : %@", to);
}
}
{
NSLog(@"==================== ODS TO XLSX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ods"];
NSString* to = [NSString stringWithFormat:@"%@test_ods_to_xlsx.xlsx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODS TO XLSX : %d",result);
} else {
NSLog(@"ods output : %@", to);
}
}
{
NSLog(@"==================== XLSX TO ODS ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"price" ofType:@"xlsx"];
NSString* to = [NSString stringWithFormat:@"%@xlsx_to_ods_test.ods", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2ods:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR XLSX TO ODS : %d",result);
} else {
NSLog(@"ods output : %@", to);
}
}
{
NSLog(@"==================== ODP TO PPTX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"odp"];
NSString* to = [NSString stringWithFormat:@"%@test_odp_to_pptx.pptx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODP TO PPTX : %d",result);
} else {
NSLog(@"odp output : %@", to);
}
}
{
NSLog(@"==================== PPTX TO ODP ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"pptx"];
NSString* to = [NSString stringWithFormat:@"%@pptx_to_odp_test.odp", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_pptx2odp:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR PPTX TO ODP : %d",result);
} else {
NSLog(@"odp output : %@", to);
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
#pragma mark -
#pragma Utils
- (void)clearDirectory:(NSString*)directory
{
- (void)clearDirectory:(NSString*)directory {
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
for (NSString *file in [fm contentsOfDirectoryAtPath:directory error:&error]) {
@ -241,8 +327,7 @@
}
}
- (void)createDirectory:(NSString*)directory
{
- (void)createDirectory:(NSString*)directory {
NSFileManager *fileManager= [NSFileManager defaultManager];
NSError *error = nil;
if(![fileManager createDirectoryAtPath:directory withIntermediateDirectories:YES attributes:nil error:&error]) {

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -24,6 +24,11 @@
699690731E2F925200B620CD /* libc++abi.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 699690721E2F925200B620CD /* libc++abi.tbd */; };
69BE370C1F60129600CBA47B /* crypted.xlsx in Resources */ = {isa = PBXBuildFile; fileRef = 69BE370B1F60129600CBA47B /* crypted.xlsx */; };
8A94F3CB207CE7D600EC05D2 /* test.csv in Resources */ = {isa = PBXBuildFile; fileRef = 8A94F3C9207CE7D600EC05D2 /* test.csv */; };
8AC4E6EF22058B2A0044119A /* boost.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AC4E6EE22058B290044119A /* boost.framework */; };
8AC4E6F52205999B0044119A /* test.odt in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F22205999B0044119A /* test.odt */; };
8AC4E6F62205999B0044119A /* test.ods in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F32205999B0044119A /* test.ods */; };
8AC4E6F72205999B0044119A /* test.odp in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F42205999B0044119A /* test.odp */; };
8AC4E7282205A4D10044119A /* demo.pptx in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E7272205A4D10044119A /* demo.pptx */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -70,6 +75,11 @@
8A1045C520F4B55F005A0F61 /* libicuuc.58.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicuuc.58.dylib; path = ../../../Common/3dParty/icu/mac_64/build/libicuuc.58.dylib; sourceTree = "<group>"; };
8A94F3C9207CE7D600EC05D2 /* test.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.csv; sourceTree = "<group>"; };
8A9FAD36207781C5007787F6 /* OfficeFileErrorDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfficeFileErrorDescription.h; path = ../../../../Common/OfficeFileErrorDescription.h; sourceTree = "<group>"; };
8AC4E6EE22058B290044119A /* boost.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = boost.framework; path = ../../../Common/3dParty/boost/ios/framework/boost.framework; sourceTree = "<group>"; };
8AC4E6F22205999B0044119A /* test.odt */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.odt; sourceTree = "<group>"; };
8AC4E6F32205999B0044119A /* test.ods */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.ods; sourceTree = "<group>"; };
8AC4E6F42205999B0044119A /* test.odp */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.odp; sourceTree = "<group>"; };
8AC4E7272205A4D10044119A /* demo.pptx */ = {isa = PBXFileReference; lastKnownFileType = file; path = demo.pptx; sourceTree = "<group>"; };
8AED79AA20F50164008BB78E /* libicui18n.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicui18n.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicui18n.a"; sourceTree = "<group>"; };
8AED79AC20F50164008BB78E /* libicuio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicuio.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicuio.a"; sourceTree = "<group>"; };
8AED79AD20F50164008BB78E /* libicutu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicutu.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicutu.a"; sourceTree = "<group>"; };
@ -84,6 +94,7 @@
699690731E2F925200B620CD /* libc++abi.tbd in Frameworks */,
6967BEB31E27D5BE00A129E2 /* libiconv.tbd in Frameworks */,
69920A431E016FAB00E7E6EE /* libX2tConverter.a in Frameworks */,
8AC4E6EF22058B2A0044119A /* boost.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -147,14 +158,18 @@
17DAB70A1ACC3B58005AF479 /* Files */ = {
isa = PBXGroup;
children = (
17DAB70D1ACC3B90005AF479 /* demo.docx */,
8AC4E7272205A4D10044119A /* demo.pptx */,
69BE370B1F60129600CBA47B /* crypted.xlsx */,
177B1B461B5FCD34001FC26F /* shapes.xlsx */,
1773201E1B4FB9B700BB22FC /* price.xlsx */,
1734C9A51B4C251D00C2A6C8 /* smeta.xlsx */,
17DAB70D1ACC3B90005AF479 /* demo.docx */,
697CDFE72049649800C2638C /* empty.docx */,
697CDFE92049649800C2638C /* empty.xlsx */,
8A94F3C9207CE7D600EC05D2 /* test.csv */,
8AC4E6F42205999B0044119A /* test.odp */,
8AC4E6F32205999B0044119A /* test.ods */,
8AC4E6F22205999B0044119A /* test.odt */,
);
name = Files;
sourceTree = "<group>";
@ -162,6 +177,7 @@
6967BEB11E27D5BE00A129E2 /* Frameworks */ = {
isa = PBXGroup;
children = (
8AC4E6EE22058B290044119A /* boost.framework */,
8AED79AA20F50164008BB78E /* libicui18n.a */,
8AED79AC20F50164008BB78E /* libicuio.a */,
8AED79AD20F50164008BB78E /* libicutu.a */,
@ -260,14 +276,18 @@
buildActionMask = 2147483647;
files = (
8A94F3CB207CE7D600EC05D2 /* test.csv in Resources */,
8AC4E6F72205999B0044119A /* test.odp in Resources */,
8AC4E6F52205999B0044119A /* test.odt in Resources */,
69BE370C1F60129600CBA47B /* crypted.xlsx in Resources */,
17DAB6871ACC371F005AF479 /* Main.storyboard in Resources */,
17DAB68C1ACC371F005AF479 /* LaunchScreen.xib in Resources */,
8AC4E7282205A4D10044119A /* demo.pptx in Resources */,
17DAB6891ACC371F005AF479 /* Images.xcassets in Resources */,
697CDFEA2049649800C2638C /* empty.docx in Resources */,
1734C9A61B4C251D00C2A6C8 /* smeta.xlsx in Resources */,
697CDFEB2049649800C2638C /* empty.xlsx in Resources */,
177B1B471B5FCD34001FC26F /* shapes.xlsx in Resources */,
8AC4E6F62205999B0044119A /* test.ods in Resources */,
1773201F1B4FB9B700BB22FC /* price.xlsx in Resources */,
17DAB70E1ACC3B96005AF479 /* demo.docx in Resources */,
);
@ -436,6 +456,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 2WH24U26GJ;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../Common/3dParty/boost/ios/framework";
INFOPLIST_FILE = TestIOSX2tConverter/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -461,6 +482,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 2WH24U26GJ;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../Common/3dParty/boost/ios/framework";
INFOPLIST_FILE = TestIOSX2tConverter/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";

View File

@ -50,6 +50,8 @@
#include "../../ASCOfficePPTXFile/PPTXFormat/Theme.h"
#include "../../ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/Common.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/App.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/Core.h"
#include "../../Common/DocxFormat/Source/XlsxFormat/Workbook/Workbook.h"
#include "../../Common/DocxFormat/Source/XlsxFormat/Worksheets/Worksheet.h"
@ -69,6 +71,8 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Media/VbaProject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/JsaProject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/VmlDrawing.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
namespace BinXlsxRW
{
@ -5063,6 +5067,30 @@ namespace BinXlsxRW
oBufferedStream.Seek(mtiOffBits);
switch(mtiType)
{
case c_oSerTableTypes::App:
{
PPTX::App oApp(NULL);
oApp.fromPPTY(&oBufferedStream);
OOX::CApp* pApp = new OOX::CApp(NULL);
pApp->FromPptxApp(&oApp);
pApp->SetRequiredDefaults();
oXlsx.m_pApp = pApp;
smart_ptr<OOX::File> oCurFile(pApp);
oXlsx.Add(oCurFile);
}
break;
case c_oSerTableTypes::Core:
{
PPTX::Core oCore(NULL);
oCore.fromPPTY(&oBufferedStream);
OOX::CCore* pCore = new OOX::CCore(NULL);
pCore->FromPptxCore(&oCore);
pCore->SetRequiredDefaults();
oXlsx.m_pCore = pCore;
smart_ptr<OOX::File> oCurFile(pCore);
oXlsx.Add(oCurFile);
}
break;
case c_oSerTableTypes::Styles:
{
oXlsx.CreateStyles();