From 5f1a142d5c6507d54bfa2f46fbcf07b16d1305c2 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 10 Jan 2022 02:16:31 +0200 Subject: [PATCH] move most QFontDatabase methods from qfontdatabase_x11_p header to qfontdatabase source file Signed-off-by: Ivailo Monev --- src/gui/text/qfontdatabase.cpp | 30 ++++++++++++++++++++++++++---- src/gui/text/qfontdatabase_x11_p.h | 32 -------------------------------- 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index c53341632..c0304eaf0 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -155,12 +155,28 @@ QT_BEGIN_INCLUDE_NAMESPACE #endif QT_END_INCLUDE_NAMESPACE -#if !defined(Q_WS_X11) QString QFontDatabase::resolveFontFamilyAlias(const QString &family) { +#if defined(QT_NO_FONTCONFIG) return family; -} +#else + FcPattern *pattern = FcPatternCreate(); + if (!pattern) + return family; + + QByteArray cs = family.toUtf8(); + FcPatternAddString(pattern, FC_FAMILY, (const FcChar8 *) cs.constData()); + FcConfigSubstitute(0, pattern, FcMatchPattern); + FcDefaultSubstitute(pattern); + + FcChar8 *familyAfterSubstitution; + FcPatternGetString(pattern, FC_FAMILY, 0, &familyAfterSubstitution); + QString resolved = QString::fromUtf8((const char *) familyAfterSubstitution); + FcPatternDestroy(pattern); + + return resolved; #endif +} static QString styleStringHelper(int weight, QFont::Style style) { @@ -677,7 +693,6 @@ void QFontDatabase::parseFontName(const QString &name, QString &foundry, QString } /*! - \fn bool QFontDatabase::supportsThreadedFontRendering() \since 4.4 Returns true if font rendering is supported outside the GUI @@ -687,7 +702,14 @@ void QFontDatabase::parseFontName(const QString &name, QString &foundry, QString \sa {Thread-Support in Qt Modules#Painting In Threads}{Painting In Threads} */ - +bool QFontDatabase::supportsThreadedFontRendering() +{ +#if defined(QT_NO_FONTCONFIG) + return false; +#else + return qt_x11Data->has_fontconfig; +#endif +} QT_END_NAMESPACE diff --git a/src/gui/text/qfontdatabase_x11_p.h b/src/gui/text/qfontdatabase_x11_p.h index bacae1002..9a927b69c 100644 --- a/src/gui/text/qfontdatabase_x11_p.h +++ b/src/gui/text/qfontdatabase_x11_p.h @@ -764,37 +764,5 @@ QFontEngine* QFontDatabase::load(const QFontPrivate *d, int script) return fe; } -bool QFontDatabase::supportsThreadedFontRendering() -{ -#if defined(QT_NO_FONTCONFIG) - return false; -#else - return qt_x11Data->has_fontconfig; -#endif -} - -QString QFontDatabase::resolveFontFamilyAlias(const QString &family) -{ -#if defined(QT_NO_FONTCONFIG) - return family; -#else - FcPattern *pattern = FcPatternCreate(); - if (!pattern) - return family; - - QByteArray cs = family.toUtf8(); - FcPatternAddString(pattern, FC_FAMILY, (const FcChar8 *) cs.constData()); - FcConfigSubstitute(0, pattern, FcMatchPattern); - FcDefaultSubstitute(pattern); - - FcChar8 *familyAfterSubstitution; - FcPatternGetString(pattern, FC_FAMILY, 0, &familyAfterSubstitution); - QString resolved = QString::fromUtf8((const char *) familyAfterSubstitution); - FcPatternDestroy(pattern); - - return resolved; -#endif -} - QT_END_NAMESPACE -- 2.11.0