First round in converting
type foo ( ... ) to type foo ( ... ) Other minor formatting issues.
This commit is contained in:
parent
c40f386727
commit
f814d0fafe
24
ChangeLog
24
ChangeLog
|
@ -1,14 +1,22 @@
|
|||
* Version 2.0.4 released.
|
||||
=========================
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
have a correct kern table).
|
||||
|
||||
2001-06-26 Wolfgang Domröse <porthos.domroese@harz.de>
|
||||
|
||||
|
|
|
@ -212,8 +212,7 @@ FT_BEGIN_HEADER
|
|||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
/* The following macros are needed to compile the library with a */
|
||||
/* C++ compiler. Note that we do this for convenience -- please */
|
||||
/* don't ask for more C++ features. */
|
||||
/* C++ compiler and with 16bit compilers. */
|
||||
/* */
|
||||
|
||||
/* 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 */
|
||||
/* 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
|
||||
# ifdef __cplusplus
|
||||
# define FT_CALLBACK_DEF(x) extern "C" x
|
||||
# else
|
||||
# define FT_CALLBACK_DEF(x) static x
|
||||
# endif
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_DEF */
|
||||
|
||||
#ifndef FT_CALLBACK_TABLE
|
||||
# ifdef __cplusplus
|
||||
# define FT_CALLBACK_TABLE extern "C"
|
||||
# define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
# else
|
||||
# define FT_CALLBACK_TABLE extern
|
||||
# define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
# endif
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
#else
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_TABLE */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
|
@ -121,7 +121,7 @@
|
|||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
|
@ -147,7 +147,7 @@
|
|||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
|
@ -189,7 +189,7 @@
|
|||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
@ -202,8 +202,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||
FT_Stream stream )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Stream( const char* filepathname,
|
||||
FT_Stream stream )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
@ -271,7 +272,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -291,7 +293,8 @@
|
|||
|
||||
/* 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 );
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
|
||||
#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 FT_INTERNAL_DEBUG_H
|
||||
#include FT_SYSTEM_H
|
||||
|
@ -91,7 +91,7 @@
|
|||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
|
@ -121,7 +121,7 @@
|
|||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
|
@ -147,7 +147,7 @@
|
|||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
|
@ -189,7 +189,7 @@
|
|||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
|
||||
|
@ -202,8 +202,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||
FT_Stream stream )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Stream( const char* filepathname,
|
||||
FT_Stream stream )
|
||||
{
|
||||
int file;
|
||||
struct stat stat_buf;
|
||||
|
@ -271,7 +272,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -291,7 +293,8 @@
|
|||
|
||||
/* 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 );
|
||||
}
|
||||
|
|
|
@ -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
|
||||
version, etc.).
|
||||
|
||||
- the SFNT kerning lodaer now ensures that the table is sorted (since some
|
||||
problem fonts do not meet this requirement !!)
|
||||
- The SFNT kerning lodaer now ensures that the table is sorted (since some
|
||||
problem fonts do not meet this requirement).
|
||||
|
||||
============================================================================
|
||||
|
||||
|
|
|
@ -276,8 +276,7 @@ FT_BEGIN_HEADER
|
|||
#endif /* !FT_EXPORT_VAR */
|
||||
|
||||
/* The following macros are needed to compile the library with a */
|
||||
/* C++ compiler. Note that we do this for convenience -- please */
|
||||
/* don't ask for more C++ features. */
|
||||
/* C++ compiler and with 16bit compilers. */
|
||||
/* */
|
||||
|
||||
/* 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 */
|
||||
/* 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
|
||||
# ifdef __cplusplus
|
||||
# define FT_CALLBACK_DEF(x) extern "C" x
|
||||
# else
|
||||
# define FT_CALLBACK_DEF(x) static x
|
||||
# endif
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_CALLBACK_DEF( x ) static x
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_DEF */
|
||||
|
||||
#ifndef FT_CALLBACK_TABLE
|
||||
# ifdef __cplusplus
|
||||
# define FT_CALLBACK_TABLE extern "C"
|
||||
# define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
# else
|
||||
# define FT_CALLBACK_TABLE extern
|
||||
# define FT_CALLBACK_TABLE_DEF
|
||||
# endif
|
||||
#ifdef __cplusplus
|
||||
#define FT_CALLBACK_TABLE extern "C"
|
||||
#define FT_CALLBACK_TABLE_DEF extern "C"
|
||||
#else
|
||||
#define FT_CALLBACK_TABLE extern
|
||||
#define FT_CALLBACK_TABLE_DEF /* nothing */
|
||||
#endif
|
||||
#endif /* FT_CALLBACK_TABLE */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -64,8 +64,8 @@
|
|||
};
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
AH_Angle ah_angle( FT_Vector* v )
|
||||
FT_LOCAL_DEF AH_Angle
|
||||
ah_angle( FT_Vector* v )
|
||||
{
|
||||
FT_Pos dx, dy;
|
||||
AH_Angle angle;
|
||||
|
|
|
@ -47,8 +47,8 @@ FT_BEGIN_HEADER
|
|||
const AH_Angle ah_arctan[1L << AH_ATAN_BITS];
|
||||
|
||||
|
||||
FT_LOCAL
|
||||
AH_Angle ah_angle( FT_Vector* v );
|
||||
FT_LOCAL AH_Angle
|
||||
ah_angle( FT_Vector* v );
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -39,9 +39,9 @@
|
|||
|
||||
|
||||
/* simple insertion sort */
|
||||
static
|
||||
void sort_values( FT_Int count,
|
||||
FT_Pos* table )
|
||||
static void
|
||||
sort_values( FT_Int count,
|
||||
FT_Pos* table )
|
||||
{
|
||||
FT_Int i, j, swap;
|
||||
|
||||
|
@ -61,8 +61,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ah_hinter_compute_blues( AH_Hinter* hinter )
|
||||
static FT_Error
|
||||
ah_hinter_compute_blues( AH_Hinter* hinter )
|
||||
{
|
||||
AH_Blue blue;
|
||||
AH_Globals* globals = &hinter->globals->design;
|
||||
|
@ -285,8 +285,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ah_hinter_compute_widths( AH_Hinter* hinter )
|
||||
static FT_Error
|
||||
ah_hinter_compute_widths( AH_Hinter* hinter )
|
||||
{
|
||||
/* scan the array of segments in each direction */
|
||||
AH_Outline* outline = hinter->glyph;
|
||||
|
@ -384,8 +384,8 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_hinter_compute_globals( AH_Hinter* hinter )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_hinter_compute_globals( AH_Hinter* hinter )
|
||||
{
|
||||
return ah_hinter_compute_widths( hinter ) ||
|
||||
ah_hinter_compute_blues ( hinter );
|
||||
|
|
|
@ -32,7 +32,8 @@
|
|||
|
||||
#ifdef AH_DEBUG
|
||||
|
||||
void ah_dump_edges( AH_Outline* outline )
|
||||
void
|
||||
ah_dump_edges( AH_Outline* outline )
|
||||
{
|
||||
AH_Edge* edges;
|
||||
AH_Edge* edge_limit;
|
||||
|
@ -83,7 +84,8 @@
|
|||
|
||||
|
||||
/* 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* segment_limit;
|
||||
|
@ -135,9 +137,9 @@
|
|||
|
||||
|
||||
/* compute the direction value of a given vector.. */
|
||||
static
|
||||
AH_Direction ah_compute_direction( FT_Pos dx,
|
||||
FT_Pos dy )
|
||||
static AH_Direction
|
||||
ah_compute_direction( FT_Pos dx,
|
||||
FT_Pos dy )
|
||||
{
|
||||
AH_Direction dir;
|
||||
FT_Pos ax = ABS( dx );
|
||||
|
@ -163,9 +165,9 @@
|
|||
|
||||
/* this function is used by ah_get_orientation (see below) to test */
|
||||
/* the fill direction of a given bbox extrema */
|
||||
static
|
||||
int ah_test_extrema( FT_Outline* outline,
|
||||
int n )
|
||||
static int
|
||||
ah_test_extrema( FT_Outline* outline,
|
||||
int n )
|
||||
{
|
||||
FT_Vector *prev, *cur, *next;
|
||||
FT_Pos product;
|
||||
|
@ -217,8 +219,8 @@
|
|||
/* */
|
||||
/* The function returns either 1 or -1. */
|
||||
/* */
|
||||
static
|
||||
int ah_get_orientation( FT_Outline* outline )
|
||||
static int
|
||||
ah_get_orientation( FT_Outline* outline )
|
||||
{
|
||||
FT_BBox box;
|
||||
FT_BBox indices;
|
||||
|
@ -299,9 +301,9 @@
|
|||
/* <Description> */
|
||||
/* Creates a new and empty AH_Outline object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_outline_new( FT_Memory memory,
|
||||
AH_Outline** aoutline )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_outline_new( FT_Memory memory,
|
||||
AH_Outline** aoutline )
|
||||
{
|
||||
FT_Error error;
|
||||
AH_Outline* outline;
|
||||
|
@ -325,8 +327,8 @@
|
|||
/* <Description> */
|
||||
/* Destroys a given AH_Outline object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_done( AH_Outline* outline )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_done( AH_Outline* outline )
|
||||
{
|
||||
FT_Memory memory = outline->memory;
|
||||
|
||||
|
@ -349,9 +351,9 @@
|
|||
/* Saves the content of a given AH_Outline object into a face's glyph */
|
||||
/* slot. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_save( AH_Outline* outline,
|
||||
AH_Loader* gloader )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_save( AH_Outline* outline,
|
||||
AH_Loader* gloader )
|
||||
{
|
||||
AH_Point* point = outline->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 */
|
||||
/* object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face )
|
||||
{
|
||||
FT_Memory memory = outline->memory;
|
||||
FT_Error error = AH_Err_Ok;
|
||||
|
@ -619,9 +621,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source )
|
||||
FT_LOCAL_DEF void
|
||||
ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source )
|
||||
{
|
||||
AH_Point* point = outline->points;
|
||||
AH_Point* point_limit = point + outline->num_points;
|
||||
|
@ -673,8 +675,8 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_compute_segments( AH_Outline* outline )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_compute_segments( AH_Outline* outline )
|
||||
{
|
||||
int dimension;
|
||||
AH_Segment* segments;
|
||||
|
@ -916,8 +918,8 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_link_segments( AH_Outline* outline )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_link_segments( AH_Outline* outline )
|
||||
{
|
||||
AH_Segment* segments;
|
||||
AH_Segment* segment_limit;
|
||||
|
@ -1036,9 +1038,8 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
static
|
||||
void ah_outline_compute_edges( AH_Outline* outline )
|
||||
static void
|
||||
ah_outline_compute_edges( AH_Outline* outline )
|
||||
{
|
||||
AH_Edge* edges;
|
||||
AH_Segment* segments;
|
||||
|
@ -1290,8 +1291,8 @@
|
|||
/* <Description> */
|
||||
/* Performs feature detection on a given AH_Outline object. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_detect_features( AH_Outline* outline )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_detect_features( AH_Outline* outline )
|
||||
{
|
||||
ah_outline_compute_segments( outline );
|
||||
ah_outline_link_segments ( outline );
|
||||
|
@ -1308,9 +1309,9 @@
|
|||
/* Computes the `blue edges' in a given outline (i.e. those that must */
|
||||
/* be snapped to a blue zone edge (top or bottom). */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_compute_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* face_globals )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_compute_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* face_globals )
|
||||
{
|
||||
AH_Edge* edge = outline->horz_edges;
|
||||
AH_Edge* edge_limit = edge + outline->num_hedges;
|
||||
|
@ -1442,9 +1443,9 @@
|
|||
/* the contents of the detected edges (basically change the `blue */
|
||||
/* edge' pointer from `design units' to `scaled ones'). */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
void ah_outline_scale_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals )
|
||||
FT_LOCAL_DEF void
|
||||
ah_outline_scale_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals )
|
||||
{
|
||||
AH_Edge* edge = outline->horz_edges;
|
||||
AH_Edge* edge_limit = edge + outline->num_hedges;
|
||||
|
@ -1461,6 +1462,4 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* END */
|
||||
|
|
|
@ -45,43 +45,44 @@ FT_BEGIN_HEADER
|
|||
} AH_UV;
|
||||
|
||||
|
||||
FT_LOCAL
|
||||
void ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source );
|
||||
FT_LOCAL void
|
||||
ah_setup_uv( AH_Outline* outline,
|
||||
AH_UV source );
|
||||
|
||||
|
||||
/* AH_Outline functions - they should be typically called in this order */
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error ah_outline_new( FT_Memory memory,
|
||||
AH_Outline** aoutline );
|
||||
FT_LOCAL FT_Error
|
||||
ah_outline_new( FT_Memory memory,
|
||||
AH_Outline** aoutline );
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face );
|
||||
FT_LOCAL FT_Error
|
||||
ah_outline_load( AH_Outline* outline,
|
||||
FT_Face face );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_compute_segments( AH_Outline* outline );
|
||||
FT_LOCAL void
|
||||
ah_outline_compute_segments( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_link_segments( AH_Outline* outline );
|
||||
FT_LOCAL void
|
||||
ah_outline_link_segments( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_detect_features( AH_Outline* outline );
|
||||
FT_LOCAL void
|
||||
ah_outline_detect_features( AH_Outline* outline );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_compute_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
FT_LOCAL void
|
||||
ah_outline_compute_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_scale_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
FT_LOCAL void
|
||||
ah_outline_scale_blue_edges( AH_Outline* outline,
|
||||
AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_save( AH_Outline* outline, AH_Loader* loader );
|
||||
FT_LOCAL void
|
||||
ah_outline_save( AH_Outline* outline,
|
||||
AH_Loader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_outline_done( AH_Outline* outline );
|
||||
FT_LOCAL void
|
||||
ah_outline_done( AH_Outline* outline );
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -43,10 +43,10 @@
|
|||
|
||||
/* snap a given width in scaled coordinates to one of the */
|
||||
/* current standard widths */
|
||||
static
|
||||
FT_Pos ah_snap_width( FT_Pos* widths,
|
||||
FT_Int count,
|
||||
FT_Pos width )
|
||||
static FT_Pos
|
||||
ah_snap_width( FT_Pos* widths,
|
||||
FT_Int count,
|
||||
FT_Pos width )
|
||||
{
|
||||
int n;
|
||||
FT_Pos best = 64 + 32 + 2;
|
||||
|
@ -88,11 +88,11 @@
|
|||
|
||||
|
||||
/* align one stem edge relative to the previous stem edge */
|
||||
static
|
||||
void ah_align_linked_edge( AH_Hinter* hinter,
|
||||
AH_Edge* base_edge,
|
||||
AH_Edge* stem_edge,
|
||||
int vertical )
|
||||
static void
|
||||
ah_align_linked_edge( AH_Hinter* hinter,
|
||||
AH_Edge* base_edge,
|
||||
AH_Edge* stem_edge,
|
||||
int vertical )
|
||||
{
|
||||
FT_Pos dist = stem_edge->opos - base_edge->opos;
|
||||
AH_Globals* globals = &hinter->globals->scaled;
|
||||
|
@ -146,10 +146,10 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ah_align_serif_edge( AH_Hinter* hinter,
|
||||
AH_Edge* base,
|
||||
AH_Edge* serif )
|
||||
static void
|
||||
ah_align_serif_edge( AH_Hinter* hinter,
|
||||
AH_Edge* base,
|
||||
AH_Edge* serif )
|
||||
{
|
||||
FT_Pos dist;
|
||||
FT_Pos sign = 1;
|
||||
|
@ -190,8 +190,8 @@
|
|||
|
||||
|
||||
/* Another alternative edge hinting algorithm */
|
||||
static
|
||||
void ah_hint_edges_3( AH_Hinter* hinter )
|
||||
static void
|
||||
ah_hint_edges_3( AH_Hinter* hinter )
|
||||
{
|
||||
AH_Edge* edges;
|
||||
AH_Edge* edge_limit;
|
||||
|
@ -372,10 +372,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_hint_edges( AH_Hinter* hinter,
|
||||
FT_Bool no_horz_edges,
|
||||
FT_Bool no_vert_edges )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_hint_edges( AH_Hinter* hinter,
|
||||
FT_Bool no_horz_edges,
|
||||
FT_Bool no_vert_edges )
|
||||
{
|
||||
hinter->disable_horz_edges = no_horz_edges;
|
||||
hinter->disable_vert_edges = no_vert_edges;
|
||||
|
@ -415,8 +415,8 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
static
|
||||
void ah_hinter_align_edge_points( AH_Hinter* hinter )
|
||||
static void
|
||||
ah_hinter_align_edge_points( AH_Hinter* hinter )
|
||||
{
|
||||
AH_Outline* outline = hinter->glyph;
|
||||
AH_Edge* edges;
|
||||
|
@ -476,8 +476,8 @@
|
|||
|
||||
|
||||
/* hint the strong points -- this is equivalent to the TrueType `IP' */
|
||||
static
|
||||
void ah_hinter_align_strong_points( AH_Hinter* hinter )
|
||||
static void
|
||||
ah_hinter_align_strong_points( AH_Hinter* hinter )
|
||||
{
|
||||
AH_Outline* outline = hinter->glyph;
|
||||
FT_Int dimension;
|
||||
|
@ -605,10 +605,10 @@
|
|||
|
||||
#ifndef AH_OPTION_NO_WEAK_INTERPOLATION
|
||||
|
||||
static
|
||||
void ah_iup_shift( AH_Point* p1,
|
||||
AH_Point* p2,
|
||||
AH_Point* ref )
|
||||
static void
|
||||
ah_iup_shift( AH_Point* p1,
|
||||
AH_Point* p2,
|
||||
AH_Point* ref )
|
||||
{
|
||||
AH_Point* p;
|
||||
FT_Pos delta = ref->u - ref->v;
|
||||
|
@ -622,11 +622,11 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ah_iup_interp( AH_Point* p1,
|
||||
AH_Point* p2,
|
||||
AH_Point* ref1,
|
||||
AH_Point* ref2 )
|
||||
static void
|
||||
ah_iup_interp( AH_Point* p1,
|
||||
AH_Point* p2,
|
||||
AH_Point* ref1,
|
||||
AH_Point* ref2 )
|
||||
{
|
||||
AH_Point* p;
|
||||
FT_Pos u;
|
||||
|
@ -691,8 +691,8 @@
|
|||
|
||||
|
||||
/* interpolate weak points -- this is equivalent to the TrueType `IUP' */
|
||||
static
|
||||
void ah_hinter_align_weak_points( AH_Hinter* hinter )
|
||||
static void
|
||||
ah_hinter_align_weak_points( AH_Hinter* hinter )
|
||||
{
|
||||
AH_Outline* outline = hinter->glyph;
|
||||
FT_Int dimension;
|
||||
|
@ -799,8 +799,8 @@
|
|||
#endif /* !AH_OPTION_NO_WEAK_INTERPOLATION */
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_align_points( AH_Hinter* hinter )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_align_points( AH_Hinter* hinter )
|
||||
{
|
||||
ah_hinter_align_edge_points( hinter );
|
||||
|
||||
|
@ -826,10 +826,10 @@
|
|||
|
||||
|
||||
/* scale and fit the global metrics */
|
||||
static
|
||||
void ah_hinter_scale_globals( AH_Hinter* hinter,
|
||||
FT_Fixed x_scale,
|
||||
FT_Fixed y_scale )
|
||||
static void
|
||||
ah_hinter_scale_globals( AH_Hinter* hinter,
|
||||
FT_Fixed x_scale,
|
||||
FT_Fixed y_scale )
|
||||
{
|
||||
FT_Int n;
|
||||
AH_Face_Globals* globals = hinter->globals;
|
||||
|
@ -879,8 +879,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ah_hinter_align( AH_Hinter* hinter )
|
||||
static void
|
||||
ah_hinter_align( AH_Hinter* hinter )
|
||||
{
|
||||
ah_hinter_align_edge_points( hinter );
|
||||
ah_hinter_align_points( hinter );
|
||||
|
@ -888,8 +888,8 @@
|
|||
|
||||
|
||||
/* finalize a hinter object */
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_done( AH_Hinter* hinter )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_done( AH_Hinter* hinter )
|
||||
{
|
||||
if ( hinter )
|
||||
{
|
||||
|
@ -911,9 +911,9 @@
|
|||
|
||||
|
||||
/* create a new empty hinter object */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter )
|
||||
{
|
||||
AH_Hinter* hinter = 0;
|
||||
FT_Memory memory = library->memory;
|
||||
|
@ -947,10 +947,10 @@
|
|||
|
||||
|
||||
/* create a face's autohint globals */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_hinter_new_face_globals( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
AH_Globals* globals )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_hinter_new_face_globals( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
AH_Globals* globals )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory = hinter->memory;
|
||||
|
@ -979,8 +979,8 @@
|
|||
|
||||
|
||||
/* discard a face's autohint globals */
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_done_face_globals( AH_Face_Globals* globals )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_done_face_globals( AH_Face_Globals* globals )
|
||||
{
|
||||
FT_Face face = globals->face;
|
||||
FT_Memory memory = face->memory;
|
||||
|
@ -990,11 +990,11 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ah_hinter_load( AH_Hinter* hinter,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt load_flags,
|
||||
FT_UInt depth )
|
||||
static FT_Error
|
||||
ah_hinter_load( AH_Hinter* hinter,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt load_flags,
|
||||
FT_UInt depth )
|
||||
{
|
||||
FT_Face face = hinter->face;
|
||||
FT_GlyphSlot slot = face->glyph;
|
||||
|
@ -1308,12 +1308,12 @@
|
|||
|
||||
|
||||
/* load and hint a given glyph */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags )
|
||||
{
|
||||
FT_Face face = slot->face;
|
||||
FT_Error error;
|
||||
|
@ -1362,11 +1362,11 @@
|
|||
|
||||
|
||||
/* retrieve a face's autohint globals for client applications */
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_get_global_hints( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
long* global_len )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_get_global_hints( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
long* global_len )
|
||||
{
|
||||
AH_Globals* globals = 0;
|
||||
FT_Memory memory = hinter->memory;
|
||||
|
@ -1399,9 +1399,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_LOCAL_DEF
|
||||
void ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints )
|
||||
FT_LOCAL_DEF void
|
||||
ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints )
|
||||
{
|
||||
FT_Memory memory = hinter->memory;
|
||||
|
||||
|
|
|
@ -37,34 +37,34 @@ FT_BEGIN_HEADER
|
|||
|
||||
|
||||
/* create a new empty hinter object */
|
||||
FT_LOCAL
|
||||
FT_Error ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter );
|
||||
FT_LOCAL FT_Error
|
||||
ah_hinter_new( FT_Library library,
|
||||
AH_Hinter** ahinter );
|
||||
|
||||
/* Load a hinted glyph in the hinter */
|
||||
FT_LOCAL
|
||||
FT_Error ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags );
|
||||
FT_LOCAL FT_Error
|
||||
ah_hinter_load_glyph( AH_Hinter* hinter,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags );
|
||||
|
||||
/* finalize a hinter object */
|
||||
FT_LOCAL
|
||||
void ah_hinter_done( AH_Hinter* hinter );
|
||||
FT_LOCAL void
|
||||
ah_hinter_done( AH_Hinter* hinter );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_hinter_done_face_globals( AH_Face_Globals* globals );
|
||||
FT_LOCAL void
|
||||
ah_hinter_done_face_globals( AH_Face_Globals* globals );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_hinter_get_global_hints( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
long* global_len );
|
||||
FT_LOCAL void
|
||||
ah_hinter_get_global_hints( AH_Hinter* hinter,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
long* global_len );
|
||||
|
||||
FT_LOCAL
|
||||
void ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints );
|
||||
FT_LOCAL void
|
||||
ah_hinter_done_global_hints( AH_Hinter* hinter,
|
||||
void* global_hints );
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -69,40 +69,40 @@ FT_BEGIN_HEADER
|
|||
};
|
||||
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error AH_GlyphLoader_New( FT_Memory memory,
|
||||
AH_GlyphLoader** aloader );
|
||||
FT_LOCAL FT_Error
|
||||
AH_GlyphLoader_New( FT_Memory memory,
|
||||
AH_GlyphLoader** aloader );
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error AH_GlyphLoader_Create_Extra( AH_GlyphLoader* loader );
|
||||
FT_LOCAL FT_Error
|
||||
AH_GlyphLoader_Create_Extra( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
void AH_GlyphLoader_Done( AH_GlyphLoader* loader );
|
||||
FT_LOCAL void
|
||||
AH_GlyphLoader_Done( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
void AH_GlyphLoader_Reset( AH_GlyphLoader* loader );
|
||||
FT_LOCAL void
|
||||
AH_GlyphLoader_Reset( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
void AH_GlyphLoader_Rewind( AH_GlyphLoader* loader );
|
||||
FT_LOCAL void
|
||||
AH_GlyphLoader_Rewind( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error AH_GlyphLoader_Check_Points( AH_GlyphLoader* loader,
|
||||
FT_UInt n_points,
|
||||
FT_UInt n_contours );
|
||||
FT_LOCAL FT_Error
|
||||
AH_GlyphLoader_Check_Points( AH_GlyphLoader* loader,
|
||||
FT_UInt n_points,
|
||||
FT_UInt n_contours );
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error AH_GlyphLoader_Check_Subglyphs( AH_GlyphLoader* loader,
|
||||
FT_UInt n_subs );
|
||||
FT_LOCAL FT_Error
|
||||
AH_GlyphLoader_Check_Subglyphs( AH_GlyphLoader* loader,
|
||||
FT_UInt n_subs );
|
||||
|
||||
FT_LOCAL
|
||||
void AH_GlyphLoader_Prepare( AH_GlyphLoader* loader );
|
||||
FT_LOCAL void
|
||||
AH_GlyphLoader_Prepare( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
void AH_GlyphLoader_Add( AH_GlyphLoader* loader );
|
||||
FT_LOCAL void
|
||||
AH_GlyphLoader_Add( AH_GlyphLoader* loader );
|
||||
|
||||
FT_LOCAL
|
||||
FT_Error AH_GlyphLoader_Copy_Points( AH_GlyphLoader* target,
|
||||
FT_GlyphLoader* source );
|
||||
FT_LOCAL FT_Error
|
||||
AH_GlyphLoader_Copy_Points( AH_GlyphLoader* target,
|
||||
FT_GlyphLoader* source );
|
||||
|
||||
#else /* _STANDALONE */
|
||||
|
||||
|
|
|
@ -32,21 +32,21 @@
|
|||
} FT_AutoHinterRec;
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ft_autohinter_init( FT_AutoHinter module )
|
||||
{
|
||||
return ah_hinter_new( module->root.library, &module->hinter );
|
||||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_autohinter_done( FT_AutoHinter module )
|
||||
{
|
||||
ah_hinter_done( module->hinter );
|
||||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ft_autohinter_load( FT_AutoHinter module,
|
||||
FT_GlyphSlot slot,
|
||||
FT_Size size,
|
||||
|
@ -58,7 +58,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_autohinter_reset( FT_AutoHinter module,
|
||||
FT_Face face )
|
||||
{
|
||||
|
@ -69,7 +69,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_autohinter_get_globals( FT_AutoHinter module,
|
||||
FT_Face face,
|
||||
void** global_hints,
|
||||
|
@ -80,7 +80,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_autohinter_done_globals( FT_AutoHinter module,
|
||||
void* global_hints )
|
||||
{
|
||||
|
|
|
@ -65,8 +65,8 @@
|
|||
|
||||
#define FLOAT( x ) ( (float)( (x) / 64.0 ) )
|
||||
|
||||
static
|
||||
void optim_log( const char* fmt, ... )
|
||||
static void
|
||||
optim_log( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
@ -77,8 +77,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void AH_Dump_Stems( AH_Optimizer* optimizer )
|
||||
static void
|
||||
AH_Dump_Stems( AH_Optimizer* optimizer )
|
||||
{
|
||||
int n;
|
||||
AH_Stem* stem;
|
||||
|
@ -98,8 +98,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void AH_Dump_Stems2( AH_Optimizer* optimizer )
|
||||
static void
|
||||
AH_Dump_Stems2( AH_Optimizer* optimizer )
|
||||
{
|
||||
int n;
|
||||
AH_Stem* stem;
|
||||
|
@ -117,8 +117,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void AH_Dump_Springs( AH_Optimizer* optimizer )
|
||||
static void
|
||||
AH_Dump_Springs( AH_Optimizer* optimizer )
|
||||
{
|
||||
int n;
|
||||
AH_Spring* spring;
|
||||
|
@ -156,9 +156,9 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
static
|
||||
int valid_stem_segments( AH_Segment* seg1,
|
||||
AH_Segment* seg2 )
|
||||
static int
|
||||
valid_stem_segments( AH_Segment* seg1,
|
||||
AH_Segment* seg2 )
|
||||
{
|
||||
return seg1->serif == 0 &&
|
||||
seg2 &&
|
||||
|
@ -170,8 +170,8 @@
|
|||
|
||||
|
||||
/* compute all stems in an outline */
|
||||
static
|
||||
int optim_compute_stems( AH_Optimizer* optimizer )
|
||||
static int
|
||||
optim_compute_stems( AH_Optimizer* optimizer )
|
||||
{
|
||||
AH_Outline* outline = optimizer->outline;
|
||||
FT_Fixed scale;
|
||||
|
@ -332,9 +332,9 @@
|
|||
|
||||
|
||||
/* returns the spring area between two stems, 0 if none */
|
||||
static
|
||||
FT_Pos stem_spring_area( AH_Stem* stem1,
|
||||
AH_Stem* stem2 )
|
||||
static FT_Pos
|
||||
stem_spring_area( AH_Stem* stem1,
|
||||
AH_Stem* stem2 )
|
||||
{
|
||||
FT_Pos area1 = stem1->max_coord - stem1->min_coord;
|
||||
FT_Pos area2 = stem2->max_coord - stem2->min_coord;
|
||||
|
@ -362,8 +362,8 @@
|
|||
|
||||
|
||||
/* compute all springs in an outline */
|
||||
static
|
||||
int optim_compute_springs( AH_Optimizer* optimizer )
|
||||
static int
|
||||
optim_compute_springs( AH_Optimizer* optimizer )
|
||||
{
|
||||
/* basically, a spring exists between two stems if most of their */
|
||||
/* surface is aligned */
|
||||
|
@ -469,8 +469,8 @@
|
|||
#ifndef AH_BRUTE_FORCE
|
||||
|
||||
/* compute all spring tensions */
|
||||
static
|
||||
void optim_compute_tensions( AH_Optimizer* optimizer )
|
||||
static void
|
||||
optim_compute_tensions( AH_Optimizer* optimizer )
|
||||
{
|
||||
AH_Spring* spring = optimizer->springs;
|
||||
AH_Spring* limit = spring + optimizer->num_springs;
|
||||
|
@ -527,8 +527,8 @@
|
|||
|
||||
|
||||
/* compute all stem movements -- returns 0 if nothing moved */
|
||||
static
|
||||
int optim_compute_stem_movements( AH_Optimizer* optimizer )
|
||||
static int
|
||||
optim_compute_stem_movements( AH_Optimizer* optimizer )
|
||||
{
|
||||
AH_Stem* stems = optimizer->stems;
|
||||
AH_Stem* limit = stems + optimizer->num_stems;
|
||||
|
@ -588,8 +588,8 @@
|
|||
|
||||
|
||||
/* compute current global distortion from springs */
|
||||
static
|
||||
FT_Pos optim_compute_distortion( AH_Optimizer* optimizer )
|
||||
static FT_Pos
|
||||
optim_compute_distortion( AH_Optimizer* optimizer )
|
||||
{
|
||||
AH_Spring* spring = optimizer->springs;
|
||||
AH_Spring* limit = spring + optimizer->num_springs;
|
||||
|
@ -615,8 +615,8 @@
|
|||
|
||||
|
||||
/* record stems configuration in `best of' history */
|
||||
static
|
||||
void optim_record_configuration( AH_Optimizer* optimizer )
|
||||
static void
|
||||
optim_record_configuration( AH_Optimizer* optimizer )
|
||||
{
|
||||
FT_Pos distortion;
|
||||
AH_Configuration* configs = optimizer->configs;
|
||||
|
@ -671,8 +671,8 @@
|
|||
#ifdef AH_BRUTE_FORCE
|
||||
|
||||
/* optimize outline in a single direction */
|
||||
static
|
||||
void optim_compute( AH_Optimizer* optimizer )
|
||||
static void
|
||||
optim_compute( AH_Optimizer* optimizer )
|
||||
{
|
||||
int n;
|
||||
FT_Bool moved;
|
||||
|
@ -729,8 +729,8 @@
|
|||
#else /* AH_BRUTE_FORCE */
|
||||
|
||||
/* optimize outline in a single direction */
|
||||
static
|
||||
void optim_compute( AH_Optimizer* optimizer )
|
||||
static void
|
||||
optim_compute( AH_Optimizer* optimizer )
|
||||
{
|
||||
int n, counter, counter2;
|
||||
|
||||
|
@ -788,7 +788,8 @@
|
|||
|
||||
|
||||
/* releases the optimization data */
|
||||
void AH_Optimizer_Done( AH_Optimizer* optimizer )
|
||||
void
|
||||
AH_Optimizer_Done( AH_Optimizer* optimizer )
|
||||
{
|
||||
if ( optimizer )
|
||||
{
|
||||
|
@ -805,9 +806,10 @@
|
|||
|
||||
|
||||
/* loads the outline into the optimizer */
|
||||
int AH_Optimizer_Init( AH_Optimizer* optimizer,
|
||||
AH_Outline* outline,
|
||||
FT_Memory memory )
|
||||
int
|
||||
AH_Optimizer_Init( AH_Optimizer* optimizer,
|
||||
AH_Outline* outline,
|
||||
FT_Memory memory )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -851,7 +853,8 @@
|
|||
|
||||
|
||||
/* compute optimal outline */
|
||||
void AH_Optimizer_Compute( AH_Optimizer* optimizer )
|
||||
void
|
||||
AH_Optimizer_Compute( AH_Optimizer* optimizer )
|
||||
{
|
||||
optimizer->num_stems = optimizer->num_hstems;
|
||||
optimizer->stems = optimizer->horz_stems;
|
||||
|
|
|
@ -113,17 +113,20 @@ FT_BEGIN_HEADER
|
|||
|
||||
|
||||
/* loads the outline into the optimizer */
|
||||
int AH_Optimizer_Init( AH_Optimizer* optimizer,
|
||||
AH_Outline* outline,
|
||||
FT_Memory memory );
|
||||
int
|
||||
AH_Optimizer_Init( AH_Optimizer* optimizer,
|
||||
AH_Outline* outline,
|
||||
FT_Memory memory );
|
||||
|
||||
|
||||
/* compute optimal outline */
|
||||
void AH_Optimizer_Compute( AH_Optimizer* optimizer );
|
||||
void
|
||||
AH_Optimizer_Compute( AH_Optimizer* optimizer );
|
||||
|
||||
|
||||
/* release the optimization data */
|
||||
void AH_Optimizer_Done( AH_Optimizer* optimizer );
|
||||
void
|
||||
AH_Optimizer_Done( AH_Optimizer* optimizer );
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
|
|
@ -413,7 +413,7 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* blue_shoots :: The overshoot positions of blue zones. */
|
||||
/* */
|
||||
typedef struct AH_Globals_
|
||||
typedef struct AH_Globals_
|
||||
{
|
||||
FT_Int num_widths;
|
||||
FT_Int num_heights;
|
||||
|
|
|
@ -59,9 +59,9 @@
|
|||
/* <Return> */
|
||||
/* Always 0. Needed for the interface only. */
|
||||
/* */
|
||||
static
|
||||
int BBox_Move_To( FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
static int
|
||||
BBox_Move_To( FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
{
|
||||
user->last = *to;
|
||||
|
||||
|
@ -95,9 +95,9 @@
|
|||
/* min :: The address of the current minimum. */
|
||||
/* max :: The address of the current maximum. */
|
||||
/* */
|
||||
static
|
||||
void BBox_Conic_Check( FT_Pos y1,
|
||||
FT_Pos y2,
|
||||
static void
|
||||
BBox_Conic_Check( FT_Pos y1,
|
||||
FT_Pos y2,
|
||||
FT_Pos y3,
|
||||
FT_Pos* min,
|
||||
FT_Pos* max )
|
||||
|
@ -156,10 +156,10 @@
|
|||
/* In the case of a non-monotonous arc, we compute directly the */
|
||||
/* extremum coordinates, as it is sufficiently fast. */
|
||||
/* */
|
||||
static
|
||||
int BBox_Conic_To( FT_Vector* control,
|
||||
FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
static int
|
||||
BBox_Conic_To( FT_Vector* control,
|
||||
FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
{
|
||||
/* we don't need to check `to' since it is always an `on' point, thus */
|
||||
/* within the bbox */
|
||||
|
@ -207,13 +207,13 @@
|
|||
/* max :: The address of the current maximum. */
|
||||
/* */
|
||||
#if 0
|
||||
static
|
||||
void BBox_Cubic_Check( FT_Pos p1,
|
||||
FT_Pos p2,
|
||||
FT_Pos p3,
|
||||
FT_Pos p4,
|
||||
FT_Pos* min,
|
||||
FT_Pos* max )
|
||||
static void
|
||||
BBox_Cubic_Check( FT_Pos p1,
|
||||
FT_Pos p2,
|
||||
FT_Pos p3,
|
||||
FT_Pos p4,
|
||||
FT_Pos* min,
|
||||
FT_Pos* max )
|
||||
{
|
||||
FT_Pos stack[32*3 + 1], *arc;
|
||||
|
||||
|
@ -319,13 +319,13 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void BBox_Cubic_Check( FT_Pos y1,
|
||||
FT_Pos y2,
|
||||
FT_Pos y3,
|
||||
FT_Pos y4,
|
||||
FT_Pos* min,
|
||||
FT_Pos* max )
|
||||
static void
|
||||
BBox_Cubic_Check( FT_Pos y1,
|
||||
FT_Pos y2,
|
||||
FT_Pos y3,
|
||||
FT_Pos y4,
|
||||
FT_Pos* min,
|
||||
FT_Pos* max )
|
||||
{
|
||||
/* always compare first and last points */
|
||||
if ( y1 < *min ) *min = y1;
|
||||
|
@ -519,11 +519,11 @@
|
|||
/* In the case of a non-monotonous arc, we don't compute directly */
|
||||
/* extremum coordinates, we subdivise instead. */
|
||||
/* */
|
||||
static
|
||||
int BBox_Cubic_To( FT_Vector* control1,
|
||||
FT_Vector* control2,
|
||||
FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
static int
|
||||
BBox_Cubic_To( FT_Vector* control1,
|
||||
FT_Vector* control2,
|
||||
FT_Vector* to,
|
||||
TBBox_Rec* user )
|
||||
{
|
||||
/* we don't need to check `to' since it is always an `on' point, thus */
|
||||
/* within the bbox */
|
||||
|
@ -556,8 +556,9 @@
|
|||
|
||||
/* documentation is in ftbbox.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Get_BBox( FT_Outline* outline,
|
||||
FT_BBox *abbox )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Get_BBox( FT_Outline* outline,
|
||||
FT_BBox *abbox )
|
||||
{
|
||||
FT_BBox cbox;
|
||||
FT_BBox bbox;
|
||||
|
|
|
@ -74,7 +74,8 @@
|
|||
|
||||
/* 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
|
||||
: -((-a + 0x8000L ) & -0x10000L );
|
||||
|
@ -83,7 +84,8 @@
|
|||
|
||||
/* 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
|
||||
: -((-a + 0xFFFFL ) & -0x10000L );
|
||||
|
@ -92,7 +94,8 @@
|
|||
|
||||
/* 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
|
||||
: -((-a) & -0x10000L );
|
||||
|
@ -122,7 +125,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -155,9 +159,10 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_MulDiv( FT_Long a,
|
||||
FT_Long b,
|
||||
FT_Long c )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_MulDiv( FT_Long a,
|
||||
FT_Long b,
|
||||
FT_Long c )
|
||||
{
|
||||
FT_Int s;
|
||||
FT_Long d;
|
||||
|
@ -177,8 +182,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_MulFix( FT_Long a,
|
||||
FT_Long b )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_MulFix( FT_Long a,
|
||||
FT_Long b )
|
||||
{
|
||||
FT_Int s = 1;
|
||||
FT_Long c;
|
||||
|
@ -194,8 +200,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_DivFix( FT_Long a,
|
||||
FT_Long b )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_DivFix( FT_Long a,
|
||||
FT_Long b )
|
||||
{
|
||||
FT_Int32 s;
|
||||
FT_UInt32 q;
|
||||
|
@ -219,8 +226,8 @@
|
|||
|
||||
/* a helper function for FT_Sqrt64() */
|
||||
|
||||
static
|
||||
int ft_order64( FT_Int64 z )
|
||||
static int
|
||||
ft_order64( FT_Int64 z )
|
||||
{
|
||||
int j = 0;
|
||||
|
||||
|
@ -236,7 +243,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -330,9 +338,10 @@
|
|||
|
||||
/* documentation is in ftcalc.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Add64( FT_Int64* x,
|
||||
FT_Int64* y,
|
||||
FT_Int64 *z )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Add64( FT_Int64* x,
|
||||
FT_Int64* y,
|
||||
FT_Int64 *z )
|
||||
{
|
||||
register FT_UInt32 lo, hi, max;
|
||||
|
||||
|
@ -348,9 +357,10 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_MulDiv( FT_Long a,
|
||||
FT_Long b,
|
||||
FT_Long c )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_MulDiv( FT_Long a,
|
||||
FT_Long b,
|
||||
FT_Long c )
|
||||
{
|
||||
long s;
|
||||
|
||||
|
@ -387,8 +397,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_MulFix( FT_Long a,
|
||||
FT_Long b )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_MulFix( FT_Long a,
|
||||
FT_Long b )
|
||||
{
|
||||
FT_Long s;
|
||||
FT_ULong ua, ub;
|
||||
|
@ -422,8 +433,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Long ) FT_DivFix( FT_Long a,
|
||||
FT_Long b )
|
||||
FT_EXPORT_DEF( FT_Long )
|
||||
FT_DivFix( FT_Long a,
|
||||
FT_Long b )
|
||||
{
|
||||
FT_Int32 s;
|
||||
FT_UInt32 q;
|
||||
|
@ -461,9 +473,10 @@
|
|||
|
||||
/* documentation is in ftcalc.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_MulTo64( FT_Int32 x,
|
||||
FT_Int32 y,
|
||||
FT_Int64 *z )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_MulTo64( FT_Int32 x,
|
||||
FT_Int32 y,
|
||||
FT_Int64 *z )
|
||||
{
|
||||
FT_Int32 s;
|
||||
|
||||
|
@ -483,8 +496,9 @@
|
|||
|
||||
/* documentation is in ftcalc.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Int32 ) FT_Div64by32( FT_Int64* x,
|
||||
FT_Int32 y )
|
||||
FT_EXPORT_DEF( FT_Int32 )
|
||||
FT_Div64by32( FT_Int64* x,
|
||||
FT_Int32 y )
|
||||
{
|
||||
FT_Int32 s;
|
||||
FT_UInt32 q;
|
||||
|
@ -520,10 +534,10 @@
|
|||
|
||||
/* two helper functions for FT_Sqrt64() */
|
||||
|
||||
static
|
||||
void FT_Sub64( FT_Int64* x,
|
||||
FT_Int64* y,
|
||||
FT_Int64* z )
|
||||
static void
|
||||
FT_Sub64( FT_Int64* x,
|
||||
FT_Int64* y,
|
||||
FT_Int64* z )
|
||||
{
|
||||
register FT_UInt32 lo, hi;
|
||||
|
||||
|
@ -536,8 +550,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
int ft_order64( FT_Int64* z )
|
||||
static int
|
||||
ft_order64( FT_Int64* z )
|
||||
{
|
||||
FT_UInt32 i;
|
||||
int j;
|
||||
|
@ -562,7 +576,8 @@
|
|||
|
||||
/* 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_Int32 r, s;
|
||||
|
@ -598,7 +613,8 @@
|
|||
|
||||
/* 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_Int count;
|
||||
|
|
|
@ -58,7 +58,8 @@
|
|||
#include <string.h>
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Message( const char* fmt, ... )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Message( const char* fmt, ... )
|
||||
{
|
||||
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;
|
||||
|
||||
|
@ -84,8 +86,9 @@
|
|||
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_SetTraceLevel( FT_Trace component,
|
||||
char level )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_SetTraceLevel( FT_Trace component,
|
||||
char level )
|
||||
{
|
||||
if ( component >= trace_max )
|
||||
return;
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error FT_Init_Extensions( FT_Driver driver )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_Init_Extensions( FT_Driver driver )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory;
|
||||
|
@ -99,8 +99,8 @@
|
|||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error FT_Done_Extensions( FT_Driver driver )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_Done_Extensions( FT_Driver driver )
|
||||
{
|
||||
FT_Memory memory = driver->root.memory;
|
||||
|
||||
|
@ -112,9 +112,9 @@
|
|||
|
||||
/* documentation is in ftextend.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Register_Extension(
|
||||
FT_Driver driver,
|
||||
FT_Extension_Class* clazz )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Register_Extension( FT_Driver driver,
|
||||
FT_Extension_Class* clazz )
|
||||
{
|
||||
FT_Extension_Registry* registry;
|
||||
|
||||
|
@ -153,10 +153,10 @@
|
|||
|
||||
/* documentation is in ftextend.h */
|
||||
|
||||
FT_EXPORT_DEF( void* ) FT_Get_Extension(
|
||||
FT_Face face,
|
||||
const char* extension_id,
|
||||
void** extension_interface )
|
||||
FT_EXPORT_DEF( void* )
|
||||
FT_Get_Extension( FT_Face face,
|
||||
const char* extension_id,
|
||||
void** extension_interface )
|
||||
{
|
||||
FT_Extension_Registry* registry;
|
||||
|
||||
|
@ -209,8 +209,8 @@
|
|||
/* <Note> */
|
||||
/* Called by the face object destructor. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error FT_Destroy_Extensions( FT_Face face )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_Destroy_Extensions( FT_Face face )
|
||||
{
|
||||
FT_Extension_Registry* registry;
|
||||
FT_Memory memory;
|
||||
|
@ -257,8 +257,8 @@
|
|||
/* <Note> */
|
||||
/* Called by the face object constructor. */
|
||||
/* */
|
||||
FT_LOCAL_DEF
|
||||
FT_Error FT_Create_Extensions( FT_Face face )
|
||||
FT_LOCAL_DEF FT_Error
|
||||
FT_Create_Extensions( FT_Face face )
|
||||
{
|
||||
FT_Extension_Registry* registry;
|
||||
FT_Memory memory;
|
||||
|
|
|
@ -55,8 +55,9 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Matrix_Multiply( FT_Matrix* a,
|
||||
FT_Matrix* b )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Matrix_Multiply( FT_Matrix* a,
|
||||
FT_Matrix* b )
|
||||
{
|
||||
FT_Fixed xx, xy, yx, yy;
|
||||
|
||||
|
@ -76,7 +77,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -112,10 +114,10 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
static
|
||||
FT_Error ft_bitmap_copy( FT_Memory memory,
|
||||
FT_Bitmap* source,
|
||||
FT_Bitmap* target )
|
||||
static FT_Error
|
||||
ft_bitmap_copy( FT_Memory memory,
|
||||
FT_Bitmap* source,
|
||||
FT_Bitmap* target )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Int pitch = source->pitch;
|
||||
|
@ -136,9 +138,9 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_bitmap_glyph_init( FT_BitmapGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
static FT_Error
|
||||
ft_bitmap_glyph_init( FT_BitmapGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Library library = FT_GLYPH(glyph)->library;
|
||||
|
@ -169,9 +171,9 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_bitmap_glyph_copy( FT_BitmapGlyph source,
|
||||
FT_BitmapGlyph target )
|
||||
static FT_Error
|
||||
ft_bitmap_glyph_copy( FT_BitmapGlyph source,
|
||||
FT_BitmapGlyph target )
|
||||
{
|
||||
FT_Memory memory = source->root.library->memory;
|
||||
|
||||
|
@ -183,8 +185,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_bitmap_glyph_done( FT_BitmapGlyph glyph )
|
||||
static void
|
||||
ft_bitmap_glyph_done( FT_BitmapGlyph glyph )
|
||||
{
|
||||
FT_Memory memory = FT_GLYPH(glyph)->library->memory;
|
||||
|
||||
|
@ -193,9 +195,9 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_bitmap_glyph_bbox( FT_BitmapGlyph glyph,
|
||||
FT_BBox* cbox )
|
||||
static void
|
||||
ft_bitmap_glyph_bbox( FT_BitmapGlyph glyph,
|
||||
FT_BBox* cbox )
|
||||
{
|
||||
cbox->xMin = glyph->left << 6;
|
||||
cbox->xMax = cbox->xMin + ( glyph->bitmap.width << 6 );
|
||||
|
@ -227,9 +229,9 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_outline_glyph_init( FT_OutlineGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
static FT_Error
|
||||
ft_outline_glyph_init( FT_OutlineGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Library library = FT_GLYPH(glyph)->library;
|
||||
|
@ -268,16 +270,16 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_outline_glyph_done( FT_OutlineGlyph glyph )
|
||||
static void
|
||||
ft_outline_glyph_done( FT_OutlineGlyph glyph )
|
||||
{
|
||||
FT_Outline_Done( FT_GLYPH( glyph )->library, &glyph->outline );
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_outline_glyph_copy( FT_OutlineGlyph source,
|
||||
FT_OutlineGlyph target )
|
||||
static FT_Error
|
||||
ft_outline_glyph_copy( FT_OutlineGlyph source,
|
||||
FT_OutlineGlyph target )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Library library = FT_GLYPH( source )->library;
|
||||
|
@ -292,10 +294,10 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_outline_glyph_transform( FT_OutlineGlyph glyph,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
static void
|
||||
ft_outline_glyph_transform( FT_OutlineGlyph glyph,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
{
|
||||
if ( matrix )
|
||||
FT_Outline_Transform( &glyph->outline, matrix );
|
||||
|
@ -305,17 +307,17 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_outline_glyph_bbox( FT_OutlineGlyph glyph,
|
||||
FT_BBox* bbox )
|
||||
static void
|
||||
ft_outline_glyph_bbox( FT_OutlineGlyph glyph,
|
||||
FT_BBox* bbox )
|
||||
{
|
||||
FT_Outline_Get_CBox( &glyph->outline, bbox );
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_outline_glyph_prepare( FT_OutlineGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
static FT_Error
|
||||
ft_outline_glyph_prepare( FT_OutlineGlyph glyph,
|
||||
FT_GlyphSlot slot )
|
||||
{
|
||||
slot->format = ft_glyph_format_outline;
|
||||
slot->outline = glyph->outline;
|
||||
|
@ -347,10 +349,10 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
static
|
||||
FT_Error ft_new_glyph( FT_Library library,
|
||||
const FT_Glyph_Class* clazz,
|
||||
FT_Glyph* aglyph )
|
||||
static FT_Error
|
||||
ft_new_glyph( FT_Library library,
|
||||
const FT_Glyph_Class* clazz,
|
||||
FT_Glyph* aglyph )
|
||||
{
|
||||
FT_Memory memory = library->memory;
|
||||
FT_Error error;
|
||||
|
@ -374,8 +376,9 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Glyph_Copy( FT_Glyph source,
|
||||
FT_Glyph *target )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Glyph_Copy( FT_Glyph source,
|
||||
FT_Glyph *target )
|
||||
{
|
||||
FT_Glyph copy;
|
||||
FT_Error error;
|
||||
|
@ -414,8 +417,9 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Get_Glyph( FT_GlyphSlot slot,
|
||||
FT_Glyph *aglyph )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_Glyph( FT_GlyphSlot slot,
|
||||
FT_Glyph *aglyph )
|
||||
{
|
||||
FT_Library library = slot->library;
|
||||
FT_Error error;
|
||||
|
@ -479,9 +483,10 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Glyph_Transform( FT_Glyph glyph,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Glyph_Transform( FT_Glyph glyph,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
{
|
||||
const FT_Glyph_Class* clazz;
|
||||
FT_Error error = FT_Err_Ok;
|
||||
|
@ -510,9 +515,10 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Glyph_Get_CBox( FT_Glyph glyph,
|
||||
FT_UInt bbox_mode,
|
||||
FT_BBox *acbox )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Glyph_Get_CBox( FT_Glyph glyph,
|
||||
FT_UInt bbox_mode,
|
||||
FT_BBox *acbox )
|
||||
{
|
||||
const FT_Glyph_Class* clazz;
|
||||
|
||||
|
@ -559,10 +565,11 @@
|
|||
|
||||
/* documentation is in ftglyph.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
|
||||
FT_ULong render_mode,
|
||||
FT_Vector* origin,
|
||||
FT_Bool destroy )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
|
||||
FT_ULong render_mode,
|
||||
FT_Vector* origin,
|
||||
FT_Bool destroy )
|
||||
{
|
||||
FT_GlyphSlotRec dummy;
|
||||
FT_Error error;
|
||||
|
@ -653,7 +660,8 @@
|
|||
|
||||
/* 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 )
|
||||
{
|
||||
|
|
|
@ -67,8 +67,8 @@
|
|||
#undef FT_USE_MODULE
|
||||
#define FT_USE_MODULE( x ) (const FT_Module_Class*)&x,
|
||||
|
||||
static
|
||||
const FT_Module_Class* const ft_default_modules[] =
|
||||
static
|
||||
const FT_Module_Class* const ft_default_modules[] =
|
||||
{
|
||||
#include FT_CONFIG_MODULES_H
|
||||
0
|
||||
|
@ -77,7 +77,8 @@ const FT_Module_Class* const ft_default_modules[] =
|
|||
|
||||
/* 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;
|
||||
const FT_Module_Class* const* cur;
|
||||
|
@ -102,7 +103,8 @@ const FT_Module_Class* const ft_default_modules[] =
|
|||
|
||||
/* 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_Memory memory;
|
||||
|
@ -131,7 +133,8 @@ const FT_Module_Class* const ft_default_modules[] =
|
|||
|
||||
/* 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 )
|
||||
{
|
||||
|
|
|
@ -41,8 +41,9 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_ListNode ) FT_List_Find( FT_List list,
|
||||
void* data )
|
||||
FT_EXPORT_DEF( FT_ListNode )
|
||||
FT_List_Find( FT_List list,
|
||||
void* data )
|
||||
{
|
||||
FT_ListNode cur;
|
||||
|
||||
|
@ -62,8 +63,9 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_List_Add( FT_List list,
|
||||
FT_ListNode node )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_List_Add( FT_List list,
|
||||
FT_ListNode node )
|
||||
{
|
||||
FT_ListNode before = list->tail;
|
||||
|
||||
|
@ -82,8 +84,9 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_List_Insert( FT_List list,
|
||||
FT_ListNode node )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_List_Insert( FT_List list,
|
||||
FT_ListNode node )
|
||||
{
|
||||
FT_ListNode after = list->head;
|
||||
|
||||
|
@ -102,8 +105,9 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_List_Remove( FT_List list,
|
||||
FT_ListNode node )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_List_Remove( FT_List list,
|
||||
FT_ListNode node )
|
||||
{
|
||||
FT_ListNode before, after;
|
||||
|
||||
|
@ -125,8 +129,9 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_List_Up( FT_List list,
|
||||
FT_ListNode node )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_List_Up( FT_List list,
|
||||
FT_ListNode node )
|
||||
{
|
||||
FT_ListNode before, after;
|
||||
|
||||
|
@ -154,9 +159,10 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_List_Iterate( FT_List list,
|
||||
FT_List_Iterator iterator,
|
||||
void* user )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_List_Iterate( FT_List list,
|
||||
FT_List_Iterator iterator,
|
||||
void* user )
|
||||
{
|
||||
FT_ListNode cur = list->head;
|
||||
FT_Error error = FT_Err_Ok;
|
||||
|
@ -180,10 +186,11 @@
|
|||
|
||||
/* documentation is in ftlist.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_List_Finalize( FT_List list,
|
||||
FT_List_Destructor destroy,
|
||||
FT_Memory memory,
|
||||
void* user )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_List_Finalize( FT_List list,
|
||||
FT_List_Destructor destroy,
|
||||
FT_Memory memory,
|
||||
void* user )
|
||||
{
|
||||
FT_ListNode cur;
|
||||
|
||||
|
|
136
src/base/ftmac.c
136
src/base/ftmac.c
|
@ -84,8 +84,8 @@
|
|||
|
||||
/* Quick'n'dirty Pascal string to C string converter.
|
||||
Warning: this call is not thread safe! Use with caution. */
|
||||
static
|
||||
char* p2c_str( unsigned char* pstr )
|
||||
static char*
|
||||
p2c_str( unsigned char* pstr )
|
||||
{
|
||||
static char cstr[256];
|
||||
|
||||
|
@ -97,9 +97,9 @@
|
|||
|
||||
|
||||
/* Given a pathname, fill in a file spec. */
|
||||
static
|
||||
int file_spec_from_path( const char* pathname,
|
||||
FSSpec* spec )
|
||||
static int
|
||||
file_spec_from_path( const char* pathname,
|
||||
FSSpec* spec )
|
||||
{
|
||||
Str255 p_path;
|
||||
FT_ULong path_len;
|
||||
|
@ -120,8 +120,8 @@
|
|||
|
||||
|
||||
/* Return the file type of the file specified by spec. */
|
||||
static
|
||||
OSType get_file_type( FSSpec* spec )
|
||||
static OSType
|
||||
get_file_type( FSSpec* spec )
|
||||
{
|
||||
FInfo finfo;
|
||||
|
||||
|
@ -134,9 +134,9 @@
|
|||
|
||||
|
||||
/* Given a PostScript font name, create the Macintosh LWFN file name. */
|
||||
static
|
||||
void create_lwfn_name( char* ps_name,
|
||||
Str255 lwfn_file_name )
|
||||
static void
|
||||
create_lwfn_name( char* ps_name,
|
||||
Str255 lwfn_file_name )
|
||||
{
|
||||
int max = 5, count = 0;
|
||||
FT_Byte* p = lwfn_file_name;
|
||||
|
@ -166,11 +166,11 @@
|
|||
|
||||
/* Given a file reference, answer its location as a vRefNum
|
||||
and a dirID. */
|
||||
static
|
||||
FT_Error get_file_location( short ref_num,
|
||||
short* v_ref_num,
|
||||
long* dir_id,
|
||||
unsigned char* file_name )
|
||||
static FT_Error
|
||||
get_file_location( short ref_num,
|
||||
short* v_ref_num,
|
||||
long* dir_id,
|
||||
unsigned char* file_name )
|
||||
{
|
||||
FCBPBRec pb;
|
||||
OSErr error;
|
||||
|
@ -193,10 +193,10 @@
|
|||
|
||||
/* Make a file spec for an LWFN file from a FOND resource and
|
||||
a file name. */
|
||||
static
|
||||
FT_Error make_lwfn_spec( Handle fond,
|
||||
unsigned char* file_name,
|
||||
FSSpec* spec )
|
||||
static FT_Error
|
||||
make_lwfn_spec( Handle fond,
|
||||
unsigned char* file_name,
|
||||
FSSpec* spec )
|
||||
{
|
||||
FT_Error error;
|
||||
short ref_num, v_ref_num;
|
||||
|
@ -219,11 +219,11 @@
|
|||
|
||||
/* Look inside the FOND data, answer whether there should be an SFNT
|
||||
resource, and answer the name of a possible LWFN Type 1 file. */
|
||||
static
|
||||
void parse_fond( char* fond_data,
|
||||
short* have_sfnt,
|
||||
short* sfnt_id,
|
||||
Str255 lwfn_file_name )
|
||||
static void
|
||||
parse_fond( char* fond_data,
|
||||
short* have_sfnt,
|
||||
short* sfnt_id,
|
||||
Str255 lwfn_file_name )
|
||||
{
|
||||
AsscEntry* assoc;
|
||||
FamRec* fond;
|
||||
|
@ -285,11 +285,11 @@
|
|||
PFB parser wants the ASCII header as one chunk, and the LWFN
|
||||
chunks are often not organized that way, so we'll glue chunks
|
||||
of the same type together. */
|
||||
static
|
||||
FT_Error read_lwfn( FT_Memory memory,
|
||||
FSSpec* lwfn_spec,
|
||||
FT_Byte** pfb_data,
|
||||
FT_ULong* size )
|
||||
static FT_Error
|
||||
read_lwfn( FT_Memory memory,
|
||||
FSSpec* lwfn_spec,
|
||||
FT_Byte** pfb_data,
|
||||
FT_ULong* size )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
short res_ref, res_id;
|
||||
|
@ -394,8 +394,8 @@
|
|||
|
||||
/* Finalizer for a memory stream; gets called by FT_Done_Face().
|
||||
It frees the memory it uses. */
|
||||
static
|
||||
void memory_stream_close( FT_Stream stream )
|
||||
static void
|
||||
memory_stream_close( FT_Stream stream )
|
||||
{
|
||||
FT_Memory memory = stream->memory;
|
||||
|
||||
|
@ -409,12 +409,12 @@
|
|||
|
||||
|
||||
/* Create a new memory stream from a buffer and a size. */
|
||||
static
|
||||
FT_Error new_memory_stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream_Close close,
|
||||
FT_Stream* astream )
|
||||
static FT_Error
|
||||
new_memory_stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream_Close close,
|
||||
FT_Stream* astream )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory;
|
||||
|
@ -447,13 +447,13 @@
|
|||
|
||||
|
||||
/* Create a new FT_Face given a buffer and a driver name. */
|
||||
static
|
||||
FT_Error open_face_from_buffer( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Long face_index,
|
||||
char* driver_name,
|
||||
FT_Face* aface )
|
||||
static FT_Error
|
||||
open_face_from_buffer( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Long face_index,
|
||||
char* driver_name,
|
||||
FT_Face* aface )
|
||||
{
|
||||
FT_Open_Args args;
|
||||
FT_Error error;
|
||||
|
@ -493,11 +493,11 @@
|
|||
|
||||
|
||||
/* Create a new FT_Face from a file spec to an LWFN file. */
|
||||
static
|
||||
FT_Error FT_New_Face_From_LWFN( FT_Library library,
|
||||
FSSpec* spec,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
static FT_Error
|
||||
FT_New_Face_From_LWFN( FT_Library library,
|
||||
FSSpec* spec,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
{
|
||||
FT_Byte* pfb_data;
|
||||
FT_ULong pfb_size;
|
||||
|
@ -536,11 +536,11 @@
|
|||
|
||||
|
||||
/* Create a new FT_Face from an SFNT resource, specified by res ID. */
|
||||
static
|
||||
FT_Error FT_New_Face_From_SFNT( FT_Library library,
|
||||
short sfnt_id,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
static FT_Error
|
||||
FT_New_Face_From_SFNT( FT_Library library,
|
||||
short sfnt_id,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
{
|
||||
Handle sfnt = NULL;
|
||||
FT_Byte* sfnt_data;
|
||||
|
@ -576,11 +576,11 @@
|
|||
|
||||
|
||||
/* Create a new FT_Face from a file spec to a suitcase file. */
|
||||
static
|
||||
FT_Error FT_New_Face_From_Suitcase( FT_Library library,
|
||||
FSSpec* spec,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
static FT_Error
|
||||
FT_New_Face_From_Suitcase( FT_Library library,
|
||||
FSSpec* spec,
|
||||
FT_Long face_index,
|
||||
FT_Face* aface )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
short res_ref, res_index;
|
||||
|
@ -618,10 +618,11 @@
|
|||
|
||||
/* documentation in ftmac.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Face_From_FOND( FT_Library library,
|
||||
Handle fond,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face_From_FOND( FT_Library library,
|
||||
Handle fond,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
short sfnt_id, have_sfnt, have_lwfn = 0;
|
||||
Str255 lwfn_file_name;
|
||||
|
@ -674,10 +675,11 @@
|
|||
/* accepts pathnames to Mac suitcase files. For further */
|
||||
/* documentation see the original FT_New_Face() in freetype.h. */
|
||||
/* */
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Face( FT_Library library,
|
||||
const char* pathname,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face( FT_Library library,
|
||||
const char* pathname,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
FT_Open_Args args;
|
||||
FSSpec spec;
|
||||
|
|
|
@ -33,8 +33,9 @@
|
|||
|
||||
/* documentation is in ftmm.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Get_Multi_Master( FT_Face face,
|
||||
FT_Multi_Master *amaster )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_Multi_Master( FT_Face face,
|
||||
FT_Multi_Master *amaster )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -62,10 +63,10 @@
|
|||
|
||||
/* documentation is in ftmm.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Design_Coordinates(
|
||||
FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Long* coords )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_MM_Design_Coordinates( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Long* coords )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -93,8 +94,8 @@
|
|||
|
||||
/* documentation is in ftmm.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Blend_Coordinates(
|
||||
FT_Face face,
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_MM_Blend_Coordinates( FT_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords )
|
||||
{
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
|
||||
/* 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;
|
||||
}
|
||||
|
@ -37,9 +38,10 @@
|
|||
|
||||
/* documentation is in ftnames.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Get_Sfnt_Name( FT_Face face,
|
||||
FT_UInt index,
|
||||
FT_SfntName *aname )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_Sfnt_Name( FT_Face face,
|
||||
FT_UInt index,
|
||||
FT_SfntName *aname )
|
||||
{
|
||||
FT_Error error = FT_Err_Invalid_Argument;
|
||||
|
||||
|
|
|
@ -50,9 +50,10 @@
|
|||
|
||||
/* documentation is in ftmemory.h */
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Alloc( FT_Memory memory,
|
||||
FT_Long size,
|
||||
void* *P )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Alloc( FT_Memory memory,
|
||||
FT_Long size,
|
||||
void* *P )
|
||||
{
|
||||
FT_Assert( P != 0 );
|
||||
|
||||
|
@ -82,10 +83,11 @@
|
|||
|
||||
/* documentation is in ftmemory.h */
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Realloc( FT_Memory memory,
|
||||
FT_Long current,
|
||||
FT_Long size,
|
||||
void** P )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Realloc( FT_Memory memory,
|
||||
FT_Long current,
|
||||
FT_Long size,
|
||||
void** P )
|
||||
{
|
||||
void* Q;
|
||||
|
||||
|
@ -120,8 +122,9 @@
|
|||
|
||||
/* documentation is in ftmemory.h */
|
||||
|
||||
FT_BASE_DEF( void ) FT_Free( FT_Memory memory,
|
||||
void** P )
|
||||
FT_BASE_DEF( void )
|
||||
FT_Free( FT_Memory memory,
|
||||
void** P )
|
||||
{
|
||||
FT_TRACE7(( "FT_Free:" ));
|
||||
FT_TRACE7(( " Freeing block 0x%08p, ref 0x%08p\n",
|
||||
|
@ -159,10 +162,10 @@
|
|||
/* <Note> */
|
||||
/* The function expects a valid `astream' parameter. */
|
||||
/* */
|
||||
static
|
||||
FT_Error ft_new_input_stream( FT_Library library,
|
||||
FT_Open_Args* args,
|
||||
FT_Stream* astream )
|
||||
static FT_Error
|
||||
ft_new_input_stream( FT_Library library,
|
||||
FT_Open_Args* args,
|
||||
FT_Stream* astream )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory;
|
||||
|
@ -218,7 +221,8 @@
|
|||
|
||||
/* 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 )
|
||||
{
|
||||
|
@ -228,9 +232,9 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_done_stream( FT_Stream* astream,
|
||||
FT_Int external )
|
||||
static void
|
||||
ft_done_stream( FT_Stream* astream,
|
||||
FT_Int external )
|
||||
{
|
||||
FT_Stream stream = *astream;
|
||||
|
||||
|
@ -294,8 +298,9 @@
|
|||
|
||||
|
||||
/* create a new glyph loader */
|
||||
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_New( FT_Memory memory,
|
||||
FT_GlyphLoader* *aloader )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_GlyphLoader_New( FT_Memory memory,
|
||||
FT_GlyphLoader* *aloader )
|
||||
{
|
||||
FT_GlyphLoader* loader;
|
||||
FT_Error error;
|
||||
|
@ -311,7 +316,8 @@
|
|||
|
||||
|
||||
/* 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* current = &loader->current;
|
||||
|
@ -327,7 +333,8 @@
|
|||
|
||||
/* reset the glyph loader, frees all allocated tables */
|
||||
/* 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;
|
||||
|
||||
|
@ -347,7 +354,8 @@
|
|||
|
||||
|
||||
/* 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 )
|
||||
{
|
||||
|
@ -361,8 +369,8 @@
|
|||
|
||||
|
||||
/* re-adjust the `current' outline fields */
|
||||
static
|
||||
void FT_GlyphLoader_Adjust_Points( FT_GlyphLoader* loader )
|
||||
static void
|
||||
FT_GlyphLoader_Adjust_Points( FT_GlyphLoader* loader )
|
||||
{
|
||||
FT_Outline* base = &loader->base.outline;
|
||||
FT_Outline* current = &loader->current.outline;
|
||||
|
@ -379,8 +387,8 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Create_Extra(
|
||||
FT_GlyphLoader* loader )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_GlyphLoader_Create_Extra( FT_GlyphLoader* loader )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory = loader->memory;
|
||||
|
@ -397,8 +405,8 @@
|
|||
|
||||
|
||||
/* re-adjust the `current' subglyphs field */
|
||||
static
|
||||
void FT_GlyphLoader_Adjust_Subglyphs( FT_GlyphLoader* loader )
|
||||
static void
|
||||
FT_GlyphLoader_Adjust_Subglyphs( FT_GlyphLoader* loader )
|
||||
{
|
||||
FT_GlyphLoad* base = &loader->base;
|
||||
FT_GlyphLoad* current = &loader->current;
|
||||
|
@ -412,10 +420,10 @@
|
|||
/* function reallocates its outline tables if necessary. Note that it */
|
||||
/* DOESN'T change the number of points within the loader! */
|
||||
/* */
|
||||
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Points(
|
||||
FT_GlyphLoader* loader,
|
||||
FT_UInt n_points,
|
||||
FT_UInt n_contours )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_GlyphLoader_Check_Points( FT_GlyphLoader* loader,
|
||||
FT_UInt n_points,
|
||||
FT_UInt n_contours )
|
||||
{
|
||||
FT_Memory memory = loader->memory;
|
||||
FT_Error error = FT_Err_Ok;
|
||||
|
@ -473,9 +481,9 @@
|
|||
/* reallocates its subglyphs table if necessary. Note that it DOES */
|
||||
/* NOT change the number of subglyphs within the loader! */
|
||||
/* */
|
||||
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Subglyphs(
|
||||
FT_GlyphLoader* loader,
|
||||
FT_UInt n_subs )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_GlyphLoader_Check_Subglyphs( FT_GlyphLoader* loader,
|
||||
FT_UInt n_subs )
|
||||
{
|
||||
FT_Memory memory = loader->memory;
|
||||
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 */
|
||||
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;
|
||||
|
||||
|
@ -519,7 +528,8 @@
|
|||
|
||||
|
||||
/* 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* current = &loader->current;
|
||||
|
@ -546,9 +556,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Copy_Points(
|
||||
FT_GlyphLoader* target,
|
||||
FT_GlyphLoader* source )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_GlyphLoader_Copy_Points( FT_GlyphLoader* target,
|
||||
FT_GlyphLoader* source )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_UInt num_points = source->base.outline.n_points;
|
||||
|
@ -597,8 +607,8 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_glyphslot_init( FT_GlyphSlot slot )
|
||||
static FT_Error
|
||||
ft_glyphslot_init( FT_GlyphSlot slot )
|
||||
{
|
||||
FT_Driver driver = slot->face->driver;
|
||||
FT_Driver_Class* clazz = driver->clazz;
|
||||
|
@ -625,8 +635,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_glyphslot_clear( FT_GlyphSlot slot )
|
||||
static void
|
||||
ft_glyphslot_clear( FT_GlyphSlot slot )
|
||||
{
|
||||
/* free bitmap if needed */
|
||||
if ( slot->flags & ft_glyph_own_bitmap )
|
||||
|
@ -657,8 +667,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_glyphslot_done( FT_GlyphSlot slot )
|
||||
static void
|
||||
ft_glyphslot_done( FT_GlyphSlot slot )
|
||||
{
|
||||
FT_Driver driver = slot->face->driver;
|
||||
FT_Driver_Class* clazz = driver->clazz;
|
||||
|
@ -685,8 +695,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_New_GlyphSlot( FT_Face face,
|
||||
FT_GlyphSlot *aslot )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_New_GlyphSlot( FT_Face face,
|
||||
FT_GlyphSlot *aslot )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Driver driver;
|
||||
|
@ -728,7 +739,8 @@
|
|||
|
||||
/* 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 )
|
||||
{
|
||||
|
@ -759,9 +771,10 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Set_Transform( FT_Face face,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Set_Transform( FT_Face face,
|
||||
FT_Matrix* matrix,
|
||||
FT_Vector* delta )
|
||||
{
|
||||
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 */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Load_Glyph( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Load_Glyph( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_Int load_flags )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Driver driver;
|
||||
|
@ -945,9 +960,10 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Load_Char( FT_Face face,
|
||||
FT_ULong char_code,
|
||||
FT_Int load_flags )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Load_Char( FT_Face face,
|
||||
FT_ULong char_code,
|
||||
FT_Int load_flags )
|
||||
{
|
||||
FT_UInt glyph_index;
|
||||
|
||||
|
@ -964,10 +980,10 @@
|
|||
|
||||
|
||||
/* destructor for sizes list */
|
||||
static
|
||||
void destroy_size( FT_Memory memory,
|
||||
FT_Size size,
|
||||
FT_Driver driver )
|
||||
static void
|
||||
destroy_size( FT_Memory memory,
|
||||
FT_Size size,
|
||||
FT_Driver driver )
|
||||
{
|
||||
/* finalize client-specific data */
|
||||
if ( size->generic.finalizer )
|
||||
|
@ -983,10 +999,10 @@
|
|||
|
||||
|
||||
/* destructor for faces list */
|
||||
static
|
||||
void destroy_face( FT_Memory memory,
|
||||
FT_Face face,
|
||||
FT_Driver driver )
|
||||
static void
|
||||
destroy_face( FT_Memory memory,
|
||||
FT_Face face,
|
||||
FT_Driver driver )
|
||||
{
|
||||
FT_Driver_Class* clazz = driver->clazz;
|
||||
|
||||
|
@ -1026,8 +1042,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void Destroy_Driver( FT_Driver driver )
|
||||
static void
|
||||
Destroy_Driver( FT_Driver driver )
|
||||
{
|
||||
FT_List_Finalize( &driver->faces_list,
|
||||
(FT_List_Destructor)destroy_face,
|
||||
|
@ -1048,13 +1064,13 @@
|
|||
/* <Description> */
|
||||
/* This function does some work for FT_Open_Face(). */
|
||||
/* */
|
||||
static
|
||||
FT_Error open_face( FT_Driver driver,
|
||||
FT_Stream stream,
|
||||
FT_Long face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params,
|
||||
FT_Face* aface )
|
||||
static FT_Error
|
||||
open_face( FT_Driver driver,
|
||||
FT_Stream stream,
|
||||
FT_Long face_index,
|
||||
FT_Int num_params,
|
||||
FT_Parameter* params,
|
||||
FT_Face* aface )
|
||||
{
|
||||
FT_Memory memory;
|
||||
FT_Driver_Class* clazz;
|
||||
|
@ -1109,10 +1125,11 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Face( FT_Library library,
|
||||
const char* pathname,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Face( FT_Library library,
|
||||
const char* pathname,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
FT_Open_Args args;
|
||||
|
||||
|
@ -1132,11 +1149,12 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Memory_Face( FT_Library library,
|
||||
const FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Memory_Face( FT_Library library,
|
||||
const FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
FT_Open_Args args;
|
||||
|
||||
|
@ -1155,10 +1173,11 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Open_Face( FT_Library library,
|
||||
FT_Open_Args* args,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Open_Face( FT_Library library,
|
||||
FT_Open_Args* args,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Driver driver;
|
||||
|
@ -1332,8 +1351,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Attach_File( FT_Face face,
|
||||
const char* filepathname )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Attach_File( FT_Face face,
|
||||
const char* filepathname )
|
||||
{
|
||||
FT_Open_Args open;
|
||||
|
||||
|
@ -1352,8 +1372,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Attach_Stream( FT_Face face,
|
||||
FT_Open_Args* parameters )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Attach_Stream( FT_Face face,
|
||||
FT_Open_Args* parameters )
|
||||
{
|
||||
FT_Stream stream;
|
||||
FT_Error error;
|
||||
|
@ -1395,7 +1416,8 @@
|
|||
|
||||
/* 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_Driver driver;
|
||||
|
@ -1428,8 +1450,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Size( FT_Face face,
|
||||
FT_Size *asize )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Size( FT_Face face,
|
||||
FT_Size *asize )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory;
|
||||
|
@ -1489,7 +1512,8 @@
|
|||
|
||||
/* 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_Driver driver;
|
||||
|
@ -1534,9 +1558,9 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_recompute_scaled_metrics( FT_Face face,
|
||||
FT_Size_Metrics* metrics )
|
||||
static void
|
||||
ft_recompute_scaled_metrics( FT_Face face,
|
||||
FT_Size_Metrics* metrics )
|
||||
{
|
||||
/* Compute root ascender, descender, test height, and max_advance */
|
||||
|
||||
|
@ -1556,11 +1580,12 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_Char_Size( FT_Face face,
|
||||
FT_F26Dot6 char_width,
|
||||
FT_F26Dot6 char_height,
|
||||
FT_UInt horz_resolution,
|
||||
FT_UInt vert_resolution )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_Char_Size( FT_Face face,
|
||||
FT_F26Dot6 char_width,
|
||||
FT_F26Dot6 char_height,
|
||||
FT_UInt horz_resolution,
|
||||
FT_UInt vert_resolution )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Driver driver;
|
||||
|
@ -1626,9 +1651,10 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_Pixel_Sizes( FT_Face face,
|
||||
FT_UInt pixel_width,
|
||||
FT_UInt pixel_height )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_Pixel_Sizes( FT_Face face,
|
||||
FT_UInt pixel_width,
|
||||
FT_UInt pixel_height )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Driver driver;
|
||||
|
@ -1678,11 +1704,12 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Get_Kerning( FT_Face face,
|
||||
FT_UInt left_glyph,
|
||||
FT_UInt right_glyph,
|
||||
FT_UInt kern_mode,
|
||||
FT_Vector *akerning )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_Kerning( FT_Face face,
|
||||
FT_UInt left_glyph,
|
||||
FT_UInt right_glyph,
|
||||
FT_UInt kern_mode,
|
||||
FT_Vector *akerning )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Driver driver;
|
||||
|
@ -1727,8 +1754,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Select_Charmap( FT_Face face,
|
||||
FT_Encoding encoding )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Select_Charmap( FT_Face face,
|
||||
FT_Encoding encoding )
|
||||
{
|
||||
FT_CharMap* cur;
|
||||
FT_CharMap* limit;
|
||||
|
@ -1758,8 +1786,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_Charmap( FT_Face face,
|
||||
FT_CharMap charmap )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_Charmap( FT_Face face,
|
||||
FT_CharMap charmap )
|
||||
{
|
||||
FT_CharMap* cur;
|
||||
FT_CharMap* limit;
|
||||
|
@ -1788,8 +1817,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_UInt ) FT_Get_Char_Index( FT_Face face,
|
||||
FT_ULong charcode )
|
||||
FT_EXPORT_DEF( FT_UInt )
|
||||
FT_Get_Char_Index( FT_Face face,
|
||||
FT_ULong charcode )
|
||||
{
|
||||
FT_UInt result;
|
||||
FT_Driver driver;
|
||||
|
@ -1807,10 +1837,11 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Get_Glyph_Name( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_Pointer buffer,
|
||||
FT_UInt buffer_max )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_Glyph_Name( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_Pointer buffer,
|
||||
FT_UInt buffer_max )
|
||||
{
|
||||
FT_Error error = FT_Err_Invalid_Argument;
|
||||
|
||||
|
@ -1846,8 +1877,9 @@
|
|||
|
||||
/* documentation is in tttables.h */
|
||||
|
||||
FT_EXPORT_DEF( void* ) FT_Get_Sfnt_Table( FT_Face face,
|
||||
FT_Sfnt_Tag tag )
|
||||
FT_EXPORT_DEF( void* )
|
||||
FT_Get_Sfnt_Table( FT_Face face,
|
||||
FT_Sfnt_Tag tag )
|
||||
{
|
||||
void* table = 0;
|
||||
FT_Get_Sfnt_Table_Func func;
|
||||
|
@ -1881,9 +1913,10 @@
|
|||
/*************************************************************************/
|
||||
|
||||
/* lookup a renderer by glyph format in the library's list */
|
||||
FT_BASE_DEF( FT_Renderer ) FT_Lookup_Renderer( FT_Library library,
|
||||
FT_Glyph_Format format,
|
||||
FT_ListNode* node )
|
||||
FT_BASE_DEF( FT_Renderer )
|
||||
FT_Lookup_Renderer( FT_Library library,
|
||||
FT_Glyph_Format format,
|
||||
FT_ListNode* node )
|
||||
{
|
||||
FT_ListNode cur;
|
||||
FT_Renderer result = 0;
|
||||
|
@ -1922,8 +1955,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Renderer ft_lookup_glyph_renderer( FT_GlyphSlot slot )
|
||||
static FT_Renderer
|
||||
ft_lookup_glyph_renderer( FT_GlyphSlot slot )
|
||||
{
|
||||
FT_Face face = slot->face;
|
||||
FT_Library library = FT_FACE_LIBRARY( face );
|
||||
|
@ -1937,8 +1970,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_set_current_renderer( FT_Library library )
|
||||
static void
|
||||
ft_set_current_renderer( FT_Library library )
|
||||
{
|
||||
FT_Renderer renderer;
|
||||
|
||||
|
@ -1948,8 +1981,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
FT_Error ft_add_renderer( FT_Module module )
|
||||
static FT_Error
|
||||
ft_add_renderer( FT_Module module )
|
||||
{
|
||||
FT_Library library = module->library;
|
||||
FT_Memory memory = library->memory;
|
||||
|
@ -1996,8 +2029,8 @@
|
|||
}
|
||||
|
||||
|
||||
static
|
||||
void ft_remove_renderer( FT_Module module )
|
||||
static void
|
||||
ft_remove_renderer( FT_Module module )
|
||||
{
|
||||
FT_Library library = module->library;
|
||||
FT_Memory memory = library->memory;
|
||||
|
@ -2025,8 +2058,9 @@
|
|||
|
||||
/* documentation is in ftrender.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Renderer ) FT_Get_Renderer( FT_Library library,
|
||||
FT_Glyph_Format format )
|
||||
FT_EXPORT_DEF( FT_Renderer )
|
||||
FT_Get_Renderer( FT_Library library,
|
||||
FT_Glyph_Format format )
|
||||
{
|
||||
/* test for valid `library' delayed to FT_Lookup_Renderer() */
|
||||
|
||||
|
@ -2036,10 +2070,11 @@
|
|||
|
||||
/* documentation is in ftrender.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Set_Renderer( FT_Library library,
|
||||
FT_Renderer renderer,
|
||||
FT_UInt num_params,
|
||||
FT_Parameter* parameters )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Set_Renderer( FT_Library library,
|
||||
FT_Renderer renderer,
|
||||
FT_UInt num_params,
|
||||
FT_Parameter* parameters )
|
||||
{
|
||||
FT_ListNode node;
|
||||
FT_Error error = FT_Err_Ok;
|
||||
|
@ -2081,10 +2116,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph_Internal(
|
||||
FT_Library library,
|
||||
FT_GlyphSlot slot,
|
||||
FT_UInt render_mode )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Render_Glyph_Internal( FT_Library library,
|
||||
FT_GlyphSlot slot,
|
||||
FT_UInt render_mode )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_Renderer renderer;
|
||||
|
@ -2142,8 +2177,9 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph( FT_GlyphSlot slot,
|
||||
FT_UInt render_mode )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Render_Glyph( FT_GlyphSlot slot,
|
||||
FT_UInt render_mode )
|
||||
{
|
||||
FT_Library library;
|
||||
|
||||
|
@ -2185,8 +2221,8 @@
|
|||
/* <Note> */
|
||||
/* The driver _must_ be LOCKED! */
|
||||
/* */
|
||||
static
|
||||
void Destroy_Module( FT_Module module )
|
||||
static void
|
||||
Destroy_Module( FT_Module module )
|
||||
{
|
||||
FT_Memory memory = module->memory;
|
||||
FT_Module_Class* clazz = module->clazz;
|
||||
|
@ -2219,8 +2255,9 @@
|
|||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Add_Module( FT_Library library,
|
||||
const FT_Module_Class* clazz )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Add_Module( FT_Library library,
|
||||
const FT_Module_Class* clazz )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Memory memory;
|
||||
|
@ -2345,8 +2382,9 @@
|
|||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Module ) FT_Get_Module( FT_Library library,
|
||||
const char* module_name )
|
||||
FT_EXPORT_DEF( FT_Module )
|
||||
FT_Get_Module( FT_Library library,
|
||||
const char* module_name )
|
||||
{
|
||||
FT_Module result = 0;
|
||||
FT_Module* cur;
|
||||
|
@ -2372,8 +2410,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_BASE_DEF( const void* ) FT_Get_Module_Interface( FT_Library library,
|
||||
const char* mod_name )
|
||||
FT_BASE_DEF( const void* )
|
||||
FT_Get_Module_Interface( FT_Library library,
|
||||
const char* mod_name )
|
||||
{
|
||||
FT_Module module;
|
||||
|
||||
|
@ -2388,8 +2427,9 @@
|
|||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Remove_Module( FT_Library library,
|
||||
FT_Module module )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Remove_Module( FT_Library library,
|
||||
FT_Module module )
|
||||
{
|
||||
/* try to find the module from the table, then remove it from there */
|
||||
|
||||
|
@ -2442,8 +2482,9 @@
|
|||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Library( FT_Memory memory,
|
||||
FT_Library *alibrary )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Library( FT_Memory memory,
|
||||
FT_Library *alibrary )
|
||||
{
|
||||
FT_Library library = 0;
|
||||
FT_Error error;
|
||||
|
@ -2476,7 +2517,8 @@
|
|||
|
||||
/* 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_UInt n;
|
||||
|
@ -2515,9 +2557,10 @@
|
|||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Set_Debug_Hook( FT_Library library,
|
||||
FT_UInt hook_index,
|
||||
FT_DebugHook_Func debug_hook )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Set_Debug_Hook( FT_Library library,
|
||||
FT_UInt hook_index,
|
||||
FT_DebugHook_Func debug_hook )
|
||||
{
|
||||
if ( library && debug_hook &&
|
||||
hook_index <
|
||||
|
|
|
@ -44,10 +44,10 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Decompose(
|
||||
FT_Outline* outline,
|
||||
const FT_Outline_Funcs* interface,
|
||||
void* user )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Decompose( FT_Outline* outline,
|
||||
const FT_Outline_Funcs* interface,
|
||||
void* user )
|
||||
{
|
||||
#undef SCALED
|
||||
#define SCALED( x ) ( ( (x) << shift ) - delta )
|
||||
|
@ -249,11 +249,11 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_New_Internal(
|
||||
FT_Memory memory,
|
||||
FT_UInt numPoints,
|
||||
FT_Int numContours,
|
||||
FT_Outline *anoutline )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_New_Internal( FT_Memory memory,
|
||||
FT_UInt numPoints,
|
||||
FT_Int numContours,
|
||||
FT_Outline *anoutline )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -284,10 +284,11 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_New( FT_Library library,
|
||||
FT_UInt numPoints,
|
||||
FT_Int numContours,
|
||||
FT_Outline *anoutline )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_New( FT_Library library,
|
||||
FT_UInt numPoints,
|
||||
FT_Int numContours,
|
||||
FT_Outline *anoutline )
|
||||
{
|
||||
if ( !library )
|
||||
return FT_Err_Invalid_Library_Handle;
|
||||
|
@ -299,8 +300,9 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Copy( FT_Outline* source,
|
||||
FT_Outline *target )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Copy( FT_Outline* source,
|
||||
FT_Outline *target )
|
||||
{
|
||||
FT_Int is_owner;
|
||||
|
||||
|
@ -330,8 +332,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Done_Internal( FT_Memory memory,
|
||||
FT_Outline* outline )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Done_Internal( FT_Memory memory,
|
||||
FT_Outline* outline )
|
||||
{
|
||||
if ( outline )
|
||||
{
|
||||
|
@ -352,8 +355,9 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Done( FT_Library library,
|
||||
FT_Outline* outline )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Done( FT_Library library,
|
||||
FT_Outline* outline )
|
||||
{
|
||||
/* check for valid `outline' in FT_Outline_Done_Internal() */
|
||||
|
||||
|
@ -366,8 +370,9 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Outline_Get_CBox( FT_Outline* outline,
|
||||
FT_BBox *acbox )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Outline_Get_CBox( FT_Outline* outline,
|
||||
FT_BBox *acbox )
|
||||
{
|
||||
FT_Pos xMin, yMin, xMax, yMax;
|
||||
|
||||
|
@ -415,9 +420,10 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Outline_Translate( FT_Outline* outline,
|
||||
FT_Pos xOffset,
|
||||
FT_Pos yOffset )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Outline_Translate( FT_Outline* outline,
|
||||
FT_Pos xOffset,
|
||||
FT_Pos yOffset )
|
||||
{
|
||||
FT_UShort n;
|
||||
FT_Vector* vec = outline->points;
|
||||
|
@ -434,7 +440,8 @@
|
|||
|
||||
/* 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_Int first, last;
|
||||
|
@ -489,9 +496,10 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Render( FT_Library library,
|
||||
FT_Outline* outline,
|
||||
FT_Raster_Params* params )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Render( FT_Library library,
|
||||
FT_Outline* outline,
|
||||
FT_Raster_Params* params )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Bool update = 0;
|
||||
|
@ -539,9 +547,10 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Get_Bitmap( FT_Library library,
|
||||
FT_Outline* outline,
|
||||
FT_Bitmap *abitmap )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Get_Bitmap( FT_Library library,
|
||||
FT_Outline* outline,
|
||||
FT_Bitmap *abitmap )
|
||||
{
|
||||
FT_Raster_Params params;
|
||||
|
||||
|
@ -563,8 +572,9 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Vector_Transform( FT_Vector* vector,
|
||||
FT_Matrix* matrix )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Vector_Transform( FT_Vector* vector,
|
||||
FT_Matrix* matrix )
|
||||
{
|
||||
FT_Pos xz, yz;
|
||||
|
||||
|
@ -585,8 +595,9 @@
|
|||
|
||||
/* documentation is in ftoutln.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Outline_Transform( FT_Outline* outline,
|
||||
FT_Matrix* matrix )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Outline_Transform( FT_Outline* outline,
|
||||
FT_Matrix* matrix )
|
||||
{
|
||||
FT_Vector* vec = outline->points;
|
||||
FT_Vector* limit = vec + outline->n_points;
|
||||
|
|
|
@ -31,10 +31,11 @@
|
|||
#define FT_COMPONENT trace_stream
|
||||
|
||||
|
||||
FT_BASE_DEF( void ) FT_New_Memory_Stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream stream )
|
||||
FT_BASE_DEF( void )
|
||||
FT_New_Memory_Stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream stream )
|
||||
{
|
||||
stream->memory = library->memory;
|
||||
stream->base = base;
|
||||
|
@ -46,8 +47,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Seek_Stream( FT_Stream stream,
|
||||
FT_ULong pos )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Seek_Stream( FT_Stream stream,
|
||||
FT_ULong pos )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -84,31 +86,35 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Skip_Stream( FT_Stream stream,
|
||||
FT_Long distance )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Skip_Stream( FT_Stream stream,
|
||||
FT_Long 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;
|
||||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Read_Stream( FT_Stream stream,
|
||||
FT_Byte* buffer,
|
||||
FT_ULong count )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Read_Stream( FT_Stream stream,
|
||||
FT_Byte* buffer,
|
||||
FT_ULong count )
|
||||
{
|
||||
return FT_Read_Stream_At( stream, stream->pos, buffer, count );
|
||||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Read_Stream_At( FT_Stream stream,
|
||||
FT_ULong pos,
|
||||
FT_Byte* buffer,
|
||||
FT_ULong count )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Read_Stream_At( FT_Stream stream,
|
||||
FT_ULong pos,
|
||||
FT_Byte* buffer,
|
||||
FT_ULong count )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_ULong read_bytes;
|
||||
|
@ -149,9 +155,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Extract_Frame( FT_Stream stream,
|
||||
FT_ULong count,
|
||||
FT_Byte** pbytes )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Extract_Frame( FT_Stream stream,
|
||||
FT_ULong count,
|
||||
FT_Byte** pbytes )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
|
@ -170,8 +177,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( void ) FT_Release_Frame( FT_Stream stream,
|
||||
FT_Byte** pbytes )
|
||||
FT_BASE_DEF( void )
|
||||
FT_Release_Frame( FT_Stream stream,
|
||||
FT_Byte** pbytes )
|
||||
{
|
||||
if ( stream->read )
|
||||
{
|
||||
|
@ -184,8 +192,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Access_Frame( FT_Stream stream,
|
||||
FT_ULong count )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Access_Frame( FT_Stream stream,
|
||||
FT_ULong count )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
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 */
|
||||
/* 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;
|
||||
|
||||
|
@ -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_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_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_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_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_Long result;
|
||||
|
@ -371,8 +387,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Char ) FT_Read_Char( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Char )
|
||||
FT_Read_Char( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte result = 0;
|
||||
|
||||
|
@ -407,8 +424,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Short ) FT_Read_Short( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Short )
|
||||
FT_Read_Short( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte reads[2];
|
||||
FT_Byte* p = 0;
|
||||
|
@ -453,8 +471,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Short ) FT_Read_ShortLE( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Short )
|
||||
FT_Read_ShortLE( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte reads[2];
|
||||
FT_Byte* p = 0;
|
||||
|
@ -499,8 +518,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Long ) FT_Read_Offset( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Long )
|
||||
FT_Read_Offset( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte reads[3];
|
||||
FT_Byte* p = 0;
|
||||
|
@ -545,8 +565,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Long ) FT_Read_Long( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Long )
|
||||
FT_Read_Long( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte reads[4];
|
||||
FT_Byte* p = 0;
|
||||
|
@ -591,8 +612,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Long ) FT_Read_LongLE( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
FT_BASE_DEF( FT_Long )
|
||||
FT_Read_LongLE( FT_Stream stream,
|
||||
FT_Error* error )
|
||||
{
|
||||
FT_Byte reads[4];
|
||||
FT_Byte* p = 0;
|
||||
|
@ -637,9 +659,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_BASE_DEF( FT_Error ) FT_Read_Fields( FT_Stream stream,
|
||||
const FT_Frame_Field* fields,
|
||||
void* structure )
|
||||
FT_BASE_DEF( FT_Error )
|
||||
FT_Read_Fields( FT_Stream stream,
|
||||
const FT_Frame_Field* fields,
|
||||
void* structure )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_Bool frame_accessed = 0;
|
||||
|
|
|
@ -33,9 +33,10 @@
|
|||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Oblique( FT_GlyphSlot original,
|
||||
FT_Outline* outline,
|
||||
FT_Pos* advance )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Oblique( FT_GlyphSlot original,
|
||||
FT_Outline* outline,
|
||||
FT_Pos* advance )
|
||||
{
|
||||
FT_Matrix transform;
|
||||
|
||||
|
@ -75,8 +76,8 @@
|
|||
|
||||
#include <freetype/internal/ftcalc.h>
|
||||
|
||||
static
|
||||
FT_Pos ft_norm( FT_Vector* vec )
|
||||
static FT_Pos
|
||||
ft_norm( FT_Vector* vec )
|
||||
{
|
||||
FT_Int64 t1, t2;
|
||||
|
||||
|
@ -90,8 +91,8 @@
|
|||
|
||||
#else /* FT_CONFIG_OPTION_OLD_CALCS */
|
||||
|
||||
static
|
||||
FT_Pos ft_norm( FT_Vector* vec )
|
||||
static FT_Pos
|
||||
ft_norm( FT_Vector* vec )
|
||||
{
|
||||
FT_F26Dot6 u, v, d;
|
||||
FT_Int shift;
|
||||
|
@ -163,9 +164,9 @@
|
|||
#endif /* FT_CONFIG_OPTION_OLD_CALCS */
|
||||
|
||||
|
||||
static
|
||||
int ft_test_extrema( FT_Outline* outline,
|
||||
int n )
|
||||
static int
|
||||
ft_test_extrema( FT_Outline* outline,
|
||||
int n )
|
||||
{
|
||||
FT_Vector *prev, *cur, *next;
|
||||
FT_Pos product;
|
||||
|
@ -217,8 +218,8 @@
|
|||
/* */
|
||||
/* The function returns either 1 or -1. */
|
||||
/* */
|
||||
static
|
||||
int ft_get_orientation( FT_Outline* outline )
|
||||
static int
|
||||
ft_get_orientation( FT_Outline* outline )
|
||||
{
|
||||
FT_BBox box;
|
||||
FT_BBox indices;
|
||||
|
@ -291,9 +292,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Outline_Embolden( FT_GlyphSlot original,
|
||||
FT_Outline* outline,
|
||||
FT_Pos* advance )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Outline_Embolden( FT_GlyphSlot original,
|
||||
FT_Outline* outline,
|
||||
FT_Pos* advance )
|
||||
{
|
||||
FT_Vector u, v;
|
||||
FT_Vector* points;
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
/* <Return> */
|
||||
/* The address of newly allocated block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_alloc( FT_Memory memory,
|
||||
long size )
|
||||
{
|
||||
|
@ -98,7 +98,7 @@
|
|||
/* <Return> */
|
||||
/* The address of the reallocated memory block. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void*)
|
||||
FT_CALLBACK_DEF( void* )
|
||||
ft_realloc( FT_Memory memory,
|
||||
long cur_size,
|
||||
long new_size,
|
||||
|
@ -124,7 +124,7 @@
|
|||
/* */
|
||||
/* block :: The address of block in memory to be freed. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_free( FT_Memory memory,
|
||||
void* block )
|
||||
{
|
||||
|
@ -166,7 +166,7 @@
|
|||
/* <Input> */
|
||||
/* stream :: A pointer to the stream object. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ft_close_stream( FT_Stream stream )
|
||||
{
|
||||
fclose( STREAM_FILE( stream ) );
|
||||
|
@ -197,7 +197,7 @@
|
|||
/* <Return> */
|
||||
/* The number of bytes actually read. */
|
||||
/* */
|
||||
FT_CALLBACK_DEF(unsigned long)
|
||||
FT_CALLBACK_DEF( unsigned long )
|
||||
ft_io_stream( FT_Stream stream,
|
||||
unsigned long offset,
|
||||
unsigned char* buffer,
|
||||
|
@ -216,8 +216,9 @@
|
|||
|
||||
/* documentation is in ftobjs.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
|
||||
FT_Stream astream )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_New_Stream( const char* filepathname,
|
||||
FT_Stream astream )
|
||||
{
|
||||
FILE* file;
|
||||
|
||||
|
@ -255,7 +256,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -275,7 +277,8 @@
|
|||
|
||||
/* 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 );
|
||||
}
|
||||
|
|
|
@ -41,7 +41,8 @@
|
|||
#ifdef FT_CONFIG_HAS_INT64
|
||||
|
||||
/* 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_Int64 v;
|
||||
|
@ -59,7 +60,8 @@
|
|||
#else /* !FT_CONFIG_HAS_INT64 */
|
||||
|
||||
/* 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_UInt32 v1, v2, k1, k2, hi, lo1, lo2, lo3;
|
||||
|
@ -93,7 +95,8 @@
|
|||
#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_Int shift;
|
||||
|
@ -132,8 +135,9 @@
|
|||
}
|
||||
|
||||
|
||||
static void ft_trig_pseudo_rotate( FT_Vector* vec,
|
||||
FT_Angle theta )
|
||||
static void
|
||||
ft_trig_pseudo_rotate( FT_Vector* vec,
|
||||
FT_Angle theta )
|
||||
{
|
||||
FT_Int i;
|
||||
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 yi, i;
|
||||
|
@ -277,7 +282,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -292,7 +298,8 @@
|
|||
|
||||
/* 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 );
|
||||
}
|
||||
|
@ -300,7 +307,8 @@
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -315,8 +323,9 @@
|
|||
|
||||
/* documentation is in fttrigon.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Angle ) FT_Atan2( FT_Fixed dx,
|
||||
FT_Fixed dy )
|
||||
FT_EXPORT_DEF( FT_Angle )
|
||||
FT_Atan2( FT_Fixed dx,
|
||||
FT_Fixed dy )
|
||||
{
|
||||
FT_Vector v;
|
||||
|
||||
|
@ -335,8 +344,9 @@
|
|||
|
||||
/* documentation is in fttrigon.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Vector_Unit( FT_Vector* vec,
|
||||
FT_Angle angle )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Vector_Unit( FT_Vector* vec,
|
||||
FT_Angle angle )
|
||||
{
|
||||
vec->x = FT_TRIG_COSCALE >> 2;
|
||||
vec->y = 0;
|
||||
|
@ -348,8 +358,9 @@
|
|||
|
||||
/* documentation is in fttrigon.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Vector_Rotate( FT_Vector* vec,
|
||||
FT_Angle angle )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Vector_Rotate( FT_Vector* vec,
|
||||
FT_Angle angle )
|
||||
{
|
||||
FT_Int shift;
|
||||
FT_Vector v;
|
||||
|
@ -382,7 +393,8 @@
|
|||
|
||||
/* 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_Vector v;
|
||||
|
@ -411,9 +423,10 @@
|
|||
|
||||
/* documentation is in fttrigon.h */
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Vector_Polarize( FT_Vector* vec,
|
||||
FT_Fixed *length,
|
||||
FT_Angle *angle )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Vector_Polarize( FT_Vector* vec,
|
||||
FT_Fixed *length,
|
||||
FT_Angle *angle )
|
||||
{
|
||||
FT_Int shift;
|
||||
FT_Vector v;
|
||||
|
|
|
@ -36,10 +36,11 @@
|
|||
|
||||
|
||||
/* create a new chunk node, setting its cache index and ref count */
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_ChunkNode_Init( FTC_ChunkNode node,
|
||||
FTC_ChunkSet cset,
|
||||
FT_UInt index,
|
||||
FT_Bool alloc )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_ChunkNode_Init( FTC_ChunkNode node,
|
||||
FTC_ChunkSet cset,
|
||||
FT_UInt index,
|
||||
FT_Bool alloc )
|
||||
{
|
||||
FTC_Chunk_Cache cache = cset->cache;
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -108,9 +111,10 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_New( FTC_Chunk_Cache cache,
|
||||
FT_Pointer type,
|
||||
FTC_ChunkSet *aset )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_ChunkSet_New( FTC_Chunk_Cache cache,
|
||||
FT_Pointer type,
|
||||
FTC_ChunkSet *aset )
|
||||
{
|
||||
FT_Error error;
|
||||
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_Manager manager = cache->root.manager;
|
||||
|
@ -210,11 +215,11 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_Lookup_Node(
|
||||
FTC_ChunkSet cset,
|
||||
FT_UInt glyph_index,
|
||||
FTC_ChunkNode *anode,
|
||||
FT_UInt *anindex )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_ChunkSet_Lookup_Node( FTC_ChunkSet cset,
|
||||
FT_UInt glyph_index,
|
||||
FTC_ChunkNode *anode,
|
||||
FT_UInt *anindex )
|
||||
{
|
||||
FTC_Chunk_Cache cache = cset->cache;
|
||||
FTC_Manager manager = cache->root.manager;
|
||||
|
@ -288,7 +293,7 @@
|
|||
( (FTC_ChunkSet)(node)->root.data )
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ftc_chunk_set_lru_init( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -311,7 +316,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_chunk_set_lru_done( FT_Lru lru,
|
||||
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,
|
||||
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_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 */
|
||||
FT_Lru_Done( cache->csets_lru );
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Chunk_Cache_Lookup( FTC_Chunk_Cache cache,
|
||||
FT_Pointer type,
|
||||
FT_UInt gindex,
|
||||
FTC_ChunkNode *anode,
|
||||
FT_UInt *aindex )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Chunk_Cache_Lookup( FTC_Chunk_Cache cache,
|
||||
FT_Pointer type,
|
||||
FT_UInt gindex,
|
||||
FTC_ChunkNode *anode,
|
||||
FT_UInt *aindex )
|
||||
{
|
||||
FT_Error error;
|
||||
FTC_ChunkSet cset;
|
||||
|
|
|
@ -37,9 +37,10 @@
|
|||
|
||||
|
||||
/* create a new glyph node, setting its cache index and ref count */
|
||||
FT_EXPORT_DEF( void ) FTC_GlyphNode_Init( FTC_GlyphNode node,
|
||||
FTC_GlyphSet gset,
|
||||
FT_UInt gindex )
|
||||
FT_EXPORT_DEF( void )
|
||||
FTC_GlyphNode_Init( FTC_GlyphNode node,
|
||||
FTC_GlyphSet gset,
|
||||
FT_UInt gindex )
|
||||
{
|
||||
FTC_Glyph_Cache cache = gset->cache;
|
||||
FTC_CacheNode_Data* data = FTC_CACHENODE_TO_DATA_P( &node->root );
|
||||
|
@ -59,8 +60,9 @@
|
|||
/* set its `cache_data' field correctly, otherwise bad things */
|
||||
/* will happen! */
|
||||
|
||||
FT_EXPORT_DEF( void ) FTC_GlyphNode_Destroy( FTC_GlyphNode node,
|
||||
FTC_Glyph_Cache cache )
|
||||
FT_EXPORT_DEF( void )
|
||||
FTC_GlyphNode_Destroy( FTC_GlyphNode node,
|
||||
FTC_Glyph_Cache cache )
|
||||
{
|
||||
FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index;
|
||||
FTC_GlyphSet gset = (FTC_GlyphSet)gset_lru->root.data;
|
||||
|
@ -105,8 +107,9 @@
|
|||
/* set its `user_data' field correctly, otherwise bad things */
|
||||
/* will happen! */
|
||||
|
||||
FT_EXPORT_DEF( FT_ULong ) FTC_GlyphNode_Size( FTC_GlyphNode node,
|
||||
FTC_Glyph_Cache cache )
|
||||
FT_EXPORT_DEF( FT_ULong )
|
||||
FTC_GlyphNode_Size( FTC_GlyphNode node,
|
||||
FTC_Glyph_Cache cache )
|
||||
{
|
||||
FT_LruNode gset_lru = cache->gsets_lru->nodes + node->gset_index;
|
||||
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_Pointer type,
|
||||
FTC_GlyphSet *aset )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_GlyphSet_New( FTC_Glyph_Cache cache,
|
||||
FT_Pointer type,
|
||||
FTC_GlyphSet *aset )
|
||||
{
|
||||
FT_Error error;
|
||||
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_Manager manager = cache->root.manager;
|
||||
|
@ -229,10 +234,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_GlyphSet_Lookup_Node(
|
||||
FTC_GlyphSet gset,
|
||||
FT_UInt glyph_index,
|
||||
FTC_GlyphNode *anode )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_GlyphSet_Lookup_Node( FTC_GlyphSet gset,
|
||||
FT_UInt glyph_index,
|
||||
FTC_GlyphNode *anode )
|
||||
{
|
||||
FTC_Glyph_Cache cache = gset->cache;
|
||||
FTC_Manager manager = cache->root.manager;
|
||||
|
@ -316,7 +321,7 @@
|
|||
( (FTC_GlyphSet)(node)->root.data )
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ftc_glyph_set_lru_init( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -337,7 +342,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_glyph_set_lru_done( FT_Lru lru,
|
||||
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,
|
||||
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_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 */
|
||||
FT_Lru_Done( cache->gsets_lru );
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Glyph_Cache_Lookup( FTC_Glyph_Cache cache,
|
||||
FT_Pointer type,
|
||||
FT_UInt gindex,
|
||||
FTC_GlyphNode *anode )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Glyph_Cache_Lookup( FTC_Glyph_Cache cache,
|
||||
FT_Pointer type,
|
||||
FT_UInt gindex,
|
||||
FTC_GlyphNode *anode )
|
||||
{
|
||||
FT_Error error;
|
||||
FTC_GlyphSet gset;
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_glyph_image_node_destroy( FTC_GlyphImage node,
|
||||
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,
|
||||
FT_UInt glyph_index,
|
||||
FTC_GlyphImage *anode )
|
||||
|
@ -161,7 +161,7 @@
|
|||
/* this function is important because it is both part of */
|
||||
/* 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 )
|
||||
{
|
||||
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_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_Desc* type )
|
||||
{
|
||||
|
@ -265,8 +265,9 @@
|
|||
};
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Image_Cache_New( FTC_Manager manager,
|
||||
FTC_Image_Cache *acache )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Image_Cache_New( FTC_Manager manager,
|
||||
FTC_Image_Cache *acache )
|
||||
{
|
||||
return FTC_Manager_Register_Cache(
|
||||
manager,
|
||||
|
@ -275,10 +276,11 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Image_Cache_Lookup( FTC_Image_Cache cache,
|
||||
FTC_Image_Desc* desc,
|
||||
FT_UInt gindex,
|
||||
FT_Glyph *aglyph )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Image_Cache_Lookup( FTC_Image_Cache cache,
|
||||
FTC_Image_Desc* desc,
|
||||
FT_UInt gindex,
|
||||
FT_Glyph *aglyph )
|
||||
{
|
||||
FT_Error error;
|
||||
FTC_GlyphNode node;
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ftc_manager_init_face( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -67,7 +67,7 @@
|
|||
|
||||
|
||||
/* helper function for ftc_manager_done_face() */
|
||||
FT_CALLBACK_DEF(FT_Bool)
|
||||
FT_CALLBACK_DEF( FT_Bool )
|
||||
ftc_manager_size_selector( FT_Lru lru,
|
||||
FT_LruNode node,
|
||||
FT_Pointer data )
|
||||
|
@ -78,7 +78,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_manager_done_face( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -107,7 +107,7 @@
|
|||
} FTC_FontRequest;
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ftc_manager_init_size( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -136,7 +136,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_manager_done_size( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
|
@ -147,7 +147,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Error)
|
||||
FT_CALLBACK_DEF( FT_Error )
|
||||
ftc_manager_flush_size( FT_Lru lru,
|
||||
FT_LruNode node,
|
||||
FT_LruKey key )
|
||||
|
@ -174,7 +174,7 @@
|
|||
}
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(FT_Bool)
|
||||
FT_CALLBACK_DEF( FT_Bool )
|
||||
ftc_manager_compare_size( FT_LruNode node,
|
||||
FT_LruKey key )
|
||||
{
|
||||
|
@ -212,13 +212,14 @@
|
|||
};
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Manager_New( FT_Library library,
|
||||
FT_UInt max_faces,
|
||||
FT_UInt max_sizes,
|
||||
FT_ULong max_bytes,
|
||||
FTC_Face_Requester requester,
|
||||
FT_Pointer req_data,
|
||||
FTC_Manager *amanager )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Manager_New( FT_Library library,
|
||||
FT_UInt max_faces,
|
||||
FT_UInt max_sizes,
|
||||
FT_ULong max_bytes,
|
||||
FTC_Face_Requester requester,
|
||||
FT_Pointer req_data,
|
||||
FTC_Manager *amanager )
|
||||
{
|
||||
FT_Error error;
|
||||
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_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 )
|
||||
{
|
||||
|
@ -325,9 +328,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Lookup_Face( FTC_Manager manager,
|
||||
FTC_FaceID face_id,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Manager_Lookup_Face( FTC_Manager manager,
|
||||
FTC_FaceID face_id,
|
||||
FT_Face *aface )
|
||||
{
|
||||
if ( !manager )
|
||||
return FTC_Err_Invalid_Cache_Handle;
|
||||
|
@ -338,10 +342,11 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Lookup_Size( FTC_Manager manager,
|
||||
FTC_Font font,
|
||||
FT_Face *aface,
|
||||
FT_Size *asize )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Manager_Lookup_Size( FTC_Manager manager,
|
||||
FTC_Font font,
|
||||
FT_Face *aface,
|
||||
FT_Size *asize )
|
||||
{
|
||||
FTC_FontRequest req;
|
||||
FT_Error error;
|
||||
|
@ -385,7 +390,8 @@
|
|||
/* `Compress' the manager's data, i.e., get rid of old cache nodes */
|
||||
/* that are not referenced anymore in order to limit the total */
|
||||
/* 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;
|
||||
|
||||
|
@ -433,10 +439,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_Manager_Register_Cache(
|
||||
FTC_Manager manager,
|
||||
FTC_Cache_Class* clazz,
|
||||
FTC_Cache *acache )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_Manager_Register_Cache( FTC_Manager manager,
|
||||
FTC_Cache_Class* clazz,
|
||||
FTC_Cache *acache )
|
||||
{
|
||||
FT_Error error = FTC_Err_Invalid_Argument;
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
FT_CALLBACK_DEF(void)
|
||||
FT_CALLBACK_DEF( void )
|
||||
ftc_sbit_chunk_node_destroy( FTC_ChunkNode node )
|
||||
{
|
||||
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,
|
||||
FT_Bitmap* source,
|
||||
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,
|
||||
FT_UInt index,
|
||||
FTC_ChunkNode *anode )
|
||||
|
@ -240,7 +240,7 @@
|
|||
/* this function is important because it is both part of */
|
||||
/* 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 )
|
||||
{
|
||||
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_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_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_Image_Desc* type )
|
||||
{
|
||||
|
@ -358,8 +358,9 @@
|
|||
};
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_SBit_Cache_New( FTC_Manager manager,
|
||||
FTC_SBit_Cache *acache )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_SBit_Cache_New( FTC_Manager manager,
|
||||
FTC_SBit_Cache *acache )
|
||||
{
|
||||
return FTC_Manager_Register_Cache(
|
||||
manager,
|
||||
|
@ -368,10 +369,11 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache,
|
||||
FTC_Image_Desc* desc,
|
||||
FT_UInt gindex,
|
||||
FTC_SBit *ansbit )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache,
|
||||
FTC_Image_Desc* desc,
|
||||
FT_UInt gindex,
|
||||
FTC_SBit *ansbit )
|
||||
{
|
||||
FT_Error error;
|
||||
FTC_ChunkNode node;
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
#include "ftcerror.h"
|
||||
|
||||
|
||||
static
|
||||
void lru_build_free_list( FT_LruNode nodes,
|
||||
FT_UInt count,
|
||||
FT_List free_list )
|
||||
static void
|
||||
lru_build_free_list( FT_LruNode nodes,
|
||||
FT_UInt count,
|
||||
FT_List free_list )
|
||||
{
|
||||
FT_LruNode node = nodes;
|
||||
FT_LruNode limit = node + count;
|
||||
|
@ -40,12 +40,13 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_New( const FT_Lru_Class* clazz,
|
||||
FT_UInt max_elements,
|
||||
FT_Pointer user_data,
|
||||
FT_Memory memory,
|
||||
FT_Bool pre_alloc,
|
||||
FT_Lru *anlru )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Lru_New( const FT_Lru_Class* clazz,
|
||||
FT_UInt max_elements,
|
||||
FT_Pointer user_data,
|
||||
FT_Memory memory,
|
||||
FT_Bool pre_alloc,
|
||||
FT_Lru *anlru )
|
||||
{
|
||||
FT_Error error;
|
||||
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_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;
|
||||
|
||||
|
@ -136,9 +139,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru,
|
||||
FT_LruKey key,
|
||||
FT_LruNode *anode )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Lru_Lookup_Node( FT_Lru lru,
|
||||
FT_LruKey key,
|
||||
FT_LruNode *anode )
|
||||
{
|
||||
FT_Error error = 0;
|
||||
FT_ListNode node;
|
||||
|
@ -262,9 +266,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_Lru_Lookup( FT_Lru lru,
|
||||
FT_LruKey key,
|
||||
FT_Pointer *anobject )
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Lru_Lookup( FT_Lru lru,
|
||||
FT_LruKey key,
|
||||
FT_Pointer *anobject )
|
||||
{
|
||||
FT_Error error;
|
||||
FT_LruNode node;
|
||||
|
@ -284,8 +289,9 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Remove_Node( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Lru_Remove_Node( FT_Lru lru,
|
||||
FT_LruNode node )
|
||||
{
|
||||
if ( !lru || !node )
|
||||
return;
|
||||
|
@ -310,9 +316,10 @@
|
|||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( void ) FT_Lru_Remove_Selection( FT_Lru lru,
|
||||
FT_Lru_Selector selector,
|
||||
FT_Pointer data )
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Lru_Remove_Selection( FT_Lru lru,
|
||||
FT_Lru_Selector selector,
|
||||
FT_Pointer data )
|
||||
{
|
||||
if ( !lru || !selector )
|
||||
return;
|
||||
|
|
|
@ -1617,19 +1617,20 @@
|
|||
face->kern_table_index = n;
|
||||
|
||||
/* ensure that the kerning pair table is sorted (yes, some */
|
||||
/* fonts have unsorted tables !!) */
|
||||
/* fonts have unsorted tables!) */
|
||||
{
|
||||
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,
|
||||
sizeof(TT_Kern_0_Pair), tt_kern_pair_compare );
|
||||
sizeof ( TT_Kern_0_Pair ), tt_kern_pair_compare );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1651,11 +1652,13 @@
|
|||
return error;
|
||||
}
|
||||
|
||||
|
||||
#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)
|
||||
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* pair2 = (TT_Kern_0_Pair*)b;
|
||||
|
@ -1663,12 +1666,14 @@
|
|||
FT_ULong index1 = TT_KERN_INDEX( pair1->left, pair1->right );
|
||||
FT_ULong index2 = TT_KERN_INDEX( pair2->left, pair2->right );
|
||||
|
||||
|
||||
return ( index1 < index2 ? -1 :
|
||||
( index1 > index2 ? 1 : 0 ));
|
||||
}
|
||||
|
||||
#undef TT_KERN_INDEX
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
|
Loading…
Reference in New Issue