diff --git a/.gitattributes b/.gitattributes
index 3727d57084..1ee6a53633 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -9293,6 +9293,31 @@ UnicodeConverter/test/testfiles/32_utf8.txt svn_mime_002dtype=application%2Focte
UnicodeConverter/test/testfiles/41_utf8.txt svn_mime_002dtype=application%2Foctet-stream
UnicodeConverter/test/testfiles/42_utf8.txt svn_mime_002dtype=application%2Foctet-stream
UnicodeConverter/test/testfiles/43_utf8.txt svn_mime_002dtype=application%2Foctet-stream
+X2tConverter/build/Mac/X2tConverter svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter.xcworkspace svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate svn_mime_002dtype=application%2Foctet-stream
+X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/xcdebugger svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate svn_mime_002dtype=application%2Foctet-stream
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate svn_mime_002dtype=application%2Foctet-stream
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad svnc_tsvn_003alogminsize=5
+X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes svnc_tsvn_003alogminsize=5
X2tConverter/test/TestIOSX2tConverter svnc_tsvn_003alogminsize=5
X2tConverter/test/TestIOSX2tConverter/TestIOSX2tConverter svnc_tsvn_003alogminsize=5
X2tConverter/test/TestIOSX2tConverter/TestIOSX2tConverter.xcodeproj svnc_tsvn_003alogminsize=5
diff --git a/X2tConverter/build/Mac/X2tConverter.xcworkspace/contents.xcworkspacedata b/X2tConverter/build/Mac/X2tConverter.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..fed4bb9489
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate b/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000..723c215907
Binary files /dev/null and b/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000000..e9d7d80208
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.pbxproj b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..b617f8bd0e
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.pbxproj
@@ -0,0 +1,659 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXAggregateTarget section */
+ 17C1E3E41AD40E2E001E3D18 /* X2tConverter_framework */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 17C1E3E71AD40E2E001E3D18 /* Build configuration list for PBXAggregateTarget "X2tConverter_framework" */;
+ buildPhases = (
+ 17C1E3E51AD40E2E001E3D18 /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = X2tConverter_framework;
+ productName = Build_framework_ios;
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ 177C43321AD7C0EF00055DD7 /* libcurl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 177C432F1AD7C0D100055DD7 /* libcurl.a */; };
+ 17C27A181AC2DB3D00E1D003 /* X2tConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C27A171AC2DB3D00E1D003 /* X2tConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 17C27A1A1AC2DB3D00E1D003 /* X2tConverter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 17C27A191AC2DB3D00E1D003 /* X2tConverter.mm */; };
+ 17C8DEC71ACD696100902C85 /* X2tConverter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 17C27A191AC2DB3D00E1D003 /* X2tConverter.mm */; };
+ 17C8DECC1ACD696100902C85 /* X2tConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C27A171AC2DB3D00E1D003 /* X2tConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 17C8DEDD1ACD6A3D00902C85 /* libASCOfficeDocxFile2Lib_ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17C1FECB1ACC4305006B99B3 /* libASCOfficeDocxFile2Lib_ios.a */; };
+ 17E17F5E1AC457E300BEA2EA /* libASCOfficeDocxFile2Lib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E17F5B1AC457CD00BEA2EA /* libASCOfficeDocxFile2Lib.a */; };
+ 698AF4C31C0745980080D889 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 698AF4C01C0740960080D889 /* libicu.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 177C432E1AD7C0D100055DD7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 177C432A1AD7C0D000055DD7 /* libcurl.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = CD8AE2B416187F770095DC1B;
+ remoteInfo = curl;
+ };
+ 177C43301AD7C0E400055DD7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 177C432A1AD7C0D000055DD7 /* libcurl.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = CD8AE2B316187F770095DC1B;
+ remoteInfo = curl;
+ };
+ 17C1FECA1ACC4305006B99B3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 17C1FEC21ACC42C4006B99B3;
+ remoteInfo = ASCOfficeDocxFile2Lib_ios;
+ };
+ 17C8DEDB1ACD6A3900902C85 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 17C1FE921ACC42C4006B99B3;
+ remoteInfo = ASCOfficeDocxFile2Lib_ios;
+ };
+ 17E17F5A1AC457CD00BEA2EA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 17E17EDC1AC453F800BEA2EA;
+ remoteInfo = ASCOfficeDocxFile2Lib;
+ };
+ 17E17F5C1AC457D800BEA2EA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 17E17EDB1AC453F800BEA2EA;
+ remoteInfo = ASCOfficeDocxFile2Lib;
+ };
+ 698AF4BF1C0740960080D889 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 698AF4BB1C0740960080D889 /* icu.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 173241801BBECF8400E67992;
+ remoteInfo = icu;
+ };
+ 698AF4C11C0745930080D889 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 698AF4BB1C0740960080D889 /* icu.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1732417F1BBECF8400E67992;
+ remoteInfo = icu;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 177C432A1AD7C0D000055DD7 /* libcurl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libcurl.xcodeproj; path = ../../../ServerComponents/Common/3dParty/curl/projects/Mac/libcurl.xcodeproj; sourceTree = ""; };
+ 17C27A141AC2DB3C00E1D003 /* libX2tConverter_mac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libX2tConverter_mac.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 17C27A171AC2DB3D00E1D003 /* X2tConverter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = X2tConverter.h; sourceTree = ""; };
+ 17C27A191AC2DB3D00E1D003 /* X2tConverter.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = X2tConverter.mm; sourceTree = ""; };
+ 17C8DED01ACD696100902C85 /* libX2tConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libX2tConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ASCOfficeDocxFile2Lib.xcodeproj; path = ../../../ServerComponents/ASCOfficeDocxFile2/Mac/ASCOfficeDocxFile2Lib.xcodeproj; sourceTree = ""; };
+ 698AF4BB1C0740960080D889 /* icu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = icu.xcodeproj; path = ../../../ServerComponents/UnicodeConverter/icubuilds/mac/icu/icu.xcodeproj; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 17C27A111AC2DB3C00E1D003 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17E17F5E1AC457E300BEA2EA /* libASCOfficeDocxFile2Lib.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 17C8DEC81ACD696100902C85 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 698AF4C31C0745980080D889 /* libicu.a in Frameworks */,
+ 177C43321AD7C0EF00055DD7 /* libcurl.a in Frameworks */,
+ 17C8DEDD1ACD6A3D00902C85 /* libASCOfficeDocxFile2Lib_ios.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 177C432B1AD7C0D000055DD7 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 177C432F1AD7C0D100055DD7 /* libcurl.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 17C27A0B1AC2DB3C00E1D003 = {
+ isa = PBXGroup;
+ children = (
+ 698AF4BB1C0740960080D889 /* icu.xcodeproj */,
+ 177C432A1AD7C0D000055DD7 /* libcurl.xcodeproj */,
+ 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */,
+ 17C27A161AC2DB3C00E1D003 /* SDK */,
+ 17C27A151AC2DB3C00E1D003 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 17C27A151AC2DB3C00E1D003 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 17C27A141AC2DB3C00E1D003 /* libX2tConverter_mac.a */,
+ 17C8DED01ACD696100902C85 /* libX2tConverter.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 17C27A161AC2DB3C00E1D003 /* SDK */ = {
+ isa = PBXGroup;
+ children = (
+ 17C27A171AC2DB3D00E1D003 /* X2tConverter.h */,
+ 17C27A191AC2DB3D00E1D003 /* X2tConverter.mm */,
+ );
+ name = SDK;
+ path = X2tConverter;
+ sourceTree = "";
+ };
+ 17E17F571AC457CD00BEA2EA /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 17E17F5B1AC457CD00BEA2EA /* libASCOfficeDocxFile2Lib.a */,
+ 17C1FECB1ACC4305006B99B3 /* libASCOfficeDocxFile2Lib_ios.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 698AF4BC1C0740960080D889 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 698AF4C01C0740960080D889 /* libicu.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 17C27A121AC2DB3C00E1D003 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17C27A181AC2DB3D00E1D003 /* X2tConverter.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 17C8DECB1ACD696100902C85 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17C8DECC1ACD696100902C85 /* X2tConverter.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 17C27A131AC2DB3C00E1D003 /* X2tConverter_mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 17C27A281AC2DB3F00E1D003 /* Build configuration list for PBXNativeTarget "X2tConverter_mac" */;
+ buildPhases = (
+ 17C27A101AC2DB3C00E1D003 /* Sources */,
+ 17C27A111AC2DB3C00E1D003 /* Frameworks */,
+ 17C27A121AC2DB3C00E1D003 /* Headers */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 17E17F5D1AC457D800BEA2EA /* PBXTargetDependency */,
+ );
+ name = X2tConverter_mac;
+ productName = X2tConverter;
+ productReference = 17C27A141AC2DB3C00E1D003 /* libX2tConverter_mac.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ 17C8DEC11ACD696100902C85 /* X2tConverter */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 17C8DECD1ACD696100902C85 /* Build configuration list for PBXNativeTarget "X2tConverter" */;
+ buildPhases = (
+ 17C8DEC61ACD696100902C85 /* Sources */,
+ 17C8DEC81ACD696100902C85 /* Frameworks */,
+ 17C8DECB1ACD696100902C85 /* Headers */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 698AF4C21C0745930080D889 /* PBXTargetDependency */,
+ 177C43311AD7C0E400055DD7 /* PBXTargetDependency */,
+ 17C8DEDC1ACD6A3900902C85 /* PBXTargetDependency */,
+ );
+ name = X2tConverter;
+ productName = X2tConverter;
+ productReference = 17C8DED01ACD696100902C85 /* libX2tConverter.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 17C27A0C1AC2DB3C00E1D003 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0710;
+ ORGANIZATIONNAME = "Ascensio System SIA";
+ TargetAttributes = {
+ 17C27A131AC2DB3C00E1D003 = {
+ CreatedOnToolsVersion = 6.2;
+ };
+ };
+ };
+ buildConfigurationList = 17C27A0F1AC2DB3C00E1D003 /* Build configuration list for PBXProject "X2tConverter" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 17C27A0B1AC2DB3C00E1D003;
+ productRefGroup = 17C27A151AC2DB3C00E1D003 /* Products */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 17E17F571AC457CD00BEA2EA /* Products */;
+ ProjectRef = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
+ },
+ {
+ ProductGroup = 698AF4BC1C0740960080D889 /* Products */;
+ ProjectRef = 698AF4BB1C0740960080D889 /* icu.xcodeproj */;
+ },
+ {
+ ProductGroup = 177C432B1AD7C0D000055DD7 /* Products */;
+ ProjectRef = 177C432A1AD7C0D000055DD7 /* libcurl.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 17C27A131AC2DB3C00E1D003 /* X2tConverter_mac */,
+ 17C8DEC11ACD696100902C85 /* X2tConverter */,
+ 17C1E3E41AD40E2E001E3D18 /* X2tConverter_framework */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 177C432F1AD7C0D100055DD7 /* libcurl.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libcurl.a;
+ remoteRef = 177C432E1AD7C0D100055DD7 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 17C1FECB1ACC4305006B99B3 /* libASCOfficeDocxFile2Lib_ios.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libASCOfficeDocxFile2Lib_ios.a;
+ remoteRef = 17C1FECA1ACC4305006B99B3 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 17E17F5B1AC457CD00BEA2EA /* libASCOfficeDocxFile2Lib.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libASCOfficeDocxFile2Lib.a;
+ remoteRef = 17E17F5A1AC457CD00BEA2EA /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 698AF4C01C0740960080D889 /* libicu.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libicu.a;
+ remoteRef = 698AF4BF1C0740960080D889 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 17C1E3E51AD40E2E001E3D18 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "SIMULATOR_LIBRARY_PATH=\"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a\" &&\nDEVICE_LIBRARY_PATH=\"${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a\" &&\nUNIVERSAL_LIBRARY_DIR=\"${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal\" &&\nFRAMEWORK=\"/Volumes/Storage/SDK/${PROJECT_NAME}.framework\" &&\n\n# Create framework directory structure.\nrm -rf \"${FRAMEWORK}\" &&\nmkdir -p \"${UNIVERSAL_LIBRARY_DIR}\" &&\n\n# Generate universal binary for the device and simulator.\nlipo \"${SIMULATOR_LIBRARY_PATH}\" \"${DEVICE_LIBRARY_PATH}\" -create -output \"${FRAMEWORK}\"\n\ncp ${PROJECT_DIR}/X2tConverter/X2tConverter.h ${PROJECT_DIR}/../../../ServerComponents/SDK/include/X2tConverter.h";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 17C27A101AC2DB3C00E1D003 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17C27A1A1AC2DB3D00E1D003 /* X2tConverter.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 17C8DEC61ACD696100902C85 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17C8DEC71ACD696100902C85 /* X2tConverter.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 177C43311AD7C0E400055DD7 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = curl;
+ targetProxy = 177C43301AD7C0E400055DD7 /* PBXContainerItemProxy */;
+ };
+ 17C8DEDC1ACD6A3900902C85 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = ASCOfficeDocxFile2Lib_ios;
+ targetProxy = 17C8DEDB1ACD6A3900902C85 /* PBXContainerItemProxy */;
+ };
+ 17E17F5D1AC457D800BEA2EA /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = ASCOfficeDocxFile2Lib;
+ targetProxy = 17E17F5C1AC457D800BEA2EA /* PBXContainerItemProxy */;
+ };
+ 698AF4C21C0745930080D889 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = icu;
+ targetProxy = 698AF4C11C0745930080D889 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 17C1E3E81AD40E2E001E3D18 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = X2tConverter;
+ };
+ name = Debug;
+ };
+ 17C1E3E91AD40E2E001E3D18 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = X2tConverter;
+ };
+ name = Release;
+ };
+ 17C27A261AC2DB3F00E1D003 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 17C27A271AC2DB3F00E1D003 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 17C27A291AC2DB3F00E1D003 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../../../ServerComponents/SDK/lib";
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ PPTX_DEF,
+ PPT_DEF,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ NODOCX,
+ FILTER_FLATE_DECODE_ENABLED,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ BUILD_CONFIG_FULL_VERSION,
+ DONT_WRITE_EMBEDDED_FONTS,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ unix,
+ MAC,
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ /usr/include/libxml2,
+ "$(PROJECT_DIR)/../../../../DesktopEditor/freetype-2.5.2/include",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PUBLIC_HEADERS_FOLDER_PATH = ../include;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 17C27A2A1AC2DB3F00E1D003 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../../../ServerComponents/SDK/lib";
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ PPTX_DEF,
+ PPT_DEF,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ NODOCX,
+ FILTER_FLATE_DECODE_ENABLED,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ BUILD_CONFIG_FULL_VERSION,
+ DONT_WRITE_EMBEDDED_FONTS,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ unix,
+ MAC,
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ /usr/include/libxml2,
+ "$(PROJECT_DIR)/../../../../DesktopEditor/freetype-2.5.2/include",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PUBLIC_HEADERS_FOLDER_PATH = ../include;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 17C8DECE1ACD696100902C85 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
+ ENABLE_BITCODE = NO;
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ PPTX_DEF,
+ PPT_DEF,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ NODOCX,
+ FILTER_FLATE_DECODE_ENABLED,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ BUILD_CONFIG_FULL_VERSION,
+ DONT_WRITE_EMBEDDED_FONTS,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ unix,
+ MAC,
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ /usr/include/libxml2,
+ "$(PROJECT_DIR)/../../../../DesktopEditor/freetype-2.5.2/include",
+ );
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = X2tConverter;
+ PUBLIC_HEADERS_FOLDER_PATH = ../include;
+ SDKROOT = iphoneos;
+ VALID_ARCHS = "arm64 armv7 armv7s";
+ };
+ name = Debug;
+ };
+ 17C8DECF1ACD696100902C85 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
+ ENABLE_BITCODE = NO;
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ PPTX_DEF,
+ PPT_DEF,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ NODOCX,
+ FILTER_FLATE_DECODE_ENABLED,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ BUILD_CONFIG_FULL_VERSION,
+ DONT_WRITE_EMBEDDED_FONTS,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ unix,
+ MAC,
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ /usr/include/libxml2,
+ "$(PROJECT_DIR)/../../../../DesktopEditor/freetype-2.5.2/include",
+ );
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = X2tConverter;
+ PUBLIC_HEADERS_FOLDER_PATH = ../include;
+ SDKROOT = iphoneos;
+ VALID_ARCHS = "arm64 armv7 armv7s";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 17C1E3E71AD40E2E001E3D18 /* Build configuration list for PBXAggregateTarget "X2tConverter_framework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17C1E3E81AD40E2E001E3D18 /* Debug */,
+ 17C1E3E91AD40E2E001E3D18 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 17C27A0F1AC2DB3C00E1D003 /* Build configuration list for PBXProject "X2tConverter" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17C27A261AC2DB3F00E1D003 /* Debug */,
+ 17C27A271AC2DB3F00E1D003 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 17C27A281AC2DB3F00E1D003 /* Build configuration list for PBXNativeTarget "X2tConverter_mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17C27A291AC2DB3F00E1D003 /* Debug */,
+ 17C27A2A1AC2DB3F00E1D003 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 17C8DECD1ACD696100902C85 /* Build configuration list for PBXNativeTarget "X2tConverter" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17C8DECE1ACD696100902C85 /* Debug */,
+ 17C8DECF1ACD696100902C85 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 17C27A0C1AC2DB3C00E1D003 /* Project object */;
+}
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..db8a90d8cd
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000..da80b74589
Binary files /dev/null and b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000000..5defde399d
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter/X2tConverter.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,102 @@
+
+
+
+
+ SchemeUserState
+
+ Build_framework_ios.xcscheme
+
+ orderHint
+ 44
+
+ X2tConverter.xcscheme
+
+ orderHint
+ 20
+
+ X2tConverter_framework.xcscheme
+
+ orderHint
+ 21
+
+ X2tConverter_ios.xcscheme
+
+ orderHint
+ 43
+
+ X2tConverter_mac.xcscheme
+
+ orderHint
+ 42
+
+
+ SuppressBuildableAutocreation
+
+ 171E6AC11ACD5599005B8529
+
+ primary
+
+
+ 171E6ACB1ACD55FE005B8529
+
+ primary
+
+
+ 171E6ADE1ACD5617005B8529
+
+ primary
+
+
+ 17C1E3E41AD40E2E001E3D18
+
+ primary
+
+
+ 17C27A131AC2DB3C00E1D003
+
+ primary
+
+
+ 17C27A1E1AC2DB3F00E1D003
+
+ primary
+
+
+ 17C27A2E1AC2DC5D00E1D003
+
+ primary
+
+
+ 17C8DEC11ACD696100902C85
+
+ primary
+
+
+ 17DAB6A71ACC3790005AF479
+
+ primary
+
+
+ 17DAB6B71ACC37A8005AF479
+
+ primary
+
+
+ 17DAB6CA1ACC37C5005AF479
+
+ primary
+
+
+ 17DAB6D41ACC37C5005AF479
+
+ primary
+
+
+ 17DAB6E21ACC3840005AF479
+
+ primary
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.h b/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.h
new file mode 100644
index 0000000000..d088fe3f31
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.h
@@ -0,0 +1,36 @@
+//
+// X2tConverter.h
+// X2tConverter
+//
+// Created by alexey.musinov on 25.03.15.
+// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
+//
+
+#import
+
+@interface X2tConverter : NSObject
+
+- (int)sdk_docx2doct_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_docx2doct:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_doct_bin2docx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+- (int)sdk_doct2docx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+
+- (int)sdk_xlsx2xlst_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_xlsx2xlst:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_xlst_bin2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+- (int)sdk_xlst2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+
+- (int)sdk_pptx2pptt_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_pptx2pptt:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_pptt_bin2pptx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+- (int)sdk_pptt2pptx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir;
+
+- (int)sdk_csv2xlst:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_csv2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_xlst2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+- (int)sdk_xlsx2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
+
+- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo;
+- (int)sdk_zip2dir:(NSString*)nsFrom nsTo:(NSString*)nsTo;
+
+@end
diff --git a/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.mm b/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.mm
new file mode 100644
index 0000000000..8740155aba
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverter/X2tConverter/X2tConverter.mm
@@ -0,0 +1,684 @@
+//
+// X2tConverter.m
+// X2tConverter
+//
+// Created by alexey.musinov on 25.03.15.
+// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
+//
+
+#import "X2tConverter.h"
+
+#include
+#include
+
+#include "../../../../ServerComponents/Common/DocxFormat/Source/SystemUtility/SystemUtility.h"
+#include "../../../../ServerComponents/ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
+#include "../../../../ServerComponents/ASCOfficeDocxFile2/DocWrapper/XlsxSerializer.h"
+#include "../../../../ServerComponents/ASCOfficePPTXFile/ASCOfficePPTXFile.h"
+#include "../../../../ServerComponents/ASCOfficeUtils/ASCOfficeUtilsLib/OfficeUtils.h"
+#include "../../../../ServerComponents/Common/DocxFormat/Source/SystemUtility/FileSystem/Directory.h"
+#include "../../../../ServerComponents/Common/DocxFormat/Source/XML/stringcommon.h"
+#include "../../../../ServerComponents/Common/DocxFormat/Source/XML/xmlutils.h"
+#include "../../../../ServerComponents/Common/OfficeFileErrorDescription.h"
+#include "../../../../ServerComponents/Common/OfficeFileFormats.h"
+//#include "../../../../ServerComponents/DesktopEditor/doctrenderer/doctrenderer.h"
+
+//#include "../../../../ServerComponents/ASCOfficePDFWriter/PdfWriterLib/PdfWriterLib.h"
+
+namespace NExtractTools
+{
+#define SUCCEEDED_X2T(nRes) (0 == (nRes) || AVS_FILEUTILS_ERROR_CONVERT_CORRUPTED == (nRes))
+
+ // docx -> bin
+ static int docx2doct_bin (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ // Extract docx to temp directory
+ std::wstring sTempUnpackedDOCX = sTemp + FILE_SEPARATOR_STR + _T("docx_unpacked");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedDOCX);
+
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCX, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ // Save to file (from temp dir)
+ BinDocxRW::CDocxSerializer m_oCDocxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCDocxSerializer.setFontDir(sFontPath1);
+
+ //bool bRes = m_oCDocxSerializer.saveToFile (sResDoct, sSrcDocx, sTemp);
+ CString sXMLOptions;
+ bool res = m_oCDocxSerializer.saveToFile (std_string2string(sTo), std_string2string(sTempUnpackedDOCX), sXMLOptions) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+
+ // sleep(3*60);
+
+ return res;
+ }
+
+ // docx -> doct
+ static int docx2doct (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ // Extract docx to temp directory
+ std::wstring sResultDoctDir = sTemp + FILE_SEPARATOR_STR + _T("doct_unpacked");
+ std::wstring sResultDoctFileEditor = sResultDoctDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sResultDoctDir);
+
+ int nRes = docx2doct_bin(sFrom, sResultDoctFileEditor, sTemp, sFontPath);
+
+ if (SUCCEEDED_X2T(nRes))
+ {
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDoctDir, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ return nRes;
+
+ }
+
+ // bin -> docx
+ static int doct_bin2docx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ int nRes = 0;
+ CString sResultDocxDir = std_string2string(sTemp) + FILE_SEPARATOR_STR + _T("docx_unpacked");
+
+ FileSystem::Directory::CreateDirectory(sResultDocxDir);
+
+ std::wstring sTargetBin;
+//#if !defined(_WIN32) && !defined (_WIN64)
+// if(bFromChanges)
+// nRes = apply_changes(sFrom, NSDoctRenderer::DoctRendererFormat::FormatFile::DOCT, sFontPath, sThemeDir, sTargetBin);
+// else
+//#endif
+ sTargetBin = sFrom;
+
+ BinDocxRW::CDocxSerializer m_oCDocxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCDocxSerializer.setFontDir(sFontPath1);
+
+ CString sXMLOptions = _T("");
+ CString sThemePath; // will be filled by 'CreateDocxFolders' method
+ CString sMediaPath; // will be filled by 'CreateDocxFolders' method
+ CString sEmbedPath; // will be filled by 'CreateDocxFolders' method
+
+ m_oCDocxSerializer.CreateDocxFolders (sResultDocxDir, sThemePath, sMediaPath, sEmbedPath);
+
+ if (SUCCEEDED_X2T(nRes))
+ {
+ nRes = m_oCDocxSerializer.loadFromFile (std_string2string(sTargetBin), sResultDocxDir, sXMLOptions, sThemePath, sMediaPath, sEmbedPath) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ // compress
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory (string2std_string(sResultDocxDir), sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+ }
+ return nRes;
+
+ }
+
+ // doct -> docx
+ static int doct2docx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ // Extract docx to temp directory
+ std::wstring sTempUnpackedDOCT = sTemp + FILE_SEPARATOR_STR + _T("doct_unpacked");
+ std::wstring sTempDoctFileEditor = sTempUnpackedDOCT + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedDOCT);
+
+ // unzip doct to folder
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCT, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ return doct_bin2docx(sTempDoctFileEditor, sTo, sTemp, sFontPath, bFromChanges, sThemeDir);
+
+ }
+
+ // xslx -> bin
+ int xlsx2xlst_bin (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ // Extract xlsx to temp directory
+ std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedXLSX);
+
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ // Save to file (from temp dir)
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ CString sXMLOptions = _T("");
+ CString sTo1 = std_string2string(sTo);
+ return m_oCXlsxSerializer.saveToFile (sTo1, std_string2string(sTempUnpackedXLSX), sXMLOptions) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ // xslx -> xslt
+ static int xlsx2xlst (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ // Extract xlsx to temp directory
+ std::wstring sResultXlstDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sResultXlstFileEditor = sResultXlstDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sResultXlstDir);
+
+ int nRes = xlsx2xlst_bin(sFrom, sResultXlstFileEditor, sTemp, sFontPath);
+ if (SUCCEEDED_X2T(nRes))
+ {
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultXlstDir, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ return nRes;
+ }
+
+ // bin -> xslx
+ static int xlst_bin2xlsx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ int nRes = 0;
+ // Extract xlsx to temp directory
+ std::wstring sResultXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
+
+ FileSystem::Directory::CreateDirectory(sResultXlsxDir);
+
+ std::wstring sTargetBin;
+//#if !defined(_WIN32) && !defined (_WIN64)
+// if(bFromChanges)
+// nRes = apply_changes(sFrom, NSDoctRenderer::DoctRendererFormat::FormatFile::XLST, sFontPath, sThemeDir, sTargetBin);
+// else
+//#endif
+ sTargetBin = sFrom;
+
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ CString sXMLOptions = _T("");
+ CString sMediaPath; // will be filled by 'CreateXlsxFolders' method
+ CString sEmbedPath; // will be filled by 'CreateXlsxFolders' method
+
+ m_oCXlsxSerializer.CreateXlsxFolders (sXMLOptions, std_string2string(sResultXlsxDir), sMediaPath, sEmbedPath);
+
+ if(SUCCEEDED_X2T(nRes))
+ {
+ nRes = m_oCXlsxSerializer.loadFromFile (std_string2string(sTargetBin), std_string2string(sResultXlsxDir), sXMLOptions, sMediaPath, sEmbedPath) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ // compress
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory (sResultXlsxDir, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+ }
+ return nRes;
+ }
+
+ // xslt -> xslx
+ static int xlst2xlsx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ // Extract xlsx to temp directory
+ std::wstring sTempUnpackedXLST = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sTempXlstFileEditor = sTempUnpackedXLST + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedXLST);
+
+ // unzip xlst to folder
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLST, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ return xlst_bin2xlsx(sTempXlstFileEditor, sTo, sTemp, sFontPath, bFromChanges, sThemeDir);
+ }
+
+ static int pptt_bin2pptx_dir (const std::wstring &sFrom, const std::wstring &sToResult, const std::wstring &sTo, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ int nRes = 0;
+
+ std::wstring sTargetBin;
+// if(bFromChanges)
+// nRes = apply_changes(sFrom, sToResult, NSDoctRenderer::DoctRendererFormat::FormatFile::PPTT, sFontPath, sThemeDir, sTargetBin);
+// else
+ sTargetBin = sFrom;
+
+ CPPTXFile *pptx_file = new CPPTXFile(NULL, NULL, NULL, NULL);
+
+ HRESULT hr = S_OK;
+
+ if (pptx_file)
+ {
+#if defined(_WIN32) || defined (_WIN64)
+ BSTR bstrFontPath = SysAllocString(sFontPath.c_str());
+ BSTR bstrTargetBin = SysAllocString(sTargetBin.c_str());
+ BSTR bstrResultPptxDir = SysAllocString(sTo.c_str());
+ BSTR bstrThemeDir = SysAllocString(sThemeDir.c_str());
+
+ pptx_file->SetFontDir (bstrFontPath);
+ nRes = (S_OK == pptx_file->ConvertPPTYToPPTX(bstrTargetBin, bstrResultPptxDir, bstrThemeDir)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+
+ SysFreeString(bstrFontPath);
+ SysFreeString(bstrTargetBin);
+ SysFreeString(bstrResultPptxDir);
+ SysFreeString(bstrThemeDir);
+#else
+ pptx_file->SetFontDir(sFontPath);
+
+ nRes = (S_OK == pptx_file->ConvertPPTYToPPTX(sTargetBin, sTo, sThemeDir)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+#endif
+ delete pptx_file;
+ }
+
+ return nRes;
+ }
+
+ // pptx -> bin
+ static int pptx2pptt_bin (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ // unzip pptx to temp folder
+ std::wstring sTempUnpackedPPTX = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked")+ FILE_SEPARATOR_STR; // leading slash is very important!
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedPPTX);
+
+ // unzip pptx to folder
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTX, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ // convert unzipped pptx to unzipped pptt
+ CPPTXFile *pptx_file = new CPPTXFile(NULL, NULL, NULL, NULL);
+
+ int nRes = 0;
+
+ if (pptx_file)
+ {
+#if defined(_WIN32) || defined (_WIN64)
+ BSTR bstrFontPath = SysAllocString(sFontPath.c_str());
+ BSTR bstrTempUnpackedPPTX = SysAllocString(sTempUnpackedPPTX.c_str());
+ BSTR bstrTo = SysAllocString(sTo.c_str());
+
+ pptx_file->SetFontDir (bstrFontPath);
+ nRes = (S_OK == pptx_file->OpenFileToPPTY (bstrTempUnpackedPPTX, bstrTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+
+ SysFreeString(bstrFontPath);
+ SysFreeString(bstrTempUnpackedPPTX);
+ SysFreeString(bstrTo);
+#else
+ pptx_file->SetFontDir (sFontPath);
+ nRes = (S_OK == pptx_file->OpenFileToPPTY (sTempUnpackedPPTX, sTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+#endif
+ delete pptx_file;
+ }
+
+ return nRes;
+ }
+ // pptx -> pptt
+ static int pptx2pptt (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ std::wstring sResultPpttDir = sTemp + FILE_SEPARATOR_STR + _T("pptt_unpacked");
+ std::wstring sTempPpttFileEditor = sResultPpttDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sResultPpttDir);
+
+ int nRes = pptx2pptt_bin(sFrom, sTempPpttFileEditor, sTemp, sFontPath);
+ if (SUCCEEDED_X2T(nRes))
+ {
+ // zip pptt folder to output file
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory (sResultPpttDir, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+ return nRes;
+ }
+
+ // bin -> pptx
+ static int pptt_bin2pptx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ int nRes = 0;
+ std::wstring sResultPptxDir = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
+
+ FileSystem::Directory::CreateDirectory(sResultPptxDir);
+
+ nRes = pptt_bin2pptx_dir(sFrom, sTo, sResultPptxDir, sFontPath, bFromChanges, sThemeDir);
+ if (!SUCCEEDED_X2T(nRes))
+ return nRes;
+
+ // zip pptx folder to output file
+ COfficeUtils oCOfficeUtils(NULL);
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory (sResultPptxDir,sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+
+ return nRes;
+ }
+ // pptt -> pptx
+ static int pptt2pptx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sFontPath, bool bFromChanges, const std::wstring &sThemeDir)
+ {
+ // unzip pptt to temp folder
+ std::wstring sTempUnpackedPPTT = sTemp + FILE_SEPARATOR_STR + _T("pptt_unpacked");
+ std::wstring sTempPpttFileEditor = sTempUnpackedPPTT + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedPPTT);
+
+ // unzip pptt to folder
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTT, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ return pptt_bin2pptx(sTempPpttFileEditor, sTo, sTemp, sFontPath, bFromChanges, sThemeDir);
+ }
+ // zip dir
+ static int dir2zip (const std::wstring &sFrom, const std::wstring &sTo)
+ {
+ COfficeUtils oCOfficeUtils(NULL);
+ return (S_OK == oCOfficeUtils.CompressFileOrDirectory(sFrom, sTo, -1)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ // unzip dir
+ static int zip2dir (const std::wstring &sFrom, const std::wstring &sTo)
+ {
+ COfficeUtils oCOfficeUtils(NULL);
+ return (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTo, NULL, 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ // csv -> xslt
+ static int csv2xlst (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & XmlOptions, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ CString sCSV = std_string2string(sFrom);
+ std::wstring sResultXlstDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sResultXlstFileEditor = sResultXlstDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sResultXlstDir);
+
+ COfficeUtils oCOfficeUtils(NULL);
+ // Save to file (from temp dir)
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ CString sXMLOptions = std_string2string(XmlOptions);
+
+ int nRes = m_oCXlsxSerializer.saveToFile (std_string2string(sResultXlstFileEditor), sCSV, sXMLOptions) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultXlstDir, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ return nRes;
+ }
+
+ // csv -> xslx
+ static int csv2xlsx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & XmlOptions, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ CString sCSV = std_string2string(sFrom);
+ std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
+ std::wstring sResultXlstDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sResultXlstFileEditor = sResultXlstDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedXLSX);
+ FileSystem::Directory::CreateDirectory(sResultXlstDir);
+
+ // Save to file (from temp dir)
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ COfficeUtils oCOfficeUtils(NULL);
+
+ CString sXMLOptions = std_string2string(XmlOptions);
+ CString sMediaPath;
+ CString sEmbedPath;
+
+ int nRes = m_oCXlsxSerializer.saveToFile (std_string2string(sResultXlstFileEditor), sCSV, sXMLOptions) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ sXMLOptions = _T("");
+ nRes = m_oCXlsxSerializer.loadFromFile(std_string2string(sResultXlstFileEditor), std_string2string(sTempUnpackedXLSX), sXMLOptions, sMediaPath, sEmbedPath) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedXLSX, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+ }
+
+ return nRes;
+ }
+ // xlst -> csv
+ static int xlst2csv (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sXmlOptions, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ CString sCSV = std_string2string(sTo);
+ std::wstring sTempUnpackedXLST = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sTempXlstFileEditor = sTempUnpackedXLST + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedXLST);
+
+ // unzip xlst to folder
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLST, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ CString sMediaPath;
+ CString sEmbedPath;
+
+ return m_oCXlsxSerializer.loadFromFile (std_string2string(sTempXlstFileEditor), sCSV, std_string2string(sXmlOptions), sMediaPath, sEmbedPath) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+ // xslx -> csv
+ static int xlsx2csv (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sXmlOptions, const std::wstring &sTemp, const std::wstring &sFontPath)
+ {
+ CString sCSV = std_string2string(sTo);
+ std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
+ std::wstring sResultXlstDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
+ std::wstring sResultXlstFileEditor = sResultXlstDir + FILE_SEPARATOR_STR + _T("Editor.bin");
+
+ FileSystem::Directory::CreateDirectory(sTempUnpackedXLSX);
+ FileSystem::Directory::CreateDirectory(sResultXlstDir);
+
+ COfficeUtils oCOfficeUtils(NULL);
+ if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
+ return AVS_FILEUTILS_ERROR_CONVERT;
+
+ // Save to file (from temp dir)
+ BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
+
+ CString sFontPath1 = std_string2string(sFontPath);
+
+ m_oCXlsxSerializer.setFontDir(sFontPath1);
+
+ CString sXMLOptions = _T("");
+ int nRes = m_oCXlsxSerializer.saveToFile (std_string2string(sResultXlstFileEditor), std_string2string(sTempUnpackedXLSX), sXMLOptions) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
+ if (SUCCEEDED_X2T(nRes))
+ {
+ CString sMediaPath;
+ CString sEmbedPath;
+
+ nRes = m_oCXlsxSerializer.loadFromFile (std_string2string(sResultXlstDir), sCSV, sXMLOptions, sMediaPath, sEmbedPath) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
+ }
+
+ return nRes;
+ }
+}
+
+static std::wstring nsstring_to_wstring(NSString* nsstring)
+{
+ NSStringEncoding encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF32LE);
+ NSData* data = [nsstring dataUsingEncoding:encode];
+ return std::wstring((wchar_t*) data.bytes, data.length / sizeof(wchar_t));
+}
+
+@implementation X2tConverter
+
+- (int)sdk_docx2doct_bin:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::docx2doct_bin(from, to, temp, fontpath);
+}
+- (int)sdk_docx2doct:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::docx2doct(from, to, temp, fontpath);
+}
+- (int)sdk_doct_bin2docx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::doct_bin2docx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_doct2docx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::doct2docx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_xlsx2xlst_bin:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::xlsx2xlst_bin(from, to, temp, fontpath);
+
+}
+- (int)sdk_xlsx2xlst:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::xlsx2xlst(from, to, temp, fontpath);
+}
+- (int)sdk_xlst_bin2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::xlst_bin2xlsx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_xlst2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::xlst2xlsx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_pptx2pptt_bin:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::pptx2pptt_bin(from, to, temp, fontpath);
+}
+- (int)sdk_pptx2pptt:(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);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::pptx2pptt(from, to, temp, fontpath);
+}
+- (int)sdk_pptt_bin2pptx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir{
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::pptt_bin2pptx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_pptt2pptx:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath fromChanges:(NSNumber*)fromChanges nsThemeDir:(NSString*)nsThemeDir{
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+ std::wstring temp = nsstring_to_wstring(nsTemp);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+ std::wstring themeDir = nsstring_to_wstring(nsThemeDir);
+ bool bFromChanges = (bool)fromChanges.boolValue;
+
+ return NExtractTools::pptt2pptx(from, to, temp, fontpath, bFromChanges, themeDir);
+}
+- (int)sdk_csv2xlst:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions 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);
+ std::wstring options = nsstring_to_wstring(xmlOptions);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::csv2xlst(from, to, temp, options, fontpath);
+}
+- (int)sdk_csv2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions 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);
+ std::wstring options = nsstring_to_wstring(xmlOptions);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::csv2xlsx(from, to, temp, options, fontpath);
+}
+- (int)sdk_xlst2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions 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);
+ std::wstring options = nsstring_to_wstring(xmlOptions);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::xlst2csv(from, to, temp, options, fontpath);
+}
+- (int)sdk_xlsx2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions 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);
+ std::wstring options = nsstring_to_wstring(xmlOptions);
+ std::wstring fontpath = nsstring_to_wstring(nsFontPath);
+
+ return NExtractTools::xlsx2csv(from, to, temp, options, fontpath);
+}
+
+- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+
+ return NExtractTools::dir2zip(from, to);
+}
+- (int)sdk_zip2dir:(NSString*)nsFrom nsTo:(NSString*)nsTo {
+ std::wstring from = nsstring_to_wstring(nsFrom);
+ std::wstring to = nsstring_to_wstring(nsTo);
+
+ return NExtractTools::zip2dir(from, to);
+}
+
+@end
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.pbxproj b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..2f58ace342
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.pbxproj
@@ -0,0 +1,317 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 17DAB6521ACC0F1C005AF479 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 17DAB6511ACC0F1C005AF479 /* main.m */; };
+ 17DAB6601ACC0F5E005AF479 /* libX2tConverter_mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17DAB65D1ACC0F4E005AF479 /* libX2tConverter_mac.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 17DAB65C1ACC0F4E005AF479 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17DAB6581ACC0F4E005AF479 /* X2tConverter.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 17C27A141AC2DB3C00E1D003;
+ remoteInfo = X2tConverter_mac;
+ };
+ 17DAB65E1ACC0F55005AF479 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 17DAB6581ACC0F4E005AF479 /* X2tConverter.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 17C27A131AC2DB3C00E1D003;
+ remoteInfo = X2tConverter_mac;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 17DAB64C1ACC0F1C005AF479 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 17DAB64E1ACC0F1C005AF479 /* X2tConverterCommandLineTool */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = X2tConverterCommandLineTool; sourceTree = BUILT_PRODUCTS_DIR; };
+ 17DAB6511ACC0F1C005AF479 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 17DAB6581ACC0F4E005AF479 /* X2tConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = X2tConverter.xcodeproj; path = /Volumes/Docx2DoctConverter/AsyncServerComponents/Mac/TestMacX2tConverter/../X2tConverter/X2tConverter.xcodeproj; sourceTree = ""; };
+ 17DAB6611ACC0F98005AF479 /* X2tConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = X2tConverter.h; path = ../../X2tConverter/X2tConverter/X2tConverter.h; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 17DAB64B1ACC0F1C005AF479 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17DAB6601ACC0F5E005AF479 /* libX2tConverter_mac.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 17DAB6451ACC0F1A005AF479 = {
+ isa = PBXGroup;
+ children = (
+ 17DAB6581ACC0F4E005AF479 /* X2tConverter.xcodeproj */,
+ 17DAB6501ACC0F1C005AF479 /* X2tConverterCommandLineTool */,
+ 17DAB64F1ACC0F1C005AF479 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 17DAB64F1ACC0F1C005AF479 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 17DAB64E1ACC0F1C005AF479 /* X2tConverterCommandLineTool */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 17DAB6501ACC0F1C005AF479 /* X2tConverterCommandLineTool */ = {
+ isa = PBXGroup;
+ children = (
+ 17DAB6621ACC0FA0005AF479 /* SDK */,
+ 17DAB6511ACC0F1C005AF479 /* main.m */,
+ );
+ path = X2tConverterCommandLineTool;
+ sourceTree = "";
+ };
+ 17DAB6591ACC0F4E005AF479 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 17DAB65D1ACC0F4E005AF479 /* libX2tConverter_mac.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 17DAB6621ACC0FA0005AF479 /* SDK */ = {
+ isa = PBXGroup;
+ children = (
+ 17DAB6611ACC0F98005AF479 /* X2tConverter.h */,
+ );
+ name = SDK;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 17DAB64D1ACC0F1C005AF479 /* X2tConverterCommandLineTool */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 17DAB6551ACC0F1C005AF479 /* Build configuration list for PBXNativeTarget "X2tConverterCommandLineTool" */;
+ buildPhases = (
+ 17DAB64A1ACC0F1C005AF479 /* Sources */,
+ 17DAB64B1ACC0F1C005AF479 /* Frameworks */,
+ 17DAB64C1ACC0F1C005AF479 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 17DAB65F1ACC0F55005AF479 /* PBXTargetDependency */,
+ );
+ name = X2tConverterCommandLineTool;
+ productName = X2tConverterCommandLineTool;
+ productReference = 17DAB64E1ACC0F1C005AF479 /* X2tConverterCommandLineTool */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 17DAB6461ACC0F1A005AF479 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0710;
+ ORGANIZATIONNAME = "Ascensio System SIA";
+ TargetAttributes = {
+ 17DAB64D1ACC0F1C005AF479 = {
+ CreatedOnToolsVersion = 6.2;
+ };
+ };
+ };
+ buildConfigurationList = 17DAB6491ACC0F1A005AF479 /* Build configuration list for PBXProject "X2tConverterCommandLineTool" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 17DAB6451ACC0F1A005AF479;
+ productRefGroup = 17DAB64F1ACC0F1C005AF479 /* Products */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 17DAB6591ACC0F4E005AF479 /* Products */;
+ ProjectRef = 17DAB6581ACC0F4E005AF479 /* X2tConverter.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 17DAB64D1ACC0F1C005AF479 /* X2tConverterCommandLineTool */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 17DAB65D1ACC0F4E005AF479 /* libX2tConverter_mac.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libX2tConverter_mac.a;
+ remoteRef = 17DAB65C1ACC0F4E005AF479 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 17DAB64A1ACC0F1C005AF479 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 17DAB6521ACC0F1C005AF479 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 17DAB65F1ACC0F55005AF479 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = X2tConverter_mac;
+ targetProxy = 17DAB65E1ACC0F55005AF479 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 17DAB6531ACC0F1C005AF479 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 17DAB6541ACC0F1C005AF479 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 17DAB6561ACC0F1C005AF479 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ OTHER_LDFLAGS = (
+ "-lstdc++",
+ "-lxml2",
+ "-lcurl",
+ "-lz",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 17DAB6571ACC0F1C005AF479 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ OTHER_LDFLAGS = (
+ "-lstdc++",
+ "-lxml2",
+ "-lcurl",
+ "-lz",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 17DAB6491ACC0F1A005AF479 /* Build configuration list for PBXProject "X2tConverterCommandLineTool" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17DAB6531ACC0F1C005AF479 /* Debug */,
+ 17DAB6541ACC0F1C005AF479 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 17DAB6551ACC0F1C005AF479 /* Build configuration list for PBXNativeTarget "X2tConverterCommandLineTool" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 17DAB6561ACC0F1C005AF479 /* Debug */,
+ 17DAB6571ACC0F1C005AF479 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 17DAB6461ACC0F1A005AF479 /* Project object */;
+}
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..4d83f2547a
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000..89dd468342
Binary files /dev/null and b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/project.xcworkspace/xcuserdata/alexey.musinov.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/X2tConverterCommandLineTool.xcscheme b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/X2tConverterCommandLineTool.xcscheme
new file mode 100644
index 0000000000..787e3fab4d
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/X2tConverterCommandLineTool.xcscheme
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000000..b5c203092b
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool.xcodeproj/xcuserdata/alexey.musinov.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ SchemeUserState
+
+ X2tConverterCommandLineTool.xcscheme
+
+ orderHint
+ 2
+
+
+ SuppressBuildableAutocreation
+
+ 17DAB64D1ACC0F1C005AF479
+
+ primary
+
+
+
+
+
diff --git a/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool/main.m b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool/main.m
new file mode 100644
index 0000000000..dc06015928
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterCommandLineTool/X2tConverterCommandLineTool/main.m
@@ -0,0 +1,35 @@
+//
+// main.m
+// X2tConverterCommandLineTool
+//
+// Created by alexey.musinov on 01.04.15.
+// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
+//
+
+#import
+
+#import "X2tConverter.h"
+
+int main(int argc, const char * argv[]) {
+ @autoreleasepool {
+ //int * crash = NULL;//test
+ //*crash = 1;
+
+ NSArray *arguments = [[NSProcessInfo processInfo] arguments];
+ if (arguments && arguments.count >= 4) {
+
+ NSDate *startTime = [NSDate date];
+
+ NSString* fullFileName = arguments[1];
+ NSString* fullFileNameTo = arguments[2];
+ NSString* tempDir = arguments[3];
+ NSString* fontsPath = arguments[4];
+
+ X2tConverter* converter = [[X2tConverter alloc]init];
+ [converter sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
+
+ NSLog(@"%@ - time conversion: %fs", fullFileName, [[NSDate date] timeIntervalSinceDate:startTime]);
+ }
+ }
+ return 0;
+}
diff --git a/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.pbxproj b/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..9c3290f3fa
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.pbxproj
@@ -0,0 +1,434 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 7CC224031C05C1210073FE7D /* libASCOfficeDocxFile2Lib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223EE1C05C1210073FE7D /* libASCOfficeDocxFile2Lib.a */; };
+ 7CC224041C05C1210073FE7D /* libDjVuFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223EF1C05C1210073FE7D /* libDjVuFile.dylib */; };
+ 7CC224051C05C1210073FE7D /* libDocFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F01C05C1210073FE7D /* libDocFormatLib.a */; };
+ 7CC224061C05C1210073FE7D /* libdoctrenderer.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F11C05C1210073FE7D /* libdoctrenderer.dylib */; };
+ 7CC224071C05C1210073FE7D /* libDocxFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F21C05C1210073FE7D /* libDocxFormatLib.a */; };
+ 7CC224081C05C1210073FE7D /* libgraphics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F31C05C1210073FE7D /* libgraphics.a */; };
+ 7CC224091C05C1210073FE7D /* libHtmlFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F41C05C1210073FE7D /* libHtmlFile.dylib */; };
+ 7CC2240A1C05C1210073FE7D /* libHtmlRenderer.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F51C05C1210073FE7D /* libHtmlRenderer.dylib */; };
+ 7CC2240B1C05C1210073FE7D /* liblibxml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F61C05C1210073FE7D /* liblibxml.a */; };
+ 7CC2240C1C05C1210073FE7D /* libOdfFileReaderLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F71C05C1210073FE7D /* libOdfFileReaderLib.a */; };
+ 7CC2240D1C05C1210073FE7D /* libOdfFileWriterLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F81C05C1210073FE7D /* libOdfFileWriterLib.a */; };
+ 7CC2240E1C05C1210073FE7D /* libOfficeUtils.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223F91C05C1210073FE7D /* libOfficeUtils.a */; };
+ 7CC2240F1C05C1210073FE7D /* libPdfReader.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FA1C05C1210073FE7D /* libPdfReader.dylib */; };
+ 7CC224101C05C1210073FE7D /* libPdfWriter.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FB1C05C1210073FE7D /* libPdfWriter.dylib */; };
+ 7CC224111C05C1210073FE7D /* libPptFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FC1C05C1210073FE7D /* libPptFormatLib.a */; };
+ 7CC224121C05C1210073FE7D /* libPPTXFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FD1C05C1210073FE7D /* libPPTXFormatLib.a */; };
+ 7CC224131C05C1210073FE7D /* libRtfFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FE1C05C1210073FE7D /* libRtfFormatLib.a */; };
+ 7CC224141C05C1210073FE7D /* libTxtXmlFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC223FF1C05C1210073FE7D /* libTxtXmlFormatLib.a */; };
+ 7CC224151C05C1210073FE7D /* libUnicodeConverter.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC224001C05C1210073FE7D /* libUnicodeConverter.dylib */; };
+ 7CC224161C05C1210073FE7D /* libXlsFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC224011C05C1210073FE7D /* libXlsFormatLib.a */; };
+ 7CC224171C05C1210073FE7D /* libXpsFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC224021C05C1210073FE7D /* libXpsFile.dylib */; };
+ 7CC224191C05C1570073FE7D /* libboost_regex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC224181C05C1570073FE7D /* libboost_regex.a */; };
+ 7CC2241B1C05C1EB0073FE7D /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC2241A1C05C1EB0073FE7D /* AppKit.framework */; };
+ 7CC224211C05C22A0073FE7D /* ASCConverters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC2241C1C05C22A0073FE7D /* ASCConverters.cpp */; };
+ 7CC224221C05C22A0073FE7D /* cextracttools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC2241E1C05C22A0073FE7D /* cextracttools.cpp */; };
+ 7CC224231C05C22A0073FE7D /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC224201C05C22A0073FE7D /* main.cpp */; };
+ 7CC224261C05C24D0073FE7D /* OfficeFileFormatChecker2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC224251C05C24D0073FE7D /* OfficeFileFormatChecker2.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 7CC223E21C05C0750073FE7D /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 7CC223E41C05C0750073FE7D /* X2tConverterMacOS */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = X2tConverterMacOS; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7CC223EE1C05C1210073FE7D /* libASCOfficeDocxFile2Lib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libASCOfficeDocxFile2Lib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libASCOfficeDocxFile2Lib.a; sourceTree = ""; };
+ 7CC223EF1C05C1210073FE7D /* libDjVuFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libDjVuFile.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libDjVuFile.dylib; sourceTree = ""; };
+ 7CC223F01C05C1210073FE7D /* libDocFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDocFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libDocFormatLib.a; sourceTree = ""; };
+ 7CC223F11C05C1210073FE7D /* libdoctrenderer.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libdoctrenderer.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libdoctrenderer.dylib; sourceTree = ""; };
+ 7CC223F21C05C1210073FE7D /* libDocxFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDocxFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libDocxFormatLib.a; sourceTree = ""; };
+ 7CC223F31C05C1210073FE7D /* libgraphics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgraphics.a; path = ../../../ServerComponents/SDK/lib/mac_64/libgraphics.a; sourceTree = ""; };
+ 7CC223F41C05C1210073FE7D /* libHtmlFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libHtmlFile.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libHtmlFile.dylib; sourceTree = ""; };
+ 7CC223F51C05C1210073FE7D /* libHtmlRenderer.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libHtmlRenderer.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libHtmlRenderer.dylib; sourceTree = ""; };
+ 7CC223F61C05C1210073FE7D /* liblibxml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibxml.a; path = ../../../ServerComponents/SDK/lib/mac_64/liblibxml.a; sourceTree = ""; };
+ 7CC223F71C05C1210073FE7D /* libOdfFileReaderLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOdfFileReaderLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libOdfFileReaderLib.a; sourceTree = ""; };
+ 7CC223F81C05C1210073FE7D /* libOdfFileWriterLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOdfFileWriterLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libOdfFileWriterLib.a; sourceTree = ""; };
+ 7CC223F91C05C1210073FE7D /* libOfficeUtils.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOfficeUtils.a; path = ../../../ServerComponents/SDK/lib/mac_64/libOfficeUtils.a; sourceTree = ""; };
+ 7CC223FA1C05C1210073FE7D /* libPdfReader.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libPdfReader.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libPdfReader.dylib; sourceTree = ""; };
+ 7CC223FB1C05C1210073FE7D /* libPdfWriter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libPdfWriter.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libPdfWriter.dylib; sourceTree = ""; };
+ 7CC223FC1C05C1210073FE7D /* libPptFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPptFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libPptFormatLib.a; sourceTree = ""; };
+ 7CC223FD1C05C1210073FE7D /* libPPTXFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPPTXFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libPPTXFormatLib.a; sourceTree = ""; };
+ 7CC223FE1C05C1210073FE7D /* libRtfFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRtfFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libRtfFormatLib.a; sourceTree = ""; };
+ 7CC223FF1C05C1210073FE7D /* libTxtXmlFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTxtXmlFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libTxtXmlFormatLib.a; sourceTree = ""; };
+ 7CC224001C05C1210073FE7D /* libUnicodeConverter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libUnicodeConverter.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libUnicodeConverter.dylib; sourceTree = ""; };
+ 7CC224011C05C1210073FE7D /* libXlsFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libXlsFormatLib.a; path = ../../../ServerComponents/SDK/lib/mac_64/libXlsFormatLib.a; sourceTree = ""; };
+ 7CC224021C05C1210073FE7D /* libXpsFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXpsFile.dylib; path = ../../../ServerComponents/SDK/lib/mac_64/libXpsFile.dylib; sourceTree = ""; };
+ 7CC224181C05C1570073FE7D /* libboost_regex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_regex.a; path = ../../../ServerComponents/Common/boost_1_58_0/stage/lib/libboost_regex.a; sourceTree = ""; };
+ 7CC2241A1C05C1EB0073FE7D /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+ 7CC2241C1C05C22A0073FE7D /* ASCConverters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASCConverters.cpp; path = ../../X2tConverter/ASCConverters.cpp; sourceTree = ""; };
+ 7CC2241D1C05C22A0073FE7D /* ASCConverters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASCConverters.h; path = ../../X2tConverter/ASCConverters.h; sourceTree = ""; };
+ 7CC2241E1C05C22A0073FE7D /* cextracttools.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cextracttools.cpp; path = ../../X2tConverter/cextracttools.cpp; sourceTree = ""; };
+ 7CC2241F1C05C22A0073FE7D /* cextracttools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cextracttools.h; path = ../../X2tConverter/cextracttools.h; sourceTree = ""; };
+ 7CC224201C05C22A0073FE7D /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../X2tConverter/main.cpp; sourceTree = ""; };
+ 7CC224241C05C24D0073FE7D /* OfficeFileFormatChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfficeFileFormatChecker.h; path = ../../../../ServerComponents/Common/OfficeFileFormatChecker.h; sourceTree = ""; };
+ 7CC224251C05C24D0073FE7D /* OfficeFileFormatChecker2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OfficeFileFormatChecker2.cpp; path = ../../../../ServerComponents/Common/OfficeFileFormatChecker2.cpp; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 7CC223E11C05C0750073FE7D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7CC2241B1C05C1EB0073FE7D /* AppKit.framework in Frameworks */,
+ 7CC224151C05C1210073FE7D /* libUnicodeConverter.dylib in Frameworks */,
+ 7CC2240F1C05C1210073FE7D /* libPdfReader.dylib in Frameworks */,
+ 7CC224161C05C1210073FE7D /* libXlsFormatLib.a in Frameworks */,
+ 7CC224081C05C1210073FE7D /* libgraphics.a in Frameworks */,
+ 7CC224071C05C1210073FE7D /* libDocxFormatLib.a in Frameworks */,
+ 7CC224171C05C1210073FE7D /* libXpsFile.dylib in Frameworks */,
+ 7CC2240B1C05C1210073FE7D /* liblibxml.a in Frameworks */,
+ 7CC224121C05C1210073FE7D /* libPPTXFormatLib.a in Frameworks */,
+ 7CC224141C05C1210073FE7D /* libTxtXmlFormatLib.a in Frameworks */,
+ 7CC2240E1C05C1210073FE7D /* libOfficeUtils.a in Frameworks */,
+ 7CC2240A1C05C1210073FE7D /* libHtmlRenderer.dylib in Frameworks */,
+ 7CC224131C05C1210073FE7D /* libRtfFormatLib.a in Frameworks */,
+ 7CC224101C05C1210073FE7D /* libPdfWriter.dylib in Frameworks */,
+ 7CC2240D1C05C1210073FE7D /* libOdfFileWriterLib.a in Frameworks */,
+ 7CC224051C05C1210073FE7D /* libDocFormatLib.a in Frameworks */,
+ 7CC224191C05C1570073FE7D /* libboost_regex.a in Frameworks */,
+ 7CC224091C05C1210073FE7D /* libHtmlFile.dylib in Frameworks */,
+ 7CC2240C1C05C1210073FE7D /* libOdfFileReaderLib.a in Frameworks */,
+ 7CC224031C05C1210073FE7D /* libASCOfficeDocxFile2Lib.a in Frameworks */,
+ 7CC224041C05C1210073FE7D /* libDjVuFile.dylib in Frameworks */,
+ 7CC224111C05C1210073FE7D /* libPptFormatLib.a in Frameworks */,
+ 7CC224061C05C1210073FE7D /* libdoctrenderer.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 7CC223DB1C05C0750073FE7D = {
+ isa = PBXGroup;
+ children = (
+ 7CC2241A1C05C1EB0073FE7D /* AppKit.framework */,
+ 7CC223EE1C05C1210073FE7D /* libASCOfficeDocxFile2Lib.a */,
+ 7CC223EF1C05C1210073FE7D /* libDjVuFile.dylib */,
+ 7CC223F01C05C1210073FE7D /* libDocFormatLib.a */,
+ 7CC223F11C05C1210073FE7D /* libdoctrenderer.dylib */,
+ 7CC223F21C05C1210073FE7D /* libDocxFormatLib.a */,
+ 7CC223F31C05C1210073FE7D /* libgraphics.a */,
+ 7CC223F41C05C1210073FE7D /* libHtmlFile.dylib */,
+ 7CC223F51C05C1210073FE7D /* libHtmlRenderer.dylib */,
+ 7CC223F61C05C1210073FE7D /* liblibxml.a */,
+ 7CC223F71C05C1210073FE7D /* libOdfFileReaderLib.a */,
+ 7CC223F81C05C1210073FE7D /* libOdfFileWriterLib.a */,
+ 7CC223F91C05C1210073FE7D /* libOfficeUtils.a */,
+ 7CC223FA1C05C1210073FE7D /* libPdfReader.dylib */,
+ 7CC223FB1C05C1210073FE7D /* libPdfWriter.dylib */,
+ 7CC223FC1C05C1210073FE7D /* libPptFormatLib.a */,
+ 7CC223FD1C05C1210073FE7D /* libPPTXFormatLib.a */,
+ 7CC223FE1C05C1210073FE7D /* libRtfFormatLib.a */,
+ 7CC223FF1C05C1210073FE7D /* libTxtXmlFormatLib.a */,
+ 7CC224001C05C1210073FE7D /* libUnicodeConverter.dylib */,
+ 7CC224011C05C1210073FE7D /* libXlsFormatLib.a */,
+ 7CC224021C05C1210073FE7D /* libXpsFile.dylib */,
+ 7CC224181C05C1570073FE7D /* libboost_regex.a */,
+ 7CC223E61C05C0750073FE7D /* X2tConverterMacOS */,
+ 7CC223E51C05C0750073FE7D /* Products */,
+ );
+ sourceTree = "";
+ };
+ 7CC223E51C05C0750073FE7D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 7CC223E41C05C0750073FE7D /* X2tConverterMacOS */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 7CC223E61C05C0750073FE7D /* X2tConverterMacOS */ = {
+ isa = PBXGroup;
+ children = (
+ 7CC224241C05C24D0073FE7D /* OfficeFileFormatChecker.h */,
+ 7CC224251C05C24D0073FE7D /* OfficeFileFormatChecker2.cpp */,
+ 7CC2241C1C05C22A0073FE7D /* ASCConverters.cpp */,
+ 7CC2241D1C05C22A0073FE7D /* ASCConverters.h */,
+ 7CC2241E1C05C22A0073FE7D /* cextracttools.cpp */,
+ 7CC2241F1C05C22A0073FE7D /* cextracttools.h */,
+ 7CC224201C05C22A0073FE7D /* main.cpp */,
+ );
+ path = X2tConverterMacOS;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 7CC223E31C05C0750073FE7D /* X2tConverterMacOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7CC223EB1C05C0750073FE7D /* Build configuration list for PBXNativeTarget "X2tConverterMacOS" */;
+ buildPhases = (
+ 7CC223E01C05C0750073FE7D /* Sources */,
+ 7CC223E11C05C0750073FE7D /* Frameworks */,
+ 7CC223E21C05C0750073FE7D /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = X2tConverterMacOS;
+ productName = X2tConverterMacOS;
+ productReference = 7CC223E41C05C0750073FE7D /* X2tConverterMacOS */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 7CC223DC1C05C0750073FE7D /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0710;
+ ORGANIZATIONNAME = "Ascensio System";
+ TargetAttributes = {
+ 7CC223E31C05C0750073FE7D = {
+ CreatedOnToolsVersion = 7.1.1;
+ };
+ };
+ };
+ buildConfigurationList = 7CC223DF1C05C0750073FE7D /* Build configuration list for PBXProject "X2tConverterMacOS" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 7CC223DB1C05C0750073FE7D;
+ productRefGroup = 7CC223E51C05C0750073FE7D /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 7CC223E31C05C0750073FE7D /* X2tConverterMacOS */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 7CC223E01C05C0750073FE7D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7CC224221C05C22A0073FE7D /* cextracttools.cpp in Sources */,
+ 7CC224261C05C24D0073FE7D /* OfficeFileFormatChecker2.cpp in Sources */,
+ 7CC224211C05C22A0073FE7D /* ASCConverters.cpp in Sources */,
+ 7CC224231C05C22A0073FE7D /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 7CC223E91C05C0750073FE7D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
+ CLANG_CXX_LIBRARY = "compiler-default";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = "compiler-default";
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 7CC223EA1C05C0750073FE7D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
+ CLANG_CXX_LIBRARY = "compiler-default";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = "compiler-default";
+ 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;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 7CC223EC1C05C0750073FE7D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ _LINUX,
+ LINUX,
+ _LINUX_QT,
+ _MAC,
+ MAC,
+ _MAC_NO_APPLE,
+ LIBXML_READER_ENABLED,
+ UNICODECONVERTER_USE_DYNAMIC_LIBRARY,
+ HTMLFILE_USE_DYNAMIC_LIBRARY,
+ HTMLRENDERER_USE_DYNAMIC_LIBRARY,
+ DJVU_USE_DYNAMIC_LIBRARY,
+ XPS_USE_DYNAMIC_LIBRARY,
+ PDFWRITER_USE_DYNAMIC_LIBRARY,
+ PDFREADER_USE_DYNAMIC_LIBRARY,
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ DONT_WRITE_EMBEDDED_FONTS,
+ BUILD_CONFIG_FULL_VERSION,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ FILTER_FLATE_DECODE_ENABLED,
+ NODOCX,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ PPT_DEF,
+ PPTX_DEF,
+ );
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path";
+ LIBRARY_SEARCH_PATHS = (
+ "$(PROJECT_DIR)/../../../ServerComponents/SDK/lib/mac_64",
+ "$(PROJECT_DIR)/../../../ServerComponents/Common/boost_1_58_0/stage/lib",
+ );
+ OTHER_CFLAGS = (
+ "-I./../../../ServerComponents/DesktopEditor/freetype-2.5.2/include",
+ "-I./../../../ServerComponents/ASCOfficeUtils/ZLIB/zlib-1.2.3",
+ "-I./../../../ServerComponents/Common/DocxFormat/Source/XML/libxml2/XML/include",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 7CC223ED1C05C0750073FE7D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ _LINUX,
+ LINUX,
+ _LINUX_QT,
+ _MAC,
+ MAC,
+ _MAC_NO_APPLE,
+ LIBXML_READER_ENABLED,
+ UNICODECONVERTER_USE_DYNAMIC_LIBRARY,
+ HTMLFILE_USE_DYNAMIC_LIBRARY,
+ HTMLRENDERER_USE_DYNAMIC_LIBRARY,
+ DJVU_USE_DYNAMIC_LIBRARY,
+ XPS_USE_DYNAMIC_LIBRARY,
+ PDFWRITER_USE_DYNAMIC_LIBRARY,
+ PDFREADER_USE_DYNAMIC_LIBRARY,
+ UNICODE,
+ _UNICODE,
+ _USE_LIBXML2_READER_,
+ _USE_XMLLITE_READER_,
+ USE_LITE_READER,
+ AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
+ DONT_WRITE_EMBEDDED_FONTS,
+ BUILD_CONFIG_FULL_VERSION,
+ CXIMAGE_DONT_DECLARE_TCHAR,
+ FILTER_FLATE_DECODE_ENABLED,
+ NODOCX,
+ ENABLE_PPT_TO_PPTX_CONVERT,
+ PPT_DEF,
+ PPTX_DEF,
+ );
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path";
+ LIBRARY_SEARCH_PATHS = (
+ "$(PROJECT_DIR)/../../../ServerComponents/SDK/lib/mac_64",
+ "$(PROJECT_DIR)/../../../ServerComponents/Common/boost_1_58_0/stage/lib",
+ );
+ OTHER_CFLAGS = (
+ "-I./../../../ServerComponents/DesktopEditor/freetype-2.5.2/include",
+ "-I./../../../ServerComponents/ASCOfficeUtils/ZLIB/zlib-1.2.3",
+ "-I./../../../ServerComponents/Common/DocxFormat/Source/XML/libxml2/XML/include",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 7CC223DF1C05C0750073FE7D /* Build configuration list for PBXProject "X2tConverterMacOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7CC223E91C05C0750073FE7D /* Debug */,
+ 7CC223EA1C05C0750073FE7D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 7CC223EB1C05C0750073FE7D /* Build configuration list for PBXNativeTarget "X2tConverterMacOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7CC223EC1C05C0750073FE7D /* Debug */,
+ 7CC223ED1C05C0750073FE7D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 7CC223DC1C05C0750073FE7D /* Project object */;
+}
diff --git a/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..02dc958cd3
--- /dev/null
+++ b/X2tConverter/build/Mac/X2tConverterMacOS/X2tConverterMacOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+