731 lines
21 KiB
Plaintext
731 lines
21 KiB
Plaintext
Type TSDocxFont = Class(TSVbaBase)
|
|
Uses TSDocxEnumerations;
|
|
|
|
public
|
|
Function Init(pr);
|
|
Function Apply();virtual;
|
|
Function ReWrite(pr);virtual;
|
|
|
|
protected
|
|
pr_;
|
|
color_index_;
|
|
color_;
|
|
|
|
public
|
|
// Methods
|
|
Function Grow();virtual;
|
|
Function Reset();virtual;
|
|
Function SetAsTemplateDefault();virtual;
|
|
Function Shrink();virtual;
|
|
|
|
// Properties
|
|
property AllCaps read ReadAllCaps write WriteAllCaps;
|
|
property Bold read ReadBold write WriteBold;
|
|
property BoldBi read ReadBoldBi write WriteBoldBi;
|
|
property Borders read ReadBorders;
|
|
property Color read ReadColor write WriteColor;
|
|
property ColorIndex read ReadColorIndex write WriteColorIndex;
|
|
property ColorIndexBi read ReadColorIndexBi write WriteColorIndexBi;
|
|
property ContextualAlternates read ReadContextualAlternates write WriteContextualAlternates;
|
|
property DiacriticColor read ReadDiacriticColor write WriteDiacriticColor;
|
|
property DisableCharacterSpaceGrid read ReadDisableCharacterSpaceGrid write WriteDisableCharacterSpaceGrid;
|
|
property DoubleStrikeThrough read ReadDoubleStrikeThrough write WriteDoubleStrikeThrough;
|
|
property Duplicate read ReadDuplicate;
|
|
property Emboss read ReadEmboss write WriteEmboss;
|
|
property EmphasisMark read ReadEmphasisMark write WriteEmphasisMark;
|
|
property Engrave read ReadEngrave write WriteEngrave;
|
|
property Fill read ReadFill;
|
|
property Glow read ReadGlow;
|
|
property Hidden read ReadHidden write WriteHidden;
|
|
property Italic read ReadItalic write WriteItalic;
|
|
property ItalicBi read ReadItalicBi write WriteItalicBi;
|
|
property Kerning read ReadKerning write WriteKerning;
|
|
property Ligatures read ReadLigatures write WriteLigatures;
|
|
property Line read ReadLine write WriteLine;
|
|
property Name read ReadName write WriteName;
|
|
property NameAscii read ReadNameAscii write WriteNameAscii;
|
|
property NameBi read ReadNameBi write WriteNameBi;
|
|
property NameFarEast read ReadNameFarEast write WriteNameFarEast;
|
|
property NameOther read ReadNameOther write WriteNameOther;
|
|
property NumberForm read ReadNumberForm write WriteNumberForm;
|
|
property NumberSpacing read ReadNumberSpacing write WriteNumberSpacing;
|
|
property Outline read ReadOutline write WriteOutline;
|
|
property Position read ReadPosition write WritePosition;
|
|
property Reflection read ReadReflection;
|
|
property Scaling read ReadScaling write WriteScaling;
|
|
property Shading read ReadShading;
|
|
property Shadow read ReadShadow write WriteShadow;
|
|
property Size read ReadSize write WriteSize;
|
|
property SizeBi read ReadSizeBi write WriteSizeBi;
|
|
property SmallCaps read ReadSmallCaps write WriteSmallCaps;
|
|
property Spacing read ReadSpacing write WriteSpacing;
|
|
property StrikeThrough read ReadStrikeThrough write WriteStrikeThrough;
|
|
property StylisticSet read ReadStylisticSet write WriteStylisticSet;
|
|
property Subscript read ReadSubscript write WriteSubscript;
|
|
property Superscript read ReadSuperscript write WriteSuperscript;
|
|
property TextColor read ReadTextColor;
|
|
property TextShadow read ReadTextShadow;
|
|
property ThreeD read ReadThreeD;
|
|
property Underline read ReadUnderline write WriteUnderline;
|
|
property UnderlineColor read ReadUnderlineColor write WriteUnderlineColor;
|
|
Function WriteUnderlineColor(value);virtual;
|
|
Function ReadUnderlineColor();virtual;
|
|
Function WriteUnderline(value);virtual;
|
|
Function ReadUnderline();virtual;
|
|
Function ReadThreeD();virtual;
|
|
Function ReadTextShadow();virtual;
|
|
Function ReadTextColor();virtual;
|
|
Function WriteSuperscript(value);virtual;
|
|
Function ReadSuperscript();virtual;
|
|
Function WriteSubscript(value);virtual;
|
|
Function ReadSubscript();virtual;
|
|
Function WriteStylisticSet(value);virtual;
|
|
Function ReadStylisticSet();virtual;
|
|
Function WriteStrikeThrough(value);virtual;
|
|
Function ReadStrikeThrough();virtual;
|
|
Function WriteSpacing(value);virtual;
|
|
Function ReadSpacing();virtual;
|
|
Function WriteSmallCaps(value);virtual;
|
|
Function ReadSmallCaps();virtual;
|
|
Function WriteSizeBi(value);virtual;
|
|
Function ReadSizeBi();virtual;
|
|
Function WriteSize(value);virtual;
|
|
Function ReadSize();virtual;
|
|
Function WriteShadow(value);virtual;
|
|
Function ReadShadow();virtual;
|
|
Function ReadShading();virtual;
|
|
Function WriteScaling(value);virtual;
|
|
Function ReadScaling();virtual;
|
|
Function ReadReflection();virtual;
|
|
Function WritePosition(value);virtual;
|
|
Function ReadPosition();virtual;
|
|
Function WriteOutline(value);virtual;
|
|
Function ReadOutline();virtual;
|
|
Function WriteNumberSpacing(value);virtual;
|
|
Function ReadNumberSpacing();virtual;
|
|
Function WriteNumberForm(value);virtual;
|
|
Function ReadNumberForm();virtual;
|
|
Function WriteNameOther(value);virtual;
|
|
Function ReadNameOther();virtual;
|
|
Function WriteNameFarEast(value);virtual;
|
|
Function ReadNameFarEast();virtual;
|
|
Function WriteNameBi(value);virtual;
|
|
Function ReadNameBi();virtual;
|
|
Function WriteNameAscii(value);virtual;
|
|
Function ReadNameAscii();virtual;
|
|
Function WriteName(value);virtual;
|
|
Function ReadName();virtual;
|
|
Function WriteLine(value);virtual;
|
|
Function ReadLine();virtual;
|
|
Function WriteLigatures(value);virtual;
|
|
Function ReadLigatures();virtual;
|
|
Function WriteKerning(value);virtual;
|
|
Function ReadKerning();virtual;
|
|
Function WriteItalicBi(value);virtual;
|
|
Function ReadItalicBi();virtual;
|
|
Function WriteItalic(value);virtual;
|
|
Function ReadItalic();virtual;
|
|
Function WriteHidden(value);virtual;
|
|
Function ReadHidden();virtual;
|
|
Function ReadGlow();virtual;
|
|
Function ReadFill();virtual;
|
|
Function WriteEngrave(value);virtual;
|
|
Function ReadEngrave();virtual;
|
|
Function WriteEmphasisMark(value);virtual;
|
|
Function ReadEmphasisMark();virtual;
|
|
Function WriteEmboss(value);virtual;
|
|
Function ReadEmboss();virtual;
|
|
Function ReadDuplicate();virtual;
|
|
Function WriteDoubleStrikeThrough(value);virtual;
|
|
Function ReadDoubleStrikeThrough();virtual;
|
|
Function WriteDisableCharacterSpaceGrid(value);virtual;
|
|
Function ReadDisableCharacterSpaceGrid();virtual;
|
|
Function WriteDiacriticColor(value);virtual;
|
|
Function ReadDiacriticColor();virtual;
|
|
Function WriteContextualAlternates(value);virtual;
|
|
Function ReadContextualAlternates();virtual;
|
|
Function WriteColorIndexBi(value);virtual;
|
|
Function ReadColorIndexBi();virtual;
|
|
Function WriteColorIndex(value);virtual;
|
|
Function ReadColorIndex();virtual;
|
|
Function WriteColor(value);virtual;
|
|
Function ReadColor();virtual;
|
|
Function ReadBorders();virtual;
|
|
Function WriteBoldBi(value);virtual;
|
|
Function ReadBoldBi();virtual;
|
|
Function WriteBold(value);virtual;
|
|
Function ReadBold();virtual;
|
|
Function WriteAllCaps(value);virtual;
|
|
Function ReadAllCaps();virtual;
|
|
|
|
End;
|
|
|
|
// ============== 实现 ================= //
|
|
Function TSDocxFont.Init(pr);
|
|
Begin
|
|
pr_ := pr;
|
|
color_index_ := TSWdColorIndex();
|
|
color_ := TSWdColor();
|
|
End;
|
|
|
|
Function TSDocxFont.Apply();virtual;
|
|
Begin
|
|
pr_.Update("first");
|
|
End;
|
|
|
|
Function TSDocxFont.ReWrite(pr);virtual;
|
|
Begin
|
|
self.Reset();
|
|
rpr := pr.Root().FirstChildElement("w:rPr");
|
|
if not ifObj(rpr) then return;
|
|
marshal := rPr.Marshal()[0];
|
|
node := class(TSXml).GetNode(pr_.Root(), "w:rPr", "first");
|
|
class(TSXml).UpdateNode(node, marshal["attributes"], marshal["children"]);
|
|
End;
|
|
|
|
// Methods
|
|
Function TSDocxFont.Reset();virtual;
|
|
Begin
|
|
pr_.Delete();
|
|
End;
|
|
|
|
// Properties
|
|
Function TSDocxFont.WriteAllCaps(value);virtual;
|
|
Begin
|
|
pr_.Caps := value = TSDocxEnumerations.wdToggle() ? _Not(self.Caps) : value;
|
|
End;
|
|
Function TSDocxFont.ReadAllCaps();virtual;
|
|
Begin
|
|
return pr_.Value("Caps");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteBold(value);virtual;
|
|
Begin
|
|
pr_.Bold := value = TSDocxEnumerations.wdToggle() ? _Not(self.Bold) : value;
|
|
End;
|
|
Function TSDocxFont.ReadBold();virtual;
|
|
Begin
|
|
return pr_.Value("Bold");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteBoldBi(value);virtual;
|
|
Begin
|
|
pr_.BCs := value = TSDocxEnumerations.wdToggle() ? _Not(self.BoldBi) : value;
|
|
End;
|
|
Function TSDocxFont.ReadBoldBi();virtual;
|
|
Begin
|
|
return pr_.Value("bCs");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteColor(value);virtual;
|
|
Begin
|
|
val := color_index_[value];
|
|
if ifnil(val) then val := color_[value];
|
|
pr_.Color := val;
|
|
End;
|
|
Function TSDocxFont.ReadColor();virtual;
|
|
Begin
|
|
v := pr_.Value("Color");
|
|
value := color_index_[v];
|
|
return ifnil(value) ? color_[v] : value;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteColorIndex(value);virtual;
|
|
Begin
|
|
val := color_index_[value];
|
|
pr_.Color := val;
|
|
End;
|
|
Function TSDocxFont.ReadColorIndex();virtual;
|
|
Begin
|
|
return color_index_[pr_.Value("Color")];
|
|
End;
|
|
|
|
Function TSDocxFont.WriteColorIndexBi(value);virtual;
|
|
Begin
|
|
self.ColorIndex := value;
|
|
End;
|
|
Function TSDocxFont.ReadColorIndexBi();virtual;
|
|
Begin
|
|
return self.ColorIndex;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteContextualAlternates(value);virtual;
|
|
Begin
|
|
pr_.ContextualAlternates := value;
|
|
End;
|
|
Function TSDocxFont.ReadContextualAlternates();virtual;
|
|
Begin
|
|
return pr_.Value("ContextualAlternates");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteDisableCharacterSpaceGrid(value);virtual;
|
|
Begin
|
|
pr_.SnapToGrid := value ? false : true;
|
|
End;
|
|
Function TSDocxFont.ReadDisableCharacterSpaceGrid();virtual;
|
|
Begin
|
|
return pr_.Value("SnapToGrid") ? false : true;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteDoubleStrikeThrough(value);virtual;
|
|
Begin
|
|
pr_.dStrike := value;
|
|
End;
|
|
Function TSDocxFont.ReadDoubleStrikeThrough();virtual;
|
|
Begin
|
|
return pr_.Value("dStrike");
|
|
End;
|
|
|
|
Function TSDocxFont.ReadDuplicate();virtual;
|
|
Begin
|
|
pr := pr_;
|
|
return pr;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteEmboss(value);override;
|
|
Begin
|
|
pr_.Emboss := value;
|
|
End;
|
|
Function TSDocxFont.ReadEmboss();override;
|
|
Begin
|
|
return pr_.Value("Emboss");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteEmphasisMark(value);virtual;
|
|
Begin
|
|
case value of
|
|
TSDocxEnumerations.wdEmphasisMarkNone:
|
|
pr_.Em := "none";
|
|
TSDocxEnumerations.wdEmphasisMarkOverComma:
|
|
pr_.Em := "comma";
|
|
TSDocxEnumerations.wdEmphasisMarkOverSolidCircle:
|
|
pr_.Em := "dot";
|
|
TSDocxEnumerations.wdEmphasisMarkOverWhiteCircle:
|
|
pr_.Em := "circle";
|
|
TSDocxEnumerations.wdEmphasisMarkUnderSolidCircle:
|
|
pr_.Em := "underDot";
|
|
end;
|
|
End;
|
|
Function TSDocxFont.ReadEmphasisMark();virtual;
|
|
Begin
|
|
case pr_.Value("first") of
|
|
"none", nil:
|
|
return TSDocxEnumerations.wdEmphasisMarkNone;
|
|
"comma":
|
|
return TSDocxEnumerations.wdEmphasisMarkOverComma;
|
|
"dot":
|
|
return TSDocxEnumerations.wdEmphasisMarkOverSolidCircle;
|
|
"circle":
|
|
return TSDocxEnumerations.wdEmphasisMarkOverWhiteCircle;
|
|
"underDot":
|
|
return TSDocxEnumerations.wdEmphasisMarkUnderSolidCircle;
|
|
end;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteEngrave(value);virtual;
|
|
Begin
|
|
pr_.ImPrint := value;
|
|
End;
|
|
Function TSDocxFont.ReadEngrave();virtual;
|
|
Begin
|
|
return pr_.Value("ImPrint");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteHidden(value);virtual;
|
|
Begin
|
|
pr_.Vanish := value;
|
|
End;
|
|
Function TSDocxFont.ReadHidden();virtual;
|
|
Begin
|
|
return pr_.Value("Vanish");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteItalic(value);virtual;
|
|
Begin
|
|
pr_.Italic := value;
|
|
End;
|
|
Function TSDocxFont.ReadItalic();virtual;
|
|
Begin
|
|
return pr_.Value("Italic");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteItalicBi(value);virtual;
|
|
Begin
|
|
pr_.ICs := value;
|
|
End;
|
|
Function TSDocxFont.ReadItalicBi();virtual;
|
|
Begin
|
|
return pr_.Value("ICs");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteKerning(value);virtual;
|
|
Begin
|
|
pr_.Kern := value * 2;
|
|
End;
|
|
Function TSDocxFont.ReadKerning();virtual;
|
|
Begin
|
|
return pr_.Value("Kern") / 2;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteLigatures(value);virtual;
|
|
Begin
|
|
case value of
|
|
TSDocxEnumerations.wdLigaturesAll():
|
|
pr_.Ligatures := "all";
|
|
TSDocxEnumerations.wdLigaturesContextual():
|
|
pr_.Ligatures := "contextual";
|
|
TSDocxEnumerations.wdLigaturesContextualDiscretional():
|
|
pr_.Ligatures := "contextualDiscretional";
|
|
TSDocxEnumerations.wdLigaturesContextualHistorical():
|
|
pr_.Ligatures := "contextualHistorical";
|
|
TSDocxEnumerations.wdLigaturesContextualHistoricalDiscretional():
|
|
pr_.Ligatures := "contextualHistoricalDiscretional";
|
|
TSDocxEnumerations.wdLigaturesDiscretional():
|
|
pr_.Ligatures := "discretional";
|
|
TSDocxEnumerations.wdLigaturesHistorical():
|
|
pr_.Ligatures := "historical";
|
|
TSDocxEnumerations.wdLigaturesHistoricalDiscretional():
|
|
pr_.Ligatures := "historicalDiscretional";
|
|
TSDocxEnumerations.wdLigaturesNone():
|
|
pr_.Ligatures := "none";
|
|
TSDocxEnumerations.wdLigaturesStandard():
|
|
pr_.Ligatures := "standard";
|
|
TSDocxEnumerations.wdLigaturesStandardContextual():
|
|
pr_.Ligatures := "standardContextual";
|
|
TSDocxEnumerations.wdLigaturesStandardContextualDiscretional():
|
|
pr_.Ligatures := "standardContextualDiscretional";
|
|
TSDocxEnumerations.wdLigaturesStandardContextualHistorical():
|
|
pr_.Ligatures := "standardContextualHistorical";
|
|
TSDocxEnumerations.wdLigaturesStandardDiscretional():
|
|
pr_.Ligatures := "standardDiscretional";
|
|
TSDocxEnumerations.wdLigaturesStandardHistorical():
|
|
pr_.Ligatures := "standardHistorical";
|
|
TSDocxEnumerations.wdLigaturesStandardHistoricalDiscretional():
|
|
pr_.Ligatures := "standardHistoricalDiscretional";
|
|
end;
|
|
End;
|
|
Function TSDocxFont.ReadLigatures();virtual;
|
|
Begin
|
|
case pr_.Value("Ligatures") of
|
|
"all":
|
|
return TSDocxEnumerations.wdLigaturesAll();
|
|
"contextual":
|
|
return TSDocxEnumerations.wdLigaturesContextual();
|
|
"contextualDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesContextualDiscretional();
|
|
"contextualHistorical":
|
|
return TSDocxEnumerations.wdLigaturesContextualHistorical();
|
|
"contextualHistoricalDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesContextualHistoricalDiscretional();
|
|
"discretional":
|
|
return TSDocxEnumerations.wdLigaturesDiscretional();
|
|
"historical":
|
|
return TSDocxEnumerations.wdLigaturesHistorical();
|
|
"historicalDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesHistoricalDiscretional();
|
|
"none", nil:
|
|
return TSDocxEnumerations.wdLigaturesNone();
|
|
"standard":
|
|
return TSDocxEnumerations.wdLigaturesStandard();
|
|
"standardContextual":
|
|
return TSDocxEnumerations.wdLigaturesStandardContextual();
|
|
"standardContextualDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesStandardContextualDiscretional();
|
|
"standardContextualHistorical":
|
|
return TSDocxEnumerations.wdLigaturesStandardContextualHistorical();
|
|
"standardDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesStandardDiscretional();
|
|
"standardHistorical":
|
|
return TSDocxEnumerations.wdLigaturesStandardHistorical();
|
|
"standardHistoricalDiscretional":
|
|
return TSDocxEnumerations.wdLigaturesStandardHistoricalDiscretional();
|
|
end;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteName(value);virtual;
|
|
Begin
|
|
pr_.rFont.EastAsia := value;
|
|
pr_.rFont.Ascii := value;
|
|
End;
|
|
|
|
Function TSDocxFont.ReadName();virtual;
|
|
Begin
|
|
return pr_.rFont.Value("EastAsia");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNameAscii(value);virtual;
|
|
Begin
|
|
pr_.rFont.Ascii := value;
|
|
End;
|
|
Function TSDocxFont.ReadNameAscii();virtual;
|
|
Begin
|
|
return pr_.rFont.Value("Ascii");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNameBi(value);virtual;
|
|
Begin
|
|
pr_.rFont.Cs := value;
|
|
End;
|
|
Function TSDocxFont.ReadNameBi();virtual;
|
|
Begin
|
|
return pr_.rFont.Value("Cs");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNameFarEast(value);virtual;
|
|
Begin
|
|
pr_.rFont.EastAsia := value;
|
|
End;
|
|
Function TSDocxFont.ReadNameFarEast();virtual;
|
|
Begin
|
|
ret := pr_.rFont.Value("EastAsia");
|
|
return ret ? ret : "宋体";
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNameOther(value);virtual;
|
|
Begin
|
|
pr_.rFont.HAnsi := value;
|
|
End;
|
|
|
|
Function TSDocxFont.ReadNameOther();virtual;
|
|
Begin
|
|
return pr_.rFont.Value("HAnsi");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNumberForm(value);virtual;
|
|
Begin
|
|
case value of
|
|
TSDocxEnumerations.wdNumberFormDefault():
|
|
pr_.NumForm := "default";
|
|
TSDocxEnumerations.wdNumberFormLining():
|
|
pr_.NumForm := "lining";
|
|
TSDocxEnumerations.wdNumberFormOldstyle():
|
|
pr_.NumForm := "oldStyle";
|
|
end;
|
|
End;
|
|
Function TSDocxFont.ReadNumberForm();virtual;
|
|
Begin
|
|
case pr_.Value("NumForm") of
|
|
"default", nil:
|
|
return TSDocxEnumerations.wdNumberFormDefault();
|
|
"lining":
|
|
return TSDocxEnumerations.wdNumberFormLining();
|
|
"oldStyle":
|
|
return TSDocxEnumerations.wdNumberFormOldstyle();
|
|
end;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteNumberSpacing(value);virtual;
|
|
Begin
|
|
case value of
|
|
TSDocxEnumerations.wdNumberSpacingDefault():
|
|
pr_.NumSpacing := "default";
|
|
TSDocxEnumerations.wdNumberSpacingProportional():
|
|
pr_.NumSpacing := "proportional";
|
|
TSDocxEnumerations.wdNumberSpacingTabular():
|
|
pr_.NumSpacing := "tabular";
|
|
end;
|
|
End;
|
|
Function TSDocxFont.ReadNumberSpacing();virtual;
|
|
Begin
|
|
case pr_.Value("NumSpacing") of
|
|
"default", nil:
|
|
return TSDocxEnumerations.wdNumberSpacingDefault();
|
|
"proportional":
|
|
return TSDocxEnumerations.wdNumberSpacingProportional();
|
|
"tabular":
|
|
return TSDocxEnumerations.wdNumberSpacingTabular();
|
|
end;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteOutline(value);virtual;
|
|
Begin
|
|
pr_.Outline := value = TSDocxEnumerations.wdToggle() ? _Not(self.Outline) : value;
|
|
End;
|
|
Function TSDocxFont.ReadOutline();virtual;
|
|
Begin
|
|
return pr_.Value("Outline");
|
|
End;
|
|
|
|
Function TSDocxFont.WritePosition(value);virtual;
|
|
Begin
|
|
pr_.Position := value * 2;
|
|
End;
|
|
Function TSDocxFont.ReadPosition();virtual;
|
|
Begin
|
|
return pr_.Value("Position ") / 2;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteScaling(value);virtual;
|
|
Begin
|
|
pr_.W := value;
|
|
End;
|
|
Function TSDocxFont.ReadScaling();virtual;
|
|
Begin
|
|
return pr_.Value("W");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteShadow(value);virtual;
|
|
Begin
|
|
pr_.Shadow := value;
|
|
End;
|
|
Function TSDocxFont.ReadShadow();virtual;
|
|
Begin
|
|
return pr_.Value("Shadow");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSize(value);virtual;
|
|
Begin
|
|
pr_.Sz := value * 2;
|
|
End;
|
|
Function TSDocxFont.ReadSize();virtual;
|
|
Begin
|
|
return pr_.Value("Sz") / 2;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSizeBi(value);virtual;
|
|
Begin
|
|
pr_.SzCs := value * 2;
|
|
End;
|
|
Function TSDocxFont.ReadSizeBi();virtual;
|
|
Begin
|
|
return pr_.Value("SzCs") / 2;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSmallCaps(value);virtual;
|
|
Begin
|
|
pr_.SmallCaps := value = TSDocxEnumerations.wdToggle() ? _Not(self.SmallCaps) : value;
|
|
End;
|
|
Function TSDocxFont.ReadSmallCaps();virtual;
|
|
Begin
|
|
return pr_.Value("SmallCaps");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSpacing(value);virtual;
|
|
Begin
|
|
pr_.Spacing := value * 20;
|
|
End;
|
|
Function TSDocxFont.ReadSpacing();virtual;
|
|
Begin
|
|
return pr_.Value("Spacing") / 20;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteStrikeThrough(value);virtual;
|
|
Begin
|
|
pr_.Strike := value;
|
|
End;
|
|
Function TSDocxFont.ReadStrikeThrough();virtual;
|
|
Begin
|
|
return pr_.Value("Strike");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSubscript(value);virtual;
|
|
Begin
|
|
pr_.VertAlign := "subscript";
|
|
End;
|
|
Function TSDocxFont.ReadSubscript();virtual;
|
|
Begin
|
|
return pr_.Value("VertAlign");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteSuperscript(value);virtual;
|
|
Begin
|
|
pr_.VertAlign := "supercript";
|
|
End;
|
|
Function TSDocxFont.ReadSuperscript();virtual;
|
|
Begin
|
|
return pr_.Value("VertAlign");
|
|
End;
|
|
|
|
Function TSDocxFont.WriteUnderline(value);virtual;
|
|
Begin
|
|
case value of
|
|
TSDocxEnumerations.wdUnderlineDash():
|
|
pr_.U := "dash";
|
|
TSDocxEnumerations.wdUnderlineDashHeavy():
|
|
pr_.U := "dashedHeavy";
|
|
TSDocxEnumerations.wdUnderlineDashLong():
|
|
pr_.U := "dashLong";
|
|
TSDocxEnumerations.wdUnderlineDashLongHeavy():
|
|
pr_.U := "dashLongHeavy";
|
|
TSDocxEnumerations.wdUnderlineDotDash():
|
|
pr_.U := "dotDash";
|
|
TSDocxEnumerations.wdUnderlineDotDashHeavy():
|
|
pr_.U := "dashDotHeavy";
|
|
TSDocxEnumerations.wdUnderlineDotDotDash():
|
|
pr_.U := "dotDotDash";
|
|
TSDocxEnumerations.wdUnderlineDotDotDashHeavy():
|
|
pr_.U := "dashDotDotHeavy";
|
|
TSDocxEnumerations.wdUnderlineDotted():
|
|
pr_.U := "dotted";
|
|
TSDocxEnumerations.wdUnderlineDottedHeavy():
|
|
pr_.U := "dottedHeavy";
|
|
TSDocxEnumerations.wdUnderlineDouble():
|
|
pr_.U := "double";
|
|
TSDocxEnumerations.wdUnderlineNone():
|
|
pr_.U := "none";
|
|
TSDocxEnumerations.wdUnderlineSingle():
|
|
pr_.U := "single";
|
|
TSDocxEnumerations.wdUnderlineThick():
|
|
pr_.U := "thick";
|
|
TSDocxEnumerations.wdUnderlineWavy():
|
|
pr_.U := "wave";
|
|
TSDocxEnumerations.wdUnderlineWavyDouble():
|
|
pr_.U := "wavyDoule";
|
|
TSDocxEnumerations.wdUnderlineWavyHeavy():
|
|
pr_.U := "wavyHeavy";
|
|
TSDocxEnumerations.wdUnderlineWords():
|
|
pr_.U := "words";
|
|
end;
|
|
End;
|
|
Function TSDocxFont.ReadUnderline();virtual;
|
|
Begin
|
|
case pr_.Value("U") of
|
|
"dash":
|
|
return TSDocxEnumerations.wdUnderlineDash();
|
|
"dashedHeavy":
|
|
return TSDocxEnumerations.wdUnderlineDashHeavy();
|
|
"dashLong":
|
|
return TSDocxEnumerations.wdUnderlineDashLong();
|
|
"dashLongHeavy":
|
|
return TSDocxEnumerations.wdUnderlineDashLongHeavy();
|
|
"dotDash":
|
|
return TSDocxEnumerations.wdUnderlineDotDash();
|
|
"dashDotHeavy":
|
|
return TSDocxEnumerations.wdUnderlineDotDashHeavy();
|
|
"dotDotDash":
|
|
return TSDocxEnumerations.wdUnderlineDotDotDash();
|
|
"dashDotDotHeavy":
|
|
return TSDocxEnumerations.wdUnderlineDotDotDashHeavy();
|
|
"dotted":
|
|
return TSDocxEnumerations.wdUnderlineDotted();
|
|
"dottedHeavy":
|
|
return TSDocxEnumerations.wdUnderlineDottedHeavy();
|
|
"double":
|
|
return TSDocxEnumerations.wdUnderlineDouble();
|
|
"none", nil:
|
|
return TSDocxEnumerations.wdUnderlineNone();
|
|
"single":
|
|
return TSDocxEnumerations.wdUnderlineSingle();
|
|
"thick":
|
|
return TSDocxEnumerations.wdUnderlineThick();
|
|
"wave":
|
|
return TSDocxEnumerations.wdUnderlineWavy();
|
|
"wavyDoule":
|
|
return TSDocxEnumerations.wdUnderlineWavyDouble();
|
|
"wavyHeavy":
|
|
return TSDocxEnumerations.wdUnderlineWavyHeavy();
|
|
"words":
|
|
return TSDocxEnumerations.wdUnderlineWords();
|
|
end;
|
|
End;
|
|
|
|
Function TSDocxFont.WriteUnderlineColor(value);virtual;
|
|
Begin
|
|
pr_.UColor := color_[value];
|
|
End;
|
|
Function TSDocxFont.ReadUnderlineColor();virtual;
|
|
Begin
|
|
return color_[pr_.Value("UColor")];
|
|
End;
|
|
|