| Index: third_party/freetype/src/raster/ftraster.c
|
| diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c b/third_party/freetype/src/raster/ftraster.c
|
| similarity index 99%
|
| rename from core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c
|
| rename to third_party/freetype/src/raster/ftraster.c
|
| index 264f6b09573de658b2767ffb2cc8673c6e589fb0..b06ac333da176141b52c9da61ae6a398fa3a9ef6 100644
|
| --- a/core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c
|
| +++ b/third_party/freetype/src/raster/ftraster.c
|
| @@ -4,7 +4,7 @@
|
| /* */
|
| /* The FreeType glyph rasterizer (body). */
|
| /* */
|
| -/* Copyright 1996-2003, 2005, 2007-2013 by */
|
| +/* Copyright 1996-2003, 2005, 2007-2014 by */
|
| /* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
| /* */
|
| /* This file is part of the FreeType project, and may only be used, */
|
| @@ -24,8 +24,8 @@
|
| /* */
|
| /* - copy `src/raster/ftraster.c' (this file) to your current directory */
|
| /* */
|
| - /* - copy `include/freetype/ftimage.h' and `src/raster/ftmisc.h' */
|
| - /* to your current directory */
|
| + /* - copy `include/ftimage.h' and `src/raster/ftmisc.h' to your current */
|
| + /* directory */
|
| /* */
|
| /* - compile `ftraster' with the _STANDALONE_ macro defined, as in */
|
| /* */
|
| @@ -58,9 +58,9 @@
|
|
|
| #else /* !_STANDALONE_ */
|
|
|
| -#include "../../include/ft2build.h"
|
| +#include <ft2build.h>
|
| #include "ftraster.h"
|
| -#include "../../include/freetype/internal/ftcalc.h" /* for FT_MulDiv and FT_MulDiv_No_Round */
|
| +#include FT_INTERNAL_CALC_H /* for FT_MulDiv and FT_MulDiv_No_Round */
|
|
|
| #include "rastpic.h"
|
|
|
| @@ -230,8 +230,8 @@
|
| #else /* !_STANDALONE_ */
|
|
|
|
|
| -#include "../../include/freetype/internal/ftobjs.h"
|
| -#include "../../include/freetype/internal/ftdebug.h" /* for FT_TRACE, FT_ERROR, and FT_THROW */
|
| +#include FT_INTERNAL_OBJECTS_H
|
| +#include FT_INTERNAL_DEBUG_H /* for FT_TRACE, FT_ERROR, and FT_THROW */
|
|
|
| #include "rasterrs.h"
|
|
|
| @@ -1874,7 +1874,7 @@
|
| v_start.x = ( v_start.x + v_last.x ) / 2;
|
| v_start.y = ( v_start.y + v_last.y ) / 2;
|
|
|
| - v_last = v_start;
|
| + /* v_last = v_start; */
|
| }
|
| point--;
|
| tags--;
|
| @@ -2284,6 +2284,8 @@
|
| Long e1, e2;
|
| Byte* target;
|
|
|
| + Int dropOutControl = left->flags & 7;
|
| +
|
| FT_UNUSED( y );
|
| FT_UNUSED( left );
|
| FT_UNUSED( right );
|
| @@ -2293,7 +2295,8 @@
|
|
|
| e1 = TRUNC( CEILING( x1 ) );
|
|
|
| - if ( x2 - x1 - ras.precision <= ras.precision_jitter )
|
| + if ( dropOutControl != 2 &&
|
| + x2 - x1 - ras.precision <= ras.precision_jitter )
|
| e2 = e1;
|
| else
|
| e2 = TRUNC( FLOOR( x2 ) );
|
| @@ -2550,7 +2553,7 @@
|
|
|
| e1 = TRUNC( e1 );
|
|
|
| - if ( e1 >= 0 && e1 < ras.target.rows )
|
| + if ( e1 >= 0 && (ULong)e1 < ras.target.rows )
|
| {
|
| PByte p;
|
|
|
| @@ -2644,7 +2647,7 @@
|
| /* bounding box instead */
|
| if ( pxl < 0 )
|
| pxl = e1;
|
| - else if ( TRUNC( pxl ) >= ras.target.rows )
|
| + else if ( (ULong)( TRUNC( pxl ) ) >= ras.target.rows )
|
| pxl = e2;
|
|
|
| /* check that the other pixel isn't set */
|
| @@ -2659,9 +2662,9 @@
|
| if ( ras.target.pitch > 0 )
|
| bits += ( ras.target.rows - 1 ) * ras.target.pitch;
|
|
|
| - if ( e1 >= 0 &&
|
| - e1 < ras.target.rows &&
|
| - *bits & f1 )
|
| + if ( e1 >= 0 &&
|
| + (ULong)e1 < ras.target.rows &&
|
| + *bits & f1 )
|
| return;
|
| }
|
| else
|
| @@ -2673,7 +2676,7 @@
|
|
|
| e1 = TRUNC( pxl );
|
|
|
| - if ( e1 >= 0 && e1 < ras.target.rows )
|
| + if ( e1 >= 0 && (ULong)e1 < ras.target.rows )
|
| {
|
| bits -= e1 * ras.target.pitch;
|
| if ( ras.target.pitch > 0 )
|
| @@ -3539,7 +3542,7 @@
|
| }
|
|
|
|
|
| - static void
|
| + static int
|
| ft_black_set_mode( black_PRaster raster,
|
| unsigned long mode,
|
| const char* palette )
|
| @@ -3563,6 +3566,8 @@
|
| FT_UNUSED( palette );
|
|
|
| #endif
|
| +
|
| + return 0;
|
| }
|
|
|
|
|
|
|