Introduce `FT_Size_InternalRec' structure.
We are going to extend this later on. * include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New structure with a single field `module_data'. * src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of `FT_Size' structure. * src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use `size->internal->module_data' instead of `size->internal'. * src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'. (cff_size_init, cff_size_select, cff_size_request): Use `size->internal->module_data' instead of `size->internal'. * src/cif/cidobjs.c (cid_size_done, cid_size_init, cid_size_request): Use `size->internal->module_data' instead of `size->internal'. * src/psaux/psobjs.c (t1_builder_ini): Use `size->internal->module_data' instead of `size->internal'. * src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request): Use `size->internal->module_data' instead of `size->internal'.
This commit is contained in:
parent
eb5e0fb7ee
commit
5412d8869b
29
ChangeLog
29
ChangeLog
@ -1,3 +1,32 @@
|
||||
2017-04-22 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Introduce `FT_Size_InternalRec' structure.
|
||||
|
||||
We are going to extend this later on.
|
||||
|
||||
* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New
|
||||
structure with a single field `module_data'.
|
||||
|
||||
* src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of
|
||||
`FT_Size' structure.
|
||||
|
||||
* src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use
|
||||
`size->internal->module_data' instead of `size->internal'.
|
||||
|
||||
* src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'.
|
||||
(cff_size_init, cff_size_select, cff_size_request): Use
|
||||
`size->internal->module_data' instead of `size->internal'.
|
||||
|
||||
* src/cif/cidobjs.c (cid_size_done, cid_size_init,
|
||||
cid_size_request): Use `size->internal->module_data' instead of
|
||||
`size->internal'.
|
||||
|
||||
* src/psaux/psobjs.c (t1_builder_ini): Use
|
||||
`size->internal->module_data' instead of `size->internal'.
|
||||
|
||||
* src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request):
|
||||
Use `size->internal->module_data' instead of `size->internal'.
|
||||
|
||||
2017-04-21 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
* src/smooth/ftsmooth.h: Remove unused guards and declaration.
|
||||
|
@ -433,8 +433,6 @@ FT_BEGIN_HEADER
|
||||
} FT_GlyphSlot_InternalRec;
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
@ -442,18 +440,19 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This structure contains the internal fields of each FT_Size */
|
||||
/* object. Currently, it's empty. */
|
||||
/* object. */
|
||||
/* */
|
||||
/* <Fields> */
|
||||
/* module_data :: Data specific to a driver module. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
typedef struct FT_Size_InternalRec_
|
||||
{
|
||||
/* empty */
|
||||
void* module_data;
|
||||
|
||||
} FT_Size_InternalRec;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -2605,6 +2605,8 @@
|
||||
FT_Size size = NULL;
|
||||
FT_ListNode node = NULL;
|
||||
|
||||
FT_Size_Internal internal = NULL;
|
||||
|
||||
|
||||
if ( !face )
|
||||
return FT_THROW( Invalid_Face_Handle );
|
||||
@ -2627,8 +2629,10 @@
|
||||
|
||||
size->face = face;
|
||||
|
||||
/* for now, do not use any internal fields in size objects */
|
||||
size->internal = NULL;
|
||||
if ( FT_NEW( internal ) )
|
||||
goto Exit;
|
||||
|
||||
size->internal = internal;
|
||||
|
||||
if ( clazz->init_size )
|
||||
error = clazz->init_size( size );
|
||||
|
@ -278,7 +278,8 @@
|
||||
|
||||
if ( hinting && size )
|
||||
{
|
||||
CFF_Internal internal = (CFF_Internal)size->root.internal;
|
||||
FT_Size ftsize = FT_SIZE( size );
|
||||
CFF_Internal internal = (CFF_Internal)ftsize->internal->module_data;
|
||||
|
||||
|
||||
if ( internal )
|
||||
@ -443,7 +444,8 @@
|
||||
|
||||
if ( builder->hints_funcs && size )
|
||||
{
|
||||
CFF_Internal internal = (CFF_Internal)size->root.internal;
|
||||
FT_Size ftsize = FT_SIZE( size );
|
||||
CFF_Internal internal = (CFF_Internal)ftsize->internal->module_data;
|
||||
|
||||
|
||||
/* for CFFs without subfonts, this value has already been set */
|
||||
|
@ -54,9 +54,6 @@
|
||||
/* */
|
||||
/* SIZE FUNCTIONS */
|
||||
/* */
|
||||
/* Note that we store the global hints in the size's `internal' root */
|
||||
/* field. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
@ -80,10 +77,11 @@
|
||||
FT_LOCAL_DEF( void )
|
||||
cff_size_done( FT_Size cffsize ) /* CFF_Size */
|
||||
{
|
||||
FT_Memory memory = cffsize->face->memory;
|
||||
CFF_Size size = (CFF_Size)cffsize;
|
||||
CFF_Face face = (CFF_Face)size->root.face;
|
||||
CFF_Font font = (CFF_Font)face->extra.data;
|
||||
CFF_Internal internal = (CFF_Internal)cffsize->internal;
|
||||
CFF_Internal internal = (CFF_Internal)cffsize->internal->module_data;
|
||||
|
||||
|
||||
if ( internal )
|
||||
@ -103,7 +101,7 @@
|
||||
funcs->destroy( internal->subfonts[i - 1] );
|
||||
}
|
||||
|
||||
/* `internal' is freed by destroy_size (in ftobjs.c) */
|
||||
FT_FREE( internal );
|
||||
}
|
||||
}
|
||||
|
||||
@ -199,7 +197,7 @@
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
cffsize->internal = (FT_Size_Internal)(void*)internal;
|
||||
cffsize->internal->module_data = internal;
|
||||
}
|
||||
|
||||
size->strike_index = 0xFFFFFFFFUL;
|
||||
@ -229,7 +227,7 @@
|
||||
{
|
||||
CFF_Face face = (CFF_Face)size->face;
|
||||
CFF_Font font = (CFF_Font)face->extra.data;
|
||||
CFF_Internal internal = (CFF_Internal)size->internal;
|
||||
CFF_Internal internal = (CFF_Internal)size->internal->module_data;
|
||||
|
||||
FT_Long top_upm = (FT_Long)font->top_font.font_dict.units_per_em;
|
||||
FT_UInt i;
|
||||
@ -301,7 +299,7 @@
|
||||
{
|
||||
CFF_Face cffface = (CFF_Face)size->face;
|
||||
CFF_Font font = (CFF_Font)cffface->extra.data;
|
||||
CFF_Internal internal = (CFF_Internal)size->internal;
|
||||
CFF_Internal internal = (CFF_Internal)size->internal->module_data;
|
||||
|
||||
FT_Long top_upm = (FT_Long)font->top_font.font_dict.units_per_em;
|
||||
FT_UInt i;
|
||||
|
@ -113,16 +113,16 @@
|
||||
CID_Size size = (CID_Size)cidsize;
|
||||
|
||||
|
||||
if ( cidsize->internal )
|
||||
if ( cidsize->internal->module_data )
|
||||
{
|
||||
PSH_Globals_Funcs funcs;
|
||||
|
||||
|
||||
funcs = cid_size_get_globals_funcs( size );
|
||||
if ( funcs )
|
||||
funcs->destroy( (PSH_Globals)cidsize->internal );
|
||||
funcs->destroy( (PSH_Globals)cidsize->internal->module_data );
|
||||
|
||||
cidsize->internal = NULL;
|
||||
cidsize->internal->module_data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -145,7 +145,7 @@
|
||||
|
||||
error = funcs->create( cidsize->face->memory, priv, &globals );
|
||||
if ( !error )
|
||||
cidsize->internal = (FT_Size_Internal)(void*)globals;
|
||||
cidsize->internal->module_data = globals;
|
||||
}
|
||||
|
||||
return error;
|
||||
@ -164,7 +164,7 @@
|
||||
funcs = cid_size_get_globals_funcs( (CID_Size)size );
|
||||
|
||||
if ( funcs )
|
||||
funcs->set_scale( (PSH_Globals)size->internal,
|
||||
funcs->set_scale( (PSH_Globals)size->internal->module_data,
|
||||
size->metrics.x_scale,
|
||||
size->metrics.y_scale,
|
||||
0, 0 );
|
||||
|
@ -1551,7 +1551,7 @@
|
||||
builder->current = &loader->current.outline;
|
||||
FT_GlyphLoader_Rewind( loader );
|
||||
|
||||
builder->hints_globals = size->internal;
|
||||
builder->hints_globals = size->internal->module_data;
|
||||
builder->hints_funcs = NULL;
|
||||
|
||||
if ( hinting )
|
||||
|
@ -49,9 +49,6 @@
|
||||
/* */
|
||||
/* SIZE FUNCTIONS */
|
||||
/* */
|
||||
/* note that we store the global hints in the size's "internal" root */
|
||||
/* field */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
@ -77,16 +74,16 @@
|
||||
T1_Size size = (T1_Size)t1size;
|
||||
|
||||
|
||||
if ( size->root.internal )
|
||||
if ( t1size->internal->module_data )
|
||||
{
|
||||
PSH_Globals_Funcs funcs;
|
||||
|
||||
|
||||
funcs = T1_Size_Get_Globals_Funcs( size );
|
||||
if ( funcs )
|
||||
funcs->destroy( (PSH_Globals)size->root.internal );
|
||||
funcs->destroy( (PSH_Globals)t1size->internal->module_data );
|
||||
|
||||
size->root.internal = NULL;
|
||||
t1size->internal->module_data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,7 +105,7 @@
|
||||
error = funcs->create( size->root.face->memory,
|
||||
&face->type1.private_dict, &globals );
|
||||
if ( !error )
|
||||
size->root.internal = (FT_Size_Internal)(void*)globals;
|
||||
t1size->internal->module_data = globals;
|
||||
}
|
||||
|
||||
return error;
|
||||
@ -126,7 +123,7 @@
|
||||
FT_Request_Metrics( size->root.face, req );
|
||||
|
||||
if ( funcs )
|
||||
funcs->set_scale( (PSH_Globals)size->root.internal,
|
||||
funcs->set_scale( (PSH_Globals)t1size->internal->module_data,
|
||||
size->root.metrics.x_scale,
|
||||
size->root.metrics.y_scale,
|
||||
0, 0 );
|
||||
|
Loading…
Reference in New Issue
Block a user