shithub: freetype+ttf2subf

Download patch

ref: 91db04cb9ccd853296af72b6c070bf6fb655a79c
parent: b7b163cb077edd6b6355dd465cc9dc1d4d4d7b53
author: Werner Lemberg <[email protected]>
date: Mon Apr 1 09:25:28 EST 2002

* src/truetype/ttgload.c: 16bit fixes.
(TT_Load_Simple_Glyph): Improve debug messages.
(load_truetype_glyph): Remove dead code.
* src/truetype/ttinterp.c: 16bit fixes.
* src/truetype/ttobjs.c: Ditto.

* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
src/sfnt/ttpost.h: s/index/idx/.

formatting, copyright updates.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2002-04-01  Werner Lemberg  <[email protected]>
+
+	* src/truetype/ttgload.c: 16bit fixes.
+	(TT_Load_Simple_Glyph): Improve debug messages.
+	(load_truetype_glyph): Remove dead code.
+	* src/truetype/ttinterp.c: 16bit fixes.
+	* src/truetype/ttobjs.c: Ditto.
+
+	* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
+	src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
+	src/sfnt/ttpost.h: s/index/idx/.
+
 2002-03-31  Yao Zhang  <[email protected]>
 
 	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
@@ -96,6 +108,15 @@
 
 	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
 	Fixed a small bug in the FT_CMaps support code.
+
+2002-03-25  David Turner  <[email protected]>
+
+	* src/truetype/ttinterp.c (Norm): Replaced with...
+	(TT_VecLen): This.
+	(TT_MulFix14, TT_DotFix14): New functions.
+	(Project, Dual_Project, Free_Project, Compute_Point_Displacement,
+	Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
+	[FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
 
 2002-03-22  David Turner  <[email protected]>
 
--- a/include/freetype/ftsnames.h
+++ b/include/freetype/ftsnames.h
@@ -7,7 +7,7 @@
 /*                                                                         */
 /*    This is _not_ used to retrieve glyph names!                          */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -128,7 +128,7 @@
   /* <Input>                                                               */
   /*    face  :: A handle to the source face.                              */
   /*                                                                       */
-  /*    index :: The index of the `name' string.                           */
+  /*    idx   :: The index of the `name' string.                           */
   /*                                                                       */
   /* <Output>                                                              */
   /*    aname :: The indexed FT_SfntName structure.                        */
@@ -146,7 +146,7 @@
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Get_Sfnt_Name( FT_Face       face,
-                    FT_UInt       index,
+                    FT_UInt       idx,
                     FT_SfntName  *aname );
 
 
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -326,7 +326,7 @@
   /*    Gets the PostScript glyph name of a glyph.                         */
   /*                                                                       */
   /* <Input>                                                               */
-  /*    index  :: The glyph index.                                         */
+  /*    idx  :: The glyph index.                                           */
   /*                                                                       */
   /*    PSname :: The address of a string pointer.  Will be NULL in case   */
   /*              of error, otherwise it is a pointer to the glyph name.   */
@@ -338,7 +338,7 @@
   /*                                                                       */
   typedef FT_Error
   (*TT_Get_PS_Name_Func)( TT_Face      face,
-                          FT_UInt      index,
+                          FT_UInt      idx,
                           FT_String**  PSname );
 
 
--- a/src/cff/cffload.h
+++ b/src/cff/cffload.h
@@ -32,23 +32,23 @@
 
 
   FT_LOCAL( FT_String* )
-  CFF_Get_Name( CFF_Index  index,
+  CFF_Get_Name( CFF_Index  idx,
                 FT_UInt    element );
 
   FT_LOCAL( FT_String* )
-  CFF_Get_String( CFF_Index        index,
+  CFF_Get_String( CFF_Index        idx,
                   FT_UInt          sid,
                   PSNames_Service  interface );
 
 
   FT_LOCAL( FT_Error )
-  CFF_Access_Element( CFF_Index  index,
+  CFF_Access_Element( CFF_Index  idx,
                       FT_UInt    element,
                       FT_Byte**  pbytes,
                       FT_ULong*  pbyte_len );
 
   FT_LOCAL( void )
-  CFF_Forget_Element( CFF_Index  index,
+  CFF_Forget_Element( CFF_Index  idx,
                       FT_Byte**  pbytes );
 
 
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -139,7 +139,7 @@
   /*    table  :: The target table.                                        */
   /*                                                                       */
   /* <Input>                                                               */
-  /*    index  :: The index of the object in the table.                    */
+  /*    idx  :: The index of the object in the table.                      */
   /*                                                                       */
   /*    object :: The address of the object to copy in memory.             */
   /*                                                                       */
--- a/src/psaux/psobjs.h
+++ b/src/psaux/psobjs.h
@@ -53,7 +53,7 @@
 
   FT_LOCAL( FT_Error )
   PS_Table_Add( PS_Table  table,
-                FT_Int    index,
+                FT_Int    idx,
                 void*     object,
                 FT_Int    length );
 
--- a/src/sfnt/ttpost.h
+++ b/src/sfnt/ttpost.h
@@ -31,7 +31,7 @@
 
   FT_LOCAL( FT_Error )
   TT_Get_PS_Name( TT_Face      face,
-                  FT_UInt      index,
+                  FT_UInt      idx,
                   FT_String**  PSname );
 
   FT_LOCAL( void )
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    A new `perfect' anti-aliasing renderer (body).                       */
 /*                                                                         */
-/*  Copyright 2000-2001 by                                                 */
+/*  Copyright 2000-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -17,66 +17,66 @@
 
   /*************************************************************************/
   /*                                                                       */
-  /*  This file can be compiled without the rest of the FreeType engine,   */
-  /*  by defining the _STANDALONE_ macro when compiling it.  You also need */
-  /*  to put the files `ftgrays.h' and `ftimage.h' into the current        */
-  /*  compilation directory.  Typically, you could do something like       */
+  /* This file can be compiled without the rest of the FreeType engine, by */
+  /* defining the _STANDALONE_ macro when compiling it.  You also need to  */
+  /* put the files `ftgrays.h' and `ftimage.h' into the current            */
+  /* compilation directory.  Typically, you could do something like        */
   /*                                                                       */
-  /*  - copy `src/base/ftgrays.c' to your current directory                */
+  /* - copy `src/base/ftgrays.c' to your current directory                 */
   /*                                                                       */
-  /*  - copy `include/freetype/ftimage.h' and                              */
-  /*    `include/freetype/ftgrays.h' to the same directory                 */
+  /* - copy `include/freetype/ftimage.h' and `include/freetype/ftgrays.h'  */
+  /*   to the same directory                                               */
   /*                                                                       */
-  /*  - compile `ftgrays' with the _STANDALONE_ macro defined, as in       */
+  /* - compile `ftgrays' with the _STANDALONE_ macro defined, as in        */
   /*                                                                       */
-  /*      cc -c -D_STANDALONE_ ftgrays.c                                   */
+  /*     cc -c -D_STANDALONE_ ftgrays.c                                    */
   /*                                                                       */
-  /*  The renderer can be initialized with a call to                       */
-  /*  `ft_gray_raster.gray_raster_new'; an anti-aliased bitmap can be      */
-  /*  generated with a call to `ft_gray_raster.gray_raster_render'.        */
+  /* The renderer can be initialized with a call to                        */
+  /* `ft_gray_raster.gray_raster_new'; an anti-aliased bitmap can be       */
+  /* generated with a call to `ft_gray_raster.gray_raster_render'.         */
   /*                                                                       */
-  /*  See the comments and documentation in the file `ftimage.h' for       */
-  /*  more details on how the raster works.                                */
+  /* See the comments and documentation in the file `ftimage.h' for more   */
+  /* details on how the raster works.                                      */
   /*                                                                       */
   /*************************************************************************/
 
   /*************************************************************************/
   /*                                                                       */
-  /*  This is a new anti-aliasing scan-converter for FreeType 2.  The      */
-  /*  algorithm used here is _very_ different from the one in the standard */
-  /*  `ftraster' module.  Actually, `ftgrays' computes the _exact_         */
-  /*  coverage of the outline on each pixel cell.                          */
+  /* This is a new anti-aliasing scan-converter for FreeType 2.  The       */
+  /* algorithm used here is _very_ different from the one in the standard  */
+  /* `ftraster' module.  Actually, `ftgrays' computes the _exact_          */
+  /* coverage of the outline on each pixel cell.                           */
   /*                                                                       */
-  /*  It is based on ideas that I initially found in Raph Levien's         */
-  /*  excellent LibArt graphics library (see http://www.levien.com/libart  */
-  /*  for more information, though the web pages do not tell anything      */
-  /*  about the renderer; you'll have to dive into the source code to      */
-  /*  understand how it works).                                            */
+  /* It is based on ideas that I initially found in Raph Levien's          */
+  /* excellent LibArt graphics library (see http://www.levien.com/libart   */
+  /* for more information, though the web pages do not tell anything       */
+  /* about the renderer; you'll have to dive into the source code to       */
+  /* understand how it works).                                             */
   /*                                                                       */
-  /*  Note, however, that this is a _very_ different implementation        */
-  /*  compared to Raph's.  Coverage information is stored in a very        */
-  /*  different way, and I don't use sorted vector paths.  Also, it        */
-  /*  doesn't use floating point values.                                   */
+  /* Note, however, that this is a _very_ different implementation         */
+  /* compared to Raph's.  Coverage information is stored in a very         */
+  /* different way, and I don't use sorted vector paths.  Also, it doesn't */
+  /* use floating point values.                                            */
   /*                                                                       */
-  /*  This renderer has the following advantages:                          */
+  /* This renderer has the following advantages:                           */
   /*                                                                       */
-  /*  - It doesn't need an intermediate bitmap.  Instead, one can supply   */
-  /*    a callback function that will be called by the renderer to draw    */
-  /*    gray spans on any target surface.  You can thus do direct          */
-  /*    composition on any kind of bitmap, provided that you give the      */
-  /*    renderer the right callback.                                       */
+  /* - It doesn't need an intermediate bitmap.  Instead, one can supply a  */
+  /*   callback function that will be called by the renderer to draw gray  */
+  /*   spans on any target surface.  You can thus do direct composition on */
+  /*   any kind of bitmap, provided that you give the renderer the right   */
+  /*   callback.                                                           */
   /*                                                                       */
-  /*  - A perfect anti-aliaser, i.e., it computes the _exact_ coverage on  */
-  /*    each pixel cell                                                    */
+  /* - A perfect anti-aliaser, i.e., it computes the _exact_ coverage on   */
+  /*   each pixel cell.                                                    */
   /*                                                                       */
-  /*  - It performs a single pass on the outline (the `standard' FT2       */
-  /*    renderer makes two passes).                                        */
+  /* - It performs a single pass on the outline (the `standard' FT2        */
+  /*   renderer makes two passes).                                         */
   /*                                                                       */
-  /*  - It can easily be modified to render to _any_ number of gray levels */
-  /*    cheaply.                                                           */
+  /* - It can easily be modified to render to _any_ number of gray levels  */
+  /*   cheaply.                                                            */
   /*                                                                       */
-  /*  - For small (< 20) pixel sizes, it is faster than the standard       */
-  /*    renderer.                                                          */
+  /* - For small (< 20) pixel sizes, it is faster than the standard        */
+  /*   renderer.                                                           */
   /*                                                                       */
   /*************************************************************************/
 
@@ -146,7 +146,7 @@
 
 
 #ifndef FT_MEM_SET
-#define  FT_MEM_SET( d, s, c )  memset( d, s, c )
+#define FT_MEM_SET( d, s, c )  memset( d, s, c )
 #endif
 
   /* define this to dump debugging information */
@@ -2130,11 +2130,11 @@
   {
     ft_glyph_format_outline,
 
-    (FT_Raster_New_Func)      gray_raster_new,
-    (FT_Raster_Reset_Func)    gray_raster_reset,
-    (FT_Raster_Set_Mode_Func) 0,
-    (FT_Raster_Render_Func)   gray_raster_render,
-    (FT_Raster_Done_Func)     gray_raster_done
+    (FT_Raster_New_Func)     gray_raster_new,
+    (FT_Raster_Reset_Func)   gray_raster_reset,
+    (FT_Raster_Set_Mode_Func)0,
+    (FT_Raster_Render_Func)  gray_raster_render,
+    (FT_Raster_Done_Func)    gray_raster_done
   };
 
 
--- a/src/smooth/ftsmooth.c
+++ b/src/smooth/ftsmooth.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Anti-aliasing renderer interface (body).                             */
 /*                                                                         */
-/*  Copyright 2000-2001 by                                                 */
+/*  Copyright 2000-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/smooth/rules.mk
+++ b/src/smooth/rules.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2001 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
--- a/src/truetype/descrip.mms
+++ b/src/truetype/descrip.mms
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2001 by
+# Copyright 2001, 2002 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
--- a/src/truetype/rules.mk
+++ b/src/truetype/rules.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2001 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
--- a/src/truetype/ttdriver.c
+++ b/src/truetype/ttdriver.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType font driver implementation (body).                          */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -365,9 +365,9 @@
   Get_Char_Index( TT_CharMap  charmap,
                   FT_Long     charcode )
   {
-    FT_Error       error;
-    TT_Face        face;
-    TT_CMapTable   cmap;
+    FT_Error      error;
+    TT_Face       face;
+    TT_CMapTable  cmap;
 
 
     cmap = &charmap->cmap;
@@ -412,9 +412,9 @@
   Get_Next_Char( TT_CharMap  charmap,
                  FT_Long     charcode )
   {
-    FT_Error       error;
-    TT_Face        face;
-    TT_CMapTable   cmap;
+    FT_Error      error;
+    TT_Face       face;
+    TT_CMapTable  cmap;
 
 
     cmap = &charmap->cmap;
@@ -457,8 +457,8 @@
   tt_get_interface( TT_Driver    driver,
                     const char*  interface )
   {
-    FT_Module        sfntd = FT_Get_Module( driver->root.root.library,
-                                            "sfnt" );
+    FT_Module     sfntd = FT_Get_Module( driver->root.root.library,
+                                         "sfnt" );
     SFNT_Service  sfnt;
 
 
@@ -506,23 +506,23 @@
     sizeof ( FT_GlyphSlotRec ),
 
 
-    (FT_Face_InitFunc)     TT_Face_Init,
-    (FT_Face_DoneFunc)     TT_Face_Done,
-    (FT_Size_InitFunc)     TT_Size_Init,
-    (FT_Size_DoneFunc)     TT_Size_Done,
-    (FT_Slot_InitFunc)0,
-    (FT_Slot_DoneFunc)0,
+    (FT_Face_InitFunc)        TT_Face_Init,
+    (FT_Face_DoneFunc)        TT_Face_Done,
+    (FT_Size_InitFunc)        TT_Size_Init,
+    (FT_Size_DoneFunc)        TT_Size_Done,
+    (FT_Slot_InitFunc)        0,
+    (FT_Slot_DoneFunc)        0,
 
     (FT_Size_ResetPointsFunc) Set_Char_Sizes,
-    (FT_Size_ResetPixelsFunc)Set_Pixel_Sizes,
-    (FT_Slot_LoadFunc)    Load_Glyph,
-    (FT_CharMap_CharIndexFunc) Get_Char_Index,
+    (FT_Size_ResetPixelsFunc) Set_Pixel_Sizes,
+    (FT_Slot_LoadFunc)        Load_Glyph,
+    (FT_CharMap_CharIndexFunc)Get_Char_Index,
 
-    (FT_Face_GetKerningFunc)   Get_Kerning,
-    (FT_Face_AttachFunc)   0,
-    (FT_Face_GetAdvancesFunc)  0,
+    (FT_Face_GetKerningFunc)  Get_Kerning,
+    (FT_Face_AttachFunc)      0,
+    (FT_Face_GetAdvancesFunc) 0,
     
-    (FT_CharMap_CharNextFunc)  Get_Next_Char
+    (FT_CharMap_CharNextFunc) Get_Next_Char
   };
 
 
--- a/src/truetype/ttdriver.h
+++ b/src/truetype/ttdriver.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    High-level TrueType driver interface (specification).                */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType Glyph Loader (body).                                        */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -87,8 +87,8 @@
                   FT_Short*       bearing,
                   FT_UShort*      advance )
   {
-    TT_LongMetrics   longs_m;
-    FT_UShort        k = header->number_Of_HMetrics;
+    TT_LongMetrics  longs_m;
+    FT_UShort       k = header->number_Of_HMetrics;
 
 
     if ( idx < (FT_UInt)k )
@@ -127,8 +127,8 @@
 
   /*************************************************************************/
   /*                                                                       */
-  /*    Returns the advance width table for a given pixel size if it is    */
-  /*    found in the font's `hdmx' table (if any).                         */
+  /* Returns the advance width table for a given pixel size if it is found */
+  /* in the font's `hdmx' table (if any).                                  */
   /*                                                                       */
   static FT_Byte*
   Get_Advance_Widths( TT_Face    face,
@@ -136,6 +136,7 @@
   {
     FT_UShort  n;
 
+
     for ( n = 0; n < face->hdmx.num_records; n++ )
       if ( face->hdmx.records[n].ppem == ppem )
         return face->hdmx.records[n].widths;
@@ -153,7 +154,7 @@
 
   /*************************************************************************/
   /*                                                                       */
-  /*    Translates an array of coordinates.                                */
+  /* Translates an array of coordinates.                                   */
   /*                                                                       */
   static void
   translate_array( FT_UInt     n,
@@ -175,10 +176,10 @@
 
 
   static void
-  tt_prepare_zone( TT_GlyphZone   zone,
-                   FT_GlyphLoad   load,
-                   FT_UInt        start_point,
-                   FT_UInt        start_contour )
+  tt_prepare_zone( TT_GlyphZone  zone,
+                   FT_GlyphLoad  load,
+                   FT_UInt       start_point,
+                   FT_UInt       start_contour )
   {
     zone->n_points   = (FT_UShort)( load->outline.n_points - start_point );
     zone->n_contours = (FT_Short) ( load->outline.n_contours - start_contour );
@@ -195,17 +196,17 @@
 
   /*************************************************************************/
   /*                                                                       */
-  /*  The following functions are used by default with TrueType fonts.     */
-  /*  However, they can be replaced by alternatives if we need to support  */
-  /*  TrueType-compressed formats (like MicroType) in the future.          */
+  /* The following functions are used by default with TrueType fonts.      */
+  /* However, they can be replaced by alternatives if we need to support   */
+  /* TrueType-compressed formats (like MicroType) in the future.           */
   /*                                                                       */
   /*************************************************************************/
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Access_Glyph_Frame( TT_Loader   loader,
-                         FT_UInt     glyph_index,
-                         FT_ULong    offset,
-                         FT_UInt     byte_count )
+  TT_Access_Glyph_Frame( TT_Loader  loader,
+                         FT_UInt    glyph_index,
+                         FT_ULong   offset,
+                         FT_UInt    byte_count )
   {
     FT_Error   error;
     FT_Stream  stream = loader->stream;
@@ -225,7 +226,7 @@
 
 
   FT_CALLBACK_DEF( void )
-  TT_Forget_Glyph_Frame( TT_Loader   loader )
+  TT_Forget_Glyph_Frame( TT_Loader  loader )
   {
     FT_Stream  stream = loader->stream;
 
@@ -235,10 +236,10 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Glyph_Header( TT_Loader   loader )
+  TT_Load_Glyph_Header( TT_Loader  loader )
   {
-    FT_Stream   stream   = loader->stream;
-    FT_Int      byte_len = loader->byte_len - 10;
+    FT_Stream  stream   = loader->stream;
+    FT_Int     byte_len = loader->byte_len - 10;
 
 
     if ( byte_len < 0 )
@@ -263,18 +264,18 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Simple_Glyph( TT_Loader   load )
+  TT_Load_Simple_Glyph( TT_Loader  load )
   {
-    FT_Error         error;
-    FT_Stream        stream     = load->stream;
-    FT_GlyphLoader   gloader    = load->gloader;
-    FT_Int           n_contours = load->n_contours;
-    FT_Outline*      outline;
-    TT_Face          face    = (TT_Face)load->face;
-    TT_GlyphSlot     slot    = (TT_GlyphSlot)load->glyph;
-    FT_UShort        n_ins;
-    FT_Int           n, n_points;
-    FT_Int           byte_len = load->byte_len;
+    FT_Error        error;
+    FT_Stream       stream     = load->stream;
+    FT_GlyphLoader  gloader    = load->gloader;
+    FT_Int          n_contours = load->n_contours;
+    FT_Outline*     outline;
+    TT_Face         face       = (TT_Face)load->face;
+    TT_GlyphSlot    slot       = (TT_GlyphSlot)load->glyph;
+    FT_UShort       n_ins;
+    FT_Int          n, n_points;
+    FT_Int          byte_len   = load->byte_len;
 
 
     /* reading the contours endpoints & number of points */
@@ -317,7 +318,7 @@
 
     if ( n_ins > face->max_profile.maxSizeOfInstructions )
     {
-      FT_TRACE0(( "ERROR: Too many instructions!\n" ));
+      FT_TRACE0(( "TT_Load_Simple_Glyph: Too many instructions!\n" ));
       error = TT_Err_Too_Many_Hints;
       goto Fail;
     }
@@ -325,7 +326,7 @@
     byte_len -= n_ins;
     if ( byte_len < 0 )
     {
-      FT_TRACE0(( "ERROR: Instruction count mismatch!\n" ));
+      FT_TRACE0(( "TT_Load_Simple_Glyph: Instruction count mismatch!\n" ));
       error = TT_Err_Too_Many_Hints;
       goto Fail;
     }
@@ -466,14 +467,14 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Composite_Glyph( TT_Loader   loader )
+  TT_Load_Composite_Glyph( TT_Loader  loader )
   {
-    FT_Error         error;
-    FT_Stream        stream  = loader->stream;
-    FT_GlyphLoader   gloader = loader->gloader;
+    FT_Error        error;
+    FT_Stream       stream  = loader->stream;
+    FT_GlyphLoader  gloader = loader->gloader;
     FT_SubGlyph     subglyph;
-    FT_UInt          num_subglyphs;
-    FT_Int           byte_len = loader->byte_len;
+    FT_UInt         num_subglyphs;
+    FT_Int          byte_len = loader->byte_len;
 
 
     num_subglyphs = 0;
@@ -603,17 +604,17 @@
   /*    interpretation.                                                    */
   /*                                                                       */
   static FT_Error
-  TT_Process_Simple_Glyph( TT_Loader   load,
-                           FT_Bool     debug )
+  TT_Process_Simple_Glyph( TT_Loader  load,
+                           FT_Bool    debug )
   {
-    FT_GlyphLoader   gloader  = load->gloader;
-    FT_Outline*      outline  = &gloader->current.outline;
-    FT_UInt          n_points = outline->n_points;
+    FT_GlyphLoader  gloader  = load->gloader;
+    FT_Outline*     outline  = &gloader->current.outline;
+    FT_UInt         n_points = outline->n_points;
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-    FT_UInt          n_ins;
+    FT_UInt         n_ins;
 #endif
-    TT_GlyphZone     zone     = &load->zone;
-    FT_Error         error    = TT_Err_Ok;
+    TT_GlyphZone    zone     = &load->zone;
+    FT_Error        error    = TT_Err_Ok;
 
     FT_UNUSED( debug );  /* used by truetype interpreter only */
 
@@ -737,22 +738,22 @@
   /*    TT_Loader object.                                                  */
   /*                                                                       */
   static FT_Error
-  load_truetype_glyph( TT_Loader   loader,
-                       FT_UInt     glyph_index )
+  load_truetype_glyph( TT_Loader  loader,
+                       FT_UInt    glyph_index )
   {
 
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-    FT_Stream        stream = loader->stream;
+    FT_Stream       stream = loader->stream;
 #endif
 
-    FT_Error         error;
-    TT_Face          face   = (TT_Face)loader->face;
-    FT_ULong         offset;
-    FT_Int           contours_count;
-    FT_UInt          idx, num_points, count;
-    FT_Fixed         x_scale, y_scale;
-    FT_GlyphLoader   gloader = loader->gloader;
-    FT_Bool          opened_frame = 0;
+    FT_Error        error;
+    TT_Face         face   = (TT_Face)loader->face;
+    FT_ULong        offset;
+    FT_Int          contours_count;
+    FT_UInt         idx, num_points, count;
+    FT_Fixed        x_scale, y_scale;
+    FT_GlyphLoader  gloader = loader->gloader;
+    FT_Bool         opened_frame = 0;
 
 
     /* check glyph index */
@@ -781,8 +782,8 @@
 
 
       Get_HMetrics( face, idx,
-                    (FT_Bool)!(loader->load_flags &
-                                FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH),
+                    (FT_Bool)!( loader->load_flags &
+                                FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ),
                     &left_bearing,
                     &advance_width );
 
@@ -830,16 +831,6 @@
 
     loader->byte_len = (FT_Int)count;
 
-#if 0
-    /* temporary hack */
-    if ( count < 10 )
-    {
-      /* This glyph is corrupted -- it does not have a complete header */
-      error = TT_Err_Invalid_Outline;
-      goto Fail;
-    }
-#endif
-
     offset = loader->glyf_offset + offset;
 
     /* access glyph frame */
@@ -889,7 +880,7 @@
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 
       {
-        TT_Size size = (TT_Size)loader->size;
+        TT_Size  size = (TT_Size)loader->size;
 
 
         error = TT_Process_Simple_Glyph( loader,
@@ -951,9 +942,9 @@
         /* set up remaining glyph fields */
         FT_GlyphLoader_Add( gloader );
 
-        glyph->num_subglyphs  = gloader->base.num_subglyphs;
-        glyph->format         = ft_glyph_format_composite;
-        glyph->subglyphs      = gloader->base.subglyphs;
+        glyph->num_subglyphs = gloader->base.num_subglyphs;
+        glyph->format        = ft_glyph_format_composite;
+        glyph->subglyphs     = gloader->base.subglyphs;
 
         goto Exit;
       }
@@ -964,11 +955,11 @@
 
       /* Now, read each subglyph independently. */
       {
-        FT_Int        n, num_base_points, num_new_points;
-        FT_SubGlyph  subglyph = 0;
+        FT_Int       n, num_base_points, num_new_points;
+        FT_SubGlyph  subglyph       = 0;
 
-        FT_UInt num_subglyphs  = gloader->current.num_subglyphs;
-        FT_UInt num_base_subgs = gloader->base.num_subglyphs;
+        FT_UInt      num_subglyphs  = gloader->current.num_subglyphs;
+        FT_UInt      num_base_subgs = gloader->base.num_subglyphs;
 
 
         FT_GlyphLoader_Add( gloader );
@@ -1114,7 +1105,7 @@
           FT_TRACE5(( "  Instructions size = %d\n", n_ins ));
 
           /* in some fonts? */
-          if ( n_ins == 0xFFFF )
+          if ( n_ins == 0xFFFFU )
             n_ins = 0;
 
           /* check it */
@@ -1260,7 +1251,7 @@
       /* `advance_Width_Max' field!  It is used, to my knowledge,       */
       /* exclusively in the X-TrueType font server.                     */
       /*                                                                */
-      if ( face->postscript.isFixedPitch                                    &&
+      if ( face->postscript.isFixedPitch                                     &&
            ( loader->load_flags & FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ) == 0 )
         advance = face->horizontal.advance_Width_Max;
 
@@ -1285,9 +1276,9 @@
       FT_Short   top_bearing;    /* vertical top side bearing (EM units) */
       FT_UShort  advance_height; /* vertical advance height   (EM units) */
 
-      FT_Pos  left;     /* scaled vertical left side bearing         */
-      FT_Pos  top;      /* scaled vertical top side bearing          */
-      FT_Pos  advance;  /* scaled vertical advance height            */
+      FT_Pos     left;     /* scaled vertical left side bearing */
+      FT_Pos     top;      /* scaled vertical top side bearing  */
+      FT_Pos     advance;  /* scaled vertical advance height    */
 
 
       /* Get the unscaled `tsb' and `ah' */
@@ -1316,7 +1307,7 @@
         /*        here with:                                   */
         /*             ascender - descender + linegap          */
         /*                                                     */
-        if ( face->os2.version != 0xFFFF )
+        if ( face->os2.version != 0xFFFFU )
         {
           top_bearing    = (FT_Short)( face->os2.sTypoLineGap / 2 );
           advance_height = (FT_UShort)( face->os2.sTypoAscender -
@@ -1375,8 +1366,8 @@
     if ( !face->postscript.isFixedPitch && size &&
          IS_HINTED( loader->load_flags )        )
     {
-      FT_Byte* widths = Get_Advance_Widths( face,
-                                            size->root.metrics.x_ppem );
+      FT_Byte*  widths = Get_Advance_Widths( face,
+                                             size->root.metrics.x_ppem );
 
 
       if ( widths )
@@ -1423,10 +1414,10 @@
                  FT_UInt       load_flags )
   {
     SFNT_Service  sfnt;
-    TT_Face          face;
-    FT_Stream        stream;
-    FT_Error         error;
-    TT_LoaderRec     loader;
+    TT_Face       face;
+    FT_Stream     stream;
+    FT_Error      error;
+    TT_LoaderRec  loader;
 
 
     face   = (TT_Face)glyph->face;
@@ -1452,7 +1443,7 @@
     /* XXX: The convention should be emphasized in     */
     /*      the documents because it can be confusing. */
     if ( size                                    &&
-         size->strike_index != 0xFFFF            &&
+         size->strike_index != 0xFFFFU           &&
          sfnt->load_sbits                        &&
          ( load_flags & FT_LOAD_NO_BITMAP ) == 0 )
 
@@ -1578,6 +1569,7 @@
     /* Main loading loop */
     glyph->format        = ft_glyph_format_outline;
     glyph->num_subglyphs = 0;
+
     error = load_truetype_glyph( &loader, glyph_index );
     if ( !error )
       compute_glyph_metrics( &loader, glyph_index );
--- a/src/truetype/ttgload.h
+++ b/src/truetype/ttgload.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType Glyph Loader (specification).                               */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType bytecode interpreter (body).                                */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -1168,104 +1168,114 @@
 #define NULL_Vector  (FT_Vector*)&Null_Vector
 
 
- /* compute (a*b)/2^14 with maximal accuracy and rounding */
+  /* compute (a*b)/2^14 with maximal accuracy and rounding */
   static FT_Int32
-  TT_MulFix14( FT_Int32  a, FT_Int  b )
+  TT_MulFix14( FT_Int32  a,
+               FT_Int    b )
   {
     FT_Int32   m, s, hi;
     FT_UInt32  l, lo;
     
+
     /* compute ax*bx as 64-bit value */
-    l  = (FT_UInt32)( (a & 0xFFFF)*b );
-    m  = (a >> 16)*b;
+    l  = (FT_UInt32)( ( a & 0xFFFFU ) * b );
+    m  = ( a >> 16 ) * b;
     
-    lo = l + (FT_UInt32)(m << 16);
-    hi = (m >> 16) + ((FT_Int32)l >> 31) + (lo < l);
+    lo = l + (FT_UInt32)( m << 16 );
+    hi = ( m >> 16 ) + ( (FT_Int32)l >> 31 ) + ( lo < l );
     
     /* divide the result by 2^14 with rounding */
-    s   = (hi >> 31);
+    s   = hi >> 31;
     l   = lo + (FT_UInt32)s;
-    hi += s + (l < lo);
+    hi += s + ( l < lo );
     lo  = l;
 
     l   = lo + 0x2000U;
     hi += (l < lo);
     
-    return ( (hi << 18) | (l >> 14) );
+    return ( hi << 18 ) | ( l >> 14 );
   }
 
 
- /* compute (ax*bx+ay*by)/2^14 with maximal accuracy and rounding */
+  /* compute (ax*bx+ay*by)/2^14 with maximal accuracy and rounding */
   static FT_Int32
-  TT_DotFix14( FT_Int32  ax, FT_Int32  ay, FT_Int  bx, FT_Int  by )
+  TT_DotFix14( FT_Int32  ax,
+               FT_Int32  ay,
+               FT_Int    bx,
+               FT_Int    by )
   {
     FT_Int32   m, s, hi1, hi2, hi;
     FT_UInt32  l, lo1, lo2, lo;
     
+
     /* compute ax*bx as 64-bit value */
-    l = (FT_UInt32)( (ax & 0xFFFF)*bx );
-    m = (ax >> 16)*bx;
+    l = (FT_UInt32)( ( ax & 0xFFFFU ) * bx );
+    m = ( ax >> 16 ) * bx;
     
-    lo1 = l + (FT_UInt32)(m << 16);
-    hi1 = (m >> 16) + ((FT_Int32)l >> 31) + (lo1 < l);
+    lo1 = l + (FT_UInt32)( m << 16 );
+    hi1 = ( m >> 16 ) + ( (FT_Int32)l >> 31 ) + ( lo1 < l );
     
     /* compute ay*by as 64-bit value */
-    l = (FT_UInt32)( (ay & 0xFFFF)*by );
-    m = (ay >> 16)*by;
+    l = (FT_UInt32)( ( ay & 0xFFFFU ) * by );
+    m = ( ay >> 16 ) * by;
     
-    lo2 = l + (FT_UInt32)(m << 16);
-    hi2 = (m >> 16) + ((FT_Int32)l >> 31) + (lo2 < l);
+    lo2 = l + (FT_UInt32)( m << 16 );
+    hi2 = ( m >> 16 ) + ( (FT_Int32)l >> 31 ) + ( lo2 < l );
     
     /* add them */
     lo = lo1 + lo2;
-    hi = hi1 + hi2 + (lo < lo1);
+    hi = hi1 + hi2 + ( lo < lo1 );
     
     /* divide the result by 2^14 with rounding */
-    s   = (hi >> 31);
+    s   = hi >> 31;
     l   = lo + (FT_UInt32)s;
-    hi += s + (l < lo);
+    hi += s + ( l < lo );
     lo  = l;
 
     l   = lo + 0x2000U;
-    hi += (l < lo);
+    hi += ( l < lo );
     
-    return ( (hi << 18) | (l >> 14) );
+    return ( hi << 18 ) | ( l >> 14 );
   }
 
- /* return length of given vector */
+
+  /* return length of given vector */
+
 #if 0
 
   static FT_Int32
-  TT_VecLen( FT_Int32  x, FT_Int32  y )
+  TT_VecLen( FT_Int32  x,
+             FT_Int32  y )
   {
-    FT_Int32  m, hi1, hi2, hi;
-    FT_UInt32 l, lo1, lo2, lo;
+    FT_Int32   m, hi1, hi2, hi;
+    FT_UInt32  l, lo1, lo2, lo;
+
     
     /* compute x*x as 64-bit value */
-    lo = (FT_UInt32)(x & 0xFFFF);
-    hi = (x >> 16);
+    lo = (FT_UInt32)( x & 0xFFFFU );
+    hi = x >> 16;
     
-    l  = lo*lo;
-    m  = hi*lo;
-    hi = hi*hi;
+    l  = lo * lo;
+    m  = hi * lo;
+    hi = hi * hi;
     
-    lo1 = l + (FT_UInt32)(m << 17);
-    hi1 = hi + (m >> 15) + (lo1 < l);
+    lo1 = l + (FT_UInt32)( m << 17 );
+    hi1 = hi + ( m >> 15 ) + ( lo1 < l );
     
     /* compute y*y as 64-bit value */
-    lo = (FT_UInt32)( y & 0xFFFF );
-    hi = (y >> 16);
+    lo = (FT_UInt32)( y & 0xFFFFU );
+    hi = y >> 16;
     
-    l  = lo*lo;
-    m  = hi*lo;
-    hi = hi*hi;
+    l  = lo * lo;
+    m  = hi * lo;
+    hi = hi * hi;
     
-    lo2 = l + (FT_UInt32)(m << 17);
-    hi2 = hi + (m >> 15) + (lo2 < l);
+    lo2 = l + (FT_UInt32)( m << 17 );
+    hi2 = hi + ( m >> 15 ) + ( lo2 < l );
     
     /* add them to get 'x*x+y*y' as 64-bit value */
     lo = lo1 + lo2;
-    hi = hi1 + hi2 + (lo < lo1);
+    hi = hi1 + hi2 + ( lo < lo1 );
     
     /* compute the square root of this value */
     {
@@ -1280,8 +1290,8 @@
         count = 32;
         do
         {
-          rem      = ( rem << 2 ) | ( (FT_UInt32)hi  >> 30 );
-          hi       = (  hi << 2 ) | ( lo >> 30 );
+          rem      = ( rem << 2 ) | ( (FT_UInt32)hi >> 30 );
+          hi       = (  hi << 2 ) | (            lo >> 30 );
           lo     <<= 2;
           root   <<= 1;
           test_div = ( root << 1 ) + 1;
@@ -1297,11 +1307,12 @@
       return (FT_Int32)root;
     }
   }
+
 #else
  
- /* this version uses FT_Vector_Length which computes the same value */
- /* much, much faster..                                              */
- /*                                                                  */
+  /* this version uses FT_Vector_Length which computes the same value */
+  /* much, much faster..                                              */
+  /*                                                                  */
   static FT_F26Dot6
   TT_VecLen( FT_F26Dot6  X,
              FT_F26Dot6  Y )
@@ -1308,13 +1319,16 @@
   {
     FT_Vector  v;
 
+
     v.x = X;
     v.y = Y;
+
     return FT_Vector_Length( &v );
   }
   
 #endif
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -1367,48 +1381,48 @@
 
 
   FT_CALLBACK_DEF( FT_F26Dot6 )
-  Read_CVT( EXEC_OP_ FT_ULong  index )
+  Read_CVT( EXEC_OP_ FT_ULong  idx )
   {
-    return CUR.cvt[index];
+    return CUR.cvt[idx];
   }
 
 
   FT_CALLBACK_DEF( FT_F26Dot6 )
-  Read_CVT_Stretched( EXEC_OP_ FT_ULong  index )
+  Read_CVT_Stretched( EXEC_OP_ FT_ULong  idx )
   {
-    return TT_MULFIX( CUR.cvt[index], CURRENT_Ratio() );
+    return TT_MULFIX( CUR.cvt[idx], CURRENT_Ratio() );
   }
 
 
   FT_CALLBACK_DEF( void )
-  Write_CVT( EXEC_OP_ FT_ULong    index,
+  Write_CVT( EXEC_OP_ FT_ULong    idx,
                       FT_F26Dot6  value )
   {
-    CUR.cvt[index] = value;
+    CUR.cvt[idx] = value;
   }
 
 
   FT_CALLBACK_DEF( void )
-  Write_CVT_Stretched( EXEC_OP_ FT_ULong    index,
+  Write_CVT_Stretched( EXEC_OP_ FT_ULong    idx,
                                 FT_F26Dot6  value )
   {
-    CUR.cvt[index] = FT_DivFix( value, CURRENT_Ratio() );
+    CUR.cvt[idx] = FT_DivFix( value, CURRENT_Ratio() );
   }
 
 
   FT_CALLBACK_DEF( void )
-  Move_CVT( EXEC_OP_ FT_ULong    index,
+  Move_CVT( EXEC_OP_ FT_ULong    idx,
                      FT_F26Dot6  value )
   {
-    CUR.cvt[index] += value;
+    CUR.cvt[idx] += value;
   }
 
 
   FT_CALLBACK_DEF( void )
-  Move_CVT_Stretched( EXEC_OP_ FT_ULong    index,
+  Move_CVT_Stretched( EXEC_OP_ FT_ULong    idx,
                                FT_F26Dot6  value )
   {
-    CUR.cvt[index] += FT_DivFix( value, CURRENT_Ratio() );
+    CUR.cvt[idx] += FT_DivFix( value, CURRENT_Ratio() );
   }
 
 
@@ -1511,11 +1525,11 @@
   /*    zone     :: The affected glyph zone.                               */
   /*                                                                       */
   static void
-  Direct_Move( EXEC_OP_ TT_GlyphZone   zone,
-                        FT_UShort      point,
-                        FT_F26Dot6     distance )
+  Direct_Move( EXEC_OP_ TT_GlyphZone  zone,
+                        FT_UShort     point,
+                        FT_F26Dot6    distance )
   {
-    FT_F26Dot6 v;
+    FT_F26Dot6  v;
 
 
     v = CUR.GS.freeVector.x;
@@ -1573,9 +1587,9 @@
 
 
   static void
-  Direct_Move_X( EXEC_OP_ TT_GlyphZone   zone,
-                          FT_UShort      point,
-                          FT_F26Dot6     distance )
+  Direct_Move_X( EXEC_OP_ TT_GlyphZone  zone,
+                          FT_UShort     point,
+                          FT_F26Dot6    distance )
   {
     FT_UNUSED_EXEC;
 
@@ -1585,9 +1599,9 @@
 
 
   static void
-  Direct_Move_Y( EXEC_OP_ TT_GlyphZone   zone,
-                          FT_UShort      point,
-                          FT_F26Dot6     distance )
+  Direct_Move_Y( EXEC_OP_ TT_GlyphZone  zone,
+                          FT_UShort     point,
+                          FT_F26Dot6    distance )
   {
     FT_UNUSED_EXEC;
 
@@ -3942,8 +3956,8 @@
     K = CUR.stack[CUR.args - L];
 
     FT_MEM_MOVE( &CUR.stack[CUR.args - L    ],
-              &CUR.stack[CUR.args - L + 1],
-              ( L - 1 ) * sizeof ( FT_Long ) );
+                 &CUR.stack[CUR.args - L + 1],
+                 ( L - 1 ) * sizeof ( FT_Long ) );
 
     CUR.stack[CUR.args - 1] = K;
   }
@@ -5076,14 +5090,14 @@
 
 
   static FT_Bool
-  Compute_Point_Displacement( EXEC_OP_ FT_F26Dot6*    x,
-                                       FT_F26Dot6*    y,
-                                       TT_GlyphZone   zone,
-                                       FT_UShort*     refp )
+  Compute_Point_Displacement( EXEC_OP_ FT_F26Dot6*   x,
+                                       FT_F26Dot6*   y,
+                                       TT_GlyphZone  zone,
+                                       FT_UShort*    refp )
   {
     TT_GlyphZoneRec  zp;
-    FT_UShort     p;
-    FT_F26Dot6    d;
+    FT_UShort        p;
+    FT_F26Dot6       d;
 
 
     if ( CUR.opcode & 1 )
@@ -5161,11 +5175,11 @@
   Ins_SHP( INS_ARG )
   {
     TT_GlyphZoneRec  zp;
-    FT_UShort     refp;
+    FT_UShort        refp;
 
-    FT_F26Dot6    dx,
-                  dy;
-    FT_UShort     point;
+    FT_F26Dot6       dx,
+                     dy;
+    FT_UShort        point;
 
     FT_UNUSED_ARG;
 
@@ -5214,12 +5228,12 @@
   Ins_SHC( INS_ARG )
   {
     TT_GlyphZoneRec zp;
-    FT_UShort    refp;
-    FT_F26Dot6   dx,
-                 dy;
+    FT_UShort       refp;
+    FT_F26Dot6      dx,
+                    dy;
 
-    FT_Short     contour;
-    FT_UShort    first_point, last_point, i;
+    FT_Short        contour;
+    FT_UShort       first_point, last_point, i;
 
 
     contour = (FT_UShort)args[0];
@@ -5270,11 +5284,11 @@
   Ins_SHZ( INS_ARG )
   {
     TT_GlyphZoneRec zp;
-    FT_UShort    refp;
-    FT_F26Dot6   dx,
-                 dy;
+    FT_UShort       refp;
+    FT_F26Dot6      dx,
+                    dy;
 
-    FT_UShort    last_point, i;
+    FT_UShort       last_point, i;
 
 
     if ( BOUNDS( args[0], 2 ) )
--- a/src/truetype/ttinterp.h
+++ b/src/truetype/ttinterp.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType bytecode interpreter (specification).                       */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -73,9 +73,9 @@
 
   /* Point displacement along the freedom vector routine */
   typedef void
-  (*TT_Move_Func)( EXEC_OP_ TT_GlyphZone   zone,
-                            FT_UShort      point,
-                            FT_F26Dot6     distance );
+  (*TT_Move_Func)( EXEC_OP_ TT_GlyphZone  zone,
+                            FT_UShort     point,
+                            FT_F26Dot6    distance );
 
   /* Distance projection along one of the projection vectors */
   typedef FT_F26Dot6
@@ -84,12 +84,12 @@
 
   /* reading a cvt value.  Take care of non-square pixels if necessary */
   typedef FT_F26Dot6
-  (*TT_Get_CVT_Func)( EXEC_OP_ FT_ULong  index );
+  (*TT_Get_CVT_Func)( EXEC_OP_ FT_ULong  idx );
 
   /* setting or moving a cvt value.  Take care of non-square pixels  */
   /* if necessary                                                    */
   typedef void
-  (*TT_Set_CVT_Func)( EXEC_OP_ FT_ULong    index,
+  (*TT_Set_CVT_Func)( EXEC_OP_ FT_ULong    idx,
                                FT_F26Dot6  value );
 
 
@@ -114,90 +114,90 @@
   /*                                                                       */
   typedef struct  TT_ExecContextRec_
   {
-    TT_Face         face;
-    TT_Size         size;
-    FT_Memory       memory;
+    TT_Face            face;
+    TT_Size            size;
+    FT_Memory          memory;
 
     /* instructions state */
 
-    FT_Error        error;      /* last execution error */
+    FT_Error           error;      /* last execution error */
 
-    FT_Long         top;        /* top of exec. stack   */
+    FT_Long            top;        /* top of exec. stack   */
 
-    FT_UInt         stackSize;  /* size of exec. stack  */
-    FT_Long*        stack;      /* current exec. stack  */
+    FT_UInt            stackSize;  /* size of exec. stack  */
+    FT_Long*           stack;      /* current exec. stack  */
 
-    FT_Long         args;
-    FT_UInt         new_top;    /* new top after exec.  */
+    FT_Long            args;
+    FT_UInt            new_top;    /* new top after exec.  */
 
     TT_GlyphZoneRec    zp0,        /* zone records */
-                    zp1,
-                    zp2,
-                    pts,
-                    twilight;
+                       zp1,
+                       zp2,
+                       pts,
+                       twilight;
 
-    FT_Size_Metrics  metrics;
-    TT_Size_Metrics  tt_metrics; /* size metrics */
+    FT_Size_Metrics    metrics;
+    TT_Size_Metrics    tt_metrics; /* size metrics */
 
-    TT_GraphicsState  GS;         /* current graphics state */
+    TT_GraphicsState   GS;         /* current graphics state */
 
-    FT_Int          curRange;  /* current code range number   */
-    FT_Byte*        code;      /* current code range          */
-    FT_Long         IP;        /* current instruction pointer */
-    FT_Long         codeSize;  /* size of current range       */
+    FT_Int             curRange;  /* current code range number   */
+    FT_Byte*           code;      /* current code range          */
+    FT_Long            IP;        /* current instruction pointer */
+    FT_Long            codeSize;  /* size of current range       */
 
-    FT_Byte         opcode;    /* current opcode              */
-    FT_Int          length;    /* length of current opcode    */
+    FT_Byte            opcode;    /* current opcode              */
+    FT_Int             length;    /* length of current opcode    */
 
-    FT_Bool         step_ins;  /* true if the interpreter must */
-                               /* increment IP after ins. exec */
-    FT_Long         cvtSize;
-    FT_Long*        cvt;
+    FT_Bool            step_ins;  /* true if the interpreter must */
+                                  /* increment IP after ins. exec */
+    FT_Long            cvtSize;
+    FT_Long*           cvt;
 
-    FT_UInt         glyphSize; /* glyph instructions buffer size */
-    FT_Byte*        glyphIns;  /* glyph instructions buffer */
+    FT_UInt            glyphSize; /* glyph instructions buffer size */
+    FT_Byte*           glyphIns;  /* glyph instructions buffer */
 
-    FT_UInt         numFDefs;  /* number of function defs         */
-    FT_UInt         maxFDefs;  /* maximum number of function defs */
-    TT_DefArray     FDefs;     /* table of FDefs entries          */
+    FT_UInt            numFDefs;  /* number of function defs         */
+    FT_UInt            maxFDefs;  /* maximum number of function defs */
+    TT_DefArray        FDefs;     /* table of FDefs entries          */
 
-    FT_UInt         numIDefs;  /* number of instruction defs */
-    FT_UInt         maxIDefs;  /* maximum number of ins defs */
-    TT_DefArray     IDefs;     /* table of IDefs entries     */
+    FT_UInt            numIDefs;  /* number of instruction defs */
+    FT_UInt            maxIDefs;  /* maximum number of ins defs */
+    TT_DefArray        IDefs;     /* table of IDefs entries     */
 
-    FT_UInt         maxFunc;   /* maximum function index     */
-    FT_UInt         maxIns;    /* maximum instruction index  */
+    FT_UInt            maxFunc;   /* maximum function index     */
+    FT_UInt            maxIns;    /* maximum instruction index  */
 
-    FT_Int          callTop,    /* top of call stack during execution */
-                    callSize;   /* size of call stack */
-    TT_CallStack    callStack;  /* call stack */
+    FT_Int             callTop,    /* top of call stack during execution */
+                       callSize;   /* size of call stack */
+    TT_CallStack       callStack;  /* call stack */
 
-    FT_UShort       maxPoints;    /* capacity of this context's `pts' */
-    FT_Short        maxContours;  /* record, expressed in points and  */
-                                  /* contours.                        */
+    FT_UShort          maxPoints;    /* capacity of this context's `pts' */
+    FT_Short           maxContours;  /* record, expressed in points and  */
+                                     /* contours.                        */
 
     TT_CodeRangeTable  codeRangeTable;  /* table of valid code ranges */
                                         /* useful for the debugger   */
 
-    FT_UShort       storeSize;  /* size of current storage */
-    FT_Long*        storage;    /* storage area            */
+    FT_UShort          storeSize;  /* size of current storage */
+    FT_Long*           storage;    /* storage area            */
 
-    FT_F26Dot6      period;     /* values used for the */
-    FT_F26Dot6      phase;      /* `SuperRounding'     */
-    FT_F26Dot6      threshold;
+    FT_F26Dot6         period;     /* values used for the */
+    FT_F26Dot6         phase;      /* `SuperRounding'     */
+    FT_F26Dot6         threshold;
 
 #if 0
     /* this seems to be unused */
-    FT_Int          cur_ppem;       /* ppem along the current proj vector */
+    FT_Int             cur_ppem;   /* ppem along the current proj vector */
 #endif
 
-    FT_Bool         instruction_trap;  /* If `True', the interpreter will */
-                                       /* exit after each instruction     */
+    FT_Bool            instruction_trap; /* If `True', the interpreter will */
+                                         /* exit after each instruction     */
 
-    TT_GraphicsState  default_GS;      /* graphics state resulting from    */
-                                       /* the prep program                 */
-    FT_Bool          is_composite;     /* true if the glyph is composite   */
-    FT_Bool          pedantic_hinting; /* true for pedantic interpretation */
+    TT_GraphicsState   default_GS;       /* graphics state resulting from   */
+                                         /* the prep program                */
+    FT_Bool            is_composite;     /* true if the glyph is composite  */
+    FT_Bool            pedantic_hinting; /* true if pedantic interpretation */
 
     /* latest interpreter additions */
 
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Objects manager (body).                                              */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -66,7 +66,7 @@
   /*    zone :: A pointer to the target glyph zone.                        */
   /*                                                                       */
   FT_LOCAL_DEF( void )
-  TT_Done_GlyphZone( TT_GlyphZone   zone )
+  TT_Done_GlyphZone( TT_GlyphZone  zone )
   {
     FT_Memory  memory = zone->memory;
 
@@ -103,10 +103,10 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   FT_LOCAL_DEF( FT_Error )
-  TT_New_GlyphZone( FT_Memory      memory,
-                    FT_UShort      maxPoints,
-                    FT_Short       maxContours,
-                    TT_GlyphZone   zone )
+  TT_New_GlyphZone( FT_Memory     memory,
+                    FT_UShort     maxPoints,
+                    FT_Short      maxContours,
+                    TT_GlyphZone  zone )
   {
     FT_Error  error;
 
@@ -160,8 +160,8 @@
                 FT_Int         num_params,
                 FT_Parameter*  params )
   {
-    FT_Error         error;
-    FT_Library       library;
+    FT_Error      error;
+    FT_Library    library;
     SFNT_Service  sfnt;
 
 
@@ -227,10 +227,10 @@
   FT_LOCAL_DEF( void )
   TT_Face_Done( TT_Face  face )
   {
-    FT_Memory  memory = face->root.memory;
-    FT_Stream  stream = face->root.stream;
+    FT_Memory     memory = face->root.memory;
+    FT_Stream     stream = face->root.stream;
 
-    SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
+    SFNT_Service  sfnt   = (SFNT_Service)face->sfnt;
 
 
     /* for `extended TrueType formats' (i.e. compressed versions) */
@@ -326,10 +326,10 @@
     }
 
     /* allocate function defs, instruction defs, cvt, and storage area */
-    if ( FT_NEW_ARRAY( size->function_defs, size->max_function_defs )       ||
+    if ( FT_NEW_ARRAY( size->function_defs,    size->max_function_defs    ) ||
          FT_NEW_ARRAY( size->instruction_defs, size->max_instruction_defs ) ||
-         FT_NEW_ARRAY( size->cvt, size->cvt_size )                          ||
-         FT_NEW_ARRAY( size->storage, size->storage_size )                  )
+         FT_NEW_ARRAY( size->cvt,              size->cvt_size             ) ||
+         FT_NEW_ARRAY( size->storage,          size->storage_size         ) )
 
       goto Fail_Memory;
 
@@ -513,8 +513,8 @@
   static FT_Error
   Reset_Outline_Size( TT_Size  size )
   {
-    TT_Face   face;
-    FT_Error  error = TT_Err_Ok;
+    TT_Face           face;
+    FT_Error          error = TT_Err_Ok;
 
     FT_Size_Metrics*  metrics;
 
@@ -561,7 +561,7 @@
 
 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
     /* set to `invalid' by default */
-    size->strike_index = 0xFFFF;
+    size->strike_index = 0xFFFFU;
 #endif
 
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
@@ -670,12 +670,12 @@
     FT_ULong          strike_index;
     FT_Size_Metrics*  metrics;
     FT_Size_Metrics*  sbit_metrics;
-    SFNT_Service   sfnt;
+    SFNT_Service      sfnt;
 
 
     metrics = &size->root.metrics;
 
-    if ( size->strike_index != 0xFFFF )
+    if ( size->strike_index != 0xFFFFU )
       return TT_Err_Ok;
 
     face = (TT_Face)size->root.face;
@@ -689,7 +689,7 @@
 
     if ( !error )
     {
-      TT_SBit_Strike   strike = face->sbit_strikes + strike_index;
+      TT_SBit_Strike  strike = face->sbit_strikes + strike_index;
 
 
       sbit_metrics->x_ppem      = metrics->x_ppem;
@@ -719,7 +719,7 @@
     }
     else
     {
-      size->strike_index = 0xFFFF;
+      size->strike_index = 0xFFFFU;
 
       sbit_metrics->x_ppem      = 0;
       sbit_metrics->y_ppem      = 0;
@@ -769,7 +769,7 @@
 
     if ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
     {
-      if ( size->strike_index == 0xFFFF )
+      if ( size->strike_index == 0xFFFFU )
         error = Reset_SBit_Size( size );
 
       if ( !error && !( face->face_flags & FT_FACE_FLAG_SCALABLE ) )
--- a/src/truetype/ttobjs.h
+++ b/src/truetype/ttobjs.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Objects manager (specification).                                     */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -108,13 +108,13 @@
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 
   FT_LOCAL( void )
-  TT_Done_GlyphZone( TT_GlyphZone   zone );
+  TT_Done_GlyphZone( TT_GlyphZone  zone );
 
   FT_LOCAL( FT_Error )
-  TT_New_GlyphZone( FT_Memory      memory,
-                    FT_UShort      maxPoints,
-                    FT_Short       maxContours,
-                    TT_GlyphZone   zone );
+  TT_New_GlyphZone( FT_Memory     memory,
+                    FT_UShort     maxPoints,
+                    FT_Short      maxContours,
+                    TT_GlyphZone  zone );
 
 #endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
 
@@ -192,27 +192,27 @@
   /*                                                                       */
   typedef struct  TT_SubglyphRec_
   {
-    FT_Long       index;        /* subglyph index; initialized with -1 */
-    FT_Bool       is_scaled;    /* is the subglyph scaled?             */
-    FT_Bool       is_hinted;    /* should it be hinted?                */
-    FT_Bool       preserve_pps; /* preserve phantom points?            */
+    FT_Long          index;        /* subglyph index; initialized with -1 */
+    FT_Bool          is_scaled;    /* is the subglyph scaled?             */
+    FT_Bool          is_hinted;    /* should it be hinted?                */
+    FT_Bool          preserve_pps; /* preserve phantom points?            */
 
-    FT_Long       file_offset;
+    FT_Long          file_offset;
 
-    FT_BBox       bbox;
-    FT_Pos        left_bearing;
-    FT_Pos        advance;
+    FT_BBox          bbox;
+    FT_Pos           left_bearing;
+    FT_Pos           advance;
 
     TT_GlyphZoneRec  zone;
 
-    FT_Long       arg1;         /* first argument                      */
-    FT_Long       arg2;         /* second argument                     */
+    FT_Long          arg1;         /* first argument                      */
+    FT_Long          arg2;         /* second argument                     */
 
-    FT_UShort     element_flag; /* current load element flag           */
+    FT_UShort        element_flag; /* current load element flag           */
 
-    TT_Transform  transform;    /* transformation matrix               */
+    TT_Transform     transform;    /* transformation matrix               */
 
-    FT_Vector     pp1, pp2;     /* phantom points                      */
+    FT_Vector        pp1, pp2;     /* phantom points                      */
 
   } TT_SubGlyphRec, *TT_SubGlyph_Stack;
 
@@ -343,7 +343,7 @@
     FT_UShort          storage_size; /* The storage area is now part of */
     FT_Long*           storage;      /* the instance                    */
 
-    TT_GlyphZoneRec       twilight;     /* The instance's twilight zone    */
+    TT_GlyphZoneRec    twilight;     /* The instance's twilight zone    */
 
     /* debugging variables */
 
@@ -365,11 +365,11 @@
   /*                                                                       */
   typedef struct  TT_DriverRec_
   {
-    FT_DriverRec    root;
-    TT_ExecContext  context;  /* execution context        */
-    TT_GlyphZoneRec    zone;     /* glyph loader points zone */
+    FT_DriverRec     root;
+    TT_ExecContext   context;  /* execution context        */
+    TT_GlyphZoneRec  zone;     /* glyph loader points zone */
 
-    void*           extension_component;
+    void*            extension_component;
 
   } TT_DriverRec;
 
--- a/src/truetype/ttpload.c
+++ b/src/truetype/ttpload.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType glyph data/program tables loader (body).                    */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/truetype/ttpload.h
+++ b/src/truetype/ttpload.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType glyph data/program tables loader (specification).           */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */