First round in converting

type foo ( ... )

to

  type
  foo ( ... )

Other minor formatting issues.
This commit is contained in:
Werner Lemberg 2001-06-27 16:18:10 +00:00
parent c40f386727
commit f814d0fafe
41 changed files with 1163 additions and 962 deletions

View File

@ -1,14 +1,22 @@
* Version 2.0.4 released.
=========================
2001-06-27 David Turner <david@freetype.org> 2001-06-27 David Turner <david@freetype.org>
* src/sfnt/ttload.c (TT_Load_Kern): the kern table loader now ensures * builds/unix/ftconfig.in: Changed the definition of the
FT_CALLBACK_DEF macro.
* include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
use of the FT_CALLBACK_DEF macro in order to support 16-bit
compilers.
* builds/unix/ftconfig.in: Changed the definition of the
FT_CALLBACK_DEF macro.
* src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
that the kerning table is correctly sorted (some problem fonts don't that the kerning table is correctly sorted (some problem fonts don't
have a correct kern table !!) have a correct kern table).
* builds/unix/ftconfig.in: changed the definition of the
FT_CALLBACK_DEF macro
* include/freetype/ftconfig.h, src/*/*.c: changed the definition and
uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de> 2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de>

View File

@ -212,8 +212,7 @@ FT_BEGIN_HEADER
#endif /* !FT_EXPORT_VAR */ #endif /* !FT_EXPORT_VAR */
/* The following macros are needed to compile the library with a */ /* The following macros are needed to compile the library with a */
/* C++ compiler. Note that we do this for convenience -- please */ /* C++ compiler and with 16bit compilers. */
/* don't ask for more C++ features. */
/* */ /* */
/* This is special. Within C++, you must specify `extern "C"' for */ /* This is special. Within C++, you must specify `extern "C"' for */
@ -231,23 +230,27 @@ FT_BEGIN_HEADER
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions. */ /* that contains pointers to callback functions. */
/* */ /* */
/* */
/* Some 16bit compilers have to redefine these macros to insert */
/* the infamous `_cdecl' or `__fastcall' declarations. */
/* */
#ifndef FT_CALLBACK_DEF #ifndef FT_CALLBACK_DEF
# ifdef __cplusplus #ifdef __cplusplus
# define FT_CALLBACK_DEF(x) extern "C" x #define FT_CALLBACK_DEF( x ) extern "C" x
# else #else
# define FT_CALLBACK_DEF(x) static x #define FT_CALLBACK_DEF( x ) static x
# endif
#endif #endif
#endif /* FT_CALLBACK_DEF */
#ifndef FT_CALLBACK_TABLE #ifndef FT_CALLBACK_TABLE
# ifdef __cplusplus #ifdef __cplusplus
# define FT_CALLBACK_TABLE extern "C" #define FT_CALLBACK_TABLE extern "C"
# define FT_CALLBACK_TABLE_DEF extern "C" #define FT_CALLBACK_TABLE_DEF extern "C"
# else #else
# define FT_CALLBACK_TABLE extern #define FT_CALLBACK_TABLE extern
# define FT_CALLBACK_TABLE_DEF /* nothing */ #define FT_CALLBACK_TABLE_DEF /* nothing */
# endif
#endif #endif
#endif /* FT_CALLBACK_TABLE */
FT_END_HEADER FT_END_HEADER

View File

@ -91,7 +91,7 @@
/* <Return> */ /* <Return> */
/* The address of newly allocated block. */ /* The address of newly allocated block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_alloc( FT_Memory memory, ft_alloc( FT_Memory memory,
long size ) long size )
{ {
@ -121,7 +121,7 @@
/* <Return> */ /* <Return> */
/* The address of the reallocated memory block. */ /* The address of the reallocated memory block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_realloc( FT_Memory memory, ft_realloc( FT_Memory memory,
long cur_size, long cur_size,
long new_size, long new_size,
@ -147,7 +147,7 @@
/* */ /* */
/* block :: The address of block in memory to be freed. */ /* block :: The address of block in memory to be freed. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory, ft_free( FT_Memory memory,
void* block ) void* block )
{ {
@ -189,7 +189,7 @@
/* <Input> */ /* <Input> */
/* stream :: A pointer to the stream object. */ /* stream :: A pointer to the stream object. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_close_stream( FT_Stream stream ) ft_close_stream( FT_Stream stream )
{ {
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size ); munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
@ -202,8 +202,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname, FT_EXPORT_DEF( FT_Error )
FT_Stream stream ) FT_New_Stream( const char* filepathname,
FT_Stream stream )
{ {
int file; int file;
struct stat stat_buf; struct stat stat_buf;
@ -271,7 +272,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Memory ) FT_New_Memory( void ) FT_EXPORT_DEF( FT_Memory )
FT_New_Memory( void )
{ {
FT_Memory memory; FT_Memory memory;
@ -291,7 +293,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory ) FT_EXPORT_DEF( void )
FT_Done_Memory( FT_Memory memory )
{ {
memory->free( memory, memory ); memory->free( memory, memory );
} }

View File

@ -17,7 +17,7 @@
#include <ft2build.h> #include <ft2build.h>
/* we use our special ftconfig.h file, not the standard one */ /* we use our special ftconfig.h file, not the standard one */
#include <ftconfig.h> #include <ftconfig.h>
#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_DEBUG_H
#include FT_SYSTEM_H #include FT_SYSTEM_H
@ -91,7 +91,7 @@
/* <Return> */ /* <Return> */
/* The address of newly allocated block. */ /* The address of newly allocated block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_alloc( FT_Memory memory, ft_alloc( FT_Memory memory,
long size ) long size )
{ {
@ -121,7 +121,7 @@
/* <Return> */ /* <Return> */
/* The address of the reallocated memory block. */ /* The address of the reallocated memory block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_realloc( FT_Memory memory, ft_realloc( FT_Memory memory,
long cur_size, long cur_size,
long new_size, long new_size,
@ -147,7 +147,7 @@
/* */ /* */
/* block :: The address of block in memory to be freed. */ /* block :: The address of block in memory to be freed. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory, ft_free( FT_Memory memory,
void* block ) void* block )
{ {
@ -189,7 +189,7 @@
/* <Input> */ /* <Input> */
/* stream :: A pointer to the stream object. */ /* stream :: A pointer to the stream object. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_close_stream( FT_Stream stream ) ft_close_stream( FT_Stream stream )
{ {
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size ); munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
@ -202,8 +202,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname, FT_EXPORT_DEF( FT_Error )
FT_Stream stream ) FT_New_Stream( const char* filepathname,
FT_Stream stream )
{ {
int file; int file;
struct stat stat_buf; struct stat stat_buf;
@ -271,7 +272,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Memory ) FT_New_Memory( void ) FT_EXPORT_DEF( FT_Memory )
FT_New_Memory( void )
{ {
FT_Memory memory; FT_Memory memory;
@ -291,7 +293,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory ) FT_EXPORT_DEF( void )
FT_Done_Memory( FT_Memory memory )
{ {
memory->free( memory, memory ); memory->free( memory, memory );
} }

View File

@ -23,8 +23,8 @@ LATEST CHANGES BETWEEN 2.0.4 and 2.0.3
- Updated the Unix-specific portions of the build system (new libtool - Updated the Unix-specific portions of the build system (new libtool
version, etc.). version, etc.).
- the SFNT kerning lodaer now ensures that the table is sorted (since some - The SFNT kerning lodaer now ensures that the table is sorted (since some
problem fonts do not meet this requirement !!) problem fonts do not meet this requirement).
============================================================================ ============================================================================

View File

@ -276,8 +276,7 @@ FT_BEGIN_HEADER
#endif /* !FT_EXPORT_VAR */ #endif /* !FT_EXPORT_VAR */
/* The following macros are needed to compile the library with a */ /* The following macros are needed to compile the library with a */
/* C++ compiler. Note that we do this for convenience -- please */ /* C++ compiler and with 16bit compilers. */
/* don't ask for more C++ features. */
/* */ /* */
/* This is special. Within C++, you must specify `extern "C"' for */ /* This is special. Within C++, you must specify `extern "C"' for */
@ -295,24 +294,27 @@ FT_BEGIN_HEADER
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions. */ /* that contains pointers to callback functions. */
/* */ /* */
/* */
/* Some 16bit compilers have to redefine these macros to insert */
/* the infamous `_cdecl' or `__fastcall' declarations. */
/* */
#ifndef FT_CALLBACK_DEF #ifndef FT_CALLBACK_DEF
# ifdef __cplusplus #ifdef __cplusplus
# define FT_CALLBACK_DEF(x) extern "C" x #define FT_CALLBACK_DEF( x ) extern "C" x
# else #else
# define FT_CALLBACK_DEF(x) static x #define FT_CALLBACK_DEF( x ) static x
# endif
#endif #endif
#endif /* FT_CALLBACK_DEF */
#ifndef FT_CALLBACK_TABLE #ifndef FT_CALLBACK_TABLE
# ifdef __cplusplus #ifdef __cplusplus
# define FT_CALLBACK_TABLE extern "C" #define FT_CALLBACK_TABLE extern "C"
# define FT_CALLBACK_TABLE_DEF extern "C" #define FT_CALLBACK_TABLE_DEF extern "C"
# else #else
# define FT_CALLBACK_TABLE extern #define FT_CALLBACK_TABLE extern
# define FT_CALLBACK_TABLE_DEF #define FT_CALLBACK_TABLE_DEF /* nothing */
# endif
#endif #endif
#endif /* FT_CALLBACK_TABLE */
FT_END_HEADER FT_END_HEADER

View File

@ -64,8 +64,8 @@
}; };
FT_LOCAL_DEF FT_LOCAL_DEF AH_Angle
AH_Angle ah_angle( FT_Vector* v ) ah_angle( FT_Vector* v )
{ {
FT_Pos dx, dy; FT_Pos dx, dy;
AH_Angle angle; AH_Angle angle;

View File

@ -47,8 +47,8 @@ FT_BEGIN_HEADER
const AH_Angle ah_arctan[1L << AH_ATAN_BITS]; const AH_Angle ah_arctan[1L << AH_ATAN_BITS];
FT_LOCAL FT_LOCAL AH_Angle
AH_Angle ah_angle( FT_Vector* v ); ah_angle( FT_Vector* v );
FT_END_HEADER FT_END_HEADER

View File

@ -39,9 +39,9 @@
/* simple insertion sort */ /* simple insertion sort */
static static void
void sort_values( FT_Int count, sort_values( FT_Int count,
FT_Pos* table ) FT_Pos* table )
{ {
FT_Int i, j, swap; FT_Int i, j, swap;
@ -61,8 +61,8 @@
} }
static static FT_Error
FT_Error ah_hinter_compute_blues( AH_Hinter* hinter ) ah_hinter_compute_blues( AH_Hinter* hinter )
{ {
AH_Blue blue; AH_Blue blue;
AH_Globals* globals = &hinter->globals->design; AH_Globals* globals = &hinter->globals->design;
@ -285,8 +285,8 @@
} }
static static FT_Error
FT_Error ah_hinter_compute_widths( AH_Hinter* hinter ) ah_hinter_compute_widths( AH_Hinter* hinter )
{ {
/* scan the array of segments in each direction */ /* scan the array of segments in each direction */
AH_Outline* outline = hinter->glyph; AH_Outline* outline = hinter->glyph;
@ -384,8 +384,8 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_hinter_compute_globals( AH_Hinter* hinter ) ah_hinter_compute_globals( AH_Hinter* hinter )
{ {
return ah_hinter_compute_widths( hinter ) || return ah_hinter_compute_widths( hinter ) ||
ah_hinter_compute_blues ( hinter ); ah_hinter_compute_blues ( hinter );

View File

@ -32,7 +32,8 @@
#ifdef AH_DEBUG #ifdef AH_DEBUG
void ah_dump_edges( AH_Outline* outline ) void
ah_dump_edges( AH_Outline* outline )
{ {
AH_Edge* edges; AH_Edge* edges;
AH_Edge* edge_limit; AH_Edge* edge_limit;
@ -83,7 +84,8 @@
/* A function used to dump the array of linked segments */ /* A function used to dump the array of linked segments */
void ah_dump_segments( AH_Outline* outline ) void
ah_dump_segments( AH_Outline* outline )
{ {
AH_Segment* segments; AH_Segment* segments;
AH_Segment* segment_limit; AH_Segment* segment_limit;
@ -135,9 +137,9 @@
/* compute the direction value of a given vector.. */ /* compute the direction value of a given vector.. */
static static AH_Direction
AH_Direction ah_compute_direction( FT_Pos dx, ah_compute_direction( FT_Pos dx,
FT_Pos dy ) FT_Pos dy )
{ {
AH_Direction dir; AH_Direction dir;
FT_Pos ax = ABS( dx ); FT_Pos ax = ABS( dx );
@ -163,9 +165,9 @@
/* this function is used by ah_get_orientation (see below) to test */ /* this function is used by ah_get_orientation (see below) to test */
/* the fill direction of a given bbox extrema */ /* the fill direction of a given bbox extrema */
static static int
int ah_test_extrema( FT_Outline* outline, ah_test_extrema( FT_Outline* outline,
int n ) int n )
{ {
FT_Vector *prev, *cur, *next; FT_Vector *prev, *cur, *next;
FT_Pos product; FT_Pos product;
@ -217,8 +219,8 @@
/* */ /* */
/* The function returns either 1 or -1. */ /* The function returns either 1 or -1. */
/* */ /* */
static static int
int ah_get_orientation( FT_Outline* outline ) ah_get_orientation( FT_Outline* outline )
{ {
FT_BBox box; FT_BBox box;
FT_BBox indices; FT_BBox indices;
@ -299,9 +301,9 @@
/* <Description> */ /* <Description> */
/* Creates a new and empty AH_Outline object. */ /* Creates a new and empty AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_outline_new( FT_Memory memory, ah_outline_new( FT_Memory memory,
AH_Outline** aoutline ) AH_Outline** aoutline )
{ {
FT_Error error; FT_Error error;
AH_Outline* outline; AH_Outline* outline;
@ -325,8 +327,8 @@
/* <Description> */ /* <Description> */
/* Destroys a given AH_Outline object. */ /* Destroys a given AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_done( AH_Outline* outline ) ah_outline_done( AH_Outline* outline )
{ {
FT_Memory memory = outline->memory; FT_Memory memory = outline->memory;
@ -349,9 +351,9 @@
/* Saves the content of a given AH_Outline object into a face's glyph */ /* Saves the content of a given AH_Outline object into a face's glyph */
/* slot. */ /* slot. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_save( AH_Outline* outline, ah_outline_save( AH_Outline* outline,
AH_Loader* gloader ) AH_Loader* gloader )
{ {
AH_Point* point = outline->points; AH_Point* point = outline->points;
AH_Point* point_limit = point + outline->num_points; AH_Point* point_limit = point + outline->num_points;
@ -384,9 +386,9 @@
/* Loads an unscaled outline from a glyph slot into an AH_Outline */ /* Loads an unscaled outline from a glyph slot into an AH_Outline */
/* object. */ /* object. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_outline_load( AH_Outline* outline, ah_outline_load( AH_Outline* outline,
FT_Face face ) FT_Face face )
{ {
FT_Memory memory = outline->memory; FT_Memory memory = outline->memory;
FT_Error error = AH_Err_Ok; FT_Error error = AH_Err_Ok;
@ -619,9 +621,9 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_setup_uv( AH_Outline* outline, ah_setup_uv( AH_Outline* outline,
AH_UV source ) AH_UV source )
{ {
AH_Point* point = outline->points; AH_Point* point = outline->points;
AH_Point* point_limit = point + outline->num_points; AH_Point* point_limit = point + outline->num_points;
@ -673,8 +675,8 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_compute_segments( AH_Outline* outline ) ah_outline_compute_segments( AH_Outline* outline )
{ {
int dimension; int dimension;
AH_Segment* segments; AH_Segment* segments;
@ -916,8 +918,8 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_link_segments( AH_Outline* outline ) ah_outline_link_segments( AH_Outline* outline )
{ {
AH_Segment* segments; AH_Segment* segments;
AH_Segment* segment_limit; AH_Segment* segment_limit;
@ -1036,9 +1038,8 @@
} }
static void
static ah_outline_compute_edges( AH_Outline* outline )
void ah_outline_compute_edges( AH_Outline* outline )
{ {
AH_Edge* edges; AH_Edge* edges;
AH_Segment* segments; AH_Segment* segments;
@ -1290,8 +1291,8 @@
/* <Description> */ /* <Description> */
/* Performs feature detection on a given AH_Outline object. */ /* Performs feature detection on a given AH_Outline object. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_detect_features( AH_Outline* outline ) ah_outline_detect_features( AH_Outline* outline )
{ {
ah_outline_compute_segments( outline ); ah_outline_compute_segments( outline );
ah_outline_link_segments ( outline ); ah_outline_link_segments ( outline );
@ -1308,9 +1309,9 @@
/* Computes the `blue edges' in a given outline (i.e. those that must */ /* Computes the `blue edges' in a given outline (i.e. those that must */
/* be snapped to a blue zone edge (top or bottom). */ /* be snapped to a blue zone edge (top or bottom). */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_compute_blue_edges( AH_Outline* outline, ah_outline_compute_blue_edges( AH_Outline* outline,
AH_Face_Globals* face_globals ) AH_Face_Globals* face_globals )
{ {
AH_Edge* edge = outline->horz_edges; AH_Edge* edge = outline->horz_edges;
AH_Edge* edge_limit = edge + outline->num_hedges; AH_Edge* edge_limit = edge + outline->num_hedges;
@ -1442,9 +1443,9 @@
/* the contents of the detected edges (basically change the `blue */ /* the contents of the detected edges (basically change the `blue */
/* edge' pointer from `design units' to `scaled ones'). */ /* edge' pointer from `design units' to `scaled ones'). */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_outline_scale_blue_edges( AH_Outline* outline, ah_outline_scale_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ) AH_Face_Globals* globals )
{ {
AH_Edge* edge = outline->horz_edges; AH_Edge* edge = outline->horz_edges;
AH_Edge* edge_limit = edge + outline->num_hedges; AH_Edge* edge_limit = edge + outline->num_hedges;
@ -1461,6 +1462,4 @@
} }
/* END */ /* END */

View File

@ -45,43 +45,44 @@ FT_BEGIN_HEADER
} AH_UV; } AH_UV;
FT_LOCAL FT_LOCAL void
void ah_setup_uv( AH_Outline* outline, ah_setup_uv( AH_Outline* outline,
AH_UV source ); AH_UV source );
/* AH_Outline functions - they should be typically called in this order */ /* AH_Outline functions - they should be typically called in this order */
FT_LOCAL FT_LOCAL FT_Error
FT_Error ah_outline_new( FT_Memory memory, ah_outline_new( FT_Memory memory,
AH_Outline** aoutline ); AH_Outline** aoutline );
FT_LOCAL FT_LOCAL FT_Error
FT_Error ah_outline_load( AH_Outline* outline, ah_outline_load( AH_Outline* outline,
FT_Face face ); FT_Face face );
FT_LOCAL FT_LOCAL void
void ah_outline_compute_segments( AH_Outline* outline ); ah_outline_compute_segments( AH_Outline* outline );
FT_LOCAL FT_LOCAL void
void ah_outline_link_segments( AH_Outline* outline ); ah_outline_link_segments( AH_Outline* outline );
FT_LOCAL FT_LOCAL void
void ah_outline_detect_features( AH_Outline* outline ); ah_outline_detect_features( AH_Outline* outline );
FT_LOCAL FT_LOCAL void
void ah_outline_compute_blue_edges( AH_Outline* outline, ah_outline_compute_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ); AH_Face_Globals* globals );
FT_LOCAL FT_LOCAL void
void ah_outline_scale_blue_edges( AH_Outline* outline, ah_outline_scale_blue_edges( AH_Outline* outline,
AH_Face_Globals* globals ); AH_Face_Globals* globals );
FT_LOCAL FT_LOCAL void
void ah_outline_save( AH_Outline* outline, AH_Loader* loader ); ah_outline_save( AH_Outline* outline,
AH_Loader* loader );
FT_LOCAL FT_LOCAL void
void ah_outline_done( AH_Outline* outline ); ah_outline_done( AH_Outline* outline );
FT_END_HEADER FT_END_HEADER

View File

@ -43,10 +43,10 @@
/* snap a given width in scaled coordinates to one of the */ /* snap a given width in scaled coordinates to one of the */
/* current standard widths */ /* current standard widths */
static static FT_Pos
FT_Pos ah_snap_width( FT_Pos* widths, ah_snap_width( FT_Pos* widths,
FT_Int count, FT_Int count,
FT_Pos width ) FT_Pos width )
{ {
int n; int n;
FT_Pos best = 64 + 32 + 2; FT_Pos best = 64 + 32 + 2;
@ -88,11 +88,11 @@
/* align one stem edge relative to the previous stem edge */ /* align one stem edge relative to the previous stem edge */
static static void
void ah_align_linked_edge( AH_Hinter* hinter, ah_align_linked_edge( AH_Hinter* hinter,
AH_Edge* base_edge, AH_Edge* base_edge,
AH_Edge* stem_edge, AH_Edge* stem_edge,
int vertical ) int vertical )
{ {
FT_Pos dist = stem_edge->opos - base_edge->opos; FT_Pos dist = stem_edge->opos - base_edge->opos;
AH_Globals* globals = &hinter->globals->scaled; AH_Globals* globals = &hinter->globals->scaled;
@ -146,10 +146,10 @@
} }
static static void
void ah_align_serif_edge( AH_Hinter* hinter, ah_align_serif_edge( AH_Hinter* hinter,
AH_Edge* base, AH_Edge* base,
AH_Edge* serif ) AH_Edge* serif )
{ {
FT_Pos dist; FT_Pos dist;
FT_Pos sign = 1; FT_Pos sign = 1;
@ -190,8 +190,8 @@
/* Another alternative edge hinting algorithm */ /* Another alternative edge hinting algorithm */
static static void
void ah_hint_edges_3( AH_Hinter* hinter ) ah_hint_edges_3( AH_Hinter* hinter )
{ {
AH_Edge* edges; AH_Edge* edges;
AH_Edge* edge_limit; AH_Edge* edge_limit;
@ -372,10 +372,10 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_hint_edges( AH_Hinter* hinter, ah_hinter_hint_edges( AH_Hinter* hinter,
FT_Bool no_horz_edges, FT_Bool no_horz_edges,
FT_Bool no_vert_edges ) FT_Bool no_vert_edges )
{ {
hinter->disable_horz_edges = no_horz_edges; hinter->disable_horz_edges = no_horz_edges;
hinter->disable_vert_edges = no_vert_edges; hinter->disable_vert_edges = no_vert_edges;
@ -415,8 +415,8 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
static static void
void ah_hinter_align_edge_points( AH_Hinter* hinter ) ah_hinter_align_edge_points( AH_Hinter* hinter )
{ {
AH_Outline* outline = hinter->glyph; AH_Outline* outline = hinter->glyph;
AH_Edge* edges; AH_Edge* edges;
@ -476,8 +476,8 @@
/* hint the strong points -- this is equivalent to the TrueType `IP' */ /* hint the strong points -- this is equivalent to the TrueType `IP' */
static static void
void ah_hinter_align_strong_points( AH_Hinter* hinter ) ah_hinter_align_strong_points( AH_Hinter* hinter )
{ {
AH_Outline* outline = hinter->glyph; AH_Outline* outline = hinter->glyph;
FT_Int dimension; FT_Int dimension;
@ -605,10 +605,10 @@
#ifndef AH_OPTION_NO_WEAK_INTERPOLATION #ifndef AH_OPTION_NO_WEAK_INTERPOLATION
static static void
void ah_iup_shift( AH_Point* p1, ah_iup_shift( AH_Point* p1,
AH_Point* p2, AH_Point* p2,
AH_Point* ref ) AH_Point* ref )
{ {
AH_Point* p; AH_Point* p;
FT_Pos delta = ref->u - ref->v; FT_Pos delta = ref->u - ref->v;
@ -622,11 +622,11 @@
} }
static static void
void ah_iup_interp( AH_Point* p1, ah_iup_interp( AH_Point* p1,
AH_Point* p2, AH_Point* p2,
AH_Point* ref1, AH_Point* ref1,
AH_Point* ref2 ) AH_Point* ref2 )
{ {
AH_Point* p; AH_Point* p;
FT_Pos u; FT_Pos u;
@ -691,8 +691,8 @@
/* interpolate weak points -- this is equivalent to the TrueType `IUP' */ /* interpolate weak points -- this is equivalent to the TrueType `IUP' */
static static void
void ah_hinter_align_weak_points( AH_Hinter* hinter ) ah_hinter_align_weak_points( AH_Hinter* hinter )
{ {
AH_Outline* outline = hinter->glyph; AH_Outline* outline = hinter->glyph;
FT_Int dimension; FT_Int dimension;
@ -799,8 +799,8 @@
#endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */ #endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_align_points( AH_Hinter* hinter ) ah_hinter_align_points( AH_Hinter* hinter )
{ {
ah_hinter_align_edge_points( hinter ); ah_hinter_align_edge_points( hinter );
@ -826,10 +826,10 @@
/* scale and fit the global metrics */ /* scale and fit the global metrics */
static static void
void ah_hinter_scale_globals( AH_Hinter* hinter, ah_hinter_scale_globals( AH_Hinter* hinter,
FT_Fixed x_scale, FT_Fixed x_scale,
FT_Fixed y_scale ) FT_Fixed y_scale )
{ {
FT_Int n; FT_Int n;
AH_Face_Globals* globals = hinter->globals; AH_Face_Globals* globals = hinter->globals;
@ -879,8 +879,8 @@
} }
static static void
void ah_hinter_align( AH_Hinter* hinter ) ah_hinter_align( AH_Hinter* hinter )
{ {
ah_hinter_align_edge_points( hinter ); ah_hinter_align_edge_points( hinter );
ah_hinter_align_points( hinter ); ah_hinter_align_points( hinter );
@ -888,8 +888,8 @@
/* finalize a hinter object */ /* finalize a hinter object */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_done( AH_Hinter* hinter ) ah_hinter_done( AH_Hinter* hinter )
{ {
if ( hinter ) if ( hinter )
{ {
@ -911,9 +911,9 @@
/* create a new empty hinter object */ /* create a new empty hinter object */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_hinter_new( FT_Library library, ah_hinter_new( FT_Library library,
AH_Hinter** ahinter ) AH_Hinter** ahinter )
{ {
AH_Hinter* hinter = 0; AH_Hinter* hinter = 0;
FT_Memory memory = library->memory; FT_Memory memory = library->memory;
@ -947,10 +947,10 @@
/* create a face's autohint globals */ /* create a face's autohint globals */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_hinter_new_face_globals( AH_Hinter* hinter, ah_hinter_new_face_globals( AH_Hinter* hinter,
FT_Face face, FT_Face face,
AH_Globals* globals ) AH_Globals* globals )
{ {
FT_Error error; FT_Error error;
FT_Memory memory = hinter->memory; FT_Memory memory = hinter->memory;
@ -979,8 +979,8 @@
/* discard a face's autohint globals */ /* discard a face's autohint globals */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_done_face_globals( AH_Face_Globals* globals ) ah_hinter_done_face_globals( AH_Face_Globals* globals )
{ {
FT_Face face = globals->face; FT_Face face = globals->face;
FT_Memory memory = face->memory; FT_Memory memory = face->memory;
@ -990,11 +990,11 @@
} }
static static FT_Error
FT_Error ah_hinter_load( AH_Hinter* hinter, ah_hinter_load( AH_Hinter* hinter,
FT_UInt glyph_index, FT_UInt glyph_index,
FT_UInt load_flags, FT_UInt load_flags,
FT_UInt depth ) FT_UInt depth )
{ {
FT_Face face = hinter->face; FT_Face face = hinter->face;
FT_GlyphSlot slot = face->glyph; FT_GlyphSlot slot = face->glyph;
@ -1308,12 +1308,12 @@
/* load and hint a given glyph */ /* load and hint a given glyph */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error ah_hinter_load_glyph( AH_Hinter* hinter, ah_hinter_load_glyph( AH_Hinter* hinter,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_Size size, FT_Size size,
FT_UInt glyph_index, FT_UInt glyph_index,
FT_Int load_flags ) FT_Int load_flags )
{ {
FT_Face face = slot->face; FT_Face face = slot->face;
FT_Error error; FT_Error error;
@ -1362,11 +1362,11 @@
/* retrieve a face's autohint globals for client applications */ /* retrieve a face's autohint globals for client applications */
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_get_global_hints( AH_Hinter* hinter, ah_hinter_get_global_hints( AH_Hinter* hinter,
FT_Face face, FT_Face face,
void** global_hints, void** global_hints,
long* global_len ) long* global_len )
{ {
AH_Globals* globals = 0; AH_Globals* globals = 0;
FT_Memory memory = hinter->memory; FT_Memory memory = hinter->memory;
@ -1399,9 +1399,9 @@
} }
FT_LOCAL_DEF FT_LOCAL_DEF void
void ah_hinter_done_global_hints( AH_Hinter* hinter, ah_hinter_done_global_hints( AH_Hinter* hinter,
void* global_hints ) void* global_hints )
{ {
FT_Memory memory = hinter->memory; FT_Memory memory = hinter->memory;

View File

@ -37,34 +37,34 @@ FT_BEGIN_HEADER
/* create a new empty hinter object */ /* create a new empty hinter object */
FT_LOCAL FT_LOCAL FT_Error
FT_Error ah_hinter_new( FT_Library library, ah_hinter_new( FT_Library library,
AH_Hinter** ahinter ); AH_Hinter** ahinter );
/* Load a hinted glyph in the hinter */ /* Load a hinted glyph in the hinter */
FT_LOCAL FT_LOCAL FT_Error
FT_Error ah_hinter_load_glyph( AH_Hinter* hinter, ah_hinter_load_glyph( AH_Hinter* hinter,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_Size size, FT_Size size,
FT_UInt glyph_index, FT_UInt glyph_index,
FT_Int load_flags ); FT_Int load_flags );
/* finalize a hinter object */ /* finalize a hinter object */
FT_LOCAL FT_LOCAL void
void ah_hinter_done( AH_Hinter* hinter ); ah_hinter_done( AH_Hinter* hinter );
FT_LOCAL FT_LOCAL void
void ah_hinter_done_face_globals( AH_Face_Globals* globals ); ah_hinter_done_face_globals( AH_Face_Globals* globals );
FT_LOCAL FT_LOCAL void
void ah_hinter_get_global_hints( AH_Hinter* hinter, ah_hinter_get_global_hints( AH_Hinter* hinter,
FT_Face face, FT_Face face,
void** global_hints, void** global_hints,
long* global_len ); long* global_len );
FT_LOCAL FT_LOCAL void
void ah_hinter_done_global_hints( AH_Hinter* hinter, ah_hinter_done_global_hints( AH_Hinter* hinter,
void* global_hints ); void* global_hints );
FT_END_HEADER FT_END_HEADER

View File

@ -69,40 +69,40 @@ FT_BEGIN_HEADER
}; };
FT_LOCAL FT_LOCAL FT_Error
FT_Error AH_GlyphLoader_New( FT_Memory memory, AH_GlyphLoader_New( FT_Memory memory,
AH_GlyphLoader** aloader ); AH_GlyphLoader** aloader );
FT_LOCAL FT_LOCAL FT_Error
FT_Error AH_GlyphLoader_Create_Extra( AH_GlyphLoader* loader ); AH_GlyphLoader_Create_Extra( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL void
void AH_GlyphLoader_Done( AH_GlyphLoader* loader ); AH_GlyphLoader_Done( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL void
void AH_GlyphLoader_Reset( AH_GlyphLoader* loader ); AH_GlyphLoader_Reset( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL void
void AH_GlyphLoader_Rewind( AH_GlyphLoader* loader ); AH_GlyphLoader_Rewind( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL FT_Error
FT_Error AH_GlyphLoader_Check_Points( AH_GlyphLoader* loader, AH_GlyphLoader_Check_Points( AH_GlyphLoader* loader,
FT_UInt n_points, FT_UInt n_points,
FT_UInt n_contours ); FT_UInt n_contours );
FT_LOCAL FT_LOCAL FT_Error
FT_Error AH_GlyphLoader_Check_Subglyphs( AH_GlyphLoader* loader, AH_GlyphLoader_Check_Subglyphs( AH_GlyphLoader* loader,
FT_UInt n_subs ); FT_UInt n_subs );
FT_LOCAL FT_LOCAL void
void AH_GlyphLoader_Prepare( AH_GlyphLoader* loader ); AH_GlyphLoader_Prepare( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL void
void AH_GlyphLoader_Add( AH_GlyphLoader* loader ); AH_GlyphLoader_Add( AH_GlyphLoader* loader );
FT_LOCAL FT_LOCAL FT_Error
FT_Error AH_GlyphLoader_Copy_Points( AH_GlyphLoader* target, AH_GlyphLoader_Copy_Points( AH_GlyphLoader* target,
FT_GlyphLoader* source ); FT_GlyphLoader* source );
#else /* _STANDALONE */ #else /* _STANDALONE */

View File

@ -32,21 +32,21 @@
} FT_AutoHinterRec; } FT_AutoHinterRec;
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ft_autohinter_init( FT_AutoHinter module ) ft_autohinter_init( FT_AutoHinter module )
{ {
return ah_hinter_new( module->root.library, &module->hinter ); return ah_hinter_new( module->root.library, &module->hinter );
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_autohinter_done( FT_AutoHinter module ) ft_autohinter_done( FT_AutoHinter module )
{ {
ah_hinter_done( module->hinter ); ah_hinter_done( module->hinter );
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ft_autohinter_load( FT_AutoHinter module, ft_autohinter_load( FT_AutoHinter module,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_Size size, FT_Size size,
@ -58,7 +58,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_autohinter_reset( FT_AutoHinter module, ft_autohinter_reset( FT_AutoHinter module,
FT_Face face ) FT_Face face )
{ {
@ -69,7 +69,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_autohinter_get_globals( FT_AutoHinter module, ft_autohinter_get_globals( FT_AutoHinter module,
FT_Face face, FT_Face face,
void** global_hints, void** global_hints,
@ -80,7 +80,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_autohinter_done_globals( FT_AutoHinter module, ft_autohinter_done_globals( FT_AutoHinter module,
void* global_hints ) void* global_hints )
{ {

View File

@ -65,8 +65,8 @@
#define FLOAT( x ) ( (float)( (x) / 64.0 ) ) #define FLOAT( x ) ( (float)( (x) / 64.0 ) )
static static void
void optim_log( const char* fmt, ... ) optim_log( const char* fmt, ... )
{ {
va_list ap; va_list ap;
@ -77,8 +77,8 @@
} }
static static void
void AH_Dump_Stems( AH_Optimizer* optimizer ) AH_Dump_Stems( AH_Optimizer* optimizer )
{ {
int n; int n;
AH_Stem* stem; AH_Stem* stem;
@ -98,8 +98,8 @@
} }
static static void
void AH_Dump_Stems2( AH_Optimizer* optimizer ) AH_Dump_Stems2( AH_Optimizer* optimizer )
{ {
int n; int n;
AH_Stem* stem; AH_Stem* stem;
@ -117,8 +117,8 @@
} }
static static void
void AH_Dump_Springs( AH_Optimizer* optimizer ) AH_Dump_Springs( AH_Optimizer* optimizer )
{ {
int n; int n;
AH_Spring* spring; AH_Spring* spring;
@ -156,9 +156,9 @@
/*************************************************************************/ /*************************************************************************/
static static int
int valid_stem_segments( AH_Segment* seg1, valid_stem_segments( AH_Segment* seg1,
AH_Segment* seg2 ) AH_Segment* seg2 )
{ {
return seg1->serif == 0 && return seg1->serif == 0 &&
seg2 && seg2 &&
@ -170,8 +170,8 @@
/* compute all stems in an outline */ /* compute all stems in an outline */
static static int
int optim_compute_stems( AH_Optimizer* optimizer ) optim_compute_stems( AH_Optimizer* optimizer )
{ {
AH_Outline* outline = optimizer->outline; AH_Outline* outline = optimizer->outline;
FT_Fixed scale; FT_Fixed scale;
@ -332,9 +332,9 @@
/* returns the spring area between two stems, 0 if none */ /* returns the spring area between two stems, 0 if none */
static static FT_Pos
FT_Pos stem_spring_area( AH_Stem* stem1, stem_spring_area( AH_Stem* stem1,
AH_Stem* stem2 ) AH_Stem* stem2 )
{ {
FT_Pos area1 = stem1->max_coord - stem1->min_coord; FT_Pos area1 = stem1->max_coord - stem1->min_coord;
FT_Pos area2 = stem2->max_coord - stem2->min_coord; FT_Pos area2 = stem2->max_coord - stem2->min_coord;
@ -362,8 +362,8 @@
/* compute all springs in an outline */ /* compute all springs in an outline */
static static int
int optim_compute_springs( AH_Optimizer* optimizer ) optim_compute_springs( AH_Optimizer* optimizer )
{ {
/* basically, a spring exists between two stems if most of their */ /* basically, a spring exists between two stems if most of their */
/* surface is aligned */ /* surface is aligned */
@ -469,8 +469,8 @@
#ifndef AH_BRUTE_FORCE #ifndef AH_BRUTE_FORCE
/* compute all spring tensions */ /* compute all spring tensions */
static static void
void optim_compute_tensions( AH_Optimizer* optimizer ) optim_compute_tensions( AH_Optimizer* optimizer )
{ {
AH_Spring* spring = optimizer->springs; AH_Spring* spring = optimizer->springs;
AH_Spring* limit = spring + optimizer->num_springs; AH_Spring* limit = spring + optimizer->num_springs;
@ -527,8 +527,8 @@
/* compute all stem movements -- returns 0 if nothing moved */ /* compute all stem movements -- returns 0 if nothing moved */
static static int
int optim_compute_stem_movements( AH_Optimizer* optimizer ) optim_compute_stem_movements( AH_Optimizer* optimizer )
{ {
AH_Stem* stems = optimizer->stems; AH_Stem* stems = optimizer->stems;
AH_Stem* limit = stems + optimizer->num_stems; AH_Stem* limit = stems + optimizer->num_stems;
@ -588,8 +588,8 @@
/* compute current global distortion from springs */ /* compute current global distortion from springs */
static static FT_Pos
FT_Pos optim_compute_distortion( AH_Optimizer* optimizer ) optim_compute_distortion( AH_Optimizer* optimizer )
{ {
AH_Spring* spring = optimizer->springs; AH_Spring* spring = optimizer->springs;
AH_Spring* limit = spring + optimizer->num_springs; AH_Spring* limit = spring + optimizer->num_springs;
@ -615,8 +615,8 @@
/* record stems configuration in `best of' history */ /* record stems configuration in `best of' history */
static static void
void optim_record_configuration( AH_Optimizer* optimizer ) optim_record_configuration( AH_Optimizer* optimizer )
{ {
FT_Pos distortion; FT_Pos distortion;
AH_Configuration* configs = optimizer->configs; AH_Configuration* configs = optimizer->configs;
@ -671,8 +671,8 @@
#ifdef AH_BRUTE_FORCE #ifdef AH_BRUTE_FORCE
/* optimize outline in a single direction */ /* optimize outline in a single direction */
static static void
void optim_compute( AH_Optimizer* optimizer ) optim_compute( AH_Optimizer* optimizer )
{ {
int n; int n;
FT_Bool moved; FT_Bool moved;
@ -729,8 +729,8 @@
#else /* AH_BRUTE_FORCE */ #else /* AH_BRUTE_FORCE */
/* optimize outline in a single direction */ /* optimize outline in a single direction */
static static void
void optim_compute( AH_Optimizer* optimizer ) optim_compute( AH_Optimizer* optimizer )
{ {
int n, counter, counter2; int n, counter, counter2;
@ -788,7 +788,8 @@
/* releases the optimization data */ /* releases the optimization data */
void AH_Optimizer_Done( AH_Optimizer* optimizer ) void
AH_Optimizer_Done( AH_Optimizer* optimizer )
{ {
if ( optimizer ) if ( optimizer )
{ {
@ -805,9 +806,10 @@
/* loads the outline into the optimizer */ /* loads the outline into the optimizer */
int AH_Optimizer_Init( AH_Optimizer* optimizer, int
AH_Outline* outline, AH_Optimizer_Init( AH_Optimizer* optimizer,
FT_Memory memory ) AH_Outline* outline,
FT_Memory memory )
{ {
FT_Error error; FT_Error error;
@ -851,7 +853,8 @@
/* compute optimal outline */ /* compute optimal outline */
void AH_Optimizer_Compute( AH_Optimizer* optimizer ) void
AH_Optimizer_Compute( AH_Optimizer* optimizer )
{ {
optimizer->num_stems = optimizer->num_hstems; optimizer->num_stems = optimizer->num_hstems;
optimizer->stems = optimizer->horz_stems; optimizer->stems = optimizer->horz_stems;

View File

@ -113,17 +113,20 @@ FT_BEGIN_HEADER
/* loads the outline into the optimizer */ /* loads the outline into the optimizer */
int AH_Optimizer_Init( AH_Optimizer* optimizer, int
AH_Outline* outline, AH_Optimizer_Init( AH_Optimizer* optimizer,
FT_Memory memory ); AH_Outline* outline,
FT_Memory memory );
/* compute optimal outline */ /* compute optimal outline */
void AH_Optimizer_Compute( AH_Optimizer* optimizer ); void
AH_Optimizer_Compute( AH_Optimizer* optimizer );
/* release the optimization data */ /* release the optimization data */
void AH_Optimizer_Done( AH_Optimizer* optimizer ); void
AH_Optimizer_Done( AH_Optimizer* optimizer );
FT_END_HEADER FT_END_HEADER

View File

@ -413,7 +413,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* blue_shoots :: The overshoot positions of blue zones. */ /* blue_shoots :: The overshoot positions of blue zones. */
/* */ /* */
typedef struct AH_Globals_ typedef struct AH_Globals_
{ {
FT_Int num_widths; FT_Int num_widths;
FT_Int num_heights; FT_Int num_heights;

View File

@ -59,9 +59,9 @@
/* <Return> */ /* <Return> */
/* Always 0. Needed for the interface only. */ /* Always 0. Needed for the interface only. */
/* */ /* */
static static int
int BBox_Move_To( FT_Vector* to, BBox_Move_To( FT_Vector* to,
TBBox_Rec* user ) TBBox_Rec* user )
{ {
user->last = *to; user->last = *to;
@ -95,9 +95,9 @@
/* min :: The address of the current minimum. */ /* min :: The address of the current minimum. */
/* max :: The address of the current maximum. */ /* max :: The address of the current maximum. */
/* */ /* */
static static void
void BBox_Conic_Check( FT_Pos y1, BBox_Conic_Check( FT_Pos y1,
FT_Pos y2, FT_Pos y2,
FT_Pos y3, FT_Pos y3,
FT_Pos* min, FT_Pos* min,
FT_Pos* max ) FT_Pos* max )
@ -156,10 +156,10 @@
/* In the case of a non-monotonous arc, we compute directly the */ /* In the case of a non-monotonous arc, we compute directly the */
/* extremum coordinates, as it is sufficiently fast. */ /* extremum coordinates, as it is sufficiently fast. */
/* */ /* */
static static int
int BBox_Conic_To( FT_Vector* control, BBox_Conic_To( FT_Vector* control,
FT_Vector* to, FT_Vector* to,
TBBox_Rec* user ) TBBox_Rec* user )
{ {
/* we don't need to check `to' since it is always an `on' point, thus */ /* we don't need to check `to' since it is always an `on' point, thus */
/* within the bbox */ /* within the bbox */
@ -207,13 +207,13 @@
/* max :: The address of the current maximum. */ /* max :: The address of the current maximum. */
/* */ /* */
#if 0 #if 0
static static void
void BBox_Cubic_Check( FT_Pos p1, BBox_Cubic_Check( FT_Pos p1,
FT_Pos p2, FT_Pos p2,
FT_Pos p3, FT_Pos p3,
FT_Pos p4, FT_Pos p4,
FT_Pos* min, FT_Pos* min,
FT_Pos* max ) FT_Pos* max )
{ {
FT_Pos stack[32*3 + 1], *arc; FT_Pos stack[32*3 + 1], *arc;
@ -319,13 +319,13 @@
} }
static static void
void BBox_Cubic_Check( FT_Pos y1, BBox_Cubic_Check( FT_Pos y1,
FT_Pos y2, FT_Pos y2,
FT_Pos y3, FT_Pos y3,
FT_Pos y4, FT_Pos y4,
FT_Pos* min, FT_Pos* min,
FT_Pos* max ) FT_Pos* max )
{ {
/* always compare first and last points */ /* always compare first and last points */
if ( y1 < *min ) *min = y1; if ( y1 < *min ) *min = y1;
@ -519,11 +519,11 @@
/* In the case of a non-monotonous arc, we don't compute directly */ /* In the case of a non-monotonous arc, we don't compute directly */
/* extremum coordinates, we subdivise instead. */ /* extremum coordinates, we subdivise instead. */
/* */ /* */
static static int
int BBox_Cubic_To( FT_Vector* control1, BBox_Cubic_To( FT_Vector* control1,
FT_Vector* control2, FT_Vector* control2,
FT_Vector* to, FT_Vector* to,
TBBox_Rec* user ) TBBox_Rec* user )
{ {
/* we don't need to check `to' since it is always an `on' point, thus */ /* we don't need to check `to' since it is always an `on' point, thus */
/* within the bbox */ /* within the bbox */
@ -556,8 +556,9 @@
/* documentation is in ftbbox.h */ /* documentation is in ftbbox.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Get_BBox( FT_Outline* outline, FT_EXPORT_DEF( FT_Error )
FT_BBox *abbox ) FT_Outline_Get_BBox( FT_Outline* outline,
FT_BBox *abbox )
{ {
FT_BBox cbox; FT_BBox cbox;
FT_BBox bbox; FT_BBox bbox;

View File

@ -74,7 +74,8 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Fixed ) FT_RoundFix( FT_Fixed a ) FT_EXPORT_DEF( FT_Fixed )
FT_RoundFix( FT_Fixed a )
{ {
return ( a >= 0 ) ? ( a + 0x8000L ) & -0x10000L return ( a >= 0 ) ? ( a + 0x8000L ) & -0x10000L
: -((-a + 0x8000L ) & -0x10000L ); : -((-a + 0x8000L ) & -0x10000L );
@ -83,7 +84,8 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Fixed ) FT_CeilFix( FT_Fixed a ) FT_EXPORT_DEF( FT_Fixed )
FT_CeilFix( FT_Fixed a )
{ {
return ( a >= 0 ) ? ( a + 0xFFFFL ) & -0x10000L return ( a >= 0 ) ? ( a + 0xFFFFL ) & -0x10000L
: -((-a + 0xFFFFL ) & -0x10000L ); : -((-a + 0xFFFFL ) & -0x10000L );
@ -92,7 +94,8 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Fixed ) FT_FloorFix( FT_Fixed a ) FT_EXPORT_DEF( FT_Fixed )
FT_FloorFix( FT_Fixed a )
{ {
return ( a >= 0 ) ? a & -0x10000L return ( a >= 0 ) ? a & -0x10000L
: -((-a) & -0x10000L ); : -((-a) & -0x10000L );
@ -122,7 +125,8 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( FT_Int32 ) FT_Sqrt32( FT_Int32 x ) FT_EXPORT_DEF( FT_Int32 )
FT_Sqrt32( FT_Int32 x )
{ {
FT_ULong val, root, newroot, mask; FT_ULong val, root, newroot, mask;
@ -155,9 +159,10 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_MulDiv( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b, FT_MulDiv( FT_Long a,
FT_Long c ) FT_Long b,
FT_Long c )
{ {
FT_Int s; FT_Int s;
FT_Long d; FT_Long d;
@ -177,8 +182,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_MulFix( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b ) FT_MulFix( FT_Long a,
FT_Long b )
{ {
FT_Int s = 1; FT_Int s = 1;
FT_Long c; FT_Long c;
@ -194,8 +200,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_DivFix( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b ) FT_DivFix( FT_Long a,
FT_Long b )
{ {
FT_Int32 s; FT_Int32 s;
FT_UInt32 q; FT_UInt32 q;
@ -219,8 +226,8 @@
/* a helper function for FT_Sqrt64() */ /* a helper function for FT_Sqrt64() */
static static int
int ft_order64( FT_Int64 z ) ft_order64( FT_Int64 z )
{ {
int j = 0; int j = 0;
@ -236,7 +243,8 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( FT_Int32 ) FT_Sqrt64( FT_Int64 l ) FT_EXPORT_DEF( FT_Int32 )
FT_Sqrt64( FT_Int64 l )
{ {
FT_Int64 r, s; FT_Int64 r, s;
@ -330,9 +338,10 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( void ) FT_Add64( FT_Int64* x, FT_EXPORT_DEF( void )
FT_Int64* y, FT_Add64( FT_Int64* x,
FT_Int64 *z ) FT_Int64* y,
FT_Int64 *z )
{ {
register FT_UInt32 lo, hi, max; register FT_UInt32 lo, hi, max;
@ -348,9 +357,10 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_MulDiv( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b, FT_MulDiv( FT_Long a,
FT_Long c ) FT_Long b,
FT_Long c )
{ {
long s; long s;
@ -387,8 +397,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_MulFix( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b ) FT_MulFix( FT_Long a,
FT_Long b )
{ {
FT_Long s; FT_Long s;
FT_ULong ua, ub; FT_ULong ua, ub;
@ -422,8 +433,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Long ) FT_DivFix( FT_Long a, FT_EXPORT_DEF( FT_Long )
FT_Long b ) FT_DivFix( FT_Long a,
FT_Long b )
{ {
FT_Int32 s; FT_Int32 s;
FT_UInt32 q; FT_UInt32 q;
@ -461,9 +473,10 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( void ) FT_MulTo64( FT_Int32 x, FT_EXPORT_DEF( void )
FT_Int32 y, FT_MulTo64( FT_Int32 x,
FT_Int64 *z ) FT_Int32 y,
FT_Int64 *z )
{ {
FT_Int32 s; FT_Int32 s;
@ -483,8 +496,9 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( FT_Int32 ) FT_Div64by32( FT_Int64* x, FT_EXPORT_DEF( FT_Int32 )
FT_Int32 y ) FT_Div64by32( FT_Int64* x,
FT_Int32 y )
{ {
FT_Int32 s; FT_Int32 s;
FT_UInt32 q; FT_UInt32 q;
@ -520,10 +534,10 @@
/* two helper functions for FT_Sqrt64() */ /* two helper functions for FT_Sqrt64() */
static static void
void FT_Sub64( FT_Int64* x, FT_Sub64( FT_Int64* x,
FT_Int64* y, FT_Int64* y,
FT_Int64* z ) FT_Int64* z )
{ {
register FT_UInt32 lo, hi; register FT_UInt32 lo, hi;
@ -536,8 +550,8 @@
} }
static static int
int ft_order64( FT_Int64* z ) ft_order64( FT_Int64* z )
{ {
FT_UInt32 i; FT_UInt32 i;
int j; int j;
@ -562,7 +576,8 @@
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_EXPORT_DEF( FT_Int32 ) FT_Sqrt64( FT_Int64* l ) FT_EXPORT_DEF( FT_Int32 )
FT_Sqrt64( FT_Int64* l )
{ {
FT_Int64 l2; FT_Int64 l2;
FT_Int32 r, s; FT_Int32 r, s;
@ -598,7 +613,8 @@
/* a not-so-fast but working 16.16 fixed point square root function */ /* a not-so-fast but working 16.16 fixed point square root function */
FT_EXPORT_DEF( FT_Int32 ) FT_SqrtFixed( FT_Int32 x ) FT_EXPORT_DEF( FT_Int32 )
FT_SqrtFixed( FT_Int32 x )
{ {
FT_UInt32 root, rem_hi, rem_lo, test_div; FT_UInt32 root, rem_hi, rem_lo, test_div;
FT_Int count; FT_Int count;

View File

@ -58,7 +58,8 @@
#include <string.h> #include <string.h>
FT_EXPORT_DEF( void ) FT_Message( const char* fmt, ... ) FT_EXPORT_DEF( void )
FT_Message( const char* fmt, ... )
{ {
va_list ap; va_list ap;
@ -69,7 +70,8 @@
} }
FT_EXPORT_DEF( void ) FT_Panic( const char* fmt, ... ) FT_EXPORT_DEF( void )
FT_Panic( const char* fmt, ... )
{ {
va_list ap; va_list ap;
@ -84,8 +86,9 @@
#ifdef FT_DEBUG_LEVEL_TRACE #ifdef FT_DEBUG_LEVEL_TRACE
FT_EXPORT_DEF( void ) FT_SetTraceLevel( FT_Trace component, FT_EXPORT_DEF( void )
char level ) FT_SetTraceLevel( FT_Trace component,
char level )
{ {
if ( component >= trace_max ) if ( component >= trace_max )
return; return;

View File

@ -63,8 +63,8 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error FT_Init_Extensions( FT_Driver driver ) FT_Init_Extensions( FT_Driver driver )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -99,8 +99,8 @@
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error FT_Done_Extensions( FT_Driver driver ) FT_Done_Extensions( FT_Driver driver )
{ {
FT_Memory memory = driver->root.memory; FT_Memory memory = driver->root.memory;
@ -112,9 +112,9 @@
/* documentation is in ftextend.h */ /* documentation is in ftextend.h */
FT_EXPORT_DEF( FT_Error ) FT_Register_Extension( FT_EXPORT_DEF( FT_Error )
FT_Driver driver, FT_Register_Extension( FT_Driver driver,
FT_Extension_Class* clazz ) FT_Extension_Class* clazz )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;
@ -153,10 +153,10 @@
/* documentation is in ftextend.h */ /* documentation is in ftextend.h */
FT_EXPORT_DEF( void* ) FT_Get_Extension( FT_EXPORT_DEF( void* )
FT_Face face, FT_Get_Extension( FT_Face face,
const char* extension_id, const char* extension_id,
void** extension_interface ) void** extension_interface )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;
@ -209,8 +209,8 @@
/* <Note> */ /* <Note> */
/* Called by the face object destructor. */ /* Called by the face object destructor. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error FT_Destroy_Extensions( FT_Face face ) FT_Destroy_Extensions( FT_Face face )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;
FT_Memory memory; FT_Memory memory;
@ -257,8 +257,8 @@
/* <Note> */ /* <Note> */
/* Called by the face object constructor. */ /* Called by the face object constructor. */
/* */ /* */
FT_LOCAL_DEF FT_LOCAL_DEF FT_Error
FT_Error FT_Create_Extensions( FT_Face face ) FT_Create_Extensions( FT_Face face )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;
FT_Memory memory; FT_Memory memory;

View File

@ -55,8 +55,9 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( void ) FT_Matrix_Multiply( FT_Matrix* a, FT_EXPORT_DEF( void )
FT_Matrix* b ) FT_Matrix_Multiply( FT_Matrix* a,
FT_Matrix* b )
{ {
FT_Fixed xx, xy, yx, yy; FT_Fixed xx, xy, yx, yy;
@ -76,7 +77,8 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error ) FT_Matrix_Invert( FT_Matrix* matrix ) FT_EXPORT_DEF( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix )
{ {
FT_Pos delta, xx, yy; FT_Pos delta, xx, yy;
@ -112,10 +114,10 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
static static FT_Error
FT_Error ft_bitmap_copy( FT_Memory memory, ft_bitmap_copy( FT_Memory memory,
FT_Bitmap* source, FT_Bitmap* source,
FT_Bitmap* target ) FT_Bitmap* target )
{ {
FT_Error error; FT_Error error;
FT_Int pitch = source->pitch; FT_Int pitch = source->pitch;
@ -136,9 +138,9 @@
} }
static static FT_Error
FT_Error ft_bitmap_glyph_init( FT_BitmapGlyph glyph, ft_bitmap_glyph_init( FT_BitmapGlyph glyph,
FT_GlyphSlot slot ) FT_GlyphSlot slot )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Library library = FT_GLYPH(glyph)->library; FT_Library library = FT_GLYPH(glyph)->library;
@ -169,9 +171,9 @@
} }
static static FT_Error
FT_Error ft_bitmap_glyph_copy( FT_BitmapGlyph source, ft_bitmap_glyph_copy( FT_BitmapGlyph source,
FT_BitmapGlyph target ) FT_BitmapGlyph target )
{ {
FT_Memory memory = source->root.library->memory; FT_Memory memory = source->root.library->memory;
@ -183,8 +185,8 @@
} }
static static void
void ft_bitmap_glyph_done( FT_BitmapGlyph glyph ) ft_bitmap_glyph_done( FT_BitmapGlyph glyph )
{ {
FT_Memory memory = FT_GLYPH(glyph)->library->memory; FT_Memory memory = FT_GLYPH(glyph)->library->memory;
@ -193,9 +195,9 @@
} }
static static void
void ft_bitmap_glyph_bbox( FT_BitmapGlyph glyph, ft_bitmap_glyph_bbox( FT_BitmapGlyph glyph,
FT_BBox* cbox ) FT_BBox* cbox )
{ {
cbox->xMin = glyph->left << 6; cbox->xMin = glyph->left << 6;
cbox->xMax = cbox->xMin + ( glyph->bitmap.width << 6 ); cbox->xMax = cbox->xMin + ( glyph->bitmap.width << 6 );
@ -227,9 +229,9 @@
/*************************************************************************/ /*************************************************************************/
static static FT_Error
FT_Error ft_outline_glyph_init( FT_OutlineGlyph glyph, ft_outline_glyph_init( FT_OutlineGlyph glyph,
FT_GlyphSlot slot ) FT_GlyphSlot slot )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Library library = FT_GLYPH(glyph)->library; FT_Library library = FT_GLYPH(glyph)->library;
@ -268,16 +270,16 @@
} }
static static void
void ft_outline_glyph_done( FT_OutlineGlyph glyph ) ft_outline_glyph_done( FT_OutlineGlyph glyph )
{ {
FT_Outline_Done( FT_GLYPH( glyph )->library, &glyph->outline ); FT_Outline_Done( FT_GLYPH( glyph )->library, &glyph->outline );
} }
static static FT_Error
FT_Error ft_outline_glyph_copy( FT_OutlineGlyph source, ft_outline_glyph_copy( FT_OutlineGlyph source,
FT_OutlineGlyph target ) FT_OutlineGlyph target )
{ {
FT_Error error; FT_Error error;
FT_Library library = FT_GLYPH( source )->library; FT_Library library = FT_GLYPH( source )->library;
@ -292,10 +294,10 @@
} }
static static void
void ft_outline_glyph_transform( FT_OutlineGlyph glyph, ft_outline_glyph_transform( FT_OutlineGlyph glyph,
FT_Matrix* matrix, FT_Matrix* matrix,
FT_Vector* delta ) FT_Vector* delta )
{ {
if ( matrix ) if ( matrix )
FT_Outline_Transform( &glyph->outline, matrix ); FT_Outline_Transform( &glyph->outline, matrix );
@ -305,17 +307,17 @@
} }
static static void
void ft_outline_glyph_bbox( FT_OutlineGlyph glyph, ft_outline_glyph_bbox( FT_OutlineGlyph glyph,
FT_BBox* bbox ) FT_BBox* bbox )
{ {
FT_Outline_Get_CBox( &glyph->outline, bbox ); FT_Outline_Get_CBox( &glyph->outline, bbox );
} }
static static FT_Error
FT_Error ft_outline_glyph_prepare( FT_OutlineGlyph glyph, ft_outline_glyph_prepare( FT_OutlineGlyph glyph,
FT_GlyphSlot slot ) FT_GlyphSlot slot )
{ {
slot->format = ft_glyph_format_outline; slot->format = ft_glyph_format_outline;
slot->outline = glyph->outline; slot->outline = glyph->outline;
@ -347,10 +349,10 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
static static FT_Error
FT_Error ft_new_glyph( FT_Library library, ft_new_glyph( FT_Library library,
const FT_Glyph_Class* clazz, const FT_Glyph_Class* clazz,
FT_Glyph* aglyph ) FT_Glyph* aglyph )
{ {
FT_Memory memory = library->memory; FT_Memory memory = library->memory;
FT_Error error; FT_Error error;
@ -374,8 +376,9 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error ) FT_Glyph_Copy( FT_Glyph source, FT_EXPORT_DEF( FT_Error )
FT_Glyph *target ) FT_Glyph_Copy( FT_Glyph source,
FT_Glyph *target )
{ {
FT_Glyph copy; FT_Glyph copy;
FT_Error error; FT_Error error;
@ -414,8 +417,9 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error ) FT_Get_Glyph( FT_GlyphSlot slot, FT_EXPORT_DEF( FT_Error )
FT_Glyph *aglyph ) FT_Get_Glyph( FT_GlyphSlot slot,
FT_Glyph *aglyph )
{ {
FT_Library library = slot->library; FT_Library library = slot->library;
FT_Error error; FT_Error error;
@ -479,9 +483,10 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error ) FT_Glyph_Transform( FT_Glyph glyph, FT_EXPORT_DEF( FT_Error )
FT_Matrix* matrix, FT_Glyph_Transform( FT_Glyph glyph,
FT_Vector* delta ) FT_Matrix* matrix,
FT_Vector* delta )
{ {
const FT_Glyph_Class* clazz; const FT_Glyph_Class* clazz;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -510,9 +515,10 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( void ) FT_Glyph_Get_CBox( FT_Glyph glyph, FT_EXPORT_DEF( void )
FT_UInt bbox_mode, FT_Glyph_Get_CBox( FT_Glyph glyph,
FT_BBox *acbox ) FT_UInt bbox_mode,
FT_BBox *acbox )
{ {
const FT_Glyph_Class* clazz; const FT_Glyph_Class* clazz;
@ -559,10 +565,11 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error ) FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, FT_EXPORT_DEF( FT_Error )
FT_ULong render_mode, FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
FT_Vector* origin, FT_ULong render_mode,
FT_Bool destroy ) FT_Vector* origin,
FT_Bool destroy )
{ {
FT_GlyphSlotRec dummy; FT_GlyphSlotRec dummy;
FT_Error error; FT_Error error;
@ -653,7 +660,8 @@
/* documentation is in ftglyph.h */ /* documentation is in ftglyph.h */
FT_EXPORT_DEF( void ) FT_Done_Glyph( FT_Glyph glyph ) FT_EXPORT_DEF( void )
FT_Done_Glyph( FT_Glyph glyph )
{ {
if ( glyph ) if ( glyph )
{ {

View File

@ -67,8 +67,8 @@
#undef FT_USE_MODULE #undef FT_USE_MODULE
#define FT_USE_MODULE( x ) (const FT_Module_Class*)&x, #define FT_USE_MODULE( x ) (const FT_Module_Class*)&x,
static static
const FT_Module_Class* const ft_default_modules[] = const FT_Module_Class* const ft_default_modules[] =
{ {
#include FT_CONFIG_MODULES_H #include FT_CONFIG_MODULES_H
0 0
@ -77,7 +77,8 @@ const FT_Module_Class* const ft_default_modules[] =
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( void ) FT_Add_Default_Modules( FT_Library library ) FT_EXPORT_DEF( void )
FT_Add_Default_Modules( FT_Library library )
{ {
FT_Error error; FT_Error error;
const FT_Module_Class* const* cur; const FT_Module_Class* const* cur;
@ -102,7 +103,8 @@ const FT_Module_Class* const ft_default_modules[] =
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Init_FreeType( FT_Library *alibrary ) FT_EXPORT_DEF( FT_Error )
FT_Init_FreeType( FT_Library *alibrary )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -131,7 +133,8 @@ const FT_Module_Class* const ft_default_modules[] =
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Done_FreeType( FT_Library library ) FT_EXPORT_DEF( FT_Error )
FT_Done_FreeType( FT_Library library )
{ {
if ( library ) if ( library )
{ {

View File

@ -41,8 +41,9 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( FT_ListNode ) FT_List_Find( FT_List list, FT_EXPORT_DEF( FT_ListNode )
void* data ) FT_List_Find( FT_List list,
void* data )
{ {
FT_ListNode cur; FT_ListNode cur;
@ -62,8 +63,9 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( void ) FT_List_Add( FT_List list, FT_EXPORT_DEF( void )
FT_ListNode node ) FT_List_Add( FT_List list,
FT_ListNode node )
{ {
FT_ListNode before = list->tail; FT_ListNode before = list->tail;
@ -82,8 +84,9 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( void ) FT_List_Insert( FT_List list, FT_EXPORT_DEF( void )
FT_ListNode node ) FT_List_Insert( FT_List list,
FT_ListNode node )
{ {
FT_ListNode after = list->head; FT_ListNode after = list->head;
@ -102,8 +105,9 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( void ) FT_List_Remove( FT_List list, FT_EXPORT_DEF( void )
FT_ListNode node ) FT_List_Remove( FT_List list,
FT_ListNode node )
{ {
FT_ListNode before, after; FT_ListNode before, after;
@ -125,8 +129,9 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( void ) FT_List_Up( FT_List list, FT_EXPORT_DEF( void )
FT_ListNode node ) FT_List_Up( FT_List list,
FT_ListNode node )
{ {
FT_ListNode before, after; FT_ListNode before, after;
@ -154,9 +159,10 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( FT_Error ) FT_List_Iterate( FT_List list, FT_EXPORT_DEF( FT_Error )
FT_List_Iterator iterator, FT_List_Iterate( FT_List list,
void* user ) FT_List_Iterator iterator,
void* user )
{ {
FT_ListNode cur = list->head; FT_ListNode cur = list->head;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -180,10 +186,11 @@
/* documentation is in ftlist.h */ /* documentation is in ftlist.h */
FT_EXPORT_DEF( void ) FT_List_Finalize( FT_List list, FT_EXPORT_DEF( void )
FT_List_Destructor destroy, FT_List_Finalize( FT_List list,
FT_Memory memory, FT_List_Destructor destroy,
void* user ) FT_Memory memory,
void* user )
{ {
FT_ListNode cur; FT_ListNode cur;

View File

@ -84,8 +84,8 @@
/* Quick'n'dirty Pascal string to C string converter. /* Quick'n'dirty Pascal string to C string converter.
Warning: this call is not thread safe! Use with caution. */ Warning: this call is not thread safe! Use with caution. */
static static char*
char* p2c_str( unsigned char* pstr ) p2c_str( unsigned char* pstr )
{ {
static char cstr[256]; static char cstr[256];
@ -97,9 +97,9 @@
/* Given a pathname, fill in a file spec. */ /* Given a pathname, fill in a file spec. */
static static int
int file_spec_from_path( const char* pathname, file_spec_from_path( const char* pathname,
FSSpec* spec ) FSSpec* spec )
{ {
Str255 p_path; Str255 p_path;
FT_ULong path_len; FT_ULong path_len;
@ -120,8 +120,8 @@
/* Return the file type of the file specified by spec. */ /* Return the file type of the file specified by spec. */
static static OSType
OSType get_file_type( FSSpec* spec ) get_file_type( FSSpec* spec )
{ {
FInfo finfo; FInfo finfo;
@ -134,9 +134,9 @@
/* Given a PostScript font name, create the Macintosh LWFN file name. */ /* Given a PostScript font name, create the Macintosh LWFN file name. */
static static void
void create_lwfn_name( char* ps_name, create_lwfn_name( char* ps_name,
Str255 lwfn_file_name ) Str255 lwfn_file_name )
{ {
int max = 5, count = 0; int max = 5, count = 0;
FT_Byte* p = lwfn_file_name; FT_Byte* p = lwfn_file_name;
@ -166,11 +166,11 @@
/* Given a file reference, answer its location as a vRefNum /* Given a file reference, answer its location as a vRefNum
and a dirID. */ and a dirID. */
static static FT_Error
FT_Error get_file_location( short ref_num, get_file_location( short ref_num,
short* v_ref_num, short* v_ref_num,
long* dir_id, long* dir_id,
unsigned char* file_name ) unsigned char* file_name )
{ {
FCBPBRec pb; FCBPBRec pb;
OSErr error; OSErr error;
@ -193,10 +193,10 @@
/* Make a file spec for an LWFN file from a FOND resource and /* Make a file spec for an LWFN file from a FOND resource and
a file name. */ a file name. */
static static FT_Error
FT_Error make_lwfn_spec( Handle fond, make_lwfn_spec( Handle fond,
unsigned char* file_name, unsigned char* file_name,
FSSpec* spec ) FSSpec* spec )
{ {
FT_Error error; FT_Error error;
short ref_num, v_ref_num; short ref_num, v_ref_num;
@ -219,11 +219,11 @@
/* Look inside the FOND data, answer whether there should be an SFNT /* Look inside the FOND data, answer whether there should be an SFNT
resource, and answer the name of a possible LWFN Type 1 file. */ resource, and answer the name of a possible LWFN Type 1 file. */
static static void
void parse_fond( char* fond_data, parse_fond( char* fond_data,
short* have_sfnt, short* have_sfnt,
short* sfnt_id, short* sfnt_id,
Str255 lwfn_file_name ) Str255 lwfn_file_name )
{ {
AsscEntry* assoc; AsscEntry* assoc;
FamRec* fond; FamRec* fond;
@ -285,11 +285,11 @@
PFB parser wants the ASCII header as one chunk, and the LWFN PFB parser wants the ASCII header as one chunk, and the LWFN
chunks are often not organized that way, so we'll glue chunks chunks are often not organized that way, so we'll glue chunks
of the same type together. */ of the same type together. */
static static FT_Error
FT_Error read_lwfn( FT_Memory memory, read_lwfn( FT_Memory memory,
FSSpec* lwfn_spec, FSSpec* lwfn_spec,
FT_Byte** pfb_data, FT_Byte** pfb_data,
FT_ULong* size ) FT_ULong* size )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
short res_ref, res_id; short res_ref, res_id;
@ -394,8 +394,8 @@
/* Finalizer for a memory stream; gets called by FT_Done_Face(). /* Finalizer for a memory stream; gets called by FT_Done_Face().
It frees the memory it uses. */ It frees the memory it uses. */
static static void
void memory_stream_close( FT_Stream stream ) memory_stream_close( FT_Stream stream )
{ {
FT_Memory memory = stream->memory; FT_Memory memory = stream->memory;
@ -409,12 +409,12 @@
/* Create a new memory stream from a buffer and a size. */ /* Create a new memory stream from a buffer and a size. */
static static FT_Error
FT_Error new_memory_stream( FT_Library library, new_memory_stream( FT_Library library,
FT_Byte* base, FT_Byte* base,
FT_ULong size, FT_ULong size,
FT_Stream_Close close, FT_Stream_Close close,
FT_Stream* astream ) FT_Stream* astream )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -447,13 +447,13 @@
/* Create a new FT_Face given a buffer and a driver name. */ /* Create a new FT_Face given a buffer and a driver name. */
static static FT_Error
FT_Error open_face_from_buffer( FT_Library library, open_face_from_buffer( FT_Library library,
FT_Byte* base, FT_Byte* base,
FT_ULong size, FT_ULong size,
FT_Long face_index, FT_Long face_index,
char* driver_name, char* driver_name,
FT_Face* aface ) FT_Face* aface )
{ {
FT_Open_Args args; FT_Open_Args args;
FT_Error error; FT_Error error;
@ -493,11 +493,11 @@
/* Create a new FT_Face from a file spec to an LWFN file. */ /* Create a new FT_Face from a file spec to an LWFN file. */
static static FT_Error
FT_Error FT_New_Face_From_LWFN( FT_Library library, FT_New_Face_From_LWFN( FT_Library library,
FSSpec* spec, FSSpec* spec,
FT_Long face_index, FT_Long face_index,
FT_Face* aface ) FT_Face* aface )
{ {
FT_Byte* pfb_data; FT_Byte* pfb_data;
FT_ULong pfb_size; FT_ULong pfb_size;
@ -536,11 +536,11 @@
/* Create a new FT_Face from an SFNT resource, specified by res ID. */ /* Create a new FT_Face from an SFNT resource, specified by res ID. */
static static FT_Error
FT_Error FT_New_Face_From_SFNT( FT_Library library, FT_New_Face_From_SFNT( FT_Library library,
short sfnt_id, short sfnt_id,
FT_Long face_index, FT_Long face_index,
FT_Face* aface ) FT_Face* aface )
{ {
Handle sfnt = NULL; Handle sfnt = NULL;
FT_Byte* sfnt_data; FT_Byte* sfnt_data;
@ -576,11 +576,11 @@
/* Create a new FT_Face from a file spec to a suitcase file. */ /* Create a new FT_Face from a file spec to a suitcase file. */
static static FT_Error
FT_Error FT_New_Face_From_Suitcase( FT_Library library, FT_New_Face_From_Suitcase( FT_Library library,
FSSpec* spec, FSSpec* spec,
FT_Long face_index, FT_Long face_index,
FT_Face* aface ) FT_Face* aface )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
short res_ref, res_index; short res_ref, res_index;
@ -618,10 +618,11 @@
/* documentation in ftmac.h */ /* documentation in ftmac.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Face_From_FOND( FT_Library library, FT_EXPORT_DEF( FT_Error )
Handle fond, FT_New_Face_From_FOND( FT_Library library,
FT_Long face_index, Handle fond,
FT_Face *aface ) FT_Long face_index,
FT_Face *aface )
{ {
short sfnt_id, have_sfnt, have_lwfn = 0; short sfnt_id, have_sfnt, have_lwfn = 0;
Str255 lwfn_file_name; Str255 lwfn_file_name;
@ -674,10 +675,11 @@
/* accepts pathnames to Mac suitcase files. For further */ /* accepts pathnames to Mac suitcase files. For further */
/* documentation see the original FT_New_Face() in freetype.h. */ /* documentation see the original FT_New_Face() in freetype.h. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_New_Face( FT_Library library, FT_EXPORT_DEF( FT_Error )
const char* pathname, FT_New_Face( FT_Library library,
FT_Long face_index, const char* pathname,
FT_Face *aface ) FT_Long face_index,
FT_Face *aface )
{ {
FT_Open_Args args; FT_Open_Args args;
FSSpec spec; FSSpec spec;

View File

@ -33,8 +33,9 @@
/* documentation is in ftmm.h */ /* documentation is in ftmm.h */
FT_EXPORT_DEF( FT_Error ) FT_Get_Multi_Master( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_Multi_Master *amaster ) FT_Get_Multi_Master( FT_Face face,
FT_Multi_Master *amaster )
{ {
FT_Error error; FT_Error error;
@ -62,10 +63,10 @@
/* documentation is in ftmm.h */ /* documentation is in ftmm.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Design_Coordinates( FT_EXPORT_DEF( FT_Error )
FT_Face face, FT_Set_MM_Design_Coordinates( FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Long* coords ) FT_Long* coords )
{ {
FT_Error error; FT_Error error;
@ -93,8 +94,8 @@
/* documentation is in ftmm.h */ /* documentation is in ftmm.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Blend_Coordinates( FT_EXPORT_DEF( FT_Error )
FT_Face face, FT_Set_MM_Blend_Coordinates( FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Fixed* coords ) FT_Fixed* coords )
{ {

View File

@ -29,7 +29,8 @@
/* documentation is in ftnames.h */ /* documentation is in ftnames.h */
FT_EXPORT_DEF( FT_UInt ) FT_Get_Sfnt_Name_Count( FT_Face face ) FT_EXPORT_DEF( FT_UInt )
FT_Get_Sfnt_Name_Count( FT_Face face )
{ {
return (face && FT_IS_SFNT( face )) ? ((TT_Face)face)->num_names : 0; return (face && FT_IS_SFNT( face )) ? ((TT_Face)face)->num_names : 0;
} }
@ -37,9 +38,10 @@
/* documentation is in ftnames.h */ /* documentation is in ftnames.h */
FT_EXPORT_DEF( FT_Error ) FT_Get_Sfnt_Name( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_UInt index, FT_Get_Sfnt_Name( FT_Face face,
FT_SfntName *aname ) FT_UInt index,
FT_SfntName *aname )
{ {
FT_Error error = FT_Err_Invalid_Argument; FT_Error error = FT_Err_Invalid_Argument;

View File

@ -50,9 +50,10 @@
/* documentation is in ftmemory.h */ /* documentation is in ftmemory.h */
FT_BASE_DEF( FT_Error ) FT_Alloc( FT_Memory memory, FT_BASE_DEF( FT_Error )
FT_Long size, FT_Alloc( FT_Memory memory,
void* *P ) FT_Long size,
void* *P )
{ {
FT_Assert( P != 0 ); FT_Assert( P != 0 );
@ -82,10 +83,11 @@
/* documentation is in ftmemory.h */ /* documentation is in ftmemory.h */
FT_BASE_DEF( FT_Error ) FT_Realloc( FT_Memory memory, FT_BASE_DEF( FT_Error )
FT_Long current, FT_Realloc( FT_Memory memory,
FT_Long size, FT_Long current,
void** P ) FT_Long size,
void** P )
{ {
void* Q; void* Q;
@ -120,8 +122,9 @@
/* documentation is in ftmemory.h */ /* documentation is in ftmemory.h */
FT_BASE_DEF( void ) FT_Free( FT_Memory memory, FT_BASE_DEF( void )
void** P ) FT_Free( FT_Memory memory,
void** P )
{ {
FT_TRACE7(( "FT_Free:" )); FT_TRACE7(( "FT_Free:" ));
FT_TRACE7(( " Freeing block 0x%08p, ref 0x%08p\n", FT_TRACE7(( " Freeing block 0x%08p, ref 0x%08p\n",
@ -159,10 +162,10 @@
/* <Note> */ /* <Note> */
/* The function expects a valid `astream' parameter. */ /* The function expects a valid `astream' parameter. */
/* */ /* */
static static FT_Error
FT_Error ft_new_input_stream( FT_Library library, ft_new_input_stream( FT_Library library,
FT_Open_Args* args, FT_Open_Args* args,
FT_Stream* astream ) FT_Stream* astream )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -218,7 +221,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( void ) FT_Done_Stream( FT_Stream stream ) FT_EXPORT_DEF( void )
FT_Done_Stream( FT_Stream stream )
{ {
if ( stream && stream->close ) if ( stream && stream->close )
{ {
@ -228,9 +232,9 @@
} }
static static void
void ft_done_stream( FT_Stream* astream, ft_done_stream( FT_Stream* astream,
FT_Int external ) FT_Int external )
{ {
FT_Stream stream = *astream; FT_Stream stream = *astream;
@ -294,8 +298,9 @@
/* create a new glyph loader */ /* create a new glyph loader */
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_New( FT_Memory memory, FT_BASE_DEF( FT_Error )
FT_GlyphLoader* *aloader ) FT_GlyphLoader_New( FT_Memory memory,
FT_GlyphLoader* *aloader )
{ {
FT_GlyphLoader* loader; FT_GlyphLoader* loader;
FT_Error error; FT_Error error;
@ -311,7 +316,8 @@
/* rewind the glyph loader - reset counters to 0 */ /* rewind the glyph loader - reset counters to 0 */
FT_BASE_DEF( void ) FT_GlyphLoader_Rewind( FT_GlyphLoader* loader ) FT_BASE_DEF( void )
FT_GlyphLoader_Rewind( FT_GlyphLoader* loader )
{ {
FT_GlyphLoad* base = &loader->base; FT_GlyphLoad* base = &loader->base;
FT_GlyphLoad* current = &loader->current; FT_GlyphLoad* current = &loader->current;
@ -327,7 +333,8 @@
/* reset the glyph loader, frees all allocated tables */ /* reset the glyph loader, frees all allocated tables */
/* and starts from zero */ /* and starts from zero */
FT_BASE_DEF( void ) FT_GlyphLoader_Reset( FT_GlyphLoader* loader ) FT_BASE_DEF( void )
FT_GlyphLoader_Reset( FT_GlyphLoader* loader )
{ {
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
@ -347,7 +354,8 @@
/* delete a glyph loader */ /* delete a glyph loader */
FT_BASE_DEF( void ) FT_GlyphLoader_Done( FT_GlyphLoader* loader ) FT_BASE_DEF( void )
FT_GlyphLoader_Done( FT_GlyphLoader* loader )
{ {
if ( loader ) if ( loader )
{ {
@ -361,8 +369,8 @@
/* re-adjust the `current' outline fields */ /* re-adjust the `current' outline fields */
static static void
void FT_GlyphLoader_Adjust_Points( FT_GlyphLoader* loader ) FT_GlyphLoader_Adjust_Points( FT_GlyphLoader* loader )
{ {
FT_Outline* base = &loader->base.outline; FT_Outline* base = &loader->base.outline;
FT_Outline* current = &loader->current.outline; FT_Outline* current = &loader->current.outline;
@ -379,8 +387,8 @@
} }
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Create_Extra( FT_BASE_DEF( FT_Error )
FT_GlyphLoader* loader ) FT_GlyphLoader_Create_Extra( FT_GlyphLoader* loader )
{ {
FT_Error error; FT_Error error;
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
@ -397,8 +405,8 @@
/* re-adjust the `current' subglyphs field */ /* re-adjust the `current' subglyphs field */
static static void
void FT_GlyphLoader_Adjust_Subglyphs( FT_GlyphLoader* loader ) FT_GlyphLoader_Adjust_Subglyphs( FT_GlyphLoader* loader )
{ {
FT_GlyphLoad* base = &loader->base; FT_GlyphLoad* base = &loader->base;
FT_GlyphLoad* current = &loader->current; FT_GlyphLoad* current = &loader->current;
@ -412,10 +420,10 @@
/* function reallocates its outline tables if necessary. Note that it */ /* function reallocates its outline tables if necessary. Note that it */
/* DOESN'T change the number of points within the loader! */ /* DOESN'T change the number of points within the loader! */
/* */ /* */
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Points( FT_BASE_DEF( FT_Error )
FT_GlyphLoader* loader, FT_GlyphLoader_Check_Points( FT_GlyphLoader* loader,
FT_UInt n_points, FT_UInt n_points,
FT_UInt n_contours ) FT_UInt n_contours )
{ {
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -473,9 +481,9 @@
/* reallocates its subglyphs table if necessary. Note that it DOES */ /* reallocates its subglyphs table if necessary. Note that it DOES */
/* NOT change the number of subglyphs within the loader! */ /* NOT change the number of subglyphs within the loader! */
/* */ /* */
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Subglyphs( FT_BASE_DEF( FT_Error )
FT_GlyphLoader* loader, FT_GlyphLoader_Check_Subglyphs( FT_GlyphLoader* loader,
FT_UInt n_subs ) FT_UInt n_subs )
{ {
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -504,7 +512,8 @@
/* prepare loader for the addition of a new glyph on top of the base one */ /* prepare loader for the addition of a new glyph on top of the base one */
FT_BASE_DEF( void ) FT_GlyphLoader_Prepare( FT_GlyphLoader* loader ) FT_BASE_DEF( void )
FT_GlyphLoader_Prepare( FT_GlyphLoader* loader )
{ {
FT_GlyphLoad* current = &loader->current; FT_GlyphLoad* current = &loader->current;
@ -519,7 +528,8 @@
/* add current glyph to the base image - and prepare for another */ /* add current glyph to the base image - and prepare for another */
FT_BASE_DEF( void ) FT_GlyphLoader_Add( FT_GlyphLoader* loader ) FT_BASE_DEF( void )
FT_GlyphLoader_Add( FT_GlyphLoader* loader )
{ {
FT_GlyphLoad* base = &loader->base; FT_GlyphLoad* base = &loader->base;
FT_GlyphLoad* current = &loader->current; FT_GlyphLoad* current = &loader->current;
@ -546,9 +556,9 @@
} }
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Copy_Points( FT_BASE_DEF( FT_Error )
FT_GlyphLoader* target, FT_GlyphLoader_Copy_Points( FT_GlyphLoader* target,
FT_GlyphLoader* source ) FT_GlyphLoader* source )
{ {
FT_Error error; FT_Error error;
FT_UInt num_points = source->base.outline.n_points; FT_UInt num_points = source->base.outline.n_points;
@ -597,8 +607,8 @@
/*************************************************************************/ /*************************************************************************/
static static FT_Error
FT_Error ft_glyphslot_init( FT_GlyphSlot slot ) ft_glyphslot_init( FT_GlyphSlot slot )
{ {
FT_Driver driver = slot->face->driver; FT_Driver driver = slot->face->driver;
FT_Driver_Class* clazz = driver->clazz; FT_Driver_Class* clazz = driver->clazz;
@ -625,8 +635,8 @@
} }
static static void
void ft_glyphslot_clear( FT_GlyphSlot slot ) ft_glyphslot_clear( FT_GlyphSlot slot )
{ {
/* free bitmap if needed */ /* free bitmap if needed */
if ( slot->flags & ft_glyph_own_bitmap ) if ( slot->flags & ft_glyph_own_bitmap )
@ -657,8 +667,8 @@
} }
static static void
void ft_glyphslot_done( FT_GlyphSlot slot ) ft_glyphslot_done( FT_GlyphSlot slot )
{ {
FT_Driver driver = slot->face->driver; FT_Driver driver = slot->face->driver;
FT_Driver_Class* clazz = driver->clazz; FT_Driver_Class* clazz = driver->clazz;
@ -685,8 +695,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_BASE_DEF( FT_Error ) FT_New_GlyphSlot( FT_Face face, FT_BASE_DEF( FT_Error )
FT_GlyphSlot *aslot ) FT_New_GlyphSlot( FT_Face face,
FT_GlyphSlot *aslot )
{ {
FT_Error error; FT_Error error;
FT_Driver driver; FT_Driver driver;
@ -728,7 +739,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_BASE_DEF( void ) FT_Done_GlyphSlot( FT_GlyphSlot slot ) FT_BASE_DEF( void )
FT_Done_GlyphSlot( FT_GlyphSlot slot )
{ {
if ( slot ) if ( slot )
{ {
@ -759,9 +771,10 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( void ) FT_Set_Transform( FT_Face face, FT_EXPORT_DEF( void )
FT_Matrix* matrix, FT_Set_Transform( FT_Face face,
FT_Vector* delta ) FT_Matrix* matrix,
FT_Vector* delta )
{ {
FT_Face_Internal internal; FT_Face_Internal internal;
@ -805,14 +818,16 @@
} }
static FT_Renderer ft_lookup_glyph_renderer( FT_GlyphSlot slot ); static FT_Renderer
ft_lookup_glyph_renderer( FT_GlyphSlot slot );
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Load_Glyph( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_UInt glyph_index, FT_Load_Glyph( FT_Face face,
FT_Int load_flags ) FT_UInt glyph_index,
FT_Int load_flags )
{ {
FT_Error error; FT_Error error;
FT_Driver driver; FT_Driver driver;
@ -945,9 +960,10 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Load_Char( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_ULong char_code, FT_Load_Char( FT_Face face,
FT_Int load_flags ) FT_ULong char_code,
FT_Int load_flags )
{ {
FT_UInt glyph_index; FT_UInt glyph_index;
@ -964,10 +980,10 @@
/* destructor for sizes list */ /* destructor for sizes list */
static static void
void destroy_size( FT_Memory memory, destroy_size( FT_Memory memory,
FT_Size size, FT_Size size,
FT_Driver driver ) FT_Driver driver )
{ {
/* finalize client-specific data */ /* finalize client-specific data */
if ( size->generic.finalizer ) if ( size->generic.finalizer )
@ -983,10 +999,10 @@
/* destructor for faces list */ /* destructor for faces list */
static static void
void destroy_face( FT_Memory memory, destroy_face( FT_Memory memory,
FT_Face face, FT_Face face,
FT_Driver driver ) FT_Driver driver )
{ {
FT_Driver_Class* clazz = driver->clazz; FT_Driver_Class* clazz = driver->clazz;
@ -1026,8 +1042,8 @@
} }
static static void
void Destroy_Driver( FT_Driver driver ) Destroy_Driver( FT_Driver driver )
{ {
FT_List_Finalize( &driver->faces_list, FT_List_Finalize( &driver->faces_list,
(FT_List_Destructor)destroy_face, (FT_List_Destructor)destroy_face,
@ -1048,13 +1064,13 @@
/* <Description> */ /* <Description> */
/* This function does some work for FT_Open_Face(). */ /* This function does some work for FT_Open_Face(). */
/* */ /* */
static static FT_Error
FT_Error open_face( FT_Driver driver, open_face( FT_Driver driver,
FT_Stream stream, FT_Stream stream,
FT_Long face_index, FT_Long face_index,
FT_Int num_params, FT_Int num_params,
FT_Parameter* params, FT_Parameter* params,
FT_Face* aface ) FT_Face* aface )
{ {
FT_Memory memory; FT_Memory memory;
FT_Driver_Class* clazz; FT_Driver_Class* clazz;
@ -1109,10 +1125,11 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Face( FT_Library library, FT_EXPORT_DEF( FT_Error )
const char* pathname, FT_New_Face( FT_Library library,
FT_Long face_index, const char* pathname,
FT_Face *aface ) FT_Long face_index,
FT_Face *aface )
{ {
FT_Open_Args args; FT_Open_Args args;
@ -1132,11 +1149,12 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Memory_Face( FT_Library library, FT_EXPORT_DEF( FT_Error )
const FT_Byte* file_base, FT_New_Memory_Face( FT_Library library,
FT_Long file_size, const FT_Byte* file_base,
FT_Long face_index, FT_Long file_size,
FT_Face *aface ) FT_Long face_index,
FT_Face *aface )
{ {
FT_Open_Args args; FT_Open_Args args;
@ -1155,10 +1173,11 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Open_Face( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Open_Args* args, FT_Open_Face( FT_Library library,
FT_Long face_index, FT_Open_Args* args,
FT_Face *aface ) FT_Long face_index,
FT_Face *aface )
{ {
FT_Error error; FT_Error error;
FT_Driver driver; FT_Driver driver;
@ -1332,8 +1351,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Attach_File( FT_Face face, FT_EXPORT_DEF( FT_Error )
const char* filepathname ) FT_Attach_File( FT_Face face,
const char* filepathname )
{ {
FT_Open_Args open; FT_Open_Args open;
@ -1352,8 +1372,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Attach_Stream( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_Open_Args* parameters ) FT_Attach_Stream( FT_Face face,
FT_Open_Args* parameters )
{ {
FT_Stream stream; FT_Stream stream;
FT_Error error; FT_Error error;
@ -1395,7 +1416,8 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Done_Face( FT_Face face ) FT_EXPORT_DEF( FT_Error )
FT_Done_Face( FT_Face face )
{ {
FT_Error error; FT_Error error;
FT_Driver driver; FT_Driver driver;
@ -1428,8 +1450,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Size( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_Size *asize ) FT_New_Size( FT_Face face,
FT_Size *asize )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -1489,7 +1512,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Error ) FT_Done_Size( FT_Size size ) FT_EXPORT_DEF( FT_Error )
FT_Done_Size( FT_Size size )
{ {
FT_Error error; FT_Error error;
FT_Driver driver; FT_Driver driver;
@ -1534,9 +1558,9 @@
} }
static static void
void ft_recompute_scaled_metrics( FT_Face face, ft_recompute_scaled_metrics( FT_Face face,
FT_Size_Metrics* metrics ) FT_Size_Metrics* metrics )
{ {
/* Compute root ascender, descender, test height, and max_advance */ /* Compute root ascender, descender, test height, and max_advance */
@ -1556,11 +1580,12 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_Char_Size( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_F26Dot6 char_width, FT_Set_Char_Size( FT_Face face,
FT_F26Dot6 char_height, FT_F26Dot6 char_width,
FT_UInt horz_resolution, FT_F26Dot6 char_height,
FT_UInt vert_resolution ) FT_UInt horz_resolution,
FT_UInt vert_resolution )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Driver driver; FT_Driver driver;
@ -1626,9 +1651,10 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_Pixel_Sizes( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_UInt pixel_width, FT_Set_Pixel_Sizes( FT_Face face,
FT_UInt pixel_height ) FT_UInt pixel_width,
FT_UInt pixel_height )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Driver driver; FT_Driver driver;
@ -1678,11 +1704,12 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Get_Kerning( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_UInt left_glyph, FT_Get_Kerning( FT_Face face,
FT_UInt right_glyph, FT_UInt left_glyph,
FT_UInt kern_mode, FT_UInt right_glyph,
FT_Vector *akerning ) FT_UInt kern_mode,
FT_Vector *akerning )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Driver driver; FT_Driver driver;
@ -1727,8 +1754,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Select_Charmap( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_Encoding encoding ) FT_Select_Charmap( FT_Face face,
FT_Encoding encoding )
{ {
FT_CharMap* cur; FT_CharMap* cur;
FT_CharMap* limit; FT_CharMap* limit;
@ -1758,8 +1786,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_Charmap( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_CharMap charmap ) FT_Set_Charmap( FT_Face face,
FT_CharMap charmap )
{ {
FT_CharMap* cur; FT_CharMap* cur;
FT_CharMap* limit; FT_CharMap* limit;
@ -1788,8 +1817,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_UInt ) FT_Get_Char_Index( FT_Face face, FT_EXPORT_DEF( FT_UInt )
FT_ULong charcode ) FT_Get_Char_Index( FT_Face face,
FT_ULong charcode )
{ {
FT_UInt result; FT_UInt result;
FT_Driver driver; FT_Driver driver;
@ -1807,10 +1837,11 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Get_Glyph_Name( FT_Face face, FT_EXPORT_DEF( FT_Error )
FT_UInt glyph_index, FT_Get_Glyph_Name( FT_Face face,
FT_Pointer buffer, FT_UInt glyph_index,
FT_UInt buffer_max ) FT_Pointer buffer,
FT_UInt buffer_max )
{ {
FT_Error error = FT_Err_Invalid_Argument; FT_Error error = FT_Err_Invalid_Argument;
@ -1846,8 +1877,9 @@
/* documentation is in tttables.h */ /* documentation is in tttables.h */
FT_EXPORT_DEF( void* ) FT_Get_Sfnt_Table( FT_Face face, FT_EXPORT_DEF( void* )
FT_Sfnt_Tag tag ) FT_Get_Sfnt_Table( FT_Face face,
FT_Sfnt_Tag tag )
{ {
void* table = 0; void* table = 0;
FT_Get_Sfnt_Table_Func func; FT_Get_Sfnt_Table_Func func;
@ -1881,9 +1913,10 @@
/*************************************************************************/ /*************************************************************************/
/* lookup a renderer by glyph format in the library's list */ /* lookup a renderer by glyph format in the library's list */
FT_BASE_DEF( FT_Renderer ) FT_Lookup_Renderer( FT_Library library, FT_BASE_DEF( FT_Renderer )
FT_Glyph_Format format, FT_Lookup_Renderer( FT_Library library,
FT_ListNode* node ) FT_Glyph_Format format,
FT_ListNode* node )
{ {
FT_ListNode cur; FT_ListNode cur;
FT_Renderer result = 0; FT_Renderer result = 0;
@ -1922,8 +1955,8 @@
} }
static static FT_Renderer
FT_Renderer ft_lookup_glyph_renderer( FT_GlyphSlot slot ) ft_lookup_glyph_renderer( FT_GlyphSlot slot )
{ {
FT_Face face = slot->face; FT_Face face = slot->face;
FT_Library library = FT_FACE_LIBRARY( face ); FT_Library library = FT_FACE_LIBRARY( face );
@ -1937,8 +1970,8 @@
} }
static static void
void ft_set_current_renderer( FT_Library library ) ft_set_current_renderer( FT_Library library )
{ {
FT_Renderer renderer; FT_Renderer renderer;
@ -1948,8 +1981,8 @@
} }
static static FT_Error
FT_Error ft_add_renderer( FT_Module module ) ft_add_renderer( FT_Module module )
{ {
FT_Library library = module->library; FT_Library library = module->library;
FT_Memory memory = library->memory; FT_Memory memory = library->memory;
@ -1996,8 +2029,8 @@
} }
static static void
void ft_remove_renderer( FT_Module module ) ft_remove_renderer( FT_Module module )
{ {
FT_Library library = module->library; FT_Library library = module->library;
FT_Memory memory = library->memory; FT_Memory memory = library->memory;
@ -2025,8 +2058,9 @@
/* documentation is in ftrender.h */ /* documentation is in ftrender.h */
FT_EXPORT_DEF( FT_Renderer ) FT_Get_Renderer( FT_Library library, FT_EXPORT_DEF( FT_Renderer )
FT_Glyph_Format format ) FT_Get_Renderer( FT_Library library,
FT_Glyph_Format format )
{ {
/* test for valid `library' delayed to FT_Lookup_Renderer() */ /* test for valid `library' delayed to FT_Lookup_Renderer() */
@ -2036,10 +2070,11 @@
/* documentation is in ftrender.h */ /* documentation is in ftrender.h */
FT_EXPORT_DEF( FT_Error ) FT_Set_Renderer( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Renderer renderer, FT_Set_Renderer( FT_Library library,
FT_UInt num_params, FT_Renderer renderer,
FT_Parameter* parameters ) FT_UInt num_params,
FT_Parameter* parameters )
{ {
FT_ListNode node; FT_ListNode node;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -2081,10 +2116,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph_Internal( FT_EXPORT_DEF( FT_Error )
FT_Library library, FT_Render_Glyph_Internal( FT_Library library,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_UInt render_mode ) FT_UInt render_mode )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Renderer renderer; FT_Renderer renderer;
@ -2142,8 +2177,9 @@
/* documentation is in freetype.h */ /* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph( FT_GlyphSlot slot, FT_EXPORT_DEF( FT_Error )
FT_UInt render_mode ) FT_Render_Glyph( FT_GlyphSlot slot,
FT_UInt render_mode )
{ {
FT_Library library; FT_Library library;
@ -2185,8 +2221,8 @@
/* <Note> */ /* <Note> */
/* The driver _must_ be LOCKED! */ /* The driver _must_ be LOCKED! */
/* */ /* */
static static void
void Destroy_Module( FT_Module module ) Destroy_Module( FT_Module module )
{ {
FT_Memory memory = module->memory; FT_Memory memory = module->memory;
FT_Module_Class* clazz = module->clazz; FT_Module_Class* clazz = module->clazz;
@ -2219,8 +2255,9 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( FT_Error ) FT_Add_Module( FT_Library library, FT_EXPORT_DEF( FT_Error )
const FT_Module_Class* clazz ) FT_Add_Module( FT_Library library,
const FT_Module_Class* clazz )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -2345,8 +2382,9 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( FT_Module ) FT_Get_Module( FT_Library library, FT_EXPORT_DEF( FT_Module )
const char* module_name ) FT_Get_Module( FT_Library library,
const char* module_name )
{ {
FT_Module result = 0; FT_Module result = 0;
FT_Module* cur; FT_Module* cur;
@ -2372,8 +2410,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_BASE_DEF( const void* ) FT_Get_Module_Interface( FT_Library library, FT_BASE_DEF( const void* )
const char* mod_name ) FT_Get_Module_Interface( FT_Library library,
const char* mod_name )
{ {
FT_Module module; FT_Module module;
@ -2388,8 +2427,9 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( FT_Error ) FT_Remove_Module( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Module module ) FT_Remove_Module( FT_Library library,
FT_Module module )
{ {
/* try to find the module from the table, then remove it from there */ /* try to find the module from the table, then remove it from there */
@ -2442,8 +2482,9 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Library( FT_Memory memory, FT_EXPORT_DEF( FT_Error )
FT_Library *alibrary ) FT_New_Library( FT_Memory memory,
FT_Library *alibrary )
{ {
FT_Library library = 0; FT_Library library = 0;
FT_Error error; FT_Error error;
@ -2476,7 +2517,8 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( FT_Error ) FT_Done_Library( FT_Library library ) FT_EXPORT_DEF( FT_Error )
FT_Done_Library( FT_Library library )
{ {
FT_Memory memory; FT_Memory memory;
FT_UInt n; FT_UInt n;
@ -2515,9 +2557,10 @@
/* documentation is in ftmodule.h */ /* documentation is in ftmodule.h */
FT_EXPORT_DEF( void ) FT_Set_Debug_Hook( FT_Library library, FT_EXPORT_DEF( void )
FT_UInt hook_index, FT_Set_Debug_Hook( FT_Library library,
FT_DebugHook_Func debug_hook ) FT_UInt hook_index,
FT_DebugHook_Func debug_hook )
{ {
if ( library && debug_hook && if ( library && debug_hook &&
hook_index < hook_index <

View File

@ -44,10 +44,10 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Decompose( FT_EXPORT_DEF( FT_Error )
FT_Outline* outline, FT_Outline_Decompose( FT_Outline* outline,
const FT_Outline_Funcs* interface, const FT_Outline_Funcs* interface,
void* user ) void* user )
{ {
#undef SCALED #undef SCALED
#define SCALED( x ) ( ( (x) << shift ) - delta ) #define SCALED( x ) ( ( (x) << shift ) - delta )
@ -249,11 +249,11 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Outline_New_Internal( FT_EXPORT_DEF( FT_Error )
FT_Memory memory, FT_Outline_New_Internal( FT_Memory memory,
FT_UInt numPoints, FT_UInt numPoints,
FT_Int numContours, FT_Int numContours,
FT_Outline *anoutline ) FT_Outline *anoutline )
{ {
FT_Error error; FT_Error error;
@ -284,10 +284,11 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_New( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_UInt numPoints, FT_Outline_New( FT_Library library,
FT_Int numContours, FT_UInt numPoints,
FT_Outline *anoutline ) FT_Int numContours,
FT_Outline *anoutline )
{ {
if ( !library ) if ( !library )
return FT_Err_Invalid_Library_Handle; return FT_Err_Invalid_Library_Handle;
@ -299,8 +300,9 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Copy( FT_Outline* source, FT_EXPORT_DEF( FT_Error )
FT_Outline *target ) FT_Outline_Copy( FT_Outline* source,
FT_Outline *target )
{ {
FT_Int is_owner; FT_Int is_owner;
@ -330,8 +332,9 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Outline_Done_Internal( FT_Memory memory, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline ) FT_Outline_Done_Internal( FT_Memory memory,
FT_Outline* outline )
{ {
if ( outline ) if ( outline )
{ {
@ -352,8 +355,9 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Done( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline ) FT_Outline_Done( FT_Library library,
FT_Outline* outline )
{ {
/* check for valid `outline' in FT_Outline_Done_Internal() */ /* check for valid `outline' in FT_Outline_Done_Internal() */
@ -366,8 +370,9 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( void ) FT_Outline_Get_CBox( FT_Outline* outline, FT_EXPORT_DEF( void )
FT_BBox *acbox ) FT_Outline_Get_CBox( FT_Outline* outline,
FT_BBox *acbox )
{ {
FT_Pos xMin, yMin, xMax, yMax; FT_Pos xMin, yMin, xMax, yMax;
@ -415,9 +420,10 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( void ) FT_Outline_Translate( FT_Outline* outline, FT_EXPORT_DEF( void )
FT_Pos xOffset, FT_Outline_Translate( FT_Outline* outline,
FT_Pos yOffset ) FT_Pos xOffset,
FT_Pos yOffset )
{ {
FT_UShort n; FT_UShort n;
FT_Vector* vec = outline->points; FT_Vector* vec = outline->points;
@ -434,7 +440,8 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( void ) FT_Outline_Reverse( FT_Outline* outline ) FT_EXPORT_DEF( void )
FT_Outline_Reverse( FT_Outline* outline )
{ {
FT_UShort n; FT_UShort n;
FT_Int first, last; FT_Int first, last;
@ -489,9 +496,10 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Render( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline, FT_Outline_Render( FT_Library library,
FT_Raster_Params* params ) FT_Outline* outline,
FT_Raster_Params* params )
{ {
FT_Error error; FT_Error error;
FT_Bool update = 0; FT_Bool update = 0;
@ -539,9 +547,10 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Get_Bitmap( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline, FT_Outline_Get_Bitmap( FT_Library library,
FT_Bitmap *abitmap ) FT_Outline* outline,
FT_Bitmap *abitmap )
{ {
FT_Raster_Params params; FT_Raster_Params params;
@ -563,8 +572,9 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( void ) FT_Vector_Transform( FT_Vector* vector, FT_EXPORT_DEF( void )
FT_Matrix* matrix ) FT_Vector_Transform( FT_Vector* vector,
FT_Matrix* matrix )
{ {
FT_Pos xz, yz; FT_Pos xz, yz;
@ -585,8 +595,9 @@
/* documentation is in ftoutln.h */ /* documentation is in ftoutln.h */
FT_EXPORT_DEF( void ) FT_Outline_Transform( FT_Outline* outline, FT_EXPORT_DEF( void )
FT_Matrix* matrix ) FT_Outline_Transform( FT_Outline* outline,
FT_Matrix* matrix )
{ {
FT_Vector* vec = outline->points; FT_Vector* vec = outline->points;
FT_Vector* limit = vec + outline->n_points; FT_Vector* limit = vec + outline->n_points;

View File

@ -31,10 +31,11 @@
#define FT_COMPONENT trace_stream #define FT_COMPONENT trace_stream
FT_BASE_DEF( void ) FT_New_Memory_Stream( FT_Library library, FT_BASE_DEF( void )
FT_Byte* base, FT_New_Memory_Stream( FT_Library library,
FT_ULong size, FT_Byte* base,
FT_Stream stream ) FT_ULong size,
FT_Stream stream )
{ {
stream->memory = library->memory; stream->memory = library->memory;
stream->base = base; stream->base = base;
@ -46,8 +47,9 @@
} }
FT_BASE_DEF( FT_Error ) FT_Seek_Stream( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_ULong pos ) FT_Seek_Stream( FT_Stream stream,
FT_ULong pos )
{ {
FT_Error error; FT_Error error;
@ -84,31 +86,35 @@
} }
FT_BASE_DEF( FT_Error ) FT_Skip_Stream( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_Long distance ) FT_Skip_Stream( FT_Stream stream,
FT_Long distance )
{ {
return FT_Seek_Stream( stream, (FT_ULong)( stream->pos + distance ) ); return FT_Seek_Stream( stream, (FT_ULong)( stream->pos + distance ) );
} }
FT_BASE_DEF( FT_Long ) FT_Stream_Pos( FT_Stream stream ) FT_BASE_DEF( FT_Long )
FT_Stream_Pos( FT_Stream stream )
{ {
return stream->pos; return stream->pos;
} }
FT_BASE_DEF( FT_Error ) FT_Read_Stream( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_Byte* buffer, FT_Read_Stream( FT_Stream stream,
FT_ULong count ) FT_Byte* buffer,
FT_ULong count )
{ {
return FT_Read_Stream_At( stream, stream->pos, buffer, count ); return FT_Read_Stream_At( stream, stream->pos, buffer, count );
} }
FT_BASE_DEF( FT_Error ) FT_Read_Stream_At( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_ULong pos, FT_Read_Stream_At( FT_Stream stream,
FT_Byte* buffer, FT_ULong pos,
FT_ULong count ) FT_Byte* buffer,
FT_ULong count )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_ULong read_bytes; FT_ULong read_bytes;
@ -149,9 +155,10 @@
} }
FT_BASE_DEF( FT_Error ) FT_Extract_Frame( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_ULong count, FT_Extract_Frame( FT_Stream stream,
FT_Byte** pbytes ) FT_ULong count,
FT_Byte** pbytes )
{ {
FT_Error error; FT_Error error;
@ -170,8 +177,9 @@
} }
FT_BASE_DEF( void ) FT_Release_Frame( FT_Stream stream, FT_BASE_DEF( void )
FT_Byte** pbytes ) FT_Release_Frame( FT_Stream stream,
FT_Byte** pbytes )
{ {
if ( stream->read ) if ( stream->read )
{ {
@ -184,8 +192,9 @@
} }
FT_BASE_DEF( FT_Error ) FT_Access_Frame( FT_Stream stream, FT_BASE_DEF( FT_Error )
FT_ULong count ) FT_Access_Frame( FT_Stream stream,
FT_ULong count )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_ULong read_bytes; FT_ULong read_bytes;
@ -244,7 +253,8 @@
} }
FT_BASE_DEF( void ) FT_Forget_Frame( FT_Stream stream ) FT_BASE_DEF( void )
FT_Forget_Frame( FT_Stream stream )
{ {
/* IMPORTANT: The assertion stream->cursor != 0 was removed, given */ /* IMPORTANT: The assertion stream->cursor != 0 was removed, given */
/* that it is possible to access a frame of length 0 in */ /* that it is possible to access a frame of length 0 in */
@ -269,7 +279,8 @@
} }
FT_BASE_DEF( FT_Char ) FT_Get_Char( FT_Stream stream ) FT_BASE_DEF( FT_Char )
FT_Get_Char( FT_Stream stream )
{ {
FT_Char result; FT_Char result;
@ -284,7 +295,8 @@
} }
FT_BASE_DEF( FT_Short ) FT_Get_Short( FT_Stream stream ) FT_BASE_DEF( FT_Short )
FT_Get_Short( FT_Stream stream )
{ {
FT_Byte* p; FT_Byte* p;
FT_Short result; FT_Short result;
@ -302,7 +314,8 @@
} }
FT_BASE_DEF( FT_Short ) FT_Get_ShortLE( FT_Stream stream ) FT_BASE_DEF( FT_Short )
FT_Get_ShortLE( FT_Stream stream )
{ {
FT_Byte* p; FT_Byte* p;
FT_Short result; FT_Short result;
@ -320,7 +333,8 @@
} }
FT_BASE_DEF( FT_Long ) FT_Get_Offset( FT_Stream stream ) FT_BASE_DEF( FT_Long )
FT_Get_Offset( FT_Stream stream )
{ {
FT_Byte* p; FT_Byte* p;
FT_Long result; FT_Long result;
@ -337,7 +351,8 @@
} }
FT_BASE_DEF( FT_Long ) FT_Get_Long( FT_Stream stream ) FT_BASE_DEF( FT_Long )
FT_Get_Long( FT_Stream stream )
{ {
FT_Byte* p; FT_Byte* p;
FT_Long result; FT_Long result;
@ -354,7 +369,8 @@
} }
FT_BASE_DEF( FT_Long ) FT_Get_LongLE( FT_Stream stream ) FT_BASE_DEF( FT_Long )
FT_Get_LongLE( FT_Stream stream )
{ {
FT_Byte* p; FT_Byte* p;
FT_Long result; FT_Long result;
@ -371,8 +387,9 @@
} }
FT_BASE_DEF( FT_Char ) FT_Read_Char( FT_Stream stream, FT_BASE_DEF( FT_Char )
FT_Error* error ) FT_Read_Char( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte result = 0; FT_Byte result = 0;
@ -407,8 +424,9 @@
} }
FT_BASE_DEF( FT_Short ) FT_Read_Short( FT_Stream stream, FT_BASE_DEF( FT_Short )
FT_Error* error ) FT_Read_Short( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte reads[2]; FT_Byte reads[2];
FT_Byte* p = 0; FT_Byte* p = 0;
@ -453,8 +471,9 @@
} }
FT_BASE_DEF( FT_Short ) FT_Read_ShortLE( FT_Stream stream, FT_BASE_DEF( FT_Short )
FT_Error* error ) FT_Read_ShortLE( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte reads[2]; FT_Byte reads[2];
FT_Byte* p = 0; FT_Byte* p = 0;
@ -499,8 +518,9 @@
} }
FT_BASE_DEF( FT_Long ) FT_Read_Offset( FT_Stream stream, FT_BASE_DEF( FT_Long )
FT_Error* error ) FT_Read_Offset( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte reads[3]; FT_Byte reads[3];
FT_Byte* p = 0; FT_Byte* p = 0;
@ -545,8 +565,9 @@
} }
FT_BASE_DEF( FT_Long ) FT_Read_Long( FT_Stream stream, FT_BASE_DEF( FT_Long )
FT_Error* error ) FT_Read_Long( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte reads[4]; FT_Byte reads[4];
FT_Byte* p = 0; FT_Byte* p = 0;
@ -591,8 +612,9 @@
} }
FT_BASE_DEF( FT_Long ) FT_Read_LongLE( FT_Stream stream, FT_BASE_DEF( FT_Long )
FT_Error* error ) FT_Read_LongLE( FT_Stream stream,
FT_Error* error )
{ {
FT_Byte reads[4]; FT_Byte reads[4];
FT_Byte* p = 0; FT_Byte* p = 0;
@ -637,9 +659,10 @@
} }
FT_BASE_DEF( FT_Error ) FT_Read_Fields( FT_Stream stream, FT_BASE_DEF( FT_Error )
const FT_Frame_Field* fields, FT_Read_Fields( FT_Stream stream,
void* structure ) const FT_Frame_Field* fields,
void* structure )
{ {
FT_Error error; FT_Error error;
FT_Bool frame_accessed = 0; FT_Bool frame_accessed = 0;

View File

@ -33,9 +33,10 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
FT_EXPORT_DEF( FT_Error ) FT_Outline_Oblique( FT_GlyphSlot original, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline, FT_Outline_Oblique( FT_GlyphSlot original,
FT_Pos* advance ) FT_Outline* outline,
FT_Pos* advance )
{ {
FT_Matrix transform; FT_Matrix transform;
@ -75,8 +76,8 @@
#include <freetype/internal/ftcalc.h> #include <freetype/internal/ftcalc.h>
static static FT_Pos
FT_Pos ft_norm( FT_Vector* vec ) ft_norm( FT_Vector* vec )
{ {
FT_Int64 t1, t2; FT_Int64 t1, t2;
@ -90,8 +91,8 @@
#else /* FT_CONFIG_OPTION_OLD_CALCS */ #else /* FT_CONFIG_OPTION_OLD_CALCS */
static static FT_Pos
FT_Pos ft_norm( FT_Vector* vec ) ft_norm( FT_Vector* vec )
{ {
FT_F26Dot6 u, v, d; FT_F26Dot6 u, v, d;
FT_Int shift; FT_Int shift;
@ -163,9 +164,9 @@
#endif /* FT_CONFIG_OPTION_OLD_CALCS */ #endif /* FT_CONFIG_OPTION_OLD_CALCS */
static static int
int ft_test_extrema( FT_Outline* outline, ft_test_extrema( FT_Outline* outline,
int n ) int n )
{ {
FT_Vector *prev, *cur, *next; FT_Vector *prev, *cur, *next;
FT_Pos product; FT_Pos product;
@ -217,8 +218,8 @@
/* */ /* */
/* The function returns either 1 or -1. */ /* The function returns either 1 or -1. */
/* */ /* */
static static int
int ft_get_orientation( FT_Outline* outline ) ft_get_orientation( FT_Outline* outline )
{ {
FT_BBox box; FT_BBox box;
FT_BBox indices; FT_BBox indices;
@ -291,9 +292,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Outline_Embolden( FT_GlyphSlot original, FT_EXPORT_DEF( FT_Error )
FT_Outline* outline, FT_Outline_Embolden( FT_GlyphSlot original,
FT_Pos* advance ) FT_Outline* outline,
FT_Pos* advance )
{ {
FT_Vector u, v; FT_Vector u, v;
FT_Vector* points; FT_Vector* points;

View File

@ -68,7 +68,7 @@
/* <Return> */ /* <Return> */
/* The address of newly allocated block. */ /* The address of newly allocated block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_alloc( FT_Memory memory, ft_alloc( FT_Memory memory,
long size ) long size )
{ {
@ -98,7 +98,7 @@
/* <Return> */ /* <Return> */
/* The address of the reallocated memory block. */ /* The address of the reallocated memory block. */
/* */ /* */
FT_CALLBACK_DEF(void*) FT_CALLBACK_DEF( void* )
ft_realloc( FT_Memory memory, ft_realloc( FT_Memory memory,
long cur_size, long cur_size,
long new_size, long new_size,
@ -124,7 +124,7 @@
/* */ /* */
/* block :: The address of block in memory to be freed. */ /* block :: The address of block in memory to be freed. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory, ft_free( FT_Memory memory,
void* block ) void* block )
{ {
@ -166,7 +166,7 @@
/* <Input> */ /* <Input> */
/* stream :: A pointer to the stream object. */ /* stream :: A pointer to the stream object. */
/* */ /* */
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ft_close_stream( FT_Stream stream ) ft_close_stream( FT_Stream stream )
{ {
fclose( STREAM_FILE( stream ) ); fclose( STREAM_FILE( stream ) );
@ -197,7 +197,7 @@
/* <Return> */ /* <Return> */
/* The number of bytes actually read. */ /* The number of bytes actually read. */
/* */ /* */
FT_CALLBACK_DEF(unsigned long) FT_CALLBACK_DEF( unsigned long )
ft_io_stream( FT_Stream stream, ft_io_stream( FT_Stream stream,
unsigned long offset, unsigned long offset,
unsigned char* buffer, unsigned char* buffer,
@ -216,8 +216,9 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname, FT_EXPORT_DEF( FT_Error )
FT_Stream astream ) FT_New_Stream( const char* filepathname,
FT_Stream astream )
{ {
FILE* file; FILE* file;
@ -255,7 +256,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( FT_Memory ) FT_New_Memory( void ) FT_EXPORT_DEF( FT_Memory )
FT_New_Memory( void )
{ {
FT_Memory memory; FT_Memory memory;
@ -275,7 +277,8 @@
/* documentation is in ftobjs.h */ /* documentation is in ftobjs.h */
FT_EXPORT_DEF( void ) FT_Done_Memory( FT_Memory memory ) FT_EXPORT_DEF( void )
FT_Done_Memory( FT_Memory memory )
{ {
memory->free( memory, memory ); memory->free( memory, memory );
} }

View File

@ -41,7 +41,8 @@
#ifdef FT_CONFIG_HAS_INT64 #ifdef FT_CONFIG_HAS_INT64
/* multiply a given value by the CORDIC shrink factor */ /* multiply a given value by the CORDIC shrink factor */
static FT_Fixed ft_trig_downscale( FT_Fixed val ) static FT_Fixed
ft_trig_downscale( FT_Fixed val )
{ {
FT_Fixed s; FT_Fixed s;
FT_Int64 v; FT_Int64 v;
@ -59,7 +60,8 @@
#else /* !FT_CONFIG_HAS_INT64 */ #else /* !FT_CONFIG_HAS_INT64 */
/* multiply a given value by the CORDIC shrink factor */ /* multiply a given value by the CORDIC shrink factor */
static FT_Fixed ft_trig_downscale( FT_Fixed val ) static FT_Fixed
ft_trig_downscale( FT_Fixed val )
{ {
FT_Fixed s; FT_Fixed s;
FT_UInt32 v1, v2, k1, k2, hi, lo1, lo2, lo3; FT_UInt32 v1, v2, k1, k2, hi, lo1, lo2, lo3;
@ -93,7 +95,8 @@
#endif /* !FT_CONFIG_HAS_INT64 */ #endif /* !FT_CONFIG_HAS_INT64 */
static FT_Int ft_trig_prenorm( FT_Vector* vec ) static FT_Int
ft_trig_prenorm( FT_Vector* vec )
{ {
FT_Fixed x, y, z; FT_Fixed x, y, z;
FT_Int shift; FT_Int shift;
@ -132,8 +135,9 @@
} }
static void ft_trig_pseudo_rotate( FT_Vector* vec, static void
FT_Angle theta ) ft_trig_pseudo_rotate( FT_Vector* vec,
FT_Angle theta )
{ {
FT_Int i; FT_Int i;
FT_Fixed x, y, xtemp; FT_Fixed x, y, xtemp;
@ -201,7 +205,8 @@
} }
static void ft_trig_pseudo_polarize( FT_Vector* vec ) static void
ft_trig_pseudo_polarize( FT_Vector* vec )
{ {
FT_Fixed theta; FT_Fixed theta;
FT_Fixed yi, i; FT_Fixed yi, i;
@ -277,7 +282,8 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( FT_Fixed ) FT_Cos( FT_Angle angle ) FT_EXPORT_DEF( FT_Fixed )
FT_Cos( FT_Angle angle )
{ {
FT_Vector v; FT_Vector v;
@ -292,7 +298,8 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( FT_Fixed ) FT_Sin( FT_Angle angle ) FT_EXPORT_DEF( FT_Fixed )
FT_Sin( FT_Angle angle )
{ {
return FT_Cos( FT_ANGLE_PI2 - angle ); return FT_Cos( FT_ANGLE_PI2 - angle );
} }
@ -300,7 +307,8 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( FT_Fixed ) FT_Tan( FT_Angle angle ) FT_EXPORT_DEF( FT_Fixed )
FT_Tan( FT_Angle angle )
{ {
FT_Vector v; FT_Vector v;
@ -315,8 +323,9 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( FT_Angle ) FT_Atan2( FT_Fixed dx, FT_EXPORT_DEF( FT_Angle )
FT_Fixed dy ) FT_Atan2( FT_Fixed dx,
FT_Fixed dy )
{ {
FT_Vector v; FT_Vector v;
@ -335,8 +344,9 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( void ) FT_Vector_Unit( FT_Vector* vec, FT_EXPORT_DEF( void )
FT_Angle angle ) FT_Vector_Unit( FT_Vector* vec,
FT_Angle angle )
{ {
vec->x = FT_TRIG_COSCALE >> 2; vec->x = FT_TRIG_COSCALE >> 2;
vec->y = 0; vec->y = 0;
@ -348,8 +358,9 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( void ) FT_Vector_Rotate( FT_Vector* vec, FT_EXPORT_DEF( void )
FT_Angle angle ) FT_Vector_Rotate( FT_Vector* vec,
FT_Angle angle )
{ {
FT_Int shift; FT_Int shift;
FT_Vector v; FT_Vector v;
@ -382,7 +393,8 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( FT_Fixed ) FT_Vector_Length( FT_Vector* vec ) FT_EXPORT_DEF( FT_Fixed )
FT_Vector_Length( FT_Vector* vec )
{ {
FT_Int shift; FT_Int shift;
FT_Vector v; FT_Vector v;
@ -411,9 +423,10 @@
/* documentation is in fttrigon.h */ /* documentation is in fttrigon.h */
FT_EXPORT_DEF( void ) FT_Vector_Polarize( FT_Vector* vec, FT_EXPORT_DEF( void )
FT_Fixed *length, FT_Vector_Polarize( FT_Vector* vec,
FT_Angle *angle ) FT_Fixed *length,
FT_Angle *angle )
{ {
FT_Int shift; FT_Int shift;
FT_Vector v; FT_Vector v;

58
src/cache/ftcchunk.c vendored
View File

@ -36,10 +36,11 @@
/* create a new chunk node, setting its cache index and ref count */ /* create a new chunk node, setting its cache index and ref count */
FT_EXPORT_DEF( FT_Error ) FTC_ChunkNode_Init( FTC_ChunkNode node, FT_EXPORT_DEF( FT_Error )
FTC_ChunkSet cset, FTC_ChunkNode_Init( FTC_ChunkNode node,
FT_UInt index, FTC_ChunkSet cset,
FT_Bool alloc ) FT_UInt index,
FT_Bool alloc )
{ {
FTC_Chunk_Cache cache = cset->cache; FTC_Chunk_Cache cache = cset->cache;
FTC_CacheNode_Data* data = FTC_CACHENODE_TO_DATA_P( &node->root ); FTC_CacheNode_Data* data = FTC_CACHENODE_TO_DATA_P( &node->root );
@ -69,7 +70,8 @@
} }
FT_EXPORT_DEF( void ) FTC_ChunkNode_Destroy( FTC_ChunkNode node ) FT_EXPORT_DEF( void )
FTC_ChunkNode_Destroy( FTC_ChunkNode node )
{ {
FTC_ChunkSet cset = node->cset; FTC_ChunkSet cset = node->cset;
@ -82,7 +84,8 @@
} }
FT_EXPORT_DEF( FT_ULong ) FTC_ChunkNode_Size( FTC_ChunkNode node ) FT_EXPORT_DEF( FT_ULong )
FTC_ChunkNode_Size( FTC_ChunkNode node )
{ {
FTC_ChunkSet cset = node->cset; FTC_ChunkSet cset = node->cset;
@ -108,9 +111,10 @@
/*************************************************************************/ /*************************************************************************/
FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_New( FTC_Chunk_Cache cache, FT_EXPORT_DEF( FT_Error )
FT_Pointer type, FTC_ChunkSet_New( FTC_Chunk_Cache cache,
FTC_ChunkSet *aset ) FT_Pointer type,
FTC_ChunkSet *aset )
{ {
FT_Error error; FT_Error error;
FT_Memory memory = cache->root.memory; FT_Memory memory = cache->root.memory;
@ -168,7 +172,8 @@
} }
FT_EXPORT_DEF( void ) FTC_ChunkSet_Destroy( FTC_ChunkSet cset ) FT_EXPORT_DEF( void )
FTC_ChunkSet_Destroy( FTC_ChunkSet cset )
{ {
FTC_Chunk_Cache cache = cset->cache; FTC_Chunk_Cache cache = cset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;
@ -210,11 +215,11 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_Lookup_Node( FT_EXPORT_DEF( FT_Error )
FTC_ChunkSet cset, FTC_ChunkSet_Lookup_Node( FTC_ChunkSet cset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_ChunkNode *anode, FTC_ChunkNode *anode,
FT_UInt *anindex ) FT_UInt *anindex )
{ {
FTC_Chunk_Cache cache = cset->cache; FTC_Chunk_Cache cache = cset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;
@ -288,7 +293,7 @@
( (FTC_ChunkSet)(node)->root.data ) ( (FTC_ChunkSet)(node)->root.data )
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_chunk_set_lru_init( FT_Lru lru, ftc_chunk_set_lru_init( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -311,7 +316,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_chunk_set_lru_done( FT_Lru lru, ftc_chunk_set_lru_done( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -324,7 +329,7 @@
} }
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_chunk_set_lru_compare( FT_LruNode node, ftc_chunk_set_lru_compare( FT_LruNode node,
FT_LruKey key ) FT_LruKey key )
{ {
@ -355,7 +360,8 @@
/*************************************************************************/ /*************************************************************************/
FT_EXPORT_DEF( FT_Error ) FTC_Chunk_Cache_Init( FTC_Chunk_Cache cache ) FT_EXPORT_DEF( FT_Error )
FTC_Chunk_Cache_Init( FTC_Chunk_Cache cache )
{ {
FT_Memory memory = cache->root.memory; FT_Memory memory = cache->root.memory;
FT_Error error; FT_Error error;
@ -381,18 +387,20 @@
} }
FT_EXPORT_DEF( void ) FTC_Chunk_Cache_Done( FTC_Chunk_Cache cache ) FT_EXPORT_DEF( void )
FTC_Chunk_Cache_Done( FTC_Chunk_Cache cache )
{ {
/* discard glyph sets */ /* discard glyph sets */
FT_Lru_Done( cache->csets_lru ); FT_Lru_Done( cache->csets_lru );
} }
FT_EXPORT_DEF( FT_Error ) FTC_Chunk_Cache_Lookup( FTC_Chunk_Cache cache, FT_EXPORT_DEF( FT_Error )
FT_Pointer type, FTC_Chunk_Cache_Lookup( FTC_Chunk_Cache cache,
FT_UInt gindex, FT_Pointer type,
FTC_ChunkNode *anode, FT_UInt gindex,
FT_UInt *aindex ) FTC_ChunkNode *anode,
FT_UInt *aindex )
{ {
FT_Error error; FT_Error error;
FTC_ChunkSet cset; FTC_ChunkSet cset;

56
src/cache/ftcglyph.c vendored
View File

@ -37,9 +37,10 @@
/* create a new glyph node, setting its cache index and ref count */ /* create a new glyph node, setting its cache index and ref count */
FT_EXPORT_DEF( void ) FTC_GlyphNode_Init( FTC_GlyphNode node, FT_EXPORT_DEF( void )
FTC_GlyphSet gset, FTC_GlyphNode_Init( FTC_GlyphNode node,
FT_UInt gindex ) FTC_GlyphSet gset,
FT_UInt gindex )
{ {
FTC_Glyph_Cache cache = gset->cache; FTC_Glyph_Cache cache = gset->cache;
FTC_CacheNode_Data* data = FTC_CACHENODE_TO_DATA_P( &node->root ); FTC_CacheNode_Data* data = FTC_CACHENODE_TO_DATA_P( &node->root );
@ -59,8 +60,9 @@
/* set its `cache_data' field correctly, otherwise bad things */ /* set its `cache_data' field correctly, otherwise bad things */
/* will happen! */ /* will happen! */
FT_EXPORT_DEF( void ) FTC_GlyphNode_Destroy( FTC_GlyphNode node, FT_EXPORT_DEF( void )
FTC_Glyph_Cache cache ) FTC_GlyphNode_Destroy( FTC_GlyphNode node,
FTC_Glyph_Cache cache )
{ {
FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index; FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index;
FTC_GlyphSet gset = (FTC_GlyphSet)gset_lru->root.data; FTC_GlyphSet gset = (FTC_GlyphSet)gset_lru->root.data;
@ -105,8 +107,9 @@
/* set its `user_data' field correctly, otherwise bad things */ /* set its `user_data' field correctly, otherwise bad things */
/* will happen! */ /* will happen! */
FT_EXPORT_DEF( FT_ULong ) FTC_GlyphNode_Size( FTC_GlyphNode node, FT_EXPORT_DEF( FT_ULong )
FTC_Glyph_Cache cache ) FTC_GlyphNode_Size( FTC_GlyphNode node,
FTC_Glyph_Cache cache )
{ {
FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index; FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index;
FTC_GlyphSet gset = (FTC_GlyphSet)gset_lru->root.data; FTC_GlyphSet gset = (FTC_GlyphSet)gset_lru->root.data;
@ -133,9 +136,10 @@
/*************************************************************************/ /*************************************************************************/
FT_EXPORT_DEF( FT_Error ) FTC_GlyphSet_New( FTC_Glyph_Cache cache, FT_EXPORT_DEF( FT_Error )
FT_Pointer type, FTC_GlyphSet_New( FTC_Glyph_Cache cache,
FTC_GlyphSet *aset ) FT_Pointer type,
FTC_GlyphSet *aset )
{ {
FT_Error error; FT_Error error;
FT_Memory memory = cache->root.memory; FT_Memory memory = cache->root.memory;
@ -185,7 +189,8 @@
} }
FT_EXPORT_DEF( void ) FTC_GlyphSet_Destroy( FTC_GlyphSet gset ) FT_EXPORT_DEF( void )
FTC_GlyphSet_Destroy( FTC_GlyphSet gset )
{ {
FTC_Glyph_Cache cache = gset->cache; FTC_Glyph_Cache cache = gset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;
@ -229,10 +234,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_GlyphSet_Lookup_Node( FT_EXPORT_DEF( FT_Error )
FTC_GlyphSet gset, FTC_GlyphSet_Lookup_Node( FTC_GlyphSet gset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_GlyphNode *anode ) FTC_GlyphNode *anode )
{ {
FTC_Glyph_Cache cache = gset->cache; FTC_Glyph_Cache cache = gset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;
@ -316,7 +321,7 @@
( (FTC_GlyphSet)(node)->root.data ) ( (FTC_GlyphSet)(node)->root.data )
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_glyph_set_lru_init( FT_Lru lru, ftc_glyph_set_lru_init( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -337,7 +342,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_glyph_set_lru_done( FT_Lru lru, ftc_glyph_set_lru_done( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -350,7 +355,7 @@
} }
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_glyph_set_lru_compare( FT_LruNode node, ftc_glyph_set_lru_compare( FT_LruNode node,
FT_LruKey key ) FT_LruKey key )
{ {
@ -381,7 +386,8 @@
/*************************************************************************/ /*************************************************************************/
FT_EXPORT_DEF( FT_Error ) FTC_Glyph_Cache_Init( FTC_Glyph_Cache cache ) FT_EXPORT_DEF( FT_Error )
FTC_Glyph_Cache_Init( FTC_Glyph_Cache cache )
{ {
FT_Memory memory = cache->root.memory; FT_Memory memory = cache->root.memory;
FT_Error error; FT_Error error;
@ -414,17 +420,19 @@
} }
FT_EXPORT_DEF( void ) FTC_Glyph_Cache_Done( FTC_Glyph_Cache cache ) FT_EXPORT_DEF( void )
FTC_Glyph_Cache_Done( FTC_Glyph_Cache cache )
{ {
/* discard glyph sets */ /* discard glyph sets */
FT_Lru_Done( cache->gsets_lru ); FT_Lru_Done( cache->gsets_lru );
} }
FT_EXPORT_DEF( FT_Error ) FTC_Glyph_Cache_Lookup( FTC_Glyph_Cache cache, FT_EXPORT_DEF( FT_Error )
FT_Pointer type, FTC_Glyph_Cache_Lookup( FTC_Glyph_Cache cache,
FT_UInt gindex, FT_Pointer type,
FTC_GlyphNode *anode ) FT_UInt gindex,
FTC_GlyphNode *anode )
{ {
FT_Error error; FT_Error error;
FTC_GlyphSet gset; FTC_GlyphSet gset;

24
src/cache/ftcimage.c vendored
View File

@ -62,7 +62,7 @@
/*************************************************************************/ /*************************************************************************/
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_glyph_image_node_destroy( FTC_GlyphImage node, ftc_glyph_image_node_destroy( FTC_GlyphImage node,
FTC_GlyphSet gset ) FTC_GlyphSet gset )
{ {
@ -74,7 +74,7 @@
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_glyph_image_node_new( FTC_GlyphSet gset, ftc_glyph_image_node_new( FTC_GlyphSet gset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_GlyphImage *anode ) FTC_GlyphImage *anode )
@ -161,7 +161,7 @@
/* this function is important because it is both part of */ /* this function is important because it is both part of */
/* an FTC_GlyphSet_Class and an FTC_CacheNode_Class */ /* an FTC_GlyphSet_Class and an FTC_CacheNode_Class */
/* */ /* */
FT_CALLBACK_DEF(FT_ULong) FT_CALLBACK_DEF( FT_ULong )
ftc_glyph_image_node_size( FTC_GlyphImage node ) ftc_glyph_image_node_size( FTC_GlyphImage node )
{ {
FT_ULong size = 0; FT_ULong size = 0;
@ -212,7 +212,7 @@
/*************************************************************************/ /*************************************************************************/
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_image_set_init( FTC_ImageSet iset, ftc_image_set_init( FTC_ImageSet iset,
FTC_Image_Desc* type ) FTC_Image_Desc* type )
{ {
@ -221,7 +221,7 @@
} }
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_image_set_compare( FTC_ImageSet iset, ftc_image_set_compare( FTC_ImageSet iset,
FTC_Image_Desc* type ) FTC_Image_Desc* type )
{ {
@ -265,8 +265,9 @@
}; };
FT_EXPORT_DEF( FT_Error ) FTC_Image_Cache_New( FTC_Manager manager, FT_EXPORT_DEF( FT_Error )
FTC_Image_Cache *acache ) FTC_Image_Cache_New( FTC_Manager manager,
FTC_Image_Cache *acache )
{ {
return FTC_Manager_Register_Cache( return FTC_Manager_Register_Cache(
manager, manager,
@ -275,10 +276,11 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_Image_Cache_Lookup( FTC_Image_Cache cache, FT_EXPORT_DEF( FT_Error )
FTC_Image_Desc* desc, FTC_Image_Cache_Lookup( FTC_Image_Cache cache,
FT_UInt gindex, FTC_Image_Desc* desc,
FT_Glyph *aglyph ) FT_UInt gindex,
FT_Glyph *aglyph )
{ {
FT_Error error; FT_Error error;
FTC_GlyphNode node; FTC_GlyphNode node;

62
src/cache/ftcmanag.c vendored
View File

@ -41,7 +41,7 @@
/*************************************************************************/ /*************************************************************************/
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_manager_init_face( FT_Lru lru, ftc_manager_init_face( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -67,7 +67,7 @@
/* helper function for ftc_manager_done_face() */ /* helper function for ftc_manager_done_face() */
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_manager_size_selector( FT_Lru lru, ftc_manager_size_selector( FT_Lru lru,
FT_LruNode node, FT_LruNode node,
FT_Pointer data ) FT_Pointer data )
@ -78,7 +78,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_manager_done_face( FT_Lru lru, ftc_manager_done_face( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -107,7 +107,7 @@
} FTC_FontRequest; } FTC_FontRequest;
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_manager_init_size( FT_Lru lru, ftc_manager_init_size( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -136,7 +136,7 @@
} }
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_manager_done_size( FT_Lru lru, ftc_manager_done_size( FT_Lru lru,
FT_LruNode node ) FT_LruNode node )
{ {
@ -147,7 +147,7 @@
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_manager_flush_size( FT_Lru lru, ftc_manager_flush_size( FT_Lru lru,
FT_LruNode node, FT_LruNode node,
FT_LruKey key ) FT_LruKey key )
@ -174,7 +174,7 @@
} }
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_manager_compare_size( FT_LruNode node, ftc_manager_compare_size( FT_LruNode node,
FT_LruKey key ) FT_LruKey key )
{ {
@ -212,13 +212,14 @@
}; };
FT_EXPORT_DEF( FT_Error ) FTC_Manager_New( FT_Library library, FT_EXPORT_DEF( FT_Error )
FT_UInt max_faces, FTC_Manager_New( FT_Library library,
FT_UInt max_sizes, FT_UInt max_faces,
FT_ULong max_bytes, FT_UInt max_sizes,
FTC_Face_Requester requester, FT_ULong max_bytes,
FT_Pointer req_data, FTC_Face_Requester requester,
FTC_Manager *amanager ) FT_Pointer req_data,
FTC_Manager *amanager )
{ {
FT_Error error; FT_Error error;
FT_Memory memory; FT_Memory memory;
@ -278,7 +279,8 @@
} }
FT_EXPORT_DEF( void ) FTC_Manager_Done( FTC_Manager manager ) FT_EXPORT_DEF( void )
FTC_Manager_Done( FTC_Manager manager )
{ {
FT_Memory memory; FT_Memory memory;
FT_UInt index; FT_UInt index;
@ -314,7 +316,8 @@
} }
FT_EXPORT_DEF( void ) FTC_Manager_Reset( FTC_Manager manager ) FT_EXPORT_DEF( void )
FTC_Manager_Reset( FTC_Manager manager )
{ {
if (manager ) if (manager )
{ {
@ -325,9 +328,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Lookup_Face( FTC_Manager manager, FT_EXPORT_DEF( FT_Error )
FTC_FaceID face_id, FTC_Manager_Lookup_Face( FTC_Manager manager,
FT_Face *aface ) FTC_FaceID face_id,
FT_Face *aface )
{ {
if ( !manager ) if ( !manager )
return FTC_Err_Invalid_Cache_Handle; return FTC_Err_Invalid_Cache_Handle;
@ -338,10 +342,11 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Lookup_Size( FTC_Manager manager, FT_EXPORT_DEF( FT_Error )
FTC_Font font, FTC_Manager_Lookup_Size( FTC_Manager manager,
FT_Face *aface, FTC_Font font,
FT_Size *asize ) FT_Face *aface,
FT_Size *asize )
{ {
FTC_FontRequest req; FTC_FontRequest req;
FT_Error error; FT_Error error;
@ -385,7 +390,8 @@
/* `Compress' the manager's data, i.e., get rid of old cache nodes */ /* `Compress' the manager's data, i.e., get rid of old cache nodes */
/* that are not referenced anymore in order to limit the total */ /* that are not referenced anymore in order to limit the total */
/* memory used by the cache. */ /* memory used by the cache. */
FT_EXPORT_DEF( void ) FTC_Manager_Compress( FTC_Manager manager ) FT_EXPORT_DEF( void )
FTC_Manager_Compress( FTC_Manager manager )
{ {
FT_ListNode node; FT_ListNode node;
@ -433,10 +439,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Register_Cache( FT_EXPORT_DEF( FT_Error )
FTC_Manager manager, FTC_Manager_Register_Cache( FTC_Manager manager,
FTC_Cache_Class* clazz, FTC_Cache_Class* clazz,
FTC_Cache *acache ) FTC_Cache *acache )
{ {
FT_Error error = FTC_Err_Invalid_Argument; FT_Error error = FTC_Err_Invalid_Argument;

28
src/cache/ftcsbits.c vendored
View File

@ -56,7 +56,7 @@
/*************************************************************************/ /*************************************************************************/
FT_CALLBACK_DEF(void) FT_CALLBACK_DEF( void )
ftc_sbit_chunk_node_destroy( FTC_ChunkNode node ) ftc_sbit_chunk_node_destroy( FTC_ChunkNode node )
{ {
FTC_ChunkSet cset = node->cset; FTC_ChunkSet cset = node->cset;
@ -73,7 +73,7 @@
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_bitmap_copy( FT_Memory memory, ftc_bitmap_copy( FT_Memory memory,
FT_Bitmap* source, FT_Bitmap* source,
FTC_SBit target ) FTC_SBit target )
@ -95,7 +95,7 @@
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_sbit_chunk_node_new( FTC_ChunkSet cset, ftc_sbit_chunk_node_new( FTC_ChunkSet cset,
FT_UInt index, FT_UInt index,
FTC_ChunkNode *anode ) FTC_ChunkNode *anode )
@ -240,7 +240,7 @@
/* this function is important because it is both part of */ /* this function is important because it is both part of */
/* an FTC_ChunkSet_Class and an FTC_CacheNode_Class */ /* an FTC_ChunkSet_Class and an FTC_CacheNode_Class */
/* */ /* */
FT_CALLBACK_DEF(FT_ULong) FT_CALLBACK_DEF( FT_ULong )
ftc_sbit_chunk_node_size( FTC_ChunkNode node ) ftc_sbit_chunk_node_size( FTC_ChunkNode node )
{ {
FT_ULong size; FT_ULong size;
@ -282,7 +282,7 @@
/*************************************************************************/ /*************************************************************************/
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_sbit_chunk_set_sizes( FTC_ChunkSet cset, ftc_sbit_chunk_set_sizes( FTC_ChunkSet cset,
FTC_Image_Desc* desc ) FTC_Image_Desc* desc )
{ {
@ -303,7 +303,7 @@
} }
FT_CALLBACK_DEF(FT_Error) FT_CALLBACK_DEF( FT_Error )
ftc_sbit_chunk_set_init( FTC_SBitSet sset, ftc_sbit_chunk_set_init( FTC_SBitSet sset,
FTC_Image_Desc* type ) FTC_Image_Desc* type )
{ {
@ -313,7 +313,7 @@
} }
FT_CALLBACK_DEF(FT_Bool) FT_CALLBACK_DEF( FT_Bool )
ftc_sbit_chunk_set_compare( FTC_SBitSet sset, ftc_sbit_chunk_set_compare( FTC_SBitSet sset,
FTC_Image_Desc* type ) FTC_Image_Desc* type )
{ {
@ -358,8 +358,9 @@
}; };
FT_EXPORT_DEF( FT_Error ) FTC_SBit_Cache_New( FTC_Manager manager, FT_EXPORT_DEF( FT_Error )
FTC_SBit_Cache *acache ) FTC_SBit_Cache_New( FTC_Manager manager,
FTC_SBit_Cache *acache )
{ {
return FTC_Manager_Register_Cache( return FTC_Manager_Register_Cache(
manager, manager,
@ -368,10 +369,11 @@
} }
FT_EXPORT_DEF( FT_Error ) FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache, FT_EXPORT_DEF( FT_Error )
FTC_Image_Desc* desc, FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache,
FT_UInt gindex, FTC_Image_Desc* desc,
FTC_SBit *ansbit ) FT_UInt gindex,
FTC_SBit *ansbit )
{ {
FT_Error error; FT_Error error;
FTC_ChunkNode node; FTC_ChunkNode node;

53
src/cache/ftlru.c vendored
View File

@ -25,10 +25,10 @@
#include "ftcerror.h" #include "ftcerror.h"
static static void
void lru_build_free_list( FT_LruNode nodes, lru_build_free_list( FT_LruNode nodes,
FT_UInt count, FT_UInt count,
FT_List free_list ) FT_List free_list )
{ {
FT_LruNode node = nodes; FT_LruNode node = nodes;
FT_LruNode limit = node + count; FT_LruNode limit = node + count;
@ -40,12 +40,13 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Lru_New( const FT_Lru_Class* clazz, FT_EXPORT_DEF( FT_Error )
FT_UInt max_elements, FT_Lru_New( const FT_Lru_Class* clazz,
FT_Pointer user_data, FT_UInt max_elements,
FT_Memory memory, FT_Pointer user_data,
FT_Bool pre_alloc, FT_Memory memory,
FT_Lru *anlru ) FT_Bool pre_alloc,
FT_Lru *anlru )
{ {
FT_Error error; FT_Error error;
FT_Lru lru; FT_Lru lru;
@ -84,7 +85,8 @@
} }
FT_EXPORT_DEF( void ) FT_Lru_Reset( FT_Lru lru ) FT_EXPORT_DEF( void )
FT_Lru_Reset( FT_Lru lru )
{ {
FT_ListNode node; FT_ListNode node;
FT_Lru_Class* clazz; FT_Lru_Class* clazz;
@ -119,7 +121,8 @@
} }
FT_EXPORT_DEF( void ) FT_Lru_Done( FT_Lru lru ) FT_EXPORT_DEF( void )
FT_Lru_Done( FT_Lru lru )
{ {
FT_Memory memory; FT_Memory memory;
@ -136,9 +139,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru, FT_EXPORT_DEF( FT_Error )
FT_LruKey key, FT_Lru_Lookup_Node( FT_Lru lru,
FT_LruNode *anode ) FT_LruKey key,
FT_LruNode *anode )
{ {
FT_Error error = 0; FT_Error error = 0;
FT_ListNode node; FT_ListNode node;
@ -262,9 +266,10 @@
} }
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup( FT_Lru lru, FT_EXPORT_DEF( FT_Error )
FT_LruKey key, FT_Lru_Lookup( FT_Lru lru,
FT_Pointer *anobject ) FT_LruKey key,
FT_Pointer *anobject )
{ {
FT_Error error; FT_Error error;
FT_LruNode node; FT_LruNode node;
@ -284,8 +289,9 @@
} }
FT_EXPORT_DEF( void ) FT_Lru_Remove_Node( FT_Lru lru, FT_EXPORT_DEF( void )
FT_LruNode node ) FT_Lru_Remove_Node( FT_Lru lru,
FT_LruNode node )
{ {
if ( !lru || !node ) if ( !lru || !node )
return; return;
@ -310,9 +316,10 @@
} }
FT_EXPORT_DEF( void ) FT_Lru_Remove_Selection( FT_Lru lru, FT_EXPORT_DEF( void )
FT_Lru_Selector selector, FT_Lru_Remove_Selection( FT_Lru lru,
FT_Pointer data ) FT_Lru_Selector selector,
FT_Pointer data )
{ {
if ( !lru || !selector ) if ( !lru || !selector )
return; return;

View File

@ -1617,19 +1617,20 @@
face->kern_table_index = n; face->kern_table_index = n;
/* ensure that the kerning pair table is sorted (yes, some */ /* ensure that the kerning pair table is sorted (yes, some */
/* fonts have unsorted tables !!) */ /* fonts have unsorted tables!) */
{ {
FT_UInt i; FT_UInt i;
TT_Kern_0_Pair* pair; TT_Kern_0_Pair* pair0;
pair = face->kern_pairs;
for ( i=1; i < num_pairs; i++, pair++ ) pair0 = face->kern_pairs;
for ( i = 1; i < num_pairs; i++, pair0++ )
{ {
if ( tt_kern_pair_compare( pair, pair+1 ) != -1 ) if ( tt_kern_pair_compare( pair0, pair0 + 1 ) != -1 )
{ {
qsort( (void*)face->kern_pairs, (int)num_pairs, qsort( (void*)face->kern_pairs, (int)num_pairs,
sizeof(TT_Kern_0_Pair), tt_kern_pair_compare ); sizeof ( TT_Kern_0_Pair ), tt_kern_pair_compare );
break; break;
} }
} }
@ -1651,11 +1652,13 @@
return error; return error;
} }
#undef TT_KERN_INDEX #undef TT_KERN_INDEX
#define TT_KERN_INDEX(g1,g2) (((FT_ULong)g1 << 16) | g2) #define TT_KERN_INDEX( g1, g2 ) ( ( (FT_ULong)g1 << 16 ) | g2 )
FT_CALLBACK_DEF(int) FT_CALLBACK_DEF(int)
tt_kern_pair_compare( const void* a, const void* b ) tt_kern_pair_compare( const void* a,
const void* b )
{ {
TT_Kern_0_Pair* pair1 = (TT_Kern_0_Pair*)a; TT_Kern_0_Pair* pair1 = (TT_Kern_0_Pair*)a;
TT_Kern_0_Pair* pair2 = (TT_Kern_0_Pair*)b; TT_Kern_0_Pair* pair2 = (TT_Kern_0_Pair*)b;
@ -1663,12 +1666,14 @@
FT_ULong index1 = TT_KERN_INDEX( pair1->left, pair1->right ); FT_ULong index1 = TT_KERN_INDEX( pair1->left, pair1->right );
FT_ULong index2 = TT_KERN_INDEX( pair2->left, pair2->right ); FT_ULong index2 = TT_KERN_INDEX( pair2->left, pair2->right );
return ( index1 < index2 ? -1 : return ( index1 < index2 ? -1 :
( index1 > index2 ? 1 : 0 )); ( index1 > index2 ? 1 : 0 ));
} }
#undef TT_KERN_INDEX #undef TT_KERN_INDEX
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* <Function> */ /* <Function> */