summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2011-11-30 13:08:28 +0100
committerWerner Lemberg <wl@gnu.org>2011-11-30 13:08:28 +0100
commit910b544aafdf533613839468950ceb377fea5a9b (patch)
tree6d65a54c5dc035ecbe9c9e928c66e099cd88f013
parentc52f44d4fdb6ea11cb1ab316f1924a5dd1bf7444 (diff)
downloadfreetype2-910b544aafdf533613839468950ceb377fea5a9b.tar.gz
[type1] Remove casts.
* src/type1/t1driver.c (t1_driver_class): Remove all casts and update affected functions. * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c: Updated for t1driver changes. src/type1/t1objs.h (T1_Driver): Remove unused typedef. Updated for t1driver changes.
-rw-r--r--ChangeLog12
-rw-r--r--src/type1/t1driver.c45
-rw-r--r--src/type1/t1gload.c70
-rw-r--r--src/type1/t1gload.h10
-rw-r--r--src/type1/t1objs.c38
-rw-r--r--src/type1/t1objs.h31
6 files changed, 111 insertions, 95 deletions
diff --git a/ChangeLog b/ChangeLog
index 689cd6ba4..3d96e5838 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2011-11-30 Werner Lemberg <wl@gnu.org>
+
+ [type1] Remove casts.
+
+ * src/type1/t1driver.c (t1_driver_class): Remove all casts and
+ update affected functions.
+
+ * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
+ Updated for t1driver changes.
+ src/type1/t1objs.h (T1_Driver): Remove unused typedef.
+ Updated for t1driver changes.
+
2011-11-27 Werner Lemberg <wl@gnu.org>
[bdf] Fix Savannah bug #34896.
diff --git a/src/type1/t1driver.c b/src/type1/t1driver.c
index b9ada023d..9391a391b 100644
--- a/src/type1/t1driver.c
+++ b/src/type1/t1driver.c
@@ -607,11 +607,11 @@
};
- static FT_Module_Interface
- Get_Interface( FT_Driver driver,
+ FT_CALLBACK_DEF( FT_Module_Interface )
+ Get_Interface( FT_Module module,
const FT_String* t1_interface )
{
- FT_UNUSED( driver );
+ FT_UNUSED( module );
return ft_service_list_lookup( t1_services, t1_interface );
}
@@ -652,11 +652,14 @@
/* They can be implemented by format-specific interfaces. */
/* */
static FT_Error
- Get_Kerning( T1_Face face,
+ Get_Kerning( FT_Face t1face, /* T1_Face */
FT_UInt left_glyph,
FT_UInt right_glyph,
FT_Vector* kerning )
{
+ T1_Face face = (T1_Face)t1face;
+
+
kerning->x = 0;
kerning->y = 0;
@@ -689,38 +692,38 @@
0, /* format interface */
- (FT_Module_Constructor)T1_Driver_Init,
- (FT_Module_Destructor) T1_Driver_Done,
- (FT_Module_Requester) Get_Interface,
+ T1_Driver_Init,
+ T1_Driver_Done,
+ Get_Interface,
},
sizeof ( T1_FaceRec ),
sizeof ( T1_SizeRec ),
sizeof ( T1_GlyphSlotRec ),
- (FT_Face_InitFunc) T1_Face_Init,
- (FT_Face_DoneFunc) T1_Face_Done,
- (FT_Size_InitFunc) T1_Size_Init,
- (FT_Size_DoneFunc) T1_Size_Done,
- (FT_Slot_InitFunc) T1_GlyphSlot_Init,
- (FT_Slot_DoneFunc) T1_GlyphSlot_Done,
+ T1_Face_Init,
+ T1_Face_Done,
+ T1_Size_Init,
+ T1_Size_Done,
+ T1_GlyphSlot_Init,
+ T1_GlyphSlot_Done,
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
ft_stub_set_char_sizes,
ft_stub_set_pixel_sizes,
#endif
- (FT_Slot_LoadFunc) T1_Load_Glyph,
+ T1_Load_Glyph,
#ifdef T1_CONFIG_OPTION_NO_AFM
- (FT_Face_GetKerningFunc) 0,
- (FT_Face_AttachFunc) 0,
+ 0, /* FT_Face_GetKerningFunc */
+ 0, /* FT_Face_AttachFunc */
#else
- (FT_Face_GetKerningFunc) Get_Kerning,
- (FT_Face_AttachFunc) T1_Read_Metrics,
+ Get_Kerning,
+ T1_Read_Metrics,
#endif
- (FT_Face_GetAdvancesFunc) T1_Get_Advances,
- (FT_Size_RequestFunc) T1_Size_Request,
- (FT_Size_SelectFunc) 0
+ T1_Get_Advances,
+ T1_Size_Request,
+ 0 /* FT_Size_SelectFunc */
};
diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c
index f3fad4f5d..4c625ef4c 100644
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -208,12 +208,13 @@
FT_LOCAL_DEF( FT_Error )
- T1_Get_Advances( T1_Face face,
+ T1_Get_Advances( FT_Face t1face, /* T1_Face */
FT_UInt first,
FT_UInt count,
- FT_ULong load_flags,
+ FT_Int32 load_flags,
FT_Fixed* advances )
{
+ T1_Face face = (T1_Face)t1face;
T1_DecoderRec decoder;
T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux;
@@ -265,14 +266,15 @@
FT_LOCAL_DEF( FT_Error )
- T1_Load_Glyph( T1_GlyphSlot glyph,
- T1_Size size,
+ T1_Load_Glyph( FT_GlyphSlot t1glyph, /* T1_GlyphSlot */
+ FT_Size t1size, /* T1_Size */
FT_UInt glyph_index,
FT_Int32 load_flags )
{
+ T1_GlyphSlot glyph = (T1_GlyphSlot)t1glyph;
FT_Error error;
T1_DecoderRec decoder;
- T1_Face face = (T1_Face)glyph->root.face;
+ T1_Face face = (T1_Face)t1glyph->face;
FT_Bool hinting;
T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux;
@@ -303,10 +305,10 @@
if ( load_flags & FT_LOAD_NO_RECURSE )
load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
- if ( size )
+ if ( t1size )
{
- glyph->x_scale = size->root.metrics.x_scale;
- glyph->y_scale = size->root.metrics.y_scale;
+ glyph->x_scale = t1size->metrics.x_scale;
+ glyph->y_scale = t1size->metrics.y_scale;
}
else
{
@@ -314,18 +316,18 @@
glyph->y_scale = 0x10000L;
}
- glyph->root.outline.n_points = 0;
- glyph->root.outline.n_contours = 0;
+ t1glyph->outline.n_points = 0;
+ t1glyph->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;
+ t1glyph->format = FT_GLYPH_FORMAT_OUTLINE;
error = decoder_funcs->init( &decoder,
- (FT_Face)face,
- (FT_Size)size,
- (FT_GlyphSlot)glyph,
+ t1glyph->face,
+ t1size,
+ t1glyph,
(FT_Byte**)type1->glyph_names,
face->blend,
FT_BOOL( hinting ),
@@ -368,19 +370,19 @@
/* bearing the yMax */
if ( !error )
{
- glyph->root.outline.flags &= FT_OUTLINE_OWNER;
- glyph->root.outline.flags |= FT_OUTLINE_REVERSE_FILL;
+ t1glyph->outline.flags &= FT_OUTLINE_OWNER;
+ t1glyph->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 = t1glyph->internal;
- glyph->root.metrics.horiBearingX =
+ t1glyph->metrics.horiBearingX =
FIXED_TO_INT( decoder.builder.left_bearing.x );
- glyph->root.metrics.horiAdvance =
+ t1glyph->metrics.horiAdvance =
FIXED_TO_INT( decoder.builder.advance.x );
internal->glyph_matrix = font_matrix;
@@ -390,45 +392,45 @@
else
{
FT_BBox cbox;
- FT_Glyph_Metrics* metrics = &glyph->root.metrics;
+ FT_Glyph_Metrics* metrics = &t1glyph->metrics;
FT_Vector advance;
/* copy the _unscaled_ advance width */
metrics->horiAdvance =
FIXED_TO_INT( decoder.builder.advance.x );
- glyph->root.linearHoriAdvance =
+ t1glyph->linearHoriAdvance =
FIXED_TO_INT( decoder.builder.advance.x );
- glyph->root.internal->glyph_transformed = 0;
+ t1glyph->internal->glyph_transformed = 0;
if ( load_flags & FT_LOAD_VERTICAL_LAYOUT )
{
/* make up vertical ones */
metrics->vertAdvance = ( face->type1.font_bbox.yMax -
face->type1.font_bbox.yMin ) >> 16;
- glyph->root.linearVertAdvance = metrics->vertAdvance;
+ t1glyph->linearVertAdvance = metrics->vertAdvance;
}
else
{
metrics->vertAdvance =
FIXED_TO_INT( decoder.builder.advance.y );
- glyph->root.linearVertAdvance =
+ t1glyph->linearVertAdvance =
FIXED_TO_INT( decoder.builder.advance.y );
}
- glyph->root.format = FT_GLYPH_FORMAT_OUTLINE;
+ t1glyph->format = FT_GLYPH_FORMAT_OUTLINE;
- if ( size && size->root.metrics.y_ppem < 24 )
- glyph->root.outline.flags |= FT_OUTLINE_HIGH_PRECISION;
+ if ( t1size && t1size->metrics.y_ppem < 24 )
+ t1glyph->outline.flags |= FT_OUTLINE_HIGH_PRECISION;
#if 1
/* apply the font matrix, if any */
if ( font_matrix.xx != 0x10000L || font_matrix.yy != font_matrix.xx ||
font_matrix.xy != 0 || font_matrix.yx != 0 )
- FT_Outline_Transform( &glyph->root.outline, &font_matrix );
+ FT_Outline_Transform( &t1glyph->outline, &font_matrix );
if ( font_offset.x || font_offset.y )
- FT_Outline_Translate( &glyph->root.outline,
+ FT_Outline_Translate( &t1glyph->outline,
font_offset.x,
font_offset.y );
@@ -466,7 +468,7 @@
}
/* compute the other metrics */
- FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
+ FT_Outline_Get_CBox( &t1glyph->outline, &cbox );
metrics->width = cbox.xMax - cbox.xMin;
metrics->height = cbox.yMax - cbox.yMin;
@@ -484,8 +486,8 @@
/* Set control data to the glyph charstrings. Note that this is */
/* _not_ zero-terminated. */
- glyph->root.control_data = (FT_Byte*)glyph_data.pointer;
- glyph->root.control_len = glyph_data.length;
+ t1glyph->control_data = (FT_Byte*)glyph_data.pointer;
+ t1glyph->control_len = glyph_data.length;
}
@@ -500,8 +502,8 @@
/* Set the control data to null - it is no longer available if */
/* loaded incrementally. */
- glyph->root.control_data = 0;
- glyph->root.control_len = 0;
+ t1glyph->control_data = 0;
+ t1glyph->control_len = 0;
}
#endif
diff --git a/src/type1/t1gload.h b/src/type1/t1gload.h
index 100df06e8..0bdea3a8d 100644
--- a/src/type1/t1gload.h
+++ b/src/type1/t1gload.h
@@ -4,7 +4,7 @@
/* */
/* Type 1 Glyph Loader (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2008, 2011 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -32,15 +32,15 @@ FT_BEGIN_HEADER
FT_Pos* max_advance );
FT_LOCAL( FT_Error )
- T1_Get_Advances( T1_Face face,
+ T1_Get_Advances( FT_Face face,
FT_UInt first,
FT_UInt count,
- FT_ULong load_flags,
+ FT_Int32 load_flags,
FT_Fixed* advances );
FT_LOCAL( FT_Error )
- T1_Load_Glyph( T1_GlyphSlot glyph,
- T1_Size size,
+ T1_Load_Glyph( FT_GlyphSlot glyph,
+ FT_Size size,
FT_UInt glyph_index,
FT_Int32 load_flags );
diff --git a/src/type1/t1objs.c b/src/type1/t1objs.c
index 2b25c25b6..acca514a5 100644
--- a/src/type1/t1objs.c
+++ b/src/type1/t1objs.c
@@ -72,8 +72,11 @@
FT_LOCAL_DEF( void )
- T1_Size_Done( T1_Size size )
+ T1_Size_Done( FT_Size t1size ) /* T1_Size */
{
+ T1_Size size = (T1_Size)t1size;
+
+
if ( size->root.internal )
{
PSH_Globals_Funcs funcs;
@@ -89,8 +92,9 @@
FT_LOCAL_DEF( FT_Error )
- T1_Size_Init( T1_Size size )
+ T1_Size_Init( FT_Size t1size ) /* T1_Size */
{
+ T1_Size size = (T1_Size)t1size;
FT_Error error = T1_Err_Ok;
PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size );
@@ -112,9 +116,10 @@
FT_LOCAL_DEF( FT_Error )
- T1_Size_Request( T1_Size size,
+ T1_Size_Request( FT_Size t1size, /* T1_Size */
FT_Size_Request req )
{
+ T1_Size size = (T1_Size)t1size;
PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size );
@@ -137,20 +142,20 @@
/*************************************************************************/
FT_LOCAL_DEF( void )
- T1_GlyphSlot_Done( T1_GlyphSlot slot )
+ T1_GlyphSlot_Done( FT_GlyphSlot slot )
{
- slot->root.internal->glyph_hints = 0;
+ slot->internal->glyph_hints = 0;
}
FT_LOCAL_DEF( FT_Error )
- T1_GlyphSlot_Init( T1_GlyphSlot slot )
+ T1_GlyphSlot_Init( FT_GlyphSlot slot )
{
T1_Face face;
PSHinter_Service pshinter;
- face = (T1_Face)slot->root.face;
+ face = (T1_Face)slot->face;
pshinter = (PSHinter_Service)face->pshinter;
if ( pshinter )
@@ -158,15 +163,18 @@
FT_Module module;
- module = FT_Get_Module( slot->root.face->driver->root.library, "pshinter" );
- if (module)
+ module = FT_Get_Module( slot->face->driver->root.library,
+ "pshinter" );
+ if ( module )
{
T1_Hints_Funcs funcs;
+
funcs = pshinter->get_t1_funcs( module );
- slot->root.internal->glyph_hints = (void*)funcs;
+ slot->internal->glyph_hints = (void*)funcs;
}
}
+
return 0;
}
@@ -190,8 +198,9 @@
/* face :: A typeless pointer to the face object to destroy. */
/* */
FT_LOCAL_DEF( void )
- T1_Face_Done( T1_Face face )
+ T1_Face_Done( FT_Face t1face ) /* T1_Face */
{
+ T1_Face face = (T1_Face)t1face;
FT_Memory memory;
T1_Font type1;
@@ -289,11 +298,12 @@
/* */
FT_LOCAL_DEF( FT_Error )
T1_Face_Init( FT_Stream stream,
- T1_Face face,
+ FT_Face t1face, /* T1_Face */
FT_Int face_index,
FT_Int num_params,
FT_Parameter* params )
{
+ T1_Face face = (T1_Face)t1face;
FT_Error error;
FT_Service_PsCMaps psnames;
PSAux_Service psaux;
@@ -576,7 +586,7 @@
/* FreeType error code. 0 means success. */
/* */
FT_LOCAL_DEF( FT_Error )
- T1_Driver_Init( T1_Driver driver )
+ T1_Driver_Init( FT_Module driver )
{
FT_UNUSED( driver );
@@ -596,7 +606,7 @@
/* driver :: A handle to the target Type 1 driver. */
/* */
FT_LOCAL_DEF( void )
- T1_Driver_Done( T1_Driver driver )
+ T1_Driver_Done( FT_Module driver )
{
FT_UNUSED( driver );
}
diff --git a/src/type1/t1objs.h b/src/type1/t1objs.h
index e5e90293d..54ccbb996 100644
--- a/src/type1/t1objs.h
+++ b/src/type1/t1objs.h
@@ -4,7 +4,7 @@
/* */
/* Type 1 objects manager (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2006 by */
+/* Copyright 1996-2001, 2002, 2006, 2011 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -37,17 +37,6 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Type> */
- /* T1_Driver */
- /* */
- /* <Description> */
- /* A handle to a Type 1 driver object. */
- /* */
- typedef struct T1_DriverRec_ *T1_Driver;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
/* T1_Size */
/* */
/* <Description> */
@@ -106,14 +95,14 @@ FT_BEGIN_HEADER
FT_LOCAL( void )
- T1_Size_Done( T1_Size size );
+ T1_Size_Done( FT_Size size );
FT_LOCAL( FT_Error )
- T1_Size_Request( T1_Size size,
+ T1_Size_Request( FT_Size size,
FT_Size_Request req );
FT_LOCAL( FT_Error )
- T1_Size_Init( T1_Size size );
+ T1_Size_Init( FT_Size size );
/*************************************************************************/
@@ -142,25 +131,25 @@ FT_BEGIN_HEADER
FT_LOCAL( FT_Error )
T1_Face_Init( FT_Stream stream,
- T1_Face face,
+ FT_Face face,
FT_Int face_index,
FT_Int num_params,
FT_Parameter* params );
FT_LOCAL( void )
- T1_Face_Done( T1_Face face );
+ T1_Face_Done( FT_Face face );
FT_LOCAL( FT_Error )
- T1_GlyphSlot_Init( T1_GlyphSlot slot );
+ T1_GlyphSlot_Init( FT_GlyphSlot slot );
FT_LOCAL( void )
- T1_GlyphSlot_Done( T1_GlyphSlot slot );
+ T1_GlyphSlot_Done( FT_GlyphSlot slot );
FT_LOCAL( FT_Error )
- T1_Driver_Init( T1_Driver driver );
+ T1_Driver_Init( FT_Module driver );
FT_LOCAL( void )
- T1_Driver_Done( T1_Driver driver );
+ T1_Driver_Done( FT_Module driver );
FT_END_HEADER