Finishing David's latest changes (there were some errors in it).

This commit is contained in:
Werner Lemberg 2000-11-04 08:33:38 +00:00
parent 54e7574946
commit dc72aff43d
35 changed files with 331 additions and 311 deletions

View File

@ -155,29 +155,29 @@
/* declarations. */ /* declarations. */
/* */ /* */
/* Two macros are used within the FreeType source code to define */ /* Two macros are used within the FreeType source code to define */
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
/* */ /* */
/* FT_EXPORT( return_type ) */ /* FT_EXPORT( return_type ) */
/* */ /* */
/* is used in a function declaration, as in */ /* is used in a function declaration, as in */
/* */ /* */
/* FT_EXPORT( FT_Error ) */ /* FT_EXPORT( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ); */ /* FT_Init_FreeType( FT_Library* alibrary ); */
/* */ /* */
/* */ /* */
/* FT_EXPORT_DEF( return_type ) */ /* FT_EXPORT_DEF( return_type ) */
/* */ /* */
/* is used in a function definition, as in */ /* is used in a function definition, as in */
/* */ /* */
/* FT_EXPORT_DEF( FT_Error ) */ /* FT_EXPORT_DEF( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ) */ /* FT_Init_FreeType( FT_Library* alibrary ) */
/* { */ /* { */
/* ... some code ... */ /* ... some code ... */
/* return FT_Err_Ok; */ /* return FT_Err_Ok; */
/* } */ /* } */
/* */ /* */
/* You can provide your own implementation of FT_EXPORT and */ /* You can provide your own implementation of FT_EXPORT and */
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */ /* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
/* will be later automatically defined as `extern return_type' to */ /* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */ /* allow normal compilation. */
/* */ /* */

View File

@ -219,7 +219,7 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname, FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
FT_Stream stream ) FT_Stream stream )
{ {
int file; int file;
struct stat stat_buf; struct stat stat_buf;

View File

@ -15,8 +15,8 @@
SEP := / SEP := /
CLEAN_LIBRARY := $(DELETE) $@ CLEAN_LIBRARY := $(DELETE) $@
include $(TOP)/builds/compiler/gcc.mk include $(TOP)/builds/compiler/gcc.mk
include $(TOP)/builds/dos/dos-def.mk include $(TOP)/builds/dos/dos-def.mk
# EOF # EOF

View File

@ -155,29 +155,29 @@
/* declarations. */ /* declarations. */
/* */ /* */
/* Two macros are used within the FreeType source code to define */ /* Two macros are used within the FreeType source code to define */
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
/* */ /* */
/* FT_EXPORT( return_type ) */ /* FT_EXPORT( return_type ) */
/* */ /* */
/* is used in a function declaration, as in */ /* is used in a function declaration, as in */
/* */ /* */
/* FT_EXPORT( FT_Error ) */ /* FT_EXPORT( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ); */ /* FT_Init_FreeType( FT_Library* alibrary ); */
/* */ /* */
/* */ /* */
/* FT_EXPORT_DEF( return_type ) */ /* FT_EXPORT_DEF( return_type ) */
/* */ /* */
/* is used in a function definition, as in */ /* is used in a function definition, as in */
/* */ /* */
/* FT_EXPORT_DEF( FT_Error ) */ /* FT_EXPORT_DEF( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ) */ /* FT_Init_FreeType( FT_Library* alibrary ) */
/* { */ /* { */
/* ... some code ... */ /* ... some code ... */
/* return FT_Err_Ok; */ /* return FT_Err_Ok; */
/* } */ /* } */
/* */ /* */
/* You can provide your own implementation of FT_EXPORT and */ /* You can provide your own implementation of FT_EXPORT and */
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */ /* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
/* will be later automatically defined as `extern return_type' to */ /* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */ /* allow normal compilation. */
/* */ /* */

View File

@ -145,42 +145,53 @@
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define LOCAL_DEF static #define FT_LOCAL static
#define LOCAL_FUNC static #define FT_LOCAL_DEF static
#else #else
#ifdef __cplusplus #ifdef __cplusplus
#define LOCAL_DEF extern "C" #define FT_LOCAL extern "C"
#define LOCAL_FUNC extern "C" #define FT_LOCAL_DEF extern "C"
#else #else
#define LOCAL_DEF extern #define FT_LOCAL extern
#define LOCAL_FUNC extern #define FT_LOCAL_DEF extern
#endif #endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ #endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
#ifndef BASE_DEF #ifndef FT_BASE
#ifdef __cplusplus #ifdef __cplusplus
#define BASE_DEF( x ) extern "C" x #define FT_BASE( x ) extern "C" x
#else #else
#define BASE_DEF( x ) extern x #define FT_BASE( x ) extern x
#endif #endif
#endif /* !BASE_DEF */ #endif /* !FT_BASE */
#ifndef BASE_FUNC #ifndef FT_BASE_DEF
#ifdef __cplusplus #ifdef __cplusplus
#define BASE_FUNC( x ) extern "C" x #define FT_BASE_DEF( x ) extern "C" x
#else #else
#define BASE_FUNC( x ) extern x #define FT_BASE_DEF( x ) extern x
#endif #endif
#endif /* !BASE_FUNC */ #endif /* !FT_BASE_DEF */
#ifndef FT_EXPORT
#ifdef __cplusplus
#define FT_EXPORT( x ) extern "C" x
#else
#define FT_EXPORT( x ) extern x
#endif
#endif /* !FT_EXPORT */
#ifndef FT_EXPORT_DEF #ifndef FT_EXPORT_DEF
@ -194,17 +205,6 @@
#endif /* !FT_EXPORT_DEF */ #endif /* !FT_EXPORT_DEF */
#ifndef FT_EXPORT_FUNC
#ifdef __cplusplus
#define FT_EXPORT_FUNC( x ) extern "C" x
#else
#define FT_EXPORT_FUNC( x ) extern x
#endif
#endif /* !FT_EXPORT_FUNC */
#ifndef FT_EXPORT_VAR #ifndef FT_EXPORT_VAR
#ifdef __cplusplus #ifdef __cplusplus
@ -215,6 +215,10 @@
#endif /* !FT_EXPORT_VAR */ #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. */
/* */
/* This is special. Within C++, you must specify `extern "C"' for */ /* This is special. Within C++, you must specify `extern "C"' for */
/* functions which are used via function pointers, and you also */ /* functions which are used via function pointers, and you also */
@ -222,21 +226,26 @@
/* assure C linkage -- it's not possible to have (local) anonymous */ /* assure C linkage -- it's not possible to have (local) anonymous */
/* functions which are accessed by (global) function pointers. */ /* functions which are accessed by (global) function pointers. */
/* */ /* */
/* */
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
/* */
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
/* contains pointers to callback functions. */
/* */
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions. */
/* */
#ifdef __cplusplus #ifdef __cplusplus
#define LOCAL_VAR extern "C" #define FT_CALLBACK_DEF extern "C"
#define FT_CALLBACK_TABLE extern "C"
#define LOCAL_FUNC_X extern "C" #define FT_CALLBACK_TABLE_DEF extern "C"
#define FT_CPLUSPLUS( x ) extern "C" x
#else #else
#define LOCAL_VAR extern #define FT_CALLBACK_DEF static
#define FT_CALLBACK_TABLE extern
#define LOCAL_FUNC_X static #define FT_CALLBACK_TABLE_DEF
#define FT_CPLUSPLUS( x ) x
#endif /* __cplusplus */ #endif /* __cplusplus */

View File

@ -219,7 +219,7 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname, FT_EXPORT_DEF( FT_Error ) FT_New_Stream( const char* filepathname,
FT_Stream stream ) FT_Stream stream )
{ {
int file; int file;
struct stat stat_buf; struct stat stat_buf;

View File

@ -155,29 +155,29 @@
/* declarations. */ /* declarations. */
/* */ /* */
/* Two macros are used within the FreeType source code to define */ /* Two macros are used within the FreeType source code to define */
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
/* */ /* */
/* FT_EXPORT( return_type ) */ /* FT_EXPORT( return_type ) */
/* */ /* */
/* is used in a function declaration, as in */ /* is used in a function declaration, as in */
/* */ /* */
/* FT_EXPORT( FT_Error ) */ /* FT_EXPORT( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ); */ /* FT_Init_FreeType( FT_Library* alibrary ); */
/* */ /* */
/* */ /* */
/* FT_EXPORT_DEF( return_type ) */ /* FT_EXPORT_DEF( return_type ) */
/* */ /* */
/* is used in a function definition, as in */ /* is used in a function definition, as in */
/* */ /* */
/* FT_EXPORT_DEF( FT_Error ) */ /* FT_EXPORT_DEF( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ) */ /* FT_Init_FreeType( FT_Library* alibrary ) */
/* { */ /* { */
/* ... some code ... */ /* ... some code ... */
/* return FT_Err_Ok; */ /* return FT_Err_Ok; */
/* } */ /* } */
/* */ /* */
/* You can provide your own implementation of FT_EXPORT and */ /* You can provide your own implementation of FT_EXPORT and */
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */ /* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
/* will be later automatically defined as `extern return_type' to */ /* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */ /* allow normal compilation. */
/* */ /* */

View File

@ -169,8 +169,8 @@
/* */ /* */
FT_EXPORT_DEF( void ) FTC_GlyphNode_Init( FTC_GlyphNode node, FT_EXPORT_DEF( void ) FTC_GlyphNode_Init( FTC_GlyphNode node,
FTC_GlyphSet gset, FTC_GlyphSet gset,
FT_UInt gindex ); FT_UInt gindex );
#define FTC_GlyphNode_Ref( n ) \ #define FTC_GlyphNode_Ref( n ) \
FTC_CACHENODE_TO_DATA_P( &(n)->root )->ref_count++ FTC_CACHENODE_TO_DATA_P( &(n)->root )->ref_count++
@ -192,9 +192,9 @@
FTC_GlyphSet* aset ); FTC_GlyphSet* aset );
FT_EXPORT( FT_Error ) FTC_GlyphSet_Lookup_Node( FT_EXPORT( FT_Error ) FTC_GlyphSet_Lookup_Node(
FTC_GlyphSet gset, FTC_GlyphSet gset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_GlyphNode* anode ); FTC_GlyphNode* anode );
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -229,9 +229,9 @@
#endif /* !FT_EXPORT_VAR */ #endif /* !FT_EXPORT_VAR */
/* the following macros are needed to compile the library with a */ /* The following macros are needed to compile the library with a */
/* C++ compiler. Werner insisted on being able to do that even */ /* C++ compiler. Note that we do this for convenience -- please */
/* though we explicitely do not support C++ compilation */ /* don't ask for more C++ features. */
/* */ /* */
/* This is special. Within C++, you must specify `extern "C"' for */ /* This is special. Within C++, you must specify `extern "C"' for */
@ -241,13 +241,13 @@
/* functions which are accessed by (global) function pointers. */ /* functions which are accessed by (global) function pointers. */
/* */ /* */
/* */ /* */
/* FT_CALLBACK_DEF is used to _define_ a callback function */ /* FT_CALLBACK_DEF is used to _define_ a callback function. */
/* */ /* */
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable */ /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
/* that contains pointers to callback functions */ /* contains pointers to callback functions. */
/* */ /* */
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions */ /* that contains pointers to callback functions. */
/* */ /* */
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -393,20 +393,21 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
/*********************************************************************
* /*************************************************************************/
* <Type> /* */
* FT_Face_Internal /* <Type> */
* /* FT_Face_Internal */
* <Description> /* */
* an opaque handle to a FT_Face_InternalRec structure, used to /* <Description> */
* model private data of a given FT_Face object. /* An opaque handle to an FT_Face_InternalRec structure, used to */
* /* model private data of a given FT_Face object. */
* this fields might change between releases of FreeType 2 and /* */
* are not generally available to client applications /* This field might change between releases of FreeType 2 and are */
* /* not generally available to client applications. */
*/ /* */
typedef struct FT_Face_InternalRec_* FT_Face_Internal; typedef struct FT_Face_InternalRec_* FT_Face_Internal;
/*************************************************************************/ /*************************************************************************/
/* */ /* */
@ -571,76 +572,62 @@
/* */ /* */
/* sizes_list :: The list of child sizes for this face. */ /* sizes_list :: The list of child sizes for this face. */
/* */ /* */
/* max_points :: The maximal number of points used to store */ /* internal :: A pointer to internal fields of the face */
/* the vectorial outline of any glyph in this */ /* object. These fields can change freely */
/* face. If this value cannot be known in */
/* advance, or if the face isn't scalable, */
/* this should be set to 0. Only relevant for */
/* scalable formats. */
/* */
/* max_contours :: The maximal number of contours used to */
/* store the vectorial outline of any glyph in */
/* this face. If this value cannot be known */
/* in advance, or if the face isn't scalable, */
/* this should be set to 0. Only relevant for */
/* scalable formats. */
/* */
/* internal :: a pointer to internal fields of the face */
/* object. These fields can change freely */
/* between releases of FreeType and are not */ /* between releases of FreeType and are not */
/* publicly available.. */ /* publicly available. */
/* */ /* */
typedef struct FT_FaceRec_ typedef struct FT_FaceRec_
{ {
FT_Long num_faces; FT_Long num_faces;
FT_Long face_index; FT_Long face_index;
FT_Long face_flags; FT_Long face_flags;
FT_Long style_flags; FT_Long style_flags;
FT_Long num_glyphs; FT_Long num_glyphs;
FT_String* family_name; FT_String* family_name;
FT_String* style_name; FT_String* style_name;
FT_Int num_fixed_sizes; FT_Int num_fixed_sizes;
FT_Bitmap_Size* available_sizes; FT_Bitmap_Size* available_sizes;
FT_Int num_charmaps; FT_Int num_charmaps;
FT_CharMap* charmaps; FT_CharMap* charmaps;
FT_Generic generic; FT_Generic generic;
/*# the following are only relevant for scalable outlines */ /*# the following are only relevant to scalable outlines */
FT_BBox bbox; FT_BBox bbox;
FT_UShort units_per_EM; FT_UShort units_per_EM;
FT_Short ascender; FT_Short ascender;
FT_Short descender; FT_Short descender;
FT_Short height; FT_Short height;
FT_Short max_advance_width; FT_Short max_advance_width;
FT_Short max_advance_height; FT_Short max_advance_height;
FT_Short underline_position; FT_Short underline_position;
FT_Short underline_thickness; FT_Short underline_thickness;
FT_GlyphSlot glyph; FT_GlyphSlot glyph;
FT_Size size; FT_Size size;
FT_CharMap charmap; FT_CharMap charmap;
/*@private begin */ /*@private begin */
FT_Driver driver; FT_Driver driver;
FT_Memory memory; FT_Memory memory;
FT_Stream stream; FT_Stream stream;
FT_ListRec sizes_list; FT_ListRec sizes_list;
FT_Generic autohint; FT_Generic autohint;
void* extensions; void* extensions;
FT_Face_Internal internal; FT_Face_Internal internal;
/*@private end */ /*@private end */
@ -850,16 +837,17 @@
#define FT_STYLE_FLAG_BOLD 2 #define FT_STYLE_FLAG_BOLD 2
/********************************************************************* /*************************************************************************/
* /* */
* <Type> /* <Type> */
* FT_Size_Internal /* FT_Size_Internal */
* /* */
* <Description> /* <Description> */
* an opaque handle to a FT_Size_InternalRec structure, used to /* An opaque handle to an FT_Size_InternalRec structure, used to */
* model private data of a given FT_Size object. /* model private data of a given FT_Size object. */
*/ /* */
typedef struct FT_Size_InternalRec_* FT_Size_Internal; typedef struct FT_Size_InternalRec_* FT_Size_Internal;
/*************************************************************************/ /*************************************************************************/
/* */ /* */
@ -969,7 +957,6 @@
FT_Size_Metrics metrics; /* size metrics */ FT_Size_Metrics metrics; /* size metrics */
FT_Size_Internal internal; FT_Size_Internal internal;
} FT_SizeRec; } FT_SizeRec;
@ -989,16 +976,16 @@
typedef struct FT_SubGlyph_ FT_SubGlyph; typedef struct FT_SubGlyph_ FT_SubGlyph;
/********************************************************************* /*************************************************************************/
* /* */
* <Type> /* <Type> */
* FT_Slot_Internal /* FT_Slot_Internal */
* /* */
* <Description> /* <Description> */
* an opaque handle to a FT_Slot_InternalRec structure, used to /* An opaque handle to an FT_Slot_InternalRec structure, used to */
* model private data of a given FT_GlyphSlot object. /* model private data of a given FT_GlyphSlot object. */
*/ /* */
typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; typedef struct FT_Slot_InternalRec_* FT_Slot_Internal;
/*************************************************************************/ /*************************************************************************/

View File

@ -321,9 +321,9 @@
/* this must be used internally for the moment */ /* this must be used internally for the moment */
FT_EXPORT( FT_Error ) FTC_Manager_Register_Cache( FT_EXPORT( FT_Error ) FTC_Manager_Register_Cache(
FTC_Manager manager, FTC_Manager manager,
FTC_Cache_Class* clazz, FTC_Cache_Class* clazz,
FTC_Cache* acache ); FTC_Cache* acache );
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -16,9 +16,13 @@
/***************************************************************************/ /***************************************************************************/
/* NOTE: include this file after <freetype/freetype.h> and after the /***************************************************************************/
Mac-specific <Types.h> header (or any other Mac header that includes /* */
<Types.h>); we use Handle type. */ /* NOTE: Include this file after <freetype/freetype.h> and after the */
/* Mac-specific <Types.h> header (or any other Mac header that */
/* includes <Types.h>); we use Handle type. */
/* */
/***************************************************************************/
#ifndef FT_MAC_H #ifndef FT_MAC_H
@ -60,10 +64,10 @@
/* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */ /* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_New_Face_From_FOND( FT_EXPORT_DEF( FT_Error ) FT_New_Face_From_FOND(
FT_Library library, FT_Library library,
Handle fond, Handle fond,
FT_Long face_index, FT_Long face_index,
FT_Face* aface ); FT_Face* aface );
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -133,9 +133,9 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_Set_MM_Design_Coordinates( FT_EXPORT( FT_Error ) FT_Set_MM_Design_Coordinates(
FT_Face face, FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Long* coords ); FT_Long* coords );
/*************************************************************************/ /*************************************************************************/
@ -160,9 +160,9 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_Set_MM_Blend_Coordinates( FT_EXPORT( FT_Error ) FT_Set_MM_Blend_Coordinates(
FT_Face face, FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Fixed* coords ); FT_Fixed* coords );
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -53,9 +53,9 @@
/* FreeType error code. 0 means sucess. */ /* FreeType error code. 0 means sucess. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_Outline_Decompose( FT_EXPORT( FT_Error ) FT_Outline_Decompose(
FT_Outline* outline, FT_Outline* outline,
const FT_Outline_Funcs* interface, const FT_Outline_Funcs* interface,
void* user ); void* user );
/*************************************************************************/ /*************************************************************************/
@ -97,10 +97,10 @@
FT_EXPORT( FT_Error ) FT_Outline_New_Internal( FT_EXPORT( FT_Error ) FT_Outline_New_Internal(
FT_Memory memory, FT_Memory memory,
FT_UInt numPoints, FT_UInt numPoints,
FT_Int numContours, FT_Int numContours,
FT_Outline* outline ); FT_Outline* outline );
/*************************************************************************/ /*************************************************************************/

View File

@ -130,9 +130,8 @@
} FT_Extension_Class; } FT_Extension_Class;
FT_EXPORT( FT_Error ) FT_Register_Extension( FT_EXPORT( FT_Error ) FT_Register_Extension( FT_Driver driver,
FT_Driver driver, FT_Extension_Class* clazz );
FT_Extension_Class* clazz );
#ifdef FT_CONFIG_OPTION_EXTEND_ENGINE #ifdef FT_CONFIG_OPTION_EXTEND_ENGINE
@ -161,10 +160,9 @@
/* return an extension's data & interface according to its ID */ /* return an extension's data & interface according to its ID */
FT_EXPORT( void* ) FT_Get_Extension( FT_EXPORT( void* ) FT_Get_Extension( FT_Face face,
FT_Face face, const char* extension_id,
const char* extension_id, void** extension_interface );
void** extension_interface );
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -75,6 +75,7 @@
#define ABS( a ) ( (a) < 0 ? -(a) : (a) ) #define ABS( a ) ( (a) < 0 ? -(a) : (a) )
#endif #endif
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* <Struct> */ /* <Struct> */
@ -97,35 +98,44 @@
/* FT_Face_InternalRec */ /* FT_Face_InternalRec */
/* */ /* */
/* <Description> */ /* <Description> */
/* this structure contains the internal fields of each FT_Face */ /* This structure contains the internal fields of each FT_Face */
/* object. These fields may change between different releases */ /* object. These fields may change between different releases of */
/* of FreeType. */ /* FreeType. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* transform_matrix :: A 2x2 matrix of 16.16 coefficients used */ /* max_points :: The maximal number of points used to store the */
/* to transform glyph outlines after they are */ /* vectorial outline of any glyph in this face. */
/* loaded from the font. Only used by the */ /* If this value cannot be known in advance, or */
/* convenience functions. */ /* if the face isn't scalable, this should be set */
/* to 0. Only relevant for scalable formats. */
/* */ /* */
/* transform_delta :: A translation vector used to transform */ /* max_contours :: The maximal number of contours used to store */
/* glyph outlines after they are loaded from */ /* the vectorial outline of any glyph in this */
/* the font. Only used by the convenience */ /* face. If this value cannot be known in */
/* functions. */ /* advance, or if the face isn't scalable, this */
/* should be set to 0. Only relevant for */
/* scalable formats. */
/* */ /* */
/* transform_flags :: Some flags used to classify the transform. */ /* transform_matrix :: A 2x2 matrix of 16.16 coefficients used to */
/* Only used by the convenience functions. */ /* transform glyph outlines after they are loaded */
/* from the font. Only used by the convenience */
/* functions. */
/* */ /* */
/* transform_delta :: A translation vector used to transform glyph */
/* outlines after they are loaded from the font. */
/* Only used by the convenience functions. */
/* */ /* */
/* transform_flags :: Some flags used to classify the transform. */
/* Only used by the convenience functions. */
/* */ /* */
/* */ typedef struct FT_Face_InternalRec_
typedef struct FT_Face_InternalRec_
{ {
FT_UShort max_points; FT_UShort max_points;
FT_Short max_contours; FT_Short max_contours;
FT_Matrix transform_matrix; FT_Matrix transform_matrix;
FT_Vector transform_delta; FT_Vector transform_delta;
FT_Int transform_flags; FT_Int transform_flags;
} FT_Face_InternalRec; } FT_Face_InternalRec;
@ -136,25 +146,25 @@
/* FT_Slot_InternalRec */ /* FT_Slot_InternalRec */
/* */ /* */
/* <Description> */ /* <Description> */
/* this structure contains the internal fields of each FT_GlyphSlot */ /* This structure contains the internal fields of each FT_GlyphSlot */
/* object. These fields may change between different releases */ /* object. These fields may change between different releases of */
/* of FreeType. */ /* FreeType. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* loader :: the glyph loader object used to load */ /* loader :: The glyph loader object used to load outlines */
/* outlines in the glyph slot */ /* into the glyph slot. */
/* */ /* */
/* glyph_transformed :: boolean. set to TRUE when the loaded glyph */ /* glyph_transformed :: Boolean. Set to TRUE when the loaded glyph */
/* must be transformed through a specific */ /* must be transformed through a specific */
/* font transform. this is _not_ the same as */ /* font transformation. This is _not_ the same */
/* the face transform set through */ /* as the face transform set through */
/* FT_Set_Transform */ /* FT_Set_Transform(). */
/* */ /* */
/* glyph_matrix :: the 2x2 matrix corresponding to the glyph */ /* glyph_matrix :: The 2x2 matrix corresponding to the glyph */
/* transform, when required */ /* transformation, if necessary. */
/* */ /* */
/* glyph_delta :: the 2d translation vector corresponding to */ /* glyph_delta :: The 2d translation vector corresponding to */
/* the glyph transform, when required */ /* the glyph transformation, if necessary. */
/* */ /* */
typedef struct FT_Slot_InternalRec_ typedef struct FT_Slot_InternalRec_
{ {
@ -380,13 +390,13 @@
FT_BASE( void ) FT_GlyphLoader_Rewind( FT_GlyphLoader* loader ); FT_BASE( void ) FT_GlyphLoader_Rewind( FT_GlyphLoader* loader );
FT_BASE( FT_Error ) FT_GlyphLoader_Check_Points( FT_BASE( FT_Error ) FT_GlyphLoader_Check_Points(
FT_GlyphLoader* loader, FT_GlyphLoader* loader,
FT_UInt n_points, FT_UInt n_points,
FT_UInt n_contours ); FT_UInt n_contours );
FT_BASE( FT_Error ) FT_GlyphLoader_Check_Subglyphs( FT_BASE( FT_Error ) FT_GlyphLoader_Check_Subglyphs(
FT_GlyphLoader* loader, FT_GlyphLoader* loader,
FT_UInt n_subs ); FT_UInt n_subs );
FT_BASE( void ) FT_GlyphLoader_Prepare( FT_GlyphLoader* loader ); FT_BASE( void ) FT_GlyphLoader_Prepare( FT_GlyphLoader* loader );
@ -573,12 +583,12 @@
FT_BASE( FT_Renderer ) FT_Lookup_Renderer( FT_Library library, FT_BASE( FT_Renderer ) FT_Lookup_Renderer( FT_Library library,
FT_Glyph_Format format, FT_Glyph_Format format,
FT_ListNode* node ); FT_ListNode* node );
FT_BASE( FT_Error ) FT_Render_Glyph_Internal( FT_Library library, FT_BASE( FT_Error ) FT_Render_Glyph_Internal( FT_Library library,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_UInt render_mode ); FT_UInt render_mode );
typedef FT_Error (*FT_Glyph_Name_Requester)( FT_Face face, typedef FT_Error (*FT_Glyph_Name_Requester)( FT_Face face,
FT_UInt glyph_index, FT_UInt glyph_index,

View File

@ -292,7 +292,7 @@
FT_BASE( FT_Char ) FT_Read_Char( FT_Stream stream, FT_BASE( FT_Char ) FT_Read_Char( FT_Stream stream,
FT_Error* error ); FT_Error* error );
FT_BASE( FT_Short ) FT_Read_Short( FT_Stream stream, FT_BASE( FT_Short ) FT_Read_Short( FT_Stream stream,
FT_Error* error ); FT_Error* error );
@ -304,7 +304,7 @@
FT_Error* error ); FT_Error* error );
FT_BASE( FT_Short ) FT_Read_ShortLE( FT_Stream stream, FT_BASE( FT_Short ) FT_Read_ShortLE( FT_Stream stream,
FT_Error* error ); FT_Error* error );
FT_BASE( FT_Long ) FT_Read_LongLE( FT_Stream stream, FT_BASE( FT_Long ) FT_Read_LongLE( FT_Stream stream,
FT_Error* error ); FT_Error* error );

View File

@ -29,7 +29,8 @@
extern "C" { extern "C" {
#endif #endif
FT_CALLBACK_TABLE( const FT_Module_Class ) autohint_module_class; FT_CALLBACK_TABLE
const FT_Module_Class autohint_module_class;
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -119,14 +119,15 @@
/* */ /* */
/* <InOut> */ /* <InOut> */
/* driver :: A handle to the driver object. */ /* driver :: A handle to the driver object. */
/* */
/* class :: A pointer to a class describing the extension. */ /* class :: A pointer to a class describing the extension. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Register_Extension( FT_EXPORT_DEF( FT_Error ) FT_Register_Extension(
FT_Driver driver, FT_Driver driver,
FT_Extension_Class* clazz ) FT_Extension_Class* clazz )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;
@ -184,9 +185,9 @@
/* A generic pointer to the extension block. */ /* A generic pointer to the extension block. */
/* */ /* */
FT_EXPORT_DEF( void* ) FT_Get_Extension( FT_EXPORT_DEF( void* ) FT_Get_Extension(
FT_Face face, FT_Face face,
const char* extension_id, const char* extension_id,
void** extension_interface ) void** extension_interface )
{ {
FT_Extension_Registry* registry; FT_Extension_Registry* registry;

View File

@ -424,7 +424,7 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Glyph_Copy( FT_Glyph source, FT_EXPORT_DEF( FT_Error ) FT_Glyph_Copy( FT_Glyph source,
FT_Glyph* target ) FT_Glyph* target )
{ {
FT_Glyph copy; FT_Glyph copy;
FT_Error error; FT_Error error;
@ -761,7 +761,7 @@
FT_EXPORT_DEF( FT_Error ) FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, FT_EXPORT_DEF( FT_Error ) FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
FT_ULong render_mode, FT_ULong render_mode,
FT_Vector* origin, FT_Vector* origin,
FT_Bool destroy ) FT_Bool destroy )
{ {
FT_GlyphSlotRec dummy; FT_GlyphSlotRec dummy;
FT_Error error; FT_Error error;

View File

@ -95,9 +95,9 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Design_Coordinates( FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Design_Coordinates(
FT_Face face, FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Long* coords ) FT_Long* coords )
{ {
FT_Error error; FT_Error error;
@ -145,9 +145,9 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Blend_Coordinates( FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Blend_Coordinates(
FT_Face face, FT_Face face,
FT_UInt num_coords, FT_UInt num_coords,
FT_Fixed* coords ) FT_Fixed* coords )
{ {
FT_Error error; FT_Error error;

View File

@ -489,9 +489,9 @@
/* DOESN'T change the number of points within the loader! */ /* DOESN'T change the number of points within the loader! */
/* */ /* */
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Points( FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Points(
FT_GlyphLoader* loader, FT_GlyphLoader* loader,
FT_UInt n_points, FT_UInt n_points,
FT_UInt n_contours ) FT_UInt n_contours )
{ {
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -549,8 +549,8 @@
/* NOT change the number of subglyphs within the loader! */ /* NOT change the number of subglyphs within the loader! */
/* */ /* */
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Subglyphs( FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Check_Subglyphs(
FT_GlyphLoader* loader, FT_GlyphLoader* loader,
FT_UInt n_subs ) FT_UInt n_subs )
{ {
FT_Memory memory = loader->memory; FT_Memory memory = loader->memory;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
@ -617,8 +617,9 @@
} }
FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Copy_Points( FT_GlyphLoader* target, FT_BASE_DEF( FT_Error ) FT_GlyphLoader_Copy_Points(
FT_GlyphLoader* source ) FT_GlyphLoader* target,
FT_GlyphLoader* source )
{ {
FT_Error error; FT_Error error;
FT_UInt num_points = source->base.outline.n_points; FT_UInt num_points = source->base.outline.n_points;
@ -679,7 +680,7 @@
slot->library = driver->root.library; slot->library = driver->root.library;
if ( ALLOC( internal, sizeof( *internal ) ) ) if ( ALLOC( internal, sizeof ( *internal ) ) )
goto Exit; goto Exit;
slot->internal = internal; slot->internal = internal;
@ -1069,9 +1070,10 @@
if ( renderer ) if ( renderer )
error = renderer->clazz->transform_glyph( renderer, slot, error = renderer->clazz->transform_glyph(
&internal->transform_matrix, renderer, slot,
&internal->transform_delta ); &internal->transform_matrix,
&internal->transform_delta );
/* transform advance */ /* transform advance */
FT_Vector_Transform( &slot->advance, &internal->transform_matrix ); FT_Vector_Transform( &slot->advance, &internal->transform_matrix );
} }
@ -1257,7 +1259,7 @@
if ( ALLOC( face, clazz->face_object_size ) ) if ( ALLOC( face, clazz->face_object_size ) )
goto Fail; goto Fail;
if ( ALLOC( internal, sizeof(*internal) ) ) if ( ALLOC( internal, sizeof ( *internal ) ) )
goto Fail; goto Fail;
face->internal = internal; face->internal = internal;
@ -2073,19 +2075,19 @@
/* FreeType error code. 0 means success. */ /* FreeType error code. 0 means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* the values of "pixel_width" and "pixel_height" correspond to */ /* The values of `pixel_width' and `pixel_height' correspond to the */
/* the pixel values of the _typographic_ character size, which are */ /* pixel values of the _typographic_ character size, which are NOT */
/* NOT necessarily the same as the dimensions of the glyph */ /* necessarily the same as the dimensions of the glyph `bitmap */
/* "bitmap cells". */ /* cells". */
/* */ /* */
/* The "character size" is really the size of an abstract square */ /* The `character size' is really the size of an abstract square */
/* called the "EM", used to design the font. However, depending */ /* called the `EM', used to design the font. However, depending */
/* on the font design, glyphs will be smaller or greater than the */ /* on the font design, glyphs will be smaller or greater than the */
/* EM. */ /* EM. */
/* */ /* */
/* this means that setting the pixel size to 8x8 doesn't guarantee */ /* This means that setting the pixel size to, say, 8x8 doesn't */
/* in any way that you'll end up with glyph bitmaps that all fit */ /* guarantee in any way that you will get glyph bitmaps that all fit */
/* within an 8x8 cell.. far from it.. */ /* within an 8x8 cell (sometimes even far from it). */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Set_Pixel_Sizes( FT_Face face, FT_EXPORT_DEF( FT_Error ) FT_Set_Pixel_Sizes( FT_Face face,
FT_UInt pixel_width, FT_UInt pixel_width,
@ -2690,7 +2692,7 @@
FT_EXPORT( FT_Error ) FT_Set_Renderer( FT_Library library, FT_EXPORT( FT_Error ) FT_Set_Renderer( FT_Library library,
FT_Renderer renderer, FT_Renderer renderer,
FT_UInt num_params, FT_UInt num_params,
FT_Parameter* parameters ) FT_Parameter* parameters )
{ {
FT_ListNode node; FT_ListNode node;
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;

View File

@ -66,9 +66,9 @@
/* FreeType error code. 0 means sucess. */ /* FreeType error code. 0 means sucess. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Outline_Decompose( FT_EXPORT_DEF( FT_Error ) FT_Outline_Decompose(
FT_Outline* outline, FT_Outline* outline,
const FT_Outline_Funcs* interface, const FT_Outline_Funcs* interface,
void* user ) void* user )
{ {
#undef SCALED #undef SCALED
#define SCALED( x ) ( ( (x) << shift ) - delta ) #define SCALED( x ) ( ( (x) << shift ) - delta )
@ -271,10 +271,10 @@
FT_EXPORT_DEF( FT_Error ) FT_Outline_New_Internal( FT_EXPORT_DEF( FT_Error ) FT_Outline_New_Internal(
FT_Memory memory, FT_Memory memory,
FT_UInt numPoints, FT_UInt numPoints,
FT_Int numContours, FT_Int numContours,
FT_Outline* outline ) FT_Outline* outline )
{ {
FT_Error error; FT_Error error;
@ -336,9 +336,9 @@
/* to use the library's memory allocator. */ /* to use the library's memory allocator. */
/* */ /* */
FT_EXPORT_DEF( FT_Error ) FT_Outline_New( FT_Library library, FT_EXPORT_DEF( FT_Error ) FT_Outline_New( FT_Library library,
FT_UInt numPoints, FT_UInt numPoints,
FT_Int numContours, FT_Int numContours,
FT_Outline* outline ) FT_Outline* outline )
{ {
if ( !library ) if ( !library )
return FT_Err_Invalid_Library_Handle; return FT_Err_Invalid_Library_Handle;

View File

@ -46,7 +46,7 @@
FT_BASE_DEF( FT_Error ) FT_Seek_Stream( FT_Stream stream, FT_BASE_DEF( FT_Error ) FT_Seek_Stream( FT_Stream stream,
FT_ULong pos ) FT_ULong pos )
{ {
FT_Error error; FT_Error error;

View File

@ -290,9 +290,9 @@
} }
FT_EXPORT_DEF(FT_Error) FT_Outline_Embolden( FT_GlyphSlot original, FT_EXPORT_DEF( FT_Error ) FT_Outline_Embolden( FT_GlyphSlot original,
FT_Outline* outline, FT_Outline* outline,
FT_Pos* advance ) FT_Pos* advance )
{ {
FT_Vector u, v; FT_Vector u, v;
FT_Vector* points; FT_Vector* points;

View File

@ -204,10 +204,10 @@
FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_Lookup_Node( FT_EXPORT_DEF( FT_Error ) FTC_ChunkSet_Lookup_Node(
FTC_ChunkSet cset, FTC_ChunkSet cset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_ChunkNode* anode, FTC_ChunkNode* anode,
FT_UInt* aindex ) FT_UInt* aindex )
{ {
FTC_Chunk_Cache cache = cset->cache; FTC_Chunk_Cache cache = cset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;

View File

@ -226,9 +226,9 @@
FT_EXPORT_DEF( FT_Error ) FTC_GlyphSet_Lookup_Node( FT_EXPORT_DEF( FT_Error ) FTC_GlyphSet_Lookup_Node(
FTC_GlyphSet gset, FTC_GlyphSet gset,
FT_UInt glyph_index, FT_UInt glyph_index,
FTC_GlyphNode* anode ) FTC_GlyphNode* anode )
{ {
FTC_Glyph_Cache cache = gset->cache; FTC_Glyph_Cache cache = gset->cache;
FTC_Manager manager = cache->root.manager; FTC_Manager manager = cache->root.manager;

View File

@ -426,9 +426,9 @@
FT_EXPORT( FT_Error ) FTC_Manager_Register_Cache( FT_EXPORT( FT_Error ) FTC_Manager_Register_Cache(
FTC_Manager manager, FTC_Manager manager,
FTC_Cache_Class* clazz, FTC_Cache_Class* clazz,
FTC_Cache* acache ) FTC_Cache* acache )
{ {
FT_Error error = FT_Err_Invalid_Argument; FT_Error error = FT_Err_Invalid_Argument;

View File

@ -26,7 +26,8 @@
#endif #endif
FT_CALLBACK_TABLE const FT_Driver_Class cff_driver_class; FT_CALLBACK_TABLE
const FT_Driver_Class cff_driver_class;
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -151,7 +151,7 @@
/* FreeType error code. 0 means success. An error is returned if a */ /* FreeType error code. 0 means success. An error is returned if a */
/* reallocation fails. */ /* reallocation fails. */
/* */ /* */
FT_LOCAL FT_LOCAL_DEF
FT_Error PS_Table_Add( PS_Table* table, FT_Error PS_Table_Add( PS_Table* table,
FT_Int index, FT_Int index,
void* object, void* object,

View File

@ -29,7 +29,8 @@
#endif #endif
FT_CALLBACK_TABLE const T1_Decoder_Funcs t1_decoder_funcs; FT_CALLBACK_TABLE
const T1_Decoder_Funcs t1_decoder_funcs;
FT_LOCAL FT_LOCAL

View File

@ -43,14 +43,18 @@
#define FT_COMPONENT trace_ttcmap #define FT_COMPONENT trace_ttcmap
FT_CALLBACK_DEF FT_UInt code_to_index0( TT_CMapTable* charmap, FT_CALLBACK_DEF
FT_ULong char_code ); FT_UInt code_to_index0( TT_CMapTable* charmap,
FT_CALLBACK_DEF FT_UInt code_to_index2( TT_CMapTable* charmap, FT_ULong char_code );
FT_ULong char_code ); FT_CALLBACK_DEF
FT_CALLBACK_DEF FT_UInt code_to_index4( TT_CMapTable* charmap, FT_UInt code_to_index2( TT_CMapTable* charmap,
FT_ULong char_code ); FT_ULong char_code );
FT_CALLBACK_DEF FT_UInt code_to_index6( TT_CMapTable* charmap, FT_CALLBACK_DEF
FT_ULong char_code ); FT_UInt code_to_index4( TT_CMapTable* charmap,
FT_ULong char_code );
FT_CALLBACK_DEF
FT_UInt code_to_index6( TT_CMapTable* charmap,
FT_ULong char_code );
/*************************************************************************/ /*************************************************************************/

View File

@ -31,7 +31,7 @@
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* To make ftgrays.h independent from configuration files we check */ /* To make ftgrays.h independent from configuration files we check */
/* whether FT_EXPORT has been defined already. */ /* whether FT_EXPORT has been defined already. */
/* */ /* */
/* On some systems and compilers (Win32 mostly), an extra keyword is */ /* On some systems and compilers (Win32 mostly), an extra keyword is */
/* necessary to compile the library as a DLL. */ /* necessary to compile the library as a DLL. */

View File

@ -109,12 +109,14 @@
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
FT_LOCAL void TT_Done_GlyphZone( TT_GlyphZone* zone ); FT_LOCAL
void TT_Done_GlyphZone( TT_GlyphZone* zone );
FT_LOCAL FT_Error TT_New_GlyphZone( FT_Memory memory, FT_LOCAL
FT_UShort maxPoints, FT_Error TT_New_GlyphZone( FT_Memory memory,
FT_Short maxContours, FT_UShort maxPoints,
TT_GlyphZone* zone ); FT_Short maxContours,
TT_GlyphZone* zone );
#endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */ #endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */

View File

@ -219,9 +219,9 @@
glyph->root.metrics.horiBearingX = decoder.builder.left_bearing.x; glyph->root.metrics.horiBearingX = decoder.builder.left_bearing.x;
glyph->root.metrics.horiAdvance = decoder.builder.advance.x; glyph->root.metrics.horiAdvance = decoder.builder.advance.x;
internal->glyph_matrix = font_matrix; internal->glyph_matrix = font_matrix;
internal->glyph_delta = font_offset; internal->glyph_delta = font_offset;
internal->glyph_transformed = 1; internal->glyph_transformed = 1;
} }
else else
{ {
@ -230,8 +230,8 @@
/* copy the _unscaled_ advance width */ /* copy the _unscaled_ advance width */
metrics->horiAdvance = decoder.builder.advance.x; metrics->horiAdvance = decoder.builder.advance.x;
glyph->root.linearHoriAdvance = decoder.builder.advance.x; glyph->root.linearHoriAdvance = decoder.builder.advance.x;
glyph->root.internal->glyph_transformed = 0; glyph->root.internal->glyph_transformed = 0;
/* make up vertical metrics */ /* make up vertical metrics */