OfficeVba/docx/font/TSDocxFontRange.tsf

550 lines
16 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Type TSDocxFontRange = Class(TSDocxFont)
Uses TSDocxEnumerations;
public
Function Init(rangeObj);
Function Apply();overload;
private
Function CallFunction(pf, value);overload;
Function CallFunction(pf);overload;
private
range_obj_;
split_flag_; // 写之前切割run切割后设为true
public
Function Reset();override;
Function WriteUnderlineColor(value);override;
Function ReadUnderlineColor();override;
Function WriteUnderline(value);override;
Function ReadUnderline();override;
Function ReadThreeD();override;
Function ReadTextShadow();override;
Function ReadTextColor();override;
Function WriteSuperscript(value);override;
Function ReadSuperscript();override;
Function WriteSubscript(value);override;
Function ReadSubscript();override;
Function WriteStylisticSet(value);override;
Function ReadStylisticSet();override;
Function WriteStrikeThrough(value);override;
Function ReadStrikeThrough();override;
Function WriteSpacing(value);override;
Function ReadSpacing();override;
Function WriteSmallCaps(value);override;
Function ReadSmallCaps();override;
Function WriteSizeBi(value);override;
Function ReadSizeBi();override;
Function WriteSize(value);override;
Function ReadSize();override;
Function WriteShadow(value);override;
Function ReadShadow();override;
Function ReadShading();override;
Function WriteScaling(value);override;
Function ReadScaling();override;
Function ReadReflection();override;
Function WritePosition(value);override;
Function ReadPosition();override;
Function WriteOutline(value);override;
Function ReadOutline();override;
Function WriteNumberSpacing(value);override;
Function ReadNumberSpacing();override;
Function WriteNumberForm(value);override;
Function ReadNumberForm();override;
Function WriteNameOther(value);override;
Function ReadNameOther();override;
Function WriteNameFarEast(value);override;
Function ReadNameFarEast();override;
Function WriteNameBi(value);override;
Function ReadNameBi();override;
Function WriteNameAscii(value);override;
Function ReadNameAscii();override;
Function WriteName(value);override;
Function ReadName();override;
Function WriteLine(value);override;
Function ReadLine();override;
Function WriteLigatures(value);override;
Function ReadLigatures();override;
Function WriteKerning(value);override;
Function ReadKerning();override;
Function WriteItalicBi(value);override;
Function ReadItalicBi();override;
Function WriteItalic(value);override;
Function ReadItalic();override;
Function WriteHidden(value);override;
Function ReadHidden();override;
Function ReadGlow();override;
Function ReadFill();override;
Function WriteEngrave(value);override;
Function ReadEngrave();override;
Function WriteEmphasisMark(value);override;
Function ReadEmphasisMark();override;
Function WriteEmboss(value);override;
Function ReadEmboss();override;
Function ReadDuplicate();override;
Function WriteDoubleStrikeThrough(value);override;
Function ReadDoubleStrikeThrough();override;
Function WriteDisableCharacterSpaceGrid(value);override;
Function ReadDisableCharacterSpaceGrid();override;
Function WriteDiacriticColor(value);override;
Function ReadDiacriticColor();override;
Function WriteContextualAlternates(value);override;
Function ReadContextualAlternates();override;
Function WriteColorIndexBi(value);override;
Function ReadColorIndexBi();override;
Function WriteColorIndex(value);override;
Function ReadColorIndex();override;
Function ReadBorders();override;
Function WriteBoldBi(value);override;
Function ReadBoldBi();override;
Function WriteBold(value);override;
Function ReadBold();override;
Function WriteAllCaps(value);override;
Function ReadAllCaps();override;
End;
// ============== 实现 ================= //
Function TSDocxFontRange.Init(rangeObj);
Begin
range_obj_ := rangeObj;
class(TSDocxFont).Init(nil);
End;
Function TSDocxFontRange.Apply();overload;
Begin
CallFunction(ThisFunction(class(TSDocxFont).Apply));
End;
Function TSDocxFontRange.CallFunction(pf, value);overload;
Begin
range_obj_.SplitRun();
range_arr := range_obj_.GetInfo();
for i:=0 to length(range_arr)-1 do
begin
paragraph := range_arr[i]["tparagraph"];
pr_ := paragraph.pPr.rPr;
##pf(value);
for i:=0 to length(range_arr)-1 do
begin
pr_ := range_arr[i]["trun"].rPr;
##pf(value);
end
end;
End;
Function TSDocxFontRange.CallFunction(pf);overload;
Begin
ret := nil;
range_arr := range_obj_.GetInfo();
for i:=0 to length(range_arr)-1 do
begin
pr_ := range_arr[i]["trun"].rPr;
if not ifObj(pr_.Root()) then continue;
cur := ##pf();
if ifnil(ret) then ret := cur;
if ret <> cur then return TSDocxEnumerations.wdUndefined();
end
return ret;
End;
// function
Function TSDocxFontRange.Reset();override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).Reset));
End;
// property
Function TSDocxFontRange.WriteUnderlineColor(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteUnderlineColor), value);
End;
Function TSDocxFontRange.ReadUnderlineColor();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadUnderlineColor));
End;
Function TSDocxFontRange.WriteUnderline(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteUnderline), value);
End;
Function TSDocxFontRange.ReadUnderline();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadUnderline));
End;
Function TSDocxFontRange.ReadThreeD();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadThreeD));
End;
Function TSDocxFontRange.ReadTextShadow();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadTextShadow));
End;
Function TSDocxFontRange.ReadTextColor();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadTextColor));
End;
Function TSDocxFontRange.WriteSuperscript(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSuperscript), value);
End;
Function TSDocxFontRange.ReadSuperscript();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSuperscript));
End;
Function TSDocxFontRange.WriteSubscript(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSubscript), value);
End;
Function TSDocxFontRange.ReadSubscript();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSubscript));
End;
Function TSDocxFontRange.WriteStylisticSet(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteStylisticSet), value);
End;
Function TSDocxFontRange.ReadStylisticSet();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadStylisticSet));
End;
Function TSDocxFontRange.WriteStrikeThrough(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteStrikeThrough), value);
End;
Function TSDocxFontRange.ReadStrikeThrough();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadStrikeThrough));
End;
Function TSDocxFontRange.WriteSpacing(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSpacing), value);
End;
Function TSDocxFontRange.ReadSpacing();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSpacing));
End;
Function TSDocxFontRange.WriteSmallCaps(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSmallCaps), value);
End;
Function TSDocxFontRange.ReadSmallCaps();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSmallCaps));
End;
Function TSDocxFontRange.WriteSizeBi(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSizeBi), value);
End;
Function TSDocxFontRange.ReadSizeBi();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSizeBi));
End;
Function TSDocxFontRange.WriteSize(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteSize), value);
End;
Function TSDocxFontRange.ReadSize();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadSize));
End;
Function TSDocxFontRange.WriteShadow(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteShadow), value);
End;
Function TSDocxFontRange.ReadShadow();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadShadow));
End;
Function TSDocxFontRange.ReadShading();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadShading));
End;
Function TSDocxFontRange.WriteScaling(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteScaling), value);
End;
Function TSDocxFontRange.ReadScaling();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadScaling));
End;
Function TSDocxFontRange.ReadReflection();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadReflection));
End;
Function TSDocxFontRange.WritePosition(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WritePosition), value);
End;
Function TSDocxFontRange.ReadPosition();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadPosition));
End;
Function TSDocxFontRange.WriteOutline(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteOutline), value);
End;
Function TSDocxFontRange.ReadOutline();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadOutline));
End;
Function TSDocxFontRange.WriteNumberSpacing(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNumberSpacing), value);
End;
Function TSDocxFontRange.ReadNumberSpacing();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNumberSpacing));
End;
Function TSDocxFontRange.WriteNumberForm(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNumberForm), value);
End;
Function TSDocxFontRange.ReadNumberForm();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNumberForm));
End;
Function TSDocxFontRange.WriteNameOther(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNameOther), value);
End;
Function TSDocxFontRange.ReadNameOther();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNameOther));
End;
Function TSDocxFontRange.WriteNameFarEast(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNameFarEast), value);
End;
Function TSDocxFontRange.ReadNameFarEast();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNameFarEast));
End;
Function TSDocxFontRange.WriteNameBi(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNameBi), value);
End;
Function TSDocxFontRange.ReadNameBi();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNameBi));
End;
Function TSDocxFontRange.WriteNameAscii(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteNameAscii), value);
End;
Function TSDocxFontRange.ReadNameAscii();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadNameAscii));
End;
Function TSDocxFontRange.WriteName(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteName), value);
End;
Function TSDocxFontRange.ReadName();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadName));
End;
Function TSDocxFontRange.WriteLine(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteLine), value);
End;
Function TSDocxFontRange.ReadLine();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadLine));
End;
Function TSDocxFontRange.WriteLigatures(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteLigatures), value);
End;
Function TSDocxFontRange.ReadLigatures();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadLigatures));
End;
Function TSDocxFontRange.WriteKerning(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteKerning), value);
End;
Function TSDocxFontRange.ReadKerning();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadKerning));
End;
Function TSDocxFontRange.WriteItalicBi(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteItalicBi), value);
End;
Function TSDocxFontRange.ReadItalicBi();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadItalicBi));
End;
Function TSDocxFontRange.WriteItalic(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteItalic), value);
End;
Function TSDocxFontRange.ReadItalic();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadItalic));
End;
Function TSDocxFontRange.WriteHidden(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteHidden), value);
End;
Function TSDocxFontRange.ReadHidden();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadHidden));
End;
Function TSDocxFontRange.ReadGlow();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadGlow));
End;
Function TSDocxFontRange.ReadFill();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadFill));
End;
Function TSDocxFontRange.WriteEngrave(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteEngrave), value);
End;
Function TSDocxFontRange.ReadEngrave();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadEngrave));
End;
Function TSDocxFontRange.WriteEmphasisMark(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteEmphasisMark), value);
End;
Function TSDocxFontRange.ReadEmphasisMark();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadEmphasisMark));
End;
Function TSDocxFontRange.WriteEmboss(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteEmboss), value);
End;
Function TSDocxFontRange.ReadEmboss();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadEmboss));
End;
Function TSDocxFontRange.ReadDuplicate();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadDuplicate));
End;
Function TSDocxFontRange.ReadDoubleStrikeThrough();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadDoubleStrikeThrough));
End;
Function TSDocxFontRange.WriteDisableCharacterSpaceGrid(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteDisableCharacterSpaceGrid), value);
End;
Function TSDocxFontRange.ReadDisableCharacterSpaceGrid();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadDisableCharacterSpaceGrid));
End;
Function TSDocxFontRange.WriteDiacriticColor(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteDiacriticColor), value);
End;
Function TSDocxFontRange.ReadDiacriticColor();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadDiacriticColor));
End;
Function TSDocxFontRange.WriteContextualAlternates(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteContextualAlternates), value);
End;
Function TSDocxFontRange.ReadContextualAlternates();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadContextualAlternates));
End;
Function TSDocxFontRange.WriteColorIndexBi(value);override;
Begin
CallFunction(ThisFunction(class(TSDocxFont).WriteColorIndexBi), value);
End;
Function TSDocxFontRange.ReadColorIndexBi();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadColorIndexBi));
End;
Function TSDocxFontRange.WriteColorIndex(value);override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).WriteColorIndex), value);
End;
Function TSDocxFontRange.ReadColorIndex();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadColorIndex));
End;
Function TSDocxFontRange.ReadBorders();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadBorders));
End;
Function TSDocxFontRange.WriteBoldBi(value);override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).WriteBoldBi), value);
End;
Function TSDocxFontRange.ReadBoldBi();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadBoldBi));
End;
Function TSDocxFontRange.WriteBold(value);override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).WriteBold), value);
End;
Function TSDocxFontRange.ReadBold();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadBold));
End;
Function TSDocxFontRange.WriteAllCaps(value);override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).WriteAllCaps), value);
End;
Function TSDocxFontRange.ReadAllCaps();override;
Begin
return CallFunction(ThisFunction(class(TSDocxFont).ReadAllCaps));
End;