From f6aa089f12ce3a7b7ee3d1b548969c2cb879b893 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 10 May 2013 07:58:47 +0200 Subject: */* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code. --- include/freetype/internal/sfnt.h | 525 ++++++++++----------------------------- 1 file changed, 129 insertions(+), 396 deletions(-) (limited to 'include/freetype/internal/sfnt.h') diff --git a/include/freetype/internal/sfnt.h b/include/freetype/internal/sfnt.h index aab4f8531..6b5e41f1a 100644 --- a/include/freetype/internal/sfnt.h +++ b/include/freetype/internal/sfnt.h @@ -4,7 +4,7 @@ /* */ /* High-level `sfnt' driver interface (specification). */ /* */ -/* Copyright 1996-2006, 2009, 2012 by */ +/* Copyright 1996-2006, 2009, 2012-2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -125,77 +125,6 @@ FT_BEGIN_HEADER (*TT_Done_Face_Func)( TT_Face face ); -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - - /*************************************************************************/ - /* */ - /* */ - /* TT_Load_SFNT_HeaderRec_Func */ - /* */ - /* */ - /* Loads the header of a SFNT font file. Supports collections. */ - /* */ - /* */ - /* face :: A handle to the target face object. */ - /* */ - /* stream :: The input stream. */ - /* */ - /* face_index :: The index of the TrueType font, if we are opening a */ - /* collection. */ - /* */ - /* */ - /* sfnt :: The SFNT header. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ - /* */ - /* The stream cursor must be at the font file's origin. */ - /* */ - /* This function recognizes fonts embedded in a `TrueType */ - /* collection'. */ - /* */ - /* This function checks that the header is valid by looking at the */ - /* values of `search_range', `entry_selector', and `range_shift'. */ - /* */ - typedef FT_Error - (*TT_Load_SFNT_HeaderRec_Func)( TT_Face face, - FT_Stream stream, - FT_Long face_index, - SFNT_Header sfnt ); - - - /*************************************************************************/ - /* */ - /* */ - /* TT_Load_Directory_Func */ - /* */ - /* */ - /* Loads the table directory into a face object. */ - /* */ - /* */ - /* face :: A handle to the target face object. */ - /* */ - /* stream :: The input stream. */ - /* */ - /* sfnt :: The SFNT header. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ - /* */ - /* The stream cursor must be on the first byte after the 4-byte font */ - /* format tag. This is the case just after a call to */ - /* TT_Load_Format_Tag(). */ - /* */ - typedef FT_Error - (*TT_Load_Directory_Func)( TT_Face face, - FT_Stream stream, - SFNT_Header sfnt ); - -#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ - - /*************************************************************************/ /* */ /* */ @@ -363,88 +292,6 @@ FT_BEGIN_HEADER TT_SBit_MetricsRec *ametrics ); -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - - /*************************************************************************/ - /* */ - /* */ - /* TT_Set_SBit_Strike_OldFunc */ - /* */ - /* */ - /* Select an sbit strike for a given size request. */ - /* */ - /* */ - /* face :: The target face object. */ - /* */ - /* req :: The size request. */ - /* */ - /* */ - /* astrike_index :: The index of the sbit strike. */ - /* */ - /* */ - /* FreeType error code. 0 means success. Returns an error if no */ - /* sbit strike exists for the selected ppem values. */ - /* */ - typedef FT_Error - (*TT_Set_SBit_Strike_OldFunc)( TT_Face face, - FT_UInt x_ppem, - FT_UInt y_ppem, - FT_ULong* astrike_index ); - - - /*************************************************************************/ - /* */ - /* */ - /* TT_CharMap_Load_Func */ - /* */ - /* */ - /* Loads a given TrueType character map into memory. */ - /* */ - /* */ - /* face :: A handle to the parent face object. */ - /* */ - /* stream :: A handle to the current stream object. */ - /* */ - /* */ - /* cmap :: A pointer to a cmap object. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ - /* */ - /* The function assumes that the stream is already in use (i.e., */ - /* opened). In case of error, all partially allocated tables are */ - /* released. */ - /* */ - typedef FT_Error - (*TT_CharMap_Load_Func)( TT_Face face, - void* cmap, - FT_Stream input ); - - - /*************************************************************************/ - /* */ - /* */ - /* TT_CharMap_Free_Func */ - /* */ - /* */ - /* Destroys a character mapping table. */ - /* */ - /* */ - /* face :: A handle to the parent face object. */ - /* */ - /* cmap :: A handle to a cmap object. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ - typedef FT_Error - (*TT_CharMap_Free_Func)( TT_Face face, - void* cmap ); - -#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ - - /*************************************************************************/ /* */ /* */ @@ -657,11 +504,6 @@ FT_BEGIN_HEADER TT_Load_Any_Func load_any; -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - TT_Load_SFNT_HeaderRec_Func load_sfnt_header; - TT_Load_Directory_Func load_directory; -#endif - /* these functions are called by `load_face' but they can also */ /* be called from external modules, if there is a need to do so */ TT_Load_Table_Func load_head; @@ -674,12 +516,6 @@ FT_BEGIN_HEADER TT_Load_Table_Func load_name; TT_Free_Table_Func free_name; - /* optional tables */ -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - TT_Load_Table_Func load_hdmx_stub; - TT_Free_Table_Func free_hdmx_stub; -#endif - /* this field was called `load_kerning' up to version 2.1.10 */ TT_Load_Table_Func load_kern; @@ -690,43 +526,12 @@ FT_BEGIN_HEADER /* version 2.1.10 */ TT_Load_Table_Func load_bhed; -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - - /* see `ttsbit.h' */ - TT_Set_SBit_Strike_OldFunc set_sbit_strike_stub; - TT_Load_Table_Func load_sbits_stub; - - /* - * The following two fields appeared in version 2.1.8, and were placed - * between `load_sbits' and `load_sbit_image'. We support them as a - * special exception since they are used by Xfont library within the - * X.Org xserver, and because the probability that other rogue clients - * use the other version 2.1.7 fields below is _extremely_ low. - * - * Note that this forces us to disable an interesting memory-saving - * optimization though... - */ - - TT_Find_SBit_Image_Func find_sbit_image; - TT_Load_SBit_Metrics_Func load_sbit_metrics; - -#endif - TT_Load_SBit_Image_Func load_sbit_image; -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - TT_Free_Table_Func free_sbits_stub; -#endif - /* see `ttpost.h' */ TT_Get_PS_Name_Func get_psname; TT_Free_Table_Func free_psnames; -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS - TT_CharMap_Load_Func load_charmap_stub; - TT_CharMap_Free_Func free_charmap_stub; -#endif - /* starting here, the structure differs from version 2.1.7 */ /* this field was introduced in version 2.1.8, named `get_psname' */ @@ -755,213 +560,141 @@ FT_BEGIN_HEADER #ifndef FT_CONFIG_OPTION_PIC -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS -#define FT_DEFINE_DRIVERS_OLD_INTERNAL( a ) \ - a, -#else -#define FT_DEFINE_DRIVERS_OLD_INTERNAL( a ) /* empty */ -#endif - -#define FT_INTERNAL( a ) \ - a, - -#define FT_DEFINE_SFNT_INTERFACE( \ - class_, \ - goto_table_, \ - init_face_, \ - load_face_, \ - done_face_, \ - get_interface_, \ - load_any_, \ - load_sfnt_header_, \ - load_directory_, \ - load_head_, \ - load_hhea_, \ - load_cmap_, \ - load_maxp_, \ - load_os2_, \ - load_post_, \ - load_name_, \ - free_name_, \ - load_hdmx_stub_, \ - free_hdmx_stub_, \ - load_kern_, \ - load_gasp_, \ - load_pclt_, \ - load_bhed_, \ - set_sbit_strike_stub_, \ - load_sbits_stub_, \ - find_sbit_image_, \ - load_sbit_metrics_, \ - load_sbit_image_, \ - free_sbits_stub_, \ - get_psname_, \ - free_psnames_, \ - load_charmap_stub_, \ - free_charmap_stub_, \ - get_kerning_, \ - load_font_dir_, \ - load_hmtx_, \ - load_eblc_, \ - free_eblc_, \ - set_sbit_strike_, \ - load_strike_metrics_, \ - get_metrics_ ) \ - static const SFNT_Interface class_ = \ - { \ - FT_INTERNAL( goto_table_ ) \ - FT_INTERNAL( init_face_ ) \ - FT_INTERNAL( load_face_ ) \ - FT_INTERNAL( done_face_ ) \ - FT_INTERNAL( get_interface_ ) \ - FT_INTERNAL( load_any_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sfnt_header_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_directory_ ) \ - FT_INTERNAL( load_head_ ) \ - FT_INTERNAL( load_hhea_ ) \ - FT_INTERNAL( load_cmap_ ) \ - FT_INTERNAL( load_maxp_ ) \ - FT_INTERNAL( load_os2_ ) \ - FT_INTERNAL( load_post_ ) \ - FT_INTERNAL( load_name_ ) \ - FT_INTERNAL( free_name_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_hdmx_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_hdmx_stub_ ) \ - FT_INTERNAL( load_kern_ ) \ - FT_INTERNAL( load_gasp_ ) \ - FT_INTERNAL( load_pclt_ ) \ - FT_INTERNAL( load_bhed_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( set_sbit_strike_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sbits_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( find_sbit_image_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sbit_metrics_ ) \ - FT_INTERNAL( load_sbit_image_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_sbits_stub_ ) \ - FT_INTERNAL( get_psname_ ) \ - FT_INTERNAL( free_psnames_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_charmap_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_charmap_stub_ ) \ - FT_INTERNAL( get_kerning_ ) \ - FT_INTERNAL( load_font_dir_ ) \ - FT_INTERNAL( load_hmtx_ ) \ - FT_INTERNAL( load_eblc_ ) \ - FT_INTERNAL( free_eblc_ ) \ - FT_INTERNAL( set_sbit_strike_ ) \ - FT_INTERNAL( load_strike_metrics_ ) \ - FT_INTERNAL( get_metrics_ ) \ +#define FT_DEFINE_SFNT_INTERFACE( \ + class_, \ + goto_table_, \ + init_face_, \ + load_face_, \ + done_face_, \ + get_interface_, \ + load_any_, \ + load_head_, \ + load_hhea_, \ + load_cmap_, \ + load_maxp_, \ + load_os2_, \ + load_post_, \ + load_name_, \ + free_name_, \ + load_kern_, \ + load_gasp_, \ + load_pclt_, \ + load_bhed_, \ + load_sbit_image_, \ + get_psname_, \ + free_psnames_, \ + get_kerning_, \ + load_font_dir_, \ + load_hmtx_, \ + load_eblc_, \ + free_eblc_, \ + set_sbit_strike_, \ + load_strike_metrics_, \ + get_metrics_ ) \ + static const SFNT_Interface class_ = \ + { \ + goto_table_, \ + init_face_, \ + load_face_, \ + done_face_, \ + get_interface_, \ + load_any_, \ + load_head_, \ + load_hhea_, \ + load_cmap_, \ + load_maxp_, \ + load_os2_, \ + load_post_, \ + load_name_, \ + free_name_, \ + load_kern_, \ + load_gasp_, \ + load_pclt_, \ + load_bhed_, \ + load_sbit_image_, \ + get_psname_, \ + free_psnames_, \ + get_kerning_, \ + load_font_dir_, \ + load_hmtx_, \ + load_eblc_, \ + free_eblc_, \ + set_sbit_strike_, \ + load_strike_metrics_, \ + get_metrics_, \ }; #else /* FT_CONFIG_OPTION_PIC */ -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS -#define FT_DEFINE_DRIVERS_OLD_INTERNAL( a, a_ ) \ - clazz->a = a_; -#else -#define FT_DEFINE_DRIVERS_OLD_INTERNAL( a, a_ ) /* empty */ -#endif - #define FT_INTERNAL( a, a_ ) \ clazz->a = a_; -#define FT_DEFINE_SFNT_INTERFACE( \ - class_, \ - goto_table_, \ - init_face_, \ - load_face_, \ - done_face_, \ - get_interface_, \ - load_any_, \ - load_sfnt_header_, \ - load_directory_, \ - load_head_, \ - load_hhea_, \ - load_cmap_, \ - load_maxp_, \ - load_os2_, \ - load_post_, \ - load_name_, \ - free_name_, \ - load_hdmx_stub_, \ - free_hdmx_stub_, \ - load_kern_, \ - load_gasp_, \ - load_pclt_, \ - load_bhed_, \ - set_sbit_strike_stub_, \ - load_sbits_stub_, \ - find_sbit_image_, \ - load_sbit_metrics_, \ - load_sbit_image_, \ - free_sbits_stub_, \ - get_psname_, \ - free_psnames_, \ - load_charmap_stub_, \ - free_charmap_stub_, \ - get_kerning_, \ - load_font_dir_, \ - load_hmtx_, \ - load_eblc_, \ - free_eblc_, \ - set_sbit_strike_, \ - load_strike_metrics_, \ - get_metrics_ ) \ - void \ - FT_Init_Class_ ## class_( FT_Library library, \ - SFNT_Interface* clazz ) \ - { \ - FT_UNUSED( library ); \ - \ - FT_INTERNAL( goto_table, goto_table_ ) \ - FT_INTERNAL( init_face, init_face_ ) \ - FT_INTERNAL( load_face, load_face_ ) \ - FT_INTERNAL( done_face, done_face_ ) \ - FT_INTERNAL( get_interface, get_interface_ ) \ - FT_INTERNAL( load_any, load_any_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sfnt_header, \ - load_sfnt_header_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_directory, \ - load_directory_ ) \ - FT_INTERNAL( load_head, load_head_ ) \ - FT_INTERNAL( load_hhea, load_hhea_ ) \ - FT_INTERNAL( load_cmap, load_cmap_ ) \ - FT_INTERNAL( load_maxp, load_maxp_ ) \ - FT_INTERNAL( load_os2, load_os2_ ) \ - FT_INTERNAL( load_post, load_post_ ) \ - FT_INTERNAL( load_name, load_name_ ) \ - FT_INTERNAL( free_name, free_name_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_hdmx_stub, \ - load_hdmx_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_hdmx_stub, \ - free_hdmx_stub_ ) \ - FT_INTERNAL( load_kern, load_kern_ ) \ - FT_INTERNAL( load_gasp, load_gasp_ ) \ - FT_INTERNAL( load_pclt, load_pclt_ ) \ - FT_INTERNAL( load_bhed, load_bhed_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( set_sbit_strike_stub, \ - set_sbit_strike_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sbits_stub, \ - load_sbits_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( find_sbit_image, \ - find_sbit_image_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_sbit_metrics, \ - load_sbit_metrics_ ) \ - FT_INTERNAL( load_sbit_image, load_sbit_image_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_sbits_stub, \ - free_sbits_stub_ ) \ - FT_INTERNAL( get_psname, get_psname_ ) \ - FT_INTERNAL( free_psnames, free_psnames_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( load_charmap_stub, \ - load_charmap_stub_ ) \ - FT_DEFINE_DRIVERS_OLD_INTERNAL( free_charmap_stub, \ - free_charmap_stub_ ) \ - FT_INTERNAL( get_kerning, get_kerning_ ) \ - FT_INTERNAL( load_font_dir, load_font_dir_ ) \ - FT_INTERNAL( load_hmtx, load_hmtx_ ) \ - FT_INTERNAL( load_eblc, load_eblc_ ) \ - FT_INTERNAL( free_eblc, free_eblc_ ) \ - FT_INTERNAL( set_sbit_strike, set_sbit_strike_ ) \ - FT_INTERNAL( load_strike_metrics, load_strike_metrics_ ) \ - FT_INTERNAL( get_metrics, get_metrics_ ) \ +#define FT_DEFINE_SFNT_INTERFACE( \ + class_, \ + goto_table_, \ + init_face_, \ + load_face_, \ + done_face_, \ + get_interface_, \ + load_any_, \ + load_head_, \ + load_hhea_, \ + load_cmap_, \ + load_maxp_, \ + load_os2_, \ + load_post_, \ + load_name_, \ + free_name_, \ + load_kern_, \ + load_gasp_, \ + load_pclt_, \ + load_bhed_, \ + load_sbit_image_, \ + get_psname_, \ + free_psnames_, \ + get_kerning_, \ + load_font_dir_, \ + load_hmtx_, \ + load_eblc_, \ + free_eblc_, \ + set_sbit_strike_, \ + load_strike_metrics_, \ + get_metrics_ ) \ + void \ + FT_Init_Class_ ## class_( FT_Library library, \ + SFNT_Interface* clazz ) \ + { \ + FT_UNUSED( library ); \ + \ + clazz->goto_table = goto_table_; \ + clazz->init_face = init_face_; \ + clazz->load_face = load_face_; \ + clazz->done_face = done_face_; \ + clazz->get_interface = get_interface_; \ + clazz->load_any = load_any_; \ + clazz->load_head = load_head_; \ + clazz->load_hhea = load_hhea_; \ + clazz->load_cmap = load_cmap_; \ + clazz->load_maxp = load_maxp_; \ + clazz->load_os2 = load_os2_; \ + clazz->load_post = load_post_; \ + clazz->load_name = load_name_; \ + clazz->free_name = free_name_; \ + clazz->load_kern = load_kern_; \ + clazz->load_gasp = load_gasp_; \ + clazz->load_pclt = load_pclt_; \ + clazz->load_bhed = load_bhed_; \ + clazz->load_sbit_image = load_sbit_image_; \ + clazz->get_psname = get_psname_; \ + clazz->free_psnames = free_psnames_; \ + clazz->get_kerning = get_kerning_; \ + clazz->load_font_dir = load_font_dir_; \ + clazz->load_hmtx = load_hmtx_; \ + clazz->load_eblc = load_eblc_; \ + clazz->free_eblc = free_eblc_; \ + clazz->set_sbit_strike = set_sbit_strike_; \ + clazz->load_strike_metrics = load_strike_metrics_; \ + clazz->get_metrics = get_metrics_; \ } #endif /* FT_CONFIG_OPTION_PIC */ -- cgit v1.2.1