Печать арабских символов с 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+ на всех принтерах?

0 ответов

Другие вопросы по тегам