diff options
Diffstat (limited to 'nx-X11/extras/freetype2/src/autofit/afmodule.c')
-rw-r--r-- | nx-X11/extras/freetype2/src/autofit/afmodule.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nx-X11/extras/freetype2/src/autofit/afmodule.c b/nx-X11/extras/freetype2/src/autofit/afmodule.c new file mode 100644 index 000000000..e22ffffc6 --- /dev/null +++ b/nx-X11/extras/freetype2/src/autofit/afmodule.c @@ -0,0 +1,70 @@ +#include "afmodule.h" +#include "afloader.h" +#include FT_INTERNAL_OBJECTS_H + + typedef struct FT_AutofitterRec_ + { + FT_ModuleRec root; + AF_LoaderRec loader[1]; + + } FT_AutofitterRec, *FT_Autofitter; + + + FT_CALLBACK_DEF( FT_Error ) + af_autofitter_init( FT_Autofitter module ) + { + return af_loader_init( module->loader, module->root.library->memory ); + } + + + FT_CALLBACK_DEF( void ) + af_autofitter_done( FT_Autofitter module ) + { + af_loader_done( module->loader ); + } + + + FT_CALLBACK_DEF( FT_Error ) + af_autofitter_load_glyph( FT_Autofitter module, + FT_GlyphSlot slot, + FT_Size size, + FT_UInt glyph_index, + FT_Int32 load_flags ) + { + FT_UNUSED( size ); + + return af_loader_load_glyph( module->loader, slot->face, + glyph_index, load_flags ); + } + + + + FT_CALLBACK_TABLE_DEF + const FT_AutoHinter_ServiceRec af_autofitter_service = + { + NULL, + NULL, + NULL, + (FT_AutoHinter_GlyphLoadFunc) af_autofitter_load_glyph + }; + + + FT_CALLBACK_TABLE_DEF + const FT_Module_Class autofit_module_class = + { + FT_MODULE_HINTER, + sizeof ( FT_AutofitterRec ), + + "autofitter", + 0x10000L, /* version 1.0 of the autofitter */ + 0x20000L, /* requires FreeType 2.0 or above */ + + (const void*) &af_autofitter_service, + + (FT_Module_Constructor) af_autofitter_init, + (FT_Module_Destructor) af_autofitter_done, + (FT_Module_Requester) 0 + }; + + +/* END */ |