diff options
author | David Faure <david.faure@kdab.com> | 2014-11-20 10:15:23 +0100 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2014-11-24 08:05:10 +0100 |
commit | edd436a268ea038322735174fddb6da3a29d147d (patch) | |
tree | b1ceda05d32d6ac39cc67aa5434aa47fe47b8141 | |
parent | 5f6284a98baded49d31b9723117a98d3bd010cfe (diff) |
OSX: implement QFontMetrics::maxWidth().
CoreText doesn't seem to provide us with a "maximum advance" value,
but 0 is really wrong, it leads to QLineEdit::minimumSizeHint() being
0 since it's based on maxWidth(). It even led to a negative min width
with setTextMargins(-1, 0, -1, 0).
Change-Id: I4faf8ecfb6d91e9dff66ec63651d003014503cb4
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
-rw-r--r-- | src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm index 2859886d59..23fe48b493 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm +++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm @@ -353,7 +353,10 @@ QFixed QCoreTextFontEngine::averageCharWidth() const qreal QCoreTextFontEngine::maxCharWidth() const { - return 0; + // ### FIXME: 'W' might not be the widest character, but this is better than nothing + const glyph_t glyph = glyphIndex('W'); + glyph_metrics_t bb = const_cast<QCoreTextFontEngine *>(this)->boundingBox(glyph); + return bb.xoff.toReal(); } qreal QCoreTextFontEngine::minLeftBearing() const |