typedef struct tagTEXTMETRIC { // tm
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BCHAR tmFirstChar;
BCHAR tmLastChar;
BCHAR tmDefaultChar;
BCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut; BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRIC; var
Metrics : TTextMetric;
begin
{ get metric info for font }
GetTextMetrics(Canvas.Handle, Metrics);
{ adjust line height }
LineHi := Metrics.tmHeight + Metrics.tmInternalLeading;
end;
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BCHAR tmFirstChar;
BCHAR tmLastChar;
BCHAR tmDefaultChar;
BCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut; BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRIC; var
Metrics : TTextMetric;
begin
{ get metric info for font }
GetTextMetrics(Canvas.Handle, Metrics);
{ adjust line height }
LineHi := Metrics.tmHeight + Metrics.tmInternalLeading;
end;
canvas.textwidth