]> git.wh0rd.org - fontconfig.git/blobdiff - src/ftglue.h
Bug 44826 - <alias> must contain only a single <family>
[fontconfig.git] / src / ftglue.h
index f526bf0a175934b58594a1216bfae500f6da7aab..e0fd1714e381b075e4553dc7e8f113e945c1525c 100644 (file)
 #ifndef __OPENTYPE_FTGLUE_H__
 #define __OPENTYPE_FTGLUE_H__
 
+#include "fcint.h"
+
 #include <ft2build.h>
 #include FT_FREETYPE_H
 
 FT_BEGIN_HEADER
 
 
-/* utility macros */
-#define  TT_Err_Ok                   FT_Err_Ok
-#define  TT_Err_Invalid_Argument     FT_Err_Invalid_Argument
-#define  TT_Err_Invalid_Face_Handle  FT_Err_Invalid_Face_Handle
-#define  TT_Err_Table_Missing        FT_Err_Table_Missing
-
 #define  SET_ERR(c)   ( (error = (c)) != 0 )
 
 #ifndef FTGLUE_API
-#define FTGLUE_API(x)  extern x
+#define FTGLUE_API(x)  extern FcPrivate x
 #endif
 
 #ifndef FTGLUE_APIDEF
@@ -71,9 +67,17 @@ FT_BEGIN_HEADER
 #define  ACCESS_Frame(size)  SET_ERR( ftglue_stream_frame_enter( stream, size ) )
 #define  FORGET_Frame()      ftglue_stream_frame_exit( stream )
 
-#define  GET_Byte()      ftglue_stream_get_byte( stream )
-#define  GET_Short()     ftglue_stream_get_short( stream )
-#define  GET_Long()      ftglue_stream_get_long( stream )
+#define  GET_Byte()      (*stream->cursor++)
+#define  GET_Short()     (stream->cursor += 2, (FT_Short)( \
+                               (*(((FT_Byte*)stream->cursor)-2) << 8) | \
+                                *(((FT_Byte*)stream->cursor)-1) \
+                        ))
+#define  GET_Long()      (stream->cursor += 4, (FT_Long)( \
+                               (*(((FT_Byte*)stream->cursor)-4) << 24) | \
+                               (*(((FT_Byte*)stream->cursor)-3) << 16) | \
+                               (*(((FT_Byte*)stream->cursor)-2) << 8) | \
+                                *(((FT_Byte*)stream->cursor)-1) \
+                        ))
 
 #define  GET_Char()      ((FT_Char)GET_Byte())
 #define  GET_UShort()    ((FT_UShort)GET_Short())
@@ -97,63 +101,11 @@ ftglue_stream_frame_enter( FT_Stream   stream,
 FTGLUE_API( void )
 ftglue_stream_frame_exit( FT_Stream  stream );
 
-FTGLUE_API( FT_Byte )
-ftglue_stream_get_byte( FT_Stream  stream );
-
-FTGLUE_API( FT_Short )
-ftglue_stream_get_short( FT_Stream  stream );
-
-FTGLUE_API( FT_Long )
-ftglue_stream_get_long( FT_Stream   stream );
-
 FTGLUE_API( FT_Error )
 ftglue_face_goto_table( FT_Face    face,
                         FT_ULong   tag,
                         FT_Stream  stream );
 
-/* memory macros used by the OpenType parser */
-#define  ALLOC(_ptr,_size)   \
-           ( (_ptr) = ftglue_alloc( memory, _size, &error ), error != 0 )
-
-#define  REALLOC(_ptr,_oldsz,_newsz)  \
-           ( (_ptr) = ftglue_realloc( memory, (_ptr), (_oldsz), (_newsz), &error ), error != 0 )
-
-#define  FREE(_ptr)                    \
-  do {                                 \
-    if ( (_ptr) )                      \
-    {                                  \
-      ftglue_free( memory, _ptr );     \
-      _ptr = NULL;                     \
-    }                                  \
-  } while (0)
-
-#define  ALLOC_ARRAY(_ptr,_count,_type)   \
-           ALLOC(_ptr,(_count)*sizeof(_type))
-
-#define  REALLOC_ARRAY(_ptr,_oldcnt,_newcnt,_type) \
-           REALLOC(_ptr,(_oldcnt)*sizeof(_type),(_newcnt)*sizeof(_type))
-
-#define  MEM_Copy(dest,source,count)   memcpy( (char*)(dest), (const char*)(source), (size_t)(count) )
-
-
-FTGLUE_API( FT_Pointer )
-ftglue_alloc( FT_Memory  memory,
-              FT_ULong   size,
-              FT_Error  *perror_ );
-
-FTGLUE_API( FT_Pointer )
-ftglue_realloc( FT_Memory   memory,
-                FT_Pointer  block,
-                FT_ULong    old_size,
-                FT_ULong    new_size,
-                FT_Error   *perror_ );
-
-FTGLUE_API( void )
-ftglue_free( FT_Memory   memory,
-             FT_Pointer  block );
-
-/* */
-
 FT_END_HEADER
 
 #endif /* __OPENTYPE_FTGLUE_H__ */