author | sandman <sandman> | 2002-10-22 18:58:52 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-22 18:58:52 (UTC) |
commit | 3f8157f49267d07a8e3263fedeb4da32ddbc951e (patch) (unidiff) | |
tree | ab9e8bac8f0484339f48294709d3eb9288d5783e /freetype | |
parent | d7cca919f20d602bd755b7690c25e31f6e9520b1 (diff) | |
download | opie-3f8157f49267d07a8e3263fedeb4da32ddbc951e.zip opie-3f8157f49267d07a8e3263fedeb4da32ddbc951e.tar.gz opie-3f8157f49267d07a8e3263fedeb4da32ddbc951e.tar.bz2 |
*** empty log message ***
-rw-r--r-- | freetype/fontfactoryttf_qws.cpp | 19 | ||||
-rw-r--r-- | freetype/fontfactoryttf_qws.h | 3 | ||||
-rw-r--r-- | freetype/freetype.pro | 2 | ||||
-rw-r--r-- | freetype/freetypefactoryimpl.cpp | 2 | ||||
-rw-r--r-- | freetype/opie-freetype.control | 2 |
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 | |||
@@ -30,17 +30,16 @@ | |||
30 | #define FLOOR(x) ((x) & -64) | 30 | #define FLOOR(x) ((x) & -64) |
31 | #define CEIL(x) (((x)+63) & -64) | 31 | #define CEIL(x) (((x)+63) & -64) |
32 | #define TRUNC(x) ((x) >> 6) | 32 | #define TRUNC(x) ((x) >> 6) |
33 | 33 | ||
34 | 34 | ||
35 | extern "C" { | 35 | extern "C" { |
36 | #include <ft2build.h> | 36 | #include <freetype/freetype.h> |
37 | #include FT_FREETYPE_H | 37 | #include <freetype/ftglyph.h> |
38 | #include FT_GLYPH_H | 38 | #include <freetype/ftoutln.h> |
39 | #include FT_OUTLINE_H | 39 | #include <freetype/ftbbox.h> |
40 | #include FT_BBOX_H | ||
41 | } | 40 | } |
42 | 41 | ||
43 | class QDiskFontFT : public QDiskFontPrivate { | 42 | class QDiskFontFT : public QDiskFontPrivate { |
44 | public: | 43 | public: |
45 | FT_Face face; | 44 | FT_Face face; |
46 | }; | 45 | }; |
@@ -66,12 +65,14 @@ public: | |||
66 | funderlinepos = ptsize/200+1; | 65 | funderlinepos = ptsize/200+1; |
67 | funderlinewidth = ptsize/200+1; | 66 | funderlinewidth = ptsize/200+1; |
68 | } | 67 | } |
69 | 68 | ||
70 | ~QRenderedFontFT() | 69 | ~QRenderedFontFT() |
71 | { | 70 | { |
71 | // When inter-process glyph sharing is implemented, the glyph data | ||
72 | // for this font can be dereferenced here. | ||
72 | } | 73 | } |
73 | 74 | ||
74 | bool unicode(int & i) const | 75 | bool unicode(int & i) const |
75 | { | 76 | { |
76 | int ret; | 77 | int ret; |
77 | 78 | ||
@@ -105,13 +106,13 @@ public: | |||
105 | FT_Error err; | 106 | FT_Error err; |
106 | 107 | ||
107 | err=FT_Load_Glyph(myface,index,FT_LOAD_DEFAULT); | 108 | err=FT_Load_Glyph(myface,index,FT_LOAD_DEFAULT); |
108 | if(err) | 109 | if(err) |
109 | qFatal("Load glyph error %x",err); | 110 | qFatal("Load glyph error %x",err); |
110 | 111 | ||
111 | int width,height,pitch,size = 0; | 112 | int width=0,height=0,pitch=0,size=0; |
112 | FT_Glyph glyph; | 113 | FT_Glyph glyph; |
113 | err=FT_Get_Glyph( myface->glyph, &glyph ); | 114 | err=FT_Get_Glyph( myface->glyph, &glyph ); |
114 | if(err) | 115 | if(err) |
115 | qFatal("Get glyph error %x",err); | 116 | qFatal("Get glyph error %x",err); |
116 | 117 | ||
117 | FT_BBox bbox; | 118 | FT_BBox bbox; |
@@ -152,12 +153,18 @@ public: | |||
152 | result.metrics->bearingy=myface->glyph->metrics.horiBearingY/64; | 153 | result.metrics->bearingy=myface->glyph->metrics.horiBearingY/64; |
153 | 154 | ||
154 | result.metrics->linestep=pitch; | 155 | result.metrics->linestep=pitch; |
155 | result.metrics->width=width; | 156 | result.metrics->width=width; |
156 | result.metrics->height=height; | 157 | result.metrics->height=height; |
157 | 158 | ||
159 | // XXX memory manage me | ||
160 | // At some point inter-process glyph data sharing must be implemented | ||
161 | // and the flag below can be set to prevent Qt from deleting the glyph | ||
162 | // data. | ||
163 | // result.metrics->flags = QGlyphMetrics::RendererOwnsData; | ||
164 | |||
158 | FT_Done_Glyph( glyph ); | 165 | FT_Done_Glyph( glyph ); |
159 | 166 | ||
160 | return result; | 167 | return result; |
161 | } | 168 | } |
162 | 169 | ||
163 | FT_Face myface; | 170 | FT_Face myface; |
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 | |||
@@ -30,14 +30,13 @@ | |||
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | 32 | ||
33 | #ifdef QT_NO_FREETYPE | 33 | #ifdef QT_NO_FREETYPE |
34 | 34 | ||
35 | extern "C" { | 35 | extern "C" { |
36 | #include <ft2build.h> | 36 | #include <freetype/freetype.h> |
37 | #include FT_FREETYPE_H | ||
38 | } | 37 | } |
39 | 38 | ||
40 | // ascent, descent, width(ch), width(string), maxwidth? | 39 | // ascent, descent, width(ch), width(string), maxwidth? |
41 | // leftbearing, rightbearing, minleftbearing,minrightbearing | 40 | // leftbearing, rightbearing, minleftbearing,minrightbearing |
42 | // leading | 41 | // leading |
43 | 42 | ||
diff --git a/freetype/freetype.pro b/freetype/freetype.pro index 5800b48..ca7edd3 100644 --- a/freetype/freetype.pro +++ b/freetype/freetype.pro | |||
@@ -2,10 +2,10 @@ TEMPLATE = lib | |||
2 | CONFIG += qt warn_on release | 2 | CONFIG += qt warn_on release |
3 | HEADERS = fontfactoryttf_qws.h freetypefactoryimpl.h | 3 | HEADERS = fontfactoryttf_qws.h freetypefactoryimpl.h |
4 | SOURCES = fontfactoryttf_qws.cpp freetypefactoryimpl.cpp | 4 | SOURCES = fontfactoryttf_qws.cpp freetypefactoryimpl.cpp |
5 | qt2:HEADERS+= qfontdata_p.h | 5 | qt2:HEADERS+= qfontdata_p.h |
6 | TARGET = freetypefactory | 6 | TARGET = freetypefactory |
7 | DESTDIR = $(OPIEDIR)/plugins/fontfactories | 7 | DESTDIR = $(OPIEDIR)/plugins/fontfactories |
8 | INCLUDEPATH+= $(OPIEDIR)/include | 8 | INCLUDEPATH+= $(QTDIR)/src/3rdparty/freetype/include $(QTDIR)/src/3rdparty/freetype/include/freetype/config $(OPIEDIR)/include |
9 | DEPENDPATH += $(OPIEDIR)/include | 9 | DEPENDPATH += $(OPIEDIR)/include |
10 | LIBS += -lqpe -lfreetype | 10 | LIBS += -lqpe -lfreetype |
11 | VERSION = 1.0.0 | 11 | 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 | |||
@@ -45,13 +45,13 @@ QRESULT FreeTypeFactoryImpl::queryInterface( const QUuid &uuid, QUnknownInterfac | |||
45 | *iface = this; | 45 | *iface = this; |
46 | else if ( uuid == IID_FontFactory ) | 46 | else if ( uuid == IID_FontFactory ) |
47 | *iface = this; | 47 | *iface = this; |
48 | 48 | ||
49 | if ( *iface ) | 49 | if ( *iface ) |
50 | (*iface)->addRef(); | 50 | (*iface)->addRef(); |
51 | return QS_OK; | 51 | return (*iface) ? QS_OK : QS_FALSE; |
52 | } | 52 | } |
53 | 53 | ||
54 | Q_EXPORT_INTERFACE() | 54 | Q_EXPORT_INTERFACE() |
55 | { | 55 | { |
56 | Q_CREATE_INSTANCE( FreeTypeFactoryImpl ) | 56 | Q_CREATE_INSTANCE( FreeTypeFactoryImpl ) |
57 | } | 57 | } |
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 | |||
@@ -1,8 +1,8 @@ | |||
1 | Files: plugins/fontfactories/libfreetypefactory* | 1 | Files: plugins/fontfactories/libfreetypefactory* |
2 | Priority: optional | 2 | Priority: optional |
3 | Section: opie/plugins | 3 | Section: opie/plugins |
4 | Maintainer: Opie <opie@llornkcor.com> | 4 | Maintainer: Opie <opie@llornkcor.com> |
5 | Architecture: arm | 5 | Architecture: arm |
6 | Version: $QPE_VERSION-$SUB_VERSION | 6 | Version: $QPE_VERSION-$SUB_VERSION |
7 | Depends: opie-base ($QPE_VERSION) | 7 | Depends: opie-base ($QPE_VERSION), libfreetype6 |
8 | Description: Freetype fontfactory plugin | 8 | Description: Freetype fontfactory plugin |