From 385e7a50fcc1de2d33331385bdb15f90d886d638 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 14 Nov 2022 21:08:39 +0200 Subject: [PATCH] do not store the hinting flags in QFontEngineFT Signed-off-by: Ivailo Monev --- src/gui/text/qfontengine_ft.cpp | 41 ++++++++++++++--------------------------- src/gui/text/qfontengine_ft_p.h | 7 ------- 2 files changed, 14 insertions(+), 34 deletions(-) diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 8822de556..a6139eb36 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -163,7 +163,6 @@ void QFreetypeFace::addGlyphToPath(FT_Outline outline, const QFixedPoint &point, #ifndef QT_NO_FONTCONFIG QFontEngineFT::QFontEngineFT(const QFontDef &fd, FcPattern *pattern) : default_load_flags(FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_BITMAP), - default_hint_style(HintNone), freetype(nullptr), xsize(0), ysize(0), @@ -197,7 +196,6 @@ QFontEngineFT::QFontEngineFT(const QFontDef &fd, FcPattern *pattern) QFontEngineFT::QFontEngineFT(const QFontDef &fd) : default_load_flags(FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_BITMAP), - default_hint_style(HintNone), freetype(nullptr), xsize(0), ysize(0), @@ -241,22 +239,6 @@ void QFontEngineFT::init() TT_OS2 *os2 = (TT_OS2 *)FT_Get_Sfnt_Table(face, ft_sfnt_os2); if (os2) fsType = os2->fsType; - - switch (fontDef.hintingPreference) { - case QFont::PreferNoHinting: { - default_hint_style = HintNone; - break; - } - case QFont::PreferVerticalHinting: { - default_hint_style = HintLight; - break; - } - case QFont::PreferFullHinting: - default: { - default_hint_style = HintFull; - break; - } - } } QFontEngineFT::~QFontEngineFT() @@ -284,15 +266,20 @@ QFontEngineFT::~QFontEngineFT() bool QFontEngineFT::loadGlyph(glyph_t glyph) const { int load_flags = default_load_flags; - - if (default_hint_style == HintNone) { - load_flags |= FT_LOAD_NO_HINTING; - } else if (default_hint_style == HintLight) { - load_flags |= FT_LOAD_TARGET_LIGHT; - } else if (default_hint_style == HintFull) { - load_flags |= FT_LOAD_TARGET_LCD; - } else { - load_flags |= FT_LOAD_TARGET_MONO; + switch (fontDef.hintingPreference) { + case QFont::PreferNoHinting: { + load_flags |= FT_LOAD_NO_HINTING; + break; + } + case QFont::PreferVerticalHinting: { + load_flags |= FT_LOAD_TARGET_LIGHT; + break; + } + case QFont::PreferFullHinting: + default: { + load_flags |= FT_LOAD_TARGET_LCD; + break; + } } FT_Face face = freetype->face; diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 35ce69e0b..564ac0523 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -135,15 +135,8 @@ public: inline bool invalid() const { return xsize == 0 && ysize == 0; } - enum HintStyle { - HintNone, - HintLight, - HintFull - }; - protected: int default_load_flags; - HintStyle default_hint_style; private: void init(); -- 2.11.0