Add a way to check if we have a matching family in the database.
authorPierre Rossi <pierre.rossi@nokia.com>
Fri, 15 Jul 2011 12:03:15 +0000 (14:03 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 20 Jul 2011 10:47:25 +0000 (12:47 +0200)
This is needed in order to get proper font fallback, and incidentally
webfonts, working in QtWebKit.
See: https://bugs.webkit.org/show_bug.cgi?id=55036
Internal for now, maybe it could be made public for a future release.

Task-number: QTBUG-15575
Change-Id: I5c454689125cd9d5fda26ff2149208ed1beec24d
Reviewed-on: http://codereview.qt.nokia.com/1829
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
src/gui/text/qfontdatabase.cpp
src/gui/text/qfontdatabase.h

index d4e3cc2..6202fba 100644 (file)
@@ -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).
index d3463a0..b1f370e 100644 (file)
@@ -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);