|
|
|
@ -361,46 +361,4 @@ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FT_BASE_DEF( FT_Error ) |
|
|
|
|
FT_GlyphLoader_CopyPoints( FT_GlyphLoader target, |
|
|
|
|
FT_GlyphLoader source ) |
|
|
|
|
{ |
|
|
|
|
FT_Error error; |
|
|
|
|
FT_UInt num_points = (FT_UInt)source->base.outline.n_points; |
|
|
|
|
FT_UInt num_contours = (FT_UInt)source->base.outline.n_contours; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error = FT_GlyphLoader_CheckPoints( target, num_points, num_contours ); |
|
|
|
|
if ( !error ) |
|
|
|
|
{ |
|
|
|
|
FT_Outline* out = &target->base.outline; |
|
|
|
|
FT_Outline* in = &source->base.outline; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FT_ARRAY_COPY( out->points, in->points, |
|
|
|
|
num_points ); |
|
|
|
|
FT_ARRAY_COPY( out->tags, in->tags, |
|
|
|
|
num_points ); |
|
|
|
|
FT_ARRAY_COPY( out->contours, in->contours, |
|
|
|
|
num_contours ); |
|
|
|
|
|
|
|
|
|
/* do we need to copy the extra points? */ |
|
|
|
|
if ( target->use_extra && source->use_extra ) |
|
|
|
|
{ |
|
|
|
|
FT_ARRAY_COPY( target->base.extra_points, source->base.extra_points, |
|
|
|
|
num_points ); |
|
|
|
|
FT_ARRAY_COPY( target->base.extra_points2, source->base.extra_points2, |
|
|
|
|
num_points ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
out->n_points = (short)num_points; |
|
|
|
|
out->n_contours = (short)num_contours; |
|
|
|
|
|
|
|
|
|
FT_GlyphLoader_Adjust_Points( target ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return error; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* END */ |
|
|
|
|