summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases/mac
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformsupport/fontdatabases/mac')
-rw-r--r--src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm19
-rw-r--r--src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h4
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm4
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h6
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)