Turn off font hinting when active highdpi scaling
Font hinting is done in the Qt coordinate system, and ends up looking very wrong if the painter is scaled. Now that high-DPI scaling is cross platform, we can move the responsibility for turning off hinting out of the platform plugin. Note that we cannot change our minds later, since Qt does not have a reference to all objects that perform text layout. Therefore, we turn off hinting if and only if there is at least one screen with scaling enabled at application startup. If this is not good enough for you, you should disable scaling and support resolution independence manually. Task-number: QTBUG-46615 Change-Id: I15fa09aa1e952cf3abeb2d8c26f13ad1f1cbf9bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
This commit is contained in:
parent
661854bb89
commit
0f7bc885aa
@ -44,6 +44,7 @@
|
||||
|
||||
#include <QtGui/private/qfontengine_ft_p.h>
|
||||
#include <QtGui/private/qguiapplication_p.h>
|
||||
#include <QtGui/private/qhighdpiscaling_p.h>
|
||||
|
||||
#include <QtGui/qguiapplication.h>
|
||||
|
||||
@ -553,10 +554,8 @@ QFontEngine::HintStyle defaultHintStyleFromMatch(QFont::HintingPreference hintin
|
||||
break;
|
||||
}
|
||||
|
||||
if (QGuiApplication::platformNativeInterface()->nativeResourceForScreen("nofonthinting",
|
||||
QGuiApplication::primaryScreen())) {
|
||||
if (QHighDpiScaling::isActive())
|
||||
return QFontEngine::HintNone;
|
||||
}
|
||||
|
||||
int hint_style = 0;
|
||||
if (FcPatternGetInteger (match, FC_HINT_STYLE, 0, &hint_style) == FcResultMatch) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user