Commit 721812f9 authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Исправлен баг с неправильным пересчетом параграфа с прилеганием по ширине....

Исправлен баг с неправильным пересчетом параграфа с прилеганием по ширине. Улучшен алгоритм рассчета таких параграфов.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58467 954022d7-b5bf-4e40-9824-e11837661b57
parent 9f6c1b94
...@@ -684,12 +684,12 @@ ParaMath.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -684,12 +684,12 @@ ParaMath.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
if ( EndPos >= 1 ) if ( EndPos >= 1 )
{ {
PRSC.Range.Letters++; PRSC.Letters++;
if ( true !== PRSC.Word ) if ( true !== PRSC.Word )
{ {
PRSC.Word = true; PRSC.Word = true;
PRSC.Range.Words++; PRSC.Words++;
} }
PRSC.Range.W += this.Width; PRSC.Range.W += this.Width;
...@@ -698,10 +698,10 @@ ParaMath.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -698,10 +698,10 @@ ParaMath.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
PRSC.SpaceLen = 0; PRSC.SpaceLen = 0;
// Пробелы перед первым словом в строке не считаем // Пробелы перед первым словом в строке не считаем
if ( PRSC.Range.Words > 1 ) if (PRSC.Words > 1)
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
else else
PRSC.Range.SpacesSkip += PRSC.SpacesCount; PRSC.SpacesSkip += PRSC.SpacesCount;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
} }
......
This diff is collapsed.
...@@ -2181,12 +2181,12 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2181,12 +2181,12 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
case para_Sym: case para_Sym:
case para_Text: case para_Text:
{ {
PRSC.Range.Letters++; PRSC.Letters++;
if ( true !== PRSC.Word ) if ( true !== PRSC.Word )
{ {
PRSC.Word = true; PRSC.Word = true;
PRSC.Range.Words++; PRSC.Words++;
} }
PRSC.Range.W += Item.Width / TEXTWIDTH_DIVIDER;//Item.Get_Width(); PRSC.Range.W += Item.Width / TEXTWIDTH_DIVIDER;//Item.Get_Width();
...@@ -2195,10 +2195,10 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2195,10 +2195,10 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
PRSC.SpaceLen = 0; PRSC.SpaceLen = 0;
// Пробелы перед первым словом в строке не считаем // Пробелы перед первым словом в строке не считаем
if ( PRSC.Range.Words > 1 ) if (PRSC.Words > 1)
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
else else
PRSC.Range.SpacesSkip += PRSC.SpacesCount; PRSC.SpacesSkip += PRSC.SpacesCount;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
...@@ -2226,13 +2226,13 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2226,13 +2226,13 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
} }
case para_Drawing: case para_Drawing:
{ {
PRSC.Range.Words++; PRSC.Words++;
PRSC.Range.W += PRSC.SpaceLen; PRSC.Range.W += PRSC.SpaceLen;
if ( PRSC.Range.Words > 1 ) if (PRSC.Words > 1)
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
else else
PRSC.Range.SpacesSkip += PRSC.SpacesCount; PRSC.SpacesSkip += PRSC.SpacesCount;
PRSC.Word = false; PRSC.Word = false;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
...@@ -2245,13 +2245,13 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2245,13 +2245,13 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
} }
case para_PageNum: case para_PageNum:
{ {
PRSC.Range.Words++; PRSC.Words++;
PRSC.Range.W += PRSC.SpaceLen; PRSC.Range.W += PRSC.SpaceLen;
if ( PRSC.Range.Words > 1 ) if (PRSC.Words > 1)
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
else else
PRSC.Range.SpacesSkip += PRSC.SpacesCount; PRSC.SpacesSkip += PRSC.SpacesCount;
PRSC.Word = false; PRSC.Word = false;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
...@@ -2268,12 +2268,12 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2268,12 +2268,12 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
// Учитываем только слова и пробелы, идущие после последнего таба // Учитываем только слова и пробелы, идущие после последнего таба
PRSC.Range.LettersSkip += PRSC.Range.Letters; PRSC.LettersSkip += PRSC.Letters;
PRSC.Range.SpacesSkip += PRSC.Range.Spaces; PRSC.SpacesSkip += PRSC.Spaces;
PRSC.Range.Words = 0; PRSC.Words = 0;
PRSC.Range.Spaces = 0; PRSC.Spaces = 0;
PRSC.Range.Letters = 0; PRSC.Letters = 0;
PRSC.SpaceLen = 0; PRSC.SpaceLen = 0;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
...@@ -2284,8 +2284,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2284,8 +2284,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
case para_NewLine: case para_NewLine:
{ {
if ( true === PRSC.Word && PRSC.Range.Words > 1 ) if (true === PRSC.Word && PRSC.Words > 1)
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
PRSC.SpacesCount = 0; PRSC.SpacesCount = 0;
PRSC.Word = false; PRSC.Word = false;
...@@ -2295,7 +2295,7 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -2295,7 +2295,7 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
case para_End: case para_End:
{ {
if ( true === PRSC.Word ) if ( true === PRSC.Word )
PRSC.Range.Spaces += PRSC.SpacesCount; PRSC.Spaces += PRSC.SpacesCount;
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment