diff --git a/src/gf/gfdrivr.c b/src/gf/gfdrivr.c index 08bc887cd..e9700da81 100644 --- a/src/gf/gfdrivr.c +++ b/src/gf/gfdrivr.c @@ -21,6 +21,8 @@ #include FT_INTERNAL_STREAM_H #include FT_INTERNAL_OBJECTS_H #include FT_TRUETYPE_IDS_H + +#include FT_SERVICE_GF_H #include FT_SERVICE_FONT_FORMAT_H #include "gf.h" @@ -429,6 +431,28 @@ return error; } + /* + * + * SERVICES LIST + * + */ + + static const FT_ServiceDescRec gf_services[] = + { + { FT_SERVICE_ID_GF, NULL }, + { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_GF }, + { NULL, NULL } + }; + + FT_CALLBACK_DEF( FT_Module_Interface ) + gf_driver_requester( FT_Module module, + const char* name ) + { + FT_UNUSED( module ); + + return ft_service_list_lookup( gf_services, name ); + } + FT_CALLBACK_TABLE_DEF const FT_Driver_ClassRec gf_driver_class = @@ -446,7 +470,7 @@ NULL, /* FT_Module_Constructor module_init */ NULL, /* FT_Module_Destructor module_done */ - NULL /* FT_Module_Requester get_interface */ + gf_driver_requester /* FT_Module_Requester get_interface */ }, sizeof ( GF_FaceRec ),