Treat color (ARGB) glyphs, e.g. Emoji, as having unreliable glyph outlines
This is used by the scene graph to automatically switch over from distance field text to native text rendering for the given glyph node, which allows mixing regular text with Emoji in e.g. a Text item without having to set renderType to Text.NativeRendering. Change-Id: I5d96d1dab329a975e3442284bf4c5a82174177c9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
This commit is contained in:
parent
2d1189d9f2
commit
dc6191ccb4
@ -1344,13 +1344,13 @@ QByteArray QFontEngine::convertToPostscriptFontFamilyName(const QByteArray &fami
|
||||
return f;
|
||||
}
|
||||
|
||||
/**
|
||||
* Some font engines like the windows font engine
|
||||
* can not reliable create outline paths
|
||||
*/
|
||||
// Allow font engines (e.g. Windows) that can not reliably create
|
||||
// outline paths for distance-field rendering to switch the scene
|
||||
// graph over to native text rendering.
|
||||
bool QFontEngine::hasUnreliableGlyphOutline() const
|
||||
{
|
||||
return false;
|
||||
// Color glyphs (Emoji) are generally not suited for outlining
|
||||
return glyphFormat == QFontEngine::Format_ARGB;
|
||||
}
|
||||
|
||||
QFixed QFontEngine::lastRightBearing(const QGlyphLayout &glyphs, bool round)
|
||||
|
@ -671,7 +671,7 @@ void QWindowsFontEngine::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qre
|
||||
|
||||
bool QWindowsFontEngine::hasUnreliableGlyphOutline() const
|
||||
{
|
||||
return hasUnreliableOutline;
|
||||
return hasUnreliableOutline || QFontEngine::hasUnreliableGlyphOutline();
|
||||
}
|
||||
|
||||
qreal QWindowsFontEngine::minLeftBearing() const
|
||||
|
Loading…
Reference in New Issue
Block a user