Thank's for posting it as a Bug. I could wait to be solved.Fortunately all my customers are using Windows currently.
procedure TForm1.Button1Click(Sender: TObject);const LEFTMARGIN = 100; HEADLINE = 'I Printed My Very First Text On ';var YPos, LineHeight, VerticalMargin: Integer; SuccessString: String; Num: Integer;begin with Printer do try BeginDoc; Canvas.Font.Name := 'Courier New'; Canvas.Font.Size := 10; Canvas.Font.Color := clBlack; LineHeight := Round(1.2 * Abs(Canvas.TextHeight('I'))); VerticalMargin := 4 * LineHeight; // There we go YPos := VerticalMargin; SuccessString := HEADLINE + DateTimeToStr(Now); SuccessString:= UTF8ToSys(SuccessString); Caption:= SuccessString; Canvas.TextOut(LEFTMARGIN, YPos, 'A'); Canvas.TextOut(LEFTMARGIN, YPos + 45, 'بسم الله الرحمن الرحيم'); TPostScriptPrinterCanvas(Canvas).SaveToFile('/home/motaz/tmp/test.ps'); finally EndDoc; end;end;Arabic letters does not appear on the page