You print your Wordpad documents in graphic mode. This is good.
How do you know your printer supports Unicode (which is used by .NET) in character mode? I suspect it does not: the whole notion of code page is from the pre-Unicode epoch. However, for compatibility with obsolete encoding and code pages, the Windows code page 1200 is attributed to Unicode. (Do you try it?)
You really need to print in graphics mode. Using Farsi with Unicode and .NET is never a problem. More exactly, if you're talking about modern Farsi, it's a Perso-Arabic script, see
http://en.wikipedia.org/wiki/Perso-Arabic_script[
^].
Use the class
System.Drawing.Printing.PrintDocument
. For the code sample, see
http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument(v=VS.100).aspx[
^].
—SA