diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/text/qplatformfontdatabase.cpp | 21 | ||||
-rw-r--r-- | src/gui/text/qplatformfontdatabase.h | 7 | ||||
-rw-r--r-- | src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm | 18 |
3 files changed, 46 insertions, 0 deletions
diff --git a/src/gui/text/qplatformfontdatabase.cpp b/src/gui/text/qplatformfontdatabase.cpp index 599b18ac05..4ad826e87b 100644 --- a/src/gui/text/qplatformfontdatabase.cpp +++ b/src/gui/text/qplatformfontdatabase.cpp @@ -45,6 +45,7 @@ #include <qpa/qplatformscreen.h> #include <QtCore/QLibraryInfo> #include <QtCore/QDir> +#include <QtCore/QMetaEnum> #include <algorithm> #include <iterator> @@ -201,6 +202,26 @@ QSupportedWritingSystems &QSupportedWritingSystems::operator=(const QSupportedWr return *this; } +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug debug, const QSupportedWritingSystems &sws) +{ + QMetaObject mo = QFontDatabase::staticMetaObject; + QMetaEnum me = mo.enumerator(mo.indexOfEnumerator("WritingSystem")); + + QDebugStateSaver saver(debug); + debug.nospace() << "QSupportedWritingSystems("; + int i = sws.d->vector.indexOf(true); + while (i > 0) { + debug << me.valueToKey(i); + i = sws.d->vector.indexOf(true, i + 1); + if (i > 0) + debug << ", "; + } + debug << ")"; + return debug; +} +#endif + /*! Destroys the supported writing systems object. */ diff --git a/src/gui/text/qplatformfontdatabase.h b/src/gui/text/qplatformfontdatabase.h index 2d99183ca3..2ca783f0fd 100644 --- a/src/gui/text/qplatformfontdatabase.h +++ b/src/gui/text/qplatformfontdatabase.h @@ -84,11 +84,18 @@ private: friend Q_GUI_EXPORT bool operator==(const QSupportedWritingSystems &, const QSupportedWritingSystems &); friend Q_GUI_EXPORT bool operator!=(const QSupportedWritingSystems &, const QSupportedWritingSystems &); +#ifndef QT_NO_DEBUG_STREAM + friend Q_GUI_EXPORT QDebug operator<<(QDebug, const QSupportedWritingSystems &); +#endif }; Q_GUI_EXPORT bool operator==(const QSupportedWritingSystems &, const QSupportedWritingSystems &); Q_GUI_EXPORT bool operator!=(const QSupportedWritingSystems &, const QSupportedWritingSystems &); +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug, const QSupportedWritingSystems &); +#endif + class QFontRequestPrivate; class QFontEngineMulti; diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 3b9a456be0..d89a81be6b 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -251,6 +251,24 @@ struct FontDescription { QSupportedWritingSystems writingSystems; }; +#ifndef QT_NO_DEBUG_STREAM +Q_DECL_UNUSED static inline QDebug operator<<(QDebug debug, const FontDescription &fd) +{ + QDebugStateSaver saver(debug); + return debug.nospace() << "FontDescription(" + << "familyName=" << QString(fd.familyName) + << ", styleName=" << QString(fd.styleName) + << ", foundry=" << fd.foundryName + << ", weight=" << fd.weight + << ", style=" << fd.style + << ", stretch=" << fd.stretch + << ", pixelSize=" << fd.pixelSize + << ", fixedPitch=" << fd.fixedPitch + << ", writingSystems=" << fd.writingSystems + << ")"; +} +#endif + static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd) { QCFType<CFDictionaryRef> styles = (CFDictionaryRef) CTFontDescriptorCopyAttribute(font, kCTFontTraitsAttribute); |