| Index: include/freetype/internal/sfnt.h
|
| diff --git a/include/freetype/internal/sfnt.h b/include/freetype/internal/sfnt.h
|
| index 905ca8ccdc6cba100cb2abcae15761dac468724a..6b5e41f1adfaf3583546d6b488f44e10b8751535 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-2001, 2002, 2003, 2004, 2005, 2006 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
|
| -
|
| - /*************************************************************************/
|
| - /* */
|
| - /* <FuncType> */
|
| - /* TT_Load_SFNT_HeaderRec_Func */
|
| - /* */
|
| - /* <Description> */
|
| - /* Loads the header of a SFNT font file. Supports collections. */
|
| - /* */
|
| - /* <Input> */
|
| - /* 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. */
|
| - /* */
|
| - /* <Output> */
|
| - /* sfnt :: The SFNT header. */
|
| - /* */
|
| - /* <Return> */
|
| - /* FreeType error code. 0 means success. */
|
| - /* */
|
| - /* <Note> */
|
| - /* 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 );
|
| -
|
| -
|
| - /*************************************************************************/
|
| - /* */
|
| - /* <FuncType> */
|
| - /* TT_Load_Directory_Func */
|
| - /* */
|
| - /* <Description> */
|
| - /* Loads the table directory into a face object. */
|
| - /* */
|
| - /* <Input> */
|
| - /* face :: A handle to the target face object. */
|
| - /* */
|
| - /* stream :: The input stream. */
|
| - /* */
|
| - /* sfnt :: The SFNT header. */
|
| - /* */
|
| - /* <Return> */
|
| - /* FreeType error code. 0 means success. */
|
| - /* */
|
| - /* <Note> */
|
| - /* 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 */
|
| -
|
| -
|
| /*************************************************************************/
|
| /* */
|
| /* <FuncType> */
|
| @@ -363,88 +292,6 @@ FT_BEGIN_HEADER
|
| TT_SBit_MetricsRec *ametrics );
|
|
|
|
|
| -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
| -
|
| - /*************************************************************************/
|
| - /* */
|
| - /* <FuncType> */
|
| - /* TT_Set_SBit_Strike_OldFunc */
|
| - /* */
|
| - /* <Description> */
|
| - /* Select an sbit strike for a given size request. */
|
| - /* */
|
| - /* <Input> */
|
| - /* face :: The target face object. */
|
| - /* */
|
| - /* req :: The size request. */
|
| - /* */
|
| - /* <Output> */
|
| - /* astrike_index :: The index of the sbit strike. */
|
| - /* */
|
| - /* <Return> */
|
| - /* 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 );
|
| -
|
| -
|
| - /*************************************************************************/
|
| - /* */
|
| - /* <FuncType> */
|
| - /* TT_CharMap_Load_Func */
|
| - /* */
|
| - /* <Description> */
|
| - /* Loads a given TrueType character map into memory. */
|
| - /* */
|
| - /* <Input> */
|
| - /* face :: A handle to the parent face object. */
|
| - /* */
|
| - /* stream :: A handle to the current stream object. */
|
| - /* */
|
| - /* <InOut> */
|
| - /* cmap :: A pointer to a cmap object. */
|
| - /* */
|
| - /* <Return> */
|
| - /* FreeType error code. 0 means success. */
|
| - /* */
|
| - /* <Note> */
|
| - /* 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 );
|
| -
|
| -
|
| - /*************************************************************************/
|
| - /* */
|
| - /* <FuncType> */
|
| - /* TT_CharMap_Free_Func */
|
| - /* */
|
| - /* <Description> */
|
| - /* Destroys a character mapping table. */
|
| - /* */
|
| - /* <Input> */
|
| - /* face :: A handle to the parent face object. */
|
| - /* */
|
| - /* cmap :: A handle to a cmap object. */
|
| - /* */
|
| - /* <Return> */
|
| - /* FreeType error code. 0 means success. */
|
| - /* */
|
| - typedef FT_Error
|
| - (*TT_CharMap_Free_Func)( TT_Face face,
|
| - void* cmap );
|
| -
|
| -#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
| -
|
| -
|
| /*************************************************************************/
|
| /* */
|
| /* <FuncType> */
|
| @@ -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,136 +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)
|
| -#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_)
|
| -#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_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_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 */
|
|
|