<< Click to Display Table of Contents >> Navigation: Font engine > Layout |
THtLayout = record
public
Font: TOTFFont;
FontSize, LetterSpacing: single;
Glyphs: array of THtLayoutGlyph;
Flags: byte;
StylisticSet: TOTFStylisticFeatures;
FeatureSet: TOpentypeFeatures;
FontStyle: THtFontStyles;
function Width: single;
function Ascent: single;
function Descent: single;
function AsSVG: string;
procedure AsPath(P: THtPath);
property RTL: boolean read GetRTL write SetRTL;
property Kerning: boolean read GetKerning write SetKerning;
property Substitution: boolean read GetSubstitution write SetSubstitution;
property Positioning: boolean read GetPositioning write SetPositioning;
end;
THtLayoutGlyph = record
Symbol code
CID: cardinal;
Glyph ID
GID: word;
Offset from default position
DX, DY: Smallint;
Width in font units
Width: SmallInt;
end;
Layout glyphs. After calling PrepareLayout glyph number can change and will not correspond to initial text length.
Font flags. Use properties to get/set flags.
Set of stylistic features (ss01..ss20) that should be processed during PrepareLayout
Set of OpenType features that should be processed during PrepareLayout
Bold, Italic, Underline, Strikeout
Total width of layout
Ascent value
Descent value
Convert layout to SVG string
Convert layout to SVG path
Layout contains right-to-left text
Process kerning when prepare layout (Kern table)
Process glyph substitutions when prepare layout (ligatures, etc.GSUB table)
Adjust glyphs positions when prepare layout (GPOS table)