The caption says it all. Canvas.TextExtents (and therefore
Canvas.TextWidth, Canvas.TextHeight) gives the wrong results when using
italic fonts (very noticeable on very large font heights > 200). The
issue is that I need to know for a string of text the width and height
of each letter, and to get the outline of each letter as a series of
To trace the letter I paint each letter on a canvas and then trace the
edges. In order to make the canvas large enough for the letter the
following is done:
Canvas.Width := Canvas.TextWidth(SomeLetter);
Canvas.Height := Canvas.TextHeight(SomeLetter);
which clips italic fonts, i.e. the italic letter is in fact wider than
TextWidth says it is.
CTO TFcom Ltd.