summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--freetype/fontfactoryttf_qws.cpp19
-rw-r--r--freetype/fontfactoryttf_qws.h3
-rw-r--r--freetype/freetype.pro2
-rw-r--r--freetype/freetypefactoryimpl.cpp2
-rw-r--r--freetype/opie-freetype.control2
5 files changed, 17 insertions, 11 deletions
diff --git a/freetype/fontfactoryttf_qws.cpp b/freetype/fontfactoryttf_qws.cpp
index 5aa53fb..1f082a9 100644
--- a/freetype/fontfactoryttf_qws.cpp
+++ b/freetype/fontfactoryttf_qws.cpp
@@ -33,11 +33,10 @@
extern "C" {
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_GLYPH_H
-#include FT_OUTLINE_H
-#include FT_BBOX_H
+#include <freetype/freetype.h>
+#include <freetype/ftglyph.h>
+#include <freetype/ftoutln.h>
+#include <freetype/ftbbox.h>
}
class QDiskFontFT : public QDiskFontPrivate {
@@ -69,6 +68,8 @@ public:
~QRenderedFontFT()
{
+ // When inter-process glyph sharing is implemented, the glyph data
+ // for this font can be dereferenced here.
}
bool unicode(int & i) const
@@ -108,7 +109,7 @@ public:
if(err)
qFatal("Load glyph error %x",err);
- int width,height,pitch,size = 0;
+ int width=0,height=0,pitch=0,size=0;
FT_Glyph glyph;
err=FT_Get_Glyph( myface->glyph, &glyph );
if(err)
@@ -155,6 +156,12 @@ public:
result.metrics->width=width;
result.metrics->height=height;
+ // XXX memory manage me
+ // At some point inter-process glyph data sharing must be implemented
+ // and the flag below can be set to prevent Qt from deleting the glyph
+ // data.
+ // result.metrics->flags = QGlyphMetrics::RendererOwnsData;
+
FT_Done_Glyph( glyph );
return result;
diff --git a/freetype/fontfactoryttf_qws.h b/freetype/fontfactoryttf_qws.h
index 4ba8ce5..208ab61 100644
--- a/freetype/fontfactoryttf_qws.h
+++ b/freetype/fontfactoryttf_qws.h
@@ -33,8 +33,7 @@
#ifdef QT_NO_FREETYPE
extern "C" {
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
}
// ascent, descent, width(ch), width(string), maxwidth?
diff --git a/freetype/freetype.pro b/freetype/freetype.pro
index 5800b48..ca7edd3 100644
--- a/freetype/freetype.pro
+++ b/freetype/freetype.pro
@@ -5,7 +5,7 @@ SOURCES = fontfactoryttf_qws.cpp freetypefactoryimpl.cpp
qt2:HEADERS += qfontdata_p.h
TARGET = freetypefactory
DESTDIR = $(OPIEDIR)/plugins/fontfactories
-INCLUDEPATH += $(OPIEDIR)/include
+INCLUDEPATH += $(QTDIR)/src/3rdparty/freetype/include $(QTDIR)/src/3rdparty/freetype/include/freetype/config $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lfreetype
VERSION = 1.0.0
diff --git a/freetype/freetypefactoryimpl.cpp b/freetype/freetypefactoryimpl.cpp
index 71460b2..24fb13a 100644
--- a/freetype/freetypefactoryimpl.cpp
+++ b/freetype/freetypefactoryimpl.cpp
@@ -48,7 +48,7 @@ QRESULT FreeTypeFactoryImpl::queryInterface( const QUuid &uuid, QUnknownInterfac
if ( *iface )
(*iface)->addRef();
- return QS_OK;
+ return (*iface) ? QS_OK : QS_FALSE;
}
Q_EXPORT_INTERFACE()
diff --git a/freetype/opie-freetype.control b/freetype/opie-freetype.control
index f1ce408..2863adb 100644
--- a/freetype/opie-freetype.control
+++ b/freetype/opie-freetype.control
@@ -4,5 +4,5 @@ Section: opie/plugins
Maintainer: Opie <opie@llornkcor.com>
Architecture: arm
Version: $QPE_VERSION-$SUB_VERSION
-Depends: opie-base ($QPE_VERSION)
+Depends: opie-base ($QPE_VERSION), libfreetype6
Description: Freetype fontfactory plugin