我需要使用 GDI+ 方法来打印阿拉伯字符,并且遇到了一些似乎与特定打印机有关的问题。
这是我在 Windows 应用程序中使用的方法:
g.DrawString("اللائحة (EC) رقم 648/2004 (المنظفات)", new Font("Arial Unicode MS", 5), Brushes.Black, rectangle, new StringFormat(StringFormatFlags.DirectionRightToLeft));
g是打印机图形对象,矩形是打印区域。
我正在 Windows 10 中使用默认安装的打印机Microsoft Print to PDF和Microsoft XPS Document Writer进行尝试。
这是Microsoft Print to PDF的正确输出:
这是Microsoft XPS Document Writer的输出:
如您所见,所有字符都被打乱了!
你知道为什么会这样吗?我可以做些什么来使用 GDI+ 将阿拉伯字符正确打印到所有打印机上吗?