diff options
Diffstat (limited to 'src/platformsupport/fontdatabases/mac')
4 files changed, 33 insertions, 0 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index c42320889a..a774a6940e 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -39,8 +39,10 @@ ** ****************************************************************************/ +#ifndef QT_NO_CORESERVICES #import <Cocoa/Cocoa.h> #import <IOKit/graphics/IOGraphicsLib.h> +#endif #include "qcoretextfontdatabase_p.h" #include "qfontengine_coretext_p.h" @@ -118,6 +120,7 @@ static NSInteger languageMapSort(id obj1, id obj2, void *context) QCoreTextFontDatabase::QCoreTextFontDatabase() { +#ifndef QT_NO_CORESERVICES QSettings appleSettings(QLatin1String("apple.com")); QVariant appleValue = appleSettings.value(QLatin1String("AppleAntiAliasingThreshold")); if (appleValue.isValid()) @@ -152,6 +155,9 @@ QCoreTextFontDatabase::QCoreTextFontDatabase() QCoreTextFontEngine::defaultGlyphFormat = (font_smoothing > 0 ? QFontEngineGlyphCache::Raster_RGBMask : QFontEngineGlyphCache::Raster_A8); +#else + QCoreTextFontEngine::defaultGlyphFormat = QFontEngineGlyphCache::Raster_A8; +#endif } QCoreTextFontDatabase::~QCoreTextFontDatabase() @@ -342,6 +348,7 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString family, cons return fallbackLists[styleHint]; } +#ifndef QT_NO_CORESERVICES OSErr qt_mac_create_fsref(const QString &file, FSRef *fsref); QStringList QCoreTextFontDatabase::addApplicationFont(const QByteArray &fontData, const QString &fileName) { @@ -382,6 +389,7 @@ QStringList QCoreTextFontDatabase::addApplicationFont(const QByteArray &fontData return QStringList(); } +#endif QFont QCoreTextFontDatabase::defaultFont() const { @@ -393,5 +401,16 @@ QFont QCoreTextFontDatabase::defaultFont() const return QFont(defaultFontName); } +QList<int> QCoreTextFontDatabase::standardSizes() const +{ + QList<int> ret; + static const unsigned short standard[] = + { 9, 10, 11, 12, 13, 14, 18, 24, 36, 48, 64, 72, 96, 144, 288, 0 }; + ret.reserve(int(sizeof(standard) / sizeof(standard[0]))); + const unsigned short *sizes = standard; + while (*sizes) ret << *sizes++; + return ret; +} + QT_END_NAMESPACE diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h index adcfeebf0b..cbe1b28db8 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h @@ -55,9 +55,13 @@ public: QFontEngine *fontEngine(const QFontDef &fontDef, QUnicodeTables::Script script, void *handle); QFontEngine *fontEngine(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference); QStringList fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const; +#ifndef QT_NO_CORESERVICES QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName); +#endif void releaseHandle(void *handle); QFont defaultFont() const; + QList<int> standardSizes() const; + private: mutable QString defaultFontName; QHash<QFont::StyleHint, QStringList> fallbackLists; diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm index a02361be21..df6becc5e3 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm +++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm @@ -413,7 +413,11 @@ QImage QCoreTextFontEngine::imageForGlyph(glyph_t glyph, QFixed subPixelPosition QImage im(qRound(br.width)+2, qRound(br.height)+2, QImage::Format_RGB32); im.fill(0); +#ifndef QT_NO_CORESERVICES CGColorSpaceRef colorspace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); +#else + CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); +#endif uint cgflags = kCGImageAlphaNoneSkipFirst; #ifdef kCGBitmapByteOrder32Host //only needed because CGImage.h added symbols in the minor version cgflags |= kCGBitmapByteOrder32Host; diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h index 3d286c8625..e1435c8b63 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h +++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h @@ -44,7 +44,13 @@ #include <private/qfontengine_p.h> #include <private/qcore_mac_p.h> + +#ifndef QT_NO_CORESERVICES #include <ApplicationServices/ApplicationServices.h> +#else +#include <CoreText/CoreText.h> +#include <CoreGraphics/CoreGraphics.h> +#endif #if !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) |