Qt字距调整问题

时间:2011-08-10 12:24:07

标签: html qt qtextedit kerning

在我的应用程序中,我使用QTextEdit显示一些文本,使用HTML进行格式化。可以打印显示的文档。这就是问题所在:在屏幕上,字距调整是正确的,打印时文档看起来很糟糕(主要是:在一些字母后面太多空间)。

尝试理解问题我在外部文件中输出HTML,并在真实的浏览器中进行测试。在Chrome中存在完全相同的问题,而在Firefox中,字距调整也适用于打印。问题来自HTML渲染引擎,但我没有使用QtWebkit模块(我甚至没有编译它),这可能解释了Chrome中出现同样的问题。

我该如何解决这个问题?

修改

这是它的样子:

首先应该呈现的文本(Firefox): kerning with Firefox

然后使用Qt / Chrome呈现的内容(特别是在M和p之后显着): kerning with Qt/Chrome

1 个答案:

答案 0 :(得分:0)

这是一个简单的解决方法,

使用下面的函数在QImage上绘制完整的QTextEdit Widget,然后打印出QImage。

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

Qt使用不同的渲染器进行打印,我认为这是一个与之相关的问题。

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