Qt кернинг проблема - PullRequest
       16

Qt кернинг проблема

5 голосов
/ 10 августа 2011

В моем приложении я использую QTextEdit для отображения текста, используя HTML для форматирования. Отображаемый документ можно распечатать. И вот в чем проблема: хотя на экране кернинг корректен, при печати документ выглядит очень плохо (в основном: слишком много места после некоторых букв).

Пытаясь понять проблему, я выводил HTML во внешний файл и проверял его в реальных браузерах. В Chrome точно такая же проблема, а в Firefox кернинг подходит и для печати. Проблема определенно связана с механизмом рендеринга HTML, но я не использую модуль QtWebkit (я даже не скомпилировал его), который объяснил бы, что такая же проблема возникает в Chrome.

Как я могу это исправить?

EDIT

Вот как это выглядит:

Сначала текст, как он должен быть представлен (Firefox): kerning with Firefox

Тогда что визуализируется с помощью Qt / Chrome (особенно заметно после M и p): kerning with Qt/Chrome

1 Ответ

0 голосов
/ 18 августа 2011

Вот простой обходной путь,

Используйте функцию ниже и нарисуйте свой полный виджет QTextEdit на QImage, затем напечатайте этот QImage.

http://doc.qt.io/qt-5/qwidget.html#render

Qt использует другой рендерер для печати, я думаю, что это проблема, связанная с этим.

http://doc.qt.io/qt-5/paintsystem-devices.html

...