diff options
author | Werner Lemberg <wl@gnu.org> | 2004-05-06 11:48:35 +0000 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2004-05-06 11:48:35 +0000 |
commit | 3bcad43998e3bb0c9d848756970618a8cc61edb3 (patch) | |
tree | 051164c0519294d614f55468a59a85af0ce15332 /src/cid | |
parent | 86ae11cf8714b4f25ad3187fb7a96914045cfb52 (diff) | |
download | freetype2-3bcad43998e3bb0c9d848756970618a8cc61edb3.tar.gz |
* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
* src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
are typecast to the proper BDF_XXX types within the function.
Update code accordingly.
Use FT_CALLBACK_DEF throughout.
(BDF_Set_Point_Size): New wrapper function.
(bdf_driver_class): Remove casts.
* src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
Don't use CFF_XXX but FT_XXX arguments which are typecast to the
proper CFF_XXX types within the function.
Update code accordingly.
Use FT_CALLBACK_DEF throughout.
(cff_driver_class): Remove casts.
* src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
Don't use CFF_XXX but FT_XXX arguments which are typecast to the
proper CFF_XXX types within the function.
Update code accordingly.
(cff_point_size_reset): New wrapper function.
* src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
Don't use CID_XXX but FT_XXX arguments which are typecast to the
proper CID_XXX types within the function.
Update code accordingly.
(cid_point_size_reset): New wrapper function.
* src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
Don't use CID_XXX but FT_XXX arguments which are typecast to the
proper CID_XXX types within the function.
Update code accordingly.
* src/cid/cidriver.c (cid_get_interface):
Don't use CID_XXX but FT_XXX arguments which are typecast to the
proper CID_XXX types within the function.
Update code accordingly.
Use FT_CALLBACK_DEF.
(t1cid_driver_class): Remove casts.
* src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
* src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
variables (this is done later).
(ft_var_load_avar): Fix call to FT_FRAME_ENTER.
(TT_Get_MM_Var): Fix size for `fvar_fields'.
(TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
correctly.
* src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
current size is zero.
Diffstat (limited to 'src/cid')
-rw-r--r-- | src/cid/cidgload.c | 63 | ||||
-rw-r--r-- | src/cid/cidgload.h | 10 | ||||
-rw-r--r-- | src/cid/cidobjs.c | 143 | ||||
-rw-r--r-- | src/cid/cidobjs.h | 31 | ||||
-rw-r--r-- | src/cid/cidriver.c | 41 |
5 files changed, 161 insertions, 127 deletions
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c index 3717eeb9e..cbd0865d3 100644 --- a/src/cid/cidgload.c +++ b/src/cid/cidgload.c @@ -269,14 +269,16 @@ FT_LOCAL_DEF( FT_Error ) - cid_slot_load_glyph( CID_GlyphSlot glyph, - CID_Size size, - FT_Int glyph_index, - FT_Int32 load_flags ) + cid_slot_load_glyph( FT_GlyphSlot cidglyph, /* CID_GlyphSlot */ + FT_Size cidsize, /* CID_Size */ + FT_UInt glyph_index, + FT_Int32 load_flags ) { + CID_GlyphSlot glyph = (CID_GlyphSlot)cidglyph; + CID_Size size = (CID_Size)cidsize; FT_Error error; T1_DecoderRec decoder; - CID_Face face = (CID_Face)glyph->root.face; + CID_Face face = (CID_Face)cidglyph->face; FT_Bool hinting; PSAux_Service psaux = (PSAux_Service)face->psaux; @@ -287,22 +289,22 @@ if ( load_flags & FT_LOAD_NO_RECURSE ) load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING; - glyph->x_scale = size->root.metrics.x_scale; - glyph->y_scale = size->root.metrics.y_scale; + glyph->x_scale = cidsize->metrics.x_scale; + glyph->y_scale = cidsize->metrics.y_scale; - glyph->root.outline.n_points = 0; - glyph->root.outline.n_contours = 0; + cidglyph->outline.n_points = 0; + cidglyph->outline.n_contours = 0; hinting = FT_BOOL( ( load_flags & FT_LOAD_NO_SCALE ) == 0 && ( load_flags & FT_LOAD_NO_HINTING ) == 0 ); - glyph->root.format = FT_GLYPH_FORMAT_OUTLINE; + cidglyph->format = FT_GLYPH_FORMAT_OUTLINE; { error = psaux->t1_decoder_funcs->init( &decoder, - (FT_Face)face, - (FT_Size)size, - (FT_GlyphSlot)glyph, + cidglyph->face, + cidsize, + cidglyph, 0, /* glyph names -- XXX */ 0, /* blend == 0 */ hinting, @@ -327,18 +329,18 @@ /* bearing the yMax */ if ( !error ) { - glyph->root.outline.flags &= FT_OUTLINE_OWNER; - glyph->root.outline.flags |= FT_OUTLINE_REVERSE_FILL; + cidglyph->outline.flags &= FT_OUTLINE_OWNER; + cidglyph->outline.flags |= FT_OUTLINE_REVERSE_FILL; /* for composite glyphs, return only left side bearing and */ /* advance width */ if ( load_flags & FT_LOAD_NO_RECURSE ) { - FT_Slot_Internal internal = glyph->root.internal; + FT_Slot_Internal internal = cidglyph->internal; - glyph->root.metrics.horiBearingX = decoder.builder.left_bearing.x; - glyph->root.metrics.horiAdvance = decoder.builder.advance.x; + cidglyph->metrics.horiBearingX = decoder.builder.left_bearing.x; + cidglyph->metrics.horiAdvance = decoder.builder.advance.x; internal->glyph_matrix = font_matrix; internal->glyph_delta = font_offset; @@ -347,30 +349,30 @@ else { FT_BBox cbox; - FT_Glyph_Metrics* metrics = &glyph->root.metrics; + FT_Glyph_Metrics* metrics = &cidglyph->metrics; FT_Vector advance; /* copy the _unscaled_ advance width */ - metrics->horiAdvance = decoder.builder.advance.x; - glyph->root.linearHoriAdvance = decoder.builder.advance.x; - glyph->root.internal->glyph_transformed = 0; + metrics->horiAdvance = decoder.builder.advance.x; + cidglyph->linearHoriAdvance = decoder.builder.advance.x; + cidglyph->internal->glyph_transformed = 0; /* make up vertical metrics */ metrics->vertBearingX = 0; metrics->vertBearingY = 0; metrics->vertAdvance = 0; - glyph->root.linearVertAdvance = 0; - glyph->root.format = FT_GLYPH_FORMAT_OUTLINE; + cidglyph->linearVertAdvance = 0; + cidglyph->format = FT_GLYPH_FORMAT_OUTLINE; - if ( size && size->root.metrics.y_ppem < 24 ) - glyph->root.outline.flags |= FT_OUTLINE_HIGH_PRECISION; + if ( size && cidsize->metrics.y_ppem < 24 ) + cidglyph->outline.flags |= FT_OUTLINE_HIGH_PRECISION; /* apply the font matrix */ - FT_Outline_Transform( &glyph->root.outline, &font_matrix ); + FT_Outline_Transform( &cidglyph->outline, &font_matrix ); - FT_Outline_Translate( &glyph->root.outline, + FT_Outline_Translate( &cidglyph->outline, font_offset.x, font_offset.y ); @@ -401,7 +403,7 @@ vec->y = FT_MulFix( vec->y, y_scale ); } - FT_Outline_Get_CBox( &glyph->root.outline, &cbox ); + FT_Outline_Get_CBox( &cidglyph->outline, &cbox ); /* Then scale the metrics */ metrics->horiAdvance = FT_MulFix( metrics->horiAdvance, x_scale ); @@ -421,7 +423,7 @@ } /* compute the other metrics */ - FT_Outline_Get_CBox( &glyph->root.outline, &cbox ); + FT_Outline_Get_CBox( &cidglyph->outline, &cbox ); /* grid fit the bounding box if necessary */ if ( hinting ) @@ -439,6 +441,7 @@ metrics->horiBearingY = cbox.yMax; } } + return error; } diff --git a/src/cid/cidgload.h b/src/cid/cidgload.h index 93858e865..a0a91bfea 100644 --- a/src/cid/cidgload.h +++ b/src/cid/cidgload.h @@ -4,7 +4,7 @@ /* */ /* OpenType Glyph Loader (specification). */ /* */ -/* Copyright 1996-2001, 2002 by */ +/* Copyright 1996-2001, 2002, 2004 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -37,10 +37,10 @@ FT_BEGIN_HEADER #endif /* 0 */ FT_LOCAL( FT_Error ) - cid_slot_load_glyph( CID_GlyphSlot glyph, - CID_Size size, - FT_Int glyph_index, - FT_Int32 load_flags ); + cid_slot_load_glyph( FT_GlyphSlot glyph, /* CID_Glyph_Slot */ + FT_Size size, /* CID_Size */ + FT_UInt glyph_index, + FT_Int32 load_flags ); FT_END_HEADER diff --git a/src/cid/cidobjs.c b/src/cid/cidobjs.c index 356d01805..691ec1749 100644 --- a/src/cid/cidobjs.c +++ b/src/cid/cidobjs.c @@ -47,20 +47,20 @@ /*************************************************************************/ FT_LOCAL_DEF( void ) - cid_slot_done( CID_GlyphSlot slot ) + cid_slot_done( FT_GlyphSlot slot ) { - slot->root.internal->glyph_hints = 0; + slot->internal->glyph_hints = 0; } FT_LOCAL_DEF( FT_Error ) - cid_slot_init( CID_GlyphSlot slot ) + cid_slot_init( FT_GlyphSlot slot ) { CID_Face face; PSHinter_Service pshinter; - face = (CID_Face)slot->root.face; + face = (CID_Face)slot->face; pshinter = (PSHinter_Service)face->pshinter; if ( pshinter ) @@ -68,7 +68,7 @@ FT_Module module; - module = FT_Get_Module( slot->root.face->driver->root.library, + module = FT_Get_Module( slot->face->driver->root.library, "pshinter" ); if ( module ) { @@ -76,7 +76,7 @@ funcs = pshinter->get_t1_funcs( module ); - slot->root.internal->glyph_hints = (void*)funcs; + slot->internal->glyph_hints = (void*)funcs; } } @@ -108,25 +108,29 @@ FT_LOCAL_DEF( void ) - cid_size_done( CID_Size size ) + cid_size_done( FT_Size cidsize ) /* CID_Size */ { - if ( size->root.internal ) + CID_Size size = (CID_Size)cidsize; + + + if ( cidsize->internal ) { PSH_Globals_Funcs funcs; funcs = cid_size_get_globals_funcs( size ); if ( funcs ) - funcs->destroy( (PSH_Globals)size->root.internal ); + funcs->destroy( (PSH_Globals)cidsize->internal ); - size->root.internal = 0; + cidsize->internal = 0; } } FT_LOCAL_DEF( FT_Error ) - cid_size_init( CID_Size size ) + cid_size_init( FT_Size cidsize ) /* CID_Size */ { + CID_Size size = (CID_Size)cidsize; FT_Error error = 0; PSH_Globals_Funcs funcs = cid_size_get_globals_funcs( size ); @@ -134,14 +138,14 @@ if ( funcs ) { PSH_Globals globals; - CID_Face face = (CID_Face)size->root.face; + CID_Face face = (CID_Face)cidsize->face; CID_FaceDict dict = face->cid.font_dicts + face->root.face_index; PS_Private priv = &dict->private_dict; - error = funcs->create( size->root.face->memory, priv, &globals ); + error = funcs->create( cidsize->face->memory, priv, &globals ); if ( !error ) - size->root.internal = (FT_Size_Internal)(void*)globals; + cidsize->internal = (FT_Size_Internal)(void*)globals; } return error; @@ -149,21 +153,43 @@ FT_LOCAL_DEF( FT_Error ) - cid_size_reset( CID_Size size ) + cid_size_reset( FT_Size cidsize, /* CID_Size */ + FT_UInt char_width, + FT_UInt char_height ) { + CID_Size size = (CID_Size)cidsize; PSH_Globals_Funcs funcs = cid_size_get_globals_funcs( size ); FT_Error error = 0; + FT_UNUSED( char_width ); + FT_UNUSED( char_height ); + if ( funcs ) - error = funcs->set_scale( (PSH_Globals)size->root.internal, - size->root.metrics.x_scale, - size->root.metrics.y_scale, + error = funcs->set_scale( (PSH_Globals)cidsize->internal, + cidsize->metrics.x_scale, + cidsize->metrics.y_scale, 0, 0 ); return error; } + FT_LOCAL_DEF( FT_Error ) + cid_point_size_reset( FT_Size size, + FT_F26Dot6 char_width, + FT_F26Dot6 char_height, + FT_UInt horz_resolution, + FT_UInt vert_resolution ) + { + FT_UNUSED( char_width ); + FT_UNUSED( char_height ); + FT_UNUSED( horz_resolution ); + FT_UNUSED( vert_resolution ); + + return cid_size_reset( size, 0, 0 ); + } + + /*************************************************************************/ /* */ /* FACE FUNCTIONS */ @@ -182,8 +208,9 @@ /* face :: A pointer to the face object to destroy. */ /* */ FT_LOCAL_DEF( void ) - cid_face_done( CID_Face face ) + cid_face_done( FT_Face cidface ) /* CID_Face */ { + CID_Face face = (CID_Face)cidface; FT_Memory memory; @@ -193,7 +220,7 @@ PS_FontInfo info = &cid->font_info; - memory = face->root.memory; + memory = cidface->memory; /* release subrs */ if ( face->subrs ) @@ -232,8 +259,8 @@ FT_FREE( cid->registry ); FT_FREE( cid->ordering ); - face->root.family_name = 0; - face->root.style_name = 0; + cidface->family_name = 0; + cidface->style_name = 0; FT_FREE( face->binary_data ); FT_FREE( face->cid_stream ); @@ -266,11 +293,12 @@ /* */ FT_LOCAL_DEF( FT_Error ) cid_face_init( FT_Stream stream, - CID_Face face, + FT_Face cidface, /* CID_Face */ FT_Int face_index, FT_Int num_params, FT_Parameter* params ) { + CID_Face face = (CID_Face)cidface; FT_Error error; FT_Service_PsCMaps psnames; PSAux_Service psaux; @@ -281,7 +309,7 @@ FT_UNUSED( stream ); - face->root.num_faces = 1; + cidface->num_faces = 1; FT_FACE_FIND_GLOBAL_SERVICE( face, psnames, POSTSCRIPT_CMAPS ); @@ -329,33 +357,32 @@ /* set up root face fields */ { - FT_Face root = (FT_Face)&face->root; CID_FaceInfo cid = &face->cid; PS_FontInfo info = &cid->font_info; - root->num_glyphs = cid->cid_count; - root->num_charmaps = 0; + cidface->num_glyphs = cid->cid_count; + cidface->num_charmaps = 0; - root->face_index = face_index; - root->face_flags = FT_FACE_FLAG_SCALABLE; + cidface->face_index = face_index; + cidface->face_flags = FT_FACE_FLAG_SCALABLE; - root->face_flags |= FT_FACE_FLAG_HORIZONTAL; + cidface->face_flags |= FT_FACE_FLAG_HORIZONTAL; if ( info->is_fixed_pitch ) - root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH; + cidface->face_flags |= FT_FACE_FLAG_FIXED_WIDTH; /* XXX: TODO: add kerning with .afm support */ /* get style name -- be careful, some broken fonts only */ /* have a /FontName dictionary entry! */ - root->family_name = info->family_name; + cidface->family_name = info->family_name; /* assume "Regular" style if we don't know better */ - root->style_name = (char *)"Regular"; - if ( root->family_name ) + cidface->style_name = (char *)"Regular"; + if ( cidface->family_name ) { char* full = info->full_name; - char* family = root->family_name; + char* family = cidface->family_name; if ( full ) @@ -376,7 +403,7 @@ else { if ( !*family ) - root->style_name = full; + cidface->style_name = full; break; } } @@ -387,42 +414,42 @@ { /* do we have a `/FontName'? */ if ( cid->cid_font_name ) - root->family_name = cid->cid_font_name; + cidface->family_name = cid->cid_font_name; } /* compute style flags */ - root->style_flags = 0; + cidface->style_flags = 0; if ( info->italic_angle ) - root->style_flags |= FT_STYLE_FLAG_ITALIC; + cidface->style_flags |= FT_STYLE_FLAG_ITALIC; if ( info->weight ) { if ( !ft_strcmp( info->weight, "Bold" ) || !ft_strcmp( info->weight, "Black" ) ) - root->style_flags |= FT_STYLE_FLAG_BOLD; + cidface->style_flags |= FT_STYLE_FLAG_BOLD; } /* no embedded bitmap support */ - root->num_fixed_sizes = 0; - root->available_sizes = 0; + cidface->num_fixed_sizes = 0; + cidface->available_sizes = 0; - root->bbox.xMin = cid->font_bbox.xMin >> 16; - root->bbox.yMin = cid->font_bbox.yMin >> 16; - root->bbox.xMax = ( cid->font_bbox.xMax + 0xFFFFU ) >> 16; - root->bbox.yMax = ( cid->font_bbox.yMax + 0xFFFFU ) >> 16; + cidface->bbox.xMin = cid->font_bbox.xMin >> 16; + cidface->bbox.yMin = cid->font_bbox.yMin >> 16; + cidface->bbox.xMax = ( cid->font_bbox.xMax + 0xFFFFU ) >> 16; + cidface->bbox.yMax = ( cid->font_bbox.yMax + 0xFFFFU ) >> 16; - if ( !root->units_per_EM ) - root->units_per_EM = 1000; + if ( !cidface->units_per_EM ) + cidface->units_per_EM = 1000; - root->ascender = (FT_Short)( root->bbox.yMax ); - root->descender = (FT_Short)( root->bbox.yMin ); - root->height = (FT_Short)( - ( ( root->ascender - root->descender ) * 12 ) / 10 ); + cidface->ascender = (FT_Short)( cidface->bbox.yMax ); + cidface->descender = (FT_Short)( cidface->bbox.yMin ); + cidface->height = (FT_Short)( + ( ( cidface->ascender - cidface->descender ) * 12 ) / 10 ); - root->underline_position = (FT_Short)info->underline_position; - root->underline_thickness = (FT_Short)info->underline_thickness; + cidface->underline_position = (FT_Short)info->underline_position; + cidface->underline_thickness = (FT_Short)info->underline_thickness; - root->internal->max_points = 0; - root->internal->max_contours = 0; + cidface->internal->max_points = 0; + cidface->internal->max_contours = 0; } Exit: @@ -445,7 +472,7 @@ /* FreeType error code. 0 means success. */ /* */ FT_LOCAL_DEF( FT_Error ) - cid_driver_init( CID_Driver driver ) + cid_driver_init( FT_Module driver ) { FT_UNUSED( driver ); @@ -465,7 +492,7 @@ /* driver :: A handle to the target CID driver. */ /* */ FT_LOCAL_DEF( void ) - cid_driver_done( CID_Driver driver ) + cid_driver_done( FT_Module driver ) { FT_UNUSED( driver ); } diff --git a/src/cid/cidobjs.h b/src/cid/cidobjs.h index 2d72d73e2..9d230baf8 100644 --- a/src/cid/cidobjs.h +++ b/src/cid/cidobjs.h @@ -4,7 +4,7 @@ /* */ /* CID objects manager (specification). */ /* */ -/* Copyright 1996-2001, 2002 by */ +/* Copyright 1996-2001, 2002, 2004 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -112,42 +112,47 @@ FT_BEGIN_HEADER FT_LOCAL( void ) - cid_slot_done( CID_GlyphSlot slot ); + cid_slot_done( FT_GlyphSlot slot ); FT_LOCAL( FT_Error ) - cid_slot_init( CID_GlyphSlot slot ); + cid_slot_init( FT_GlyphSlot slot ); FT_LOCAL( void ) - cid_size_done( CID_Size size ); - + cid_size_done( FT_Size size ); /* CID_Size */ FT_LOCAL( FT_Error ) - cid_size_init( CID_Size size ); + cid_size_init( FT_Size size ); /* CID_Size */ + FT_LOCAL( FT_Error ) + cid_size_reset( FT_Size size, /* CID_Size */ + FT_UInt char_width, + FT_UInt char_height ); FT_LOCAL( FT_Error ) - cid_size_reset( CID_Size size ); + cid_point_size_reset( FT_Size size, + FT_F26Dot6 char_width, + FT_F26Dot6 char_height, + FT_UInt horz_resolution, + FT_UInt vert_resolution ); FT_LOCAL( FT_Error ) cid_face_init( FT_Stream stream, - CID_Face face, + FT_Face face, /* CID_Face */ FT_Int face_index, FT_Int num_params, FT_Parameter* params ); - FT_LOCAL( void ) - cid_face_done( CID_Face face ); + cid_face_done( FT_Face face ); /* CID_Face */ FT_LOCAL( FT_Error ) - cid_driver_init( CID_Driver driver ); - + cid_driver_init( FT_Module driver ); FT_LOCAL( void ) - cid_driver_done( CID_Driver driver ); + cid_driver_done( FT_Module driver ); FT_END_HEADER diff --git a/src/cid/cidriver.c b/src/cid/cidriver.c index f5639b9f7..7d885a818 100644 --- a/src/cid/cidriver.c +++ b/src/cid/cidriver.c @@ -4,7 +4,7 @@ /* */ /* CID driver interface (body). */ /* */ -/* Copyright 1996-2001, 2002, 2003 by */ +/* Copyright 1996-2001, 2002, 2003, 2004 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -97,12 +97,11 @@ }; - static FT_Module_Interface - cid_get_interface( FT_Driver driver, - const FT_String* cid_interface ) + FT_CALLBACK_DEF( FT_Module_Interface ) + cid_get_interface( FT_Module module, + const char* cid_interface ) { - FT_UNUSED( driver ); - FT_UNUSED( cid_interface ); + FT_UNUSED( module ); return ft_service_list_lookup( cid_services, cid_interface ); } @@ -125,9 +124,9 @@ 0, - (FT_Module_Constructor)cid_driver_init, - (FT_Module_Destructor) cid_driver_done, - (FT_Module_Requester) cid_get_interface + cid_driver_init, + cid_driver_done, + cid_get_interface }, /* then the other font drivers fields */ @@ -135,23 +134,23 @@ sizeof( CID_SizeRec ), sizeof( CID_GlyphSlotRec ), - (FT_Face_InitFunc) cid_face_init, - (FT_Face_DoneFunc) cid_face_done, + cid_face_init, + cid_face_done, - (FT_Size_InitFunc) cid_size_init, - (FT_Size_DoneFunc) cid_size_done, - (FT_Slot_InitFunc) cid_slot_init, - (FT_Slot_DoneFunc) cid_slot_done, + cid_size_init, + cid_size_done, + cid_slot_init, + cid_slot_done, - (FT_Size_ResetPointsFunc)cid_size_reset, - (FT_Size_ResetPixelsFunc)cid_size_reset, + cid_point_size_reset, + cid_size_reset, - (FT_Slot_LoadFunc) cid_slot_load_glyph, + cid_slot_load_glyph, - (FT_Face_GetKerningFunc) 0, - (FT_Face_AttachFunc) 0, + 0, /* FT_Face_GetKerningFunc */ + 0, /* FT_Face_AttachFunc */ - (FT_Face_GetAdvancesFunc)0, + 0 /* FT_Face_GetAdvancesFunc */ }; |