diff --git a/ASCOfficePPTFile/Win32/ASCOfficePPTFile.sln b/ASCOfficePPTFile/Win32/ASCOfficePPTFile.sln index a21f5329db..b2b8d5d5f5 100644 --- a/ASCOfficePPTFile/Win32/ASCOfficePPTFile.sln +++ b/ASCOfficePPTFile/Win32/ASCOfficePPTFile.sln @@ -9,27 +9,27 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeUtilsLib", "..\..\ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PPTXFormat", "..\..\ASCOfficePPTXFile\PPTXLib\PPTXFormat.vcproj", "{36636678-AE25-4BE6-9A34-2561D1BCF302}" ProjectSection(ProjectDependencies) = postProject - {DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C} {21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0} + {DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCHTMLRenderer", "..\..\ASCHTMLRenderer\ASCHTMLRendererLib.vcproj", "{DC24710E-8DF2-4A7A-B7C3-2313E294143C}" ProjectSection(ProjectDependencies) = postProject - {43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7} - {764C3A2D-FB0F-428E-B1C7-62D1DD2CE239} = {764C3A2D-FB0F-428E-B1C7-62D1DD2CE239} - {818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470} - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} - {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} = {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} - {FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D} - {BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36} - {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} - {9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E} - {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} - {40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E} - {0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3} - {DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169} - {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} {C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56} + {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} + {DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169} + {0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3} + {40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E} + {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} + {9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E} + {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} + {BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36} + {FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D} + {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} = {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} + {818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470} + {764C3A2D-FB0F-428E-B1C7-62D1DD2CE239} = {764C3A2D-FB0F-428E-B1C7-62D1DD2CE239} + {43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}" @@ -66,10 +66,11 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PPTFormatLib", "..\PPTFormatLib\Win32\PPTFormatLib.vcproj", "{7B27E40E-F70A-4A74-A77C-0944D7931D15}" ProjectSection(ProjectDependencies) = postProject {21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0} - {DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C} - {A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0} - {36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302} + {A0E976CE-133D-466C-AF0E-9DD62715121F} = {A0E976CE-133D-466C-AF0E-9DD62715121F} {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} = {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} + {36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302} + {A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0} + {DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PptFormatTest", "..\..\Test\Applications\DocxFormatTests\PptFormatTest\win32\PptFormatTest.vcproj", "{0F49D5D1-A8D3-4F97-8BC1-E2F65BB00C10}" @@ -83,6 +84,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jbig", "..\..\DesktopEditor EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jbig2", "..\..\DesktopEditor\raster\JBig2\win32\jbig2.vcproj", "{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnicodeConverterLib", "..\..\UnicodeConverter\UnicodeConverterLib.vcproj", "{A0E976CE-133D-466C-AF0E-9DD62715121F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -463,6 +466,18 @@ Global {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|Win32.Build.0 = Release|Win32 {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.ActiveCfg = Release|x64 {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.Build.0 = Release|x64 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Debug|Win32.ActiveCfg = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Debug|Win32.Build.0 = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Debug|x64.ActiveCfg = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Release|Win32.ActiveCfg = Release|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Release|Win32.Build.0 = Release|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Release|x64.ActiveCfg = Release|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Debug|Win32.ActiveCfg = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Debug|Win32.Build.0 = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Debug|x64.ActiveCfg = Debug|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Release|Win32.ActiveCfg = Release|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Release|Win32.Build.0 = Release|Win32 + {A0E976CE-133D-466C-AF0E-9DD62715121F}.Unicode Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/ASCPresentationEditor/OfficeDrawing/TextAttributesEx.cpp b/ASCPresentationEditor/OfficeDrawing/TextAttributesEx.cpp index e322f52afb..01bc6a2891 100644 --- a/ASCPresentationEditor/OfficeDrawing/TextAttributesEx.cpp +++ b/ASCPresentationEditor/OfficeDrawing/TextAttributesEx.cpp @@ -188,14 +188,15 @@ namespace NSPresentationEditor LONG lCountCFs = (LONG)m_arParagraphs[i].m_arSpans.size(); for (LONG j = 0; j < lCountCFs; ++j) { - CString s = m_arParagraphs[i].m_arSpans[j].m_strText; - LONG lFound = m_arParagraphs[i].m_arSpans[j].m_strText.Find((TCHAR)13); + CString s = m_arParagraphs[i].m_arSpans[j].m_strText; + int s_size = s.GetLength(); + int lFoundEnter = m_arParagraphs[i].m_arSpans[j].m_strText.Find((TCHAR)13); //lFound = -1; //todooo разобраться как и что нужно делить и нужно ли ваще. проверить что с памятью - if (lFound >= 0 && s.GetLength() > 1)//todooo если в s тока интер + if( (lFoundEnter >= 0 && s_size > 1) && lFoundEnter < s_size -1 )//todooo если в s тока интер { bool bIsBreakAttack = false; - if (bIsBreak && (0 == lFound)) + if (bIsBreak && (0 == lFoundEnter)) bIsBreakAttack = true; if (bIsBreakAttack) @@ -217,15 +218,15 @@ namespace NSPresentationEditor } LONG lCountTx = m_arParagraphs[i].m_arSpans[j].m_strText.GetLength(); - m_arParagraphs[i].m_arSpans[j].m_strText.Delete(lFound, lCountTx - lFound); + m_arParagraphs[i].m_arSpans[j].m_strText.Delete(lFoundEnter, lCountTx - lFoundEnter); if (j > 0) oNewPar.m_arSpans.erase(oNewPar.m_arSpans.begin(), oNewPar.m_arSpans.begin() + j); - if (lFound == (lCountTx - 1)) + if (lFoundEnter == (lCountTx - 1)) oNewPar.m_arSpans.erase(oNewPar.m_arSpans.begin(), oNewPar.m_arSpans.begin() + 1); else - oNewPar.m_arSpans[0].m_strText.Delete(0, lFound + 1); + oNewPar.m_arSpans[0].m_strText.Delete(0, lFoundEnter + 1); if (0 != oNewPar.m_arSpans.size()) m_arParagraphs.insert(m_arParagraphs.begin() +i + 1, oNewPar); diff --git a/ASCPresentationEditor/PPTXWriter/Converter.cpp b/ASCPresentationEditor/PPTXWriter/Converter.cpp index eae72dddf1..25eba03f16 100644 --- a/ASCPresentationEditor/PPTXWriter/Converter.cpp +++ b/ASCPresentationEditor/PPTXWriter/Converter.cpp @@ -718,6 +718,7 @@ void NSPresentationEditor::CPPTXWriter::WriteBackground(CStringWriter& oWriter, // return; //} //else + m_pShapeWriter->SetRelsGenerator(&oRels); { oWriter.WriteString(m_pShapeWriter->ConvertBrush(oBackground)); } diff --git a/ASCPresentationEditor/PPTXWriter/ShapeWriter.cpp b/ASCPresentationEditor/PPTXWriter/ShapeWriter.cpp index 0e60e03088..2542b85fb2 100644 --- a/ASCPresentationEditor/PPTXWriter/ShapeWriter.cpp +++ b/ASCPresentationEditor/PPTXWriter/ShapeWriter.cpp @@ -424,14 +424,16 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo() if (pPF->lineSpacing.is_init()) { LONG val = pPF->lineSpacing.get(); - if (val > 0) + //1/1024 master unit or 1/589824 inch. + //1 inch = 576 master unit -> 1 master unit = 0.125 pt + if (val > 0)//The absolute value specifies spacing in master units. { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val* 0.125 * 100/*/ dKoef1*/)); m_oWriter.WriteString(str); } else - { + {//0 to 13200, inclusive - The value specifies spacing as a percentage of the text line height. CString str = _T(""); str.Format(_T(""), -val * 1000); m_oWriter.WriteString(str); @@ -443,7 +445,7 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo() if (val > 0) { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val * 0.125 * 100/*/ dKoef1*/)); m_oWriter.WriteString(str); } else if (val < 0) @@ -459,7 +461,7 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo() if (val > 0) { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val * 0.125 * 100/*/ dKoef1*/)); m_oWriter.WriteString(str); } else if (val < 0) diff --git a/ASCPresentationEditor/PPTXWriter/StylesWriter.h b/ASCPresentationEditor/PPTXWriter/StylesWriter.h index 9c95c49614..3c911d2505 100644 --- a/ASCPresentationEditor/PPTXWriter/StylesWriter.h +++ b/ASCPresentationEditor/PPTXWriter/StylesWriter.h @@ -186,7 +186,7 @@ public: if (val > 0) { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val * 0.125 * 100/*/ dKoef1*/)); oWriter.WriteString(str); } else @@ -202,7 +202,7 @@ public: if (val > 0) { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val * 0.125 * 100/*/ dKoef1*/)); oWriter.WriteString(str); } else if (val < 0) @@ -218,7 +218,7 @@ public: if (val > 0) { CString str = _T(""); - str.Format(_T(""), (int)(val / dKoef1 * 100)); + str.Format(_T(""), (int)(val * 0.125 * 100/*/ dKoef1*/)); oWriter.WriteString(str); } else if (val < 0)