diff options
authorPierre Rossi <>2011-07-15 14:03:15 +0200
committerQt by Nokia <>2011-07-20 12:47:25 +0200
commitb2553443739f78756ffe0cabc1b02fc62bda09c6 (patch)
parent48f761a3e161b18ebce3ca6a2c8d39722179c48d (diff)
Add a way to check if we have a matching family in the database.
This is needed in order to get proper font fallback, and incidentally webfonts, working in QtWebKit. See: Internal for now, maybe it could be made public for a future release. Task-number: QTBUG-15575 Change-Id: I5c454689125cd9d5fda26ff2149208ed1beec24d Reviewed-on: Reviewed-by: Qt Sanity Bot <> Reviewed-by: Jiang Jiang <> Reviewed-by: Eskil Abrahamsen Blomfeldt <>
2 files changed, 12 insertions, 0 deletions
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index d4e3cc25a2..6202fbac52 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -2239,6 +2239,16 @@ int QFontDatabase::weight(const QString &family,
+/*! \internal */
+bool QFontDatabase::hasFamily(const QString &family) const
+ QString parsedFamily, foundry;
+ parseFontName(family, foundry, parsedFamily);
+ const QString familyAlias = resolveFontFamilyAlias(parsedFamily);
+ return families().contains(familyAlias, Qt::CaseInsensitive);
Returns the names the \a writingSystem (e.g. for displaying to the
user in a dialog).
diff --git a/src/gui/text/qfontdatabase.h b/src/gui/text/qfontdatabase.h
index d3463a05f6..b1f370e6d1 100644
--- a/src/gui/text/qfontdatabase.h
+++ b/src/gui/text/qfontdatabase.h
@@ -138,6 +138,8 @@ public:
bool bold(const QString &family, const QString &style) const;
int weight(const QString &family, const QString &style) const;
+ bool hasFamily(const QString &family) const;
static QString writingSystemName(WritingSystem writingSystem);
static QString writingSystemSample(WritingSystem writingSystem);