summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases
diff options
context:
space:
mode:
authorOlli Werwolff <qt-info@nokia.com>2011-10-07 10:00:04 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-10 13:17:44 +0200
commitde6445272d4795c775cafa76c041b08e3d27c01d (patch)
treea875183544c49a799656265fa3cdae472b6228a9 /src/platformsupport/fontdatabases
parentc280fa59cb0065addfb441bd05e5f6fae584a316 (diff)
Use freetype font engine on Windows
As windows' fontdatabases also uses functionalities from qbasicunixfontdatabase it was renamed to qbasicfontdatabase. But instead of iterating over the font directories' files it uses system calls to obtain the list of fonts and uses registry values to find the according filenames to add. The native font engine was still kept. It can be activated by adding fontengine=native as platformargument. Change-Id: I7197bed5d18b8a33d4aa97ce91bfa1cd281b80ea Reviewed-on: http://codereview.qt-project.org/5839 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Sanity-Review: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Diffstat (limited to 'src/platformsupport/fontdatabases')
-rw-r--r--src/platformsupport/fontdatabases/basic/basic.pri (renamed from src/platformsupport/fontdatabases/basicunix/basicunix.pri)6
-rw-r--r--src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp (renamed from src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp)18
-rw-r--r--src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h (renamed from src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h)9
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h4
-rw-r--r--src/platformsupport/fontdatabases/fontdatabases.pri6
-rw-r--r--src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h4
6 files changed, 26 insertions, 21 deletions
diff --git a/src/platformsupport/fontdatabases/basicunix/basicunix.pri b/src/platformsupport/fontdatabases/basic/basic.pri
index f83b89063b..2bff36d434 100644
--- a/src/platformsupport/fontdatabases/basicunix/basicunix.pri
+++ b/src/platformsupport/fontdatabases/basic/basic.pri
@@ -2,11 +2,11 @@ DEFINES += QT_NO_FONTCONFIG
QT += gui-private core-private
HEADERS += \
- $$PWD/qbasicunixfontdatabase_p.h \
+ $$PWD/qbasicfontdatabase_p.h \
$$QT_SOURCE_TREE/src/gui/text/qfontengine_ft_p.h
SOURCES += \
- $$PWD/qbasicunixfontdatabase.cpp \
+ $$PWD/qbasicfontdatabase.cpp \
$$QT_SOURCE_TREE/src/gui/text/qfontengine_ft.cpp
CONFIG += opentype
@@ -58,7 +58,7 @@ contains(QT_CONFIG, freetype) {
$$QT_FREETYPE_DIR/src/autofit/afloader.c\
$$QT_FREETYPE_DIR/src/autofit/autofit.c
- symbian {
+ symbian|win32 {
SOURCES += \
$$QT_FREETYPE_DIR/src/base/ftsystem.c
} else {
diff --git a/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
index bca40591f6..329a1176c6 100644
--- a/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp
+++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qbasicunixfontdatabase_p.h"
+#include "qbasicfontdatabase_p.h"
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/QPlatformScreen>
@@ -132,7 +132,7 @@ static int requiredUnicodeBits[QFontDatabase::WritingSystemsCount][2] = {
{ 14, 127 },
};
-static QSupportedWritingSystems determineWritingSystemsFromTrueTypeBits(quint32 unicodeRange[4], quint32 codePageRange[2])
+QSupportedWritingSystems QBasicFontDatabase::determineWritingSystemsFromTrueTypeBits(quint32 unicodeRange[4], quint32 codePageRange[2])
{
QSupportedWritingSystems writingSystems;
bool hasScript = false;
@@ -186,7 +186,7 @@ static inline bool scriptRequiresOpenType(int script)
|| script == QUnicodeTables::Khmer || script == QUnicodeTables::Nko);
}
-void QBasicUnixFontDatabase::populateFontDatabase()
+void QBasicFontDatabase::populateFontDatabase()
{
QPlatformFontDatabase::populateFontDatabase();
QString fontpath = fontDir();
@@ -208,7 +208,7 @@ void QBasicUnixFontDatabase::populateFontDatabase()
}
}
-QFontEngine *QBasicUnixFontDatabase::fontEngine(const QFontDef &fontDef, QUnicodeTables::Script script, void *usrPtr)
+QFontEngine *QBasicFontDatabase::fontEngine(const QFontDef &fontDef, QUnicodeTables::Script script, void *usrPtr)
{
QFontEngineFT *engine;
FontFile *fontfile = static_cast<FontFile *> (usrPtr);
@@ -271,7 +271,7 @@ namespace {
}
-QFontEngine *QBasicUnixFontDatabase::fontEngine(const QByteArray &fontData, qreal pixelSize,
+QFontEngine *QBasicFontDatabase::fontEngine(const QByteArray &fontData, qreal pixelSize,
QFont::HintingPreference hintingPreference)
{
QFontDef fontDef;
@@ -303,7 +303,7 @@ QFontEngine *QBasicUnixFontDatabase::fontEngine(const QByteArray &fontData, qrea
return fe;
}
-QStringList QBasicUnixFontDatabase::fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const
+QStringList QBasicFontDatabase::fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const
{
Q_UNUSED(family);
Q_UNUSED(style);
@@ -312,18 +312,18 @@ QStringList QBasicUnixFontDatabase::fallbacksForFamily(const QString family, con
return QStringList();
}
-QStringList QBasicUnixFontDatabase::addApplicationFont(const QByteArray &fontData, const QString &fileName)
+QStringList QBasicFontDatabase::addApplicationFont(const QByteArray &fontData, const QString &fileName)
{
return addTTFile(fontData,fileName.toLocal8Bit());
}
-void QBasicUnixFontDatabase::releaseHandle(void *handle)
+void QBasicFontDatabase::releaseHandle(void *handle)
{
FontFile *file = static_cast<FontFile *>(handle);
delete file;
}
-QStringList QBasicUnixFontDatabase::addTTFile(const QByteArray &fontData, const QByteArray &file)
+QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByteArray &file)
{
extern FT_Library qt_getFreetype();
FT_Library library = qt_getFreetype();
diff --git a/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h
index ee1cda3abd..2a529be2d5 100644
--- a/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h
+++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#ifndef QBASICUNIXFONTDATABASE_H
-#define QBASICUNIXFONTDATABASE_H
+#ifndef QBASICFONTDATABASE_H
+#define QBASICFONTDATABASE_H
#include <QPlatformFontDatabase>
#include <QtCore/QByteArray>
@@ -53,7 +53,7 @@ struct FontFile
int hintStyle;
};
-class QBasicUnixFontDatabase : public QPlatformFontDatabase
+class QBasicFontDatabase : public QPlatformFontDatabase
{
public:
void populateFontDatabase();
@@ -64,6 +64,7 @@ public:
void releaseHandle(void *handle);
static QStringList addTTFile(const QByteArray &fontData, const QByteArray &file);
+ static QSupportedWritingSystems determineWritingSystemsFromTrueTypeBits(quint32 unicodeRange[4], quint32 codePageRange[2]);
};
-#endif // QBASICUNIXFONTDATABASE_H
+#endif // QBASICFONTDATABASE_H
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
index c6983e1a8b..2b1e512298 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
@@ -43,9 +43,9 @@
#define QFONTCONFIGDATABASE_H
#include <QPlatformFontDatabase>
-#include <QtPlatformSupport/private/qbasicunixfontdatabase_p.h>
+#include <QtPlatformSupport/private/qbasicfontdatabase_p.h>
-class QFontconfigDatabase : public QBasicUnixFontDatabase
+class QFontconfigDatabase : public QBasicFontDatabase
{
public:
void populateFontDatabase();
diff --git a/src/platformsupport/fontdatabases/fontdatabases.pri b/src/platformsupport/fontdatabases/fontdatabases.pri
index a31f050158..3e4b0e9970 100644
--- a/src/platformsupport/fontdatabases/fontdatabases.pri
+++ b/src/platformsupport/fontdatabases/fontdatabases.pri
@@ -2,10 +2,14 @@ DEFINES += QT_COMPILES_IN_HARFBUZZ
INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
CONFIG += qpa/genericunixfontdatabase
+!win32|contains(QT_CONFIG, freetype) {
+ include($$PWD/basic/basic.pri)
+}
+
unix {
- include($$PWD/basicunix/basicunix.pri)
include($$PWD/genericunix/genericunix.pri)
contains(QT_CONFIG,fontconfig) {
include($$PWD/fontconfig/fontconfig.pri)
}
}
+
diff --git a/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h
index 63f214df54..ef2414a2d5 100644
--- a/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h
+++ b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h
@@ -46,8 +46,8 @@
#include <QtPlatformSupport/private/qfontconfigdatabase_p.h>
typedef QFontconfigDatabase QGenericUnixFontDatabase;
#else
-#include <QtPlatformSupport/private/qbasicunixfontdatabase_p.h>
-typedef QBasicUnixFontDatabase QGenericUnixFontDatabase;
+#include <QtPlatformSupport/private/qbasicfontdatabase_p.h>
+typedef QBasicFontDatabase QGenericUnixFontDatabase;
#endif //Q_FONTCONFIGDATABASE
#endif // QGENERICUNIXFONTDATABASE_H