Печать арабских символов с GDI+ приводит к скремблированному выводу с помощью Microsoft XPS Document Writer
Мне нужно использовать методы 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 в PDF:
Это вывод из Microsoft XPS Document Writer:
Как видите все персонажи зашифрованы!
Вы знаете, почему это происходит? Что я могу сделать, чтобы правильно печатать арабские символы с GDI+ на всех принтерах?