Blob Blame History Raw
--- freetype-2.8/builds/unix/unix-cc.in.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/builds/unix/unix-cc.in	2018-06-07 19:16:35.881770695 +0200
@@ -109,6 +109,6 @@ CCexe        := $(CCraw_build)	# used to
 LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
                           -rpath $(libdir) -version-info $(version_info) \
                           $(LDFLAGS) -no-undefined \
-                          -export-symbols $(EXPORTS_LIST)
+                          # -export-symbols $(EXPORTS_LIST)
 
 # EOF
--- freetype-2.8/ft2demos-2.8/src/ftview.c.api	2017-05-11 18:31:16.000000000 +0200
+++ freetype-2.8/ft2demos-2.8/src/ftview.c	2018-06-04 16:53:29.960331386 +0200
@@ -1531,8 +1531,8 @@
       case FT_ENCODING_SJIS:
         encoding = "SJIS";
         break;
-      case FT_ENCODING_PRC:
-        encoding = "PRC";
+      case FT_ENCODING_GB2312:
+        encoding = "GB2312";
         break;
       case FT_ENCODING_BIG5:
         encoding = "Big5";
--- freetype-2.8/include/freetype/freetype.h.api	2017-05-13 06:28:40.000000000 +0200
+++ freetype-2.8/include/freetype/freetype.h	2018-06-04 16:53:29.961331388 +0200
@@ -766,15 +766,14 @@ FT_BEGIN_HEADER
     FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
 
     FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
-    FT_ENC_TAG( FT_ENCODING_PRC,     'g', 'b', ' ', ' ' ),
+    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
     FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
     FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
     FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
 
     /* for backward compatibility */
-    FT_ENCODING_GB2312     = FT_ENCODING_PRC,
     FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
-    FT_ENCODING_MS_GB2312  = FT_ENCODING_PRC,
+    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
     FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
     FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
     FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
--- freetype-2.8/include/freetype/ftcache.h.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/include/freetype/ftcache.h	2018-06-04 16:53:29.961331388 +0200
@@ -667,8 +667,8 @@ FT_BEGIN_HEADER
   typedef struct  FTC_ImageTypeRec_
   {
     FTC_FaceID  face_id;
-    FT_UInt     width;
-    FT_UInt     height;
+    FT_Int      width;
+    FT_Int      height;
     FT_Int32    flags;
 
   } FTC_ImageTypeRec;
--- freetype-2.8/include/freetype/ftimage.h.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/include/freetype/ftimage.h	2018-06-04 16:53:29.962331389 +0200
@@ -260,13 +260,13 @@ FT_BEGIN_HEADER
   /*                                                                       */
   typedef struct  FT_Bitmap_
   {
-    unsigned int    rows;
-    unsigned int    width;
+    int             rows;
+    int             width;
     int             pitch;
     unsigned char*  buffer;
-    unsigned short  num_grays;
-    unsigned char   pixel_mode;
-    unsigned char   palette_mode;
+    short           num_grays;
+    char            pixel_mode;
+    char            palette_mode;
     void*           palette;
 
   } FT_Bitmap;
--- freetype-2.8/include/freetype/ftmm.h.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/include/freetype/ftmm.h	2018-06-04 16:53:29.962331389 +0200
@@ -177,14 +177,10 @@ FT_BEGIN_HEADER
   /*                                                                       */
   /*    strid  :: The entry in `name' table identifying this instance.     */
   /*                                                                       */
-  /*    psid   :: The entry in `name' table identifying a PostScript name  */
-  /*              for this instance.                                       */
-  /*                                                                       */
   typedef struct  FT_Var_Named_Style_
   {
     FT_Fixed*  coords;
     FT_UInt    strid;
-    FT_UInt    psid;   /* since 2.7.1 */
 
   } FT_Var_Named_Style;
 
--- freetype-2.8/include/freetype/ttnameid.h.api	2017-05-03 23:26:45.000000000 +0200
+++ freetype-2.8/include/freetype/ttnameid.h	2018-06-04 16:53:29.963331391 +0200
@@ -1217,9 +1217,9 @@ FT_BEGIN_HEADER
   /* */
 
   /* for backward compatibility with older FreeType versions */
-#define TT_UCR_ARABIC_PRESENTATION_A         \
+#define TT_UCR_ARABIC_PRESENTATIONS_A         \
           TT_UCR_ARABIC_PRESENTATION_FORMS_A
-#define TT_UCR_ARABIC_PRESENTATION_B         \
+#define TT_UCR_ARABIC_PRESENTATIONS_B         \
           TT_UCR_ARABIC_PRESENTATION_FORMS_B
 
 #define TT_UCR_COMBINING_DIACRITICS          \
--- freetype-2.8/include/freetype/tttables.h.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/include/freetype/tttables.h	2018-06-04 17:18:26.699449088 +0200
@@ -383,7 +383,7 @@ FT_BEGIN_HEADER
     FT_Short   xAvgCharWidth;
     FT_UShort  usWeightClass;
     FT_UShort  usWidthClass;
-    FT_UShort  fsType;
+    FT_Short   fsType;
     FT_Short   ySubscriptXSize;
     FT_Short   ySubscriptYSize;
     FT_Short   ySubscriptXOffset;
@@ -427,11 +427,6 @@ FT_BEGIN_HEADER
     FT_UShort  usBreakChar;
     FT_UShort  usMaxContext;
 
-    /* only version 5 and higher: */
-
-    FT_UShort  usLowerOpticalPointSize;       /* in twips (1/20th points) */
-    FT_UShort  usUpperOpticalPointSize;       /* in twips (1/20th points) */
-
   } TT_OS2;
 
 
@@ -596,43 +591,41 @@ FT_BEGIN_HEADER
   /*    @FT_Get_Sfnt_Table API function.                                   */
   /*                                                                       */
   /* <Values>                                                              */
-  /*    FT_SFNT_HEAD :: To access the font's @TT_Header structure.         */
+  /*    ft_sfnt_head :: To access the font's @TT_Header structure.         */
   /*                                                                       */
-  /*    FT_SFNT_MAXP :: To access the font's @TT_MaxProfile structure.     */
+  /*    ft_sfnt_maxp :: To access the font's @TT_MaxProfile structure.     */
   /*                                                                       */
-  /*    FT_SFNT_OS2  :: To access the font's @TT_OS2 structure.            */
+  /*    ft_sfnt_os2  :: To access the font's @TT_OS2 structure.            */
   /*                                                                       */
-  /*    FT_SFNT_HHEA :: To access the font's @TT_HoriHeader structure.     */
+  /*    ft_sfnt_hhea :: To access the font's @TT_HoriHeader structure.     */
   /*                                                                       */
-  /*    FT_SFNT_VHEA :: To access the font's @TT_VertHeader structure.     */
+  /*    ft_sfnt_vhea :: To access the font's @TT_VertHeader structure.     */
   /*                                                                       */
-  /*    FT_SFNT_POST :: To access the font's @TT_Postscript structure.     */
+  /*    ft_sfnt_post :: To access the font's @TT_Postscript structure.     */
   /*                                                                       */
-  /*    FT_SFNT_PCLT :: To access the font's @TT_PCLT structure.           */
+  /*    ft_sfnt_pclt :: To access the font's @TT_PCLT structure.           */
   /*                                                                       */
   typedef enum  FT_Sfnt_Tag_
   {
-    FT_SFNT_HEAD,
-    FT_SFNT_MAXP,
-    FT_SFNT_OS2,
-    FT_SFNT_HHEA,
-    FT_SFNT_VHEA,
-    FT_SFNT_POST,
-    FT_SFNT_PCLT,
+    ft_sfnt_head = 0,
+    ft_sfnt_maxp = 1,
+    ft_sfnt_os2  = 2,
+    ft_sfnt_hhea = 3,
+    ft_sfnt_vhea = 4,
+    ft_sfnt_post = 5,
+    ft_sfnt_pclt = 6,
 
-    FT_SFNT_MAX
+    sfnt_max
 
   } FT_Sfnt_Tag;
 
-  /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag' */
-  /* values instead                                                      */
-#define ft_sfnt_head  FT_SFNT_HEAD
-#define ft_sfnt_maxp  FT_SFNT_MAXP
-#define ft_sfnt_os2   FT_SFNT_OS2
-#define ft_sfnt_hhea  FT_SFNT_HHEA
-#define ft_sfnt_vhea  FT_SFNT_VHEA
-#define ft_sfnt_post  FT_SFNT_POST
-#define ft_sfnt_pclt  FT_SFNT_PCLT
+#define FT_SFNT_HEAD ft_sfnt_head
+#define FT_SFNT_MAXP ft_sfnt_maxp
+#define FT_SFNT_OS2  ft_sfnt_os2 
+#define FT_SFNT_HHEA ft_sfnt_hhea
+#define FT_SFNT_VHEA ft_sfnt_vhea
+#define FT_SFNT_POST ft_sfnt_post
+#define FT_SFNT_PCLT ft_sfnt_pclt
 
 
   /*************************************************************************/
--- freetype-2.8/src/sfnt/sfdriver.c.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/sfnt/sfdriver.c	2018-06-04 16:53:29.964331392 +0200
@@ -867,16 +867,9 @@
       SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
 
       FT_Long  instance = ( ( face->root.face_index & 0x7FFF0000L ) >> 16 ) - 1;
-      FT_UInt  psid     = mm_var->namedstyle[instance].psid;
 
       char*  ps_name = NULL;
 
-
-      /* try first to load the name string with index `postScriptNameID' */
-      if ( psid == 6                      ||
-           ( psid > 255 && psid < 32768 ) )
-        (void)sfnt->get_name( face, (FT_UShort)psid, &ps_name );
-
       if ( ps_name )
       {
         result = ps_name;
--- freetype-2.8/src/sfnt/sfobjs.c.api	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/sfnt/sfobjs.c	2018-06-04 16:53:29.964331392 +0200
@@ -311,7 +311,7 @@
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_UCS_4,      FT_ENCODING_UNICODE },
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_UNICODE_CS, FT_ENCODING_UNICODE },
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_SJIS,       FT_ENCODING_SJIS },
-      { TT_PLATFORM_MICROSOFT,     TT_MS_ID_PRC,        FT_ENCODING_PRC },
+      { TT_PLATFORM_MICROSOFT,     TT_MS_ID_GB2312,     FT_ENCODING_GB2312 },
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_BIG_5,      FT_ENCODING_BIG5 },
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_WANSUNG,    FT_ENCODING_WANSUNG },
       { TT_PLATFORM_MICROSOFT,     TT_MS_ID_JOHAB,      FT_ENCODING_JOHAB }
--- freetype-2.8/src/sfnt/ttload.c.api	2017-04-22 07:39:36.000000000 +0200
+++ freetype-2.8/src/sfnt/ttload.c	2018-06-04 16:53:29.965331393 +0200
@@ -1164,15 +1164,6 @@
       FT_FRAME_END
     };
 
-    /* `OS/2' version 5 and newer */
-    static const FT_Frame_Field  os2_fields_extra5[] =
-    {
-      FT_FRAME_START( 4 ),
-        FT_FRAME_USHORT( usLowerOpticalPointSize ),
-        FT_FRAME_USHORT( usUpperOpticalPointSize ),
-      FT_FRAME_END
-    };
-
 
     /* We now support old Mac fonts where the OS/2 table doesn't  */
     /* exist.  Simply put, we set the `version' field to 0xFFFF   */
@@ -1193,8 +1184,6 @@
     os2->usDefaultChar           = 0;
     os2->usBreakChar             = 0;
     os2->usMaxContext            = 0;
-    os2->usLowerOpticalPointSize = 0;
-    os2->usUpperOpticalPointSize = 0xFFFF;
 
     if ( os2->version >= 0x0001 )
     {
@@ -1207,13 +1196,6 @@
         /* only version 2 tables */
         if ( FT_STREAM_READ_FIELDS( os2_fields_extra2, os2 ) )
           goto Exit;
-
-        if ( os2->version >= 0x0005 )
-        {
-          /* only version 5 tables */
-          if ( FT_STREAM_READ_FIELDS( os2_fields_extra5, os2 ) )
-            goto Exit;
-        }
       }
     }
 
--- freetype-2.8/src/truetype/ttgxvar.c.api	2017-05-02 14:37:55.000000000 +0200
+++ freetype-2.8/src/truetype/ttgxvar.c	2018-06-04 16:53:29.966331395 +0200
@@ -2155,7 +2155,7 @@
           *c = FT_GET_LONG();
 
         if ( usePsName )
-          ns->psid = FT_GET_USHORT();
+          (void) FT_GET_USHORT();
 
         ft_var_to_normalized( face,
                               fvar_head.axisCount,
@@ -2206,7 +2206,6 @@
             ns = &mmvar->namedstyle[fvar_head.instanceCount];
 
             ns->strid = strid;
-            ns->psid  = TT_NAME_ID_PS_NAME;
 
             a = mmvar->axis;
             c = ns->coords;
--- freetype-2.8/devel/ftoption.h.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/devel/ftoption.h	2018-06-07 11:30:34.431455285 +0200
@@ -903,7 +903,7 @@ FT_BEGIN_HEADER
    * This macro is obsolete.  Support has been removed in FreeType
    * version 2.5.
    */
-/* #define FT_CONFIG_OPTION_OLD_INTERNALS */
+#define FT_CONFIG_OPTION_OLD_INTERNALS
 
 
   /*
--- freetype-2.8/include/freetype/config/ftoption.h.orig	2017-05-01 09:39:06.000000000 +0200
+++ freetype-2.8/include/freetype/config/ftoption.h	2018-06-07 11:30:53.662506048 +0200
@@ -934,7 +934,7 @@ FT_BEGIN_HEADER
    * This macro is obsolete.  Support has been removed in FreeType
    * version 2.5.
    */
-/* #define FT_CONFIG_OPTION_OLD_INTERNALS */
+#define FT_CONFIG_OPTION_OLD_INTERNALS
 
 
   /*
--- freetype-2.8/include/freetype/ftcache.h.orig	2018-06-07 11:33:07.663882169 +0200
+++ freetype-2.8/include/freetype/ftcache.h	2018-06-07 11:33:23.127947502 +0200
@@ -1049,6 +1049,54 @@ FT_BEGIN_HEADER
   /* */
 
 
+#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
+
+  /*@***********************************************************************/
+  /*                                                                       */
+  /* <Struct>                                                              */
+  /*    FTC_FontRec                                                        */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A simple structure used to describe a given `font' to the cache    */
+  /*    manager.  Note that a `font' is the combination of a given face    */
+  /*    with a given character size.                                       */
+  /*                                                                       */
+  /* <Fields>                                                              */
+  /*    face_id    :: The ID of the face to use.                           */
+  /*                                                                       */
+  /*    pix_width  :: The character width in integer pixels.               */
+  /*                                                                       */
+  /*    pix_height :: The character height in integer pixels.              */
+  /*                                                                       */
+  typedef struct  FTC_FontRec_
+  {
+    FTC_FaceID  face_id;
+    FT_UShort   pix_width;
+    FT_UShort   pix_height;
+
+  } FTC_FontRec;
+
+
+  /* */
+
+
+  typedef FTC_FontRec*  FTC_Font;
+
+
+  FT_EXPORT( FT_Error )
+  FTC_Manager_Lookup_Face( FTC_Manager  manager,
+                           FTC_FaceID   face_id,
+                           FT_Face     *aface );
+
+  FT_EXPORT( FT_Error )
+  FTC_Manager_Lookup_Size( FTC_Manager  manager,
+                           FTC_Font     font,
+                           FT_Face     *aface,
+                           FT_Size     *asize );
+
+#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
+
+
 FT_END_HEADER
 
 #endif /* FTCACHE_H_ */
--- freetype-2.8/src/cache/ftcmanag.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/cache/ftcmanag.c	2018-06-07 11:28:18.663096906 +0200
@@ -701,4 +701,55 @@
   }
 
 
+#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
+
+  FT_EXPORT_DEF( FT_Error )
+  FTC_Manager_Lookup_Face( FTC_Manager  manager,
+                           FTC_FaceID   face_id,
+                           FT_Face     *aface )
+  {
+    return FTC_Manager_LookupFace( manager, face_id, aface );
+  }
+
+
+  FT_EXPORT( FT_Error )
+  FTC_Manager_Lookup_Size( FTC_Manager  manager,
+                           FTC_Font     font,
+                           FT_Face     *aface,
+                           FT_Size     *asize )
+  {
+    FTC_ScalerRec  scaler;
+    FT_Error       error;
+    FT_Size        size;
+    FT_Face        face;
+
+
+    scaler.face_id = font->face_id;
+    scaler.width   = font->pix_width;
+    scaler.height  = font->pix_height;
+    scaler.pixel   = TRUE;
+    scaler.x_res   = 0;
+    scaler.y_res   = 0;
+
+    error = FTC_Manager_LookupSize( manager, &scaler, &size );
+    if ( error )
+    {
+      face = NULL;
+      size = NULL;
+    }
+    else
+      face = size->face;
+
+    if ( aface )
+      *aface = face;
+
+    if ( asize )
+      *asize = size;
+
+    return error;
+  }
+
+#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
+
+
 /* END */
--- freetype-2.8/ft2demos-2.8/graph/x11/grx11.c.orig	2016-10-19 06:55:23.000000000 +0200
+++ freetype-2.8/ft2demos-2.8/graph/x11/grx11.c	2018-06-07 16:41:52.626432650 +0200
@@ -1404,8 +1404,8 @@ typedef  unsigned long   uint32;
                                     RootWindow( display, screen ),
                                     0,
                                     0,
-                                    (unsigned int)bitmap->width,
-                                    (unsigned int)bitmap->rows,
+                                    bitmap->width,
+                                    bitmap->rows,
                                     10,
                                     format->x_depth,
                                     InputOutput,
--- freetype-2.8/src/base/ftbitmap.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/base/ftbitmap.c	2018-06-07 18:26:08.488060315 +0200
@@ -90,7 +90,7 @@
 
     if ( pitch < 0 )
       pitch = -pitch;
-    size = (FT_ULong)pitch * source->rows;
+    size = (FT_ULong)( pitch * source->rows );
 
     if ( target->buffer )
     {
@@ -100,7 +100,7 @@
 
       if ( target_pitch < 0 )
         target_pitch = -target_pitch;
-      target_size = (FT_ULong)target_pitch * target->rows;
+      target_size = (FT_ULong)( target_pitch * target->rows );
 
       if ( target_size != size )
         (void)FT_QREALLOC( target->buffer, target_size, size );
@@ -156,7 +156,7 @@
     int             pitch;
     int             new_pitch;
     FT_UInt         bpp;
-    FT_UInt         i, width, height;
+    FT_Int          i, width, height;
     unsigned char*  buffer = NULL;
 
 
@@ -194,17 +194,17 @@
     if ( ypixels == 0 && new_pitch <= pitch )
     {
       /* zero the padding */
-      FT_UInt  bit_width = (FT_UInt)pitch * 8;
-      FT_UInt  bit_last  = ( width + xpixels ) * bpp;
+      FT_Int  bit_width = pitch * 8;
+      FT_Int  bit_last  = ( width + xpixels ) * bpp;
 
 
       if ( bit_last < bit_width )
       {
         FT_Byte*  line  = bitmap->buffer + ( bit_last >> 3 );
         FT_Byte*  end   = bitmap->buffer + pitch;
-        FT_UInt   shift = bit_last & 7;
+        FT_Int    shift = bit_last & 7;
         FT_UInt   mask  = 0xFF00U >> shift;
-        FT_UInt   count = height;
+        FT_Int    count = height;
 
 
         for ( ; count > 0; count--, line += pitch, end += pitch )
@@ -233,7 +233,7 @@
     /* thus take care of the flow direction         */
     if ( bitmap->pitch > 0 )
     {
-      FT_UInt  len = ( width * bpp + 7 ) >> 3;
+      FT_Int  len = ( width * bpp + 7 ) >> 3;
 
 
       for ( i = 0; i < bitmap->rows; i++ )
@@ -243,7 +243,7 @@
     }
     else
     {
-      FT_UInt  len = ( width * bpp + 7 ) >> 3;
+      FT_Int  len = ( width * bpp + 7 ) >> 3;
 
 
       for ( i = 0; i < bitmap->rows; i++ )
@@ -275,8 +275,7 @@
   {
     FT_Error        error;
     unsigned char*  p;
-    FT_Int          i, x, pitch;
-    FT_UInt         y;
+    FT_Int          i, x, y, pitch;
     FT_Int          xstr, ystr;
 
 
@@ -420,8 +419,8 @@
       p += bitmap->pitch;
     }
 
-    bitmap->width += (FT_UInt)xstr;
-    bitmap->rows += (FT_UInt)ystr;
+    bitmap->width += xstr;
+    bitmap->rows += ystr;
 
     return FT_Err_Ok;
   }
@@ -506,8 +505,8 @@
     case FT_PIXEL_MODE_LCD_V:
     case FT_PIXEL_MODE_BGRA:
       {
-        FT_Int    pad, old_target_pitch, target_pitch;
-        FT_ULong  old_size;
+        FT_Int   pad, old_target_pitch, target_pitch;
+        FT_Long  old_size;
 
 
         old_target_pitch = target->pitch;
@@ -617,7 +616,7 @@
     case FT_PIXEL_MODE_LCD:
     case FT_PIXEL_MODE_LCD_V:
       {
-        FT_UInt  width = source->width;
+        FT_Int   width = source->width;
         FT_UInt  i;
 
 
--- freetype-2.8/src/pcf/pcfdrivr.c.orig	2018-06-07 11:42:57.757375204 +0200
+++ freetype-2.8/src/pcf/pcfdrivr.c	2018-06-07 16:59:25.832896549 +0200
@@ -523,10 +523,10 @@ THE SOFTWARE.
 
     metric = face->metrics + glyph_index;
 
-    bitmap->rows       = (unsigned int)( metric->ascent +
-                                         metric->descent );
-    bitmap->width      = (unsigned int)( metric->rightSideBearing -
-                                         metric->leftSideBearing );
+    bitmap->rows       = ( metric->ascent +
+                           metric->descent );
+    bitmap->width      = ( metric->rightSideBearing -
+                           metric->leftSideBearing );
     bitmap->num_grays  = 1;
     bitmap->pixel_mode = FT_PIXEL_MODE_MONO;
 
--- freetype-2.8/src/raster/ftraster.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/raster/ftraster.c	2018-06-07 18:07:14.977278387 +0200
@@ -2479,7 +2479,7 @@
       {
         e1 = TRUNC( e1 );
 
-        if ( e1 >= 0 && (ULong)e1 < ras.target.rows )
+        if ( e1 >= 0 && e1 < ras.target.rows )
         {
           Byte   f1;
           PByte  bits;
@@ -2589,7 +2589,7 @@
         /* bounding box instead                                           */
         if ( pxl < 0 )
           pxl = e1;
-        else if ( (ULong)( TRUNC( pxl ) ) >= ras.target.rows )
+        else if ( ( TRUNC( pxl ) ) >= ras.target.rows )
           pxl = e2;
 
         /* check that the other pixel isn't set */
@@ -2604,9 +2604,9 @@
         if ( ras.target.pitch > 0 )
           bits += (Long)( ras.target.rows - 1 ) * ras.target.pitch;
 
-        if ( e1 >= 0                     &&
-             (ULong)e1 < ras.target.rows &&
-             *bits & f1                  )
+        if ( e1 >= 0              &&
+             e1 < ras.target.rows &&
+             *bits & f1           )
           goto Exit;
       }
       else
@@ -2615,7 +2615,7 @@
 
     e1 = TRUNC( pxl );
 
-    if ( e1 >= 0 && (ULong)e1 < ras.target.rows )
+    if ( e1 >= 0 && e1 < ras.target.rows )
     {
       FT_TRACE7(( " -> y=%d (drop-out)", e1 ));
 
--- freetype-2.8/src/sfnt/pngshim.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/sfnt/pngshim.c	2018-06-07 18:08:07.825359421 +0200
@@ -209,10 +209,10 @@
     }
 
     if ( !populate_map_and_metrics                            &&
-         ( (FT_UInt)x_offset + metrics->width  > map->width ||
-           (FT_UInt)y_offset + metrics->height > map->rows  ||
-           pix_bits != 32                                   ||
-           map->pixel_mode != FT_PIXEL_MODE_BGRA            ) )
+         ( x_offset + metrics->width  > map->width ||
+           y_offset + metrics->height > map->rows  ||
+           pix_bits != 32                          ||
+           map->pixel_mode != FT_PIXEL_MODE_BGRA   ) )
     {
       error = FT_THROW( Invalid_Argument );
       goto Exit;
@@ -270,7 +270,7 @@
       map->num_grays  = 256;
 
       /* reject too large bitmaps similarly to the rasterizer */
-      if ( map->rows > 0x7FFF || map->width > 0x7FFF )
+      if ( map->rows > 0x4FFF || map->width > 0x4FFF )
       {
         error = FT_THROW( Array_Too_Large );
         goto DestroyExit;
@@ -346,7 +346,7 @@
 
     if ( populate_map_and_metrics )
     {
-      /* this doesn't overflow: 0x7FFF * 0x7FFF * 4 < 2^32 */
+      /* this doesn't overflow: 0x4FFF * 0x4FFF * 4 < 2^31 */
       FT_ULong  size = map->rows * (FT_ULong)map->pitch;
 
 
--- freetype-2.8/src/sfnt/ttsbit.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/sfnt/ttsbit.c	2018-06-07 18:31:57.610612501 +0200
@@ -705,7 +705,7 @@
     FT_Error    error = FT_Err_Ok;
     FT_Byte*    line;
     FT_Int      pitch, width, height, line_bits, h;
-    FT_UInt     bit_height, bit_width;
+    FT_Int      bit_height, bit_width;
     FT_Bitmap*  bitmap;
 
     FT_UNUSED( recurse_count );
--- freetype-2.8/src/smooth/ftgrays.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/smooth/ftgrays.c	2018-06-07 17:01:09.008070697 +0200
@@ -1880,7 +1880,7 @@ typedef ptrdiff_t  FT_PtrDist;
         ras.target.origin = target_map->buffer;
       else
         ras.target.origin = target_map->buffer
-              + ( target_map->rows - 1 ) * (unsigned int)target_map->pitch;
+              + (unsigned int) (( target_map->rows - 1 ) * target_map->pitch);
 
       ras.target.pitch = target_map->pitch;
 
--- freetype-2.8/src/smooth/ftsmooth.c.orig	2017-05-01 09:35:12.000000000 +0200
+++ freetype-2.8/src/smooth/ftsmooth.c	2018-06-07 17:01:51.040141641 +0200
@@ -292,8 +292,8 @@
 
     bitmap->pixel_mode = FT_PIXEL_MODE_GRAY;
     bitmap->num_grays  = 256;
-    bitmap->width      = (unsigned int)width;
-    bitmap->rows       = (unsigned int)height;
+    bitmap->width      = width;
+    bitmap->rows       = height;
     bitmap->pitch      = pitch;
 
     /* translate outline to render it into the bitmap */
--- freetype-2.8/src/winfonts/winfnt.c.orig	2017-03-30 12:20:23.000000000 +0200
+++ freetype-2.8/src/winfonts/winfnt.c	2018-06-07 18:21:47.809648016 +0200
@@ -1038,7 +1038,7 @@
 
     p = font->fnt_frame + offset;
 
-    bitmap->width = FT_NEXT_USHORT_LE( p );
+    bitmap->width = FT_NEXT_SHORT_LE( p );
 
     /* jump to glyph entry */
     if ( new_format )
@@ -1079,7 +1079,7 @@
     /* allocate and build bitmap */
     {
       FT_Memory  memory = FT_FACE_MEMORY( slot->face );
-      FT_UInt    pitch  = ( bitmap->width + 7 ) >> 3;
+      FT_Int     pitch  = ( bitmap->width + 7 ) >> 3;
       FT_Byte*   column;
       FT_Byte*   write;