diff --git a/src/plugins/help/qlitehtml/container_qpainter.cpp b/src/plugins/help/qlitehtml/container_qpainter.cpp index aa44428750b..3426d098c29 100644 --- a/src/plugins/help/qlitehtml/container_qpainter.cpp +++ b/src/plugins/help/qlitehtml/container_qpainter.cpp @@ -40,6 +40,7 @@ #include #include +#include const int kDragDistance = 5; @@ -453,11 +454,24 @@ litehtml::uint_ptr DocumentContainer::create_font(const litehtml::tchar_t *faceN #if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)) font->setFamilies(familyNames); #else - static const auto knownFamilies = QFontDatabase().families().toSet(); + struct CompareCaseinsensitive + { + bool operator()(const QString &a, const QString &b) const + { + return a.compare(b, Qt::CaseInsensitive) < 0; + } + }; + static const QStringList known = QFontDatabase().families(); + static const std::set knownFamilies(known.cbegin(), + known.cend()); font->setFamily(familyNames.last()); - for (const QString &name : qAsConst(familyNames)) - if (knownFamilies.contains(name)) - font->setFamily(name); + for (const QString &name : qAsConst(familyNames)) { + const auto found = knownFamilies.find(name); + if (found != knownFamilies.end()) { + font->setFamily(*found); + break; + } + } #endif font->setPixelSize(size); font->setWeight(cssWeightToQtWeight(weight));