diff --git a/ChangeLog b/ChangeLog index d29c1f0e2..b4fdf8ae6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-11-18 susuzki toshiya + + * include/freetype/ftgxval.h, src/base/ftgxval.c + (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free + buffers allocated by gxvalid module. + * include/freetype/ftotval.h, src/base/ftotval.c + (FT_OpenType_Free): New function to free buffer allocated by + otvalid module. + 2005-11-18 Chia-I Wu * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory, diff --git a/include/freetype/ftgxval.h b/include/freetype/ftgxval.h index b78d7f301..fd999cc95 100644 --- a/include/freetype/ftgxval.h +++ b/include/freetype/ftgxval.h @@ -206,10 +206,10 @@ FT_BEGIN_HEADER * otherwise. * * After use, the application should deallocate the buffers pointed to by - * each tables' element. A NULL value indicates that the table either - * doesn't exist in the font, the application hasn't asked for - * validation, or the validator doesn't have the ability to validate the - * sfnt table. + * each tables' element, by calling FT_TrueTypeGX_Free(). A NULL value + * indicates that the table either doesn't exist in the font, + * the application hasn't asked for validation, or the validator doesn't + * have the ability to validate the sfnt table. */ FT_EXPORT( FT_Error ) FT_TrueTypeGX_Validate( FT_Face face, @@ -220,6 +220,33 @@ FT_BEGIN_HEADER /* */ + /********************************************************************** + * + * @function: + * FT_TrueTypeGX_Free + * + * @description: + * Free the buffer allocated by TrueTypeGX validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer allocated by + * FT_TrueTypeGX_Validate(). + * + * @note: + * This function must be used to free the buffer allocated by + * FT_TrueTypeGX_Validate() only. + */ + FT_EXPORT( void ) + FT_TrueTypeGX_Free( FT_Face face, + FT_Bytes table ); + + + /* */ + /********************************************************************** * * @enum: @@ -283,8 +310,8 @@ FT_BEGIN_HEADER * * @note: * After use, the application should deallocate the buffers pointed to by - * ckern_table. A NULL value indicates that the table doesn't exist in - * the font. + * ckern_table, by calling FT_ClassicKern_Free(). A NULL value indicates + * that the table doesn't exist in the font. */ FT_EXPORT( FT_Error ) FT_ClassicKern_Validate( FT_Face face, @@ -292,6 +319,33 @@ FT_BEGIN_HEADER FT_Bytes *ckern_table ); + /* */ + + /********************************************************************** + * + * @function: + * FT_ClassicKern_Free + * + * @description: + * Free the buffer allocated by classic Kern validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * FT_ClassicKern_Validate(). + * + * @note: + * This function must be used to free the buffer allocated by + * FT_ClassicKern_Validate() only. + */ + FT_EXPORT( void ) + FT_ClassicKern_Free( FT_Face face, + FT_Bytes table ); + + /* */ diff --git a/include/freetype/ftotval.h b/include/freetype/ftotval.h index fc3306c44..d9b92c149 100644 --- a/include/freetype/ftotval.h +++ b/include/freetype/ftotval.h @@ -146,9 +146,10 @@ FT_BEGIN_HEADER * This function only works with OpenType fonts, returning an error * otherwise. * - * After use, the application should deallocate the five tables with - * `free'. A NULL value indicates that the table either doesn't exist - * in the font, or the application hasn't asked for validation. + * After use, the application should deallocate the five tables by + * FT_OpenType_Free(). A NULL value indicates that the table either + * doesn't exist in the font, or the application hasn't asked for + * validation. */ FT_EXPORT( FT_Error ) FT_OpenType_Validate( FT_Face face, @@ -159,6 +160,33 @@ FT_BEGIN_HEADER FT_Bytes *GSUB_table, FT_Bytes *JSTF_table ); + /* */ + + /********************************************************************** + * + * @function: + * FT_OpenType_Free + * + * @description: + * Free the buffer allocated by OpenType validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * FT_OpenType_Validate(). + * + * @note: + * This function must be used to free the buffer allocated by + * FT_OpenType_Validate() only. + */ + FT_EXPORT( void ) + FT_OpenType_Free( FT_Face face, + FT_Bytes table ); + + /* */ diff --git a/src/base/ftgxval.c b/src/base/ftgxval.c index 10ee969a8..615e5ed6f 100644 --- a/src/base/ftgxval.c +++ b/src/base/ftgxval.c @@ -69,6 +69,17 @@ } + FT_EXPORT_DEF( void ) + FT_TrueTypeGX_Free( FT_Face face, + FT_Bytes table ) + { + FT_Memory memory = FT_FACE_MEMORY( face ); + + + FT_FREE( table ); + } + + FT_EXPORT_DEF( FT_Error ) FT_ClassicKern_Validate( FT_Face face, FT_UInt validation_flags, @@ -104,4 +115,15 @@ } + FT_EXPORT_DEF( void ) + FT_ClassicKern_Free( FT_Face face, + FT_Bytes table ) + { + FT_Memory memory = FT_FACE_MEMORY( face ); + + + FT_FREE( table ); + } + + /* END */ diff --git a/src/base/ftotval.c b/src/base/ftotval.c index 1364d754e..f14580d29 100644 --- a/src/base/ftotval.c +++ b/src/base/ftotval.c @@ -69,4 +69,15 @@ } + FT_EXPORT_DEF( void ) + FT_OpenType_Free( FT_Face face, + FT_Bytes table ) + { + FT_Memory memory = FT_FACE_MEMORY( face ); + + + FT_FREE( table ); + } + + /* END */