From 8d81d41ae3373c830cf8a41f0da430fb0608c4a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Suzuki=2C=20Toshiya=20=28=E9=88=B4=E6=9C=A8=E4=BF=8A?= =?UTF-8?q?=E5=93=89=29?= Date: Fri, 18 Nov 2005 07:47:06 +0000 Subject: [PATCH] add FT_TrueTypeGX_Free() etc to free the buffers allocated by gxvalid, otvalid --- ChangeLog | 9 ++++++ include/freetype/ftgxval.h | 66 ++++++++++++++++++++++++++++++++++---- include/freetype/ftotval.h | 34 ++++++++++++++++++-- src/base/ftgxval.c | 22 +++++++++++++ src/base/ftotval.c | 11 +++++++ 5 files changed, 133 insertions(+), 9 deletions(-) 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 */