summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-07-22 17:56:56 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-07-22 17:56:56 +0000
commit32b8a5910edfeb9053e6698eee4bbe5f539837aa (patch)
tree1c3c6609c5b0051ed96d37c35fa67b6e37170c5c
parentfd847a61ca5e079d0d3456a685d65bf59a0b5c76 (diff)
downloadpango-32b8a5910edfeb9053e6698eee4bbe5f539837aa.tar.gz
Patch from David Turner. Review and testing by Behdad Esfahbod
2005-07-22 Owen Taylor <otaylor@redhat.com> Patch from David Turner. Review and testing by Behdad Esfahbod * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides implementation of the internal functions that the opentype code expects in terms of publically exported FreeType API. * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c pango/opentype/ftxopen.c pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c pango/opentype/pango-ot-ruleset.c: Remove includes of internal headers. Small changes to work with ftglue.[ch] * pango/opentype/fterrcompat.h: Remove: no longer needed. * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather than poking at FT_MODULE_CLASS (face->driver)->module_name. * pango/opentype/ftxopen.c (Free_FeatureList): Free fl->ApplyOrder. (Found by Behdad)
-rw-r--r--ChangeLog22
-rw-r--r--ChangeLog.pre-1-1022
-rw-r--r--pango/opentype/Makefile.am3
-rw-r--r--pango/opentype/ftxgdef.c9
-rw-r--r--pango/opentype/ftxgpos.c9
-rw-r--r--pango/opentype/ftxgsub.c10
-rw-r--r--pango/opentype/ftxopen.c8
-rw-r--r--pango/opentype/otlbuffer.c4
-rw-r--r--pango/opentype/pango-ot-info.c6
-rw-r--r--pango/opentype/pango-ot-ruleset.c2
10 files changed, 58 insertions, 37 deletions
diff --git a/ChangeLog b/ChangeLog
index ce66fbbe..bae68a8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2005-07-22 Owen Taylor <otaylor@redhat.com>
+
+ Patch from David Turner. Review and testing by Behdad Esfahbod
+
+ * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
+ implementation of the internal functions that the opentype code
+ expects in terms of publically exported FreeType API.
+
+ * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
+ pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
+ pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
+ pango/opentype/pango-ot-ruleset.c: Remove includes of
+ internal headers. Small changes to work with ftglue.[ch]
+
+ * pango/opentype/fterrcompat.h: Remove: no longer needed.
+
+ * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
+ than poking at FT_MODULE_CLASS (face->driver)->module_name.
+
+ * pango/opentype/ftxopen.c (Free_FeatureList): Free
+ fl->ApplyOrder. (Found by Behdad)
+
2005-07-22 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c (pango_win32_render_layout_line): Fix
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index ce66fbbe..bae68a8c 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,25 @@
+2005-07-22 Owen Taylor <otaylor@redhat.com>
+
+ Patch from David Turner. Review and testing by Behdad Esfahbod
+
+ * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
+ implementation of the internal functions that the opentype code
+ expects in terms of publically exported FreeType API.
+
+ * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
+ pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
+ pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
+ pango/opentype/pango-ot-ruleset.c: Remove includes of
+ internal headers. Small changes to work with ftglue.[ch]
+
+ * pango/opentype/fterrcompat.h: Remove: no longer needed.
+
+ * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
+ than poking at FT_MODULE_CLASS (face->driver)->module_name.
+
+ * pango/opentype/ftxopen.c (Free_FeatureList): Free
+ fl->ApplyOrder. (Found by Behdad)
+
2005-07-22 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c (pango_win32_render_layout_line): Fix
diff --git a/pango/opentype/Makefile.am b/pango/opentype/Makefile.am
index c8767517..41dd0bf4 100644
--- a/pango/opentype/Makefile.am
+++ b/pango/opentype/Makefile.am
@@ -21,7 +21,8 @@ LDADDS = \
noinst_LTLIBRARIES = libpango-ot.la
libpango_ot_la_SOURCES = \
- fterrcompat.h \
+ ftglue.h \
+ ftglue.c \
ftxopen.c \
ftxopen.h \
ftxopenf.h \
diff --git a/pango/opentype/ftxgdef.c b/pango/opentype/ftxgdef.c
index 7367be72..702e29b9 100644
--- a/pango/opentype/ftxgdef.c
+++ b/pango/opentype/ftxgdef.c
@@ -18,14 +18,10 @@
#include "ftxopen.h"
#include "ftxopenf.h"
-#include "fterrcompat.h"
+#include "ftglue.h"
#include FT_TRUETYPE_TAGS_H
-#include FT_INTERNAL_STREAM_H
-#include FT_INTERNAL_MEMORY_H
-#include FT_INTERNAL_TRUETYPE_TYPES_H
-
#define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' )
static FT_Error Load_AttachList( TTO_AttachList* al,
@@ -170,7 +166,6 @@
FT_Error error;
FT_Memory memory = face->memory;
FT_Stream stream = face->stream;
- TT_Face tt_face = (TT_Face)face;
FT_ULong cur_offset, new_offset, base_offset;
TTO_GDEFHeader* gdef;
@@ -179,7 +174,7 @@
if ( !retptr )
return TT_Err_Invalid_Argument;
- if (( error = tt_face->goto_table( tt_face, TTAG_GDEF, stream, NULL ) ))
+ if (( error = ftglue_face_goto_table( face, TTAG_GDEF, stream ) ))
return error;
if (( error = TT_New_GDEF_Table ( face, &gdef ) ))
diff --git a/pango/opentype/ftxgpos.c b/pango/opentype/ftxgpos.c
index 3ac13482..e2a71ed4 100644
--- a/pango/opentype/ftxgpos.c
+++ b/pango/opentype/ftxgpos.c
@@ -24,14 +24,10 @@
#include "ftxopen.h"
#include "ftxopenf.h"
-#include "fterrcompat.h"
+#include "ftglue.h"
#include FT_TRUETYPE_TAGS_H
-#include FT_INTERNAL_STREAM_H
-#include FT_INTERNAL_MEMORY_H
-#include FT_INTERNAL_TRUETYPE_TYPES_H
-
#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
struct GPOS_Instance_
@@ -89,7 +85,6 @@
FT_UShort i, num_lookups;
TTO_GPOSHeader* gpos;
TTO_Lookup* lo;
- TT_Face tt_face = (TT_Face)face;
FT_Stream stream = face->stream;
FT_Error error;
@@ -102,7 +97,7 @@
if ( !stream )
return TT_Err_Invalid_Face_Handle;
- if (( error = tt_face->goto_table( tt_face, TTAG_GPOS, stream, NULL ) ))
+ if (( error = ftglue_face_goto_table( face, TTAG_GPOS, stream ) ))
return error;
base_offset = FILE_Pos();
diff --git a/pango/opentype/ftxgsub.c b/pango/opentype/ftxgsub.c
index b7e4c135..50101c58 100644
--- a/pango/opentype/ftxgsub.c
+++ b/pango/opentype/ftxgsub.c
@@ -26,15 +26,10 @@
#include "ftxopen.h"
#include "ftxopenf.h"
-#include "fterrcompat.h"
+#include "ftglue.h"
#include FT_TRUETYPE_TAGS_H
-#include FT_INTERNAL_STREAM_H
-#include FT_INTERNAL_MEMORY_H
-#include FT_INTERNAL_TRUETYPE_TYPES_H
-
-
#define GSUB_ID Build_Extension_ID( 'G', 'S', 'U', 'B' )
@@ -81,7 +76,6 @@
FT_Memory memory = face->memory;
FT_Error error;
FT_ULong cur_offset, new_offset, base_offset;
- TT_Face tt_face = (TT_Face)face;
FT_UShort i, num_lookups;
TTO_GSUBHeader* gsub;
@@ -90,7 +84,7 @@
if ( !retptr )
return TT_Err_Invalid_Argument;
- if (( error = tt_face->goto_table( tt_face, TTAG_GSUB, stream, NULL ) ))
+ if (( error = ftglue_face_goto_table( face, TTAG_GSUB, stream ) ))
return error;
base_offset = FILE_Pos();
diff --git a/pango/opentype/ftxopen.c b/pango/opentype/ftxopen.c
index ea38216d..75f66be5 100644
--- a/pango/opentype/ftxopen.c
+++ b/pango/opentype/ftxopen.c
@@ -18,11 +18,7 @@
#include "ftxopen.h"
#include "ftxopenf.h"
-#include "fterrcompat.h"
-
-#include FT_INTERNAL_STREAM_H
-#include FT_INTERNAL_MEMORY_H
-#include FT_INTERNAL_TRUETYPE_TYPES_H
+#include "ftglue.h"
/***************************
@@ -430,6 +426,8 @@
FREE( fr );
}
+
+ FREE( fl->ApplyOrder );
}
diff --git a/pango/opentype/otlbuffer.c b/pango/opentype/otlbuffer.c
index b8595b20..a53fc4b7 100644
--- a/pango/opentype/otlbuffer.c
+++ b/pango/opentype/otlbuffer.c
@@ -13,13 +13,11 @@
*/
#include <otlbuffer.h>
-#include FT_INTERNAL_MEMORY_H
-
/* To get the gcc-3.3 strict-aliasing compatible versions
* FREE/REALLOC_ARRAY/etc. rather than the FT_* versions
* that
*/
-#include "fterrcompat.h"
+#include "ftglue.h"
static FT_Error
otl_buffer_ensure( OTL_Buffer buffer,
diff --git a/pango/opentype/pango-ot-info.c b/pango/opentype/pango-ot-info.c
index 9a0f3f09..1b6a1807 100644
--- a/pango/opentype/pango-ot-info.c
+++ b/pango/opentype/pango-ot-info.c
@@ -20,8 +20,7 @@
*/
#include "pango-ot-private.h"
-#include "fterrcompat.h"
-#include FT_INTERNAL_OBJECTS_H
+#include "ftglue.h"
#include FT_MODULE_H
static void pango_ot_info_class_init (GObjectClass *object_class);
@@ -139,8 +138,7 @@ pango_ot_info_get (FT_Face face)
static gboolean
is_truetype (FT_Face face)
{
- return strcmp (FT_MODULE_CLASS (face->driver)->module_name, "truetype") == 0 ||
- strcmp (FT_MODULE_CLASS (face->driver)->module_name, "cff") == 0;
+ return FT_IS_SFNT(face);
}
typedef struct _GlyphInfo GlyphInfo;
diff --git a/pango/opentype/pango-ot-ruleset.c b/pango/opentype/pango-ot-ruleset.c
index 4c219301..5981ae8a 100644
--- a/pango/opentype/pango-ot-ruleset.c
+++ b/pango/opentype/pango-ot-ruleset.c
@@ -22,8 +22,6 @@
#include <pango/pango-ot.h>
#include "pango-ot-private.h"
-#include FT_INTERNAL_MEMORY_H /* For FT_Free() */
-
typedef struct _PangoOTRule PangoOTRule;
struct _PangoOTRule