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)