diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-04 09:47:52 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-04 09:51:36 +0200 |
commit | 0936bc54f907066644503c7d4c390968711c73a7 (patch) | |
tree | 6eb8c614e7083eae6ca619435f901dcb1380108f /src/platformsupport/fontdatabases | |
parent | 83080e8a7cb7aaa794a9659eeaf34690afe71ddb (diff) | |
parent | ffd44acd0de4fc7079e76f1fe4689b655f9dc763 (diff) |
Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
config.tests/arch/arch.cpp
src/opengl/qgl_qpa.cpp
src/widgets/kernel/qapplication.cpp
Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
Diffstat (limited to 'src/platformsupport/fontdatabases')
-rw-r--r-- | src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index c0643444e2..7ae72cc446 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -245,9 +245,19 @@ void QCoreTextFontDatabase::populateFromDescriptor(CTFontDescriptorRef font) if (styles) { if (CFNumberRef weightValue = (CFNumberRef) CFDictionaryGetValue(styles, kCTFontWeightTrait)) { Q_ASSERT(CFNumberIsFloatType(weightValue)); - double d; - if (CFNumberGetValue(weightValue, kCFNumberDoubleType, &d)) - weight = (d > 0.0) ? QFont::Bold : QFont::Normal; + double normalizedWeight; + if (CFNumberGetValue(weightValue, kCFNumberDoubleType, &normalizedWeight)) { + if (normalizedWeight >= 0.62) + weight = QFont::Black; + else if (normalizedWeight >= 0.4) + weight = QFont::Bold; + else if (normalizedWeight >= 0.3) + weight = QFont::DemiBold; + else if (normalizedWeight == 0.0) + weight = QFont::Normal; + else if (normalizedWeight <= -0.4) + weight = QFont::Light; + } } if (CFNumberRef italic = (CFNumberRef) CFDictionaryGetValue(styles, kCTFontSlantTrait)) { Q_ASSERT(CFNumberIsFloatType(italic)); |