diff options
| author | Pierre Rossi <pierre.rossi@digia.com> | 2014-10-22 17:14:29 +0200 |
|---|---|---|
| committer | Konstantin Ritt <ritt.ks@gmail.com> | 2014-12-12 06:59:46 +0100 |
| commit | 517da68893be9e6d97c7993922c573de9560604d (patch) | |
| tree | 9da6027604c97023fd6cacc3114c2f2fd43dd26f /src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp | |
| parent | 0478bc15bd3b4c616b4860e460600ba8877ee216 (diff) | |
Add QFont::Weight enum values
And try to make good use of them in order to match the QFont
request more closely.
Task-number: QTBUG-38482
Change-Id: I768dfa8828e370d77a1c17ecf4796d750b3edd9b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Diffstat (limited to 'src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp')
| -rw-r--r-- | src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp index 52505c570b7..f831f3b9081 100644 --- a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp +++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp @@ -281,41 +281,26 @@ QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByt if (supportedWritingSystems) *supportedWritingSystems = writingSystems; - if (os2->usWeightClass == 0) - ; - else if (os2->usWeightClass < 150) - weight = qt_thinFontWeight; - else if (os2->usWeightClass < 250) - weight = qt_extralightFontWeight; - else if (os2->usWeightClass < 350) - weight = QFont::Light; - else if (os2->usWeightClass < 450) - weight = QFont::Normal; - else if (os2->usWeightClass < 550) - weight = qt_mediumFontWeight; - else if (os2->usWeightClass < 650) - weight = QFont::DemiBold; - else if (os2->usWeightClass < 750) - weight = QFont::Bold; - else if (os2->usWeightClass < 1000) - weight = QFont::Black; - - if (os2->panose[2] >= 2) { + if (os2->usWeightClass) { + weight = QPlatformFontDatabase::weightFromInteger(os2->usWeightClass); + } else if (os2->panose[2]) { int w = os2->panose[2]; if (w <= 1) - weight = qt_thinFontWeight; + weight = QFont::Thin; else if (w <= 2) - weight = qt_extralightFontWeight; + weight = QFont::ExtraLight; else if (w <= 3) weight = QFont::Light; else if (w <= 5) weight = QFont::Normal; else if (w <= 6) - weight = qt_mediumFontWeight; + weight = QFont::Medium; else if (w <= 7) weight = QFont::DemiBold; else if (w <= 8) weight = QFont::Bold; + else if (w <= 9) + weight = QFont::ExtraBold; else if (w <= 10) weight = QFont::Black; } |
