formatting - removed trailing spaces
diff --git a/src/base/ftcalc.c b/src/base/ftcalc.c
index c08c40b..2feee69 100644
--- a/src/base/ftcalc.c
+++ b/src/base/ftcalc.c
@@ -53,7 +53,7 @@
      536870912,  759250125, 1073741824, 1518500250,
     2147483647
   };
-#else  
+#else
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -243,12 +243,12 @@
   /* <Return>                                                              */
   /*    The 32-bit square-root.                                            */
   /*                                                                       */
-  
+
      static
      int  ft_order64( FT_Int64  z )
      {
        int  j = 0;
-   
+
        while ( z )
        {
          z = (unsigned INT64)z >> 1;
@@ -678,13 +678,13 @@
   /* <Return>                                                              */
   /*    The 32-bit square-root.                                            */
   /*                                                                       */
-  
+
       static
       int  ft_order64( FT_Int64*  z )
       {
         FT_Word32  i;
         int        j;
-    
+
         i = z->lo;
         j = 0;
         if ( z->hi )
@@ -692,7 +692,7 @@
           i = z->hi;
           j = 32;
         }
-    
+
         while ( i > 0 )
         {
           i >>= 1;
diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c
index 4bfb3ce..271a6b5 100644
--- a/src/base/ftglyph.c
+++ b/src/base/ftglyph.c
@@ -32,11 +32,11 @@
                          FT_Bool   vertical )
 {
     FT_Glyph_Metrics*  metrics = &face->glyph->metrics;
-    
+
     glyph->memory   = face->memory;
     glyph->width    = metrics->width;
     glyph->height   = metrics->height;
-    
+
     if (vertical)
     {
       glyph->bearingX = metrics->vertBearingX;
@@ -110,13 +110,13 @@
     FT_Pos           origin_y = 0;
 
     *abitglyph = 0;
-    
+
     if (origin)
     {
       origin_x = origin->x & 63;
       origin_y = origin->y & 63;
     }
-    
+
     /* check arguments if the face's format is not scalable */
     if ( !(face->face_flags & FT_FACE_FLAG_SCALABLE) && face->transform_flags )
     {
@@ -135,10 +135,10 @@
     /* disable embedded bitmaps for transformed images */
     if ( face->face_flags & FT_FACE_FLAG_SCALABLE && face->transform_flags )
       load_flags |= FT_LOAD_NO_BITMAP;
-      
+
     error = FT_Load_Glyph( face, glyph_index, load_flags );
     if (error) goto Exit;
-    
+
     /* now, handle bitmap and outline glyph images */
     memory = face->memory;
     switch ( face->glyph->format )
@@ -147,22 +147,22 @@
         {
           FT_Long     size;
           FT_Bitmap*  source;
-          
+
           if ( ALLOC( bitglyph, sizeof(*bitglyph) ) )
             goto Exit;
-            
+
           glyph             = (FT_Glyph)bitglyph;
           glyph->glyph_type = ft_glyph_type_bitmap;
           ft_prepare_glyph( glyph, face, 0 );
-          
+
           source = &face->glyph->bitmap;
           size   = source->rows * source->pitch;
           if (size < 0) size = -size;
-          
+
           bitglyph->bitmap = *source;
           if ( ALLOC( bitglyph->bitmap.buffer, size ) )
             goto Fail;
-            
+
           /* copy the content of the source glyph */
           MEM_Copy( bitglyph->bitmap.buffer, source->buffer, size );
         }
@@ -173,49 +173,49 @@
           FT_BBox  cbox;
           FT_Int   width, height, pitch;
           FT_Long  size;
-          
+
           /* transform the outline - note that the original metrics are NOT */
           /* transformed by this.. only the outline points themselves..     */
           FT_Outline_Transform( &face->glyph->outline, &face->transform_matrix );
           FT_Outline_Translate( &face->glyph->outline,
                                 face->transform_delta.x + origin_x,
                                 face->transform_delta.y + origin_y );
-                                
+
           /* compute the size in pixels of the outline */
           FT_Outline_Get_CBox( &face->glyph->outline, &cbox );
           cbox.xMin &= -64;
           cbox.yMin &= -64;
           cbox.xMax  = (cbox.xMax+63) & -64;
           cbox.yMax  = (cbox.yMax+63) & -64;
-          
+
           width  = (cbox.xMax - cbox.xMin) >> 6;
           height = (cbox.yMax - cbox.yMin) >> 6;
 
           /* allocate the pixel buffer for the glyph bitmap */
           if (grays) pitch = (width+3) & -4;  /* some raster implementation need this */
                 else pitch = (width+7) >> 3;
-            
+
           size  = pitch * height;
           if ( ALLOC( bitglyph, sizeof(*bitglyph) ) )
             goto Exit;
-            
+
           glyph             = (FT_Glyph)bitglyph;
           glyph->glyph_type = ft_glyph_type_bitmap;
           ft_prepare_glyph( glyph, face, 0 );
-          
+
           if ( ALLOC( bitglyph->bitmap.buffer, size ) )
             goto Fail;
-          
+
           bitglyph->bitmap.width      = width;
           bitglyph->bitmap.rows       = height;
           bitglyph->bitmap.pitch      = pitch;
           bitglyph->bitmap.pixel_mode = grays ? ft_pixel_mode_grays
                                               : ft_pixel_mode_mono;
           bitglyph->bitmap.num_grays  = (short)grays;
-          
+
           bitglyph->left = (cbox.xMin >> 6);
           bitglyph->top  = (cbox.yMax >> 6);
-          
+
           /* render the monochrome outline into the target buffer */
           FT_Outline_Translate( &face->glyph->outline, -cbox.xMin, -cbox.yMin );
           error = FT_Outline_Get_Bitmap( face->driver->library,
@@ -228,22 +228,22 @@
           }
         }
         break;
-      
+
       default:
         error = FT_Err_Invalid_Glyph_Index;
         goto Exit;
     }
-    
+
     *abitglyph = bitglyph;
   Exit:
     return error;
-    
+
   Fail:
     FREE( glyph );
     goto Exit;
   }
 
-  
+
  /***********************************************************************
   *
   * <Function>
@@ -257,7 +257,7 @@
   *    face        :: handle to source face object
   *    glyph_index :: glyph index in face
   *    load_flags  :: load flags, see FT_LOAD_FLAG_XXXX constants..
-  * 
+  *
   * <Output>
   *    vecglyph :: pointer to the new outline glyph
   *
@@ -269,7 +269,7 @@
   *    FT_LOAD_NO_RECURSE are set..
   *
   ***********************************************************************/
-  
+
   EXPORT_FUNC(FT_Error)  FT_Get_Glyph_Outline( FT_Face           face,
                                                FT_UInt           glyph_index,
                                                FT_UInt           load_flags,
@@ -280,27 +280,27 @@
     FT_OutlineGlyph  glyph;
 
     *vecglyph = 0;
-        
+
     /* check that NO_OUTLINE and NO_RECURSE are not set */
     if (load_flags & (FT_LOAD_NO_OUTLINE|FT_LOAD_NO_RECURSE))
     {
       error = FT_Err_Invalid_Argument;
       goto Exit;
     }
-    
+
     /* disable the loading of embedded bitmaps */
     load_flags |= FT_LOAD_NO_BITMAP;
-    
+
     error = FT_Load_Glyph( face, glyph_index, load_flags );
     if (error) goto Exit;
-    
+
     /* check that we really loaded an outline */
     if ( face->glyph->format != ft_glyph_format_outline )
     {
       error = FT_Err_Invalid_Glyph_Index;
       goto Exit;
     }
-    
+
     /* transform the outline - note that the original metrics are NOT */
     /* transformed by this.. only the outline points themselves..     */
     if ( face->transform_flags )
@@ -310,7 +310,7 @@
                             face->transform_delta.x,
                             face->transform_delta.y );
     }
-    
+
     /* now, create a new outline glyph and copy everything there */
     memory = face->memory;
     if ( ALLOC( glyph, sizeof(*glyph) ) )
@@ -318,20 +318,20 @@
 
     ft_prepare_glyph( (FT_Glyph)glyph, face, 0 );
     glyph->metrics.glyph_type = ft_glyph_type_outline;
-    
+
     error = FT_Outline_New( face->driver->library,
                             face->glyph->outline.n_points,
                             face->glyph->outline.n_contours,
                             &glyph->outline );
     if (!error)
       error = FT_Outline_Copy( &face->glyph->outline, &glyph->outline );
-      
+
     if (error) goto Fail;
-    
+
     *vecglyph = glyph;
   Exit:
     return error;
-    
+
   Fail:
     FREE( glyph );
     goto Exit;
@@ -344,7 +344,7 @@
   *
   * <Description>
   *    A function used to set the transform that is applied to glyph images
-  *    just after they're loaded in the face's glyph slot, and before they're 
+  *    just after they're loaded in the face's glyph slot, and before they're
   *    returned by either FT_Get_Glyph_Bitmap or FT_Get_Glyph_Outline
   *
   * <Input>
@@ -357,13 +357,13 @@
   *    in a font face. It is unable to transform embedded glyph bitmaps
   *
   ***********************************************************************/
-  
+
   EXPORT_FUNC(void) FT_Set_Transform( FT_Face     face,
                                       FT_Matrix*  matrix,
                                       FT_Vector*  delta )
   {
     face->transform_flags = 0;
-    
+
     if (!matrix)
     {
       face->transform_matrix.xx = 0x10000L;
@@ -374,7 +374,7 @@
     }
     else
       face->transform_matrix = *matrix;
-    
+
     /* set transform_flags bit flag 0 if delta isn't the null vector */
     if ( (matrix->xy | matrix->yx) ||
          matrix->xx != 0x10000L    ||
@@ -389,7 +389,7 @@
     }
     else
       face->transform_delta = *delta;
-      
+
     /* set transform_flags bit flag 1 if delta isn't the null vector */
     if ( delta->x | delta->y )
       face->transform_flags |= 2;
@@ -404,16 +404,16 @@
   *    Destroys a given glyph..
   *
   * <Input>
-  *    glyph  :: handle to target glyph object 
+  *    glyph  :: handle to target glyph object
   *
   ***********************************************************************/
-  
+
   EXPORT_FUNC(void)  FT_Done_Glyph( FT_Glyph  glyph )
   {
     if (glyph)
     {
       FT_Memory  memory = glyph->memory;
-      
+
       if ( glyph->glyph_type == ft_glyph_type_bitmap )
       {
         FT_BitmapGlyph  bit = (FT_BitmapGlyph)glyph;
@@ -429,7 +429,7 @@
           FREE( out->outline.tags );
         }
       }
-      
+
       FREE( glyph );
     }
   }
@@ -444,7 +444,7 @@
   *    Returns the glyph image's bounding box in pixels.
   *
   * <Input>
-  *    glyph :: handle to target glyph object 
+  *    glyph :: handle to target glyph object
   *
   * <Output>
   *    box   :: the glyph bounding box. Coordinates are expressed in
@@ -458,13 +458,13 @@
   *    The height is box.yMax - box.yMin
   *
   ***********************************************************************/
-  
+
   EXPORT_FUNC(void)  FT_Glyph_Get_Box( FT_Glyph  glyph,
                                        FT_BBox  *box )
   {
     box->xMin = box->xMax = 0;
     box->yMin = box->yMax = 0;
-    
+
     if (glyph) switch (glyph->glyph_type)
     {
       case ft_glyph_type_bitmap:
@@ -476,11 +476,11 @@
           box->yMin = box->yMax - bit->bitmap.rows;
         }
         break;
-        
+
       case ft_glyph_type_outline:
         {
           FT_OutlineGlyph  out = (FT_OutlineGlyph)glyph;
-          
+
           FT_Outline_Get_CBox( &out->outline, box );
           box->xMin >>= 6;
           box->yMin >>= 6;
@@ -488,7 +488,7 @@
           box->yMax  = (box->yMax+63) >> 6;
         }
         break;
-        
+
       default:
         ;
     }
@@ -502,7 +502,7 @@
  /****                                                                   ****/
  /***************************************************************************/
  /***************************************************************************/
- 
+
 #if 0
 
 /* Compute the norm of a vector */
@@ -542,21 +542,21 @@
     hi  = (FT_ULong)u >> 16;
     lo  = (FT_ULong)u & 0xFFFF;
     med = hi*lo;
-    
+
     H     = hi*hi + (med >> 15);
     med <<= 17;
     L     = lo*lo + med;
     if (L < med) H++;
-    
+
     hi  = (FT_ULong)v >> 16;
     lo  = (FT_ULong)v & 0xFFFF;
     med = hi*lo;
-    
+
     H    += hi*hi + (med >> 15);
     med <<= 17;
     L2    = lo*lo + med;
     if (L2 < med) H++;
-    
+
     L += L2;
     if (L < L2) H++;
 
@@ -598,17 +598,17 @@
     prev  = cur - 1;
     next  = cur + 1;
 
-    first = 0;    
+    first = 0;
     for ( c = 0; c < outline->n_contours; c++ )
     {
       last  = outline->contours[c];
 
       if ( n == first )
         prev = outline->points + last;
-        
+
       if ( n == last )
         next = outline->points + first;
-        
+
       first = last + 1;
     }
 
@@ -721,7 +721,7 @@
 	for ( c = 0; c < outline->n_contours; c++ )
 	{
 	  int  last = outline->contours[c];
-	  
+
 	  prev = points[last];
 
 	  for ( n = first; n <= last; n++ )
@@ -777,7 +777,7 @@
 
 		  x = distance + cur.x + FT_MulFix( d, u.x + v.x )/2;
 		  y = distance + cur.y + FT_MulFix( d, u.y + v.y )/2;
-		  
+
 		  outline->points[n].x = x;
 		  outline->points[n].y = y;
 		}
@@ -794,4 +794,4 @@
 	return 0;
   }
 
-#endif /* 0 - EXPERIMENTAL STUFF !! */  
+#endif /* 0 - EXPERIMENTAL STUFF !! */
diff --git a/src/base/ftgrays.c b/src/base/ftgrays.c
index 67ef667..95550ce 100644
--- a/src/base/ftgrays.c
+++ b/src/base/ftgrays.c
@@ -120,7 +120,7 @@
 #define FT_MAX_GRAY_SPANS  32
 
 
-#ifdef GRAYS_COMPACT  
+#ifdef GRAYS_COMPACT
 typedef struct TCell_
 {
   short  x     : 14;
@@ -599,12 +599,12 @@
     /* we compute the mid-point directly in order to avoid */
     /* calling split_conic()..                             */
     TPos   to_x, to_y, mid_x, mid_y;
-    
+
     to_x  = UPSCALE(to->x);
     to_y  = UPSCALE(to->y);
     mid_x = (ras.x + to_x + 2*UPSCALE(control->x))/4;
     mid_y = (ras.y + to_y + 2*UPSCALE(control->y))/4;
-    
+
     return render_line( RAS_VAR_ mid_x, mid_y ) ||
            render_line( RAS_VAR_ to_x, to_y );
   }
@@ -613,7 +613,7 @@
   levels    = ras.lev_stack;
   top       = 0;
   levels[0] = level;
-  
+
   arc[0].x = UPSCALE(to->x);
   arc[0].y = UPSCALE(to->y);
   arc[1].x = UPSCALE(control->x);
@@ -647,12 +647,12 @@
   Draw:
     {
       TPos   to_x, to_y, mid_x, mid_y;
-      
+
       to_x  = arc[0].x;
       to_y  = arc[0].y;
       mid_x = (ras.x + to_x + 2*arc[1].x)/4;
       mid_y = (ras.y + to_y + 2*arc[1].y)/4;
-      
+
       if ( render_line( RAS_VAR_ mid_x, mid_y ) ||
            render_line( RAS_VAR_ to_x, to_y )   ) return 1;
       top--;
@@ -723,12 +723,12 @@
   if (level <= 1)
   {
     TPos   to_x, to_y, mid_x, mid_y;
-    
+
     to_x  = UPSCALE(to->x);
     to_y  = UPSCALE(to->y);
     mid_x = (ras.x + to_x + 3*UPSCALE(control1->x+control2->x))/8;
     mid_y = (ras.y + to_y + 3*UPSCALE(control1->y+control2->y))/8;
-    
+
     return render_line( RAS_VAR_ mid_x, mid_y ) ||
            render_line( RAS_VAR_ to_x, to_y );
   }
@@ -775,12 +775,12 @@
   Draw:
     {
       TPos   to_x, to_y, mid_x, mid_y;
-      
+
       to_x  = arc[0].x;
       to_y  = arc[0].y;
       mid_x = (ras.x + to_x + 3*(arc[1].x+arc[2].x))/8;
       mid_y = (ras.y + to_y + 3*(arc[1].y+arc[2].y))/8;
-      
+
       if ( render_line( RAS_VAR_ mid_x, mid_y ) ||
            render_line( RAS_VAR_ to_x, to_y )   ) return 1;
       top --;
@@ -1015,9 +1015,9 @@
     for ( ; count > 0; count--, spans++ )
     {
       if (spans->coverage)
-#if 1      
+#if 1
         memset( p + spans->x, (spans->coverage+1) >> 1, spans->len );
-#else        
+#else
       {
         q     = p + spans->x;
         limit = q + spans->len;
@@ -1172,7 +1172,7 @@
         ++cur;
         if (cur >= limit || cur->y != start->y || cur->x != start->x)
           break;
-          
+
         area  += cur->area;
         cover += cur->cover;
       }
@@ -1226,7 +1226,7 @@
   typedef struct TBand_
   {
     FT_Pos  min, max;
-    
+
   } TBand;
 
   static
@@ -1254,7 +1254,7 @@
     if ( ras.max_ex <= 0 || ras.min_ex >= ras.target.width ||
          ras.max_ey <= 0 || ras.min_ey >= ras.target.rows  )
       return 0;
-        
+
     if (ras.min_ex < 0) ras.min_ex = 0;
     if (ras.min_ey < 0) ras.min_ey = 0;
 
@@ -1271,7 +1271,7 @@
         level++;
       if (ras.max_ex > 120 || ras.max_ey > 120)
         level+=2;
-        
+
       ras.conic_level <<= level;
       ras.cubic_level <<= level;
     }
@@ -1280,7 +1280,7 @@
     num_bands = (ras.max_ey - ras.min_ey)/ras.band_size;
     if (num_bands == 0)  num_bands = 1;
     if (num_bands >= 39) num_bands = 39;
-      
+
     ras.band_shoot = 0;
 
     min   = ras.min_ey;
@@ -1290,24 +1290,24 @@
       max = min + ras.band_size;
       if (n == num_bands-1 || max > max_y)
         max = max_y;
-        
+
       bands[0].min = min;
       bands[0].max = max;
       band         = bands;
-            
+
       while (band >= bands)
       {
         FT_Pos  bottom, top, middle;
         int     error;
-  
+
         ras.num_cells = 0;
         ras.invalid   = 1;
         ras.min_ey    = band->min;
         ras.max_ey    = band->max;
-  
+
         error = FT_Outline_Decompose( outline, &interface, &ras ) ||
                 record_cell( RAS_VAR );
-  
+
         if (!error)
         {
           #ifdef SHELL_SORT
@@ -1315,22 +1315,22 @@
           #else
           quick_sort( ras.cells, ras.num_cells );
           #endif
-      
+
           #ifdef DEBUG_GRAYS
           check_sort( ras.cells, ras.num_cells );
           dump_cells( RAS_VAR );
           #endif
-  
+
           grays_sweep( RAS_VAR_  &ras.target );
           band--;
           continue;
         }
-  
+
         /* render pool overflow, we will reduce the render band by half */
         bottom = band->min;
         top    = band->max;
         middle = bottom + ((top-bottom) >> 1);
-  
+
         /* waoow !! this is too complex for a single scanline, something */
         /* must be really rotten here !!                                 */
         if (middle == bottom)
@@ -1340,10 +1340,10 @@
           #endif
           return 1;
         }
-  
+
         if (bottom-top >= ras.band_size)
           ras.band_shoot++;
-  
+
         band[1].min = bottom;
         band[1].max = middle;
         band[0].min = middle;
@@ -1461,10 +1461,10 @@
                            long         pool_size )
   {
     PRaster  rast = (PRaster)raster;
-    
+
     if (raster && pool_base && pool_size >= 4096)
       init_cells( rast, (char*)pool_base, pool_size );
-      
+
     rast->band_size  = (pool_size / sizeof(TCell))/8;
   }
 
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 29caeea..81438e2 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -227,9 +227,9 @@
     memory   = library->memory;
     if ( ALLOC( stream, sizeof ( *stream ) ) )
       goto Exit;
-      
+
     stream->memory = memory;
-    
+
     /* now, look at the stream flags */
     if ( args->flags & ft_open_memory )
     {
@@ -253,10 +253,10 @@
     {
       error = FT_Err_Invalid_Argument;
     }
-    
+
     if ( error )
       FREE( stream );
-      
+
     *astream = stream;
   Exit:
     return error;
@@ -341,7 +341,7 @@
       face->generic.finalizer( face );
 
     /* close the stream for this face */
-    ft_done_stream( &face->stream );    
+    ft_done_stream( &face->stream );
 
     /* get rid of it */
     FREE( face );
@@ -394,8 +394,8 @@
   *   FT_Get_Raster
   *
   * <Description>
-  *   Return a pointer to the raster corresponding to a given glyph   
-  *   format tag.      
+  *   Return a pointer to the raster corresponding to a given glyph
+  *   format tag.
   *
   * <Input>
   *   library      :: handle to source library object
@@ -408,13 +408,13 @@
   *   a pointer to the corresponding raster object.
   *
   *************************************************************************/
-  
+
   EXPORT_FUNC(FT_Raster)  FT_Get_Raster( FT_Library        library,
                                          FT_Glyph_Format   glyph_format,
                                          FT_Raster_Funcs  *raster_funcs )
   {
     FT_Int  n;
-    
+
     for ( n = 0; n < FT_MAX_GLYPH_FORMATS; n++ )
     {
       FT_Raster_Funcs*  funcs = &library->raster_funcs[n];
@@ -462,18 +462,18 @@
     FT_Raster        raster;
     FT_Error         error;
     FT_Int           n, index;
- 
+
     if ( glyph_format == ft_glyph_format_none)
       return FT_Err_Invalid_Argument;
-    
+
     /* create a new raster object */
     error = raster_funcs->raster_new( library->memory, &raster );
     if (error) goto Exit;
-    
+
     raster_funcs->raster_reset( raster,
                                 library->raster_pool,
                                 library->raster_pool_size );
-    
+
     index = -1;
     for (n = 0; n < FT_MAX_GLYPH_FORMATS; n++)
     {
@@ -482,7 +482,7 @@
       /* record the first vacant entry in "index" */
       if (index < 0 && funcs->glyph_format == ft_glyph_format_none)
         index = n;
-      
+
       /* compare this entry's glyph format with the one we need */
       if (funcs->glyph_format == glyph_format)
       {
@@ -511,7 +511,7 @@
   Fail:
     raster_funcs->raster_done( raster );
     goto Exit;
-  }                           
+  }
 
   /*************************************************************************/
   /*                                                                       */
@@ -534,8 +534,8 @@
     FT_Glyph_Format  glyph_format = raster_funcs->glyph_format;
     FT_Error         error;
     FT_Int           n;
- 
-    error = FT_Err_Invalid_Argument;    
+
+    error = FT_Err_Invalid_Argument;
     if ( glyph_format == ft_glyph_format_none)
       goto Exit;
 
@@ -581,7 +581,7 @@
   {
     FT_Raster_Funcs  funcs;
     FT_Raster        raster;
-    
+
     raster = FT_Get_Raster( library, format, &funcs );
     if (raster && funcs.raster_set_mode )
       return funcs.raster_set_mode( raster, mode, args );
@@ -657,7 +657,7 @@
     /* now register the default raster for the `outline' glyph image format */
     /* for now, ignore the error...                                         */
     error = FT_Set_Raster( library, &ft_default_raster );
-    
+
 
     /* That's ok now */
     *alibrary = library;
@@ -1133,13 +1133,13 @@
       {
         FT_Int         num_params = 0;
         FT_Parameter*  params     = 0;
-        
+
         if ( args->flags & ft_open_params )
         {
           num_params = args->num_params;
           params     = args->params;
         }
-        
+
         error = open_face( driver, stream, face_index,
                            num_params, params, &face );
         if ( !error )
@@ -1164,13 +1164,13 @@
         {
           FT_Int         num_params = 0;
           FT_Parameter*  params     = 0;
-          
+
           if ( args->flags & ft_open_params )
           {
             num_params = args->num_params;
             params     = args->params;
           }
-          
+
           error = open_face( driver, stream, face_index,
                              num_params, params, &face );
           if ( !error )
@@ -1194,7 +1194,7 @@
       goto Fail;
 
     node->data = face;
-    /* don't assume driver is the same as face->driver, so use 
+    /* don't assume driver is the same as face->driver, so use
        face->driver instead. (JvR 3/5/2000) */
     FT_List_Add( &face->driver->faces_list, node );
 
@@ -1283,7 +1283,7 @@
     return FT_Attach_Stream( face, &open );
   }
 
-                            
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -1315,33 +1315,33 @@
     FT_Stream  stream;
     FT_Error   error;
     FT_Driver  driver;
-    
+
     FTDriver_getInterface  get_interface;
-    
+
     if ( !face || !face->driver )
       return FT_Err_Invalid_Handle;
-      
+
     driver = face->driver;
     error = ft_new_input_stream( driver->library, parameters, &stream );
     if (error) goto Exit;
-    
+
     /* we implement FT_Attach_Stream in each driver through the */
     /* "attach_file" interface..                                */
     error = FT_Err_Unimplemented_Feature;
 
     get_interface = driver->interface.get_interface;
-    if (get_interface)    
+    if (get_interface)
     {
       FT_Attach_Reader  reader;
-      
+
       reader = (FT_Attach_Reader)(get_interface( driver, "attach_file" ));
       if (reader)
         error = reader( face, stream );
     }
-    
+
     /* close the attached stream */
     ft_done_stream( &stream );
-    
+
   Exit:
     return error;
   }
@@ -1653,7 +1653,7 @@
                                     face->units_per_EM );
     }
 
-    error = interface->set_pixel_sizes( face->size, 
+    error = interface->set_pixel_sizes( face->size,
                                         pixel_width,
                                         pixel_height );
     return error;
@@ -1814,7 +1814,7 @@
       return FT_Err_Invalid_Face_Handle;
 
     driver = face->driver;
-    
+
     /* when the flag NO_RECURSE is set, we disable hinting and scaling */
     if (load_flags & FT_LOAD_NO_RECURSE)
       load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
@@ -1940,7 +1940,7 @@
   {
     FT_CharMap*  cur   = face->charmaps;
     FT_CharMap*  limit = cur + face->num_charmaps;
-    
+
     for ( ; cur < limit; cur++ )
     {
       if ( cur[0]->encoding == encoding )
@@ -1979,7 +1979,7 @@
   {
     FT_CharMap*  cur   = face->charmaps;
     FT_CharMap*  limit = cur + face->num_charmaps;
-    
+
     for ( ; cur < limit; cur++ )
     {
       if ( cur[0] == charmap )
@@ -2048,26 +2048,26 @@
   *    You can load any table with a different function.. XXX
   *
   ***************************************************************************/
-  
-  
+
+
   EXPORT_FUNC(void*)  FT_Get_Sfnt_Table( FT_Face      face,
                                          FT_Sfnt_Tag  tag )
   {
     void*                   table = 0;
     FT_Get_Sfnt_Table_Func  func;
     FT_Driver               driver;
-    
+
     if (!face || !FT_IS_SFNT(face))
       goto Exit;
-    
+
     driver = face->driver;
     func = (FT_Get_Sfnt_Table_Func)driver->interface.get_interface( driver, "get_sfnt" );
     if (func)
       table = func(face,tag);
-    
+
   Exit:
     return table;
-  }			    
+  }
 
 
 
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c
index 10befb5..e3db124 100644
--- a/src/base/ftoutln.c
+++ b/src/base/ftoutln.c
@@ -88,7 +88,7 @@
 
       v_start = outline->points[first];
       v_last  = outline->points[last];
-      
+
       v_start.x = SCALED(v_start.x);  v_start.y = SCALED(v_start.y);
       v_last.x  = SCALED(v_last.x);   v_last.y  = SCALED(v_last.y);
 
@@ -133,91 +133,91 @@
       {
         point++;
         tags++;
-  
+
         tag = FT_CURVE_TAG( tags[0] );
         switch (tag)
         {
           case FT_Curve_Tag_On:  /* emit a single line_to */
             {
               FT_Vector  vec;
-              
+
               vec.x = SCALED(point->x);
               vec.y = SCALED(point->y);
-              
+
               error = interface->line_to( &vec, user );
               if (error) goto Exit;
               continue;
             }
 
-          
+
           case FT_Curve_Tag_Conic:  /* consume conic arcs */
             {
               v_control.x = SCALED(point->x);
               v_control.y = SCALED(point->y);
-              
+
             Do_Conic:
               if (point < limit)
               {
                 FT_Vector  vec;
                 FT_Vector  v_middle;
-                
+
                 point++;
                 tags++;
                 tag = FT_CURVE_TAG( tags[0] );
-                
+
                 vec.x = SCALED(point->x);
                 vec.y = SCALED(point->y);
-                
+
                 if (tag == FT_Curve_Tag_On)
                 {
                   error = interface->conic_to( &v_control, &vec, user );
                   if (error) goto Exit;
                   continue;
                 }
-                
+
                 if (tag != FT_Curve_Tag_Conic)
                   goto Invalid_Outline;
-  
+
                 v_middle.x = (v_control.x + vec.x)/2;
                 v_middle.y = (v_control.y + vec.y)/2;
-  
+
                 error = interface->conic_to( &v_control, &v_middle, user );
                 if (error) goto Exit;
-                
+
                 v_control = vec;
                 goto Do_Conic;
               }
-              
+
               error = interface->conic_to( &v_control, &v_start, user );
               goto Close;
             }
-          
+
           default:  /* FT_Curve_Tag_Cubic */
             {
               FT_Vector  vec1, vec2;
-              
+
               if ( point+1 > limit         ||
                    FT_CURVE_TAG( tags[1] ) != FT_Curve_Tag_Cubic )
                 goto Invalid_Outline;
-                
+
               point += 2;
               tags  += 2;
-              
+
               vec1.x = SCALED(point[-2].x);  vec1.y = SCALED(point[-2].y);
               vec2.x = SCALED(point[-1].x);  vec2.y = SCALED(point[-1].y);
 
               if (point <= limit)
               {
                 FT_Vector  vec;
-                
+
                 vec.x = SCALED(point->x);
                 vec.y = SCALED(point->y);
-                
+
                 error = interface->cubic_to( &vec1, &vec2, &vec, user );
                 if (error) goto Exit;
                 continue;
               }
-              
+
               error = interface->cubic_to( &vec1, &vec2, &v_start, user );
               goto Close;
             }
@@ -226,7 +226,7 @@
 
       /* close the contour with a line segment */
       error = interface->line_to( &v_start, user );
-      
+
    Close:
       if (error) goto Exit;
       first = last+1;
@@ -235,7 +235,7 @@
     return 0;
   Exit:
     return error;
-    
+
   Invalid_Outline:
     return -1;
   }
@@ -389,7 +389,7 @@
                                         FT_BBox*     cbox )
   {
     FT_Pos  xMin, yMin, xMax, yMax;
-    
+
     if ( outline && cbox )
     {
       if ( outline->n_points == 0 )
@@ -428,7 +428,7 @@
     }
   }
 
-  
+
 
   /*************************************************************************/
   /*                                                                       */
@@ -481,18 +481,18 @@
   {
     FT_UShort  n;
     FT_Int     first, last;
-    
+
     first = 0;
     for ( n = 0; n < outline->n_contours; n++ )
     {
       last  = outline->contours[n];
-      
+
       /* reverse point table */
       {
         FT_Vector*  p = outline->points + first;
         FT_Vector*  q = outline->points + last;
         FT_Vector   swap;
-        
+
         while (p < q)
         {
           swap = *p;
@@ -502,13 +502,13 @@
           q--;
         }
       }
-      
+
       /* reverse tags table */
       {
         char*  p = outline->tags + first;
         char*  q = outline->tags + last;
         char   swap;
-        
+
         while (p < q)
         {
           swap = *p;
@@ -518,7 +518,7 @@
           q--;
         }
       }
-      
+
       first = last+1;
     }
     outline->flags ^= ft_outline_reverse_fill;
@@ -538,7 +538,7 @@
   BASE_FUNC(void)  FT_Done_GlyphZone( FT_GlyphZone*  zone )
   {
     FT_Memory  memory = zone->memory;
-    
+
     FREE( zone->contours );
     FREE( zone->tags );
     FREE( zone->cur );
@@ -547,7 +547,7 @@
     zone->max_points   = zone->n_points   = 0;
     zone->max_contours = zone->n_contours = 0;
   }
-  
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -581,7 +581,7 @@
 
     MEM_Set( zone, 0, sizeof(*zone) );
     zone->memory = memory;
-    
+
     if ( ALLOC_ARRAY( zone->org,      maxPoints*2, FT_F26Dot6 ) ||
          ALLOC_ARRAY( zone->cur,      maxPoints*2, FT_F26Dot6 ) ||
          ALLOC_ARRAY( zone->tags,    maxPoints,   FT_Byte    ) ||
@@ -621,7 +621,7 @@
   {
     FT_Error      error  = FT_Err_Ok;
     FT_Memory     memory = zone->memory;
-    
+
     newPoints += 2;
     if ( zone->max_points < newPoints )
     {
@@ -630,16 +630,16 @@
            REALLOC_ARRAY( zone->cur,   zone->max_points*2, newPoints*2, FT_F26Dot6 ) ||
            REALLOC_ARRAY( zone->tags, zone->max_points*2, newPoints,   FT_Byte    ) )
         goto Exit;
-        
+
       zone->max_points = newPoints;
     }
-    
+
     if ( zone->max_contours < newContours )
     {
       /* reallocate the contours array */
       if ( REALLOC_ARRAY( zone->contours, zone->max_contours, newContours, FT_UShort ) )
         goto Exit;
-        
+
       zone->max_contours = newContours;
     }
   Exit:
@@ -692,7 +692,7 @@
     params.flags  = 0;
     if (map->pixel_mode == ft_pixel_mode_grays)
       params.flags |= ft_raster_flag_aa;
-    
+
     error = funcs.raster_render( raster, &params );
   Exit:
     return error;
@@ -732,7 +732,7 @@
   EXPORT_FUNC(FT_Error)  FT_Outline_Render( FT_Library        library,
                                             FT_Outline*       outline,
                                             FT_Raster_Params* params )
-  {                               
+  {
     FT_Error         error;
     FT_Raster        raster;
     FT_Raster_Funcs  funcs;
@@ -788,7 +788,7 @@
                                         FT_Outline*  target )
   {
     FT_Int  is_owner;
-    
+
     if ( !source            || !target            ||
          source->n_points   != target->n_points   ||
          source->n_contours != target->n_contours )
@@ -806,7 +806,7 @@
     /* copy all flags, except the "ft_outline_owner" one */
     is_owner = target->flags & ft_outline_owner;
     target->flags = source->flags;
-    
+
     target->flags &= ~ft_outline_owner;
     target->flags |= is_owner;
     return FT_Err_Ok;
diff --git a/src/base/ftraster.c b/src/base/ftraster.c
index 93c25af..26a9a2b 100644
--- a/src/base/ftraster.c
+++ b/src/base/ftraster.c
@@ -189,14 +189,14 @@
   /**                                                            **/
   /****************************************************************/
   /****************************************************************/
-  
+
   typedef int            Int;
   typedef unsigned int   UInt;
   typedef short          Short;
   typedef unsigned short UShort, *PUShort;
   typedef long           Long, *PLong;
   typedef unsigned long  ULong;
-  
+
   typedef unsigned char  Byte, *PByte;
   typedef char           Bool;
 
@@ -204,7 +204,7 @@
   {
     Long  x;
     Long  y;
-    
+
   } TPoint;
 
 
@@ -213,7 +213,7 @@
     Flow_None = 0,
     Flow_Up   = 1,
     Flow_Down = -1
-  
+
   } TFlow;
 
 
@@ -224,7 +224,7 @@
     Ascending,
     Descending,
     Flat
-    
+
   } TStates;
 
 
@@ -257,7 +257,7 @@
   {
     Short  y_min;   /* band's minimum */
     Short  y_max;   /* band's maximum */
-    
+
   } TBand;
 
 
@@ -410,7 +410,7 @@
                         /* in bytes of at least 'gray_width*2'              */
 
 #endif /* FT_RASTER_ANTI_ALIASING */
-    
+
 #if 0
     PByte     flags;                /* current flags table    */
     PUShort   outs;                 /* current outlines table */
@@ -428,7 +428,7 @@
 
   static TRaster_Instance  cur_ras;
   #define ras  cur_ras
-  
+
 #else
 
   #define ras  (*raster)
@@ -442,7 +442,7 @@
   /**                                                            **/
   /****************************************************************/
   /****************************************************************/
-  
+
 
 /************************************************************************/
 /*                                                                      */
@@ -1415,7 +1415,7 @@
       SWAP_(v_start.x,v_start.y);
       SWAP_(v_last.x,v_last.y);
     }
-    
+
     v_control = v_start;
 
     point = points + first;
@@ -1457,14 +1457,14 @@
     {
       point++;
       tags++;
-  
+
       tag = FT_CURVE_TAG( tags[0] );
       switch (tag)
       {
         case FT_Curve_Tag_On:  /* emit a single line_to */
           {
             Long  x, y;
-            
+
             x = SCALED(point->x);
             y = SCALED(point->y);
             if (flipped) SWAP_(x,y);
@@ -1473,64 +1473,64 @@
             continue;
           }
 
-          
+
         case FT_Curve_Tag_Conic:  /* consume conic arcs */
           {
             v_control.x = SCALED(point[0].x);
             v_control.y = SCALED(point[0].y);
             if (flipped) SWAP_(v_control.x,v_control.y);
-              
+
           Do_Conic:
             if (point < limit)
             {
               FT_Vector  v_middle;
               Long       x, y;
-              
+
               point++;
               tags++;
               tag = FT_CURVE_TAG( tags[0] );
-              
+
               x = SCALED(point[0].x);
               y = SCALED(point[0].y);
               if (flipped) SWAP_(x,y);
-                
+
               if (tag == FT_Curve_Tag_On)
               {
                 if (Conic_To( RAS_VARS v_control.x, v_control.y, x, y ))
                   goto Fail;
                 continue;
               }
-                
+
               if (tag != FT_Curve_Tag_Conic)
                 goto Invalid_Outline;
 
               v_middle.x = (v_control.x + x)/2;
               v_middle.y = (v_control.y + y)/2;
 
-              if (Conic_To( RAS_VARS v_control.x, v_control.y, 
+              if (Conic_To( RAS_VARS v_control.x, v_control.y,
                                      v_middle.x,  v_middle.y )) goto Fail;
-                
+
               v_control.x = x;
               v_control.y = y;
               goto Do_Conic;
             }
-          
+
             if (Conic_To( RAS_VARS v_control.x, v_control.y,
                                    v_start.x,   v_start.y )) goto Fail;
             goto Close;
           }
-          
+
         default:  /* FT_Curve_Tag_Cubic */
           {
             Long  x1, y1, x2, y2, x3, y3;
-            
+
             if ( point+1 > limit         ||
                  FT_CURVE_TAG( tags[1] ) != FT_Curve_Tag_Cubic )
               goto Invalid_Outline;
-                
+
             point += 2;
             tags  += 2;
-            
+
             x1 = SCALED(point[-2].x);
             y1 = SCALED(point[-2].y);
             x2 = SCALED(point[-1].x);
@@ -1549,7 +1549,7 @@
                 goto Fail;
               continue;
             }
-            
+
             if (Cubic_To( RAS_VARS x1, y1, x2, y2, v_start.x, v_start.y ))
               goto Fail;
             goto Close;
@@ -1563,14 +1563,14 @@
 
   Close:
     return SUCCESS;
-    
+
   Invalid_Outline:
     ras.error = Raster_Err_Invalid;
-  
+
   Fail:
     return FAILURE;
   }
-  
+
 /****************************************************************************/
 /*                                                                          */
 /* Function:    Convert_Glyph                                               */
@@ -1650,7 +1650,7 @@
   /**                                                            **/
   /****************************************************************/
   /****************************************************************/
-  
+
 
 /************************************************/
 /*                                              */
@@ -1820,14 +1820,14 @@
   static void  Vertical_Sweep_Init( RAS_ARGS Short*  min, Short*  max )
   {
     Long  pitch = ras.target.pitch;
-    
+
     UNUSED(max);
-    
+
     ras.traceIncr = (Short)- pitch;
     ras.traceOfs  = - *min * pitch;
     if (pitch > 0)
       ras.traceOfs += (ras.target.rows-1)*pitch;
-  
+
     ras.gray_min_x = 0;
     ras.gray_max_x = 0;
   }
@@ -2039,7 +2039,7 @@
 
     UNUSED(left);
     UNUSED(right);
-    
+
     if ( x2-x1 < ras.precision )
     {
       e1 = CEILING( x1 );
@@ -2059,7 +2059,7 @@
           p = bits - e1*ras.target.pitch;
           if (ras.target.pitch > 0)
             p += (ras.target.rows-1)*ras.target.pitch;
-         
+
           p[0] |= f1;
         }
       }
@@ -2191,7 +2191,7 @@
   static void  Vertical_Gray_Sweep_Init( RAS_ARGS Short*  min, Short*  max )
   {
     Long  pitch, byte_len;
-    
+
     *min = *min & -2;
     *max = ( *max + 3 ) & -2;
 
@@ -2232,7 +2232,7 @@
         Int    last_cell  = last_pixel >> 2;
         Int    last_bit   = last_pixel & 3;
         Bool   over       = 0;
-      
+
         if (ras.gray_max_x >= last_cell && last_bit != 3)
         {
           ras.gray_max_x = last_cell-1;
@@ -2267,7 +2267,7 @@
           pix += 4;
           c1  --;
         }
-        
+
         if (over)
         {
           c2 = count[*bit] + count[*bit2];
@@ -2800,7 +2800,7 @@
 
     ras.bWidth  = ras.gray_width;
     pixel_width = 2*((ras.target.width + 3) >> 2);
-      
+
     if ( ras.bWidth > pixel_width )
       ras.bWidth = pixel_width;
 
@@ -2850,7 +2850,7 @@
   {
     FT_UInt  n;
     FT_ULong c;
-    
+
     /* setup count table */
     for ( n = 0; n < 256; n++ )
     {
@@ -2860,14 +2860,14 @@
           ((c << 4) & 0x0300) |
           ((c << 2) & 0x0030) |
                 (c  & 0x0003);
-                 
+
       raster->count_table[n] = c;
     }
-    
+
     /* set default 5-levels gray palette */
     for ( n = 0; n < 5; n++ )
       raster->grays[n] = (n*127/4);
-      
+
     raster->gray_width = RASTER_GRAY_LINES/2;
   }
 
@@ -2879,7 +2879,7 @@
   int  ft_black_new( void*  memory, FT_Raster *araster )
   {
      static FT_RasterRec_  the_raster;
-     *araster = &the_raster;  
+     *araster = &the_raster;
      memset( &the_raster, sizeof(the_raster), 0 );
      ft_black_init( &the_raster );
      return 0;
@@ -2901,7 +2901,7 @@
   {
     FT_Error           error;
     TRaster_Instance*  raster;
-    
+
     *araster = 0;
     if ( !ALLOC( raster, sizeof(*raster) ))
     {
@@ -2910,17 +2910,17 @@
 
       *araster = raster;
     }
-      
+
     return error;
   }
-  
+
   static
   void ft_black_done( TRaster_Instance*  raster )
   {
     FT_Memory  memory = (FT_Memory)raster->memory;
     FREE( raster );
   }
-  
+
 #endif
 
 
@@ -2949,8 +2949,8 @@
       raster->grays[3] = palette[3];
       raster->grays[4] = palette[4];
     }
-  }                                 
-  
+  }
+
 
   static
   int  ft_black_render( TRaster_Instance*  raster,
@@ -2958,7 +2958,7 @@
   {
     FT_Outline*  outline    = (FT_Outline*)params->source;
     FT_Bitmap*   target_map = params->target;
-    
+
     if ( !raster || !raster->buff || !raster->sizeBuff )
       return Raster_Err_Not_Ini;
 
@@ -2981,8 +2981,8 @@
 
     ras.outline  = *outline;
     ras.target   = *target_map;
-    
-    return ( params->flags & ft_raster_flag_aa 
+
+    return ( params->flags & ft_raster_flag_aa
            ? Render_Gray_Glyph( raster )
            : Render_Glyph( raster ) );
   }
diff --git a/src/base/ftstream.c b/src/base/ftstream.c
index d759a43..2179ba1 100644
--- a/src/base/ftstream.c
+++ b/src/base/ftstream.c
@@ -428,29 +428,29 @@
   {
     FT_Error  error;
     FT_Bool   frame_accessed = 0;
-    
+
     if (!fields || !stream)
       return FT_Err_Invalid_Argument;
-      
+
     error = FT_Err_Ok;
     do
     {
       FT_ULong  value;
       FT_Int    sign_shift;
       FT_Byte*  p;
-      
+
       switch (fields->value)
       {
         case ft_frame_start:  /* access a new frame */
           {
             error = FT_Access_Frame( stream, fields->offset );
             if (error) goto Exit;
-            
+
             frame_accessed = 1;
             fields++;
             continue;  /* loop ! */
           }
-          
+
         case ft_frame_byte:
         case ft_frame_schar:  /* read a single byte */
           {
@@ -458,7 +458,7 @@
             sign_shift = 24;
             break;
           }
-          
+
         case ft_frame_short_be:
         case ft_frame_ushort_be:  /* read a 2-byte big-endian short */
           {
@@ -538,13 +538,13 @@
           /* otherwise, exit the loop */
           goto Exit;
       }
-      
+
       /* now, compute the signed value is necessary */
       if (fields->value & FT_FRAME_OP_SIGNED)
         value   = (FT_ULong)((FT_Long)(value << sign_shift) >> sign_shift);
-      
+
       /* finally, store the value in the object */
-      
+
       p = (FT_Byte*)structure + fields->offset;
       switch (fields->size)
       {
@@ -553,7 +553,7 @@
         case 4: *(FT_ULong*)p  = (FT_ULong) value; break;
         default:  ; /* ignore !! */
       }
-      
+
       /* go to next field */
       fields++;
     }
@@ -563,7 +563,7 @@
     /* close the frame if it was opened by this read */
     if (frame_accessed)
       FT_Forget_Frame(stream);
-      
+
     return error;
   }
 
diff --git a/src/base/ftsystem.c b/src/base/ftsystem.c
index e9dae85..165b2f1 100644
--- a/src/base/ftsystem.c
+++ b/src/base/ftsystem.c
@@ -6,20 +6,20 @@
  *
  *    This file contains the definition of interface used by FreeType
  *    to access low-level, i.e. memory management, i/o access as well
- *    as thread synchronisation.              
+ *    as thread synchronisation.
  *
  *
- *  Copyright 1996-1999 by                                                   
- *  David Turner, Robert Wilhelm, and Werner Lemberg                         
- *                                                                           
- *  This file is part of the FreeType project, and may only be used          
- *  modified and distributed under the terms of the FreeType project         
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute       
- *  this file you indicate that you have read the license and                 
- *  understand and accept it fully.                                          
- *                                                                           
+ *  Copyright 1996-1999 by
+ *  David Turner, Robert Wilhelm, and Werner Lemberg
+ *
+ *  This file is part of the FreeType project, and may only be used
+ *  modified and distributed under the terms of the FreeType project
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
+ *  this file you indicate that you have read the license and
+ *  understand and accept it fully.
+ *
  **************************************************************************/
- 
+
 #include <freetype/config/ftconfig.h>
 #include <freetype/ftsystem.h>
 #include <freetype/fterrors.h>
@@ -48,7 +48,7 @@
  * <Output>
  *    block     :: address of newly allocated block
  *
- * <Return>  
+ * <Return>
  *    Error code. 0 means success.
  *
  * <Note>
@@ -90,7 +90,7 @@
  *    Error code. 0 means success.
  *
  * <Note>
- *    This function is _never_ called when the system flag 
+ *    This function is _never_ called when the system flag
  *    FT_SYSTEM_FLAG_NO_REALLOC is set. Instead, the engine will emulate
  *    realloc through "alloc" and "free".
  *
@@ -165,10 +165,10 @@
                                unsigned long  count )
   {
     FILE*  file;
-    
+
     file = STREAM_FILE(stream);
 
-    fseek( file, offset, SEEK_SET );    
+    fseek( file, offset, SEEK_SET );
     return (unsigned long)fread( buffer, 1, count, file );
   }
 
@@ -177,18 +177,18 @@
                                    FT_Stream    stream )
   {
     FILE*  file;
-    
+
     file = fopen( filepathname, "rb" );
     if (!file)
       return FT_Err_Cannot_Open_Resource;
-      
+
     fseek( file, 0, SEEK_END );
     stream->size = ftell(file);
     fseek( file, 0, SEEK_SET );
-    
+
     stream->descriptor.pointer = file;
     stream->pos                = 0;
-    
+
     stream->read  = ft_io_stream;
     stream->close = ft_close_stream;
 
@@ -199,7 +199,7 @@
   EXPORT_FUNC(FT_Memory)  FT_New_Memory( void )
   {
     FT_Memory  memory;
-    
+
     memory = (FT_Memory)malloc( sizeof(*memory) );
     if (memory)
     {
diff --git a/src/oldapi/truetype.h b/src/oldapi/truetype.h
index fbde469..e97656e 100644
--- a/src/oldapi/truetype.h
+++ b/src/oldapi/truetype.h
@@ -19,13 +19,13 @@
  *
  *  This file is part of the FreeType project and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
  *  Note:
  *
- *    This is the only file that should be included by client            
+ *    This is the only file that should be included by client
  *    application sources.  All other types and functions defined
  *    in the "tt*.h" files are library internals and should not be
  *    included.
@@ -115,7 +115,7 @@
 
 
   struct  TT_UnitVector_      /* guess what...  */
-  { 
+  {
     TT_F2Dot14  x;
     TT_F2Dot14  y;
   };
@@ -215,7 +215,7 @@
 
   typedef struct TT_Outline_  TT_Outline;
 
- 
+
   /* A structure used to return glyph metrics.                          */
   /*                                                                    */
   /* The "bearingX" isn't called "left-side bearing" anymore because    */
@@ -427,7 +427,7 @@
 
     TT_Short   metric_Data_Format;
     TT_UShort  number_Of_HMetrics;
-    
+
     /* The following fields are not defined by the TrueType specification */
     /* but they're used to connect the metrics header to the relevant     */
     /* "HMTX" or "VMTX" table.                                            */
@@ -463,7 +463,7 @@
 
     TT_Short   metric_Data_Format;
     TT_UShort  number_Of_VMetrics;
-    
+
     /* The following fields are not defined by the TrueType specification */
     /* but they're used to connect the metrics header to the relevant     */
     /* "HMTX" or "VMTX" table.                                            */
@@ -979,7 +979,7 @@
 
 
 
-  
+
   /*************************************************************/
   /*                                                           */
   /* <Struct> TT_SBit_Component                                */
@@ -1225,7 +1225,7 @@
   EXPORT_DEF
   TT_Error  TT_Set_Raster_Gray_Palette( TT_Engine       engine,
                                         const TT_Byte*  palette );
-  
+
 
   /* ----------------------- face management ----------------------- */
 
@@ -1450,7 +1450,7 @@
   /* Return glyph outline pointers in 'outline'.  Note that the returned */
   /* pointers are owned by the glyph object, and will be destroyed with  */
   /* it.  The client application should _not_ change the pointers.       */
-  
+
   EXPORT_DEF
   TT_Error  TT_Get_Glyph_Outline( TT_Glyph     glyph,
                                   TT_Outline*  outline );
@@ -1580,7 +1580,7 @@
   EXPORT_DEF
   void      TT_Matrix_Multiply( TT_Matrix*  a,
                                 TT_Matrix*  b );
-                 
+
 
   /* Invert a transformation matrix. */
 
@@ -1593,7 +1593,7 @@
   EXPORT_DEF
   TT_Long   TT_MulDiv( TT_Long A, TT_Long B, TT_Long C );
 
-  
+
   /* Compute A*B/0x10000 with 64 bits intermediate precision. */
   /* Useful to multiply by a 16.16 fixed float value.         */
 
@@ -1697,7 +1697,7 @@
                                 TT_UShort*   length );  /* string length
                                                            address */
 
- 
+
 
 #ifdef __cplusplus
   }
diff --git a/src/oldapi/ttapi.c b/src/oldapi/ttapi.c
index 6367251..1d07219 100644
--- a/src/oldapi/ttapi.c
+++ b/src/oldapi/ttapi.c
@@ -1,6 +1,6 @@
 /*******************************************************************
  *
- *  ttapi.c    
+ *  ttapi.c
  *
  *    High-level interface implementation
  *
@@ -9,7 +9,7 @@
  *
  *  This file is part of the FreeType project, and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
@@ -17,7 +17,7 @@
  *
  *    This file is used to implement most of the functions that are
  *    defined in the file "freetype.h". However, two functions are
- *    implemented elsewhere :                                
+ *    implemented elsewhere :
  *
  ******************************************************************/
 
@@ -47,7 +47,7 @@
 
   static
   const FT_DriverInterface*  tt_interface = &tt_driver_interface;
-  
+
   static
   const TT_DriverInterface*  tt_extension = &tt_format_interface;
 
@@ -84,7 +84,7 @@
 
     error = FT_New_System( &system );
     if (error) return error;
-    
+
     error = FT_New_Library( system, &library );
     if (!error)
       /* Now create a new TrueType driver object */
@@ -163,12 +163,12 @@
   EXPORT_FUNC
   TT_Error  TT_Set_Raster_Gray_Palette( TT_Engine       engine,
                                         const TT_Byte*  palette )
-  {  
+  {
     FT_Library  library;
-    
+
     if (!engine)
       return TT_Err_Invalid_Engine;
-    
+
     library = (FT_Library)engine;
     return FT_Set_Raster_Palette( library, 5, (unsigned char*)palette );
   }
@@ -216,13 +216,13 @@
         {
           TT_Error    error;
           FT_Resource resource;
-      
+
           *aface = 0;
-      
+
           error = FT_New_Resource( library, pathname, &resource );
           if (error) return error;
 
-#if 0      
+#if 0
           error = FT_Add_Resource( library, resource );
           if (error) goto Fail_Install;
 #endif
@@ -231,10 +231,10 @@
           /* Destroy glyph slot to comply with the 1.x API */
           if (!error)
             FT_Done_GlyphSlot( (*aface)->root.slot );
-      
+
           if (error)
             FT_Done_Resource(resource);
-      
+
           return error;
         }
 
@@ -249,7 +249,7 @@
 
     return  open_face( (FT_Library)engine, pathname, 0, aface );
   }
-  
+
 
   /***********************************************************************/
   /*                                                                     */
@@ -318,7 +318,7 @@
   TT_Error  TT_Close_Face( TT_Face  face )
   {
     FT_Resource  resource;
-    
+
     if (!face)
       return TT_Err_Invalid_Face_Handle;
 
@@ -377,7 +377,7 @@
     props->num_Names    = face->num_names;
     props->header       = &face->header;
     props->horizontal   = &face->horizontal;
-      
+
       /* The driver supports old Mac fonts where there are no OS/2  */
       /* tables present in the file. However, this is not true of   */
       /* FreeType 1.1. For the sake of backwards compatibility, we  */
@@ -390,7 +390,7 @@
       /*                                                            */
 
     props->os2          = &face->os2;
-      
+
     props->postscript    = &face->postscript;
     props->hdmx          = &face->hdmx;
     props->vertical      = ( face->vertical_info ? &face->vertical : 0 );
@@ -508,7 +508,7 @@
         /* This function will much probably move to another     */
         /* component in the short future, but I haven't decided */
         /* which yet...                                         */
-    
+
           static
           void  get_metrics( TT_HoriHeader*  header,
                              TT_Int          index,
@@ -516,10 +516,10 @@
                              TT_UShort*      advance )
           {
             TT_LongMetrics*  longs_m;
-    
+
             TT_UShort  k = header->number_Of_HMetrics;
-    
-    
+
+
             if ( index < k )
             {
               longs_m = (TT_LongMetrics*)header->long_metrics + index;
@@ -532,7 +532,7 @@
               *advance = ((TT_LongMetrics*)header->long_metrics)[k - 1].advance;
             }
           }
-    
+
 
 
   EXPORT_FUNC
@@ -769,7 +769,7 @@
   {
     /* The point size is now ignored by the driver */
     (void)pointSize;
-    
+
     return FT_Set_Pixel_Sizes( (FT_Size)ins, pixelWidth, pixelHeight );
   }
 
@@ -814,7 +814,7 @@
     metrics->x_ppem       = size->root.metrics.x_ppem;
     metrics->y_ppem       = size->root.metrics.y_ppem;
 
-    metrics->pointSize    = size->root.metrics.pointSize;    
+    metrics->pointSize    = size->root.metrics.pointSize;
     return TT_Err_Ok;
   }
 
@@ -936,7 +936,7 @@
     (void)instance;   /* the parameters are unused, the (void) prevents */
     (void)rotated;    /* warnings from pedantic compilers..             */
     (void)stretched;
-    
+
     return TT_Err_Ok;
   }
 
@@ -1130,7 +1130,7 @@
     metrics->bearingX  = slot->metrics.horiBearingX;
     metrics->bearingY  = slot->metrics.horiBearingY;
     metrics->advance   = slot->metrics.horiAdvance;
-    
+
     return TT_Err_Ok;
   }
 
@@ -1182,7 +1182,7 @@
 
     metrics->linearVertAdvance  = met2->vertAdvance;
     metrics->linearVertBearingY = met2->vertBearingY;
-   
+
     return TT_Err_Ok;
   }
 
@@ -1441,7 +1441,7 @@
 
 #include <stdlib.h>  /* for malloc and free */
 
-  static  TT_Outline  null_api_outline = { 0, 0, NULL, NULL, NULL, 
+  static  TT_Outline  null_api_outline = { 0, 0, NULL, NULL, NULL,
                                            0, 0, 0, 0 };
 
   EXPORT_FUNC
@@ -1459,7 +1459,7 @@
       outline->points   = (TT_Vector*)malloc( numPoints * sizeof(TT_Vector) );
       outline->flags    = (TT_Byte*)  malloc( numPoints * sizeof(TT_Char)   );
       outline->contours = (TT_UShort*)malloc( numPoints * sizeof(TT_UShort) );
-    
+
       if ( !outline->points || !outline->flags || !outline->contours )
         goto Fail;
 
@@ -1573,7 +1573,7 @@
                               TT_Matrix*   matrix )
   {
     FT_Transform_Outline( (FT_Outline*)outline, (FT_Matrix*)matrix );
-  }  
+  }
 
 /*******************************************************************
  *
@@ -1679,7 +1679,7 @@
     return FT_MulDiv( A, B, C );
   }
 
-  
+
   /***********************************************************************/
   /*                                                                     */
   /* <Function>                                                          */
@@ -1910,12 +1910,12 @@
 
     if (!face)
       return TT_Err_Invalid_Face_Handle;
-      
+
     if ( nameIndex >= face->num_names )
       return TT_Err_Bad_Argument;
 
     name = face->name_table.names + nameIndex;
-        
+
     *platformID = name->platformID;
     *encodingID = name->encodingID;
     *languageID = name->languageID;
@@ -1953,18 +1953,18 @@
                                 TT_UShort*   length )
   {
     TT_NameRec* name;
-    
+
     if (!face)
       return TT_Err_Invalid_Face_Handle;
-      
+
     if ( nameIndex >= face->num_names )
       return TT_Err_Bad_Argument;
 
     name = face->name_table.names + nameIndex;
 
     *stringPtr = (TT_String*)name->string;
-    *length    = name->stringLength;        
-    
+    *length    = name->stringLength;
+
     return TT_Err_Ok;
   }
 
diff --git a/src/otlayout/oltypes.c b/src/otlayout/oltypes.c
index 619b7a1..bd2fa22 100644
--- a/src/otlayout/oltypes.c
+++ b/src/otlayout/oltypes.c
@@ -21,23 +21,23 @@
     TT_UInt   count, max_langs;
     TT_Error  error;
 
-    /* skip version of the JSTF table */    
+    /* skip version of the JSTF table */
     if (otl_type == otl_jstf)
       start += 4;
-      
+
     p = start;
-      
+
     /* we must allocate the script_tags and language_tags arrays     */
     /* this requires that we compute the maximum number of languages */
     /* per script..                                                  */
-    
+
     count     = table->num_scripts = OTL_UShort(p);
     max_langs = 0;
     for ( ; count > 0; count++ )
     {
       TT_Byte*  script;
       TT_UInt   num_langs;
-      
+
       p += 4; /* skip tag */
       script = bytes + OTL_UShort(p);
 
@@ -48,10 +48,10 @@
       /* test if there is a default language system */
       if ( OTL_UShort(script) )
         num_langs++;
-      
+
       /* test other language systems */
       num_langs += OTL_UShort(script); /* add other lang sys */
-      
+
       if (num_langs > max_langs)
         max_langs = num_langs;
     }
@@ -65,15 +65,15 @@
       table->max_languages = max_langs;
       table->num_languages = 0;
       table->otl_type      = otl_type;
-  
+
       table->scripts_table = bytes;
       table->scripts_len   = len;
-      
+
       /* fill the script_tags array */
       {
         TT_UInt  n;
         TT_Byte* p = start + 2; /* skip count */
-        
+
         for ( n = 0; n < table->num_scripts; n++ )
         {
           table->script_tags[n] = OTL_ULong(p);
@@ -96,7 +96,7 @@
     TT_Error  error;
     TT_Byte*  p = bytes;
     TT_UInt   count;
-    
+
     table->max_features = count = OTL_UShort(p);
     if ( !ALLOC_ARRAY( table->feature_tags, count, TT_ULong ) &&
          !ALLOC_ARRAY( table->features,     count, TT_Bool  ) )
@@ -104,7 +104,7 @@
       table->features_table = bytes;
       table->features_len   = len;
     }
-    return error;     
+    return error;
   }
 
 
@@ -118,14 +118,14 @@
     TT_Error  error;
     TT_Byte*  p = bytes;
     TT_UInt   count;
-    
+
     table->max_lookups = count = OTL_UShort(p);
     if ( !ALLOC_ARRAY( table->lookups, count, TT_Bool ) )
     {
       table->lookups_table = bytes;
       table->lookups_len   = len;
     }
-    return error;     
+    return error;
   }
 
  /* discard table arrays */
@@ -149,12 +149,12 @@
     TT_Byte* p;
     TT_Byte* script = 0;
     TT_Byte* start = table->scripts_table;
-    
+
     if ( table->otl_type == otl_type_jstf )  /* skip version for JSTF */
       start += 4;
-      
+
     p = start + 6; /* skip count+first tag */
-    
+
     for ( n = 0; n < table->num_scripts; n++, p += 6 )
     {
       if ( table->script_tags[n] == script_tag )
@@ -163,7 +163,7 @@
         break;
       }
     }
-    
+
     table->cur_script = script;
     if (!script)
       table->num_languages = 0;
@@ -173,31 +173,31 @@
       /* not that we put a '0' tag in front of the list to indicate that */
       /* there is a default language for this script..                   */
       TT_ULong* tags = table->language_tags;
-      
+
       switch (table->otl_type)
       {
         case otl_type_base:
         case otl_type_jstf:
           script += 2;    /* skip basevalue or extenders */
           /* fall-through */
-          
+
         default:
           if ( OTL_UShort(script) )
             *tags++ = 0;
       }
-      
+
       count = OTL_UShort(script);
       for ( ; count > 0; count-- )
       {
         *tags++ = OTL_ULong(script);
         script += 2; /* skip offset */
       }
-      
+
       table->num_langs = tags - table->language_tags;
     }
   }
 
-  
+
  /* return the list of available features for the current script/language */
  /* use with a GPOS or GSUB script table                                  */
   LOCAL_FUNC
@@ -218,14 +218,14 @@
     {
       offset = OTL_UShort(script);
       if (!offset) return; /* if there is no default language, exit */
-        
+
       language = script - 2 + offset;
     }
     else
     {
       TT_Byte*  p = script + 8; /* skip default+count+1st tag */
       TT_UShort index;
-      
+
       for ( n = 0; n < table->num_languages; n++, p+=6 )
       {
         if ( table->language_tags[n] == language_tag )
@@ -235,9 +235,9 @@
         }
       }
 
-      table->cur_language = language; 
+      table->cur_language = language;
       if (!language) return;
-      
+
       p     = language + 2;   /* skip lookup order */
       index = OTL_UShort(p);  /* required feature index */
       if (index != 0xFFFF)
@@ -245,7 +245,7 @@
         if (index < table->max_features)
           table->features[index] = 1;
       }
-      
+
       count = OTL_UShort(p);
       for ( ; count > 0; count-- )
       {
@@ -265,11 +265,11 @@
     TT_UInt  n;
     TT_Byte* features = table->features_table;
     TT_Byte* p        = features + 6; /* skip count+1st tag */
-    
+
     /* clear lookup list */
     for ( n = 0; n < table->max_lookups; n++ )
       table->lookups[n] = 0;
-      
+
     /* now, parse the features list */
     for ( n = 0; n < table->features; n++ )
     {
@@ -278,10 +278,10 @@
         TT_UInt   count;
         TT_UShort index;
         TT_Byte*  feature;
-        
+
         feature = features + OTL_UShort(p);
         p      += 4;  /* skip tag */
-        
+
         /* now, select all lookups from this feature */
         count = OTL_UShort(feature);
         for ( ; count > 0; count-- )
@@ -293,9 +293,9 @@
       }
     }
   }
-  
 
- /* find the basevalues and minmax for the current script/language */  
+
+ /* find the basevalues and minmax for the current script/language */
  /* only use it with a BASE table..                                */
   LOCAL_FUNC
   void OTL_Get_Baseline_Values( OTL_Table*  table,
@@ -307,12 +307,12 @@
 
     table->cur_basevalues = 0;
     table->cur_minmax     = 0;
-    
-    /* read basevalues */    
+
+    /* read basevalues */
     offset = OTL_UShort(p);
     if (offset)
       table->cur_basevalues = script + offset;
-      
+
     offset = OTL_UShort(p);
     if (offset)
       table->cur_minmax = script + offset;
@@ -321,7 +321,7 @@
     for ( ; count > 0; count-- )
     {
       TT_ULong  tag;
-      
+
       tag = OTL_ULong(p);
       if ( language_tag == tag )
       {
@@ -341,7 +341,7 @@
     TT_Long    result = -1;
     TT_UInt    count, index, start, end;
     TT_Byte*   p = coverage;
-    
+
     switch ( OTL_UShort(p) )
     {
       case 1:  /* coverage format 1 - array of glyph indices */
@@ -357,7 +357,7 @@
           }
         }
         break;
-        
+
       case 2:
         {
           count = OTL_UShort(p);
@@ -387,14 +387,14 @@
     TT_Byte*  p = class_def;
     TT_UInt   result = 0;
     TT_UInt   start, end, count, index;
-    
+
     switch ( OTL_UShort(p) )
     {
       case 1:
         {
           start = OTL_UShort(p);
           count = OTL_UShort(p);
-          
+
           glyph_id -= start;
           if (glyph_id < count)
           {
@@ -403,7 +403,7 @@
           }
         }
         break;
-      
+
       case 2:
         {
           count = OTL_UShort(p);
@@ -434,7 +434,7 @@
     TT_Int    result = 0;
     TT_UInt   start, end;
     TT_Short  value;
-    
+
     start = OTL_UShort(p);
     end   = OTL_UShort(p);
     if (size >= start && size <= end)
@@ -442,7 +442,7 @@
       /* I know we could do all of this without a switch, with */
       /* clever shifts and everything, but it makes the code   */
       /* really difficult to understand..                      */
-      
+
       size -= start;
       switch ( OTL_UShort(p) )
       {
@@ -454,7 +454,7 @@
             result = value >> 14;
           }
           break;
-          
+
         case 2: /* 4-bits per value */
           {
             p     += 2*(size >> 2);
@@ -463,7 +463,7 @@
             result = value >> 12;
           }
           break;
-          
+
         case 3: /* 8-bits per value */
           {
             p     += 2*(size >> 1);
@@ -476,7 +476,7 @@
     }
     return result;
   }
-  
+
  /* extract a BaseCoord value */
   LOCAL_FUNC
   void    OTL_Get_Base_Coordinate( TT_Byte*          base_coord,
@@ -484,7 +484,7 @@
   {
     TT_Byte*  p = base_coord;
     TT_Int    result = 0;
-    
+
     coord->format     = OTL_UShort(p);
     coord->coordinate = OTL_Short(p);
     coord->device     = 0;
@@ -495,13 +495,13 @@
         coord->ref_glyph = OTL_UShort(p);
         coord->ref_point = OTL_UShort(p);
         break;
-        
+
       case 3: /* format 3 */
         coord->device = p - 4 + OTL_UShort(p);
         break;
 
       default:
-        ;     
+        ;
     }
   }
 
@@ -514,13 +514,13 @@
 
    /* each bit in the value format corresponds to a single ushort */
    /* we thus count the bits, and multiply the result by 2        */
-   
+
    count = (TT_Int)(format & 0xFF);
    count = ((count & 0xAA) >> 1) + (count & 0x55);
    count = ((count & 0xCC) >> 2) + (count & 0x33);
    count = ((count & 0xF0) >> 4) + (count & 0x0F);
 
-   return count*2;    
+   return count*2;
  }
 
 
@@ -533,28 +533,28 @@
 			    OTL_ValueRecord*  record )
  {
    TT_Byte*  p = value_record;
-   
+
    /* clear vectors */
    record->placement.x = 0;
    record->placement.y = 0;
    record->advance.x   = 0;
    record->advance.y   = 0;
-   
+
    record->device_pla_x = 0;
    record->device_pla_y = 0;
    record->device_adv_x = 0;
    record->device_adv_y = 0;
-   
+
    if (value_format & 1) record->placement.x = NEXT_Short(p);
    if (value_format & 2) record->placement.y = NEXT_Short(p);
    if (value_format & 4) record->advance.x   = NEXT_Short(p);
    if (value_format & 8) record->advance.y   = NEXT_Short(p);
-   
+
    if (value_format & 16)  record->device_pla_x = pos_table + NEXT_UShort(p);
    if (value_format & 32)  record->device_pla_y = pos_table + NEXT_UShort(p);
    if (value_format & 64)  record->device_adv_x = pos_table + NEXT_UShort(p);
    if (value_format & 128) record->device_adv_y = pos_table + NEXT_UShort(p);
- }			    
+ }
 
 
 
@@ -564,32 +564,32 @@
                        OTL_Anchor*  anchor )
  {
    TT_Byte*  p = anchor_table;
-   
+
    anchor->format   = NEXT_UShort(p);
    anchor->coord.x  = NEXT_Short(p);
    anchor->coord.y  = NEXT_Short(p);
    anchor->point    = 0;
    anchor->device_x = 0;
    anchor->device_y = 0;
-   
+
    switch (anchor->format)
    {
      case 2:
        anchor->point = NEXT_UShort(p);
        break;
-       
+
      case 3:
        anchor->device_x = anchor_table + NEXT_UShort(p);
        anchor->device_y = anchor_table + NEXT_UShort(p);
        break;
-       
+
      default:
        ;
    }
  }
 
 
- 
+
  /* extract Mark from MarkArray */
  LOCAL_FUNC
  void  OTL_Get_Mark( TT_Byte*     mark_array,
@@ -599,10 +599,10 @@
  {
    TT_Byte* p = mark_array;
    TT_UInt  count;
-   
+
    *clazz = 0;
    MEM_Set( anchor, 0, sizeof(*anchor) );
-   
+
    count = NEXT_UShort(p);
    if (index < count)
    {
diff --git a/src/otlayout/oltypes.h b/src/otlayout/oltypes.h
index dc92908..b4a4d80 100644
--- a/src/otlayout/oltypes.h
+++ b/src/otlayout/oltypes.h
@@ -25,7 +25,7 @@
   *    max_features  :: total number of features in table
   *    feature_tags  :: tags of all features for current script/language
   *    features      :: selection flags for all features in current script/lang
-  *    
+  *
   *    max_lookups   :: total number of lookups in table
   *    lookups       :: selection flags for all lookups for current
   *                     feature list.
@@ -40,17 +40,17 @@
     otl_type_gpos,
     otl_type_gsub,
     otl_type_jstf
-  
+
   } OTL_Type;
-  
-  
+
+
   typedef struct OTL_Table_
   {
     FT_Memory memory;
 
     TT_Int    num_scripts;
     TT_Tag*   script_tags;
-    
+
     TT_Int    max_languages;
     TT_Int    num_languages;
     TT_Tag*   language_tags;
@@ -61,19 +61,19 @@
 
     TT_Int    max_lookups;
     TT_Bool*  lookups;
-    
+
     TT_Byte*  scripts_table;
     TT_Long   scripts_len;
-    
+
     TT_Byte*  features_table;
     TT_Long*  features_len;
-    
+
     TT_Byte*  lookups_table;
     TT_Byte*  lookups_len;
 
     TT_Byte*  cur_script;   /* current script   */
     TT_Byte*  cur_language; /* current language */
-    
+
     TT_Byte*  cur_base_values;
     TT_Byte*  cur_min_max;
 
@@ -89,7 +89,7 @@
     TT_UShort  ref_glyph;
     TT_UShort  ref_point;
     TT_Byte*   device;
-  
+
   } OTL_BaseCoord;
 
 
@@ -102,7 +102,7 @@
     TT_Byte*   device_pla_y;
     TT_Byte*   device_adv_x;
     TT_Byte*   device_adv_y;
-  
+
   } OTL_ValueRecord;
 
 
@@ -113,7 +113,7 @@
     TT_UInt    anchor_point;
     TT_Byte*   device_x;
     TT_Byte*   device_y;
-  
+
   } OTL_Anchor;
 
   LOCAL_DEF
@@ -153,7 +153,7 @@
  *      table->num_scripts is the number of scripts
  *
  */
- 
+
 /********************************************************
  *
  *  - after calling OTL_Table_Set_Features:
@@ -169,7 +169,7 @@
  *      it is empty (zero-filled) by default.
  *
  */
- 
+
 /*******************************************************************
  *
  *  - after calling OTL_Get_Languages_List(script_tag):
@@ -217,7 +217,7 @@
   LOCAL_DEF
   void OTL_Get_Justification( OTL_Table*  table,
                               TT_ULong    language_tag );
- 
+
 /*******************************************************************
  *
  *  - after calling OTL_Get_Lookups_List():
diff --git a/src/psnames/psdriver.c b/src/psnames/psdriver.c
index 78283b7..0e532f4 100644
--- a/src/psnames/psdriver.c
+++ b/src/psnames/psdriver.c
@@ -20,7 +20,7 @@
     FT_Int  n;
     char    first = glyph_name[0];
     char    temp[64];
-    
+
     /* if the name begins with "uni", then the glyph name may be a */
     /* hard-coded unicode character code..                         */
     if ( glyph_name[0] == 'u' &&
@@ -36,7 +36,7 @@
       {
         char           c = *p;
         unsigned char  d;
-        
+
         d = (unsigned char)c-'0';
         if (d >= 10)
         {
@@ -49,7 +49,7 @@
         /* exit if one non-uppercase-hexadecimal character was found */
         if (d >= 16)
           break;
-          
+
         value = (value << 4) + d;
         if (count == 0)
           return value;
@@ -61,11 +61,11 @@
     {
       const char*  p;
       int          len;
-      
+
       p = glyph_name;
       while ( *p && *p != '.' ) p++;
       len = p-glyph_name;
-      
+
       if ( *p && len < 64 )
       {
         strncpy( temp, glyph_name, len );
@@ -73,12 +73,12 @@
         glyph_name = temp;
       }
     }
-        
+
     /* now, lookup the glyph in the Adobe Glyph List */
     for ( n = 0; n < NUM_ADOBE_GLYPHS; n++ )
     {
       const char*  name = t1_standard_glyphs[n];
-      
+
       if ( first == name[0] && strcmp( glyph_name, name ) == 0 )
         return names_to_unicode[n];
     }
@@ -86,14 +86,14 @@
     return 0;
   }
 
-  
+
  /* qsort callback to sort the unicode map */
   static
   int  compare_uni_maps( const void* a, const void* b )
   {
     PS_UniMap*  map1 = (PS_UniMap*)a;
     PS_UniMap*  map2 = (PS_UniMap*)b;
-    
+
     return ( map1->unicode < map2->unicode ? -1 :
              map1->unicode > map2->unicode ?  1 : 0 );
   }
@@ -107,18 +107,18 @@
                                     PS_Unicodes  *table )
   {
     FT_Error  error;
-    
+
     /* we first allocate the table */
     table->num_maps = 0;
     table->maps     = 0;
-    
+
     if ( !ALLOC_ARRAY( table->maps, num_glyphs, PS_UniMap ) )
     {
       FT_UInt     n;
       FT_UInt     count;
       PS_UniMap*  map;
       FT_ULong    uni_char;
-      
+
       map = table->maps;
       for ( n = 0; n < num_glyphs; n++ )
       {
@@ -143,7 +143,7 @@
       {
         count = 0;
       }
-      
+
       if (count == 0)
       {
         FREE( table->maps );
@@ -167,23 +167,23 @@
     /* perform a binary search on the table */
     min = table->maps;
     max = min + table->num_maps - 1;
-    
+
     while (min <= max)
     {
       mid = min + (max-min)/2;
       if ( mid->unicode == unicode )
         return mid->glyph_index;
-        
+
       if (min == max)
         break;
-        
+
       if ( mid->unicode < unicode ) min = mid+1;
                                else max = mid-1;
     }
 
     return 0xFFFF;
   }
-  
+
 #endif
 
   static
@@ -191,17 +191,17 @@
   {
     if (name_index >= 258)
       name_index = 0;
-      
+
     return standard_glyph_names[ mac_standard_names[name_index] ];
   }
 
-  
+
   static
   const char*  PS_Standard_Strings( FT_UInt  sid )
   {
     return (sid < NUM_STD_GLYPHS ? t1_standard_glyphs[sid] : 0);
   }
-  
+
   static const  PSNames_Interface  psnames_interface =
   {
 #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
@@ -216,11 +216,11 @@
 
     (PS_Macintosh_Name_Func)    PS_Macintosh_Name,
     (PS_Adobe_Std_Strings_Func) PS_Standard_Strings,
-    
+
     t1_standard_encoding,
     t1_expert_encoding
   };
-  
+
 
   const FT_DriverInterface  psnames_driver_interface =
   {
diff --git a/src/psnames/rules.mk b/src/psnames/rules.mk
index a97797b..af226b7 100644
--- a/src/psnames/rules.mk
+++ b/src/psnames/rules.mk
@@ -29,7 +29,7 @@
   # compilation flags for the driver
   #
   PSNAMES_CFLAGS  := $(PSNAMES_INCLUDE:%=$I%)
-  PSNAMES_COMPILE := $(FT_COMPILE) $(PSNAMES_CFLAGS) 
+  PSNAMES_COMPILE := $(FT_COMPILE) $(PSNAMES_CFLAGS)
 
 
   # driver sources (i.e., C files)
diff --git a/src/sfnt/rules.mk b/src/sfnt/rules.mk
index 31f7a8d..0969c35 100644
--- a/src/sfnt/rules.mk
+++ b/src/sfnt/rules.mk
@@ -29,7 +29,7 @@
   # compilation flags for the driver
   #
   SFNT_CFLAGS  := $(SFNT_INCLUDE:%=$I%)
-  SFNT_COMPILE := $(FT_COMPILE) $(SFNT_CFLAGS) 
+  SFNT_COMPILE := $(FT_COMPILE) $(SFNT_CFLAGS)
 
 
   # driver sources (i.e., C files)
diff --git a/src/sfnt/sfdriver.c b/src/sfnt/sfdriver.c
index 8fe6609..23682c4 100644
--- a/src/sfnt/sfdriver.c
+++ b/src/sfnt/sfdriver.c
@@ -8,7 +8,7 @@
   static const SFNT_Interface  sfnt_interface =
   {
     TT_Goto_Table,
-    
+
     TT_Load_Any,
     TT_Load_Format_Tag,
     TT_Load_Directory,
@@ -38,22 +38,22 @@
     0,
     0,
     0,
-#endif  
-    
+#endif
+
     /* see `ttpost.h' */
-#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES 
+#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES
     TT_Get_PS_Name,
-    TT_Free_Post_Names,    
+    TT_Free_Post_Names,
 #else
     0,
     0,
-#endif 
+#endif
 
     /* see `ttcmap.h' */
     TT_CharMap_Load,
     TT_CharMap_Free,
   };
-  
+
 
   const FT_DriverInterface  sfnt_driver_interface =
   {
diff --git a/src/sfnt/ttcmap.c b/src/sfnt/ttcmap.c
index 32604e0..08bee12 100644
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -30,7 +30,7 @@
   static TT_UInt  code_to_index0( TT_CMapTable*  charmap, TT_ULong  char_code );
   static TT_UInt  code_to_index2( TT_CMapTable*  charmap, TT_ULong  char_code );
   static TT_UInt  code_to_index4( TT_CMapTable*  charmap, TT_ULong  char_code );
-  static TT_UInt  code_to_index6( TT_CMapTable*  charmap, TT_ULong  char_code );      
+  static TT_UInt  code_to_index6( TT_CMapTable*  charmap, TT_ULong  char_code );
 
   /*************************************************************************/
   /*                                                                       */
@@ -152,7 +152,7 @@
         cmap2->glyphIdArray[i] = GET_UShort();
 
       FORGET_Frame();
-      
+
       cmap->get_index = code_to_index2;
       break;
 
@@ -212,7 +212,7 @@
         cmap4->glyphIdArray[i] = GET_UShort();
 
       FORGET_Frame();
-      
+
       cmap->get_index = code_to_index4;
       break;
 
@@ -338,7 +338,7 @@
                           TT_ULong       charCode )
   {
     TT_CMap0*  cmap0 = &cmap->c.cmap0;
-    
+
     return ( charCode <= 0xFF ? cmap0->glyphIdArray[charCode] : 0 );
   }
 
diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c
index b2a678c..c764d28 100644
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -56,7 +56,7 @@
   {
     TT_Table*  entry;
     TT_Table*  limit;
-    
+
     FT_TRACE4(( "TT_LookUp_Table( %08lx, %c%c%c%c )\n",
                   (TT_Long)face,
                   (TT_Char)(tag >> 24),
@@ -70,7 +70,7 @@
     {
       if ( entry->Tag == tag )
         return entry;
-    }    
+    }
     FT_TRACE4(( "    Could not find table!\n" ));
     return 0;
   }
@@ -99,18 +99,18 @@
   {
     TT_Table*  table;
     TT_Error   error;
-    
+
     table = TT_LookUp_Table( face, tag );
     if (table)
     {
       if (length)
         *length = table->Length;
-        
+
       (void)FILE_Seek( table->Offset );
     }
     else
       error = TT_Err_Table_Missing;
-      
+
     return error;
   }
 
@@ -147,7 +147,7 @@
   {
     TT_Error   error;
     FT_Memory  memory = stream->memory;
-    
+
 #ifdef READ_FIELDS
     const FT_Frame_Field  ttc_header_fields[] = {
            FT_FRAME_START(8),  /* frame of 8 bytes */
@@ -173,9 +173,9 @@
     if ( *format_tag == TTAG_ttcf )
     {
       TT_Int  n;
-    
+
       FT_TRACE4(( "TT_Load_Format_Tag: file is a collection\n" ));
-      
+
       /* it's a TrueType collection, i.e. a file containing several */
       /* font files. Read the font directory now                    */
       /*                                                            */
@@ -183,7 +183,7 @@
       if ( READ_Fields( ttc_header_fields, &face->ttc_header ) )
         goto Exit;
     #else
-      if ( ACCESS_Frame( 8 ) ) goto Exit;   
+      if ( ACCESS_Frame( 8 ) ) goto Exit;
 
       face->ttc_header.version  = GET_Long();
       face->ttc_header.DirCount = GET_Long();
@@ -209,12 +209,12 @@
       {
         error = TT_Err_Bad_Argument;
         goto Exit;
-      }      
-      
+      }
+
       /* if we're checking the font format, exit immediately */
       if (faceIndex < 0)
         goto Exit;
-        
+
       /* seek to the appropriate TrueType file, then read tag */
       if ( FILE_Seek( face->ttc_header.TableDirectory[faceIndex] ) ||
            READ_Long( *format_tag )                                )
@@ -544,7 +544,7 @@
                 FT_FRAME_USHORT( TT_MaxProfile, numGlyphs ),
                 FT_FRAME_USHORT( TT_MaxProfile, maxPoints ),
                 FT_FRAME_USHORT( TT_MaxProfile, maxContours ),
-                FT_FRAME_USHORT( TT_MaxProfile, maxCompositePoints ),  
+                FT_FRAME_USHORT( TT_MaxProfile, maxCompositePoints ),
                 FT_FRAME_USHORT( TT_MaxProfile, maxCompositeContours ),
                 FT_FRAME_USHORT( TT_MaxProfile, maxZones ),
                 FT_FRAME_USHORT( TT_MaxProfile, maxTwilightPoints ),
@@ -998,17 +998,17 @@
            FILE_Read_At( table_pos + names->storageOffset,
                          (void*)names->storage, storageSize ) )
         goto Exit;
-  
+
       /* Go through and assign the string pointers to the name records. */
       {
         TT_NameRec*  cur   = names->names;
         TT_NameRec*  limit = cur + names->numNameRecords;
-  
+
         for ( ; cur < limit; cur++ )
           cur->string = names->storage + cur->stringOffset;
       }
 
-#ifdef FT_DEBUG_LEVEL_TRACE  
+#ifdef FT_DEBUG_LEVEL_TRACE
       /* Print Name Record Table in case of debugging */
       {
         TT_NameRec*  cur   = names->names;
@@ -1017,20 +1017,20 @@
         for ( ; cur < limit; cur++ )
         {
           TT_UInt  j;
-    
+
           FT_TRACE2(( "%d %d %x %d ",
                        cur->platformID,
                        cur->encodingID,
                        cur->languageID,
                        cur->nameID ));
-    
+
           /* I know that M$ encoded strings are Unicode,            */
           /* but this works reasonable well for debugging purposes. */
           if ( cur->string )
             for ( j = 0; j < cur->stringLength; j++ )
             {
               TT_Char  c = *(cur->string + j);
-    
+
               if ( (TT_Byte)c < 128 )
                 FT_TRACE2(( "%c", c ));
             }
@@ -1165,12 +1165,12 @@
         cmap->offset             = (TT_ULong)GET_Long();
       }
       FORGET_Frame();
-      
+
       /* now read the rest of each table */
       for ( charmap = face->charmaps; charmap < limit; charmap++ )
       {
         TT_CMapTable* cmap = &charmap->cmap;
-        
+
 #ifdef READ_FIELDS
         if ( FILE_Seek( table_start + (TT_Long)cmap->offset ) ||
              READ_Fields( cmap_rec_fields, cmap )             )
@@ -1179,11 +1179,11 @@
         if ( FILE_Seek( table_start + (TT_Long)cmap->offset ) ||
              ACCESS_Frame(6L) )
           goto Exit;
-        
+
         cmap->format  = GET_UShort();
         cmap->length  = GET_UShort();
         cmap->version = GET_UShort();
-        
+
         FORGET_Frame();
 #endif
         cmap->offset = FILE_Pos();
@@ -1264,7 +1264,7 @@
                 FT_FRAME_USHORT( TT_OS2, usWinAscent ),
                 FT_FRAME_USHORT( TT_OS2, usWinDescent ),
               FT_FRAME_END };
-              
+
     const FT_Frame_Field  os2_fields_extra[] = {
               FT_FRAME_START(8),
                 FT_FRAME_ULONG( TT_OS2, ulCodePageRange1 ),
@@ -1579,7 +1579,7 @@
       coverage = GET_UShort();
 
       FORGET_Frame();
-      
+
       if ( coverage == 0x0001 )
       {
         TT_UInt          num_pairs;
@@ -1615,7 +1615,7 @@
         face->kern_table_index = n;
         goto Exit;
       }
-      
+
       if ( FILE_Skip( length ) )
         goto Exit;
     }
@@ -1646,7 +1646,7 @@
   /*    TrueType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
-  TT_Error  TT_Load_Hdmx( TT_Face    face, 
+  TT_Error  TT_Load_Hdmx( TT_Face    face,
                           FT_Stream  stream )
   {
     TT_Error  error;
@@ -1692,11 +1692,11 @@
         if ( READ_Byte( cur->ppem      ) ||
              READ_Byte( cur->max_width ) )
           goto Exit;
-  
+
         if ( ALLOC( cur->widths, num_glyphs )  ||
              FILE_Read( cur->widths, num_glyphs ) )
           goto Exit;
-  
+
         /* skip padding bytes */
         if ( record_size > 0 && FILE_Skip(record_size) )
             goto Exit;
diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c
index 7eeac20..57cf6a5 100644
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -75,7 +75,7 @@
     /* first of all, compute starting write position */
     line_incr = target->pitch;
     line_buff = target->buffer;
-    
+
     if (line_incr < 0)
       line_buff -= line_incr*(target->rows-1);
 
@@ -354,7 +354,7 @@
       range->glyph_codes[n] = GET_UShort();
 
       if (load_offsets)
-        range->glyph_offsets[n] = (TT_ULong)range->image_offset + 
+        range->glyph_offsets[n] = (TT_ULong)range->image_offset +
                                   GET_UShort();
     }
 
@@ -1226,19 +1226,19 @@
       switch ( strike->bit_depth )
       {
       case 1:
-        map->pixel_mode = ft_pixel_mode_mono; 
+        map->pixel_mode = ft_pixel_mode_mono;
         map->pitch      = (map->width+7) >> 3;
         break;
       case 2:
-        map->pixel_mode = ft_pixel_mode_pal2; 
+        map->pixel_mode = ft_pixel_mode_pal2;
         map->pitch      = (map->width+3) >> 2;
         break;
       case 4:
-        map->pixel_mode = ft_pixel_mode_pal4; 
+        map->pixel_mode = ft_pixel_mode_pal4;
         map->pitch      = (map->width+1) >> 1;
         break;
       case 8:
-        map->pixel_mode = ft_pixel_mode_grays; 
+        map->pixel_mode = ft_pixel_mode_grays;
         map->pitch      = map->width;
         break;
 
@@ -1399,13 +1399,13 @@
     /* the font file                                 */
     error = face->goto_table( face, TTAG_EBDT, stream, 0 );
     if (error) goto Exit;
-    
+
     ebdt_pos = FILE_Pos();
 
     /* clear the bitmap & load the bitmap */
     if (face->root.glyph->flags & ft_glyph_own_bitmap)
       FREE( map->buffer );
-      
+
     map->rows = map->pitch = map->width = 0;
 
     error = Load_SBit_Image( strike, range, ebdt_pos, glyph_offset,
@@ -1415,7 +1415,7 @@
 
     /* the glyph slot owns this bitmap buffer */
     face->root.glyph->flags |= ft_glyph_own_bitmap;
-    
+
     /* setup vertical metrics if needed */
     if ( strike->flags & 1 )
     {
diff --git a/src/truetype/rules.mk b/src/truetype/rules.mk
index 8ed78a7..bfb1f5e 100644
--- a/src/truetype/rules.mk
+++ b/src/truetype/rules.mk
@@ -38,7 +38,7 @@
 # compilation flags for the driver
 #
 TT_CFLAGS  := $(TT_INCLUDE:%=$I%)
-TT_COMPILE := $(FT_COMPILE) $(TT_CFLAGS) 
+TT_COMPILE := $(FT_COMPILE) $(TT_CFLAGS)
 
 
 # driver sources (i.e., C files)
diff --git a/src/truetype/ttdriver.c b/src/truetype/ttdriver.c
index 091a370..9137758 100644
--- a/src/truetype/ttdriver.c
+++ b/src/truetype/ttdriver.c
@@ -49,7 +49,7 @@
   *    find_encoding
   *
   * <Description>
-  *    return the FT_Encoding corresponding to a given 
+  *    return the FT_Encoding corresponding to a given
   *    (platform_id,encoding_id) pair, as found in TrueType charmaps
   *
   * <Input>
@@ -60,7 +60,7 @@
   *   the corresponding FT_Encoding tag. ft_encoding_none by default
   *
   *****************************************************************/
-  
+
   static
   FT_Encoding   find_encoding( int  platform_id,
                                int  encoding_id )
@@ -70,28 +70,28 @@
       int          platform_id;
       int          encoding_id;
       FT_Encoding  encoding;
-  
+
     } TEncoding;
 
     static
     const TEncoding   tt_encodings[] =
     {
       { TT_PLATFORM_ISO,                         -1, ft_encoding_unicode },
-        
+
       { TT_PLATFORM_APPLE_UNICODE,               -1, ft_encoding_unicode },
-      
+
       { TT_PLATFORM_MACINTOSH,      TT_MAC_ID_ROMAN, ft_encoding_apple_roman },
-      
+
       { 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_BIG_5,      ft_encoding_big5 }
     };
-    
+
     const TEncoding  *cur, *limit;
-   
+
     cur   = tt_encodings;
     limit = cur + sizeof(tt_encodings)/sizeof(tt_encodings[0]);
-    
+
     for ( ; cur < limit; cur++ )
     {
       if (cur->platform_id == platform_id)
@@ -235,7 +235,7 @@
         /* now, set root->charmap with a unicode charmap wherever available */
         if (!root->charmap && charmap->root.encoding == ft_encoding_unicode)
           root->charmap = (FT_CharMap)charmap;
-        
+
         root->charmaps[n] = (FT_CharMap)charmap;
       }
 
@@ -443,7 +443,7 @@
       metrics->x_ppem    = (TT_UShort)(dim_x >> 6);
       metrics->y_ppem    = (TT_UShort)(dim_y >> 6);
     }
-    
+
     size->ttmetrics.valid = FALSE;
 
     return TT_Reset_Size( size );
@@ -593,7 +593,7 @@
     TT_Error       error;
     TT_Face        face;
     TT_CMapTable*  cmap;
-    
+
     cmap = &charmap->cmap;
     face = (TT_Face)charmap->root.face;
 
@@ -601,7 +601,7 @@
     if ( !cmap->loaded )
     {
       SFNT_Interface*  sfnt = (SFNT_Interface*)face->sfnt;
-      
+
       error = sfnt->load_charmap( face, cmap, face->root.stream );
       if (error)
         return error;
@@ -620,7 +620,7 @@
   void*  tt_get_sfnt_table( TT_Face  face, FT_Sfnt_Tag  tag )
   {
     void*  table;
-    
+
     switch (tag)
     {
       case ft_sfnt_head: table = &face->header; break;
@@ -629,7 +629,7 @@
       case ft_sfnt_os2:  table = (face->os2.version == 0xFFFF ? 0 : &face->os2 ); break;
       case ft_sfnt_post: table = &face->postscript; break;
       case ft_sfnt_maxp: table = &face->max_profile; break;
-      
+
       default:
         table = 0;
     }
@@ -641,10 +641,10 @@
   FTDriver_Interface  tt_get_interface( TT_Driver  driver, const char* interface )
   {
     UNUSED(driver);
-    
+
     if (strcmp(interface,"get_sfnt")==0)
       return (FTDriver_Interface)tt_get_sfnt_table;
-      
+
     return 0;
   }
 
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index bd66e8f..2413066 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -198,10 +198,10 @@
 
     TT_UShort      n_ins;
     TT_Int         n, n_points;
-        
+
     /*********************************************************************/
     /* simple check                                                      */
-    
+
     if ( n_contours > load->left_contours )
     {
       FT_TRACE0(( "ERROR: Glyph index %ld has %d contours > left %d\n",
@@ -216,7 +216,7 @@
 
     /*********************************************************************/
     /* reading the contours endpoints                                    */
-    
+
     if ( ACCESS_Frame( byte_count ) )
       return error;
 
@@ -230,7 +230,7 @@
 
     /*********************************************************************/
     /* reading the bytecode instructions                                 */
-    
+
     n_ins = GET_UShort();
     load->face->root.glyph->control_len = n_ins;
 
@@ -269,15 +269,15 @@
 #endif
 
     stream->cursor += n_ins;
-    
+
     /*********************************************************************/
     /* reading the point tags                                           */
 
-    {    
+    {
       TT_Byte*  flag  = load->zone.tags;
       TT_Byte*  limit = flag + n_points;
       TT_Byte   c, count;
-      
+
       for (; flag < limit; flag++)
       {
         *flag = c = GET_Byte();
@@ -291,17 +291,17 @@
 
     /*********************************************************************/
     /* reading the X coordinates                                         */
-    
+
     {
       TT_Vector*  vec   = zone->org;
       TT_Vector*  limit = vec + n_points;
       TT_Byte*    flag  = zone->tags;
       TT_Pos      x     = 0;
-      
+
       for ( ; vec < limit; vec++, flag++ )
       {
         TT_Pos  y = 0;
-        
+
         if ( *flag & 2 )
         {
           y = GET_Byte();
@@ -309,7 +309,7 @@
         }
         else if ((*flag & 16) == 0)
           y = GET_Short();
-          
+
         x     += y;
         vec->x = x;
       }
@@ -323,11 +323,11 @@
       TT_Vector*  limit = vec + n_points;
       TT_Byte*    flag  = zone->tags;
       TT_Pos      x     = 0;
-      
+
       for ( ; vec < limit; vec++, flag++ )
       {
         TT_Pos  y = 0;
-        
+
         if ( *flag & 4 )
         {
           y = GET_Byte();
@@ -335,7 +335,7 @@
         }
         else if ((*flag & 32) == 0)
           y = GET_Short();
-          
+
         x     += y;
         vec->y = x;
       }
@@ -345,24 +345,24 @@
 
     /*********************************************************************/
     /* Add shadow points                                                  */
-    
+
     /* Now add the two shadow points at n and n + 1.    */
     /* We need the left side bearing and advance width. */
 
     {
       TT_Vector*  pp1;
       TT_Vector*  pp2;
-      
+
       /* pp1 = xMin - lsb */
       pp1    = zone->org + n_points;
       pp1->x = load->bbox.xMin - load->left_bearing;
       pp1->y = 0;
-  
+
       /* pp2 = pp1 + aw */
       pp2    = pp1 + 1;
       pp2->x = pp1->x + load->advance;
       pp2->y = 0;
-        
+
       /* clear the touch tags */
       for ( n = 0; n < n_points; n++ )
         zone->tags[n] &= FT_Curve_Tag_On;
@@ -439,7 +439,7 @@
     }
 
     return TT_Err_Ok;
-    
+
   Fail:
     FORGET_Frame();
     return error;
@@ -472,7 +472,7 @@
     TT_UInt      index, num_points, num_contours, count;
     TT_Fixed     x_scale, y_scale;
     TT_ULong     ins_offset;
-    
+
     /* check glyph index */
     index = glyph_index;
     if ( index >= (TT_UInt)face->root.num_glyphs )
@@ -485,7 +485,7 @@
     num_contours = 0;
     num_points   = 0;
     ins_offset   = 0;
-    
+
     x_scale = 0x10000;
     y_scale = 0x10000;
     if ( (loader->load_flags & FT_LOAD_NO_SCALE)==0 )
@@ -514,7 +514,7 @@
     count  = 0;
     if (index < (TT_UInt)face->num_locations-1)
        count = face->glyph_locations[index+1] - offset;
-          
+
 
     if (count == 0)
     {
@@ -574,7 +574,7 @@
     loader->pp1.y = 0;
     loader->pp2.x = loader->pp1.x + loader->advance;
     loader->pp2.y = 0;
-    
+
     if ((loader->load_flags & FT_LOAD_NO_SCALE)==0)
     {
       loader->pp1.x = FT_MulFix( loader->pp1.x, x_scale );
@@ -590,7 +590,7 @@
     if (contours_count >= 0)
     {
       TT_UInt  num_base_points;
-      
+
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
       error = Load_Simple( loader,
                            count,
@@ -599,7 +599,7 @@
                                       loader->size->debug ) );
 #else
       error = Load_Simple( loader, count, contours_count, 0 );
-#endif                                      
+#endif
       if ( error )
         goto Fail;
 
@@ -607,7 +607,7 @@
       /*       but the code is fat enough already :-)           */
       num_points   = loader->zone.n_points;
       num_contours = loader->zone.n_contours;
-      
+
       num_base_points = loader->base.n_points;
       {
         TT_UInt  k;
@@ -633,16 +633,16 @@
     {
       /* for each subglyph, read composite header */
       FT_SubGlyph*  subglyph = subglyphs;
-      
+
       if (ACCESS_Frame(count)) goto Fail;
-      
+
       num_subglyphs = 0;
       do
       {
         TT_Fixed  xx, xy, yy, yx;
-        
+
         subglyph->arg1 = subglyph->arg2 = 0;
-        
+
         subglyph->flags = GET_UShort();
         subglyph->index = GET_UShort();
 
@@ -657,11 +657,11 @@
           subglyph->arg1 = GET_Char();
           subglyph->arg2 = GET_Char();
         }
-        
+
         /* read transform */
         xx = yy = 0x10000;
         xy = yx = 0;
-        
+
         if (subglyph->flags & WE_HAVE_A_SCALE)
         {
           xx = (TT_Fixed)GET_Short() << 2;
@@ -679,12 +679,12 @@
           yx = (TT_Fixed)GET_Short() << 2;
           yy = (TT_Fixed)GET_Short() << 2;
         }
-        
+
         subglyph->transform.xx = xx;
         subglyph->transform.xy = xy;
         subglyph->transform.yx = yx;
         subglyph->transform.yy = yy;
-        
+
         subglyph++;
         num_subglyphs++;
         if (num_subglyphs >= TT_MAX_SUBGLYPHS)
@@ -709,22 +709,22 @@
       {
         FT_GlyphSlot  glyph = loader->glyph;
 
-        /* reallocate subglyph array if necessary */        
+        /* reallocate subglyph array if necessary */
         if (glyph->max_subglyphs < num_subglyphs)
         {
           FT_Memory  memory = loader->face->root.memory;
-          
+
           if ( REALLOC_ARRAY( glyph->subglyphs, glyph->max_subglyphs,
                               num_subglyphs, FT_SubGlyph ) )
             goto Fail;
-            
+
           glyph->max_subglyphs = num_subglyphs;
         }
 
         /* copy subglyph array */
         MEM_Copy( glyph->subglyphs, subglyphs,
                   num_subglyphs*sizeof(FT_SubGlyph));
-                  
+
         /* set up remaining glyph fields */
         glyph->num_subglyphs = num_subglyphs;
         glyph->format        = ft_glyph_format_composite;
@@ -740,18 +740,18 @@
       /* Now, read each subglyph independently..                           */
       {
         TT_Int  n, num_base_points, num_new_points;
-        
+
         subglyph = subglyphs;
         for ( n = 0; n < num_subglyphs; n++, subglyph++ )
         {
           TT_Vector  pp1, pp2;
           TT_Pos     x, y;
-          
+
           pp1 = loader->pp1;
           pp2 = loader->pp2;
 
           num_base_points = loader->base.n_points;
-          
+
           error = load_truetype_glyph( loader, subglyph->index );
           if ( subglyph->flags & USE_MY_METRICS )
           {
@@ -763,15 +763,15 @@
             loader->pp1 = pp1;
             loader->pp2 = pp2;
           }
-          
+
           num_points   = loader->base.n_points;
           num_contours = loader->base.n_contours;
-          
+
           num_new_points = num_points - num_base_points;
-          
+
           /********************************************************/
           /* now perform the transform required for this subglyph */
-          
+
           if ( subglyph->flags & ( WE_HAVE_A_SCALE     |
                                    WE_HAVE_AN_XY_SCALE |
                                    WE_HAVE_A_2X2       ) )
@@ -783,7 +783,7 @@
             for ( ; cur < limit; cur++, org++ )
             {
               TT_Pos  nx, ny;
-              
+
               nx = FT_MulFix( cur->x, subglyph->transform.xx ) +
                    FT_MulFix( cur->y, subglyph->transform.yx );
 
@@ -818,8 +818,8 @@
               goto Fail;
             }
 
-            l += num_base_points; 
-	    
+            l += num_base_points;
+
             x = loader->base.cur[k].x - loader->base.cur[l].x;
             y = loader->base.cur[k].y - loader->base.cur[l].y;
           }
@@ -832,7 +832,7 @@
             {
               x = FT_MulFix( x, x_scale );
               y = FT_MulFix( y, y_scale );
-              
+
               if ( subglyph->flags & ROUND_XY_TO_GRID )
 	          {
 	            x = (x + 32) & -64;
@@ -844,7 +844,7 @@
           translate_array( num_new_points, loader->zone.cur, x, y );
           cur_to_org( num_new_points, &loader->zone );
         }
-        
+
     /*************************************************************************/
     /*************************************************************************/
     /*************************************************************************/
@@ -861,12 +861,12 @@
           TT_UInt         n_points = loader->base.n_points;
           FT_GlyphZone*   pts;
           TT_Vector*      pp1;
-          
+
           /* read size of instructions */
           if ( FILE_Seek( ins_offset ) ||
                READ_UShort(n_ins)      ) goto Fail;
           FT_TRACE4(( "Instructions size = %d\n", n_ins ));
-    
+
           /* check it */
           if ( n_ins > face->max_profile.maxSizeOfInstructions )
           {
@@ -874,68 +874,68 @@
                         subglyph->index ));
             return TT_Err_Too_Many_Ins;
           }
-     
+
           if (exec)
           {
           }
           /* read the instructions */
           if ( FILE_Read( exec->glyphIns, n_ins ) )
             goto Fail;
-    
+
           error = TT_Set_CodeRange( exec,
                                     tt_coderange_glyph,
                                     exec->glyphIns,
                                     n_ins );
           if ( error ) goto Fail;
-          
+
           /* prepare the execution context */
           exec->pts   = loader->base;
           pts         = &exec->pts;
-      
+
           pts->n_points   = num_points + 2;
           pts->n_contours = num_contours;
-      
+
           /* add phantom points */
           pp1    = pts->cur + num_points;
           pp1[0] = loader->pp1;
           pp1[1] = loader->pp2;
-      
+
           pts->tags[num_points + 1] = 0;
           pts->tags[num_points + 2] = 0;
-      
+
           /* if hinting, round the phantom points */
           if ( IS_HINTED(loader->load_flags) )
           {
             pp1[0].x = ((loader->pp1.x + 32) & -64);
             pp1[1].x = ((loader->pp2.x + 32) & -64);
           }
-      
+
           {
             TT_UInt  k;
             for ( k = 0; k < n_points; k++ )
               pts->tags[k] &= FT_Curve_Tag_On;
           }
-      
+
           cur_to_org( n_points, pts );
-      
+
           /* now consider hinting */
           if ( IS_HINTED(loader->load_flags) && n_ins > 0 )
           {
             exec->is_composite     = TRUE;
             exec->pedantic_hinting =
                 (TT_Bool)(loader->load_flags & FT_LOAD_PEDANTIC);
-      
+
             error = TT_Run_Context( exec, loader->size->debug );
             if ( error && exec->pedantic_hinting )
               goto Fail;
           }
-          
+
           /* save glyph origin and advance points */
           loader->pp1 = pp1[0];
           loader->pp2 = pp1[1];
         }
 #endif
-          
+
       }
     }
 
@@ -948,7 +948,7 @@
     error = TT_Err_Ok;
 
   Fail:
-    return error;    
+    return error;
   }
 
 
@@ -966,7 +966,7 @@
     TT_Fixed      x_scale, y_scale;
     TT_GlyphSlot  glyph = loader->glyph;
     TT_Size       size = loader->size;
-    
+
     /* when a simple glyph was loaded, the value of        */
     /* "base.n_points" and "base.n_contours" is 0, we must */
     /* take those in the "zone" instead..                  */
@@ -975,7 +975,7 @@
       num_points   = loader->zone.n_points;
       num_contours = loader->zone.n_contours;
     }
-    
+
     x_scale = 0x10000;
     y_scale = 0x10000;
     if ( (loader->load_flags & FT_LOAD_NO_SCALE) == 0)
@@ -983,7 +983,7 @@
       x_scale = size->root.metrics.x_scale;
       y_scale = size->root.metrics.y_scale;
     }
-    
+
     if ( glyph->format != ft_glyph_format_composite )
     {
       TT_UInt  u;
@@ -1000,13 +1000,13 @@
       glyph->outline.flags      &= ~ft_outline_single_pass;
       glyph->outline.n_points    = num_points;
       glyph->outline.n_contours  = num_contours;
-  
+
       /* translate array so that (0,0) is the glyph's origin */
       translate_array( (TT_UShort)(num_points + 2),
                        glyph->outline.points,
                        -loader->pp1.x,
                        0 );
-  
+
       FT_Outline_Get_CBox( &glyph->outline, &bbox );
 
       if ( IS_HINTED(loader->load_flags) )
@@ -1199,7 +1199,7 @@
     TT_Error         error;
     TT_Loader        loader;
     FT_GlyphZone*    zone;
-    
+
     face   = (TT_Face)glyph->face;
     sfnt   = (SFNT_Interface*)face->sfnt;
     stream = face->root.stream;
@@ -1223,7 +1223,7 @@
     if ( size && (load_flags & FT_LOAD_NO_BITMAP) == 0 && sfnt->load_sbits )
     {
       TT_SBit_Metrics  metrics;
- 
+
       error = sfnt->load_sbit_image( face,
                                      size->root.metrics.x_ppem,
                                      size->root.metrics.y_ppem,
@@ -1279,7 +1279,7 @@
       goto Exit;
     }
     loader.base = *zone;
-    
+
     loader.zone.n_points   = 0;
     loader.zone.n_contours = 0;
 
@@ -1290,7 +1290,7 @@
       loader.exec = size->debug ? size->context : TT_New_Context(face);
       if ( !loader.exec )
         return TT_Err_Could_Not_Find_Context;
-        
+
       TT_Load_Context( loader.exec, face, size );
 
       /* load default graphics state - if needed */
@@ -1301,7 +1301,7 @@
 
     /* clear all outline flags, except the "owner" one */
     glyph->outline.flags &= ft_outline_owner;
-    
+
     if (size && size->root.metrics.y_ppem < 24 )
       glyph->outline.flags |= ft_outline_high_precision;
 
@@ -1315,7 +1315,7 @@
     loader.size   = size;
     loader.glyph  = glyph;
     loader.stream = stream;
-    
+
     loader.glyf_offset = FILE_Pos();
 
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
diff --git a/src/truetype/ttgload.h b/src/truetype/ttgload.h
index 5350d64..93a8d23 100644
--- a/src/truetype/ttgload.h
+++ b/src/truetype/ttgload.h
@@ -49,13 +49,13 @@
     TT_Bool         preserve_pps;
     TT_Vector       pp1;
     TT_Vector       pp2;
-        
+
     TT_ULong        glyf_offset;
-        
+
     /* the zone where we load our glyphs */
     FT_GlyphZone    base;
     FT_GlyphZone    zone;
-    
+
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
     TT_ExecContext  exec;
     TT_Byte*        instructions;
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index 1ef9dc4..64bce53 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -1561,7 +1561,7 @@
   {
     TT_F26Dot6  val;
 
- 
+
    UNUSED_EXEC;
 
     if ( distance >= 0 )
@@ -2040,7 +2040,7 @@
                                   TT_Vector*  v2 )
   {
     UNUSED_EXEC;
- 
+
    return (v1->y - v2->y);
   }
 
@@ -2153,7 +2153,7 @@
     TT_Bool     S1, S2;
 
     UNUSED_EXEC;
-    
+
     if ( ABS( Vx ) < 0x10000L && ABS( Vy ) < 0x10000L )
     {
       Vx *= 0x100;
@@ -2236,7 +2236,7 @@
 
     return SUCCESS;
   }
-#else  
+#else
   static
   TT_Bool  Normalize( EXEC_OP_ TT_F26Dot6      Vx,
                                TT_F26Dot6      Vy,
@@ -2258,7 +2258,7 @@
 
     R->x = 0;
     R->y = 0;
-    
+
     /* check that we're not trying to normalise zero !! */
     if (u==0) return SUCCESS;
 
@@ -2266,21 +2266,21 @@
     hi  = (TT_ULong)u >> 16;
     lo  = (TT_ULong)u & 0xFFFF;
     med = hi*lo;
-    
+
     H     = hi*hi + (med >> 15);
     med <<= 17;
     L     = lo*lo + med;
     if (L < med) H++;
-    
+
     hi  = (TT_ULong)v >> 16;
     lo  = (TT_ULong)v & 0xFFFF;
     med = hi*lo;
-    
+
     H    += hi*hi + (med >> 15);
     med <<= 17;
     L2    = lo*lo + med;
     if (L2 < med) H++;
-    
+
     L += L2;
     if (L < L2) H++;
 
@@ -2293,7 +2293,7 @@
         L <<= 2;
         shift++;
       }
-      
+
       d = FT_Sqrt32(L);
       R->x = (TT_F2Dot14)TT_MULDIV( Vx << shift, 0x4000, d );
       R->y = (TT_F2Dot14)TT_MULDIV( Vy << shift, 0x4000, d );
@@ -2308,7 +2308,7 @@
         H >>= 2;
         shift++;
       }
-      
+
       d = FT_Sqrt32(L);
       R->x = (TT_F2Dot14)TT_MULDIV( Vx >> shift, 0x4000, d );
       R->y = (TT_F2Dot14)TT_MULDIV( Vy >> shift, 0x4000, d );
@@ -2322,7 +2322,7 @@
       sy = ( R->y >= 0 ? 1 : -1 );
       x  = (TT_ULong)sx*R->x;
       y  = (TT_ULong)sy*R->y;
-      
+
       w = x*x+y*y;
 
       /* we now want to adjust (x,y) in order to have sqrt(w) == 0x4000 */
@@ -2332,10 +2332,10 @@
         /* increment the smallest coordinate */
         if ( x < y )  x++;
                  else y++;
-                 
+
         w = x*x+y*y;
       }
-      
+
       while ( w >= 0x10040000L )
       {
         /* decrement the smallest coordinate */
@@ -4055,13 +4055,13 @@
     rec   = CUR.FDefs;
     limit = rec + CUR.numFDefs;
     n     = args[0];
-    
+
     for ( ; rec < limit; rec++ )
     {
       if (rec->opc == n)
         break;
     }
-    
+
     if ( rec == limit )
     {
       /* check that there is enough room for new functions */
@@ -4072,15 +4072,15 @@
       }
       CUR.numFDefs++;
     }
-    
+
     rec->range  = CUR.curRange;
     rec->opc    = n;
     rec->start  = CUR.IP+1;
     rec->active = TRUE;
-    
+
     if ( n > CUR.maxFunc )
       CUR.maxFunc = n;
-    
+
     /* Now skip the whole function definition. */
     /* We don't allow nested IDEFS & FDEFs.    */
 
@@ -4164,7 +4164,7 @@
     /* first of all, check the index */
     F = args[0];
     if ( BOUNDS( F, CUR.maxFunc+1 ) ) goto Fail;
-    
+
     /* Except for some old Apple fonts, all functions in a TrueType */
     /* font are defined in increasing order, starting from 0. This  */
     /* means that we normally have                                  */
@@ -4179,20 +4179,20 @@
     {
       /* look up the FDefs table */
       TT_DefRecord*  limit;
-      
+
       def   = CUR.FDefs;
       limit = def + CUR.numFDefs;
-      
+
       while (def < limit && def->opc != F)
         def++;
-        
+
       if (def == limit) goto Fail;
     }
-    
+
     /* check that the function is active */
     if (!def->active)
       goto Fail;
-      
+
     /* check the call stack */
     if ( CUR.callTop >= CUR.callSize )
     {
@@ -4211,10 +4211,10 @@
 
     INS_Goto_CodeRange( def->range,
                         def->start );
-                        
+
     CUR.step_ins = FALSE;
     return;
-    
+
   Fail:
     CUR.error = TT_Err_Invalid_Reference;
   }
@@ -4236,7 +4236,7 @@
     /* first of all, check the index */
     F = args[1];
     if ( BOUNDS( F, CUR.maxFunc+1 ) ) goto Fail;
-    
+
     /* Except for some old Apple fonts, all functions in a TrueType */
     /* font are defined in increasing order, starting from 0. This  */
     /* means that we normally have                                  */
@@ -4251,21 +4251,21 @@
     {
       /* look up the FDefs table */
       TT_DefRecord*  limit;
-      
+
       def   = CUR.FDefs;
       limit = def + CUR.numFDefs;
-      
+
       while (def < limit && def->opc != F)
         def++;
-        
+
       if (def == limit) goto Fail;
     }
-    
+
     /* check that the function is active */
     if (!def->active)
       goto Fail;
 
-    /* check stack */      
+    /* check stack */
     if ( CUR.callTop >= CUR.callSize )
     {
       CUR.error = TT_Err_Stack_Overflow;
@@ -4312,7 +4312,7 @@
     for ( ; def < limit; def++ )
       if (def->opc == (TT_ULong)args[0] )
         break;
-        
+
     if ( def == limit )
     {
       /* check that there is enough room for a new instruction */
@@ -4323,15 +4323,15 @@
       }
       CUR.numIDefs++;
     }
-    
+
     def->opc    = args[0];
     def->start  = CUR.IP+1;
     def->range  = CUR.curRange;
     def->active = TRUE;
-    
+
     if ( (TT_ULong)args[0] > CUR.maxIns )
       CUR.maxIns = args[0];
-    
+
     /* Now skip the whole function definition. */
     /* We don't allow nested IDEFs & FDEFs.    */
 
@@ -6320,30 +6320,30 @@
   {
     TT_DefRecord*  def   = CUR.IDefs;
     TT_DefRecord*  limit = def + CUR.numIDefs;
-    
+
     UNUSED_ARG;
- 
+
     for ( ; def < limit; def++ )
     {
       if (def->opc == CUR.opcode && def->active )
       {
         TT_CallRec*  call;
-        
+
         if ( CUR.callTop >= CUR.callSize )
         {
           CUR.error = TT_Err_Stack_Overflow;
           return;
         }
-        
+
         call = CUR.callStack + CUR.callTop++;
 
         call->Caller_Range = CUR.curRange;
         call->Caller_IP    = CUR.IP+1;
         call->Cur_Count    = 1;
         call->Cur_Restart  = def->start;
-        
+
         INS_Goto_CodeRange( def->range, def->start );
-        
+
         CUR.step_ins = FALSE;
         return;
       }
@@ -7292,29 +7292,29 @@
           {
             TT_DefRecord*  def   = CUR.IDefs;
             TT_DefRecord*  limit = def + CUR.numIDefs;
-            
+
             for ( ; def < limit; def++ )
             {
               if ( def->active && CUR.opcode == def->opc )
               {
                 TT_CallRec*  callrec;
-    
+
                 if ( CUR.callTop >= CUR.callSize )
                 {
                   CUR.error = TT_Err_Invalid_Reference;
                   goto LErrorLabel_;
                 }
-    
+
                 callrec = &CUR.callStack[CUR.callTop];
-    
+
                 callrec->Caller_Range = CUR.curRange;
                 callrec->Caller_IP    = CUR.IP + 1;
                 callrec->Cur_Count    = 1;
                 callrec->Cur_Restart  = def->start;
-    
+
                 if ( INS_Goto_CodeRange( def->range, def->start ) == FAILURE )
                   goto LErrorLabel_;
-    
+
                 goto LSuiteLabel_;
               }
             }
diff --git a/src/truetype/ttobjs.h b/src/truetype/ttobjs.h
index 33457e0..3bace38 100644
--- a/src/truetype/ttobjs.h
+++ b/src/truetype/ttobjs.h
@@ -365,7 +365,7 @@
 
 
  /*************************************************************************/
- /*  Face Funcs                                                           */ 
+ /*  Face Funcs                                                           */
 
   LOCAL_DEF TT_Error  TT_Init_Face( FT_Stream      stream,
                                     TT_Face        face,
@@ -377,7 +377,7 @@
 
 
  /*************************************************************************/
- /*  Size funcs                                                           */ 
+ /*  Size funcs                                                           */
 
   LOCAL_DEF TT_Error  TT_Init_Size ( TT_Size  size );
   LOCAL_DEF void      TT_Done_Size ( TT_Size  size );
@@ -385,14 +385,14 @@
 
 
  /*************************************************************************/
- /*  GlyphSlot funcs                                                      */ 
+ /*  GlyphSlot funcs                                                      */
 
   LOCAL_DEF TT_Error  TT_Init_GlyphSlot( TT_GlyphSlot  slot );
   LOCAL_DEF void      TT_Done_GlyphSlot( TT_GlyphSlot  slot );
 
 
  /*************************************************************************/
- /*  Driver funcs                                                         */ 
+ /*  Driver funcs                                                         */
 
   LOCAL_DEF  TT_Error  TT_Init_Driver( TT_Driver  driver );
   LOCAL_DEF  void      TT_Done_Driver( TT_Driver  driver );
diff --git a/src/type1/t1afm.c b/src/type1/t1afm.c
index 2b904af..ec216f5 100644
--- a/src/type1/t1afm.c
+++ b/src/type1/t1afm.c
@@ -34,27 +34,27 @@
     FT_UInt  result = 0;
     char     temp[64];
 
-    /* skip whitespace */    
+    /* skip whitespace */
     while ( (*p == ' ' || *p == '\t' || *p == ':' || *p == ';') && p < limit )
       p++;
     *start = p;
-    
+
     /* now, read glyph name */
     while ( IS_ALPHANUM(*p) && p < limit ) p++;
     len = p - *start;
     if (len > 0 && len < 64)
     {
       FT_Int  n;
-      
+
       /* copy glyph name to intermediate array */
       MEM_Copy( temp, *start, len );
       temp[len] = 0;
-      
+
       /* lookup glyph name in face array */
       for ( n = 0; n < type1->num_glyphs; n++ )
       {
         char*  gname = (char*)type1->glyph_names[n];
-        
+
         if ( gname && gname[0] == temp[0] && strcmp(gname,temp) == 0 )
         {
           result = n;
@@ -74,17 +74,17 @@
     FT_Byte*  p    = *start;
     int       sum  = 0;
     int       sign = 1;
-    
+
     /* skip everything that is not a number */
     while ( p < limit && (*p < '0' || *p > '9') )
     {
       sign = 1;
       if (*p == '-')
         sign = -1;
-        
+
       p++;
     }
-    
+
     while ( p < limit && (*p >= '0' && *p < '9') )
     {
       sum = sum*10 + (*p - '0');
@@ -104,10 +104,10 @@
   {
     T1_Kern_Pair*  pair1 = (T1_Kern_Pair*)a;
     T1_Kern_Pair*  pair2 = (T1_Kern_Pair*)b;
-    
+
     T1_ULong  index1 = KERN_INDEX(pair1->glyph1,pair1->glyph2);
     T1_ULong  index2 = KERN_INDEX(pair2->glyph1,pair2->glyph2);
-    
+
     return ( index1 < index2 ? -1 :
            ( index1 > index2 ?  1 : 0 ));
   }
@@ -127,14 +127,14 @@
     T1_Kern_Pair*  pair;
     T1_Font*       type1 = &((T1_Face)t1_face)->type1;
     T1_AFM*        afm   = 0;
-    
+
     if ( ACCESS_Frame(stream->size) )
       return error;
-      
+
     start = (FT_Byte*)stream->cursor;
     limit = (FT_Byte*)stream->limit;
     p     = start;
-    
+
     /* we are now going to count the occurences of "KP" or "KPX" in */
     /* the AFM file..                                               */
     count = 0;
@@ -147,16 +147,16 @@
    /* Actually, kerning pairs are simply optional !! */
     if (count == 0)
       goto Exit;
-    
+
     /* allocate the pairs */
     if ( ALLOC(       afm, sizeof(*afm ) )                   ||
          ALLOC_ARRAY( afm->kern_pairs, count, T1_Kern_Pair ) )
       goto Exit;
-    
+
     /* now, read each kern pair */
     pair           = afm->kern_pairs;
     afm->num_pairs = count;
-    
+
     /* save in face object */
     ((T1_Face)t1_face)->afm_data = afm;
 
@@ -165,26 +165,26 @@
       if ( IS_KERN_PAIR(p) )
       {
         FT_Byte*  q;
-        
+
         /* skip keyword (KP or KPX) */
         q = p+2;
         if (*q == 'X') q++;
-        
+
         pair->glyph1    = afm_atoindex( &q, limit, type1 );
         pair->glyph2    = afm_atoindex( &q, limit, type1 );
         pair->kerning.x = afm_atoi( &q, limit );
-        
+
         pair->kerning.y = 0;
         if ( p[2] != 'X' )
           pair->kerning.y = afm_atoi( &q, limit );
-          
+
         pair++;
       }
     }
-    
+
     /* now, sort the kern pairs according to their glyph indices */
     qsort( afm->kern_pairs, count, sizeof(T1_Kern_Pair), compare_kern_pairs );
-    
+
   Exit:
     if (error)
       FREE( afm );
@@ -194,7 +194,7 @@
   }
 
 
- /* find the kerning for a given glyph pair */  
+ /* find the kerning for a given glyph pair */
   LOCAL_FUNC
   void  T1_Get_Kerning( T1_AFM*     afm,
                         FT_UInt     glyph1,
@@ -203,23 +203,23 @@
   {
     T1_Kern_Pair  *min, *mid, *max;
     T1_ULong       index = KERN_INDEX(glyph1,glyph2);
-    
+
     /* simple binary search */
     min = afm->kern_pairs;
     max = min + afm->num_pairs-1;
-    
+
     while (min <= max)
     {
       T1_ULong  midi;
-      
+
       mid = min + (max-min)/2;
-      midi = KERN_INDEX(mid->glyph1,mid->glyph2); 
+      midi = KERN_INDEX(mid->glyph1,mid->glyph2);
       if ( midi == index )
       {
         *kerning = mid->kerning;
         return;
       }
-      
+
       if ( midi < index ) min = mid+1;
                      else max = mid-1;
     }
diff --git a/src/type1/t1afm.h b/src/type1/t1afm.h
index 61e18b8..984ae94 100644
--- a/src/type1/t1afm.h
+++ b/src/type1/t1afm.h
@@ -18,7 +18,7 @@
   FT_UInt   glyph1;
   FT_UInt   glyph2;
   FT_Vector kerning;
-  
+
 } T1_Kern_Pair;
 
 
diff --git a/src/type1/t1driver.c b/src/type1/t1driver.c
index 6998460..d96eddf 100644
--- a/src/type1/t1driver.c
+++ b/src/type1/t1driver.c
@@ -9,7 +9,7 @@
  *
  *  This file is part of the FreeType project, and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
@@ -59,10 +59,10 @@
                                      const FT_String*  interface )
   {
     UNUSED(driver);
-    
+
     if ( strcmp( (const char*)interface, "attach_file" ) == 0 )
       return (FTDriver_Interface)T1_Read_AFM;
-      
+
     return 0;
   }
 
@@ -107,7 +107,7 @@
                          T1_Vector*  kerning )
   {
     T1_AFM*  afm;
-    
+
     kerning->x = 0;
     kerning->y = 0;
 
@@ -185,7 +185,7 @@
     UNUSED(pixel_width);
     UNUSED(pixel_height);
 
-    size->valid = FALSE; 
+    size->valid = FALSE;
     return T1_Reset_Size(size);
   }
 
@@ -214,7 +214,7 @@
 
     face = (T1_Face)charmap->face;
     psnames = (PSNames_Interface*)face->psnames;
-    if (psnames)    
+    if (psnames)
       switch (charmap->encoding)
       {
        /********************************************************************/
@@ -233,7 +233,7 @@
               result = 0;
             goto Exit;
           }
-  
+
        /********************************************************************/
        /*                                                                  */
        /* Custom Type 1 encoding                                           */
@@ -248,7 +248,7 @@
             }
             goto Exit;
           }
-          
+
        /********************************************************************/
        /*                                                                  */
        /* Adobe Standard & Expert encoding support                         */
@@ -259,18 +259,18 @@
            FT_UInt      code;
            FT_Int       n;
            const char*  glyph_name;
-           
+
            code = psnames->adobe_std_encoding[charcode];
            if (charmap->encoding == ft_encoding_adobe_expert)
              code = psnames->adobe_expert_encoding[charcode];
-           
+
            glyph_name = psnames->adobe_std_strings(code);
            if (!glyph_name) break;
-           
+
            for ( n = 0; n < face->type1.num_glyphs; n++ )
            {
              const char*  gname = face->type1.glyph_names[n];
-             
+
              if ( gname && gname[0] == glyph_name[0] &&
                   strcmp( gname, glyph_name ) == 0 )
              {
@@ -280,7 +280,7 @@
            }
          }
       }
-  Exit:      
+  Exit:
     return result;
   }
 
@@ -366,7 +366,7 @@
     sizeof( T1_FaceRec ),
     sizeof( T1_SizeRec ),
     sizeof( T1_GlyphSlotRec ),
-    
+
     "type1",
     100,
     200,
@@ -385,7 +385,7 @@
     (FTDriver_initFace)             T1_Init_Face,
     (FTDriver_doneFace)             T1_Done_Face,
 
-#ifdef T1_CONFIG_OPTION_NO_AFM    
+#ifdef T1_CONFIG_OPTION_NO_AFM
     (FTDriver_getKerning)           0,
 #else
     (FTDriver_getKerning)           Get_Kerning,
@@ -425,12 +425,12 @@
   /*                                                                */
 
 #ifdef FT_CONFIG_OPTION_DYNAMIC_DRIVERS
-  
+
   EXPORT_FUNC(FT_DriverInterface*)  getDriverInterface( void )
   {
     return &t1_driver_interface;
   }
-  
+
 #endif /* FT_CONFIG_OPTION_DYNAMIC_DRIVERS */
 
 
diff --git a/src/type1/t1driver.h b/src/type1/t1driver.h
index d1feadc..35fe57d 100644
--- a/src/type1/t1driver.h
+++ b/src/type1/t1driver.h
@@ -9,7 +9,7 @@
  *
  *  This file is part of the FreeType project, and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
diff --git a/src/type1/t1errors.h b/src/type1/t1errors.h
index 01f5e4a..7984f54 100644
--- a/src/type1/t1errors.h
+++ b/src/type1/t1errors.h
@@ -34,7 +34,7 @@
 #define  T1_Err_Ok                       FT_Err_Ok
 
 /* ----------- high level API errors -------- */
-  
+
 #define  T1_Err_Invalid_File_Format      FT_Err_Invalid_File_Format
 #define  T1_Err_Invalid_Argument         FT_Err_Invalid_Argument
 #define  T1_Err_Invalid_Driver_Handle    FT_Err_Invalid_Driver_Handle
@@ -53,7 +53,7 @@
 #define  T1_Err_Invalid_Engine           FT_Err_Invalid_Driver_Handle
 
 /* ------------- internal errors ------------ */
-  
+
 #define  T1_Err_Out_Of_Memory            FT_Err_Out_Of_Memory
 #define  T1_Err_Unlisted_Object          FT_Err_Unlisted_Object
 
diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c
index 19df387..585204d 100644
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -168,7 +168,7 @@
  *    to implement the SEAC Type 1 operator.
  *
  * <Input>
- *    face     :: current face object         
+ *    face     :: current face object
  *    charcode :: charcode to look for
  *
  * <Return>
@@ -184,18 +184,18 @@
     T1_Int              n;
     const T1_String*    glyph_name;
     PSNames_Interface*  psnames = (PSNames_Interface*)face->psnames;
-    
+
     /* check range of standard char code */
     if (charcode < 0 || charcode > 255)
       return -1;
-      
+
     glyph_name = psnames->adobe_std_strings(
                     psnames->adobe_std_encoding[charcode]);
-    
+
     for ( n = 0; n < face->type1.num_glyphs; n++ )
     {
       T1_String*  name = (T1_String*)face->type1.glyph_names[n];
-      
+
       if ( name && strcmp(name,glyph_name) == 0 )
         return n;
     }
@@ -221,7 +221,7 @@
  *    achar    :: accent character's StandardEncoding charcode
  *
  * <Return>
- *    Error code. 0 means success.                               
+ *    Error code. 0 means success.
  *
  *********************************************************************/
 
@@ -240,10 +240,10 @@
     FT_Outline*  base = &decoder->builder.base;
     T1_Vector    left_bearing, advance;
     T1_Font*     type1 = &face->type1;
-    
+
     bchar_index = lookup_glyph_by_stdcharcode( face, bchar );
     achar_index = lookup_glyph_by_stdcharcode( face, achar );
-    
+
     if (bchar_index < 0 || achar_index < 0)
     {
       FT_ERROR(( "T1.Parse_Seac : invalid seac character code arguments\n" ));
@@ -275,20 +275,20 @@
       FT_GlyphSlot  glyph = (FT_GlyphSlot)decoder->builder.glyph;
       FT_SubGlyph*  subg;
 
-      /* reallocate subglyph array if necessary */        
+      /* reallocate subglyph array if necessary */
       if (glyph->max_subglyphs < 2)
       {
         FT_Memory  memory = decoder->builder.face->root.memory;
-        
+
         if ( REALLOC_ARRAY( glyph->subglyphs, glyph->max_subglyphs,
                             2, FT_SubGlyph ) )
           return error;
-          
+
         glyph->max_subglyphs = 2;
       }
 
       subg = glyph->subglyphs;
-      
+
       /* subglyph 0 = base character */
       subg->index = bchar_index;
       subg->flags = FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES |
@@ -296,7 +296,7 @@
       subg->arg1  = 0;
       subg->arg2  = 0;
       subg++;
-      
+
       /* subglyph 1 = accent character */
       subg->index = achar_index;
       subg->flags = FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES;
@@ -313,19 +313,19 @@
       /* as they will be erased by the next load..             */
       left_bearing = decoder->builder.left_bearing;
       advance      = decoder->builder.advance;
-  
+
       decoder->builder.left_bearing.x = 0;
-      decoder->builder.left_bearing.y = 0;    
-  
+      decoder->builder.left_bearing.y = 0;
+
       /* Now load "achar" on top of */
       /* the base outline           */
-      /*                            */ 
+      /*                            */
       cur->n_points   = 0;
       cur->n_contours = 0;
       cur->points     = base->points   + base->n_points;
       cur->tags       = base->tags     + base->n_points;
       cur->contours   = base->contours + base->n_contours;
-  
+
       error = T1_Parse_CharStrings( decoder,
                                     type1->charstrings    [achar_index],
                                     type1->charstrings_len[achar_index],
@@ -333,20 +333,20 @@
                                     type1->subrs,
                                     type1->subrs_len );
       if (error) return error;
-  
+
       /* adjust contours in accented character outline */
       {
         T1_Int  n;
-  
+
         for ( n = 0; n < cur->n_contours; n++ )
           cur->contours[n] += n_base_points;
       }
-  
+
       /* restore the left side bearing and   */
       /* advance width of the base character */
       decoder->builder.left_bearing = left_bearing;
       decoder->builder.advance      = advance;
-  
+
       /* Finally, move the accent */
       FT_Outline_Translate( cur, adx - asb, ady );
     }
@@ -368,7 +368,7 @@
  *    end_y     :: position of final flex point
  *
  * <Return>
- *    Error code. 0 means success.                               
+ *    Error code. 0 means success.
  *
  *********************************************************************/
 
@@ -434,7 +434,7 @@
  *    subrs_len        :: array of sub-routines lengths
  *
  * <Return>
- *    Error code. 0 means success.                               
+ *    Error code. 0 means success.
  *
  *********************************************************************/
 
@@ -454,7 +454,7 @@
     T1_Builder_Funcs*   builds  = &builder->funcs;
     T1_Hinter_Funcs*    hints   = &decoder->hinter;
 
-    static const T1_Int  args_count[ op_max ] = 
+    static const T1_Int  args_count[ op_max ] =
     {
       0, /* none */
       0, /* endchar */
@@ -959,11 +959,11 @@
 
       if ( REALLOC_ARRAY( builder->base.points,
                           current, builder->max_points, T1_Vector )  ||
-  
+
            REALLOC_ARRAY( builder->base.tags,
                           current, builder->max_points, T1_Byte )    )
         return error;
-    
+
       builder->current.points = builder->base.points + increment;
       builder->current.tags  = builder->base.tags  + increment;
     }
@@ -1015,7 +1015,7 @@
       if ( REALLOC_ARRAY( builder->base.contours,
                           current, builder->max_contours, T1_Short ) )
         return error;
-  
+
       builder->current.contours = builder->base.contours + increment;
     }
 
@@ -1160,7 +1160,7 @@
     FT_Outline*  cur = &builder->current;
     T1_Int       num_points;
     T1_Int       first_point;
-      
+
     /* Some fonts, like Hershey, are made of "open paths" which are    */
     /* now managed directly by FreeType. In this case, it is necessary */
     /* to close the path by duplicating its points in reverse order,   */
@@ -1171,7 +1171,7 @@
       first_point = cur->contours[ cur->n_contours-2 ]+1;
     else
       first_point = 0;
-        
+
     num_points = cur->n_points - first_point - 2;
     if ( num_points > 0 )
     {
@@ -1179,19 +1179,19 @@
       char*       source_tags;
       T1_Vector*  point;
       char*       tags;
-              
+
       error = T1_Add_Points( builder, num_points );
       if (error) return error;
 
       point = cur->points + cur->n_points;
       tags = cur->tags  + cur->n_points;
-        
+
       source_point   = point - 2;
       source_tags   = tags - 2;
 
       cur->n_points += num_points;
 
-      if ( builder->load_points )  
+      if ( builder->load_points )
         do
         {
           *point++ = *source_point--;
@@ -1241,7 +1241,7 @@
       if (error) return error;
     }
 
-    error = gload_closepath( builder );  
+    error = gload_closepath( builder );
 
     builder->base.n_points   += cur->n_points;
     builder->base.n_contours += cur->n_contours;
@@ -1324,7 +1324,7 @@
         if (error) return error;
       }
     }
-    
+
     /* grow buffer if necessary */
     error = T1_Add_Contours( builder, 1 ) ||
             T1_Add_Points  ( builder, 1 );
@@ -1391,7 +1391,7 @@
 
       builder->last = vec;
     }
-    
+
     cur->n_points      += 3;
     builder->path_begun = 1;
     return T1_Err_Ok;
@@ -1532,9 +1532,9 @@
 
       T1_Init_Builder( &decoder.builder, face, size, glyph,
                        &gload_builder_interface );
-  
+
       decoder.builder.no_recurse = !!(load_flags & FT_LOAD_NO_RECURSE);
-  
+
       /* now load the unscaled outline */
       error = T1_Parse_CharStrings( &decoder,
                                     type1->charstrings    [glyph_index],
@@ -1542,7 +1542,7 @@
                                     type1->num_subrs,
                                     type1->subrs,
                                     type1->subrs_len );
-  
+
       /* save new glyph tables */
       T1_Done_Builder( &decoder.builder );
     }
@@ -1564,9 +1564,9 @@
       {
         FT_BBox           cbox;
         FT_Glyph_Metrics* metrics = &glyph->root.metrics;
-  
+
         FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
-  
+
         /* grid fit the bounding box if necessary */
         if (hinting)
         {
@@ -1575,36 +1575,36 @@
           cbox.xMax = ( cbox.xMax+63 ) & -64;
           cbox.yMax = ( cbox.yMax+63 ) & -64;
         }
-  
+
         metrics->width  = cbox.xMax - cbox.xMin;
         metrics->height = cbox.yMax - cbox.yMin;
-  
+
         metrics->horiBearingX = cbox.xMin;
         metrics->horiBearingY = cbox.yMax;
-  
+
         /* copy the _unscaled_ advance width */
         metrics->horiAdvance  = decoder.builder.advance.x;
-  
+
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
         metrics->vertBearingY = 0;
         metrics->vertAdvance  = 0;
-  
+
         glyph->root.format = ft_glyph_format_outline;
-  
+
         glyph->root.outline.flags &= ft_outline_owner;
-        
+
         if ( size->root.metrics.y_ppem < 24 )
           glyph->root.outline.flags |= ft_outline_high_precision;
 
         glyph->root.outline.flags |= ft_outline_reverse_fill;
-                
+
         /*
         glyph->root.outline.second_pass    = TRUE;
         glyph->root.outline.high_precision = ( size->root.metrics.y_ppem < 24 );
         glyph->root.outline.dropout_mode   = 2;
         */
-  
+
         if ( hinting )
         {
           /* adjust the advance width                  */
@@ -1620,30 +1620,30 @@
           T1_Vector*   vec = cur->points;
           T1_Fixed     x_scale = glyph->x_scale;
           T1_Fixed     y_scale = glyph->y_scale;
-  
+
           /* First of all, scale the points */
           for ( n = cur->n_points; n > 0; n--, vec++ )
           {
             vec->x = FT_MulFix( vec->x, x_scale );
             vec->y = FT_MulFix( vec->y, y_scale );
           }
-  
+
           /* Then scale the metrics */
           metrics->width  = FT_MulFix( metrics->width,  x_scale );
           metrics->height = FT_MulFix( metrics->height, y_scale );
-  
+
           metrics->horiBearingX = FT_MulFix( metrics->horiBearingX, x_scale );
           metrics->horiBearingY = FT_MulFix( metrics->horiBearingY, y_scale );
           metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );
-  
+
           metrics->vertBearingX = FT_MulFix( metrics->vertBearingX, x_scale );
           metrics->vertBearingY = FT_MulFix( metrics->vertBearingY, y_scale );
           metrics->vertAdvance  = FT_MulFix( metrics->vertAdvance,  x_scale );
-  
+
         }
       }
     }
-    
+
     return error;
   }
 
diff --git a/src/type1/t1gload.h b/src/type1/t1gload.h
index 53d1d53..37a9aad 100644
--- a/src/type1/t1gload.h
+++ b/src/type1/t1gload.h
@@ -181,7 +181,7 @@
 /*     a structure used to store the address of various functions        */
 /*     used by a Type 1 hinter to perform outline hinting.               */
 /*                                                                       */
- 
+
   typedef T1_Error  (*T1_Hinter_ChangeHints)( T1_Builder*  builder );
 
   typedef T1_Error  (*T1_Hinter_DotSection)( T1_Builder*  builder );
diff --git a/src/type1/t1hinter.c b/src/type1/t1hinter.c
index f9d5db9..d7dd894 100644
--- a/src/type1/t1hinter.c
+++ b/src/type1/t1hinter.c
@@ -2,7 +2,7 @@
  *
  *  t1hinter.c                                                 1.2
  *
- *    Type1 hinter.         
+ *    Type1 hinter.
  *
  *  Copyright 1996-1999 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -66,7 +66,7 @@
  *      1. It extracts the bottom and top blue zones from the
  *         face object.
  *
- *      2. Each zone is then grown by  BlueFuzz, overlapping 
+ *      2. Each zone is then grown by  BlueFuzz, overlapping
  *         is eliminated by adjusting the zone edges appropriately
  *
  *      3. For each zone, we keep its original font units position, its
@@ -83,7 +83,7 @@
       {
         T1_Int  i, swap;
         T1_Int* cur;
-    
+
         for ( i = 2; i < count; i += 2 )
         {
           cur = blues + i;
@@ -91,7 +91,7 @@
           {
             if ( cur[-1] < cur[0] )
               break;
-    
+
             swap = cur[-2]; cur[-2] = cur[0]; cur[0] = swap;
             swap = cur[-1]; cur[-1] = cur[1]; cur[1] = swap;
             cur -= 2;
@@ -210,27 +210,27 @@
       }
     }
 
-    
+
     /* Compare the current pixel size with the BlueScale value */
     /* to know wether to supress overshoots..                  */
-    
-    hints->supress_overshoots = 
+
+    hints->supress_overshoots =
       ( size->root.metrics.y_ppem < FT_MulFix(1000,priv->blue_scale) );
 
     /* Now print the new blue values in tracing mode */
 #ifdef FT_DEBUG_LEVEL_TRACE
-    
+
     FT_TRACE2(( "Blue Zones for size object at $%08lx :\n", (long)size ));
     FT_TRACE2(( "   orus    pix    min   max\n" ));
     FT_TRACE2(( "-------------------------------\n" ));
-    
+
     zone = hints->blue_zones;
     for ( n = 0; n < hints->num_blue_zones; n++ )
     {
       FT_TRACE2(( "    %3d   %.2f   %.2f  %.2f\n",
-                zone->orus, 
+                zone->orus,
                 zone->pix/64.0,
-                zone->min/64.0, 
+                zone->min/64.0,
                 zone->max/64.0 ));
       zone++;
     }
@@ -238,7 +238,7 @@
               hints->supress_overshoots ? "supressed" : "active" ));
 
 #endif /* DEBUG_LEVEL_TRACE */
-                               
+
     return T1_Err_Ok;
   }
 
@@ -262,7 +262,7 @@
  *    This function performs the following :
  *
  *      1. It reads and scales the stem snap widths from the parent face
- *     
+ *
  *      2. A "snap zone" is computed for each snap width, by "growing"
  *         it with a threshold of a 1/2 pixel. Overlapping is avoided
  *         through proper edge adjustment.
@@ -296,7 +296,7 @@
     base_zone      = hints->snap_widths;
     orgs           = priv->stem_snap_widths;
     scale          = size->root.metrics.x_scale;
-    
+
     while (direction < 2)
     {
       /*****************************************************************/
@@ -305,7 +305,7 @@
       /*  font record.                                                 */
       /*                                                               */
       T1_Pos  prev, orus, pix, min, max, threshold;
-      
+
       threshold = ONE_PIXEL/4;
       zone      = base_zone;
 
@@ -347,14 +347,14 @@
 
       /* print the scaled stem snap values in tracing modes */
 #ifdef FT_DEBUG_LEVEL_TRACE
-      
-      FT_TRACE2(( "Set_Snap_Zones : first %s pass\n", 
+
+      FT_TRACE2(( "Set_Snap_Zones : first %s pass\n",
                 direction ? "vertical" : "horizontal" ));
-                
+
       FT_TRACE2(( "Scaled original stem snap zones :\n" ));
       FT_TRACE2(( "   orus   pix   min   max\n" ));
       FT_TRACE2(( "-----------------------------\n" ));
-      
+
       zone = base_zone;
       for ( n = 0; n < n_zones; n++, zone++ )
         FT_TRACE2(( "  %3d  %.2f  %.2f  %.2f\n",
@@ -363,7 +363,7 @@
                   zone->min/64.0,
                   zone->max/64.0 ));
       FT_TRACE2(( "\n" ));
-      
+
       FT_TRACE2(( "Standard width = %d\n", standard_width ));
 #endif
 
@@ -378,7 +378,7 @@
         T1_Snap_Zone*  parent;
         T1_Pos         std_pix, std_min, std_max;
 
-        std_pix = SCALE( standard_width );        
+        std_pix = SCALE( standard_width );
 
         std_min = std_pix-threshold;
         std_max = std_pix+threshold;
@@ -402,29 +402,29 @@
           }
           zone++;
         }
-        
+
         /**********************************************/
         /*  Now, insert the standard width zone       */
-        
+
         zone = base_zone+num_zones;
         while ( zone > base_zone && zone[-1].pix > std_max )
         {
           zone[0] = zone[-1];
           zone --;
         }
-        
+
         /* check border zones */
         if ( zone > base_zone && zone[-1].max > std_min )
           zone[-1].max = std_min;
-          
+
         if ( zone < base_zone+num_zones && zone[1].min < std_max )
           zone[1].min = std_max;
-        
+
         zone->orus = standard_width;
         zone->pix  = std_pix;
         zone->min  = std_min;
         zone->max  = std_max;
-        
+
         num_zones++;
       }
       else
@@ -436,14 +436,14 @@
 
       /* print the scaled stem snap values in tracing modes */
 #ifdef FT_DEBUG_LEVEL_TRACE
-      
-      FT_TRACE2(( "Set_Snap_Zones : second %s pass\n", 
+
+      FT_TRACE2(( "Set_Snap_Zones : second %s pass\n",
                 direction ? "vertical" : "horizontal" ));
-                
+
       FT_TRACE2(( "Scaled clipped stem snap zones :\n" ));
       FT_TRACE2(( "   orus   pix   min   max\n" ));
       FT_TRACE2(( "-----------------------------\n" ));
-      
+
       zone = base_zone;
       for ( n = 0; n < num_zones; n++, zone++ )
         FT_TRACE2(( "  %3d  %.2f  %.2f  %.2f\n",
@@ -452,10 +452,10 @@
                   zone->min/64.0,
                   zone->max/64.0 ));
       FT_TRACE2(( "\n" ));
-      
+
       FT_TRACE2(( "Standard width = %d\n", standard_width ));
 #endif
-     
+
       /* continue with vertical snap zone */
       direction++;
       standard_width = priv->standard_height;
@@ -467,7 +467,7 @@
 
     return T1_Err_Ok;
   }
-  
+
 
 /************************************************************************
  *
@@ -489,7 +489,7 @@
   T1_Error  T1_New_Size_Hinter( T1_Size  size )
   {
     FT_Memory  memory = size->root.face->memory;
-    
+
     return MEM_Alloc( size->hints, sizeof(*size->hints) );
   }
 
@@ -562,7 +562,7 @@
   T1_Error  T1_New_Glyph_Hinter( T1_GlyphSlot  glyph )
   {
     FT_Memory  memory = glyph->root.face->memory;
-    
+
     return MEM_Alloc( glyph->hints, sizeof(*glyph->hints) );
   }
 
@@ -846,7 +846,7 @@
  *    table     :: the horizontal stem hints table
  *    hints     :: the current size's hint structure
  *    blueShift :: the value of the /BlueShift as taken from the
- *                 face object.                               
+ *                 face object.
  *    scale     :: the 16.16 scale used to convert outline
  *                 units to 26.6 pixels
  *
@@ -895,7 +895,7 @@
         for ( ; zone < zone_limit; zone++ )
         {
           T1_Pos  dist;
-          
+
           dist = width_pix - zone->min; if (dist < 0) dist = -dist;
           if (dist < best_dist)
           {
@@ -903,7 +903,7 @@
             best_dist = dist;
           }
         }
-        
+
         if (best_zone)
         {
           if (width_pix > best_zone->pix)
@@ -948,7 +948,7 @@
             if (!hints->supress_overshoots)
             {
               T1_Pos  delta = blue->pix - bottom_pix;
-              
+
               delta   = ( delta < blueShift ? 0 : ROUND( delta ) );
               bottom -= delta;
             }
@@ -960,7 +960,7 @@
       /******************************************************************/
       /* Check for top blue zones alignement */
       {
-        T1_Int         num_blues  = hints->num_blue_zones - 
+        T1_Int         num_blues  = hints->num_blue_zones -
                                     hints->num_bottom_zones;
 
         T1_Snap_Zone*  blue       = hints->blue_zones +
@@ -982,7 +982,7 @@
             if (!hints->supress_overshoots)
             {
               T1_Pos  delta = top - blue->pix;
-              
+
               delta  = ( delta < blueShift ? 0 : ROUND( delta ) );
               top   += delta;
             }
@@ -999,27 +999,27 @@
           bottom_pix = bottom;
           top_pix    = bottom + width_pix;
           break;
-          
+
         case T1_ALIGN_TOP:  /* top zone alignement */
           top_pix    = top;
           bottom_pix = top - width_pix;
-          
+
           break;
-          
+
         case T1_ALIGN_BOTH:  /* bottom+top zone alignement */
           bottom_pix = bottom;
           top_pix    = top;
           break;
-          
+
         default:  /* no alignement */
 
-          /* XXXX : TODO : Add management of controlled stems */        
+          /* XXXX : TODO : Add management of controlled stems */
           bottom = ( SCALE(bottom_orus+top_orus) - width_pix )/2;
-        
+
           bottom_pix = ROUND(bottom);
           top_pix    = bottom_pix + width_pix;
       }
-      
+
       stem->min_edge.pix = bottom_pix;
       stem->max_edge.pix = top_pix;
     }
@@ -1079,7 +1079,7 @@
         for ( ; zone < zone_limit; zone++ )
         {
           T1_Pos  dist;
-          
+
           dist = width_pix - zone->min; if (dist < 0) dist = -dist;
           if (dist < best_dist)
           {
@@ -1087,7 +1087,7 @@
             best_dist = dist;
           }
         }
-        
+
         if (best_zone)
         {
           if (width_pix > best_zone->pix)
@@ -1104,7 +1104,7 @@
           }
         }
       }
-   
+
       /* round width - minimum 1 pixel if this isn't a ghost stem */
       if ( width_pix > 0 )
         width_pix = ( width_pix < ONE_PIXEL ? ONE_PIXEL :
@@ -1227,7 +1227,7 @@
  *
  * <Description>
  *   this function grid-fits several points in a given Type 1 builder
- *   at once. 
+ *   at once.
  *
  * <Input>
  *   builder  :: handle to target Type 1 builder
diff --git a/src/type1/t1hinter.h b/src/type1/t1hinter.h
index 4bf753a..b5c9327 100644
--- a/src/type1/t1hinter.h
+++ b/src/type1/t1hinter.h
@@ -2,7 +2,7 @@
  *
  *  t1hinter.h                                                 1.2
  *
- *    Type1 hinter.         
+ *    Type1 hinter.
  *
  *  Copyright 1996-1999 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -56,10 +56,10 @@
   typedef struct T1_Snap_Zone_
   {
     T1_Pos  orus;
-    T1_Pos  pix; 
-    T1_Pos  min; 
-    T1_Pos  max;  
-  
+    T1_Pos  pix;
+    T1_Pos  min;
+    T1_Pos  max;
+
   } T1_Snap_Zone;
 
 
@@ -80,8 +80,8 @@
   typedef struct T1_Edge_
   {
     T1_Pos  orus;
-    T1_Pos  pix;  
-  
+    T1_Pos  pix;
+
   } T1_Edge;
 
 
@@ -209,7 +209,7 @@
  *
  * <Description>
  *   A structure used to model the stem hints of a given glyph outline
- *   during glyph loading. 
+ *   during glyph loading.
  *
  * <Fields>
  *   hori_stems  :: horizontal stem hints table
@@ -344,7 +344,7 @@
  *
  * <Description>
  *   this function grid-fits several points in a given Type 1 builder
- *   at once. 
+ *   at once.
  *
  * <Input>
  *   builder  :: handle to target Type 1 builder
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index f59f226..f8df353 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1131,7 +1131,7 @@
                    error = Expect_Dict_Arguments( parser, 1, tok_error,
                                                   dict_font, 0 );
                    if (error) goto Exit;
-                   
+
                    /* clear stack from all the previous content. This   */
                    /* could be some stupid Postscript code ...          */
                    parser->top = parser->stack;
@@ -1384,7 +1384,7 @@
                   /* syntax, we never escape from the private dictionary     */
                   if (dict_state != dict_private)
                     parser->state_index--;
-               
+
                   /* many fonts use a NP instead of def or put, so */
                   /* we simply ignore the nest token..             */
 #if 0
diff --git a/src/type1/t1load.h b/src/type1/t1load.h
index 673316a..8cd5c80 100644
--- a/src/type1/t1load.h
+++ b/src/type1/t1load.h
@@ -2,7 +2,7 @@
  *
  *  t1load.h                                                    1.0
  *
- *    Type1 Loader.                          
+ *    Type1 Loader.
  *
  *  Copyright 1996-1998 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
diff --git a/src/type1/t1objs.c b/src/type1/t1objs.c
index 2546896..b272a97 100644
--- a/src/type1/t1objs.c
+++ b/src/type1/t1objs.c
@@ -2,7 +2,7 @@
  *
  *  t1objs.c                                                     1.0
  *
- *    Type1 Objects manager.        
+ *    Type1 Objects manager.
  *
  *  Copyright 1996-1998 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -88,9 +88,9 @@
   T1_Error  T1_Init_Size( T1_Size  size )
   {
     T1_Error    error;
-      
+
     size->valid = 0;
-    
+
 #ifndef T1_CONFIG_OPTION_DISABLE_HINTER
     error = T1_New_Size_Hinter( size );
     return error;
@@ -117,7 +117,7 @@
  *     Error code.
  *
  ******************************************************************/
- 
+
   LOCAL_FUNC
   T1_Error  T1_Reset_Size( T1_Size  size )
   {
@@ -148,7 +148,7 @@
  *     face  :: typeless pointer to the face object to destroy
  *
  *  <Return>
- *     Error code.                       
+ *     Error code.
  *
  ******************************************************************/
 
@@ -161,11 +161,11 @@
     if (face)
     {
       memory = face->root.memory;
-      
-      /* release font info strings */      
+
+      /* release font info strings */
       {
         T1_FontInfo*  info = &type1->font_info;
-        
+
         FREE( info->version );
         FREE( info->notice );
         FREE( info->full_name );
@@ -173,21 +173,21 @@
         FREE( info->weight );
       }
 
-      /* release top dictionary */      
+      /* release top dictionary */
       FREE( type1->charstrings_len );
       FREE( type1->charstrings );
       FREE( type1->glyph_names );
 
       FREE( type1->subrs );
       FREE( type1->subrs_len );
-      
+
       FREE( type1->subrs_block );
       FREE( type1->charstrings_block );
       FREE( type1->glyph_names_block );
 
       FREE( type1->encoding.char_index );
       FREE( type1->font_name );
-      
+
 #ifndef T1_CONFIG_OPTION_NO_AFM
       /* release afm data if present */
       if ( face->afm_data)
@@ -242,7 +242,7 @@
     {
       /* look-up the PSNames driver */
       FT_Driver  psnames_driver;
-      
+
       psnames_driver = FT_Get_Driver( face->root.driver->library, "psnames" );
       if (psnames_driver)
         face->psnames = (PSNames_Interface*)
@@ -278,15 +278,15 @@
       {
         FT_Face  root  = (FT_Face)&face->root;
         T1_Font* type1 = &face->type1;
-        
+
         root->num_glyphs   = type1->num_glyphs;
         root->num_charmaps = 1;
-  
+
         root->face_index = face_index;
         root->face_flags = FT_FACE_FLAG_SCALABLE;
-        
+
         root->face_flags |= FT_FACE_FLAG_HORIZONTAL;
-                              
+
         if ( type1->font_info.is_fixed_pitch )
           root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
 
@@ -299,13 +299,13 @@
         {
           char*  full   = type1->font_info.full_name;
           char*  family = root->family_name;
-          
+
           while ( *family && *full == *family )
           {
             family++;
             full++;
           }
-          
+
           root->style_name = ( *full == ' ' ? full+1 : "Regular" );
         }
         else
@@ -317,17 +317,17 @@
             root->style_name  = "Regular";
           }
         }
-  
+
         /* no embedded bitmap support */
         root->num_fixed_sizes = 0;
         root->available_sizes = 0;
-  
+
         root->bbox         = type1->font_bbox;
         root->units_per_EM = 1000;
         root->ascender     =  (T1_Short)type1->font_bbox.yMax;
         root->descender    = -(T1_Short)type1->font_bbox.yMin;
         root->height       = ((root->ascender + root->descender)*12)/10;
-  
+
         /* now compute the maximum advance width */
 
         root->max_advance_width = type1->private_dict.standard_width;
@@ -347,10 +347,10 @@
         }
 
         root->max_advance_height = root->height;
-        
+
         root->underline_position  = type1->font_info.underline_position;
         root->underline_thickness = type1->font_info.underline_thickness;
-  
+
         root->max_points   = 0;
         root->max_contours = 0;
       }
@@ -381,7 +381,7 @@
             charmap->encoding_id = 1;
             charmap++;
           }
-          
+
           /* simply clear the error in case of failure (which really) */
           /* means that out of memory or no unicode glyph names       */
           error = 0;
@@ -391,25 +391,25 @@
       /* now, support either the standard, expert, or custom encodings */
       charmap->face        = (FT_Face)face;
       charmap->platform_id = 7;  /* a new platform id for Adobe fonts ?? */
-      
+
       switch (face->type1.encoding_type)
       {
         case t1_encoding_standard:
           charmap->encoding    = ft_encoding_adobe_standard;
           charmap->encoding_id = 0;
           break;
-        
+
         case t1_encoding_expert:
           charmap->encoding    = ft_encoding_adobe_expert;
           charmap->encoding_id = 1;
           break;
-        
+
         default:
           charmap->encoding    = ft_encoding_adobe_custom;
           charmap->encoding_id = 2;
           break;
       }
-      
+
       root->charmaps = face->charmaps;
       root->num_charmaps = charmap - face->charmaprecs + 1;
       face->charmaps[0] = &face->charmaprecs[0];
@@ -432,7 +432,7 @@
  *
  *  Input  :  _glyph  typeless pointer to the glyph record to destroy
  *
- *  Output :  Error code.                       
+ *  Output :  Error code.
  *
  ******************************************************************/
 
@@ -459,7 +459,7 @@
  *  Description :  The glyph object constructor.
  *
  *  Input  :  glyph   glyph record to build.
- *            face    the glyph's parent face.              
+ *            face    the glyph's parent face.
  *
  *  Output :  Error code.
  *
diff --git a/src/type1/t1objs.h b/src/type1/t1objs.h
index 53fe3db..dd4220f 100644
--- a/src/type1/t1objs.h
+++ b/src/type1/t1objs.h
@@ -2,7 +2,7 @@
  *
  *  t1objs.h                                                    1.0
  *
- *    Type1 objects definition.         
+ *    Type1 objects definition.
  *
  *  Copyright 1996-1999 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -83,7 +83,7 @@
  /*    NOW BEGINS THE TYPE1 SPECIFIC STUFF ..............................  */
  /*                                                                        */
  /**************************************************************************/
- 
+
 
   /***************************************************/
   /*                                                 */
@@ -91,7 +91,7 @@
   /*                                                 */
   /*    Type 1 size record..                         */
   /*                                                 */
-  
+
   typedef struct T1_SizeRec_
   {
     FT_SizeRec      root;
@@ -110,14 +110,14 @@
   /*                                                 */
   /*    TrueDoc glyph record..                       */
   /*                                                 */
-  
+
   typedef struct T1_GlyphSlotRec_
   {
     FT_GlyphSlotRec  root;
 
     T1_Bool          hint;
     T1_Bool          scaled;
-    
+
     T1_Int           max_points;
     T1_Int           max_contours;
 
@@ -251,7 +251,7 @@
  *
  *  <Input>  glyph  :: handle to glyph slot object
  *
- *  <Output>  Error code.                       
+ *  <Output>  Error code.
  *
  ******************************************************************/
 
diff --git a/src/type1/t1parse.c b/src/type1/t1parse.c
index d897d74..9a71f99 100644
--- a/src/type1/t1parse.c
+++ b/src/type1/t1parse.c
@@ -157,16 +157,16 @@
     old_base = table->block;
     if (!old_base)
       return;
-    
+
     (void)REALLOC( table->block, table->capacity, table->cursor );
     table->capacity = table->cursor;
-    
+
     if (old_base != table->block)
     {
       T1_Long   delta   = table->block - old_base;
       T1_Byte** element = table->elements;
       T1_Byte** limit   = element + table->max_elems;
-      
+
       for ( ; element < limit; element++ )
         if (element[0])
           element[0] += delta;
diff --git a/src/type1/t1tokens.c b/src/type1/t1tokens.c
index 6f2f58e..53e5a9e 100644
--- a/src/type1/t1tokens.c
+++ b/src/type1/t1tokens.c
@@ -170,7 +170,7 @@
 
       FT_TRACE2(( "Growing tokenizer buffer by %d bytes\n", left_bytes ));
 
-      if ( !REALLOC( tokzer->base, tokzer->limit, 
+      if ( !REALLOC( tokzer->base, tokzer->limit,
                      tokzer->limit + left_bytes )                 &&
            !FILE_Read( tokzer->base + tokzer->limit, left_bytes ) )
         tokzer->limit += left_bytes;
@@ -309,13 +309,13 @@
    tokzer->cursor = 0;
 
    *tokenizer = tokzer;
-   
+
    /* Now check font format, we must see a '%!PS-AdobeFont-1' */
    /* or a '%!FontType'                                       */
    {
      if ( 16 > tokzer->limit )
        grow( tokzer );
-       
+
      if ( tokzer->limit <= 16 ||
           ( strncmp( (const char*)tokzer->base, "%!PS-AdobeFont-1", 16 ) &&
             strncmp( (const char*)tokzer->base, "%!FontType", 10 )       ) )
@@ -817,7 +817,7 @@
              case '(':
              case '<':
              case '/':
-               goto Any_Token;           
+               goto Any_Token;
 
              case  ' ':
              case '\r':
@@ -842,7 +842,7 @@
      case '+':
        if (token_started)
          goto Next;
-         
+
        token_started    = 1;
        tok->token.start = cur-1;
        for (;;)
diff --git a/src/type1z/t1afm.c b/src/type1z/t1afm.c
index b9f8d83..56eb84a 100644
--- a/src/type1z/t1afm.c
+++ b/src/type1z/t1afm.c
@@ -34,27 +34,27 @@
     FT_UInt  result = 0;
     char     temp[64];
 
-    /* skip whitespace */    
+    /* skip whitespace */
     while ( (*p == ' ' || *p == '\t' || *p == ':' || *p == ';') && p < limit )
       p++;
     *start = p;
-    
+
     /* now, read glyph name */
     while ( IS_ALPHANUM(*p) && p < limit ) p++;
     len = p - *start;
     if (len > 0 && len < 64)
     {
       FT_Int  n;
-      
+
       /* copy glyph name to intermediate array */
       MEM_Copy( temp, *start, len );
       temp[len] = 0;
-      
+
       /* lookup glyph name in face array */
       for ( n = 0; n < type1->num_glyphs; n++ )
       {
         char*  gname = (char*)type1->glyph_names[n];
-        
+
         if ( gname && gname[0] == temp[0] && strcmp(gname,temp) == 0 )
         {
           result = n;
@@ -74,17 +74,17 @@
     FT_Byte*  p    = *start;
     int       sum  = 0;
     int       sign = 1;
-    
+
     /* skip everything that is not a number */
     while ( p < limit && (*p < '0' || *p > '9') )
     {
       sign = 1;
       if (*p == '-')
         sign = -1;
-        
+
       p++;
     }
-    
+
     while ( p < limit && (*p >= '0' && *p < '9') )
     {
       sum = sum*10 + (*p - '0');
@@ -104,10 +104,10 @@
   {
     T1_Kern_Pair*  pair1 = (T1_Kern_Pair*)a;
     T1_Kern_Pair*  pair2 = (T1_Kern_Pair*)b;
-    
+
     T1_ULong  index1 = KERN_INDEX(pair1->glyph1,pair1->glyph2);
     T1_ULong  index2 = KERN_INDEX(pair2->glyph1,pair2->glyph2);
-    
+
     return ( index1 < index2 ? -1 :
            ( index1 > index2 ?  1 : 0 ));
   }
@@ -127,14 +127,14 @@
     T1_Kern_Pair*  pair;
     T1_Font*       type1 = &((T1_Face)t1_face)->type1;
     T1_AFM*        afm   = 0;
-    
+
     if ( ACCESS_Frame(stream->size) )
       return error;
-      
+
     start = (FT_Byte*)stream->cursor;
     limit = (FT_Byte*)stream->limit;
     p     = start;
-    
+
     /* we are now going to count the occurences of "KP" or "KPX" in */
     /* the AFM file..                                               */
     count = 0;
@@ -147,16 +147,16 @@
    /* Actually, kerning pairs are simply optional !! */
     if (count == 0)
       goto Exit;
-    
+
     /* allocate the pairs */
     if ( ALLOC(       afm, sizeof(*afm ) )                   ||
          ALLOC_ARRAY( afm->kern_pairs, count, T1_Kern_Pair ) )
       goto Exit;
-    
+
     /* now, read each kern pair */
     pair           = afm->kern_pairs;
     afm->num_pairs = count;
-    
+
     /* save in face object */
     ((T1_Face)t1_face)->afm_data = afm;
 
@@ -165,26 +165,26 @@
       if ( IS_KERN_PAIR(p) )
       {
         FT_Byte*  q;
-        
+
         /* skip keyword (KP or KPX) */
         q = p+2;
         if (*q == 'X') q++;
-        
+
         pair->glyph1    = afm_atoindex( &q, limit, type1 );
         pair->glyph2    = afm_atoindex( &q, limit, type1 );
         pair->kerning.x = afm_atoi( &q, limit );
-        
+
         pair->kerning.y = 0;
         if ( p[2] != 'X' )
           pair->kerning.y = afm_atoi( &q, limit );
-          
+
         pair++;
       }
     }
-    
+
     /* now, sort the kern pairs according to their glyph indices */
     qsort( afm->kern_pairs, count, sizeof(T1_Kern_Pair), compare_kern_pairs );
-    
+
   Exit:
     if (error)
       FREE( afm );
@@ -194,7 +194,7 @@
   }
 
 
- /* find the kerning for a given glyph pair */  
+ /* find the kerning for a given glyph pair */
   LOCAL_FUNC
   void  T1_Get_Kerning( T1_AFM*     afm,
                         FT_UInt     glyph1,
@@ -203,23 +203,23 @@
   {
     T1_Kern_Pair  *min, *mid, *max;
     T1_ULong       index = KERN_INDEX(glyph1,glyph2);
-    
+
     /* simple binary search */
     min = afm->kern_pairs;
     max = min + afm->num_pairs-1;
-    
+
     while (min <= max)
     {
       T1_ULong  midi;
-      
+
       mid = min + (max-min)/2;
-      midi = KERN_INDEX(mid->glyph1,mid->glyph2); 
+      midi = KERN_INDEX(mid->glyph1,mid->glyph2);
       if ( midi == index )
       {
         *kerning = mid->kerning;
         return;
       }
-      
+
       if ( midi < index ) min = mid+1;
                      else max = mid-1;
     }
diff --git a/src/type1z/t1afm.h b/src/type1z/t1afm.h
index 61e18b8..984ae94 100644
--- a/src/type1z/t1afm.h
+++ b/src/type1z/t1afm.h
@@ -18,7 +18,7 @@
   FT_UInt   glyph1;
   FT_UInt   glyph2;
   FT_Vector kerning;
-  
+
 } T1_Kern_Pair;
 
 
diff --git a/src/type1z/t1driver.c b/src/type1z/t1driver.c
index 7479fab..c6dba1a 100644
--- a/src/type1z/t1driver.c
+++ b/src/type1z/t1driver.c
@@ -9,7 +9,7 @@
  *
  *  This file is part of the FreeType project, and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
@@ -59,10 +59,10 @@
                                      const FT_String*  interface )
   {
     UNUSED(driver);
-    
+
     if ( strcmp( (const char*)interface, "attach_file" ) == 0 )
       return (FTDriver_Interface)T1_Read_AFM;
-      
+
     return 0;
   }
 
@@ -107,7 +107,7 @@
                          T1_Vector*  kerning )
   {
     T1_AFM*  afm;
-    
+
     kerning->x = 0;
     kerning->y = 0;
 
@@ -185,7 +185,7 @@
     UNUSED(pixel_width);
     UNUSED(pixel_height);
 
-    size->valid = FALSE; 
+    size->valid = FALSE;
     return T1_Reset_Size(size);
   }
 
@@ -214,7 +214,7 @@
 
     face = (T1_Face)charmap->face;
     psnames = (PSNames_Interface*)face->psnames;
-    if (psnames)    
+    if (psnames)
       switch (charmap->encoding)
       {
        /********************************************************************/
@@ -233,7 +233,7 @@
               result = 0;
             goto Exit;
           }
-  
+
        /********************************************************************/
        /*                                                                  */
        /* Custom Type 1 encoding                                           */
@@ -248,7 +248,7 @@
             }
             goto Exit;
           }
-          
+
        /********************************************************************/
        /*                                                                  */
        /* Adobe Standard & Expert encoding support                         */
@@ -259,18 +259,18 @@
            FT_UInt      code;
            FT_Int       n;
            const char*  glyph_name;
-           
+
            code = psnames->adobe_std_encoding[charcode];
            if (charmap->encoding == ft_encoding_adobe_expert)
              code = psnames->adobe_expert_encoding[charcode];
-           
+
            glyph_name = psnames->adobe_std_strings(code);
            if (!glyph_name) break;
-           
+
            for ( n = 0; n < face->type1.num_glyphs; n++ )
            {
              const char*  gname = face->type1.glyph_names[n];
-             
+
              if ( gname && gname[0] == glyph_name[0] &&
                   strcmp( gname, glyph_name ) == 0 )
              {
@@ -280,7 +280,7 @@
            }
          }
       }
-  Exit:      
+  Exit:
     return result;
   }
 
@@ -365,7 +365,7 @@
     sizeof( T1_FaceRec ),
     sizeof( T1_SizeRec ),
     sizeof( T1_GlyphSlotRec ),
-    
+
     "type1",
     100,
     200,
@@ -384,7 +384,7 @@
     (FTDriver_initFace)             T1_Init_Face,
     (FTDriver_doneFace)             T1_Done_Face,
 
-#ifdef T1_CONFIG_OPTION_NO_AFM    
+#ifdef T1_CONFIG_OPTION_NO_AFM
     (FTDriver_getKerning)           0,
 #else
     (FTDriver_getKerning)           Get_Kerning,
@@ -424,12 +424,12 @@
   /*                                                                */
 
 #ifdef FT_CONFIG_OPTION_DYNAMIC_DRIVERS
-  
+
   EXPORT_FUNC(FT_DriverInterface*)  getDriverInterface( void )
   {
     return &t1_driver_interface;
   }
-  
+
 #endif /* FT_CONFIG_OPTION_DYNAMIC_DRIVERS */
 
 
diff --git a/src/type1z/t1driver.h b/src/type1z/t1driver.h
index ec43946..76f244a 100644
--- a/src/type1z/t1driver.h
+++ b/src/type1z/t1driver.h
@@ -9,7 +9,7 @@
  *
  *  This file is part of the FreeType project, and may only be used,
  *  modified, and distributed under the terms of the FreeType project
- *  license, LICENSE.TXT.  By continuing to use, modify, or distribute 
+ *  license, LICENSE.TXT.  By continuing to use, modify, or distribute
  *  this file you indicate that you have read the license and
  *  understand and accept it fully.
  *
diff --git a/src/type1z/t1errors.h b/src/type1z/t1errors.h
index 93731c1..a799115 100644
--- a/src/type1z/t1errors.h
+++ b/src/type1z/t1errors.h
@@ -32,7 +32,7 @@
 #define  T1_Err_Ok                       FT_Err_Ok
 
 /* ----------- high level API errors -------- */
-  
+
 #define  T1_Err_Invalid_File_Format      FT_Err_Invalid_File_Format
 #define  T1_Err_Invalid_Argument         FT_Err_Invalid_Argument
 #define  T1_Err_Invalid_Driver_Handle    FT_Err_Invalid_Driver_Handle
@@ -51,7 +51,7 @@
 #define  T1_Err_Invalid_Engine           FT_Err_Invalid_Driver_Handle
 
 /* ------------- internal errors ------------ */
-  
+
 #define  T1_Err_Out_Of_Memory            FT_Err_Out_Of_Memory
 #define  T1_Err_Unlisted_Object          FT_Err_Unlisted_Object
 
diff --git a/src/type1z/t1gload.c b/src/type1z/t1gload.c
index 51d3f44..71a7173 100644
--- a/src/type1z/t1gload.c
+++ b/src/type1z/t1gload.c
@@ -55,7 +55,7 @@
 
   } T1_Operator;
 
-  static const T1_Int  t1_args_count[ op_max ] = 
+  static const T1_Int  t1_args_count[ op_max ] =
   {
     0, /* none */
     0, /* endchar */
@@ -223,7 +223,7 @@
       return T1_Err_Ok;
 
     count += base->n_points + outline->n_points;
-        
+
     /* realloc points table if necessary */
     if ( count >= builder->max_points )
     {
@@ -237,14 +237,14 @@
 
       if ( REALLOC_ARRAY( base->points, current,
                           builder->max_points, T1_Vector )  ||
-  
+
            REALLOC_ARRAY( base->tags, current,
                           builder->max_points, T1_Byte )    )
       {
         builder->error = error;
         return error;
       }
-    
+
       outline->points = base->points + increment;
       outline->tags  = base->tags  + increment;
     }
@@ -265,17 +265,17 @@
     {
       FT_Vector*  point   = outline->points + outline->n_points;
       FT_Byte*    control = (FT_Byte*)outline->tags + outline->n_points;
-      
+
       point->x = x;
       point->y = y;
       *control = ( flag ? FT_Curve_Tag_On : FT_Curve_Tag_Cubic );
-      
+
       builder->last = *point;
     }
-    
+
     outline->n_points++;
   }
-    
+
 
   /* check room for a new on-curve point, then add it */
   static
@@ -284,7 +284,7 @@
                         FT_Pos       y )
   {
     T1_Error  error;
-    
+
     error = check_points(builder,1);
     if (!error)
       add_point( builder, x, y, 1 );
@@ -305,7 +305,7 @@
       outline->n_contours++;
       return T1_Err_Ok;
     }
-    
+
     /* realloc contours array if necessary */
     if ( base->n_contours + outline->n_contours >= builder->max_contours &&
          builder->load_points )
@@ -323,7 +323,7 @@
         builder->error = error;
         return error;
       }
-  
+
       outline->contours = base->contours + increment;
     }
 
@@ -344,7 +344,7 @@
     if (!builder->path_begun)
     {
       T1_Error  error;
-    
+
       builder->path_begun = 1;
       error = add_contour( builder );
       if (error) return error;
@@ -374,7 +374,7 @@
  *    to implement the SEAC Type 1 operator.
  *
  * <Input>
- *    face     :: current face object         
+ *    face     :: current face object
  *    charcode :: charcode to look for
  *
  * <Return>
@@ -390,18 +390,18 @@
     T1_Int              n;
     const T1_String*    glyph_name;
     PSNames_Interface*  psnames = (PSNames_Interface*)face->psnames;
-    
+
     /* check range of standard char code */
     if (charcode < 0 || charcode > 255)
       return -1;
-      
+
     glyph_name = psnames->adobe_std_strings(
                     psnames->adobe_std_encoding[charcode]);
-    
+
     for ( n = 0; n < face->type1.num_glyphs; n++ )
     {
       T1_String*  name = (T1_String*)face->type1.glyph_names[n];
-      
+
       if ( name && strcmp(name,glyph_name) == 0 )
         return n;
     }
@@ -428,7 +428,7 @@
  *    achar    :: accent character's StandardEncoding charcode
  *
  * <Return>
- *    Error code. 0 means success.                               
+ *    Error code. 0 means success.
  *
  *********************************************************************/
 
@@ -447,10 +447,10 @@
     FT_Outline*  base = &decoder->builder.base;
     T1_Vector    left_bearing, advance;
     T1_Font*     type1 = &face->type1;
-    
+
     bchar_index = lookup_glyph_by_stdcharcode( face, bchar );
     achar_index = lookup_glyph_by_stdcharcode( face, achar );
-    
+
     if (bchar_index < 0 || achar_index < 0)
     {
       FT_ERROR(( "T1.Parse_Seac : invalid seac character code arguments\n" ));
@@ -482,20 +482,20 @@
       FT_GlyphSlot  glyph = (FT_GlyphSlot)decoder->builder.glyph;
       FT_SubGlyph*  subg;
 
-      /* reallocate subglyph array if necessary */        
+      /* reallocate subglyph array if necessary */
       if (glyph->max_subglyphs < 2)
       {
         FT_Memory  memory = decoder->builder.face->root.memory;
-        
+
         if ( REALLOC_ARRAY( glyph->subglyphs, glyph->max_subglyphs,
                             2, FT_SubGlyph ) )
           return error;
-          
+
         glyph->max_subglyphs = 2;
       }
 
       subg = glyph->subglyphs;
-      
+
       /* subglyph 0 = base character */
       subg->index = bchar_index;
       subg->flags = FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES |
@@ -503,7 +503,7 @@
       subg->arg1  = 0;
       subg->arg2  = 0;
       subg++;
-      
+
       /* subglyph 1 = accent character */
       subg->index = achar_index;
       subg->flags = FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES;
@@ -520,19 +520,19 @@
       /* as they will be erase by the next load..              */
       left_bearing = decoder->builder.left_bearing;
       advance      = decoder->builder.advance;
-  
+
       decoder->builder.left_bearing.x = 0;
-      decoder->builder.left_bearing.y = 0;    
-  
+      decoder->builder.left_bearing.y = 0;
+
       /* Now load "achar" on top of */
       /* the base outline           */
-      /*                            */ 
+      /*                            */
       cur->n_points   = 0;
       cur->n_contours = 0;
       cur->points     = base->points   + base->n_points;
       cur->tags      = base->tags    + base->n_points;
       cur->contours   = base->contours + base->n_contours;
-  
+
       error = T1_Parse_CharStrings( decoder,
                                     type1->charstrings    [achar_index],
                                     type1->charstrings_len[achar_index],
@@ -540,21 +540,21 @@
                                     type1->subrs,
                                     type1->subrs_len );
       if (error) return error;
-  
+
       /* adjust contours in accented character outline */
       if (decoder->builder.load_points)
       {
         T1_Int  n;
-  
+
         for ( n = 0; n < cur->n_contours; n++ )
           cur->contours[n] += n_base_points;
       }
-  
+
       /* restore the left side bearing and   */
       /* advance width of the base character */
       decoder->builder.left_bearing = left_bearing;
       decoder->builder.advance      = advance;
-  
+
       /* Finally, move the accent */
       if (decoder->builder.load_points)
         FT_Outline_Translate( cur, adx - asb, ady );
@@ -580,7 +580,7 @@
  *    subrs_len        :: array of sub-routines lengths
  *
  * <Return>
- *    Error code. 0 means success.                               
+ *    Error code. 0 means success.
  *
  *********************************************************************/
 
@@ -615,7 +615,7 @@
 
     error   = T1_Err_Ok;
     outline = &builder->current;
-    
+
     x = builder->pos_x;
     y = builder->pos_y;
 
@@ -749,27 +749,27 @@
         FT_TRACE4(( " callothersubr" ));
         if ( top - decoder->stack < 2 )
           goto Stack_Underflow;
-          
+
         top -= 2;
         switch ( top[1] )
         {
           case 1: /* start flex feature ---------------------- */
             {
               if ( top[0] != 0 ) goto Unexpected_OtherSubr;
-              
+
               decoder->flex_state        = 1;
               decoder->num_flex_vectors  = 0;
               if ( start_point(builder, x, y) ||
                    check_points(builder,6) ) goto Memory_Error;
             }
             break;
-  
+
           case 2: /* add flex vectors ------------------------ */
             {
               T1_Int      index;
-              
+
               if ( top[0] != 0 ) goto Unexpected_OtherSubr;
-              
+
               /* note that we should not add a point for index 0 */
               /* this will move our current position to the flex */
               /* point without adding any point to the outline   */
@@ -781,18 +781,18 @@
                            (T1_Byte)( index==3 || index==6 ) );
             }
             break;
-            
+
           case 0: /* end flex feature ------------------------- */
             {
               if ( top[0] != 3 ) goto Unexpected_OtherSubr;
-              
+
               if ( decoder->flex_state       == 0 ||
                    decoder->num_flex_vectors != 7 )
               {
                 FT_ERROR(( "T1.Parse_CharStrings: unexpected flex end\n" ));
                 goto Syntax_Error;
               }
-              
+
               /* now consume the remaining "pop pop setcurpoint" */
               if ( ip+6 > limit ||
                    ip[0] != 12  || ip[1] != 17 || /* pop */
@@ -802,16 +802,16 @@
                 FT_ERROR(( "T1.Parse_CharStrings: invalid flex charstring\n" ));
                 goto Syntax_Error;
               }
-              
+
               ip += 6;
               decoder->flex_state = 0;
               break;
             }
-            
+
           case 3:  /* change hints ---------------------------- */
             {
               if ( top[0] != 1 ) goto Unexpected_OtherSubr;
-              
+
               /* eat the following "pop" */
               if (ip+2 > limit)
               {
@@ -819,7 +819,7 @@
                          ip[-1] ));
                 goto Syntax_Error;
               }
-  
+
               if (ip[0] != 12 || ip[1] != 17)
               {
                 FT_ERROR(( "T1.Parse_CharStrings: 'pop' expected, found (%d %d)\n",
@@ -829,7 +829,7 @@
               ip += 2;
               break;;
             }
-            
+
           default:
           Unexpected_OtherSubr:
             FT_ERROR(( "T1.Parse_CharStrings: invalid othersubr [%d %d]!!\n",
@@ -852,12 +852,12 @@
           case op_endchar: /*************************************************/
           {
             FT_TRACE4(( " endchar" ));
-            close_contour( builder );  
+            close_contour( builder );
 
             /* add current outline to the glyph slot */
             builder->base.n_points   += builder->current.n_points;
             builder->base.n_contours += builder->current.n_contours;
-            
+
             /* return now !! */
             FT_TRACE4(( "\n\n" ));
             return T1_Err_Ok;
@@ -870,16 +870,16 @@
             builder->left_bearing.x += top[0];
             builder->advance.x       = top[1];
             builder->advance.y       = 0;
-        
+
             builder->last.x = x = top[0];
             builder->last.y = y = 0;
-            
+
             /* the "metrics_only" indicates that we only want to compute */
             /* the glyph's metrics (lsb + advance width), not load the   */
             /* rest of it.. so exit immediately                          */
             if (builder->metrics_only)
               return T1_Err_Ok;
-              
+
             break;
           }
 
@@ -896,16 +896,16 @@
             builder->left_bearing.y += top[1];
             builder->advance.x       = top[2];
             builder->advance.y       = top[3];
-        
+
             builder->last.x = x = top[0];
             builder->last.y = y = top[1];
-            
+
             /* the "metrics_only" indicates that we only want to compute */
             /* the glyph's metrics (lsb + advance width), not load the   */
             /* rest of it.. so exit immediately                          */
             if (builder->metrics_only)
               return T1_Err_Ok;
-        
+
             break;
           }
 
@@ -942,7 +942,7 @@
             FT_TRACE4(( " hvcurveto" ));
             if ( start_point( builder, x, y ) ||
                  check_points( builder, 3 )   ) goto Memory_Error;
-                 
+
             x += top[0];
             add_point( builder, x, y, 0 );
             x += top[1];
@@ -958,7 +958,7 @@
           {
             FT_TRACE4(( " rlineto" ));
             if ( start_point( builder, x, y ) ) goto Memory_Error;
-              
+
             x += top[0];
             y += top[1];
    Add_Line:
@@ -980,11 +980,11 @@
             FT_TRACE4(( " rcurveto" ));
             if ( start_point( builder, x, y ) ||
                  check_points( builder, 3 )   ) goto Memory_Error;
-              
+
             x += top[0];
             y += top[1];
             add_point( builder, x, y, 0 );
-            
+
             x += top[2];
             y += top[3];
             add_point( builder, x, y, 0 );
@@ -993,7 +993,7 @@
             y += top[5];
             add_point( builder, x, y, 1 );
             break;
-          }    
+          }
 
 
           case op_vhcurveto:  /**********************************************/
@@ -1001,7 +1001,7 @@
             FT_TRACE4(( " vhcurveto" ));
             if ( start_point( builder, x, y ) ||
                  check_points( builder, 3 )   ) goto Memory_Error;
-                 
+
             y += top[0];
             add_point( builder, x, y, 0 );
             x += top[1];
@@ -1017,7 +1017,7 @@
             {
               FT_TRACE4(( " vlineto" ));
               if ( start_point( builder, x, y ) ) goto Memory_Error;
-                
+
               y += top[0];
               goto Add_Line;
             }
@@ -1150,10 +1150,10 @@
         }
 
         decoder->top = top;
-      
+
       } /* general operator processing */
 
-      
+
     } /* while ip < limit */
     FT_TRACE4(( "..end..\n\n" ));
     return error;
@@ -1163,7 +1163,7 @@
 
   Stack_Underflow:
     return T1_Err_Stack_Underflow;
-    
+
   Memory_Error:
     return builder->error;
   }
@@ -1269,9 +1269,9 @@
     {
       T1_Init_Decoder( &decoder );
       T1_Init_Builder( &decoder.builder, face, size, glyph );
-  
+
       decoder.builder.no_recurse = (FT_Bool)!!(load_flags & FT_LOAD_NO_RECURSE);
-      
+
       /* now load the unscaled outline */
       error = T1_Parse_CharStrings( &decoder,
                                     type1->charstrings    [glyph_index],
@@ -1279,7 +1279,7 @@
                                     type1->num_subrs,
                                     type1->subrs,
                                     type1->subrs_len );
-  
+
       /* save new glyph tables */
       T1_Done_Builder( &decoder.builder );
     }
@@ -1300,29 +1300,29 @@
       {
         FT_BBox           cbox;
         FT_Glyph_Metrics* metrics = &glyph->root.metrics;
-  
+
         /* copy the _unscaled_ advance width */
         metrics->horiAdvance  = decoder.builder.advance.x;
-  
+
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
         metrics->vertBearingY = 0;
         metrics->vertAdvance  = 0;
-  
+
         glyph->root.format = ft_glyph_format_outline;
-  
+
         glyph->root.outline.flags &= ft_outline_owner;
         if ( size && size->root.metrics.y_ppem < 24 )
           glyph->root.outline.flags |= ft_outline_high_precision;
 
         glyph->root.outline.flags |= ft_outline_reverse_fill;
-                
+
         /*
         glyph->root.outline.second_pass    = TRUE;
         glyph->root.outline.high_precision = ( size->root.metrics.y_ppem < 24 );
         glyph->root.outline.dropout_mode   = 2;
         */
-  
+
         if ( (load_flags & FT_LOAD_NO_SCALE) == 0 )
         {
           /* scale the outline and the metrics */
@@ -1331,7 +1331,7 @@
           T1_Vector*   vec = cur->points;
           T1_Fixed     x_scale = glyph->x_scale;
           T1_Fixed     y_scale = glyph->y_scale;
-  
+
           /* First of all, scale the points */
           for ( n = cur->n_points; n > 0; n--, vec++ )
           {
@@ -1340,10 +1340,10 @@
           }
 
           FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
-    
+
           /* Then scale the metrics */
           metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );
-  
+
           metrics->vertBearingX = FT_MulFix( metrics->vertBearingX, x_scale );
           metrics->vertBearingY = FT_MulFix( metrics->vertBearingY, y_scale );
           metrics->vertAdvance  = FT_MulFix( metrics->vertAdvance,  x_scale );
@@ -1351,7 +1351,7 @@
 
         /* compute the other metrics */
         FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
-        
+
         /* grid fit the bounding box if necessary */
         if (hinting)
         {
diff --git a/src/type1z/t1gload.h b/src/type1z/t1gload.h
index 3c2de5e..0ac000a 100644
--- a/src/type1z/t1gload.h
+++ b/src/type1z/t1gload.h
@@ -108,10 +108,10 @@
     T1_Bool       path_begun;
     T1_Bool       load_points;
     T1_Bool       no_recurse;
-    
+
     T1_Error      error;         /* only used for memory errors */
     T1_Bool       metrics_only;
-    
+
   } T1_Builder;
 
 
diff --git a/src/type1z/t1load.c b/src/type1z/t1load.c
index b2589c2..e53e914 100644
--- a/src/type1z/t1load.c
+++ b/src/type1z/t1load.c
@@ -2,7 +2,7 @@
  *
  *  t1load.h                                                    2.0
  *
- *    Type1 Loader.                          
+ *    Type1 Loader.
  *
  *  Copyright 1996-2000 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -32,7 +32,7 @@
  *
  *      ..... /Field <data> ....
  *
- *  where <data> can be a number, a boolean, a string, or an 
+ *  where <data> can be a number, a boolean, a string, or an
  *  array of numbers. There are a few exceptions, namely the
  *  encoding, font name, charstrings and subrs and they are
  *  handled with a special pattern-matching routine.
@@ -72,17 +72,17 @@
 
   typedef  void  (*T1_Parse_Func)( T1_Face   face, T1_Loader*  loader );
 
-  typedef  struct T1_KeyWord_  
+  typedef  struct T1_KeyWord_
   {
     const char*    name;
     T1_Parse_Func  parsing;
-  
+
   } T1_KeyWord;
 
   /* some handy macros used to easily define parsing callback functions */
   /* each callback is in charge of loading a value and storing it in a  */
   /* given field of the Type 1 face..                                   */
- 
+
 #define PARSE_(x)  static void FT_XCAT(parse_,x) ( T1_Face  face, T1_Loader* loader )
 
 #define FIELD   FACE.x
@@ -98,7 +98,7 @@
           FACE.x = (t)T1_ToInt(&loader->parser);                  \
           FT_TRACE2(( "type1.parse_%s: \"%d\"\n", #x, FACE.x ));   \
         }
-        
+
 #define PARSE_INT(s,x)   PARSE_(x)                                  \
         {                                                           \
           FACE.x = T1_ToInt(&loader->parser);                     \
@@ -111,19 +111,19 @@
           FT_TRACE2(( "type1.parse_%s : \"%s\"\n",                \
                        #x, FACE.x ? "true" : "false" ));              \
         }
- 
+
 #define PARSE_FIXED(s,x)   PARSE_(x)                                        \
         {                                                                   \
           FACE.x = T1_ToFixed(&loader->parser,3);                         \
           FT_TRACE2(( "type1.parse_%s: \"%f\"\n", #x, FACE.x/65536.0 ));   \
         }
- 
+
 #define PARSE_COORDS(s,c,m,x)   PARSE_(x)                                         \
         {                                                                         \
           FACE.c = T1_ToCoordArray(&loader->parser, m, (T1_Short*)FACE.x );   \
           FT_TRACE2(( "type1.parse_%s\n", #x ));                                   \
         }
-           
+
 #define PARSE_FIXEDS(s,c,m,x)   PARSE_(x)                                           \
         {                                                                           \
           FACE.c = T1_ToFixedArray(&loader->parser, m, (T1_Fixed*)FACE.x, 3 );  \
@@ -168,49 +168,49 @@
   void  skip_whitespace( T1_Parser* parser )
   {
     T1_Byte*  cur = parser->cursor;
-    
+
     while ( cur < parser->limit && is_space(*cur) )
       cur++;
-      
+
     parser->cursor = cur;
   }
-  
+
   static
   void skip_blackspace( T1_Parser* parser )
   {
     T1_Byte*  cur = parser->cursor;
-    
+
     while ( cur < parser->limit && !is_space(*cur) )
       cur++;
-      
+
     parser->cursor = cur;
   }
-  
+
   static
   int   read_binary_data( T1_Parser*  parser, T1_Int *size, T1_Byte* *base )
   {
     T1_Byte*  cur;
     T1_Byte*  limit = parser->limit;
-    
+
     /* the binary data has the following format */
     /*                                          */
     /* "size" [white*] RD white ....... ND      */
     /*                                          */
-    
+
     skip_whitespace(parser);
     cur = parser->cursor;
-    
+
     if ( cur < limit && (T1_Byte)(*cur-'0') < 10 )
     {
       *size = T1_ToInt(parser);
-      
+
       skip_whitespace(parser);
       skip_blackspace(parser);  /* "RD" or "-|" or something else */
-      
+
       /* there is only one whitespace char after the */
       /* "RD" or "-|" token                          */
       *base = parser->cursor + 1;
-      
+
       parser->cursor += *size+1;
       return 1;
     }
@@ -235,12 +235,12 @@
     T1_Byte*    cur;
     T1_Byte*    cur2;
     T1_Byte*    limit;
-    
+
     skip_whitespace(parser);
     cur   = parser->cursor;
     limit = parser->limit;
     if ( cur >= limit-1 || *cur != '/' ) return;
-    
+
     cur++;
     cur2 = cur;
     while (cur2 < limit && is_alpha(*cur2)) cur2++;
@@ -252,7 +252,7 @@
         parser->error = error;
         return;
       }
-      
+
       MEM_Copy( face->type1.font_name, cur, len );
       face->type1.font_name[len] = '\0';
     }
@@ -265,7 +265,7 @@
     T1_Parser*  parser = &loader->parser;
     T1_Short    temp[4];
     T1_BBox*    bbox = &face->type1.font_bbox;
-    
+
     (void)T1_ToCoordArray( parser, 4, temp );
     bbox->xMin = temp[0];
     bbox->yMin = temp[1];
@@ -279,7 +279,7 @@
     T1_Parser*  parser = &loader->parser;
     T1_Byte*    cur   = parser->cursor;
     T1_Byte*    limit = parser->limit;
-    
+
     /* skip whitespace */
     while (is_space(*cur))
     {
@@ -291,7 +291,7 @@
         return;
       }
     }
-    
+
     /* if we have a number, then the encoding is an array, */
     /* and we must load it now                             */
     if ((T1_Byte)(*cur - '0') < 10)
@@ -301,7 +301,7 @@
       T1_Table*     char_table = &loader->encoding_table;
       FT_Memory     memory     = parser->memory;
       FT_Error      error;
-      
+
       /* read the number of entries in the encoding, should be 256 */
       count = T1_ToInt( parser );
       if (parser->error) return;
@@ -315,7 +315,7 @@
         parser->error = error;
         return;
       }
-      
+
       /* now, we will need to read a record of the form         */
       /* ... charcode /charname ... for each entry in our table */
       /*                                                        */
@@ -337,9 +337,9 @@
       for ( ; cur < limit; )
       {
         T1_Byte  c;
-        
+
         c = *cur;
-        
+
         /* we stop when we encounter a 'def' */
         if ( c == 'd' && cur+3 < limit )
         {
@@ -352,39 +352,39 @@
               break;
           }
         }
-        
+
         /* otherwise, we must find a number before anything else */
         if ( (T1_Byte)(c-'0') < 10 )
         {
           T1_Int  charcode;
-          
+
           parser->cursor = cur;
           charcode = T1_ToInt(parser);
           cur = parser->cursor;
-          
+
           /* skip whitespace */
           while (cur < limit && is_space(*cur)) cur++;
-          
+
           if (cur < limit && *cur == '/')
           {
             /* bingo, we have an immediate name - it must be a */
             /* character name                                  */
             FT_Byte*  cur2 = cur+1;
             T1_Int    len;
-            
+
             while (cur2 < limit && is_alpha(*cur2)) cur2++;
             len = cur2-cur-1;
             parser->error = T1_Add_Table( char_table, charcode, cur+1, len+1 );
             char_table->elements[charcode][len] = '\0';
             if (parser->error) return;
-            
+
             cur = cur2;
           }
         }
         else
           cur++;
       }
-      
+
       face->type1.encoding_type = t1_encoding_array;
       parser->cursor            = cur;
     }
@@ -395,7 +395,7 @@
       if ( cur+17 < limit &&
            strncmp( (const char*)cur, "StandardEncoding", 16 ) == 0 )
         face->type1.encoding_type = t1_encoding_standard;
-        
+
       else if ( cur+15 < limit &&
                 strncmp( (const char*)cur, "ExpertEncoding", 14 ) == 0 )
         face->type1.encoding_type = t1_encoding_expert;
@@ -404,7 +404,7 @@
       {
         FT_ERROR(( "type1.parse_encoding: invalid token !!\n" ));
         parser->error = FT_Err_Invalid_File_Format;
-      }      
+      }
     }
   }
 
@@ -417,10 +417,10 @@
     FT_Memory   memory = parser->memory;
     FT_Error    error;
     T1_Int      n;
-    
-    loader->num_subrs = T1_ToInt( parser );    
+
+    loader->num_subrs = T1_ToInt( parser );
     if (parser->error) return;
-    
+
     /* initialise subrs array */
     error = T1_New_Table( table, loader->num_subrs, memory );
     if (error) goto Fail;
@@ -429,16 +429,16 @@
     /*                                                       */
     /*   "index" + binary data                               */
     /*                                                       */
-    
+
     for ( n = 0; n < loader->num_subrs; n++ )
     {
       T1_Int    index, size;
       T1_Byte*  base;
-      
+
       index = T1_ToInt(parser);
       if (!read_binary_data(parser,&size,&base)) return;
-      
-      T1_Decrypt( base, size, 4330 );      
+
+      T1_Decrypt( base, size, 4330 );
       size -= face->type1.private_dict.lenIV;
       base += face->type1.private_dict.lenIV;
 
@@ -466,21 +466,21 @@
     T1_Byte*    cur;
     T1_Byte*    limit = parser->limit;
     T1_Int      n;
-    
-    loader->num_glyphs = T1_ToInt( parser );    
+
+    loader->num_glyphs = T1_ToInt( parser );
     if (parser->error) return;
-    
+
     /* initialise tables */
     error = T1_New_Table( code_table, loader->num_glyphs, memory ) ||
             T1_New_Table( name_table, loader->num_glyphs, memory );
     if (error) goto Fail;
-    
+
     n = 0;
     for ( ;; )
     {
       T1_Int    size;
       T1_Byte*  base;
-      
+
       /* the format is simple :                   */
       /*   "/glyphname" + binary data             */
       /*                                          */
@@ -491,7 +491,7 @@
       if (cur >= limit) break;
 
       /* we stop when we find a "def" or "end" keyword */
-      if (*cur    == 'd' && 
+      if (*cur    == 'd' &&
            cur+3 < limit &&
            cur[1] == 'e' &&
            cur[2] == 'f' )
@@ -509,26 +509,26 @@
       {
         T1_Byte*  cur2 = cur+1;
         T1_Int    len;
-        
+
         while (cur2 < limit && is_alpha(*cur2)) cur2++;
         len = cur2-cur-1;
-        
+
         error = T1_Add_Table( name_table, n, cur+1, len+1 );
         if (error) goto Fail;
-       
+
         /* add a trailing zero to the name table */
         name_table->elements[n][len] = '\0';
-       
-        parser->cursor = cur2; 
+
+        parser->cursor = cur2;
         if (!read_binary_data(parser,&size,&base)) return;
 
-        T1_Decrypt( base, size, 4330 );      
+        T1_Decrypt( base, size, 4330 );
         size -= face->type1.private_dict.lenIV;
         base += face->type1.private_dict.lenIV;
 
         error = T1_Add_Table( code_table, n, base, size );
         if (error) goto Fail;
-        
+
         n++;
         if (n >= loader->num_glyphs)
           break;
@@ -536,7 +536,7 @@
     }
     loader->num_glyphs = n;
     return;
-    
+
   Fail:
     parser->error = error;
   }
@@ -586,15 +586,15 @@
                         T1_Long     size )
   {
     T1_Parser*  parser = &loader->parser;
-    
+
     parser->cursor = base;
     parser->limit  = base + size;
     parser->error  = 0;
-    
+
     {
       T1_Byte*  cur     = base;
       T1_Byte*  limit   = cur + size;
-      
+
       for ( ;cur < limit; cur++ )
       {
         /* look for immediates */
@@ -602,21 +602,21 @@
         {
           T1_Byte* cur2;
           T1_Int   len;
-          
+
           cur  ++;
           cur2 = cur;
           while (cur2 < limit && is_alpha(*cur2)) cur2++;
           len  = cur2-cur;
-          
+
           if (len > 0 && len < 20)
           {
             /* now, compare the immediate name to the keyword table */
             T1_KeyWord*  keyword = (T1_KeyWord*)t1_keywords;
-            
+
             for (;;)
             {
               T1_Byte*  name;
-              
+
               name = (T1_Byte*)keyword->name;
               if (!name) break;
 
@@ -627,7 +627,7 @@
                 for ( n = 1; n < len; n++ )
                   if (cur[n] != name[n])
                     break;
-                    
+
                 if (n >= len)
                 {
                   /* we found it - run the parsing callback !! */
@@ -654,29 +654,29 @@
   void t1_init_loader( T1_Loader* loader, T1_Face  face )
   {
     UNUSED(face);
-    
+
     MEM_Set( loader, 0, sizeof(*loader) );
     loader->num_glyphs = 0;
     loader->num_chars  = 0;
 
-    /* initialize the tables - simply set their 'init' field to 0 */    
+    /* initialize the tables - simply set their 'init' field to 0 */
     loader->encoding_table.init = 0;
     loader->charstrings.init    = 0;
     loader->glyph_names.init    = 0;
     loader->subrs.init          = 0;
   }
-  
+
   static
   void t1_done_loader( T1_Loader* loader )
   {
     T1_Parser*  parser = &loader->parser;
-    
+
     /* finalize tables */
     T1_Release_Table( &loader->encoding_table );
     T1_Release_Table( &loader->charstrings );
     T1_Release_Table( &loader->glyph_names );
     T1_Release_Table( &loader->subrs );
-    
+
     /* finalize parser */
     T1_Done_Parser( parser );
   }
@@ -693,47 +693,47 @@
 
     /* default lenIV */
     type1->private_dict.lenIV = 4;
-    
+
     parser = &loader.parser;
     error = T1_New_Parser( parser, face->root.stream, face->root.memory );
     if (error) goto Exit;
 
     error = parse_dict( face, &loader, parser->base_dict, parser->base_len );
     if (error) goto Exit;
-    
+
     error = T1_Get_Private_Dict( parser );
     if (error) goto Exit;
-    
+
     error = parse_dict( face, &loader, parser->private_dict, parser->private_len );
-    if (error) goto Exit;    
+    if (error) goto Exit;
 
     /* now, propagate the subrs, charstrings and glyphnames tables */
     /* to the Type1 data                                           */
     type1->num_glyphs = loader.num_glyphs;
-    
+
     if ( !loader.subrs.init )
     {
       FT_ERROR(( "T1.Open_Face: no subrs array in face !!\n" ));
       error = FT_Err_Invalid_File_Format;
     }
-    
+
     if ( !loader.charstrings.init )
     {
       FT_ERROR(( "T1.Open_Face: no charstrings array in face !!\n" ));
       error = FT_Err_Invalid_File_Format;
     }
-    
+
     loader.subrs.init  = 0;
     type1->num_subrs   = loader.num_subrs;
     type1->subrs_block = loader.subrs.block;
     type1->subrs       = loader.subrs.elements;
     type1->subrs_len   = loader.subrs.lengths;
-    
+
     loader.charstrings.init  = 0;
     type1->charstrings_block = loader.charstrings.block;
     type1->charstrings       = loader.charstrings.elements;
     type1->charstrings_len   = loader.charstrings.lengths;
-    
+
     /* we copy the glyph names "block" and "elements" fields */
     /* but the "lengths" field must be released later..      */
     type1->glyph_names_block    = loader.glyph_names.block;
@@ -753,16 +753,16 @@
       /* table, lookup the index of the glyph having the same name  */
       /* the index is then stored in type1.encoding.char_index, and */
       /* a the name to type1.encoding.char_name                     */
-      
+
       min_char = +32000;
       max_char = -32000;
-      
+
       charcode = 0;
       for ( ; charcode < loader.encoding_table.num_elems; charcode++ )
       {
         type1->encoding.char_index[charcode] = 0;
         type1->encoding.char_name [charcode] = ".notdef";
-        
+
         char_name = loader.encoding_table.elements[charcode];
         if (char_name)
           for ( index = 0; index < type1->num_glyphs; index++ )
@@ -773,7 +773,7 @@
             {
               type1->encoding.char_index[charcode] = index;
               type1->encoding.char_name [charcode] = (char*)glyph_name;
-              
+
               if (charcode < min_char) min_char = charcode;
               if (charcode > max_char) max_char = charcode;
               break;
@@ -784,8 +784,8 @@
       type1->encoding.code_last  = max_char;
       type1->encoding.num_chars  = loader.num_chars;
    }
-    
+
   Exit:
     t1_done_loader( &loader );
     return error;
-  } 
+  }
diff --git a/src/type1z/t1load.h b/src/type1z/t1load.h
index 093096c..629e943 100644
--- a/src/type1z/t1load.h
+++ b/src/type1z/t1load.h
@@ -2,7 +2,7 @@
  *
  *  t1load.h                                                    2.0
  *
- *    Type1 Loader.                          
+ *    Type1 Loader.
  *
  *  Copyright 1996-2000 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -32,14 +32,14 @@
     T1_Int           num_chars;       /* number of characters in encoding */
     T1_Table         encoding_table;  /* T1_Table used to store the       */
                                 /* encoding character names         */
-                           
-    T1_Int           num_glyphs;     
+
+    T1_Int           num_glyphs;
     T1_Table         glyph_names;
     T1_Table         charstrings;
-        
+
     T1_Int           num_subrs;
     T1_Table         subrs;
-    
+
   } T1_Loader;
 
   LOCAL_DEF
diff --git a/src/type1z/t1objs.c b/src/type1z/t1objs.c
index 2d25408..3a5c053 100644
--- a/src/type1z/t1objs.c
+++ b/src/type1z/t1objs.c
@@ -2,7 +2,7 @@
  *
  *  t1objs.c                                                     1.0
  *
- *    Type1 Objects manager.        
+ *    Type1 Objects manager.
  *
  *  Copyright 1996-1998 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -97,7 +97,7 @@
  *     Error code.
  *
  ******************************************************************/
- 
+
   LOCAL_FUNC
   T1_Error  T1_Reset_Size( T1_Size  size )
   {
@@ -124,7 +124,7 @@
  *     face  :: typeless pointer to the face object to destroy
  *
  *  <Return>
- *     Error code.                       
+ *     Error code.
  *
  ******************************************************************/
 
@@ -138,10 +138,10 @@
     {
       memory = face->root.memory;
 
-      /* release font info strings */      
+      /* release font info strings */
       {
         T1_FontInfo*  info = &type1->font_info;
-        
+
         FREE( info->version );
         FREE( info->notice );
         FREE( info->full_name );
@@ -149,21 +149,21 @@
         FREE( info->weight );
       }
 
-      /* release top dictionary */      
+      /* release top dictionary */
       FREE( type1->charstrings_len );
       FREE( type1->charstrings );
       FREE( type1->glyph_names );
 
       FREE( type1->subrs );
       FREE( type1->subrs_len );
-      
+
       FREE( type1->subrs_block );
       FREE( type1->charstrings_block );
       FREE( type1->glyph_names_block );
 
       FREE( type1->encoding.char_index );
       FREE( type1->font_name );
-      
+
 #ifndef T1_CONFIG_OPTION_NO_AFM
       /* release afm data if present */
       if ( face->afm_data)
@@ -217,7 +217,7 @@
     {
       /* look-up the PSNames driver */
       FT_Driver  psnames_driver;
-      
+
       psnames_driver = FT_Get_Driver( face->root.driver->library, "psnames" );
       if (psnames_driver)
         face->psnames = (PSNames_Interface*)
@@ -246,15 +246,15 @@
       /* Now set up root face fields */
       {
         FT_Face  root = (FT_Face)&face->root;
-        
+
         root->num_glyphs   = face->type1.num_glyphs;
         root->num_charmaps = 1;
-  
+
         root->face_index = face_index;
         root->face_flags = FT_FACE_FLAG_SCALABLE;
-        
+
         root->face_flags |= FT_FACE_FLAG_HORIZONTAL;
-                              
+
         if ( face->type1.font_info.is_fixed_pitch )
           root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
 
@@ -267,13 +267,13 @@
         {
           char*  full   = face->type1.font_info.full_name;
           char*  family = root->family_name;
-          
+
           while ( *family && *full == *family )
           {
             family++;
             full++;
           }
-          
+
           root->style_name = ( *full == ' ' ? full+1 : "Regular" );
         }
         else
@@ -285,17 +285,17 @@
             root->style_name  = "Regular";
           }
         }
-  
+
         /* no embedded bitmap support */
         root->num_fixed_sizes = 0;
         root->available_sizes = 0;
-  
+
         root->bbox         = face->type1.font_bbox;
         root->units_per_EM = 1000;
         root->ascender     =  (T1_Short)face->type1.font_bbox.yMax;
         root->descender    = -(T1_Short)face->type1.font_bbox.yMin;
         root->height       = ((root->ascender + root->descender)*12)/10;
-  
+
         /* now compute the maximum advance width */
 
         root->max_advance_width = face->type1.private_dict.standard_width;
@@ -315,10 +315,10 @@
         }
 
         root->max_advance_height = root->height;
-        
+
         root->underline_position  = face->type1.font_info.underline_position;
         root->underline_thickness = face->type1.font_info.underline_thickness;
-  
+
         root->max_points   = 0;
         root->max_contours = 0;
       }
@@ -349,7 +349,7 @@
             charmap->encoding_id = 1;
             charmap++;
           }
-          
+
           /* simply clear the error in case of failure (which really) */
           /* means that out of memory or no unicode glyph names       */
           error = 0;
@@ -359,25 +359,25 @@
       /* now, support either the standard, expert, or custom encodings */
       charmap->face        = (FT_Face)face;
       charmap->platform_id = 7;  /* a new platform id for Adobe fonts ?? */
-      
+
       switch (face->type1.encoding_type)
       {
         case t1_encoding_standard:
           charmap->encoding    = ft_encoding_adobe_standard;
           charmap->encoding_id = 0;
           break;
-        
+
         case t1_encoding_expert:
           charmap->encoding    = ft_encoding_adobe_expert;
           charmap->encoding_id = 1;
           break;
-        
+
         default:
           charmap->encoding    = ft_encoding_adobe_custom;
           charmap->encoding_id = 2;
           break;
       }
-      
+
       root->charmaps = face->charmaps;
       root->num_charmaps = charmap - face->charmaprecs + 1;
       face->charmaps[0] = &face->charmaprecs[0];
@@ -396,7 +396,7 @@
  *
  *  Input  :  _glyph  typeless pointer to the glyph record to destroy
  *
- *  Output :  Error code.                       
+ *  Output :  Error code.
  *
  ******************************************************************/
 
@@ -420,7 +420,7 @@
  *  Description :  The glyph object constructor.
  *
  *  Input  :  glyph   glyph record to build.
- *            face    the glyph's parent face.              
+ *            face    the glyph's parent face.
  *
  *  Output :  Error code.
  *
diff --git a/src/type1z/t1objs.h b/src/type1z/t1objs.h
index 15f1e99..7da6713 100644
--- a/src/type1z/t1objs.h
+++ b/src/type1z/t1objs.h
@@ -2,7 +2,7 @@
  *
  *  t1objs.h                                                    1.0
  *
- *    Type1 objects definition.         
+ *    Type1 objects definition.
  *
  *  Copyright 1996-1999 by
  *  David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -82,7 +82,7 @@
  /*    NOW BEGINS THE TYPE1 SPECIFIC STUFF ..............................  */
  /*                                                                        */
  /**************************************************************************/
- 
+
 
   /***************************************************/
   /*                                                 */
@@ -90,7 +90,7 @@
   /*                                                 */
   /*    Type 1 size record..                         */
   /*                                                 */
-  
+
   typedef struct T1_SizeRec_
   {
     FT_SizeRec      root;
@@ -109,14 +109,14 @@
   /*                                                 */
   /*    TrueDoc glyph record..                       */
   /*                                                 */
-  
+
   typedef struct T1_GlyphSlotRec_
   {
     FT_GlyphSlotRec  root;
 
     T1_Bool          hint;
     T1_Bool          scaled;
-    
+
     T1_Int           max_points;
     T1_Int           max_contours;
 
@@ -250,7 +250,7 @@
  *
  *  <Input>  glyph  :: handle to glyph slot object
  *
- *  <Output>  Error code.                       
+ *  <Output>  Error code.
  *
  ******************************************************************/
 
diff --git a/src/type1z/t1parse.c b/src/type1z/t1parse.c
index 42743c3..b7d9506 100644
--- a/src/type1z/t1parse.c
+++ b/src/type1z/t1parse.c
@@ -27,7 +27,7 @@
  *  See "t1load.c" to see how data is loaded from the font file
  *
  ******************************************************************/
- 
+
 #include <freetype/internal/ftdebug.h>
 #include <freetype/internal/ftcalc.h>
 #include <freetype/internal/ftobjs.h>
@@ -75,7 +75,7 @@
 
   Exit:
     if (error) FREE(table->elements);
-      
+
 	return error;
   }
 
@@ -105,7 +105,7 @@
         T1_Long    delta  = table->block - old_base;
         T1_Byte**  offset = table->elements;
         T1_Byte**  limit  = offset + table->max_elems;
-    
+
         if (delta)
           for ( ; offset < limit; offset++ )
           {
@@ -113,7 +113,7 @@
               offset[0] += delta;
           }
       }
-  
+
       static
       T1_Error  reallocate_t1_table( T1_Table*  table,
                                      T1_Int     new_size )
@@ -121,17 +121,17 @@
         FT_Memory  memory   = table->memory;
         T1_Byte*   old_base = table->block;
         T1_Error   error;
-  
+
         /* realloc the base block */
         if ( REALLOC( table->block, table->capacity, new_size ) )
           return error;
-  
+
         table->capacity = new_size;
-  
+
         /* shift all offsets when needed */
         if (old_base)
           shift_elements( table, old_base );
-  
+
         return T1_Err_Ok;
       }
 
@@ -198,10 +198,10 @@
     old_base = table->block;
     if (!old_base)
       return;
-    
+
     (void)REALLOC( table->block, table->capacity, table->cursor );
     table->capacity = table->cursor;
-    
+
     if (old_base != table->block)
       shift_elements( table, old_base );
   }
@@ -211,7 +211,7 @@
   void  T1_Release_Table( T1_Table*  table )
   {
     FT_Memory  memory = table->memory;
-    
+
     if (table->init == (FT_Long)0xdeadbeef)
     {
       FREE( table->block );
@@ -228,20 +228,20 @@
     T1_Long  result = 0;
     T1_Byte* cur    = *cursor;
     T1_Byte  c, d;
-    
+
     for (; cur < limit; cur++)
     {
       c = *cur;
       d = (T1_Byte)(c - '0');
       if (d < 10) break;
-      
+
       if ( c=='-' )
       {
         cur++;
         break;
       }
     }
-    
+
     if (cur < limit)
     {
       do
@@ -249,16 +249,16 @@
         d = (T1_Byte)(cur[0] - '0');
         if (d >= 10)
           break;
-          
+
         result = result*10 + d;
         cur++;
-        
+
       } while (cur < limit);
-      
+
       if (c == '-')
         result = -result;
     }
-    
+
     *cursor = cur;
     return result;
   }
@@ -273,26 +273,26 @@
     T1_Long  num, divider, result;
     T1_Int   sign   = 0;
     T1_Byte  d;
-    
+
     if (cur >= limit) return 0;
-    
+
     /* first of all, read the integer part */
     result  = t1_toint( &cur, limit ) << 16;
     num     = 0;
     divider = 1;
-    
+
     if (result < 0)
     {
       sign   = 1;
       result = -result;
     }
     if (cur >= limit) goto Exit;
-    
+
     /* read decimal part, if any */
     if (*cur == '.' && cur+1 < limit)
     {
       cur++;
-      
+
       for (;;)
       {
         d = (T1_Byte)(*cur - '0');
@@ -307,14 +307,14 @@
         if (cur >= limit) break;
       }
     }
-    
+
     /* read exponent, if any */
     if ( cur+1 < limit && (*cur == 'e' || *cur == 'E'))
     {
       cur++;
       power_ten += t1_toint( &cur, limit );
     }
-    
+
   Exit:
     /* raise to power of ten if needed */
     while (power_ten > 0)
@@ -323,7 +323,7 @@
       num    = num*10;
       power_ten--;
     }
-    
+
     while (power_ten < 0)
     {
       result  = result/10;
@@ -336,7 +336,7 @@
 
     if (sign)
       result = -result;
-      
+
     *cursor = cur;
     return result;
   }
@@ -351,19 +351,19 @@
     T1_Byte*  cur   = *cursor;
     T1_Int    count = 0;
     T1_Byte   c, ender;
-    
+
     if (cur >= limit) goto Exit;
-    
+
     /* check for the beginning of an array. If not, only one number will be read */
     c     = *cur;
     ender = 0;
-    
+
     if (c == '[')
       ender = ']';
-      
+
     if (c == '{')
       ender = '}';
-      
+
     if (ender)
       cur++;
 
@@ -375,21 +375,21 @@
       {
         c = *cur;
         if ( c != ' ' && c != '\t' ) break;
-        
+
         cur++;
         if (cur >= limit) goto Exit;
       }
-      
+
       if (count >= max_coords || c == ender)
         break;
-      
+
       coords[count] = (T1_Short)(t1_tofixed(&cur,limit,0) >> 16);
       count++;
-      
+
       if (!ender)
         break;
     }
-    
+
   Exit:
     *cursor = cur;
     return count;
@@ -399,7 +399,7 @@
 
   static
   T1_Int  t1_tofixedarray( T1_Byte*  *cursor,
-                           T1_Byte*   limit, 
+                           T1_Byte*   limit,
                            T1_Int     max_values,
                            T1_Fixed*  values,
                            T1_Int     power_ten )
@@ -407,19 +407,19 @@
     T1_Byte*  cur   = *cursor;
     T1_Int    count = 0;
     T1_Byte   c, ender;
-    
+
     if (cur >= limit) goto Exit;
-    
+
     /* check for the beginning of an array. If not, only one number will be read */
     c     = *cur;
     ender = 0;
-    
+
     if (c == '[')
       ender = ']';
-      
+
     if (c == '{')
       ender = '}';
-      
+
     if (ender)
       cur++;
 
@@ -431,21 +431,21 @@
       {
         c = *cur;
         if ( c != ' ' && c != '\t' ) break;
-        
+
         cur++;
         if (cur >= limit) goto Exit;
       }
 
       if (count >= max_values || c == ender)
         break;
-      
+
       values[count] = t1_tofixed(&cur,limit,power_ten);
       count++;
-      
+
       if (!ender)
         break;
     }
-    
+
   Exit:
     *cursor = cur;
     return count;
@@ -472,18 +472,18 @@
 
     while ( cur < limit && (*cur == ' ' || *cur == '\t')) cur++;
     if (cur+1 >= limit) return 0;
-    
+
     if (*cur == '(') cur++;  /* skip the opening parenthesis, if there is one */
-    
+
     *cursor = cur;
     count   = 0;
-    
+
     /* then, count its length */
     for ( ; cur < limit; cur++ )
     {
       if (*cur == '(')
         count++;
-        
+
       else if (*cur == ')')
       {
         count--;
@@ -492,14 +492,14 @@
       }
     }
 
-    len = cur - *cursor;    
+    len = cur - *cursor;
     if (cur >= limit || ALLOC(result,len+1)) return 0;
-    
+
     /* now copy the string */
     MEM_Copy( result, *cursor, len );
     result[len] = '\0';
     *cursor = cur;
-    return result;    
+    return result;
   }
 
   static
@@ -507,7 +507,7 @@
   {
     T1_Byte*  cur    = *cursor;
     T1_Bool   result = 0;
-    
+
     /* return 1 if we find a "true", 0 otherwise */
     if ( cur+3 < limit &&
          cur[0] == 't' &&
@@ -583,21 +583,21 @@
   FT_Error  read_pfb_tag( FT_Stream  stream, T1_UShort *tag, T1_Long*  size )
   {
     FT_Error  error;
-    
+
     if (READ_UShort(*tag)) goto Exit;
     if (*tag == 0x8001 || *tag == 0x8002)
     {
       FT_Long  asize;
-      
+
       if (READ_ULong(asize)) goto Exit;
-      
+
       /* swap between big and little endianness */
       *size  = ((asize & 0xFF000000) >> 24) |
                ((asize & 0x00FF0000) >> 8 ) |
                ((asize & 0x0000FF00) << 8 ) |
                ((asize & 0x000000FF) << 24);
     }
-    
+
   Exit:
     return error;
   }
@@ -612,7 +612,7 @@
     FT_Error  error;
     T1_UShort tag;
     T1_Long   size;
-  
+
     parser->stream       = stream;
     parser->memory       = memory;
     parser->base_len     = 0;
@@ -622,10 +622,10 @@
     parser->in_pfb       = 0;
     parser->in_memory    = 0;
     parser->single_block = 0;
-    
+
     parser->cursor       = 0;
     parser->limit        = 0;
-    
+
     /******************************************************************/
     /*                                                                */
     /* Here's a short summary of what is going on :                   */
@@ -641,12 +641,12 @@
     /*   parser->in_pfb is set when we are in a binary (".pfb") font  */
     /*   parser->in_memory is set when we have a memory stream.       */
     /*                                                                */
-    
+
     /* try to compute the size of the base dictionary    */
     /* look for a Postscript binary file tag, i.e 0x8001 */
     if ( FILE_Seek(0L) )
       goto Exit;
-      
+
     error = read_pfb_tag( stream, &tag, &size );
     if (error) goto Exit;
 
@@ -662,14 +662,14 @@
 
     /* now, try to load the "size" bytes of the "base" dictionary we */
     /* found previously                                              */
- 
+
     /* if it's a memory-based resource, set up pointers */
     if ( !stream->read )
     {
       parser->base_dict = (T1_Byte*)stream->base + stream->pos;
       parser->base_len  = size;
       parser->in_memory = 1;
- 
+
       /* check that the "size" field is valid */
       if ( FILE_Skip(size) ) goto Exit;
     }
@@ -681,7 +681,7 @@
         goto Exit;
       parser->base_len = size;
     }
- 
+
     /* Now check font format, we must see a '%!PS-AdobeFont-1' */
     /* or a '%!FontType'                                       */
     {
@@ -764,7 +764,7 @@
     FT_Memory  memory = parser->memory;
     FT_Error   error  = 0;
     T1_Long    size;
-    
+
     if (parser->in_pfb)
     {
       /* in the case of the PFB format, the private dictionary can be  */
@@ -775,15 +775,15 @@
       T1_UShort  tag;
       T1_Long    size;
 
-      parser->private_len = 0;      
+      parser->private_len = 0;
       for (;;)
       {
         error = read_pfb_tag(stream, &tag, &size);
         if (error) goto Fail;
-        
+
         if (tag != 0x8002)
           break;
-          
+
         parser->private_len += size;
 
         if ( FILE_Skip(size) )
@@ -824,9 +824,9 @@
 
       /* first of all, look at the "eexec" keyword */
       FT_Byte*  cur   = parser->base_dict;
-      FT_Byte*  limit = cur + parser->base_len;      
+      FT_Byte*  limit = cur + parser->base_len;
       FT_Byte   c;
-      
+
       for (;;)
       {
         c = cur[0];
@@ -836,12 +836,12 @@
                cur[3] == 'e' && cur[4] == 'c' )
           {
             cur += 6; /* we skip the newling after the "eexec" */
-            
+
             /* XXX: Some fonts use DOS-linefeeds, i.e. \r\n, we need to skip */
             /*      the extra \n when we find it..                           */
             if (cur[0] == '\n')
               cur++;
-              
+
             break;
           }
         }
@@ -853,13 +853,13 @@
           goto Exit;
         }
       }
-      
+
       /* now determine wether where to write the _encrypted_ binary private    */
       /* dictionary. We overwrite the base dictionary for disk-based resources */
       /* and allocate a new block otherwise                                    */
-      
-      size = parser->base_len - (cur-parser->base_dict); 
-      
+
+      size = parser->base_len - (cur-parser->base_dict);
+
       if ( parser->in_memory )
       {
         /* note that we allocate one more byte to put a terminating '0' */
@@ -868,13 +868,13 @@
       }
       else
       {
-        parser->single_block = 1;        
+        parser->single_block = 1;
         parser->private_dict = parser->base_dict;
         parser->private_len  = size;
         parser->base_dict    = 0;
         parser->base_len     = 0;
       }
-      
+
       /* now determine wether the private dictionary is encoded in binary */
       /* or hexadecimal ASCII format..                                    */
       /* and decode it accordingly                                        */
@@ -890,40 +890,40 @@
        MEM_Copy( parser->private_dict, cur, size );
       }
       else
-      {      
+      {
         /* ASCII hexadecimal encoding.. This blows goats !!.. */
-       
+
         T1_Byte*  write;
         T1_Int    count;
 
         write = parser->private_dict;
         count = 0;
-       
+
         for ( ;cur < limit; cur++)
         {
           int  hex1;
-         
+
           /* check for newline */
           if (cur[0] == '\r' || cur[0] == '\n')
             continue;
-           
+
           /* exit if we have a non-hexadecimal digit that isn't a newline */
           hex1 = hexa_value(cur[0]);
           if (hex1 < 0 || cur+1 >= limit)
             break;
-         
+
           /* otherwise, store byte */
           *write++ = (hex1 << 4) | hexa_value(cur[1]);
           count++;
           cur++;
         }
-       
+
         /* put a safeguard */
         parser->private_len = write - parser->private_dict;
         *write++ = 0;
       }
     }
-   
+
     /* we now decrypt the encoded binary private dictionary */
     T1_Decrypt( parser->private_dict, parser->private_len, 55665 );
     parser->cursor = parser->private_dict;
@@ -933,4 +933,4 @@
   Exit:
     return error;
   }
-  
+
diff --git a/src/type1z/t1parse.h b/src/type1z/t1parse.h
index 6866918..6482d52 100644
--- a/src/type1z/t1parse.h
+++ b/src/type1z/t1parse.h
@@ -116,13 +116,13 @@
   {
     FT_Stream  stream;
     FT_Memory  memory;
-    
+
     T1_Byte*   base_dict;
     T1_Int     base_len;
-    
+
     T1_Byte*   private_dict;
     T1_Int     private_len;
-    
+
     T1_Byte    in_pfb;
     T1_Byte    in_memory;
     T1_Byte    single_block;
@@ -130,7 +130,7 @@
     T1_Byte*   cursor;
     T1_Byte*   limit;
     T1_Error   error;
-    
+
   } T1_Parser;
 
 
diff --git a/src/type1z/t1tokens.h b/src/type1z/t1tokens.h
index 0de85be..2ef03b4 100644
--- a/src/type1z/t1tokens.h
+++ b/src/type1z/t1tokens.h
@@ -26,37 +26,37 @@
   PARSE_STRING("FullName",full_name)
   PARSE_STRING("FamilyName",family_name)
   PARSE_STRING("Weight",weight)
-  
+
   PARSE_INT("ItalicAngle",italic_angle)
   PARSE_BOOL("isFixedPitch",is_fixed_pitch)
   PARSE_NUM("UnderlinePosition",underline_position,T1_Short)
   PARSE_NUM("UnderlineThickness",underline_thickness,T1_UShort)
 
- /* define the private dict parsing callbacks */ 
- 
+ /* define the private dict parsing callbacks */
+
 #undef  FACE
 #define FACE  (face->type1.private_dict)
 
    PARSE_INT("UniqueID",unique_id)
    PARSE_INT("lenIV",lenIV)
-   
+
    PARSE_COORDS( "BlueValues", num_blues,       14, blue_values)
    PARSE_COORDS( "OtherBlues", num_other_blues, 10, other_blues)
-   
+
    PARSE_COORDS( "FamilyBlues", num_family_blues,       14, family_blues)
    PARSE_COORDS( "FamilyOtherBlues", num_family_other_blues, 10, family_other_blues)
- 
+
    PARSE_FIXED( "BlueScale", blue_scale)
    PARSE_INT( "BlueShift", blue_shift)
-   
+
    PARSE_INT( "BlueFuzz", blue_fuzz)
 
    PARSE_COORDS2( "StdHW", 1, standard_width  )
    PARSE_COORDS2( "StdVW", 1, standard_height )
-   
+
    PARSE_COORDS( "StemSnapH", num_snap_widths,  12, stem_snap_widths )
    PARSE_COORDS( "StemSnapV", num_snap_heights, 12, stem_snap_heights )
-   
+
    PARSE_INT( "LanguageGroup", language_group )
    PARSE_INT( "password", password )
    PARSE_COORDS2( "MinFeature", 2, min_feature )
@@ -66,7 +66,7 @@
 #undef  FACE
 #define FACE  (face->type1)
 
- 
+
 /* PARSE_STRING( "FontName", font_name ) -- handled by special routine */
    PARSE_NUM( "PaintType", paint_type, T1_Byte )
    PARSE_NUM( "FontType", font_type, T1_Byte )