Commit 0701ee69 authored by Ilya Kirillov's avatar Ilya Kirillov

Сделана поддержка элементов <w:separator> и <w:continuationSeparator>

parent 4eddc27c
...@@ -4503,6 +4503,9 @@ CDocument.prototype.Paragraph_Add = function(ParaItem, bRecalculate ...@@ -4503,6 +4503,9 @@ CDocument.prototype.Paragraph_Add = function(ParaItem, bRecalculate
case para_PageNum: case para_PageNum:
case para_Field: case para_Field:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
// Если у нас что-то заселекчено и мы вводим текст или пробел // Если у нас что-то заселекчено и мы вводим текст или пробел
// и т.д., тогда сначала удаляем весь селект. // и т.д., тогда сначала удаляем весь селект.
...@@ -11502,7 +11505,7 @@ CDocument.prototype.OnKeyDown = function(e) ...@@ -11502,7 +11505,7 @@ CDocument.prototype.OnKeyDown = function(e)
// { // {
// this.History.Create_NewPoint(); // this.History.Create_NewPoint();
// var oFootnote = this.Footnotes.Create_Footnote(); // var oFootnote = this.Footnotes.Create_Footnote();
// //
// oFootnote.Paragraph_Add(new ParaFootnoteRef(oFootnote)); // oFootnote.Paragraph_Add(new ParaFootnoteRef(oFootnote));
// oFootnote.Paragraph_Add(new ParaSpace()); // oFootnote.Paragraph_Add(new ParaSpace());
// oFootnote.Paragraph_Add(new ParaText("F")); // oFootnote.Paragraph_Add(new ParaText("F"));
...@@ -11513,10 +11516,22 @@ CDocument.prototype.OnKeyDown = function(e) ...@@ -11513,10 +11516,22 @@ CDocument.prototype.OnKeyDown = function(e)
// oFootnote.Paragraph_Add(new ParaText("o")); // oFootnote.Paragraph_Add(new ParaText("o"));
// oFootnote.Paragraph_Add(new ParaText("t")); // oFootnote.Paragraph_Add(new ParaText("t"));
// oFootnote.Paragraph_Add(new ParaText("e")); // oFootnote.Paragraph_Add(new ParaText("e"));
// //
// this.Paragraph_Add(new ParaFootnoteReference(oFootnote)); // this.Paragraph_Add(new ParaFootnoteReference(oFootnote));
// bRetValue = keydownresult_PreventAll; // bRetValue = keydownresult_PreventAll;
// } // }
// else if (114 === e.KeyCode)
// {
// this.History.Create_NewPoint();
// this.Paragraph_Add(new ParaSeparator());
// bRetValue = keydownresult_PreventAll;
// }
// else if (115 === e.KeyCode)
// {
// this.History.Create_NewPoint();
// this.Paragraph_Add(new ParaContinuationSeparator());
// bRetValue = keydownresult_PreventAll;
// }
// TEST <-- // TEST <--
else if (e.KeyCode == 121 && true === e.ShiftKey) // Shift + F10 - контекстное меню else if (e.KeyCode == 121 && true === e.ShiftKey) // Shift + F10 - контекстное меню
{ {
......
...@@ -3030,6 +3030,8 @@ Paragraph.prototype = ...@@ -3030,6 +3030,8 @@ Paragraph.prototype =
case para_NewLine: case para_NewLine:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
default: default:
{ {
// Элементы данного типа добавляем во внутренний элемент // Элементы данного типа добавляем во внутренний элемент
......
...@@ -34,7 +34,7 @@ var c_oAscRelativeFromH = Asc.c_oAscRelativeFromH; ...@@ -34,7 +34,7 @@ var c_oAscRelativeFromH = Asc.c_oAscRelativeFromH;
var c_oAscRelativeFromV = Asc.c_oAscRelativeFromV; var c_oAscRelativeFromV = Asc.c_oAscRelativeFromV;
var para_Unknown = -1; // var para_Unknown = -1; //
var para_Empty = 0x0000; // Пустой элемент (таким элементом должен заканчиваться каждый параграф) var para_RunBase = 0x0000; // Базовый элемент, он не должен использоваться как самостоятельный объект
var para_Text = 0x0001; // Текст var para_Text = 0x0001; // Текст
var para_Space = 0x0002; // Пробелы var para_Space = 0x0002; // Пробелы
var para_TextPr = 0x0003; // Свойства текста var para_TextPr = 0x0003; // Свойства текста
...@@ -133,6 +133,61 @@ var PARATEXT_FLAGS_NON_CAPITALS = PARATEXT_FLAGS_MASK ^ PARATEXT_FLAGS ...@@ -133,6 +133,61 @@ var PARATEXT_FLAGS_NON_CAPITALS = PARATEXT_FLAGS_MASK ^ PARATEXT_FLAGS
var TEXTWIDTH_DIVIDER = 16384; var TEXTWIDTH_DIVIDER = 16384;
/**
* Базовый класс для элементов, лежащих внутри рана.
* @constructor
*/
function CRunElementBase()
{
this.Width = 0x00000000 | 0;
this.WidthVisible = 0x00000000 | 0;
}
CRunElementBase.prototype.Type = para_RunBase;
CRunElementBase.prototype.Get_Type = function()
{
return para_RunBase;
};
CRunElementBase.prototype.Draw = function(X, Y, Context, PDSE)
{
};
CRunElementBase.prototype.Measure = function(Context, TextPr)
{
this.Width = 0x00000000 | 0;
this.WidthVisible = 0x00000000 | 0;
};
CRunElementBase.prototype.Get_Width = function()
{
return (this.Width / TEXTWIDTH_DIVIDER);
};
CRunElementBase.prototype.Get_WidthVisible = function()
{
return (this.WidthVisible / TEXTWIDTH_DIVIDER);
};
CRunElementBase.prototype.Set_WidthVisible = function(WidthVisible)
{
this.WidthVisible = (WidthVisible * TEXTWIDTH_DIVIDER) | 0;
};
CRunElementBase.prototype.Is_RealContent = function()
{
return true;
};
CRunElementBase.prototype.Can_AddNumbering = function()
{
return true;
};
CRunElementBase.prototype.Copy = function()
{
return new CRunElementBase();
};
CRunElementBase.prototype.Write_ToBinary = function(Writer)
{
// Long : Type
Writer.WriteLong(this.Type);
};
CRunElementBase.prototype.Read_FromBinary = function(Reader)
{
};
// Класс ParaText // Класс ParaText
function ParaText(value) function ParaText(value)
{ {
...@@ -7466,161 +7521,260 @@ ParaPresentationNumbering.prototype = ...@@ -7466,161 +7521,260 @@ ParaPresentationNumbering.prototype =
* Класс представляющий ссылку на сноску. * Класс представляющий ссылку на сноску.
* @param {CFootEndnote} Footnote - Ссылка на сноску. * @param {CFootEndnote} Footnote - Ссылка на сноску.
* @constructor * @constructor
* @extends {CRunElementBase}
*/ */
function ParaFootnoteReference(Footnote) function ParaFootnoteReference(Footnote)
{ {
this.Footnote = Footnote; this.Footnote = Footnote;
this.Width = 0; this.Width = 0;
this.WidthVisible = 0; this.WidthVisible = 0;
this.Number = 1; this.Number = 1;
} }
ParaFootnoteReference.prototype.Type = para_FootnoteReference; AscCommon.extendClass(ParaFootnoteReference, CRunElementBase);
ParaFootnoteReference.prototype.Get_Type = function() ParaFootnoteReference.prototype.Type = para_FootnoteReference;
ParaFootnoteReference.prototype.Get_Type = function()
{ {
return para_FootnoteReference; return para_FootnoteReference;
}; };
ParaFootnoteReference.prototype.Draw = function(X, Y, Context, PDSE) ParaFootnoteReference.prototype.Draw = function(X, Y, Context, PDSE)
{ {
Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size);
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); g_oTextMeasurer.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size);
// TODO: Пока делаем обычный вариант с типом Decimal // TODO: Пока делаем обычный вариант с типом Decimal
var _X = X; var _X = X;
var T = Numbering_Number_To_String(this.Number); var T = Numbering_Number_To_String(this.Number);
for (var nPos = 0; nPos < T.length; ++nPos) for (var nPos = 0; nPos < T.length; ++nPos)
{ {
var Char = T.charAt(nPos); var Char = T.charAt(nPos);
Context.FillText(_X, Y, Char); Context.FillText(_X, Y, Char);
_X += g_oTextMeasurer.Measure(Char).Width; _X += g_oTextMeasurer.Measure(Char).Width;
} }
// TODO: Надо переделать в отдельную функцию отрисовщика // TODO: Надо переделать в отдельную функцию отрисовщика
if (editor && editor.ShowParaMarks) if (editor && editor.ShowParaMarks)
{ {
if (Context.m_oContext && Context.m_oContext.setLineDash) if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([1, 1]); Context.m_oContext.setLineDash([1, 1]);
var l = X, t = PDSE.LineTop, r = X + this.Get_Width(), b = PDSE.BaseLine; var l = X, t = PDSE.LineTop, r = X + this.Get_Width(), b = PDSE.BaseLine;
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0); Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0); Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0); Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0);
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, b, l, r, 0, 0, 0); Context.drawHorLineExt(c_oAscLineDrawingRule.Top, b, l, r, 0, 0, 0);
if (Context.m_oContext && Context.m_oContext.setLineDash) if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([]); Context.m_oContext.setLineDash([]);
} }
}; };
ParaFootnoteReference.prototype.Measure = function(Context, TextPr) ParaFootnoteReference.prototype.Measure = function(Context, TextPr)
{ {
Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size);
// TODO: Пока делаем обычный вариант с типом Decimal // TODO: Пока делаем обычный вариант с типом Decimal
var X = 0; var X = 0;
var T = Numbering_Number_To_String(this.Number); var T = Numbering_Number_To_String(this.Number);
for (var nPos = 0; nPos < T.length; ++nPos) for (var nPos = 0; nPos < T.length; ++nPos)
{ {
var Char = T.charAt(nPos); var Char = T.charAt(nPos);
X += Context.Measure(Char).Width; X += Context.Measure(Char).Width;
} }
var ResultWidth = (Math.max((X + TextPr.Spacing), 0) * TEXTWIDTH_DIVIDER) | 0; var ResultWidth = (Math.max((X + TextPr.Spacing), 0) * TEXTWIDTH_DIVIDER) | 0;
this.Width = ResultWidth; this.Width = ResultWidth;
this.WidthVisible = ResultWidth; this.WidthVisible = ResultWidth;
};
ParaFootnoteReference.prototype.Copy = function()
{
return new ParaFootnoteReference(this.Footnote);
}; };
ParaFootnoteReference.prototype.Get_Width = function() ParaFootnoteReference.prototype.Write_ToBinary = function(Writer)
{ {
return (this.Width / TEXTWIDTH_DIVIDER); // Long : Type
// String : FootnoteId
Writer.WriteLong(this.Type);
Writer.WriteString2(this.Footnote.Get_Id());
}; };
ParaFootnoteReference.prototype.Get_WidthVisible = function() ParaFootnoteReference.prototype.Read_FromBinary = function(Reader)
{ {
return (this.WidthVisible / TEXTWIDTH_DIVIDER); // String : FootnoteId
this.Footnote = g_oTableId.Get_ById(Reader.GetString2());
}; };
ParaFootnoteReference.prototype.Set_WidthVisible = function(WidthVisible) ParaFootnoteReference.prototype.Get_Footnote = function()
{ {
this.WidthVisible = (WidthVisible * TEXTWIDTH_DIVIDER) | 0; return this.Footnote;
}; };
ParaFootnoteReference.prototype.Is_RealContent = function()
/**
* Класс представляющий номер сноски внутри сноски.
* @param {CFootEndnote} Footnote - Ссылка на сноску.
* @constructor
* @extends {ParaFootnoteReference}
*/
function ParaFootnoteRef(Footnote)
{
ParaFootnoteRef.superclass.constructor.call(this, Footnote);
}
AscCommon.extendClass(ParaFootnoteRef, ParaFootnoteReference);
ParaFootnoteRef.prototype.Type = para_FootnoteRef;
ParaFootnoteRef.prototype.Get_Type = function()
{ {
return true; return para_FootnoteRef;
}; };
ParaFootnoteReference.prototype.Can_AddNumbering = function() ParaFootnoteRef.prototype.Copy = function()
{ {
return true; return new ParaFootnoteRef(this.Get_Footnote());
}; };
ParaFootnoteReference.prototype.Copy = function()
/**
* Класс представляющий собой разделитель (который в основном используется для сносок).
* @constructor
* @extends {CRunElementBase}
*/
function ParaSeparator()
{ {
return new ParaFootnoteReference(this.Footnote); ParaSeparator.superclass.constructor.call(this);
this.LineW = 0;
}
AscCommon.extendClass(ParaSeparator, CRunElementBase);
ParaSeparator.prototype.Type = para_Separator;
ParaSeparator.prototype.Get_Type = function()
{
return para_Separator;
}; };
ParaFootnoteReference.prototype.Write_ToBinary = function(Writer) ParaSeparator.prototype.Draw = function(X, Y, Context, PDSE)
{ {
// Long : Type var l = X, t = PDSE.LineTop, r = X + this.Get_Width(), b = PDSE.BaseLine;
// String : FootnoteId
Writer.WriteLong(this.Type); Context.drawHorLineExt(c_oAscLineDrawingRule.Center, (t + b) / 2, l, r, this.LineW, 0, 0);
Writer.WriteString2(this.Footnote.Get_Id());
// TODO: Надо переделать в отдельную функцию отрисовщика
if (editor && editor.ShowParaMarks)
{
if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([1, 1]);
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0);
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, b, l, r, 0, 0, 0);
if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([]);
}
}; };
ParaFootnoteReference.prototype.Read_FromBinary = function(Reader) ParaSeparator.prototype.Measure = function(Context, TextPr)
{ {
// String : FootnoteId this.Width = (50 * TEXTWIDTH_DIVIDER) | 0;
this.Footnote = g_oTableId.Get_ById(Reader.GetString2()); this.WidthVisible = (50 * TEXTWIDTH_DIVIDER) | 0;
this.LineW = (TextPr.FontSize / 18) * g_dKoef_pt_to_mm;
}; };
ParaFootnoteReference.prototype.Get_Footnote = function() ParaSeparator.prototype.Copy = function()
{ {
return this.Footnote; return new ParaSeparator();
}; };
/** /**
* Класс представляющий номер сноски внутри сноски. * Класс представляющий собой длинный разделитель (который в основном используется для сносок).
* @param {CFootEndnote} Footnote - Ссылка на сноску.
* @constructor * @constructor
*/ */
function ParaFootnoteRef(Footnote) function ParaContinuationSeparator()
{ {
ParaFootnoteRef.superclass.constructor.call(this, Footnote); ParaContinuationSeparator.superclass.constructor.call(this);
this.LineW = 0;
} }
AscCommon.extendClass(ParaFootnoteRef, ParaFootnoteReference); AscCommon.extendClass(ParaContinuationSeparator, CRunElementBase);
ParaFootnoteRef.prototype.Type = para_FootnoteRef; ParaContinuationSeparator.prototype.Type = para_ContinuationSeparator;
ParaFootnoteRef.prototype.Get_Type = function() ParaContinuationSeparator.prototype.Get_Type = function()
{ {
return para_FootnoteRef; return para_ContinuationSeparator;
}; };
ParaContinuationSeparator.prototype.Draw = function(X, Y, Context, PDSE)
{
var l = X, t = PDSE.LineTop, r = X + this.Get_Width(), b = PDSE.BaseLine;
Context.drawHorLineExt(c_oAscLineDrawingRule.Center, (t + b) / 2, l, r, this.LineW, 0, 0);
// TODO: Надо переделать в отдельную функцию отрисовщика
if (editor && editor.ShowParaMarks)
{
if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([1, 1]);
function ParagraphContent_Read_FromBinary(Reader) Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0);
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, b, l, r, 0, 0, 0);
if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([]);
}
};
ParaContinuationSeparator.prototype.Measure = function(Context, TextPr)
{ {
var ElementType = Reader.GetLong(); this.Width = (50 * TEXTWIDTH_DIVIDER) | 0;
this.WidthVisible = (50 * TEXTWIDTH_DIVIDER) | 0;
var Element = null;
switch ( ElementType )
{
case para_TextPr :
case para_Drawing :
case para_HyperlinkStart :
{
var ElementId = Reader.GetString2();
Element = g_oTableId.Get_ById( ElementId );
return Element;
}
case para_Text : Element = new ParaText(); break;
case para_Space : Element = new ParaSpace(); break;
case para_End : Element = new ParaEnd(); break;
case para_NewLine : Element = new ParaNewLine(); break;
case para_Numbering : Element = new ParaNumbering(); break;
case para_Tab : Element = new ParaTab(); break;
case para_PageNum : Element = new ParaPageNum(); break;
case para_Math_Placeholder : Element = new CMathText(); break;
case para_Math_Text : Element = new CMathText(); break;
case para_Math_BreakOperator: Element = new CMathText(); break;
case para_Math_Ampersand : Element = new CMathAmp(); break;
case para_PresentationNumbering : Element = new ParaPresentationNumbering(); break;
case para_FootnoteReference : Element = new ParaFootnoteReference(); break;
}
if ( null != Element ) this.LineW = (TextPr.FontSize / 18) * g_dKoef_pt_to_mm;
Element.Read_FromBinary(Reader); };
ParaContinuationSeparator.prototype.Copy = function()
{
return new ParaContinuationSeparator();
};
ParaContinuationSeparator.prototype.Update_Width = function(PRS)
{
var oPara = PRS.Paragraph;
var nCurPage = PRS.Page;
oPara.Parent.Update_ContentIndexing();
var oLimits = oPara.Parent.Get_PageContentStartPos2(oPara.PageNum, oPara.ColumnNum, nCurPage, oPara.Index);
return Element; var nWidth = ((oLimits.XLimit - oLimits.X) * TEXTWIDTH_DIVIDER) | 0;
this.Width = nWidth;
this.WidthVisible = nWidth;
};
function ParagraphContent_Read_FromBinary(Reader)
{
var ElementType = Reader.GetLong();
var Element = null;
switch (ElementType)
{
case para_TextPr :
case para_Drawing :
case para_HyperlinkStart :
{
var ElementId = Reader.GetString2();
Element = g_oTableId.Get_ById(ElementId);
return Element;
}
case para_RunBase : Element = new CRunElementBase(); break;
case para_Text : Element = new ParaText(); break;
case para_Space : Element = new ParaSpace(); break;
case para_End : Element = new ParaEnd(); break;
case para_NewLine : Element = new ParaNewLine(); break;
case para_Numbering : Element = new ParaNumbering(); break;
case para_Tab : Element = new ParaTab(); break;
case para_PageNum : Element = new ParaPageNum(); break;
case para_Math_Placeholder : Element = new CMathText(); break;
case para_Math_Text : Element = new CMathText(); break;
case para_Math_BreakOperator : Element = new CMathText(); break;
case para_Math_Ampersand : Element = new CMathAmp(); break;
case para_PresentationNumbering : Element = new ParaPresentationNumbering(); break;
case para_FootnoteReference : Element = new ParaFootnoteReference(); break;
case para_FootnoteRef : Element = new ParaFootnoteRef(); break;
case para_Separator : Element = new ParaSeparator(); break;
case para_ContinuationSeparator : Element = new ParaContinuationSeparator(); break;
}
if (null != Element)
Element.Read_FromBinary(Reader);
return Element;
} }
//--------------------------------------------------------export---------------------------------------------------- //--------------------------------------------------------export----------------------------------------------------
......
...@@ -717,7 +717,7 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa ...@@ -717,7 +717,7 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa
PRS.YLimit = YLimit; PRS.YLimit = YLimit;
PRS.Y = YStart; PRS.Y = YStart;
this.Pages.length = CurPage + 1 this.Pages.length = CurPage + 1;
this.Pages[CurPage] = new CParaPage(XStart, YStart, XLimit, YLimit, CurLine); this.Pages[CurPage] = new CParaPage(XStart, YStart, XLimit, YLimit, CurLine);
}; };
......
...@@ -2251,10 +2251,15 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -2251,10 +2251,15 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
// Отмечаем, что началось слово // Отмечаем, что началось слово
StartWord = true; StartWord = true;
if (para_ContinuationSeparator === ItemType)
Item.Update_Width(PRS);
// При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов. // При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов.
var LetterLen = Item.Width / TEXTWIDTH_DIVIDER;//var LetterLen = Item.Get_Width(); var LetterLen = Item.Width / TEXTWIDTH_DIVIDER;//var LetterLen = Item.Get_Width();
...@@ -3098,6 +3103,8 @@ ParaRun.prototype.Recalculate_LineMetrics = function(PRS, ParaPr, _CurLine, _Cur ...@@ -3098,6 +3103,8 @@ ParaRun.prototype.Recalculate_LineMetrics = function(PRS, ParaPr, _CurLine, _Cur
case para_PageNum: case para_PageNum:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
UpdateLineMetricsText = true; UpdateLineMetricsText = true;
break; break;
...@@ -3197,6 +3204,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -3197,6 +3204,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
PRSC.Letters++; PRSC.Letters++;
...@@ -3349,6 +3358,8 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange, ...@@ -3349,6 +3358,8 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange,
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
var WidthVisible = 0; var WidthVisible = 0;
...@@ -4248,6 +4259,8 @@ ParaRun.prototype.Draw_HighLights = function(PDSH) ...@@ -4248,6 +4259,8 @@ ParaRun.prototype.Draw_HighLights = function(PDSH)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if ( para_Drawing === ItemType && !Item.Is_Inline() ) if ( para_Drawing === ItemType && !Item.Is_Inline() )
break; break;
...@@ -4439,6 +4452,8 @@ ParaRun.prototype.Draw_Elements = function(PDSE) ...@@ -4439,6 +4452,8 @@ ParaRun.prototype.Draw_Elements = function(PDSE)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if (para_Tab === ItemType) if (para_Tab === ItemType)
{ {
...@@ -4711,6 +4726,8 @@ ParaRun.prototype.Draw_Lines = function(PDSL) ...@@ -4711,6 +4726,8 @@ ParaRun.prototype.Draw_Lines = function(PDSL)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if ( para_Drawing != ItemType || Item.Is_Inline() ) if ( para_Drawing != ItemType || Item.Is_Inline() )
{ {
......
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