diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/truetype/ttgxvar.c | 10 |
2 files changed, 14 insertions, 5 deletions
@@ -1,3 +1,12 @@ +2019-05-29 Werner Lemberg <wl@gnu.org> + + [truetype] Fix 32bit builds (#56404). + + Patch suggested by Ben Wagner <bungeman@google.com>. + + * src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove + harmful cast to unsigned type. + 2019-05-26 Ben Wagner <bungeman@google.com> * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Improve accuracy. diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 33aec980b..78d87dc09 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -72,12 +72,12 @@ ( (FT_Fixed)( (FT_ULong)(x) << 2 ) ) #define FT_intToFixed( i ) \ ( (FT_Fixed)( (FT_ULong)(i) << 16 ) ) -#define FT_fdot6ToFixed( i ) \ +#define FT_fdot6ToFixed( i ) \ ( (FT_Fixed)( (FT_ULong)(i) << 10 ) ) -#define FT_fixedToInt( x ) \ - ( (FT_Short)( ( (FT_ULong)(x) + 0x8000U ) >> 16 ) ) -#define FT_fixedToFdot6( x ) \ - ( (FT_Pos)( ( (FT_ULong)(x) + 0x200 ) >> 10 ) ) +#define FT_fixedToInt( x ) \ + ( (FT_Short)( ( (x) + 0x8000U ) >> 16 ) ) +#define FT_fixedToFdot6( x ) \ + ( (FT_Pos)( ( (x) + 0x200 ) >> 10 ) ) /************************************************************************** |