summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2014-11-20 10:15:23 +0100
committerDavid Faure <david.faure@kdab.com>2014-11-24 08:05:10 +0100
commitedd436a268ea038322735174fddb6da3a29d147d (patch)
treeb1ceda05d32d6ac39cc67aa5434aa47fe47b8141 /src/platformsupport
parent5f6284a98baded49d31b9723117a98d3bd010cfe (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>
Diffstat (limited to 'src/platformsupport')
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm5
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