From e08810da82b4ddd69c440127dba9963658ea84c2 Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Mon, 1 Sep 2025 17:53:13 -0400 Subject: [PATCH] Remove some declare/define macros (pt 1). These macros were relics of PIC code removed some time ago. They only hid the class initializations. We make those explicit again. * include/freetype/internal/ftobjs.h (FT_DECLARE_MODULE, FT_DEFINE_MODULE, FT_DECLARE_RENDERER, FT_DEFINE_RENDERER): Removed. * include/freetype/internal/ftdrv.h (FT_DECLARE_DRIVER, FT_DEFINE_DRIVER): Removed. * src/*: Updated all former users. --- include/freetype/internal/ftdrv.h | 89 ------------------ include/freetype/internal/ftobjs.h | 145 ----------------------------- src/autofit/afmodule.c | 7 +- src/autofit/afmodule.h | 5 +- src/cff/cffdrivr.c | 12 ++- src/cff/cffdrivr.h | 3 +- src/psaux/psauxmod.c | 8 +- src/psaux/psauxmod.h | 4 +- src/pshinter/pshmod.c | 8 +- src/pshinter/pshmod.h | 5 +- src/psnames/psmodule.c | 8 +- src/psnames/psmodule.h | 5 +- src/raster/ftrend1.c | 12 ++- src/raster/ftrend1.h | 5 +- src/sdf/ftsdfrend.c | 56 +++++------ src/sdf/ftsdfrend.h | 6 +- src/sfnt/sfdriver.c | 8 +- src/sfnt/sfdriver.h | 3 +- src/smooth/ftsmooth.c | 12 ++- src/smooth/ftsmooth.h | 5 +- src/svg/ftsvg.c | 24 ++--- src/svg/ftsvg.h | 3 +- src/truetype/ttdriver.c | 12 ++- src/truetype/ttdriver.h | 3 +- 24 files changed, 117 insertions(+), 331 deletions(-) diff --git a/include/freetype/internal/ftdrv.h b/include/freetype/internal/ftdrv.h index 1ca8d45ee..8ecb877aa 100644 --- a/include/freetype/internal/ftdrv.h +++ b/include/freetype/internal/ftdrv.h @@ -192,95 +192,6 @@ FT_BEGIN_HEADER } FT_Driver_Class, FT_Driver_ClassRec; - /************************************************************************** - * - * @macro: - * FT_DECLARE_DRIVER - * - * @description: - * Used to create a forward declaration of an FT_Driver_Class struct - * instance. - * - * @macro: - * FT_DEFINE_DRIVER - * - * @description: - * Used to initialize an instance of FT_Driver_Class 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 \ - FT_Driver_Class 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 \ - FT_Driver_Class 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_END_HEADER #endif /* FTDRV_H_ */ diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h index dbf1acce5..edca62386 100644 --- a/include/freetype/internal/ftobjs.h +++ b/include/freetype/internal/ftobjs.h @@ -1101,151 +1101,6 @@ FT_BEGIN_HEADER }; - /************************************************************************** - * - * @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( 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 \ - 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 \ - 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 \ - 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 c0ed4ad9d..87ff0c33b 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 f5a406c76..3f4d257de 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/cff/cffdrivr.c b/src/cff/cffdrivr.c index f432c9e4a..b3f0d176b 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 fd5bc37ec..be6a85441 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/psaux/psauxmod.c b/src/psaux/psauxmod.c index 6826f9d8d..56f67bd67 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 7385886b1..5a73e9f98 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/pshinter/pshmod.c b/src/pshinter/pshmod.c index 9965d5b16..0699b9198 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 62ac0a60f..574a1af78 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 35d054d1c..c1d7626a2 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 770458316..cd0ba8654 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 fd9f174f2..fdc4a34e5 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 cf3e73c0a..6b1ff9f82 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 d3324678d..69e170050 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 2ea6f8681..f3f9f683d 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 7133ff709..161e8ea75 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 6f71489fd..1d1339651 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 f0acc1ea4..92d288492 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 d7b61a9e6..33bce5613 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 35788a2d8..6d6468363 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 623c091dc..6c7c35431 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/ttdriver.c b/src/truetype/ttdriver.c index 41a21d19d..595b20cb0 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 3e1cf234f..f6bcd5ea6 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