Formatting PIC related sources.

* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
* src/base/basepic.c: Ditto.
* src/base/ftpic.c: Ditto.
* src/cff/cffpic.c: Ditto.
* src/pshinter/pshpic.c: Ditto.
* src/psnames/pspic.c: Ditto.
* src/raster/rastpic.c: Ditto.
* src/sfnt/sfntpic.c: Ditto.
* src/smooth/ftspic.c: Ditto.
* src/truetype/ttpic.c: Ditto.
This commit is contained in:
suzuki toshiya 2012-01-16 21:13:05 +09:00
parent 8a5cea2616
commit c24f77ac76
11 changed files with 325 additions and 161 deletions

View File

@ -1,3 +1,18 @@
2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Formatting PIC related sources.
* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
* src/base/basepic.c: Ditto.
* src/base/ftpic.c: Ditto.
* src/cff/cffpic.c: Ditto.
* src/pshinter/pshpic.c: Ditto.
* src/psnames/pspic.c: Ditto.
* src/raster/rastpic.c: Ditto.
* src/sfnt/sfntpic.c: Ditto.
* src/smooth/ftspic.c: Ditto.
* src/truetype/ttpic.c: Ditto.
2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
[autofit] Fix the inclusion of "aflatin2.h" in PIC file.

View File

@ -25,8 +25,9 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from afmodule.c */
void FT_Init_Class_af_autofitter_service( FT_Library,
FT_AutoHinter_ServiceRec* );
void FT_Init_Class_af_autofitter_service(
FT_Library library,
FT_AutoHinter_ServiceRec* clazz );
/* forward declaration of PIC init functions from script classes */
#include "aflatin.h"

View File

@ -24,18 +24,21 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from ftglyph.c */
void FT_Init_Class_ft_outline_glyph_class(FT_Glyph_Class*);
void FT_Init_Class_ft_bitmap_glyph_class(FT_Glyph_Class*);
void FT_Init_Class_ft_outline_glyph_class( FT_Glyph_Class* clazz );
void FT_Init_Class_ft_bitmap_glyph_class( FT_Glyph_Class* clazz );
/* forward declaration of PIC init functions from ftinit.c */
FT_Error ft_create_default_module_classes(FT_Library);
void ft_destroy_default_module_classes(FT_Library);
FT_Error
ft_create_default_module_classes( FT_Library library );
void
ft_base_pic_free( FT_Library library )
ft_destroy_default_module_classes( FT_Library library );
void
ft_base_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->base )
{
/* Destroy default module classes (in case FT_Add_Default_Modules was used) */
@ -48,17 +51,17 @@
FT_Error
ft_base_pic_init( FT_Library library )
ft_base_pic_init( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = FT_Err_Ok;
BasePIC* container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = FT_Err_Ok;
BasePIC* container;
FT_Memory memory = library->memory;
/* allocate pointer, clear and set global container pointer */
if ( FT_ALLOC ( container, sizeof ( *container ) ) )
return error;
FT_MEM_SET( container, 0, sizeof(*container) );
FT_MEM_SET( container, 0, sizeof ( *container ) );
pic_container->base = container;
/* initialize default modules list and pointers */
@ -67,12 +70,14 @@
goto Exit;
/* initialize pointer table - this is how the module usually expects this data */
FT_Init_Class_ft_outline_glyph_class(&container->ft_outline_glyph_class);
FT_Init_Class_ft_bitmap_glyph_class(&container->ft_bitmap_glyph_class);
FT_Init_Class_ft_outline_glyph_class(
&container->ft_outline_glyph_class );
FT_Init_Class_ft_bitmap_glyph_class(
&container->ft_bitmap_glyph_class );
Exit:
if(error)
ft_base_pic_free(library);
if( error )
ft_base_pic_free( library );
return error;
}

View File

@ -26,15 +26,15 @@
/* documentation is in ftpic.h */
FT_BASE_DEF( FT_Error )
ft_pic_container_init( FT_Library library )
ft_pic_container_init( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = FT_Err_Ok;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = FT_Err_Ok;
FT_MEM_SET( pic_container, 0, sizeof(*pic_container) );
FT_MEM_SET( pic_container, 0, sizeof ( *pic_container ) );
error = ft_base_pic_init( library );
if(error)
if ( error )
return error;
return FT_Err_Ok;
@ -43,7 +43,7 @@
/* Destroy the contents of the container. */
FT_BASE_DEF( void )
ft_pic_container_destroy( FT_Library library )
ft_pic_container_destroy( FT_Library library )
{
ft_base_pic_free( library );
}

View File

@ -26,31 +26,71 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from cffdrivr.c */
FT_Error FT_Create_Class_cff_services( FT_Library, FT_ServiceDescRec**);
void FT_Destroy_Class_cff_services( FT_Library, FT_ServiceDescRec*);
void FT_Init_Class_cff_service_ps_info( FT_Library, FT_Service_PsInfoRec*);
void FT_Init_Class_cff_service_glyph_dict( FT_Library, FT_Service_GlyphDictRec*);
void FT_Init_Class_cff_service_ps_name( FT_Library, FT_Service_PsFontNameRec*);
void FT_Init_Class_cff_service_get_cmap_info( FT_Library, FT_Service_TTCMapsRec*);
void FT_Init_Class_cff_service_cid_info( FT_Library, FT_Service_CIDRec*);
/* forward declaration of PIC init functions from cffparse.c */
FT_Error FT_Create_Class_cff_field_handlers( FT_Library, CFF_Field_Handler**);
void FT_Destroy_Class_cff_field_handlers( FT_Library, CFF_Field_Handler*);
FT_Error
FT_Create_Class_cff_services(
FT_Library library,
FT_ServiceDescRec** output_class );
void
cff_driver_class_pic_free( FT_Library library )
FT_Destroy_Class_cff_services(
FT_Library library,
FT_ServiceDescRec* clazz );
void
FT_Init_Class_cff_service_ps_info(
FT_Library library,
FT_Service_PsInfoRec* clazz );
void
FT_Init_Class_cff_service_glyph_dict(
FT_Library library,
FT_Service_GlyphDictRec* clazz );
void
FT_Init_Class_cff_service_ps_name(
FT_Library library,
FT_Service_PsFontNameRec* clazz );
void
FT_Init_Class_cff_service_get_cmap_info(
FT_Library library,
FT_Service_TTCMapsRec* clazz );
void
FT_Init_Class_cff_service_cid_info(
FT_Library library,
FT_Service_CIDRec* clazz );
/* forward declaration of PIC init functions from cffparse.c */
FT_Error
FT_Create_Class_cff_field_handlers(
FT_Library library,
CFF_Field_Handler** output_class );
void
FT_Destroy_Class_cff_field_handlers(
FT_Library library,
CFF_Field_Handler* clazz );
void
cff_driver_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->cff )
{
CffModulePIC* container = (CffModulePIC*)pic_container->cff;
if(container->cff_services)
FT_Destroy_Class_cff_services(library, container->cff_services);
CffModulePIC* container = ( CffModulePIC* )pic_container->cff;
if ( container->cff_services )
FT_Destroy_Class_cff_services( library,
container->cff_services );
container->cff_services = NULL;
if(container->cff_field_handlers)
FT_Destroy_Class_cff_field_handlers(library, container->cff_field_handlers);
if ( container->cff_field_handlers )
FT_Destroy_Class_cff_field_handlers(
library, container->cff_field_handlers );
container->cff_field_handlers = NULL;
FT_FREE( container );
pic_container->cff = NULL;
@ -74,22 +114,31 @@
pic_container->cff = container;
/* initialize pointer table - this is how the module usually expects this data */
error = FT_Create_Class_cff_services(library, &container->cff_services);
if(error)
error = FT_Create_Class_cff_services( library,
&container->cff_services );
if ( error )
goto Exit;
error = FT_Create_Class_cff_field_handlers(library, &container->cff_field_handlers);
if(error)
error = FT_Create_Class_cff_field_handlers(
library, &container->cff_field_handlers );
if ( error )
goto Exit;
FT_Init_Class_cff_service_ps_info(library, &container->cff_service_ps_info);
FT_Init_Class_cff_service_glyph_dict(library, &container->cff_service_glyph_dict);
FT_Init_Class_cff_service_ps_name(library, &container->cff_service_ps_name);
FT_Init_Class_cff_service_get_cmap_info(library, &container->cff_service_get_cmap_info);
FT_Init_Class_cff_service_cid_info(library, &container->cff_service_cid_info);
FT_Init_Class_cff_cmap_encoding_class_rec(library, &container->cff_cmap_encoding_class_rec);
FT_Init_Class_cff_cmap_unicode_class_rec(library, &container->cff_cmap_unicode_class_rec);
FT_Init_Class_cff_service_ps_info(
library, &container->cff_service_ps_info );
FT_Init_Class_cff_service_glyph_dict(
library, &container->cff_service_glyph_dict );
FT_Init_Class_cff_service_ps_name(
library, &container->cff_service_ps_name );
FT_Init_Class_cff_service_get_cmap_info(
library, &container->cff_service_get_cmap_info );
FT_Init_Class_cff_service_cid_info(
library, &container->cff_service_cid_info );
FT_Init_Class_cff_cmap_encoding_class_rec(
library, &container->cff_cmap_encoding_class_rec );
FT_Init_Class_cff_cmap_unicode_class_rec(
library, &container->cff_cmap_unicode_class_rec );
Exit:
if(error)
cff_driver_class_pic_free(library);
if ( error )
cff_driver_class_pic_free( library );
return error;
}

View File

@ -25,13 +25,17 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from pshmod.c */
void FT_Init_Class_pshinter_interface( FT_Library, PSHinter_Interface*);
void
FT_Init_Class_pshinter_interface( FT_Library library,
PSHinter_Interface* clazz );
void
pshinter_module_class_pic_free( FT_Library library )
pshinter_module_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->pshinter )
{
FT_FREE( pic_container->pshinter );
@ -56,11 +60,12 @@
pic_container->pshinter = container;
/* add call to initialization function when you add new scripts */
FT_Init_Class_pshinter_interface(library, &container->pshinter_interface);
FT_Init_Class_pshinter_interface(
library, &container->pshinter_interface );
/*Exit:*/
if(error)
pshinter_module_class_pic_free(library);
if( error )
pshinter_module_class_pic_free( library );
return error;
}

View File

@ -25,20 +25,32 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from psmodule.c */
FT_Error FT_Create_Class_pscmaps_services( FT_Library, FT_ServiceDescRec**);
void FT_Destroy_Class_pscmaps_services( FT_Library, FT_ServiceDescRec*);
void FT_Init_Class_pscmaps_interface( FT_Library, FT_Service_PsCMapsRec*);
FT_Error
FT_Create_Class_pscmaps_services( FT_Library library,
FT_ServiceDescRec** output_class );
void
FT_Destroy_Class_pscmaps_services( FT_Library library,
FT_ServiceDescRec* clazz );
void
psnames_module_class_pic_free( FT_Library library )
FT_Init_Class_pscmaps_interface( FT_Library library,
FT_Service_PsCMapsRec* clazz );
void
psnames_module_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->psnames )
{
PSModulePIC* container = (PSModulePIC*)pic_container->psnames;
PSModulePIC* container = (PSModulePIC*)pic_container->psnames;
if(container->pscmaps_services)
FT_Destroy_Class_pscmaps_services(library, container->pscmaps_services);
FT_Destroy_Class_pscmaps_services( library,
container->pscmaps_services );
container->pscmaps_services = NULL;
FT_FREE( container );
pic_container->psnames = NULL;
@ -58,18 +70,20 @@
/* allocate pointer, clear and set global container pointer */
if ( FT_ALLOC ( container, sizeof ( *container ) ) )
return error;
FT_MEM_SET( container, 0, sizeof(*container) );
FT_MEM_SET( container, 0, sizeof ( *container ) );
pic_container->psnames = container;
/* initialize pointer table - this is how the module usually expects this data */
error = FT_Create_Class_pscmaps_services(library, &container->pscmaps_services);
if(error)
error = FT_Create_Class_pscmaps_services(
library, &container->pscmaps_services );
if ( error )
goto Exit;
FT_Init_Class_pscmaps_interface(library, &container->pscmaps_interface);
FT_Init_Class_pscmaps_interface( library,
&container->pscmaps_interface );
Exit:
if(error)
psnames_module_class_pic_free(library);
if ( error )
psnames_module_class_pic_free( library );
return error;
}

View File

@ -25,17 +25,20 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from ftraster.c */
void FT_Init_Class_ft_standard_raster(FT_Raster_Funcs*);
void
FT_Init_Class_ft_standard_raster( FT_Raster_Funcs* funcs );
void
ft_raster1_renderer_class_pic_free( FT_Library library )
ft_raster1_renderer_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->raster )
{
RasterPIC* container = (RasterPIC*)pic_container->raster;
if(--container->ref_count)
if ( --container->ref_count )
return;
FT_FREE( container );
pic_container->raster = NULL;
@ -44,7 +47,7 @@
FT_Error
ft_raster1_renderer_class_pic_init( FT_Library library )
ft_raster1_renderer_class_pic_init( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = Raster_Err_Ok;
@ -61,28 +64,31 @@
}
/* allocate pointer, clear and set global container pointer */
if ( FT_ALLOC ( container, sizeof ( *container ) ) )
if ( FT_ALLOC( container, sizeof ( *container ) ) )
return error;
FT_MEM_SET( container, 0, sizeof(*container) );
FT_MEM_SET( container, 0, sizeof ( *container ) );
pic_container->raster = container;
container->ref_count = 1;
/* initialize pointer table - this is how the module usually expects this data */
FT_Init_Class_ft_standard_raster(&container->ft_standard_raster);
FT_Init_Class_ft_standard_raster( &container->ft_standard_raster );
/*Exit:*/
if(error)
ft_raster1_renderer_class_pic_free(library);
if( error )
ft_raster1_renderer_class_pic_free( library );
return error;
}
/* re-route these init and free functions to the above functions */
FT_Error ft_raster5_renderer_class_pic_init(FT_Library library)
FT_Error
ft_raster5_renderer_class_pic_init( FT_Library library )
{
return ft_raster1_renderer_class_pic_init(library);
return ft_raster1_renderer_class_pic_init( library );
}
void ft_raster5_renderer_class_pic_free(FT_Library library)
void
ft_raster5_renderer_class_pic_free( FT_Library library )
{
ft_raster1_renderer_class_pic_free(library);
ft_raster1_renderer_class_pic_free( library );
}
#endif /* FT_CONFIG_OPTION_PIC */

View File

@ -25,32 +25,68 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from sfdriver.c */
FT_Error FT_Create_Class_sfnt_services( FT_Library, FT_ServiceDescRec**);
void FT_Destroy_Class_sfnt_services( FT_Library, FT_ServiceDescRec*);
void FT_Init_Class_sfnt_service_bdf( FT_Service_BDFRec*);
void FT_Init_Class_sfnt_interface( FT_Library, SFNT_Interface*);
void FT_Init_Class_sfnt_service_glyph_dict( FT_Library, FT_Service_GlyphDictRec*);
void FT_Init_Class_sfnt_service_ps_name( FT_Library, FT_Service_PsFontNameRec*);
void FT_Init_Class_tt_service_get_cmap_info( FT_Library, FT_Service_TTCMapsRec*);
void FT_Init_Class_sfnt_service_sfnt_table( FT_Service_SFNT_TableRec*);
/* forward declaration of PIC init functions from ttcmap.c */
FT_Error FT_Create_Class_tt_cmap_classes( FT_Library, TT_CMap_Class**);
void FT_Destroy_Class_tt_cmap_classes( FT_Library, TT_CMap_Class*);
FT_Error
FT_Create_Class_sfnt_services( FT_Library library,
FT_ServiceDescRec** ouput_class );
void
sfnt_module_class_pic_free( FT_Library library )
FT_Destroy_Class_sfnt_services( FT_Library library,
FT_ServiceDescRec* clazz );
void
FT_Init_Class_sfnt_service_bdf( FT_Service_BDFRec* clazz );
void
FT_Init_Class_sfnt_interface( FT_Library library,
SFNT_Interface* clazz );
void
FT_Init_Class_sfnt_service_glyph_dict(
FT_Library library,
FT_Service_GlyphDictRec* clazz );
void
FT_Init_Class_sfnt_service_ps_name(
FT_Library library,
FT_Service_PsFontNameRec* clazz );
void
FT_Init_Class_tt_service_get_cmap_info(
FT_Library library,
FT_Service_TTCMapsRec* clazz );
void
FT_Init_Class_sfnt_service_sfnt_table(
FT_Service_SFNT_TableRec* clazz );
/* forward declaration of PIC init functions from ttcmap.c */
FT_Error
FT_Create_Class_tt_cmap_classes( FT_Library library,
TT_CMap_Class** output_class );
void
FT_Destroy_Class_tt_cmap_classes( FT_Library library,
TT_CMap_Class* clazz );
void
sfnt_module_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->sfnt )
{
sfntModulePIC* container = (sfntModulePIC*)pic_container->sfnt;
if(container->sfnt_services)
FT_Destroy_Class_sfnt_services(library, container->sfnt_services);
sfntModulePIC* container = (sfntModulePIC*)pic_container->sfnt;
if ( container->sfnt_services )
FT_Destroy_Class_sfnt_services( library,
container->sfnt_services );
container->sfnt_services = NULL;
if(container->tt_cmap_classes)
FT_Destroy_Class_tt_cmap_classes(library, container->tt_cmap_classes);
if ( container->tt_cmap_classes )
FT_Destroy_Class_tt_cmap_classes( library,
container->tt_cmap_classes );
container->tt_cmap_classes = NULL;
FT_FREE( container );
pic_container->sfnt = NULL;
@ -74,24 +110,31 @@
pic_container->sfnt = container;
/* initialize pointer table - this is how the module usually expects this data */
error = FT_Create_Class_sfnt_services(library, &container->sfnt_services);
if(error)
error = FT_Create_Class_sfnt_services( library,
&container->sfnt_services );
if ( error )
goto Exit;
error = FT_Create_Class_tt_cmap_classes(library, &container->tt_cmap_classes);
if(error)
error = FT_Create_Class_tt_cmap_classes( library,
&container->tt_cmap_classes );
if ( error )
goto Exit;
FT_Init_Class_sfnt_service_glyph_dict(library, &container->sfnt_service_glyph_dict);
FT_Init_Class_sfnt_service_ps_name(library, &container->sfnt_service_ps_name);
FT_Init_Class_tt_service_get_cmap_info(library, &container->tt_service_get_cmap_info);
FT_Init_Class_sfnt_service_sfnt_table(&container->sfnt_service_sfnt_table);
FT_Init_Class_sfnt_service_glyph_dict(
library, &container->sfnt_service_glyph_dict );
FT_Init_Class_sfnt_service_ps_name(
library, &container->sfnt_service_ps_name );
FT_Init_Class_tt_service_get_cmap_info(
library, &container->tt_service_get_cmap_info );
FT_Init_Class_sfnt_service_sfnt_table(
&container->sfnt_service_sfnt_table );
#ifdef TT_CONFIG_OPTION_BDF
FT_Init_Class_sfnt_service_bdf(&container->sfnt_service_bdf);
FT_Init_Class_sfnt_service_bdf( &container->sfnt_service_bdf );
#endif
FT_Init_Class_sfnt_interface(library, &container->sfnt_interface);
FT_Init_Class_sfnt_interface( library, &container->sfnt_interface );
Exit:
if(error)
sfnt_module_class_pic_free(library);
if ( error )
sfnt_module_class_pic_free( library );
return error;
}

View File

@ -25,17 +25,22 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from ftgrays.c */
void FT_Init_Class_ft_grays_raster(FT_Raster_Funcs*);
void
FT_Init_Class_ft_grays_raster( FT_Raster_Funcs* funcs );
void
ft_smooth_renderer_class_pic_free( FT_Library library )
ft_smooth_renderer_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->smooth )
{
SmoothPIC* container = (SmoothPIC*)pic_container->smooth;
if(--container->ref_count)
SmoothPIC* container = (SmoothPIC*)pic_container->smooth;
if ( --container->ref_count )
return;
FT_FREE( container );
pic_container->smooth = NULL;
@ -54,7 +59,7 @@
/* since this function also serve smooth_lcd and smooth_lcdv renderers,
it implements reference counting */
if(pic_container->smooth)
if ( pic_container->smooth )
{
((SmoothPIC*)pic_container->smooth)->ref_count++;
return error;
@ -63,34 +68,37 @@
/* allocate pointer, clear and set global container pointer */
if ( FT_ALLOC ( container, sizeof ( *container ) ) )
return error;
FT_MEM_SET( container, 0, sizeof(*container) );
FT_MEM_SET( container, 0, sizeof ( *container ) );
pic_container->smooth = container;
container->ref_count = 1;
/* initialize pointer table - this is how the module usually expects this data */
FT_Init_Class_ft_grays_raster(&container->ft_grays_raster);
FT_Init_Class_ft_grays_raster( &container->ft_grays_raster );
/*Exit:*/
if(error)
ft_smooth_renderer_class_pic_free(library);
if ( error )
ft_smooth_renderer_class_pic_free( library );
return error;
}
/* re-route these init and free functions to the above functions */
FT_Error ft_smooth_lcd_renderer_class_pic_init(FT_Library library)
FT_Error ft_smooth_lcd_renderer_class_pic_init( FT_Library library )
{
return ft_smooth_renderer_class_pic_init(library);
return ft_smooth_renderer_class_pic_init( library );
}
void ft_smooth_lcd_renderer_class_pic_free(FT_Library library)
void ft_smooth_lcd_renderer_class_pic_free( FT_Library library )
{
ft_smooth_renderer_class_pic_free(library);
ft_smooth_renderer_class_pic_free( library );
}
FT_Error ft_smooth_lcdv_renderer_class_pic_init(FT_Library library)
FT_Error ft_smooth_lcdv_renderer_class_pic_init( FT_Library library )
{
return ft_smooth_renderer_class_pic_init(library);
return ft_smooth_renderer_class_pic_init( library );
}
void ft_smooth_lcdv_renderer_class_pic_free(FT_Library library)
void ft_smooth_lcdv_renderer_class_pic_free( FT_Library library )
{
ft_smooth_renderer_class_pic_free(library);
ft_smooth_renderer_class_pic_free( library );
}
#endif /* FT_CONFIG_OPTION_PIC */

View File

@ -25,21 +25,36 @@
#ifdef FT_CONFIG_OPTION_PIC
/* forward declaration of PIC init functions from ttdriver.c */
FT_Error FT_Create_Class_tt_services( FT_Library, FT_ServiceDescRec**);
void FT_Destroy_Class_tt_services( FT_Library, FT_ServiceDescRec*);
void FT_Init_Class_tt_service_gx_multi_masters(FT_Service_MultiMastersRec*);
void FT_Init_Class_tt_service_truetype_glyf(FT_Service_TTGlyfRec*);
FT_Error
FT_Create_Class_tt_services( FT_Library library,
FT_ServiceDescRec** output_class );
void
tt_driver_class_pic_free( FT_Library library )
FT_Destroy_Class_tt_services( FT_Library library,
FT_ServiceDescRec* clazz );
void
FT_Init_Class_tt_service_gx_multi_masters(
FT_Service_MultiMastersRec* sv_mm );
void
FT_Init_Class_tt_service_truetype_glyf(
FT_Service_TTGlyfRec* sv_ttglyf );
void
tt_driver_class_pic_free( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
FT_PIC_Container* pic_container = &library->pic_container;
FT_Memory memory = library->memory;
if ( pic_container->truetype )
{
TTModulePIC* container = (TTModulePIC*)pic_container->truetype;
if(container->tt_services)
FT_Destroy_Class_tt_services(library, container->tt_services);
TTModulePIC* container = (TTModulePIC*)pic_container->truetype;
if ( container->tt_services )
FT_Destroy_Class_tt_services( library, container->tt_services );
container->tt_services = NULL;
FT_FREE( container );
pic_container->truetype = NULL;
@ -59,20 +74,23 @@
/* allocate pointer, clear and set global container pointer */
if ( FT_ALLOC ( container, sizeof ( *container ) ) )
return error;
FT_MEM_SET( container, 0, sizeof(*container) );
FT_MEM_SET( container, 0, sizeof ( *container ) );
pic_container->truetype = container;
/* initialize pointer table - this is how the module usually expects this data */
error = FT_Create_Class_tt_services(library, &container->tt_services);
if(error)
error = FT_Create_Class_tt_services( library,
&container->tt_services );
if ( error )
goto Exit;
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
FT_Init_Class_tt_service_gx_multi_masters(&container->tt_service_gx_multi_masters);
FT_Init_Class_tt_service_gx_multi_masters(
&container->tt_service_gx_multi_masters );
#endif
FT_Init_Class_tt_service_truetype_glyf(&container->tt_service_truetype_glyf);
FT_Init_Class_tt_service_truetype_glyf(
&container->tt_service_truetype_glyf );
Exit:
if(error)
tt_driver_class_pic_free(library);
if ( error )
tt_driver_class_pic_free( library );
return error;
}