Question:
How do I create a rotated font?
Answer:
Rotating fonts is a straight forward process, so long as the Windows
font mapper can supply a rotated font based on the font you request.
Note: Using a TrueType font virturally guarantees success.
Here is an example of creating a font that is rotated 45 degrees:
procedure TForm1.Button1Click(Sender: TObject);
var
 lf : TLogFont;
 tf : TFont;
begin
 with Form1.Canvas do begin
 Font.Name := 'Arial';
 Font.Size := 24;
 tf := TFont.Create;
 tf.Assign(Font);
 GetObject(tf.Handle, sizeof(lf), @lf);
 lf.lfEscapement := 450;
 lf.lfOrientation := 450;
 tf.Handle := CreateFontIndirect(lf);
 Font.Assign(tf);
 tf.Free;
 TextOut(20, Height div 2, 'Rotated Text!');
 end;
end;