mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 18:32:55 +00:00
do not store the hinting flags in QFontEngineFT
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
d6ec585fad
commit
385e7a50fc
2 changed files with 14 additions and 34 deletions
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue