fpvectorial: Expands the styles support to have a selectable margin information. Now ODT paragraph margins are working =)

git-svn-id: trunk@42439 -
This commit is contained in:
sekelsenmat 2013-08-21 05:25:36 +00:00
parent 2a9e3f0c45
commit c3f6ea1d25
3 changed files with 138 additions and 111 deletions

View File

@ -24,7 +24,7 @@ begin
// A4 -> 210mm x 297mm // A4 -> 210mm x 297mm
Vec.Width := 210; Vec.Width := 210;
Vec.Height := 297; Vec.Height := 297;
Vec.AddStandardODTTextDocumentStyles(); Vec.AddStandardTextDocumentStyles(vfODT);
// First page sequence // First page sequence
Page := Vec.AddTextPageSequence(); Page := Vec.AddTextPageSequence();

View File

@ -39,6 +39,7 @@ uses
type type
TvVectorialFormat = ( TvVectorialFormat = (
vfUnknown,
{ Multi-purpose document formats } { Multi-purpose document formats }
vfPDF, vfSVG, vfSVGZ, vfCorelDrawCDR, vfWindowsMetafileWMF, vfODG, vfPDF, vfSVG, vfSVGZ, vfCorelDrawCDR, vfWindowsMetafileWMF, vfODG,
{ CAD formats } { CAD formats }
@ -131,13 +132,20 @@ type
StrikeThrough: boolean; StrikeThrough: boolean;
end; end;
TvSetPenBrushAndFontElement = ( TvSetStyleElement = (
// Pen, Brush and Font
spbfPenColor, spbfPenStyle, spbfPenWidth, spbfPenColor, spbfPenStyle, spbfPenWidth,
spbfBrushColor, spbfBrushStyle, spbfBrushGradient, spbfBrushColor, spbfBrushStyle, spbfBrushGradient,
spbfFontColor, spbfFontSize, spbfFontName, spbfFontBold, spbfFontItalic, spbfFontColor, spbfFontSize, spbfFontName, spbfFontBold, spbfFontItalic,
spbfFontUnderline, spbfFontStrikeThrough, spbfAlignment); spbfFontUnderline, spbfFontStrikeThrough, spbfAlignment,
//
sseMarginTop, sseMarginBottom, sseMarginLeft, sseMarginRight
);
TvSetPenBrushAndFontElements = set of TvSetPenBrushAndFontElement; TvSetStyleElements = set of TvSetStyleElement;
// for backwards compatibility, obsolete
TvSetPenBrushAndFontElement = TvSetStyleElement;
TvSetPenBrushAndFontElements = TvSetStyleElements;
TvStyleKind = ( TvStyleKind = (
// Paragraph kinds // Paragraph kinds
@ -158,14 +166,16 @@ type
Pen: TvPen; Pen: TvPen;
Brush: TvBrush; Brush: TvBrush;
Font: TvFont; Font: TvFont;
SetElements: TvSetPenBrushAndFontElements;
// //
MarginTop, MarginBottom, MarginLeft, MarginRight: Double; // in mm MarginTop, MarginBottom, MarginLeft, MarginRight: Double; // in mm
// //
SetElements: TvSetStyleElements;
//
function GetKind: TvStyleKind; // takes care of parenting function GetKind: TvStyleKind; // takes care of parenting
procedure Clear(); procedure Clear();
procedure CopyFrom(AFrom: TvStyle); procedure CopyFrom(AFrom: TvStyle);
procedure ApplyOver(AFrom: TvStyle); procedure ApplyOver(AFrom: TvStyle);
function CreateStyleCombinedWithParent: TvStyle;
end; end;
{ Coordinates and polyline segments } { Coordinates and polyline segments }
@ -907,7 +917,7 @@ type
function AddTextPageSequence(): TvTextPageSequence; function AddTextPageSequence(): TvTextPageSequence;
{ Style methods } { Style methods }
function AddStyle(): TvStyle; function AddStyle(): TvStyle;
procedure AddStandardODTTextDocumentStyles(); procedure AddStandardTextDocumentStyles(AFormat: TvVectorialFormat);
function GetStyleCount: Integer; function GetStyleCount: Integer;
function GetStyle(AIndex: Integer): TvStyle; function GetStyle(AIndex: Integer): TvStyle;
function FindStyleIndex(AStyle: TvStyle): Integer; function FindStyleIndex(AStyle: TvStyle): Integer;
@ -1249,18 +1259,26 @@ procedure TvStyle.ApplyOver(AFrom: TvStyle);
begin begin
if AFrom = nil then Exit; if AFrom = nil then Exit;
// Pen
if spbfPenColor in AFrom.SetElements then if spbfPenColor in AFrom.SetElements then
Pen.Color := AFrom.Pen.Color; Pen.Color := AFrom.Pen.Color;
if spbfPenStyle in AFrom.SetElements then if spbfPenStyle in AFrom.SetElements then
Pen.Style := AFrom.Pen.Style; Pen.Style := AFrom.Pen.Style;
if spbfPenWidth in AFrom.SetElements then if spbfPenWidth in AFrom.SetElements then
Pen.Width := AFrom.Pen.Width; Pen.Width := AFrom.Pen.Width;
// Brush
if spbfBrushColor in AFrom.SetElements then if spbfBrushColor in AFrom.SetElements then
Brush.Color := AFrom.Brush.Color; Brush.Color := AFrom.Brush.Color;
if spbfBrushStyle in AFrom.SetElements then if spbfBrushStyle in AFrom.SetElements then
Brush.Style := AFrom.Brush.Style; Brush.Style := AFrom.Brush.Style;
{if spbfBrushGradient in AFrom.SetElements then {if spbfBrushGradient in AFrom.SetElements then
Brush.Gra := AFrom.Brush.Style;} Brush.Gra := AFrom.Brush.Style;}
// Font
if spbfFontColor in AFrom.SetElements then if spbfFontColor in AFrom.SetElements then
Font.Color := AFrom.Font.Color; Font.Color := AFrom.Font.Color;
if spbfFontSize in AFrom.SetElements then if spbfFontSize in AFrom.SetElements then
@ -1278,7 +1296,25 @@ begin
If spbfAlignment in AFrom.SetElements then If spbfAlignment in AFrom.SetElements then
Alignment := AFrom.Alignment; Alignment := AFrom.Alignment;
SetElements:=AFrom.SetElements; // Style
if sseMarginTop in AFrom.SetElements then
MarginTop := AFrom.MarginTop;
If sseMarginBottom in AFrom.SetElements then
MarginBottom := AFrom.MarginBottom;
If sseMarginLeft in AFrom.SetElements then
MarginLeft := AFrom.MarginLeft;
If sseMarginRight in AFrom.SetElements then
MarginRight := AFrom.MarginRight;
SetElements := AFrom.SetElements + SetElements;
end;
function TvStyle.CreateStyleCombinedWithParent: TvStyle;
begin
Result := TvStyle.Create;
Result.CopyFrom(Self);
if Parent <> nil then Result.ApplyOver(Parent);
end; end;
{ T2DEllipticalArcSegment } { T2DEllipticalArcSegment }
@ -5487,7 +5523,7 @@ begin
FStyles.Add(Result); FStyles.Add(Result);
end; end;
procedure TvVectorialDocument.AddStandardODTTextDocumentStyles(); procedure TvVectorialDocument.AddStandardTextDocumentStyles(AFormat: TvVectorialFormat);
var var
lTextBody, lBaseHeading, lCurStyle: TvStyle; lTextBody, lBaseHeading, lCurStyle: TvStyle;
begin begin
@ -5516,7 +5552,7 @@ begin
lBaseHeading.Kind := vskHeading; lBaseHeading.Kind := vskHeading;
lBaseHeading.Font.Size := 14; lBaseHeading.Font.Size := 14;
lBaseHeading.Font.Name := 'Arial'; lBaseHeading.Font.Name := 'Arial';
lBaseHeading.SetElements := [spbfFontSize, spbfFontName]; lBaseHeading.SetElements := [spbfFontSize, spbfFontName, sseMarginTop, sseMarginBottom];
lBaseHeading.MarginTop := 4.23; lBaseHeading.MarginTop := 4.23;
lBaseHeading.MarginBottom := 2.12; lBaseHeading.MarginBottom := 2.12;

View File

@ -376,7 +376,8 @@ procedure TvODTVectorialWriter.WriteStyles(AData: TvVectorialDocument);
var var
i: Integer; i: Integer;
CurStyle: TvStyle; CurStyle: TvStyle;
lTextPropsStr, lParagraphPropsStr, lCurStyleTmpStr, CurStyleParent: string; lTextPropsStr, lParagraphPropsStr, lCurStyleTmpStr, CurStyleParent,
lMarginStr: string;
begin begin
FStyles := FStyles :=
XML_HEADER + LineEnding + XML_HEADER + LineEnding +
@ -419,56 +420,33 @@ begin
' <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding + ' <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
' <style:font-face style:name="Microsoft YaHei" svg:font-family="''Microsoft YaHei''" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding + ' <style:font-face style:name="Microsoft YaHei" svg:font-family="''Microsoft YaHei''" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
' <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding + ' <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
'</office:font-face-decls>' + LineEnding + '</office:font-face-decls>';
// up to here done +/- // ----------------------------
// Styles
'<office:styles>' + LineEnding + // ----------------------------
' <style:style style:name="Default" style:family="table-cell">' + LineEnding +
' <style:text-properties fo:font-size="10" style:font-name="Arial" />' + LineEnding +
' </style:style>' + LineEnding +
'</office:styles>' + LineEnding +
'<office:automatic-styles>' + LineEnding +
' <style:page-layout style:name="pm1">' + LineEnding +
' <style:page-layout-properties fo:margin-top="1.25cm" fo:margin-bottom="1.25cm" fo:margin-left="1.905cm" fo:margin-right="1.905cm" />' + LineEnding +
' <style:header-style>' + LineEnding +
' <style:header-footer-properties fo:min-height="0.751cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.25cm" fo:margin-top="0cm" />' + LineEnding +
' </style:header-style>' + LineEnding +
' <style:footer-style>' + LineEnding +
' <style:header-footer-properties fo:min-height="0.751cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.25cm" fo:margin-bottom="0cm" />' + LineEnding +
' </style:footer-style>' + LineEnding +
' </style:page-layout>' + LineEnding +
'</office:automatic-styles>' + LineEnding +
'<office:master-styles>' + LineEnding +
' <style:master-page style:name="Default" style:page-layout-name="pm1">' + LineEnding +
' <style:header />' + LineEnding +
' <style:header-left style:display="false" />' + LineEnding +
' <style:footer />' + LineEnding +
' <style:footer-left style:display="false" />' + LineEnding +
' </style:master-page>' + LineEnding +
'</office:master-styles>' + LineEnding;
FStyles := FStyles + FStyles := FStyles +
'<office:styles>' + LineEnding; '<office:styles>' + LineEnding;
{
<style:default-style style:family="graphic"> FStyles := FStyles +
<style:graphic-properties svg:stroke-color="#3465af" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false" /> ' <style:default-style style:family="graphic">' + LineEnding +
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> ' <style:graphic-properties svg:stroke-color="#3465af" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false" />' + LineEnding +
<style:tab-stops /> ' <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">' + LineEnding +
</style:paragraph-properties> ' <style:tab-stops />' + LineEnding +
<style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="fi" fo:country="FI" style:letter-kerning="true" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" /> ' </style:paragraph-properties>' + LineEnding +
</style:default-style> ' <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="fi" fo:country="FI" style:letter-kerning="true" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" />' + LineEnding +
<style:default-style style:family="paragraph"> ' </style:default-style>' + LineEnding +
<style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page" /> ' <style:default-style style:family="paragraph">' + LineEnding +
<style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="fi" fo:country="FI" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Mangal" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" /> ' <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page" />' + LineEnding +
</style:default-style> ' <style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="fi" fo:country="FI" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Mangal" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" />' + LineEnding +
<style:default-style style:family="table"> ' </style:default-style>' + LineEnding +
<style:table-properties table:border-model="collapsing" /> ' <style:default-style style:family="table">' + LineEnding +
</style:default-style> ' <style:table-properties table:border-model="collapsing" />' + LineEnding +
<style:default-style style:family="table-row"> ' </style:default-style>' + LineEnding +
<style:table-row-properties fo:keep-together="auto" /> ' <style:default-style style:family="table-row">' + LineEnding +
</style:default-style> ' <style:table-row-properties fo:keep-together="auto" />' + LineEnding +
} ' </style:default-style>' + LineEnding;
FStyles := FStyles + FStyles := FStyles +
' <style:style style:name="Standard" style:family="paragraph" style:class="text" />' + LineEnding; ' <style:style style:name="Standard" style:family="paragraph" style:class="text" />' + LineEnding;
@ -539,9 +517,15 @@ begin
// Paragraph kind // Paragraph kind
else else
begin begin
lMarginStr := '';
if sseMarginTop in CurStyle.SetElements then
lMarginStr := lMarginStr + 'fo:margin-top="'+FloatToODTText(CurStyle.MarginTop)+'mm" ';
if sseMarginBottom in CurStyle.SetElements then
lMarginStr := lMarginStr + 'fo:margin-bottom="'+FloatToODTText(CurStyle.MarginTop)+'mm" ';
lCurStyleTmpStr := // tmp string to help see the text in the debugger lCurStyleTmpStr := // tmp string to help see the text in the debugger
' <style:style style:name="'+StyleNameToODTStyleName(AData, i, False)+'" style:display-name="'+ CurStyle.Name +'" style:family="paragraph" style:parent-style-name="'+CurStyleParent+'" style:class="text">' + LineEnding + ' <style:style style:name="'+StyleNameToODTStyleName(AData, i, False)+'" style:display-name="'+ CurStyle.Name +'" style:family="paragraph" style:parent-style-name="'+CurStyleParent+'" style:class="text">' + LineEnding +
' <style:paragraph-properties fo:margin-top="'+FloatToODTText(CurStyle.MarginTop)+'mm" fo:margin-bottom="'+FloatToODTText(CurStyle.MarginTop)+'mm" style:contextual-spacing="false" />' + LineEnding + ' <style:paragraph-properties '+lMarginStr+' style:contextual-spacing="false" />' + LineEnding +
' <style:text-properties '+lTextPropsStr+' />' + LineEnding + ' <style:text-properties '+lTextPropsStr+' />' + LineEnding +
' </style:style>' + LineEnding; ' </style:style>' + LineEnding;
FStyles := FStyles + lCurStyleTmpStr; FStyles := FStyles + lCurStyleTmpStr;
@ -580,60 +564,62 @@ begin
} }
end; end;
{ // up to here done +/-
<text:outline-style style:name="Outline">
<text:outline-level-style text:level="1" style:num-format=""> FStyles := FStyles +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' <text:outline-style style:name="Outline">' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.762cm" fo:text-indent="-0.762cm" fo:margin-left="0.762cm" /> ' <text:outline-level-style text:level="1" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.762cm" fo:text-indent="-0.762cm" fo:margin-left="0.762cm" />' + LineEnding +
<text:outline-level-style text:level="2" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.016cm" fo:text-indent="-1.016cm" fo:margin-left="1.016cm" /> ' <text:outline-level-style text:level="2" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.016cm" fo:text-indent="-1.016cm" fo:margin-left="1.016cm" />' + LineEnding +
<text:outline-level-style text:level="3" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.27cm" fo:text-indent="-1.27cm" fo:margin-left="1.27cm" /> ' <text:outline-level-style text:level="3" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.27cm" fo:text-indent="-1.27cm" fo:margin-left="1.27cm" />' + LineEnding +
<text:outline-level-style text:level="4" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.524cm" fo:text-indent="-1.524cm" fo:margin-left="1.524cm" /> ' <text:outline-level-style text:level="4" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.524cm" fo:text-indent="-1.524cm" fo:margin-left="1.524cm" />' + LineEnding +
<text:outline-level-style text:level="5" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.778cm" fo:text-indent="-1.778cm" fo:margin-left="1.778cm" /> ' <text:outline-level-style text:level="5" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.778cm" fo:text-indent="-1.778cm" fo:margin-left="1.778cm" />' + LineEnding +
<text:outline-level-style text:level="6" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.032cm" fo:text-indent="-2.032cm" fo:margin-left="2.032cm" /> ' <text:outline-level-style text:level="6" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.032cm" fo:text-indent="-2.032cm" fo:margin-left="2.032cm" />' + LineEnding +
<text:outline-level-style text:level="7" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.286cm" fo:text-indent="-2.286cm" fo:margin-left="2.286cm" /> ' <text:outline-level-style text:level="7" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.286cm" fo:text-indent="-2.286cm" fo:margin-left="2.286cm" />' + LineEnding +
<text:outline-level-style text:level="8" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-2.54cm" fo:margin-left="2.54cm" /> ' <text:outline-level-style text:level="8" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-2.54cm" fo:margin-left="2.54cm" />' + LineEnding +
<text:outline-level-style text:level="9" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.794cm" fo:text-indent="-2.794cm" fo:margin-left="2.794cm" /> ' <text:outline-level-style text:level="9" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.794cm" fo:text-indent="-2.794cm" fo:margin-left="2.794cm" />' + LineEnding +
<text:outline-level-style text:level="10" style:num-format=""> ' </style:list-level-properties>' + LineEnding +
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> ' </text:outline-level-style>' + LineEnding +
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.048cm" fo:text-indent="-3.048cm" fo:margin-left="3.048cm" /> ' <text:outline-level-style text:level="10" style:num-format="">' + LineEnding +
</style:list-level-properties> ' <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">' + LineEnding +
</text:outline-level-style> ' <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.048cm" fo:text-indent="-3.048cm" fo:margin-left="3.048cm" />' + LineEnding +
</text:outline-style> ' </style:list-level-properties>' + LineEnding +
} ' </text:outline-level-style>' + LineEnding +
' </text:outline-style>' + LineEnding;
FStyles := FStyles + FStyles := FStyles +
' <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document" />' + LineEnding; ' <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document" />' + LineEnding;
FStyles := FStyles + FStyles := FStyles +
@ -642,6 +628,11 @@ begin
' <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5" />' + LineEnding; ' <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5" />' + LineEnding;
FStyles := FStyles + FStyles := FStyles +
'</office:styles>' + LineEnding; '</office:styles>' + LineEnding;
// ----------------------------
// Automatic Styles
// ----------------------------
FStyles := FStyles + FStyles := FStyles +
'<office:automatic-styles>' + LineEnding; '<office:automatic-styles>' + LineEnding;
FStyles := FStyles + FStyles := FStyles +