Have a look at the procedure now, Should give you some clues... You have to be sure of two things 1. You are using a True Type Font. 2. If you use an TImage, you set the font of the Image CANVAS first. Sean ---------- procedure DC_TextOut(x,y,angle,size:integer;txt:string); var hfont, fontold : integer; dc : hdc; fontname : string; begin Image1.Canvas.Font.Name := 'Arial'; if length(txt)= 0 then exit; dc := Image1.Canvas.handle; (Here ??? handle from component not from activeform) SetBkMode(dc,transparent); fontname := Image1.Canvas.font.name; (Here ??? handle from component not from activeform) hfont := CreateFont(-size,0,angle*10,0,fw_normal,0,0,0,1,4,$10,2,4,PChar(fontname)); fontold := SelectObject(dc,hfont); TextOut(dc,x,y,PChar(txt),length(txt)); SelectObject(dc, fontold); DeleteObject(hfont); end;