summaryrefslogtreecommitdiffstats
path: root/src/gui/text/windows/qwindowsfontdatabase_ft.cpp
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2023-04-17 17:41:20 +0200
committerMårten Nordheim <marten.nordheim@qt.io>2023-04-20 13:17:25 +0000
commit7a92304040c375fe867f71c1b04bc3e6b2c32b6e (patch)
tree784d3c63bd14483381ea0ed0086e1c6551be898f /src/gui/text/windows/qwindowsfontdatabase_ft.cpp
parentb3424c7027dcfbf1a912a682589ed1c0e4ba6b9e (diff)
FontDatabase[win/freetype] implement population of aliases
We rely on this function discovering extra fonts if we cannot find any or only find poor matches for our font request. Whether that be because we had only partially populated the fonts of a given family or because the user specified a font using a localized name. It's a copy-paste of the implementation in qwindowsfontdatabase Fixes: QTBUG-111854 Pick-to: 6.5 Change-Id: I0dd97b68d84417a26ce82a46f39804b36602ed67 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/gui/text/windows/qwindowsfontdatabase_ft.cpp')
-rw-r--r--src/gui/text/windows/qwindowsfontdatabase_ft.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/text/windows/qwindowsfontdatabase_ft.cpp b/src/gui/text/windows/qwindowsfontdatabase_ft.cpp
index f30a39aecc..e62f5e54b1 100644
--- a/src/gui/text/windows/qwindowsfontdatabase_ft.cpp
+++ b/src/gui/text/windows/qwindowsfontdatabase_ft.cpp
@@ -295,6 +295,21 @@ static int QT_WIN_CALLBACK storeFont(const LOGFONT *logFont, const TEXTMETRIC *t
return 1;
}
+bool QWindowsFontDatabaseFT::populateFamilyAliases(const QString &missingFamily)
+{
+ Q_UNUSED(missingFamily);
+
+ if (m_hasPopulatedAliases)
+ return false;
+
+ QStringList families = QFontDatabase::families();
+ for (const QString &family : families)
+ populateFamily(family);
+ m_hasPopulatedAliases = true;
+
+ return true;
+}
+
/*
\brief Populates the font database using EnumFontFamiliesEx().