diff --git a/builds/amiga/include/config/ftmodule.h b/builds/amiga/include/config/ftmodule.h index a9ea13dee..aab329415 100644 --- a/builds/amiga/include/config/ftmodule.h +++ b/builds/amiga/include/config/ftmodule.h @@ -84,35 +84,35 @@ FT_USE_MODULE( FT_Module_Class, autofit_module_class ) #endif #ifdef FT_USE_TT -FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) +FT_USE_MODULE( FT_Driver_Class, tt_driver_class ) #endif #ifdef FT_USE_T1 -FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t1_driver_class ) #endif #ifdef FT_USE_CFF -FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) +FT_USE_MODULE( FT_Driver_Class, cff_driver_class ) #endif #ifdef FT_USE_T1CID -FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t1cid_driver_class ) #endif #ifdef FT_USE_PFR -FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) +FT_USE_MODULE( FT_Driver_Class, pfr_driver_class ) #endif #ifdef FT_USE_T42 -FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t42_driver_class ) #endif #ifdef FT_USE_WINFNT -FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) +FT_USE_MODULE( FT_Driver_Class, winfnt_driver_class ) #endif #ifdef FT_USE_PCF -FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) +FT_USE_MODULE( FT_Driver_Class, pcf_driver_class ) #endif #ifdef FT_USE_PSAUX @@ -144,7 +144,7 @@ FT_USE_MODULE( FT_Module_Class, otv_module_class ) #endif #ifdef FT_USE_BDF -FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) +FT_USE_MODULE( FT_Driver_Class, bdf_driver_class ) #endif #ifdef FT_USE_GXV diff --git a/builds/meson/parse_modules_cfg.py b/builds/meson/parse_modules_cfg.py index 26ea95055..27d5fd604 100644 --- a/builds/meson/parse_modules_cfg.py +++ b/builds/meson/parse_modules_cfg.py @@ -75,7 +75,7 @@ def generate_ftmodule(lists): "winfonts": "winfnt", }.get(driver, driver) result += ( - "FT_USE_MODULE( FT_Driver_ClassRec, %s_driver_class )\n" % name + "FT_USE_MODULE( FT_Driver_Class, %s_driver_class )\n" % name ) for module in lists["HINTING_MODULES"]: diff --git a/include/freetype/config/ftmodule.h b/include/freetype/config/ftmodule.h index b315baba8..6a068cfe9 100644 --- a/include/freetype/config/ftmodule.h +++ b/include/freetype/config/ftmodule.h @@ -11,15 +11,15 @@ */ FT_USE_MODULE( FT_Module_Class, autofit_module_class ) -FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) +FT_USE_MODULE( FT_Driver_Class, tt_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t1_driver_class ) +FT_USE_MODULE( FT_Driver_Class, cff_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t1cid_driver_class ) +FT_USE_MODULE( FT_Driver_Class, pfr_driver_class ) +FT_USE_MODULE( FT_Driver_Class, t42_driver_class ) +FT_USE_MODULE( FT_Driver_Class, winfnt_driver_class ) +FT_USE_MODULE( FT_Driver_Class, pcf_driver_class ) +FT_USE_MODULE( FT_Driver_Class, bdf_driver_class ) FT_USE_MODULE( FT_Module_Class, psaux_module_class ) FT_USE_MODULE( FT_Module_Class, psnames_module_class ) FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h index 3691781cf..2e2c02ee8 100644 --- a/include/freetype/ftglyph.h +++ b/include/freetype/ftglyph.h @@ -66,7 +66,7 @@ FT_BEGIN_HEADER /* forward declaration to a private type */ - typedef struct FT_Glyph_Class_ FT_Glyph_Class; + typedef const struct FT_Glyph_Class_ FT_Glyph_Class; /************************************************************************** @@ -111,10 +111,10 @@ FT_BEGIN_HEADER */ typedef struct FT_GlyphRec_ { - FT_Library library; - const FT_Glyph_Class* clazz; - FT_Glyph_Format format; - FT_Vector advance; + FT_Library library; + FT_Glyph_Class* clazz; + FT_Glyph_Format format; + FT_Vector advance; } FT_GlyphRec; diff --git a/include/freetype/ftmodapi.h b/include/freetype/ftmodapi.h index 2669e4a03..b447508b5 100644 --- a/include/freetype/ftmodapi.h +++ b/include/freetype/ftmodapi.h @@ -232,7 +232,7 @@ FT_BEGIN_HEADER * get_interface :: * The interface requesting function. */ - typedef struct FT_Module_Class_ + typedef const struct FT_Module_Class_ { FT_ULong module_flags; FT_Long module_size; @@ -273,8 +273,8 @@ FT_BEGIN_HEADER * if the module requires a version of FreeType that is too great. */ FT_EXPORT( FT_Error ) - FT_Add_Module( FT_Library library, - const FT_Module_Class* clazz ); + FT_Add_Module( FT_Library library, + FT_Module_Class* clazz ); /************************************************************************** diff --git a/include/freetype/ftrender.h b/include/freetype/ftrender.h index cc3102073..0bc67f4ee 100644 --- a/include/freetype/ftrender.h +++ b/include/freetype/ftrender.h @@ -147,7 +147,7 @@ FT_BEGIN_HEADER * For @FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to * its raster's class. */ - typedef struct FT_Renderer_Class_ + typedef const struct FT_Renderer_Class_ { FT_Module_Class root; diff --git a/include/freetype/internal/ftdrv.h b/include/freetype/internal/ftdrv.h index 24be4dad3..169e5eca7 100644 --- a/include/freetype/internal/ftdrv.h +++ b/include/freetype/internal/ftdrv.h @@ -90,7 +90,7 @@ FT_BEGIN_HEADER /************************************************************************** * * @struct: - * FT_Driver_ClassRec + * FT_Driver_Class * * @description: * The font driver class. This structure mostly contains pointers to @@ -162,7 +162,7 @@ FT_BEGIN_HEADER * Most function pointers, with the exception of `load_glyph`, can be set * to 0 to indicate a default behaviour. */ - typedef struct FT_Driver_ClassRec_ + typedef const struct FT_Driver_Class_ { FT_Module_Class root; @@ -189,96 +189,7 @@ FT_BEGIN_HEADER FT_Size_RequestFunc request_size; FT_Size_SelectFunc select_size; - } FT_Driver_ClassRec, *FT_Driver_Class; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_DRIVER - * - * @description: - * Used to create a forward declaration of an FT_Driver_ClassRec struct - * instance. - * - * @macro: - * FT_DEFINE_DRIVER - * - * @description: - * Used to initialize an instance of FT_Driver_ClassRec struct. - * - * `ftinit.c` (ft_create_default_module_classes) already contains a - * mechanism to call these functions for the default modules described in - * `ftmodule.h`. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DECLARE_DRIVER( class_ ) \ - FT_CALLBACK_TABLE \ - const FT_Driver_ClassRec class_; - -#define FT_DEFINE_DRIVER( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_, \ - face_object_size_, \ - size_object_size_, \ - slot_object_size_, \ - init_face_, \ - done_face_, \ - init_size_, \ - done_size_, \ - init_slot_, \ - done_slot_, \ - load_glyph_, \ - get_kerning_, \ - attach_file_, \ - get_advances_, \ - request_size_, \ - select_size_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Driver_ClassRec class_ = \ - { \ - FT_DEFINE_ROOT_MODULE( flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - \ - face_object_size_, \ - size_object_size_, \ - slot_object_size_, \ - \ - init_face_, \ - done_face_, \ - \ - init_size_, \ - done_size_, \ - \ - init_slot_, \ - done_slot_, \ - \ - load_glyph_, \ - \ - get_kerning_, \ - attach_file_, \ - get_advances_, \ - \ - request_size_, \ - select_size_ \ - }; + } FT_Driver_Class, FT_Driver_ClassRec; FT_END_HEADER diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h index 7c6781f91..e64b0d8d8 100644 --- a/include/freetype/internal/ftobjs.h +++ b/include/freetype/internal/ftobjs.h @@ -205,7 +205,7 @@ FT_BEGIN_HEADER FT_UInt32 variant_selector ); - typedef struct FT_CMap_ClassRec_ + typedef const struct FT_CMap_ClassRec_ { FT_ULong size; @@ -226,37 +226,6 @@ FT_BEGIN_HEADER } FT_CMap_ClassRec; -#define FT_DECLARE_CMAP_CLASS( class_ ) \ - FT_CALLBACK_TABLE const FT_CMap_ClassRec class_; - -#define FT_DEFINE_CMAP_CLASS( \ - class_, \ - size_, \ - init_, \ - done_, \ - char_index_, \ - char_next_, \ - char_var_index_, \ - char_var_default_, \ - variant_list_, \ - charvariant_list_, \ - variantchar_list_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_CMap_ClassRec class_ = \ - { \ - size_, \ - init_, \ - done_, \ - char_index_, \ - char_next_, \ - char_var_index_, \ - char_var_default_, \ - variant_list_, \ - charvariant_list_, \ - variantchar_list_ \ - }; - - /* create a new charmap and add it to charmap->face */ FT_BASE( FT_Error ) FT_CMap_New( FT_CMap_Class clazz, @@ -520,9 +489,9 @@ FT_BEGIN_HEADER */ typedef struct FT_ModuleRec_ { - const FT_Module_Class* clazz; - FT_Library library; - FT_Memory memory; + FT_Module_Class* clazz; + FT_Library library; + FT_Memory memory; } FT_ModuleRec; @@ -815,10 +784,10 @@ FT_BEGIN_HEADER */ typedef struct FT_DriverRec_ { - FT_ModuleRec root; - FT_Driver_Class clazz; - FT_ListRec faces_list; - FT_GlyphLoader glyph_loader; + FT_ModuleRec root; + FT_Driver_Class* clazz; + FT_ListRec faces_list; + FT_GlyphLoader glyph_loader; } FT_DriverRec; @@ -1053,188 +1022,6 @@ FT_BEGIN_HEADER }; - - /************************************************************************** - * - * @macro: - * FT_DEFINE_GLYPH - * - * @description: - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DECLARE_GLYPH( class_ ) \ - FT_CALLBACK_TABLE const FT_Glyph_Class class_; - -#define FT_DEFINE_GLYPH( \ - class_, \ - size_, \ - format_, \ - init_, \ - done_, \ - copy_, \ - transform_, \ - bbox_, \ - prepare_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Glyph_Class class_ = \ - { \ - size_, \ - format_, \ - init_, \ - done_, \ - copy_, \ - transform_, \ - bbox_, \ - prepare_ \ - }; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_RENDERER - * - * @description: - * Used to create a forward declaration of a FT_Renderer_Class struct - * instance. - * - * @macro: - * FT_DEFINE_RENDERER - * - * @description: - * Used to initialize an instance of FT_Renderer_Class struct. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DECLARE_RENDERER( class_ ) \ - FT_EXPORT_VAR( const FT_Renderer_Class ) class_; - -#define FT_DEFINE_RENDERER( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_, \ - glyph_format_, \ - render_glyph_, \ - transform_glyph_, \ - get_glyph_cbox_, \ - set_mode_, \ - raster_class_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Renderer_Class class_ = \ - { \ - FT_DEFINE_ROOT_MODULE( flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - glyph_format_, \ - \ - render_glyph_, \ - transform_glyph_, \ - get_glyph_cbox_, \ - set_mode_, \ - \ - raster_class_ \ - }; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_MODULE - * - * @description: - * Used to create a forward declaration of a FT_Module_Class struct - * instance. - * - * @macro: - * FT_DEFINE_MODULE - * - * @description: - * Used to initialize an instance of an FT_Module_Class struct. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - * - * @macro: - * FT_DEFINE_ROOT_MODULE - * - * @description: - * Used to initialize an instance of an FT_Module_Class struct inside - * another struct that contains it or in a function that initializes that - * containing struct. - */ -#define FT_DECLARE_MODULE( class_ ) \ - FT_CALLBACK_TABLE \ - const FT_Module_Class class_; - -#define FT_DEFINE_ROOT_MODULE( \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - { \ - flags_, \ - size_, \ - \ - name_, \ - version_, \ - requires_, \ - \ - interface_, \ - \ - init_, \ - done_, \ - get_interface_, \ - }, - -#define FT_DEFINE_MODULE( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Module_Class class_ = \ - { \ - flags_, \ - size_, \ - \ - name_, \ - version_, \ - requires_, \ - \ - interface_, \ - \ - init_, \ - done_, \ - get_interface_, \ - }; - - FT_END_HEADER #endif /* FTOBJS_H_ */ diff --git a/src/autofit/afmodule.c b/src/autofit/afmodule.c index 22d85a889..7a3cdd256 100644 --- a/src/autofit/afmodule.c +++ b/src/autofit/afmodule.c @@ -516,9 +516,10 @@ af_autofitter_load_glyph /* FT_AutoHinter_GlyphLoadFunc load_glyph */ ) - FT_DEFINE_MODULE( - autofit_module_class, + FT_CALLBACK_TABLE_DEF + FT_Module_Class autofit_module_class = + { FT_MODULE_HINTER, sizeof ( AF_ModuleRec ), @@ -531,7 +532,7 @@ af_autofitter_init, /* FT_Module_Constructor module_init */ af_autofitter_done, /* FT_Module_Destructor module_done */ af_get_interface /* FT_Module_Requester get_interface */ - ) + }; /* END */ diff --git a/src/autofit/afmodule.h b/src/autofit/afmodule.h index c62421ef6..af2952bce 100644 --- a/src/autofit/afmodule.h +++ b/src/autofit/afmodule.h @@ -50,7 +50,10 @@ FT_BEGIN_HEADER FT_DECLARE_AUTOHINTER_INTERFACE( af_autofitter_interface ) -FT_DECLARE_MODULE( autofit_module_class ) + + + FT_CALLBACK_TABLE + FT_Module_Class autofit_module_class; FT_END_HEADER diff --git a/src/base/ftbase.h b/src/base/ftbase.h index 66f091165..88199b647 100644 --- a/src/base/ftbase.h +++ b/src/base/ftbase.h @@ -26,9 +26,10 @@ FT_BEGIN_HEADER - FT_DECLARE_GLYPH( ft_bitmap_glyph_class ) - FT_DECLARE_GLYPH( ft_outline_glyph_class ) - FT_DECLARE_GLYPH( ft_svg_glyph_class ) + FT_CALLBACK_TABLE + FT_Glyph_Class ft_bitmap_glyph_class, + ft_outline_glyph_class, + ft_svg_glyph_class; #ifdef FT_CONFIG_OPTION_MAC_FONTS diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c index 75babb1aa..b867fe2f3 100644 --- a/src/base/ftglyph.c +++ b/src/base/ftglyph.c @@ -133,9 +133,9 @@ } - FT_DEFINE_GLYPH( - ft_bitmap_glyph_class, - + FT_CALLBACK_TABLE_DEF + FT_Glyph_Class ft_bitmap_glyph_class = + { sizeof ( FT_BitmapGlyphRec ), FT_GLYPH_FORMAT_BITMAP, @@ -145,7 +145,7 @@ NULL, /* FT_Glyph_TransformFunc glyph_transform */ ft_bitmap_glyph_bbox, /* FT_Glyph_GetBBoxFunc glyph_bbox */ NULL /* FT_Glyph_PrepareFunc glyph_prepare */ - ) + }; /*************************************************************************/ @@ -263,9 +263,9 @@ } - FT_DEFINE_GLYPH( - ft_outline_glyph_class, - + FT_CALLBACK_TABLE_DEF + FT_Glyph_Class ft_outline_glyph_class = + { sizeof ( FT_OutlineGlyphRec ), FT_GLYPH_FORMAT_OUTLINE, @@ -275,7 +275,7 @@ ft_outline_glyph_transform, /* FT_Glyph_TransformFunc glyph_transform */ ft_outline_glyph_bbox, /* FT_Glyph_GetBBoxFunc glyph_bbox */ ft_outline_glyph_prepare /* FT_Glyph_PrepareFunc glyph_prepare */ - ) + }; #ifdef FT_CONFIG_OPTION_SVG @@ -495,9 +495,9 @@ } - FT_DEFINE_GLYPH( - ft_svg_glyph_class, - + FT_CALLBACK_TABLE_DEF + FT_Glyph_Class ft_svg_glyph_class = + { sizeof ( FT_SvgGlyphRec ), FT_GLYPH_FORMAT_SVG, @@ -507,7 +507,7 @@ ft_svg_glyph_transform, /* FT_Glyph_TransformFunc glyph_transform */ NULL, /* FT_Glyph_GetBBoxFunc glyph_bbox */ ft_svg_glyph_prepare /* FT_Glyph_PrepareFunc glyph_prepare */ - ) + }; #endif /* FT_CONFIG_OPTION_SVG */ @@ -521,9 +521,9 @@ /*************************************************************************/ static FT_Error - ft_new_glyph( FT_Library library, - const FT_Glyph_Class* clazz, - FT_Glyph* aglyph ) + ft_new_glyph( FT_Library library, + FT_Glyph_Class* clazz, + FT_Glyph* aglyph ) { FT_Memory memory = library->memory; FT_Error error; @@ -551,9 +551,9 @@ FT_Glyph_Copy( FT_Glyph source, FT_Glyph *target ) { - FT_Glyph copy; - FT_Error error; - const FT_Glyph_Class* clazz; + FT_Glyph copy; + FT_Error error; + FT_Glyph_Class* clazz; /* check arguments */ @@ -599,7 +599,7 @@ FT_Glyph_Format format, FT_Glyph *aglyph ) { - const FT_Glyph_Class* clazz = NULL; + FT_Glyph_Class* clazz = NULL; if ( !library || !aglyph ) return FT_THROW( Invalid_Argument ); @@ -708,7 +708,7 @@ error = FT_THROW( Invalid_Argument ); else { - const FT_Glyph_Class* clazz = glyph->clazz; + FT_Glyph_Class* clazz = glyph->clazz; if ( clazz->glyph_transform ) @@ -734,7 +734,7 @@ FT_UInt bbox_mode, FT_BBox *acbox ) { - const FT_Glyph_Class* clazz; + FT_Glyph_Class* clazz; if ( !acbox ) @@ -787,7 +787,7 @@ FT_Error error = FT_Err_Ok; FT_Glyph b, glyph; FT_BitmapGlyph bitmap = NULL; - const FT_Glyph_Class* clazz; + FT_Glyph_Class* clazz; FT_Library library; @@ -896,8 +896,8 @@ { if ( glyph ) { - FT_Memory memory = glyph->library->memory; - const FT_Glyph_Class* clazz = glyph->clazz; + FT_Memory memory = glyph->library->memory; + FT_Glyph_Class* clazz = glyph->clazz; if ( clazz->glyph_done ) diff --git a/src/base/ftinit.c b/src/base/ftinit.c index 37d7f87bc..f9740e3f8 100644 --- a/src/base/ftinit.c +++ b/src/base/ftinit.c @@ -56,18 +56,18 @@ #undef FT_USE_MODULE #ifdef __cplusplus -#define FT_USE_MODULE( type, x ) extern "C" const type x; +#define FT_USE_MODULE( type, x ) extern "C" type x; #else -#define FT_USE_MODULE( type, x ) extern const type x; +#define FT_USE_MODULE( type, x ) extern type x; #endif #include FT_CONFIG_MODULES_H #undef FT_USE_MODULE -#define FT_USE_MODULE( type, x ) (const FT_Module_Class*)&(x), +#define FT_USE_MODULE( type, x ) (FT_Module_Class*)&(x), static - const FT_Module_Class* const ft_default_modules[] = + FT_Module_Class* const ft_default_modules[] = { #include FT_CONFIG_MODULES_H 0 @@ -80,13 +80,13 @@ FT_Add_Default_Modules( FT_Library library ) { FT_Error error; - const FT_Module_Class* const* cur; + FT_Module_Class* const* cur; /* GCC 4.6 warns the type difference: - * FT_Module_Class** != const FT_Module_Class* const* + * FT_Module_Class** != FT_Module_Class* const* */ - cur = (const FT_Module_Class* const*)ft_default_modules; + cur = (FT_Module_Class* const*)ft_default_modules; /* test for valid `library' delayed to FT_Add_Module() */ while ( *cur ) diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index cced4fed0..b639ae8a5 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -311,7 +311,7 @@ ft_glyphslot_init( FT_GlyphSlot slot ) { FT_Driver driver = slot->face->driver; - FT_Driver_Class clazz = driver->clazz; + FT_Driver_Class* clazz = driver->clazz; FT_Memory memory = driver->root.memory; FT_Error error = FT_Err_Ok; FT_Slot_Internal internal = NULL; @@ -624,9 +624,9 @@ static void ft_glyphslot_done( FT_GlyphSlot slot ) { - FT_Driver driver = slot->face->driver; - FT_Driver_Class clazz = driver->clazz; - FT_Memory memory = driver->root.memory; + FT_Driver driver = slot->face->driver; + FT_Driver_Class* clazz = driver->clazz; + FT_Memory memory = driver->root.memory; #ifdef FT_CONFIG_OPTION_SVG if ( slot->face->face_flags & FT_FACE_FLAG_SVG ) @@ -674,11 +674,11 @@ FT_New_GlyphSlot( FT_Face face, FT_GlyphSlot *aslot ) { - FT_Error error; - FT_Driver driver; - FT_Driver_Class clazz; - FT_Memory memory; - FT_GlyphSlot slot = NULL; + FT_Error error; + FT_Driver driver; + FT_Driver_Class* clazz; + FT_Memory memory; + FT_GlyphSlot slot = NULL; if ( !face ) @@ -1299,9 +1299,9 @@ void* face_, void* driver_ ) { - FT_Face face = (FT_Face)face_; - FT_Driver driver = (FT_Driver)driver_; - FT_Driver_Class clazz = driver->clazz; + FT_Face face = (FT_Face)face_; + FT_Driver driver = (FT_Driver)driver_; + FT_Driver_Class* clazz = driver->clazz; /* discard auto-hinting data */ @@ -1495,7 +1495,7 @@ FT_Face *aface ) { FT_Memory memory; - FT_Driver_Class clazz; + FT_Driver_Class* clazz; FT_Face face = NULL; FT_Face_Internal internal = NULL; @@ -2870,7 +2870,7 @@ FT_Error error; FT_Driver driver; - FT_Driver_Class clazz; + FT_Driver_Class* clazz; /* test for valid `parameters' delayed to `FT_Stream_New' */ @@ -2965,13 +2965,13 @@ FT_New_Size( FT_Face face, FT_Size *asize ) { - FT_Error error; - FT_Memory memory; - FT_Driver driver; - FT_Driver_Class clazz; + FT_Error error; + FT_Memory memory; + FT_Driver driver; + FT_Driver_Class* clazz; - FT_Size size = NULL; - FT_ListNode node = NULL; + FT_Size size = NULL; + FT_ListNode node = NULL; FT_Size_Internal internal = NULL; @@ -3373,8 +3373,8 @@ FT_Select_Size( FT_Face face, FT_Int strike_index ) { - FT_Error error = FT_Err_Ok; - FT_Driver_Class clazz; + FT_Error error = FT_Err_Ok; + FT_Driver_Class* clazz; if ( !face || !FT_HAS_FIXED_SIZES( face ) ) @@ -3431,9 +3431,9 @@ FT_Request_Size( FT_Face face, FT_Size_Request req ) { - FT_Error error; - FT_Driver_Class clazz; - FT_ULong strike_index; + FT_Error error; + FT_Driver_Class* clazz; + FT_ULong strike_index; if ( !face ) @@ -5030,9 +5030,9 @@ static void Destroy_Module( FT_Module module ) { - const FT_Module_Class* clazz = module->clazz; - FT_Library library = module->library; - FT_Memory memory = module->memory; + FT_Module_Class* clazz = module->clazz; + FT_Library library = module->library; + FT_Memory memory = module->memory; if ( library && library->auto_hinter == module ) @@ -5058,8 +5058,8 @@ /* documentation is in ftmodapi.h */ FT_EXPORT_DEF( FT_Error ) - FT_Add_Module( FT_Library library, - const FT_Module_Class* clazz ) + FT_Add_Module( FT_Library library, + FT_Module_Class* clazz ) { FT_Error error; FT_Memory memory; @@ -5135,7 +5135,7 @@ FT_Driver driver = FT_DRIVER( module ); - driver->clazz = (FT_Driver_Class)module->clazz; + driver->clazz = (FT_Driver_Class*)module->clazz; } if ( clazz->module_init ) diff --git a/src/base/ftstroke.c b/src/base/ftstroke.c index 591f18eaa..210b91810 100644 --- a/src/base/ftstroke.c +++ b/src/base/ftstroke.c @@ -26,7 +26,8 @@ /* declare an extern to access `ft_outline_glyph_class' globally */ /* allocated in `ftglyph.c' */ - FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class; + FT_CALLBACK_TABLE + FT_Glyph_Class ft_outline_glyph_class; /* documentation is in ftstroke.h */ diff --git a/src/bdf/bdfdrivr.c b/src/bdf/bdfdrivr.c index 94549b692..6c7a08e09 100644 --- a/src/bdf/bdfdrivr.c +++ b/src/bdf/bdfdrivr.c @@ -187,7 +187,7 @@ THE SOFTWARE. static - const FT_CMap_ClassRec bdf_cmap_class = + FT_CMap_ClassRec bdf_cmap_class = { sizeof ( BDF_CMapRec ), bdf_cmap_init, @@ -984,7 +984,7 @@ THE SOFTWARE. FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec bdf_driver_class = + FT_Driver_Class bdf_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/bdf/bdfdrivr.h b/src/bdf/bdfdrivr.h index 54aaa3353..59091c614 100644 --- a/src/bdf/bdfdrivr.h +++ b/src/bdf/bdfdrivr.h @@ -60,7 +60,7 @@ FT_BEGIN_HEADER } BDF_FaceRec, *BDF_Face; - FT_EXPORT_VAR( const FT_Driver_ClassRec ) bdf_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) bdf_driver_class; FT_END_HEADER diff --git a/src/bdf/module.mk b/src/bdf/module.mk index fe06ae8e0..23b3321b1 100644 --- a/src/bdf/module.mk +++ b/src/bdf/module.mk @@ -27,7 +27,7 @@ FTMODULE_H_COMMANDS += BDF_DRIVER define BDF_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, bdf_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, bdf_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)bdf $(ECHO_DRIVER_DESC)bdf bitmap fonts$(ECHO_DRIVER_DONE) endef diff --git a/src/cff/cffcmap.c b/src/cff/cffcmap.c index cb69abdb9..5657a8a5f 100644 --- a/src/cff/cffcmap.c +++ b/src/cff/cffcmap.c @@ -97,9 +97,9 @@ } - FT_DEFINE_CMAP_CLASS( - cff_cmap_encoding_class_rec, - + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec cff_cmap_encoding_class_rec = + { sizeof ( CFF_CMapStdRec ), (FT_CMap_InitFunc) cff_cmap_encoding_init, /* init */ @@ -112,7 +112,7 @@ (FT_CMap_VariantListFunc) NULL, /* variant_list */ (FT_CMap_CharVariantListFunc) NULL, /* charvariant_list */ (FT_CMap_VariantCharListFunc) NULL /* variantchar_list */ - ) + }; /*************************************************************************/ @@ -209,9 +209,9 @@ } - FT_DEFINE_CMAP_CLASS( - cff_cmap_unicode_class_rec, - + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec cff_cmap_unicode_class_rec = + { sizeof ( PS_UnicodesRec ), (FT_CMap_InitFunc) cff_cmap_unicode_init, /* init */ @@ -224,7 +224,7 @@ (FT_CMap_VariantListFunc) NULL, /* variant_list */ (FT_CMap_CharVariantListFunc) NULL, /* charvariant_list */ (FT_CMap_VariantCharListFunc) NULL /* variantchar_list */ - ) + }; /* END */ diff --git a/src/cff/cffcmap.h b/src/cff/cffcmap.h index 60e16d948..87a4cb1f6 100644 --- a/src/cff/cffcmap.h +++ b/src/cff/cffcmap.h @@ -43,7 +43,8 @@ FT_BEGIN_HEADER } CFF_CMapStdRec; - FT_DECLARE_CMAP_CLASS( cff_cmap_encoding_class_rec ) + FT_CALLBACK_TABLE + FT_CMap_ClassRec cff_cmap_encoding_class_rec; /*************************************************************************/ @@ -56,7 +57,8 @@ FT_BEGIN_HEADER /* unicode (synthetic) cmaps */ - FT_DECLARE_CMAP_CLASS( cff_cmap_unicode_class_rec ) + FT_CALLBACK_TABLE + FT_CMap_ClassRec cff_cmap_unicode_class_rec; FT_END_HEADER diff --git a/src/cff/cffdrivr.c b/src/cff/cffdrivr.c index 0079ddd19..35f1e7f73 100644 --- a/src/cff/cffdrivr.c +++ b/src/cff/cffdrivr.c @@ -1179,9 +1179,10 @@ #define CFF_SIZE_SELECT 0 #endif - FT_DEFINE_DRIVER( - cff_driver_class, - + FT_CALLBACK_TABLE_DEF + FT_Driver_Class cff_driver_class = + { + { FT_MODULE_FONT_DRIVER | FT_MODULE_DRIVER_SCALABLE | FT_MODULE_DRIVER_HAS_HINTER | @@ -1196,7 +1197,8 @@ cff_driver_init, /* FT_Module_Constructor module_init */ cff_driver_done, /* FT_Module_Destructor module_done */ - cff_get_interface, /* FT_Module_Requester get_interface */ + cff_get_interface /* FT_Module_Requester get_interface */ + }, sizeof ( TT_FaceRec ), sizeof ( CFF_SizeRec ), @@ -1217,7 +1219,7 @@ cff_size_request, /* FT_Size_RequestFunc request_size */ CFF_SIZE_SELECT /* FT_Size_SelectFunc select_size */ - ) + }; /* END */ diff --git a/src/cff/cffdrivr.h b/src/cff/cffdrivr.h index 52a1e727a..394d1feae 100644 --- a/src/cff/cffdrivr.h +++ b/src/cff/cffdrivr.h @@ -25,7 +25,8 @@ FT_BEGIN_HEADER - FT_DECLARE_DRIVER( cff_driver_class ) + FT_CALLBACK_TABLE + FT_Driver_Class cff_driver_class; FT_END_HEADER diff --git a/src/cff/module.mk b/src/cff/module.mk index e02e50194..b69fa363d 100644 --- a/src/cff/module.mk +++ b/src/cff/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += CFF_DRIVER define CFF_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, cff_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, cff_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE) endef diff --git a/src/cid/cidriver.c b/src/cid/cidriver.c index a3a587c57..dd9da6a3e 100644 --- a/src/cid/cidriver.c +++ b/src/cid/cidriver.c @@ -230,7 +230,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec t1cid_driver_class = + FT_Driver_Class t1cid_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/cid/cidriver.h b/src/cid/cidriver.h index 55d0b8a0d..f9e47f80f 100644 --- a/src/cid/cidriver.h +++ b/src/cid/cidriver.h @@ -26,7 +26,7 @@ FT_BEGIN_HEADER FT_CALLBACK_TABLE - const FT_Driver_ClassRec t1cid_driver_class; + FT_Driver_Class t1cid_driver_class; FT_END_HEADER diff --git a/src/cid/module.mk b/src/cid/module.mk index 7120b8f3c..e646691ff 100644 --- a/src/cid/module.mk +++ b/src/cid/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += TYPE1CID_DRIVER define TYPE1CID_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, t1cid_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, t1cid_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE) endef diff --git a/src/gxvalid/gxvmod.c b/src/gxvalid/gxvmod.c index 4f27c5a8a..8dd9d7bc8 100644 --- a/src/gxvalid/gxvmod.c +++ b/src/gxvalid/gxvmod.c @@ -269,7 +269,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Module_Class gxv_module_class = + FT_Module_Class gxv_module_class = { 0, sizeof ( FT_ModuleRec ), diff --git a/src/gxvalid/gxvmod.h b/src/gxvalid/gxvmod.h index 39a375d97..482152e41 100644 --- a/src/gxvalid/gxvmod.h +++ b/src/gxvalid/gxvmod.h @@ -35,7 +35,7 @@ FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Module_Class ) gxv_module_class; + FT_EXPORT_VAR( FT_Module_Class ) gxv_module_class; FT_END_HEADER diff --git a/src/otvalid/otvmod.c b/src/otvalid/otvmod.c index d2456cb58..49e67f3d5 100644 --- a/src/otvalid/otvmod.c +++ b/src/otvalid/otvmod.c @@ -262,7 +262,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Module_Class otv_module_class = + FT_Module_Class otv_module_class = { 0, sizeof ( FT_ModuleRec ), diff --git a/src/otvalid/otvmod.h b/src/otvalid/otvmod.h index aec6f6657..e92c24e5f 100644 --- a/src/otvalid/otvmod.h +++ b/src/otvalid/otvmod.h @@ -27,7 +27,7 @@ FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Module_Class ) otv_module_class; + FT_EXPORT_VAR( FT_Module_Class ) otv_module_class; FT_END_HEADER diff --git a/src/pcf/module.mk b/src/pcf/module.mk index df383ff0f..da179d2da 100644 --- a/src/pcf/module.mk +++ b/src/pcf/module.mk @@ -27,7 +27,7 @@ FTMODULE_H_COMMANDS += PCF_DRIVER define PCF_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, pcf_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, pcf_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)pcf $(ECHO_DRIVER_DESC)pcf bitmap fonts$(ECHO_DRIVER_DONE) endef diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c index ecd684951..10fba468d 100644 --- a/src/pcf/pcfdrivr.c +++ b/src/pcf/pcfdrivr.c @@ -157,7 +157,7 @@ THE SOFTWARE. static - const FT_CMap_ClassRec pcf_cmap_class = + FT_CMap_ClassRec pcf_cmap_class = { sizeof ( PCF_CMapRec ), pcf_cmap_init, @@ -793,7 +793,7 @@ THE SOFTWARE. FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec pcf_driver_class = + FT_Driver_Class pcf_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/pcf/pcfdrivr.h b/src/pcf/pcfdrivr.h index d46539374..4d831618a 100644 --- a/src/pcf/pcfdrivr.h +++ b/src/pcf/pcfdrivr.h @@ -33,7 +33,7 @@ THE SOFTWARE. FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Driver_ClassRec ) pcf_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) pcf_driver_class; FT_END_HEADER diff --git a/src/pfr/module.mk b/src/pfr/module.mk index d08c5cfb9..5df9b1e9f 100644 --- a/src/pfr/module.mk +++ b/src/pfr/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += PFR_DRIVER define PFR_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, pfr_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, pfr_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE) endef diff --git a/src/pfr/pfrcmap.c b/src/pfr/pfrcmap.c index 489b1a5dd..4143870a0 100644 --- a/src/pfr/pfrcmap.c +++ b/src/pfr/pfrcmap.c @@ -167,8 +167,8 @@ } - FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec - pfr_cmap_class_rec = + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec pfr_cmap_class_rec = { sizeof ( PFR_CMapRec ), diff --git a/src/pfr/pfrcmap.h b/src/pfr/pfrcmap.h index acf4b508d..a216fbc71 100644 --- a/src/pfr/pfrcmap.h +++ b/src/pfr/pfrcmap.h @@ -34,7 +34,8 @@ FT_BEGIN_HEADER } PFR_CMapRec, *PFR_CMap; - FT_CALLBACK_TABLE const FT_CMap_ClassRec pfr_cmap_class_rec; + FT_CALLBACK_TABLE + FT_CMap_ClassRec pfr_cmap_class_rec; FT_END_HEADER diff --git a/src/pfr/pfrdrivr.c b/src/pfr/pfrdrivr.c index 268924b50..7d510ba45 100644 --- a/src/pfr/pfrdrivr.c +++ b/src/pfr/pfrdrivr.c @@ -168,7 +168,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec pfr_driver_class = + FT_Driver_Class pfr_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/pfr/pfrdrivr.h b/src/pfr/pfrdrivr.h index 61aadb973..6d08657a7 100644 --- a/src/pfr/pfrdrivr.h +++ b/src/pfr/pfrdrivr.h @@ -25,7 +25,7 @@ FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Driver_ClassRec ) pfr_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) pfr_driver_class; FT_END_HEADER diff --git a/src/psaux/psauxmod.c b/src/psaux/psauxmod.c index 942804190..489ac392a 100644 --- a/src/psaux/psauxmod.c +++ b/src/psaux/psauxmod.c @@ -170,9 +170,9 @@ }; - FT_DEFINE_MODULE( - psaux_module_class, - + FT_CALLBACK_TABLE_DEF + FT_Module_Class psaux_module_class = + { 0, sizeof ( FT_ModuleRec ), "psaux", @@ -184,7 +184,7 @@ (FT_Module_Constructor)NULL, /* module_init */ (FT_Module_Destructor) NULL, /* module_done */ (FT_Module_Requester) NULL /* get_interface */ - ) + }; /* END */ diff --git a/src/psaux/psauxmod.h b/src/psaux/psauxmod.h index 4a5ebc1b6..c5d67121d 100644 --- a/src/psaux/psauxmod.h +++ b/src/psaux/psauxmod.h @@ -45,8 +45,8 @@ FT_BEGIN_HEADER FT_CALLBACK_TABLE const CFF_Decoder_FuncsRec cff_decoder_funcs; - - FT_DECLARE_MODULE( psaux_module_class ) + FT_CALLBACK_TABLE + FT_Module_Class psaux_module_class; FT_END_HEADER diff --git a/src/psaux/t1cmap.c b/src/psaux/t1cmap.c index 66493b681..4d48252e8 100644 --- a/src/psaux/t1cmap.c +++ b/src/psaux/t1cmap.c @@ -136,8 +136,8 @@ } - FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec - t1_cmap_standard_class_rec = + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec t1_cmap_standard_class_rec = { sizeof ( T1_CMapStdRec ), @@ -166,8 +166,8 @@ return 0; } - FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec - t1_cmap_expert_class_rec = + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec t1_cmap_expert_class_rec = { sizeof ( T1_CMapStdRec ), @@ -272,8 +272,8 @@ } - FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec - t1_cmap_custom_class_rec = + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec t1_cmap_custom_class_rec = { sizeof ( T1_CMapCustomRec ), @@ -372,8 +372,8 @@ } - FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec - t1_cmap_unicode_class_rec = + FT_CALLBACK_TABLE_DEF + FT_CMap_ClassRec t1_cmap_unicode_class_rec = { sizeof ( PS_UnicodesRec ), diff --git a/src/psaux/t1cmap.h b/src/psaux/t1cmap.h index 114bfbb04..037989ee8 100644 --- a/src/psaux/t1cmap.h +++ b/src/psaux/t1cmap.h @@ -49,11 +49,11 @@ FT_BEGIN_HEADER } T1_CMapStdRec; - FT_CALLBACK_TABLE const FT_CMap_ClassRec - t1_cmap_standard_class_rec; + FT_CALLBACK_TABLE + FT_CMap_ClassRec t1_cmap_standard_class_rec; - FT_CALLBACK_TABLE const FT_CMap_ClassRec - t1_cmap_expert_class_rec; + FT_CALLBACK_TABLE + FT_CMap_ClassRec t1_cmap_expert_class_rec; /*************************************************************************/ @@ -76,8 +76,8 @@ FT_BEGIN_HEADER } T1_CMapCustomRec; - FT_CALLBACK_TABLE const FT_CMap_ClassRec - t1_cmap_custom_class_rec; + FT_CALLBACK_TABLE + FT_CMap_ClassRec t1_cmap_custom_class_rec; /*************************************************************************/ @@ -90,8 +90,8 @@ FT_BEGIN_HEADER /* unicode (synthetic) cmaps */ - FT_CALLBACK_TABLE const FT_CMap_ClassRec - t1_cmap_unicode_class_rec; + FT_CALLBACK_TABLE + FT_CMap_ClassRec t1_cmap_unicode_class_rec; /* */ diff --git a/src/pshinter/pshmod.c b/src/pshinter/pshmod.c index c9f4a94fe..24462eda7 100644 --- a/src/pshinter/pshmod.c +++ b/src/pshinter/pshmod.c @@ -106,9 +106,9 @@ ) - FT_DEFINE_MODULE( - pshinter_module_class, - + FT_CALLBACK_TABLE_DEF + FT_Module_Class pshinter_module_class = + { 0, sizeof ( PS_Hinter_ModuleRec ), "pshinter", @@ -120,6 +120,6 @@ (FT_Module_Constructor)ps_hinter_init, /* module_init */ (FT_Module_Destructor) ps_hinter_done, /* module_done */ (FT_Module_Requester) NULL /* get_interface */ - ) + }; /* END */ diff --git a/src/pshinter/pshmod.h b/src/pshinter/pshmod.h index de9c398e9..c3179ebe0 100644 --- a/src/pshinter/pshmod.h +++ b/src/pshinter/pshmod.h @@ -25,9 +25,8 @@ FT_BEGIN_HEADER - - FT_DECLARE_MODULE( pshinter_module_class ) - + FT_CALLBACK_TABLE + FT_Module_Class pshinter_module_class; FT_END_HEADER diff --git a/src/psnames/psmodule.c b/src/psnames/psmodule.c index c5d71edad..afdbc44b7 100644 --- a/src/psnames/psmodule.c +++ b/src/psnames/psmodule.c @@ -599,9 +599,9 @@ #define PUT_PS_NAMES_SERVICE( a ) a #endif - FT_DEFINE_MODULE( - psnames_module_class, - + FT_CALLBACK_TABLE_DEF + FT_Module_Class psnames_module_class = + { 0, /* this is not a font driver, nor a renderer */ sizeof ( FT_ModuleRec ), @@ -615,7 +615,7 @@ NULL, /* FT_Module_Constructor module_init */ NULL, /* FT_Module_Destructor module_done */ PUT_PS_NAMES_SERVICE( psnames_get_service ) /* FT_Module_Requester get_interface */ - ) + }; /* END */ diff --git a/src/psnames/psmodule.h b/src/psnames/psmodule.h index 482fd0a36..5edfc341e 100644 --- a/src/psnames/psmodule.h +++ b/src/psnames/psmodule.h @@ -25,9 +25,8 @@ FT_BEGIN_HEADER - - FT_DECLARE_MODULE( psnames_module_class ) - + FT_CALLBACK_TABLE + FT_Module_Class psnames_module_class; FT_END_HEADER diff --git a/src/raster/ftrend1.c b/src/raster/ftrend1.c index 3fa008704..ba54a5eb2 100644 --- a/src/raster/ftrend1.c +++ b/src/raster/ftrend1.c @@ -179,9 +179,10 @@ } - FT_DEFINE_RENDERER( - ft_raster1_renderer_class, - + FT_CALLBACK_TABLE_DEF + FT_Renderer_Class ft_raster1_renderer_class = + { + { FT_MODULE_RENDERER, sizeof ( FT_RendererRec ), @@ -193,7 +194,8 @@ ft_raster1_init, /* FT_Module_Constructor module_init */ NULL, /* FT_Module_Destructor module_done */ - NULL, /* FT_Module_Requester get_interface */ + NULL /* FT_Module_Requester get_interface */ + }, FT_GLYPH_FORMAT_OUTLINE, @@ -203,7 +205,7 @@ ft_raster1_set_mode, /* FT_Renderer_SetModeFunc set_mode */ &ft_standard_raster /* FT_Raster_Funcs* raster_class */ - ) + }; /* END */ diff --git a/src/raster/ftrend1.h b/src/raster/ftrend1.h index d838a942b..7e851a132 100644 --- a/src/raster/ftrend1.h +++ b/src/raster/ftrend1.h @@ -25,9 +25,8 @@ FT_BEGIN_HEADER - - FT_DECLARE_RENDERER( ft_raster1_renderer_class ) - + FT_CALLBACK_TABLE + FT_Renderer_Class ft_raster1_renderer_class; FT_END_HEADER diff --git a/src/sdf/ftsdfrend.c b/src/sdf/ftsdfrend.c index e24b3b614..492b77989 100644 --- a/src/sdf/ftsdfrend.c +++ b/src/sdf/ftsdfrend.c @@ -424,21 +424,23 @@ } - FT_DEFINE_RENDERER( - ft_sdf_renderer_class, + FT_CALLBACK_TABLE_DEF + FT_Renderer_Class ft_sdf_renderer_class = + { + { + FT_MODULE_RENDERER, + sizeof ( SDF_Renderer_Module ), - FT_MODULE_RENDERER, - sizeof ( SDF_Renderer_Module ), + "sdf", + 0x10000L, + 0x20000L, - "sdf", - 0x10000L, - 0x20000L, + NULL, - NULL, - - (FT_Module_Constructor)ft_sdf_init, - (FT_Module_Destructor) ft_sdf_done, - (FT_Module_Requester) ft_sdf_requester, + (FT_Module_Constructor)ft_sdf_init, + (FT_Module_Destructor) ft_sdf_done, + (FT_Module_Requester) ft_sdf_requester + }, FT_GLYPH_FORMAT_OUTLINE, @@ -448,7 +450,7 @@ (FT_Renderer_SetModeFunc) ft_sdf_set_mode, /* set_mode */ (FT_Raster_Funcs*)&ft_sdf_raster /* raster_class */ - ) + }; /*************************************************************************/ @@ -573,21 +575,23 @@ } - FT_DEFINE_RENDERER( - ft_bitmap_sdf_renderer_class, + FT_CALLBACK_TABLE_DEF + FT_Renderer_Class ft_bitmap_sdf_renderer_class = + { + { + FT_MODULE_RENDERER, + sizeof ( SDF_Renderer_Module ), - FT_MODULE_RENDERER, - sizeof ( SDF_Renderer_Module ), + "bsdf", + 0x10000L, + 0x20000L, - "bsdf", - 0x10000L, - 0x20000L, + NULL, - NULL, - - (FT_Module_Constructor)ft_sdf_init, - (FT_Module_Destructor) ft_sdf_done, - (FT_Module_Requester) ft_sdf_requester, + (FT_Module_Constructor)ft_sdf_init, + (FT_Module_Destructor) ft_sdf_done, + (FT_Module_Requester) ft_sdf_requester + }, FT_GLYPH_FORMAT_BITMAP, @@ -597,7 +601,7 @@ (FT_Renderer_SetModeFunc) ft_sdf_set_mode, /* set_mode */ (FT_Raster_Funcs*)&ft_bitmap_sdf_raster /* raster_class */ - ) + }; /* END */ diff --git a/src/sdf/ftsdfrend.h b/src/sdf/ftsdfrend.h index ab98a7963..4b9f19328 100644 --- a/src/sdf/ftsdfrend.h +++ b/src/sdf/ftsdfrend.h @@ -91,7 +91,8 @@ FT_BEGIN_HEADER * Renderer to convert @FT_Outline to signed distance fields. * */ - FT_DECLARE_RENDERER( ft_sdf_renderer_class ) + FT_CALLBACK_TABLE + FT_Renderer_Class ft_sdf_renderer_class; /************************************************************************** @@ -107,7 +108,8 @@ FT_BEGIN_HEADER * This is not a separate module, it is part of the 'sdf' module. * */ - FT_DECLARE_RENDERER( ft_bitmap_sdf_renderer_class ) + FT_CALLBACK_TABLE + FT_Renderer_Class ft_bitmap_sdf_renderer_class; FT_END_HEADER diff --git a/src/sfnt/sfdriver.c b/src/sfnt/sfdriver.c index ec78247aa..5ed783c0d 100644 --- a/src/sfnt/sfdriver.c +++ b/src/sfnt/sfdriver.c @@ -1363,9 +1363,9 @@ ) - FT_DEFINE_MODULE( - sfnt_module_class, - + FT_CALLBACK_TABLE_DEF + FT_Module_Class sfnt_module_class = + { 0, /* not a font driver or renderer */ sizeof ( FT_ModuleRec ), @@ -1378,7 +1378,7 @@ NULL, /* FT_Module_Constructor module_init */ NULL, /* FT_Module_Destructor module_done */ sfnt_get_interface /* FT_Module_Requester get_interface */ - ) + }; /* END */ diff --git a/src/sfnt/sfdriver.h b/src/sfnt/sfdriver.h index be4e33166..203eee651 100644 --- a/src/sfnt/sfdriver.h +++ b/src/sfnt/sfdriver.h @@ -25,7 +25,8 @@ FT_BEGIN_HEADER - FT_DECLARE_MODULE( sfnt_module_class ) + FT_CALLBACK_TABLE + FT_Module_Class sfnt_module_class; FT_END_HEADER diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c index 21a6eca00..8282c71d0 100644 --- a/src/smooth/ftsmooth.c +++ b/src/smooth/ftsmooth.c @@ -575,9 +575,10 @@ } - FT_DEFINE_RENDERER( - ft_smooth_renderer_class, - + FT_CALLBACK_TABLE_DEF + FT_Renderer_Class ft_smooth_renderer_class = + { + { FT_MODULE_RENDERER, sizeof ( FT_RendererRec ), @@ -589,7 +590,8 @@ (FT_Module_Constructor)ft_smooth_init, /* module_init */ (FT_Module_Destructor) NULL, /* module_done */ - (FT_Module_Requester) NULL, /* get_interface */ + (FT_Module_Requester) NULL /* get_interface */ + }, FT_GLYPH_FORMAT_OUTLINE, @@ -599,7 +601,7 @@ (FT_Renderer_SetModeFunc) ft_smooth_set_mode, /* set_mode */ (FT_Raster_Funcs*)&ft_grays_raster /* raster_class */ - ) + }; /* END */ diff --git a/src/smooth/ftsmooth.h b/src/smooth/ftsmooth.h index f76708ae7..60909428f 100644 --- a/src/smooth/ftsmooth.h +++ b/src/smooth/ftsmooth.h @@ -25,9 +25,8 @@ FT_BEGIN_HEADER - - FT_DECLARE_RENDERER( ft_smooth_renderer_class ) - + FT_CALLBACK_TABLE + FT_Renderer_Class ft_smooth_renderer_class; FT_END_HEADER diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c index 8e73c3ba4..a0e92627e 100644 --- a/src/svg/ftsvg.c +++ b/src/svg/ftsvg.c @@ -326,9 +326,10 @@ #endif - FT_DEFINE_RENDERER( - ft_svg_renderer_class, - + FT_CALLBACK_TABLE_DEF + FT_Renderer_Class ft_svg_renderer_class = + { + { FT_MODULE_RENDERER, sizeof ( SVG_RendererRec ), @@ -340,16 +341,17 @@ PUT_SVG_MODULE( ft_svg_init ), /* FT_Module_Constructor module_init */ PUT_SVG_MODULE( ft_svg_done ), /* FT_Module_Destructor module_done */ - PUT_SVG_MODULE( ft_svg_get_interface ), /* FT_Module_Requester get_interface */ + PUT_SVG_MODULE( ft_svg_get_interface ) /* FT_Module_Requester get_interface */ + }, - SVG_GLYPH_FORMAT, + SVG_GLYPH_FORMAT, - PUT_SVG_MODULE( ft_svg_render ), /* FT_Renderer_RenderFunc render_glyph */ - PUT_SVG_MODULE( ft_svg_transform ), /* FT_Renderer_TransformFunc transform_glyph */ - NULL, /* FT_Renderer_GetCBoxFunc get_glyph_cbox */ - NULL, /* FT_Renderer_SetModeFunc set_mode */ - NULL /* FT_Raster_Funcs* raster_class */ - ) + PUT_SVG_MODULE( ft_svg_render ), /* FT_Renderer_RenderFunc render_glyph */ + PUT_SVG_MODULE( ft_svg_transform ), /* FT_Renderer_TransformFunc transform_glyph */ + NULL, /* FT_Renderer_GetCBoxFunc get_glyph_cbox */ + NULL, /* FT_Renderer_SetModeFunc set_mode */ + NULL /* FT_Raster_Funcs* raster_class */ + }; /* END */ diff --git a/src/svg/ftsvg.h b/src/svg/ftsvg.h index b04c7fef1..2a4f7118f 100644 --- a/src/svg/ftsvg.h +++ b/src/svg/ftsvg.h @@ -25,7 +25,8 @@ FT_BEGIN_HEADER - FT_DECLARE_RENDERER( ft_svg_renderer_class ) + FT_CALLBACK_TABLE + FT_Renderer_Class ft_svg_renderer_class; FT_END_HEADER diff --git a/src/truetype/module.mk b/src/truetype/module.mk index d7ba01b92..543dcaf70 100644 --- a/src/truetype/module.mk +++ b/src/truetype/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += TRUETYPE_DRIVER define TRUETYPE_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, tt_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, tt_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE) endef diff --git a/src/truetype/ttdriver.c b/src/truetype/ttdriver.c index 6369d83d6..f641e57f2 100644 --- a/src/truetype/ttdriver.c +++ b/src/truetype/ttdriver.c @@ -660,9 +660,10 @@ #define TT_SIZE_SELECT 0 #endif - FT_DEFINE_DRIVER( - tt_driver_class, - + FT_CALLBACK_TABLE_DEF + FT_Driver_Class tt_driver_class = + { + { FT_MODULE_FONT_DRIVER | FT_MODULE_DRIVER_SCALABLE | TT_HINTER_FLAG, @@ -677,7 +678,8 @@ tt_driver_init, /* FT_Module_Constructor module_init */ tt_driver_done, /* FT_Module_Destructor module_done */ - tt_get_interface, /* FT_Module_Requester get_interface */ + tt_get_interface /* FT_Module_Requester get_interface */ + }, sizeof ( TT_FaceRec ), sizeof ( TT_SizeRec ), @@ -698,7 +700,7 @@ tt_size_request, /* FT_Size_RequestFunc request_size */ TT_SIZE_SELECT /* FT_Size_SelectFunc select_size */ - ) + }; /* END */ diff --git a/src/truetype/ttdriver.h b/src/truetype/ttdriver.h index 943eaae34..809434aaa 100644 --- a/src/truetype/ttdriver.h +++ b/src/truetype/ttdriver.h @@ -25,7 +25,8 @@ FT_BEGIN_HEADER - FT_DECLARE_DRIVER( tt_driver_class ) + FT_CALLBACK_TABLE + FT_Driver_Class tt_driver_class; FT_END_HEADER diff --git a/src/truetype/ttobjs.h b/src/truetype/ttobjs.h index 28d6c7d85..097910a46 100644 --- a/src/truetype/ttobjs.h +++ b/src/truetype/ttobjs.h @@ -252,7 +252,7 @@ FT_BEGIN_HEADER /* Note: All of the functions below (except tt_size_reset()) are used */ - /* as function pointers in a FT_Driver_ClassRec. Therefore their */ + /* as function pointers in a FT_Driver_Class. Therefore their */ /* parameters are of types FT_Face, FT_Size, etc., rather than TT_Face, */ /* TT_Size, etc., so that the compiler can confirm that the types and */ /* number of parameters are correct. In all cases the FT_xxx types are */ diff --git a/src/type1/module.mk b/src/type1/module.mk index e7c0718de..843d5ac10 100644 --- a/src/type1/module.mk +++ b/src/type1/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += TYPE1_DRIVER define TYPE1_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, t1_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, t1_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE) endef diff --git a/src/type1/t1driver.c b/src/type1/t1driver.c index 5ded77140..5b97ad402 100644 --- a/src/type1/t1driver.c +++ b/src/type1/t1driver.c @@ -757,7 +757,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec t1_driver_class = + FT_Driver_Class t1_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/type1/t1driver.h b/src/type1/t1driver.h index 1cc3d24e7..fb9cc988e 100644 --- a/src/type1/t1driver.h +++ b/src/type1/t1driver.h @@ -25,7 +25,7 @@ FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Driver_ClassRec ) t1_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) t1_driver_class; FT_END_HEADER diff --git a/src/type42/module.mk b/src/type42/module.mk index 1cd3d4eaa..cd48922f8 100644 --- a/src/type42/module.mk +++ b/src/type42/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += TYPE42_DRIVER define TYPE42_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, t42_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, t42_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE) endef diff --git a/src/type42/t42drivr.c b/src/type42/t42drivr.c index 234fb16f9..28f2648f5 100644 --- a/src/type42/t42drivr.c +++ b/src/type42/t42drivr.c @@ -199,7 +199,7 @@ } - const FT_Driver_ClassRec t42_driver_class = + FT_Driver_Class t42_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/type42/t42drivr.h b/src/type42/t42drivr.h index d286da02a..59e546497 100644 --- a/src/type42/t42drivr.h +++ b/src/type42/t42drivr.h @@ -25,7 +25,7 @@ FT_BEGIN_HEADER - FT_EXPORT_VAR( const FT_Driver_ClassRec ) t42_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) t42_driver_class; FT_END_HEADER diff --git a/src/type42/t42objs.c b/src/type42/t42objs.c index d20917aea..879e165a5 100644 --- a/src/type42/t42objs.c +++ b/src/type42/t42objs.c @@ -485,7 +485,7 @@ return FT_THROW( Missing_Module ); } - driver->ttclazz = (FT_Driver_Class)ttmodule->clazz; + driver->ttclazz = (FT_Driver_Class*)ttmodule->clazz; return FT_Err_Ok; } @@ -651,11 +651,11 @@ FT_UInt glyph_index, FT_Int32 load_flags ) { - FT_Error error; - T42_GlyphSlot t42slot = (T42_GlyphSlot)glyph; - T42_Size t42size = (T42_Size)size; - T42_Face t42face = (T42_Face)size->face; - FT_Driver_Class ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz; + FT_Error error; + T42_GlyphSlot t42slot = (T42_GlyphSlot)glyph; + T42_Size t42size = (T42_Size)size; + T42_Face t42face = (T42_Face)size->face; + FT_Driver_Class* ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz; FT_TRACE1(( "T42_GlyphSlot_Load: glyph index %u\n", glyph_index )); diff --git a/src/type42/t42objs.h b/src/type42/t42objs.h index 69a0fcd2f..14f0fd35e 100644 --- a/src/type42/t42objs.h +++ b/src/type42/t42objs.h @@ -53,8 +53,8 @@ FT_BEGIN_HEADER /* Type 42 driver */ typedef struct T42_DriverRec_ { - FT_DriverRec root; - FT_Driver_Class ttclazz; + FT_DriverRec root; + FT_Driver_Class* ttclazz; } T42_DriverRec, *T42_Driver; diff --git a/src/winfonts/module.mk b/src/winfonts/module.mk index 2d6f64a0a..0591f0117 100644 --- a/src/winfonts/module.mk +++ b/src/winfonts/module.mk @@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += WINDOWS_DRIVER define WINDOWS_DRIVER -$(OPEN_DRIVER) FT_Driver_ClassRec, winfnt_driver_class $(CLOSE_DRIVER) +$(OPEN_DRIVER) FT_Driver_Class, winfnt_driver_class $(CLOSE_DRIVER) $(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE) endef diff --git a/src/winfonts/winfnt.c b/src/winfonts/winfnt.c index 2653a2ecc..0a3eeb1e9 100644 --- a/src/winfonts/winfnt.c +++ b/src/winfonts/winfnt.c @@ -689,7 +689,8 @@ } - static const FT_CMap_ClassRec fnt_cmap_class_rec = + static + FT_CMap_ClassRec fnt_cmap_class = { sizeof ( FNT_CMapRec ), @@ -701,8 +702,6 @@ NULL, NULL, NULL, NULL, NULL }; - static FT_CMap_Class const fnt_cmap_class = &fnt_cmap_class_rec; - static void FNT_Face_Done( FT_Face fntface ) /* FNT_Face */ @@ -871,7 +870,7 @@ /* charmap.encoding_id = TT_MAC_ID_ROMAN; */ } - error = FT_CMap_New( fnt_cmap_class, + error = FT_CMap_New( &fnt_cmap_class, NULL, &charmap, NULL ); @@ -1176,7 +1175,7 @@ FT_CALLBACK_TABLE_DEF - const FT_Driver_ClassRec winfnt_driver_class = + FT_Driver_Class winfnt_driver_class = { { FT_MODULE_FONT_DRIVER | diff --git a/src/winfonts/winfnt.h b/src/winfonts/winfnt.h index 56706450f..0851100e4 100644 --- a/src/winfonts/winfnt.h +++ b/src/winfonts/winfnt.h @@ -152,7 +152,7 @@ FT_BEGIN_HEADER } FNT_FaceRec, *FNT_Face; - FT_EXPORT_VAR( const FT_Driver_ClassRec ) winfnt_driver_class; + FT_EXPORT_VAR( FT_Driver_Class ) winfnt_driver_class; FT_END_HEADER