The following procedure is showing the font I wanted to use. I haven't tested with other fonts, actually hasn't been tested much at all. Attachment show it running on windows mobile 6 phone.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
var lf: LOGFONT;
f: HFONT;
oldfonthandle: HFONT;
begin
StringGrid1.Canvas.Brush.Style:=bsSolid;
stringgrid1.canvas.Brush.Color := stringgrid1.Color;
stringgrid1.canvas.FillRect(aRect);
if (arow < 3) then
begin
FillChar(lf,SizeOf(lf),0);
lf.lfFaceName:= 'Urdu Web';
lf.lfHeight := stringgrid1.Font.Height;
f := CreateFontIndirect(lf);
if (f <> 0) then
begin
try
stringgrid1.canvas.Font.Color:= clred;
OldFontHandle := SelectObject(stringgrid1.Canvas.Handle,f);
stringgrid1.Canvas.textrect(arect,aRect.Left+2,aRect.Top+2,stringgrid1.cells[acol,arow]);
finally
SelectObject(stringgrid1.Canvas.Handle, OldFontHandle);
DeleteObject(f);
end;
end;
end
else
begin
stringgrid1.canvas.Font.Color:= clblue;
stringgrid1.Canvas.textrect(arect,aRect.Left+2,aRect.Top+2,stringgrid1.cells[acol,arow]);
end;
end;