[Interest] Native text rendering in Qt 5.1 on Windows

Mark markg85 at gmail.com
Wed Aug 21 22:19:46 CEST 2013


On Wed, Aug 21, 2013 at 6:06 PM, Thiago Macieira
<thiago.macieira at intel.com> wrote:
> On quarta-feira, 21 de agosto de 2013 19:40:21, John C. Turnbull wrote:
>> Thanks Andrew,
>>
>> As I don't have immediate access to the codebase, are you able to tell how
>> those glyph paths generated by GDI get rendered in an OpenGL context?
>
> I thought directwrite support was dropped because it was too unstable. I could
> be wrong though.
>
> No, I think the difference here is that Qt Quick 2 used depth maps to render
> glyphs, which allowed for smooth scaling. In most cases, the new font engine
> would produce much better results than other engines. However, the results are
> still *different* and on Windows they're different enough that people started
> asking for the ability to render text using GDI again. That's the feature.

Are you sure about that?
I've ran Qt 5.0.x and 5.1.0 and to be honest, QML's new font engine
looks absolutely horrible on the desktop. It might look fine on high
dpi devices, but desktops aren't in that area - yet. Why does it look
horrible? The font looks way to unsharp and blurred at it's default
settings. This has been reported by me[1, 2] but is apparently a very
low priority.

It looks horribly unsharp on windows, linux and mac - yes, i tested
that and that is my visual observation. In fact, on linux it only
looks nice, sharp and crisp when the environment variable
QML_DISABLE_DISTANCEFIELD is set. Before you suggest it, setting
--text-subpixel-antialiasing improves it slightly as said in [2] but
still makes it look too blurry. So that makes me question the entire
distance field stuff for desktop usage. Again, i can imagine it to be
better for mobile but for desktop usage it just doesn't cut it.

Right now i would say that QML2 is useless on the desktop if
QML_DISABLE_DISTANCEFIELD isn't set. I really hope that the distance
field stuff can be tweaked to look as sharp as native fonts. Sadly as
said, the Qt focus doesn't seem to be to improve this situation as [1]
shows.

[1] https://bugreports.qt-project.org/browse/QTBUG-28993
[2] https://bugreports.qt-project.org/browse/QTBUG-28782



More information about the Interest mailing list