Permalink
Browse files

Qt/Win32: Fix font weight calculation

  • Loading branch information...
spycrab committed May 10, 2018
1 parent fd1ea63 commit 273579bc32ed71879c3e1f034761f623c4c33219
Showing with 7 additions and 2 deletions.
  1. +7 −2 Source/Core/DolphinQt2/Main.cpp
@@ -98,7 +98,7 @@ int main(int argc, char* argv[])
#ifdef _WIN32
// Get the default system font because Qt's way of obtaining it is outdated
NONCLIENTMETRICS metrics = {};
auto& logfont = metrics.lfMenuFont;
LOGFONT& logfont = metrics.lfMenuFont;
metrics.cbSize = sizeof(NONCLIENTMETRICS);
if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(metrics), &metrics, 0))
@@ -107,7 +107,12 @@ int main(int argc, char* argv[])
// thing
QFont font = QApplication::font();
font.setFamily(QString::fromStdString(UTF16ToUTF8(logfont.lfFaceName)));
font.setWeight(logfont.lfWeight);
// LOGFONT uses a scale from 1 to 1000 to represent font weight while Qt uses a scale from 0
// to 99. LOGFONT also has a DONTCARE value which we have to ignore.
if (logfont.lfWeight != FW_DONTCARE)
font.setWeight((logfont.lfWeight / 10) - 1);
font.setItalic(logfont.lfItalic);
font.setStrikeOut(logfont.lfStrikeOut);
font.setUnderline(logfont.lfUnderline);

0 comments on commit 273579b

Please sign in to comment.