shithub: freetype+ttf2subf

Download patch

ref: 9ca2af38384a3fc3a26cc7eae96c59ad08aca2b2
parent: 9c05268eae13a1b4de23e889dde5bd002a584a48
author: Werner Lemberg <[email protected]>
date: Tue Jun 20 23:03:28 EDT 2000

A new formatting orgy.

Added some `#if 0' to completely disable the CID AFM stuff.  In case this is
not correct please fix.

git/fs: mount .git/fs: mount/attach disallowed
--- a/src/base/ftinit.c
+++ b/src/base/ftinit.c
@@ -115,7 +115,7 @@
   /*    library :: A handle to a new library object.                       */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    FreeTyoe error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   FT_EXPORT_FUNC( FT_Error )  FT_Init_FreeType( FT_Library*  library )
   {
--- a/src/cff/t2driver.c
+++ b/src/cff/t2driver.c
@@ -78,7 +78,7 @@
   /*                   formats.                                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only horizontal layouts (left-to-right & right-to-left) are        */
@@ -181,7 +181,7 @@
   /*    size        :: A handle to the target size object.                 */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Char_Sizes( T2_Size     size,
@@ -239,7 +239,7 @@
   /*    size         :: A handle to the target size object.                */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Pixel_Sizes( T2_Size  size,
@@ -277,7 +277,7 @@
   /*                   whether to hint the outline, etc).                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Load_Glyph( T2_GlyphSlot  slot,
--- a/src/cff/t2gload.c
+++ b/src/cff/t2gload.c
@@ -550,7 +550,7 @@
   /*    charstring_len   :: The length in bytes of the charstring stream.  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  T2_Parse_CharStrings( T2_Decoder*  decoder,
--- a/src/cff/t2objs.c
+++ b/src/cff/t2objs.c
@@ -68,7 +68,7 @@
   /*    face       :: The newly built face object.                         */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeTrue error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  T2_Init_Face( FT_Stream      stream,
@@ -205,7 +205,7 @@
   /*    size :: A handle to the size object.                               */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  T2_Init_Size( T2_Size  size )
@@ -247,7 +247,7 @@
   /*    size :: A handle to the target size object.                        */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  T2_Reset_Size( T2_Size  size )
@@ -288,7 +288,7 @@
   /*    slot :: The glyph record to build.                                 */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  T2_Init_GlyphSlot( T2_GlyphSlot  slot )
@@ -342,7 +342,7 @@
   /*    driver :: A handle to the target driver object.                    */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  T2_Init_Driver( T2_Driver  driver )
--- a/src/cid/cidafm.c
+++ b/src/cid/cidafm.c
@@ -36,9 +36,11 @@
 #define FT_COMPONENT  trace_cidafm
 
 
+#if 0
+
   LOCAL_FUNC
-  void  CID_Done_AFM( FT_Memory memory,
-                      T1_AFM*   afm )
+  void  CID_Done_AFM( FT_Memory  memory,
+                      T1_AFM*    afm )
   {
     FREE( afm->kern_pairs );
     afm->num_pairs = 0;
@@ -178,7 +180,7 @@
     limit = (FT_Byte*)stream->limit;
     p     = start;
 
-    /* we are now going to count the occurences of "KP" or "KPX" in */
+    /* we are now going to count the occurences of `KP' or `KPX' in */
     /* the AFM file.                                                */
     count = 0;
     for ( p = start; p < limit - 3; p++ )
@@ -278,6 +280,8 @@
     kerning->x = 0;
     kerning->y = 0;
   }
+
+#endif /* 0 */
 
 
 /* END */
--- a/src/cid/cidafm.h
+++ b/src/cid/cidafm.h
@@ -21,6 +21,7 @@
 
 #include <cidobjs.h>
 
+
   typedef struct  T1_Kern_Pair_
   {
     FT_UInt    glyph1;
@@ -39,21 +40,22 @@
 
 #if 0
 
-LOCAL_DEF
-FT_Error  CID_Read_AFM( FT_Face   face,
-                        FT_Stream stream );
+  LOCAL_DEF
+  FT_Error  CID_Read_AFM( FT_Face    t1_face,
+                          FT_Stream  stream );
 
-LOCAL_DEF
-void  CID_Done_AFM( FT_Memory  memory,
-                    T1_AFM*    afm );
+  LOCAL_DEF
+  void  CID_Done_AFM( FT_Memory  memory,
+                      T1_AFM*    afm );
 
-LOCAL_DEF
-void  CID_Get_Kerning( T1_AFM*     afm,
-                       FT_UInt     glyph1,
-                       FT_UInt     glyph2,
-                       FT_Vector*  kerning );
+  LOCAL_DEF
+  void  CID_Get_Kerning( T1_AFM*     afm,
+                         FT_UInt     glyph1,
+                         FT_UInt     glyph2,
+                         FT_Vector*  kerning );
 
-#endif
+#endif /* 0 */
+
 
 #endif /* CIDAFM_H */
 
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -473,7 +473,7 @@
   /*    achar    :: The accent character's StandardEncoding charcode.      */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type 1 error code.  0 means success.                               */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  t1operator_seac( CID_Decoder*  decoder,
@@ -626,7 +626,7 @@
   /*    charstring_len   :: The length in bytes of the charstring stream.  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  CID_Parse_CharStrings( CID_Decoder*  decoder,
--- a/src/cid/cidobjs.c
+++ b/src/cid/cidobjs.c
@@ -72,7 +72,7 @@
   /*    size :: A handle to the size object.                               */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  CID_Init_Size( T1_Size  size )
@@ -96,7 +96,7 @@
   /*    size :: A handle to the target size object.                        */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  CID_Reset_Size( T1_Size  size )
@@ -201,7 +201,7 @@
   /*    face       :: The newly built face object.                         */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  CID_Init_Face( FT_Stream      stream,
@@ -458,7 +458,7 @@
   /*    slot :: The glyph record to build.                                 */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  CID_Init_GlyphSlot( T1_GlyphSlot  glyph )
@@ -486,7 +486,7 @@
   /*    driver :: A handle to the target driver object.                    */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  CID_Init_Driver( T1_Driver  driver )
--- a/src/cid/cidparse.c
+++ b/src/cid/cidparse.c
@@ -67,7 +67,7 @@
   /*              reallocations.                                           */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_New_Table( T1_Table*  table,
@@ -157,7 +157,7 @@
   /*    length :: The length in bytes of the source object.                */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.  An error is returned if       */
+  /*    FreeType error code.  0 means success.  An error is returned if    */
   /*    reallocation fails.                                                */
   /*                                                                       */
   LOCAL_FUNC
--- a/src/cid/cidriver.c
+++ b/src/cid/cidriver.c
@@ -75,7 +75,7 @@
   }
 
 
-#ifdef xxxT1_CONFIG_OPTION_NO_AFM
+#ifndef T1_CONFIG_OPTION_NO_AFM
 
 
   /*************************************************************************/
@@ -116,21 +116,29 @@
                          FT_UInt     right_glyph,
                          FT_Vector*  kerning )
   {
+#if 0
+
     T1_AFM*  afm;
 
+#endif
 
+
     kerning->x = 0;
     kerning->y = 0;
 
+#if 0
+
     afm = (T1_AFM*)face->afm_data;
     if ( afm )
       CID_Get_Kerning( afm, left_glyph, right_glyph, kerning );
 
+#endif /* 0 */
+
     return T1_Err_Ok;
   }
 
 
-#endif /* xxxT1_CONFIG_OPTION_NO_AFM */
+#endif /* !T1_CONFIG_OPTION_NO_AFM */
 
 
   /*************************************************************************/
@@ -157,7 +165,7 @@
   /*    size            :: A handle to the target size object.             */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Char_Sizes( T1_Size     size,
@@ -194,7 +202,7 @@
   /*    size         :: A handle to the target size object.                */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    Type1 error code.  0 means success.                                */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Pixel_Sizes( T1_Size  size,
@@ -329,7 +337,7 @@
     (FTDriver_initFace)     CID_Init_Face,
     (FTDriver_doneFace)     CID_Done_Face,
 
-#ifndef xxxxT1_CONFIG_OPTION_NO_AFM
+#ifdef T1_CONFIG_OPTION_NO_AFM
     (FTDriver_getKerning)   0,
 #else
     (FTDriver_getKerning)   Get_Kerning,
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -59,7 +59,7 @@
   /*    table  :: A pointer to a cmap object.                              */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The function assumes that the stream is already in use (i.e.,      */
@@ -281,7 +281,7 @@
   /*    cmap :: A handle to a cmap object.                                 */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_CharMap_Free( TT_Face        face,
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -96,7 +96,7 @@
   /*    length :: The length of the table if found, undefined otherwise.   */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Goto_Table( TT_Face    face,
@@ -141,7 +141,7 @@
   /*    sfnt       :: The SFNT header.                                     */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The stream cursor must be at the font file's origin.               */
@@ -275,7 +275,7 @@
   /*    sfnt   :: The SFNT directory header.                               */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The stream cursor must be at the font file's origin.               */
@@ -373,7 +373,7 @@
   /*    buffer :: The address of target buffer.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Any( TT_Face   face,
@@ -436,7 +436,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Header( TT_Face    face,
@@ -507,7 +507,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_MaxProfile( TT_Face    face,
@@ -597,7 +597,7 @@
   /*    vertical :: A boolean flag.  If set, load vertical metrics.        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  TT_Load_Metrics( TT_Face    face,
@@ -733,7 +733,7 @@
   /*    vertical :: A boolean flag.  If set, load vertical metrics.        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Metrics_Header( TT_Face    face,
@@ -829,7 +829,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Names( TT_Face    face,
@@ -1020,7 +1020,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*     TrueType error code.  0 means success.                            */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_CMap( TT_Face    face,
@@ -1129,7 +1129,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_OS2( TT_Face    face,
@@ -1263,7 +1263,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_PostScript( TT_Face    face,
@@ -1318,7 +1318,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_PCLT( TT_Face    face,
@@ -1389,7 +1389,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Gasp( TT_Face    face,
@@ -1461,7 +1461,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Kern( TT_Face    face,
@@ -1566,7 +1566,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Hdmx( TT_Face    face,
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -427,7 +427,7 @@
   /*              You must not modify the returned string!                 */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Get_PS_Name( TT_Face      face,
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -211,7 +211,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Load_SBit_Const_Metrics( TT_SBit_Range*  range,
@@ -243,7 +243,7 @@
   /*    load_offsets :: A flag whether to load the glyph offset table.     */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Load_SBit_Range_Codes( TT_SBit_Range*  range,
@@ -306,7 +306,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Load_SBit_Range( TT_SBit_Range*  range,
@@ -381,7 +381,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_SBit_Strikes( TT_Face    face,
@@ -631,7 +631,7 @@
   /*    aglyph_offset :: The offset of the glyph data in `EBDT' table.     */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means the glyph index was found.           */
+  /*    FreeType error code.  0 means the glyph index was found.           */
   /*                                                                       */
   static
   FT_Error  Find_SBit_Range( FT_UInt          glyph_index,
@@ -735,7 +735,7 @@
   /*    aglyph_offset :: The offset of the glyph data in `EBDT' table.     */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.  Returns                    */
+  /*    FreeType error code.  0 means success.  Returns                    */
   /*    TT_Err_Invalid_Argument if no sbit exists for the requested glyph. */
   /*                                                                       */
   static
@@ -800,7 +800,7 @@
   /*    big_metrics :: A big SBit metrics structure for the glyph.         */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The stream cursor must be positioned at the glyph's offset within  */
@@ -1349,7 +1349,7 @@
   /*    metrics     :: A big sbit metrics structure for the glyph image.   */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.  Returns an error if no     */
+  /*    FreeType error code.  0 means success.  Returns an error if no     */
   /*    glyph sbit exists for the index.                                   */
   /*                                                                       */
   /*  <Note>                                                               */
--- a/src/truetype/ttdriver.c
+++ b/src/truetype/ttdriver.c
@@ -75,7 +75,7 @@
   /*                   formats.                                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only horizontal layouts (left-to-right & right-to-left) are        */
@@ -178,7 +178,7 @@
   /*    size            :: A handle to the target size object.             */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Char_Sizes( TT_Size     size,
@@ -238,7 +238,7 @@
   /*    size         :: A handle to the target size object.                */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Set_Pixel_Sizes( TT_Size  size,
@@ -280,7 +280,7 @@
   /*                   whether to hint the outline, etc).                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Load_Glyph( TT_GlyphSlot  slot,
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1293,7 +1293,7 @@
   /*                   whether to hint the outline, etc).                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Glyph( TT_Size       size,
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -257,7 +257,7 @@
   /*    exec  :: The target execution context.                             */
   /*                                                                       */
   /* <Return>                                                              */
-  /*   TrueType error code.  0 means success.                              */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Goto_CodeRange( TT_ExecContext  exec,
@@ -307,7 +307,7 @@
   /*    exec   :: The target execution context.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*   TrueType error code.  0 means success.                              */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Set_CodeRange( TT_ExecContext  exec,
@@ -339,7 +339,7 @@
   /*    exec  :: The target execution context.                             */
   /*                                                                       */
   /* <Return>                                                              */
-  /*   TrueType error code.  0 means success.                              */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Does not set the Error variable.                                   */
@@ -378,7 +378,7 @@
   /*    memory :: A handle to the parent memory object.                    */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the glyph loader and debugger should call this function.      */
@@ -433,7 +433,7 @@
   /*    exec   :: A handle to the target execution context.                */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Init_Context( TT_ExecContext  exec,
@@ -504,7 +504,7 @@
   /*    buff       :: The address of the buffer base pointer.              */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static
   FT_Error  Update_Max( FT_Memory  memory,
@@ -546,7 +546,7 @@
   /*    exec :: A handle to the target execution context.                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the glyph loader and debugger should call this function.      */
@@ -649,7 +649,7 @@
   /*    size :: A handle to the target size object.                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the glyph loader and debugger should call this function.      */
@@ -696,7 +696,7 @@
   /*    exec  :: A handle to the target execution context.                 */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueTyoe error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the glyph loader and debugger should call this function.      */
@@ -834,7 +834,7 @@
   /*    exec :: A handle to the target execution context.                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the glyph loader and debugger should call this function.      */
@@ -6781,7 +6781,7 @@
   /*    exec :: A handle to the target execution context.                  */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Only the object manager and debugger should call this function.    */
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -201,7 +201,7 @@
   /*    face       :: The newly built face object.                         */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  TT_Init_Face( FT_Stream      stream,
@@ -320,7 +320,7 @@
   /*    size :: A handle to the size object.                               */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_DEF
   FT_Error  TT_Init_Size( TT_Size  size )
@@ -709,7 +709,7 @@
   /*    slot :: The glyph record to build.                                 */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Init_GlyphSlot( TT_GlyphSlot  slot )
@@ -767,7 +767,7 @@
   /*    driver :: A handle to the target driver object.                    */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Init_Driver( TT_Driver  driver )
--- a/src/truetype/ttpload.c
+++ b/src/truetype/ttpload.c
@@ -50,7 +50,7 @@
   /*    stream :: The input stream.                                        */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Locations( TT_Face    face,
@@ -143,7 +143,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_CVT( TT_Face    face,
@@ -210,7 +210,7 @@
   /*    stream :: A handle to the input stream.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    TrueType error code.  0 means success.                             */
+  /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   LOCAL_FUNC
   FT_Error  TT_Load_Programs( TT_Face    face,
--- a/src/type1/t1afm.c
+++ b/src/type1/t1afm.c
@@ -1,51 +1,86 @@
-/***************************************************************************
- *
- * t1afm.c  - support for reading Type 1 AFM files
- *
- *
- ***************************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1afm.c                                                                */
+/*                                                                         */
+/*    AFM support for Type 1 fonts (body).                                 */
+/*                                                                         */
+/*  Copyright 1996-2000 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 <t1afm.h>
 #include <freetype/internal/ftstream.h>
 #include <freetype/internal/t1types.h>
-#include <stdlib.h>  /* for qsort */
-#include <t1afm.h>
 
+#include <stdlib.h>  /* for qsort()   */
+#include <string.h>  /* for strcmp()  */
+#include <ctype.h>   /* for isalnum() */
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */
+  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */
+  /* messages during execution.                                            */
+  /*                                                                       */
+#undef  FT_COMPONENT
+#define FT_COMPONENT  trace_t1afm
+
+
   LOCAL_FUNC
-  void  T1_Done_AFM( FT_Memory memory, T1_AFM*  afm )
+  void  T1_Done_AFM( FT_Memory  memory,
+                     T1_AFM*    afm )
   {
     FREE( afm->kern_pairs );
     afm->num_pairs = 0;
   }
 
+
 #undef  IS_KERN_PAIR
-#define IS_KERN_PAIR(p)  ( p[0] == 'K'  &&  p[1] == 'P' )
+#define IS_KERN_PAIR( p )  ( p[0] == 'K' && p[1] == 'P' )
 
-#define IS_ALPHANUM(c)  ( (c >= 'A' && c <= 'Z') || \
-                          (c >= 'a' && c <= 'z') || \
-                          (c >= '0' && c <= '9') || \
-                          (c == '_' && c == '.') )
+#define IS_ALPHANUM( c )  ( isalnum( c ) || \
+                            c == '_'     || \
+                            c == '.'     )
 
- /* read a glyph name and return the equivalent glyph index */
+
+  /* read a glyph name and return the equivalent glyph index */
   static
-  FT_UInt  afm_atoindex( FT_Byte*  *start, FT_Byte*  limit, T1_Font*  type1 )
+  FT_UInt  afm_atoindex( FT_Byte**  start,
+                         FT_Byte*   limit,
+                         T1_Font*   type1 )
   {
-    FT_Byte* p = *start;
-    FT_Int   len;
-    FT_UInt  result = 0;
-    char     temp[64];
+    FT_Byte*  p = *start;
+    FT_Int    len;
+    FT_UInt   result = 0;
+    char      temp[64];
 
+
     /* skip whitespace */
-    while ( (*p == ' ' || *p == '\t' || *p == ':' || *p == ';') && p < limit )
+    while ( ( *p == ' ' || *p == '\t' || *p == ':' || *p == ';' ) &&
+            p < limit                                             )
       p++;
     *start = p;
 
     /* now, read glyph name */
-    while ( IS_ALPHANUM(*p) && p < limit ) p++;
+    while ( IS_ALPHANUM( *p ) && p < limit )
+      p++;
+
     len = p - *start;
-    if (len > 0 && len < 64)
+
+    if ( len > 0 && len < 64 )
     {
       FT_Int  n;
 
+
       /* copy glyph name to intermediate array */
       MEM_Copy( temp, *start, len );
       temp[len] = 0;
@@ -55,7 +90,8 @@
       {
         char*  gname = (char*)type1->glyph_names[n];
 
-        if ( gname && gname[0] == temp[0] && strcmp(gname,temp) == 0 )
+
+        if ( gname && gname[0] == temp[0] && strcmp( gname, temp ) == 0 )
         {
           result = n;
           break;
@@ -67,16 +103,18 @@
   }
 
 
- /* read an integer */
+  /* read an integer */
   static
-  int  afm_atoi( FT_Byte** start, FT_Byte*  limit )
+  int  afm_atoi( FT_Byte**  start,
+                 FT_Byte*   limit )
   {
     FT_Byte*  p    = *start;
     int       sum  = 0;
     int       sign = 1;
 
+
     /* skip everything that is not a number */
-    while ( p < limit && (*p < '0' || *p > '9') )
+    while ( p < limit && !isdigit( *p ) )
     {
       sign = 1;
       if (*p == '-')
@@ -85,38 +123,41 @@
       p++;
     }
 
-    while ( p < limit && (*p >= '0' && *p < '9') )
+    while ( p < limit && isdigit( *p ) )
     {
-      sum = sum*10 + (*p - '0');
+      sum = sum * 10 + ( *p - '0' );
       p++;
     }
     *start = p;
-    return sum*sign;
+
+    return sum * sign;
   }
 
 
 #undef  KERN_INDEX
-#define KERN_INDEX(g1,g2)   (((FT_ULong)g1 << 16) | g2)
+#define KERN_INDEX( g1, g2 ) ( ( (FT_ULong)g1 << 16 ) | g2 )
 
- /* compare two kerning pairs */
+
+  /* compare two kerning pairs */
   static
-  int  compare_kern_pairs( const void* a, const void* b )
+  int  compare_kern_pairs( const void*  a,
+                           const void*  b )
   {
     T1_Kern_Pair*  pair1 = (T1_Kern_Pair*)a;
     T1_Kern_Pair*  pair2 = (T1_Kern_Pair*)b;
 
-    FT_ULong  index1 = KERN_INDEX(pair1->glyph1,pair1->glyph2);
-    FT_ULong  index2 = KERN_INDEX(pair2->glyph1,pair2->glyph2);
+    FT_ULong  index1 = KERN_INDEX( pair1->glyph1, pair1->glyph2 );
+    FT_ULong  index2 = KERN_INDEX( pair2->glyph1, pair2->glyph2 );
 
-    return ( index1 < index2 ? -1 :
-           ( index1 > index2 ?  1 : 0 ));
+
+    return ( index1 - index2 );
   }
 
 
- /* parse an AFM file - for now, only read the kerning pairs */
+  /* parse an AFM file - for now, only read the kerning pairs */
   LOCAL_FUNC
-  FT_Error  T1_Read_AFM( FT_Face   t1_face,
-                         FT_Stream stream )
+  FT_Error  T1_Read_AFM( FT_Face    t1_face,
+                         FT_Stream  stream )
   {
     FT_Error       error;
     FT_Memory      memory = stream->memory;
@@ -128,7 +169,8 @@
     T1_Font*       type1 = &((T1_Face)t1_face)->type1;
     T1_AFM*        afm   = 0;
 
-    if ( ACCESS_Frame(stream->size) )
+
+    if ( ACCESS_Frame( stream->size ) )
       return error;
 
     start = (FT_Byte*)stream->cursor;
@@ -135,21 +177,21 @@
     limit = (FT_Byte*)stream->limit;
     p     = start;
 
-    /* we are now going to count the occurences of "KP" or "KPX" in */
-    /* the AFM file..                                               */
+    /* we are now going to count the occurences of `KP' or `KPX' in */
+    /* the AFM file.                                                */
     count = 0;
-    for ( p = start; p < limit-3; p++ )
+    for ( p = start; p < limit - 3; p++ )
     {
-      if ( IS_KERN_PAIR(p) )
+      if ( IS_KERN_PAIR( p ) )
         count++;
     }
 
-   /* Actually, kerning pairs are simply optional !! */
-    if (count == 0)
+    /* Actually, kerning pairs are simply optional! */
+    if ( count == 0 )
       goto Exit;
 
     /* allocate the pairs */
-    if ( ALLOC(       afm, sizeof(*afm ) )                   ||
+    if ( ALLOC( afm, sizeof ( *afm ) )                       ||
          ALLOC_ARRAY( afm->kern_pairs, count, T1_Kern_Pair ) )
       goto Exit;
 
@@ -160,15 +202,17 @@
     /* save in face object */
     ((T1_Face)t1_face)->afm_data = afm;
 
-    for ( p = start; p < limit-3; p++ )
+    for ( p = start; p < limit - 3; p++ )
     {
-      if ( IS_KERN_PAIR(p) )
+      if ( IS_KERN_PAIR( p ) )
       {
         FT_Byte*  q;
 
+
         /* skip keyword (KP or KPX) */
-        q = p+2;
-        if (*q == 'X') q++;
+        q = p + 2;
+        if ( *q == 'X' )
+          q++;
 
         pair->glyph1    = afm_atoindex( &q, limit, type1 );
         pair->glyph2    = afm_atoindex( &q, limit, type1 );
@@ -183,18 +227,20 @@
     }
 
     /* now, sort the kern pairs according to their glyph indices */
-    qsort( afm->kern_pairs, count, sizeof(T1_Kern_Pair), compare_kern_pairs );
+    qsort( afm->kern_pairs, count, sizeof ( T1_Kern_Pair ),
+           compare_kern_pairs );
 
   Exit:
-    if (error)
+    if ( error )
       FREE( afm );
 
     FORGET_Frame();
+
     return error;
   }
 
 
- /* 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,
@@ -202,18 +248,20 @@
                         FT_Vector*  kerning )
   {
     T1_Kern_Pair  *min, *mid, *max;
-    FT_ULong       index = KERN_INDEX(glyph1,glyph2);
+    FT_ULong       index = KERN_INDEX( glyph1, glyph2 );
 
+ 
     /* simple binary search */
     min = afm->kern_pairs;
-    max = min + afm->num_pairs-1;
+    max = min + afm->num_pairs - 1;
 
-    while (min <= max)
+    while ( min <= max )
     {
       FT_ULong  midi;
 
-      mid = min + (max-min)/2;
-      midi = KERN_INDEX(mid->glyph1,mid->glyph2);
+
+      mid = min + ( max - min ) / 2;
+      midi = KERN_INDEX( mid->glyph1, mid->glyph2 );
       if ( midi == index )
       {
         *kerning = mid->kerning;
@@ -220,10 +268,15 @@
         return;
       }
 
-      if ( midi < index ) min = mid+1;
-                     else max = mid-1;
+      if ( midi < index )
+        min = mid + 1;
+      else
+        max = mid - 1;
     }
+
     kerning->x = 0;
     kerning->y = 0;
   }
 
+
+/* END */
--- a/src/type1/t1afm.h
+++ b/src/type1/t1afm.h
@@ -1,47 +1,59 @@
-/***************************************************************************
- *
- * t1afm.h  - support for reading Type 1 AFM files
- *
- *
- ***************************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1afm.h                                                                */
+/*                                                                         */
+/*    AFM support for Type 1 fonts (specification).                        */
+/*                                                                         */
+/*  Copyright 1996-2000 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.                                        */
+/*                                                                         */
+/***************************************************************************/
 
+
 #ifndef T1AFM_H
 #define T1AFM_H
 
 #include <freetype/internal/ftobjs.h>
 
-/* In this version, we only read the kerning table from the */
-/* AFM file. We may add support for ligatures a bit later.. */
 
-typedef struct T1_Kern_Pair_
-{
-  FT_UInt   glyph1;
-  FT_UInt   glyph2;
-  FT_Vector kerning;
+  typedef struct  T1_Kern_Pair_
+  {
+    FT_UInt    glyph1;
+    FT_UInt    glyph2;
+    FT_Vector  kerning;
 
-} T1_Kern_Pair;
+  } T1_Kern_Pair;
 
+  typedef struct  T1_AFM_
+  {
+    FT_Int         num_pairs;
+    T1_Kern_Pair*  kern_pairs;
 
-typedef struct T1_AFM_
-{
-  FT_Int        num_pairs;
-  T1_Kern_Pair* kern_pairs;
+  } T1_AFM;
 
-} T1_AFM;
 
+  LOCAL_DEF
+  FT_Error  T1_Read_AFM( FT_Face    face,
+                         FT_Stream  stream );
 
-LOCAL_DEF
-FT_Error  T1_Read_AFM( FT_Face   face,
-                       FT_Stream stream );
+  LOCAL_DEF
+  void  T1_Done_AFM( FT_Memory  memory,
+                     T1_AFM*    afm );
 
-LOCAL_DEF
-void      T1_Done_AFM( FT_Memory  memory,
-                       T1_AFM*    afm );
+  LOCAL_DEF
+  void  T1_Get_Kerning( T1_AFM*     afm,
+                        FT_UInt     glyph1,
+                        FT_UInt     glyph2,
+                        FT_Vector*  kerning );
 
-LOCAL_DEF
-void  T1_Get_Kerning( T1_AFM*     afm,
-                      FT_UInt     glyph1,
-                      FT_UInt     glyph2,
-                      FT_Vector*  kerning );
 
 #endif /* T1AFM_H */
+
+
+/* END */
--- a/src/type1/t1driver.c
+++ b/src/type1/t1driver.c
@@ -1,20 +1,21 @@
-/*******************************************************************
- *
- *  t1driver.c
- *
- *    High-level Type1 driver interface for FreeType 2.0
- *
- *  Copyright 1996-1998 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.
- *
- ******************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1driver.c                                                             */
+/*                                                                         */
+/*    Type 1 driver interface (body).                                      */
+/*                                                                         */
+/*  Copyright 1996-2000 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 <t1driver.h>
 #include <t1gload.h>
 #include <t1afm.h>
@@ -23,10 +24,20 @@
 #include <freetype/internal/ftstream.h>
 #include <freetype/internal/psnames.h>
 
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */
+  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */
+  /* messages during execution.                                            */
+  /*                                                                       */
 #undef  FT_COMPONENT
 #define FT_COMPONENT  trace_t1driver
 
+
 #ifndef T1_CONFIG_OPTION_NO_AFM
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -58,7 +69,7 @@
   FTDriver_Interface  Get_Interface( FT_Driver         driver,
                                      const FT_String*  interface )
   {
-    UNUSED(driver);
+    UNUSED( driver );
 
     if ( strcmp( (const char*)interface, "attach_file" ) == 0 )
       return (FTDriver_Interface)T1_Read_AFM;
@@ -108,44 +119,58 @@
   {
     T1_AFM*  afm;
 
+
     kerning->x = 0;
     kerning->y = 0;
 
     afm = (T1_AFM*)face->afm_data;
-    if (afm)
+    if ( afm )
       T1_Get_Kerning( afm, left_glyph, right_glyph, kerning );
 
     return T1_Err_Ok;
   }
-#endif
 
-  /******************************************************************/
-  /*                                                                */
-  /* <Function> Set_Char_Sizes                                      */
-  /*                                                                */
-  /* <Description>                                                  */
-  /*    A driver method used to reset a size's character sizes      */
-  /*    (horizontal and vertical) expressed in fractional points.   */
-  /*                                                                */
-  /* <Input>                                                        */
-  /*    size        :: handle to target size object                 */
-  /*    char_width  :: character width expressed in 26.6 points     */
-  /*    char_height :: character height expressed in 26.6 points    */
-  /*                                                                */
-  /* <Return>                                                       */
-  /*    FreeType error code. 0 means success                        */
-  /*                                                                */
+
+#endif /* !T1_CONFIG_OPTION_NO_AFM */
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    Set_Char_Sizes                                                     */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A driver method used to reset a size's character sizes (horizontal */
+  /*    and vertical) expressed in fractional points.                      */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    char_width      :: The character width expressed in 26.6           */
+  /*                       fractional points.                              */
+  /*                                                                       */
+  /*    char_height     :: The character height expressed in 26.6          */
+  /*                       fractional points.                              */
+  /*                                                                       */
+  /*    horz_resolution :: The horizontal resolution of the output device. */
+  /*                                                                       */
+  /*    vert_resolution :: The vertical resolution of the output device.   */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size            :: A handle to the target size object.             */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   static
-  FT_Error  Set_Char_Sizes( T1_Size      size,
-                            FT_F26Dot6   char_width,
-                            FT_F26Dot6   char_height,
-                            FT_UInt      horz_resolution,
-                            FT_UInt      vert_resolution )
+  FT_Error  Set_Char_Sizes( T1_Size     size,
+                            FT_F26Dot6  char_width,
+                            FT_F26Dot6  char_height,
+                            FT_UInt     horz_resolution,
+                            FT_UInt     vert_resolution )
   {
-    UNUSED(char_width);
-    UNUSED(char_height);
-    UNUSED(horz_resolution);
-    UNUSED(vert_resolution);
+    UNUSED( char_width );
+    UNUSED( char_height );
+    UNUSED( horz_resolution );
+    UNUSED( vert_resolution );
 
     size->valid = FALSE;
     return T1_Reset_Size( size );
@@ -152,43 +177,39 @@
   }
 
 
-  /******************************************************************/
-  /*                                                                */
-  /* <Function> Set_Pixel_Sizes                                     */
-  /*                                                                */
-  /* <Description>                                                  */
-  /*    A driver method used to reset a size's character sizes      */
-  /*    (horizontal and vertical) expressed in integer pixels.      */
-  /*                                                                */
-  /* <Input>                                                        */
-  /*    size         :: handle to target size object                */
-  /*                                                                */
-  /*    pixel_width  :: character width expressed in 26.6 points    */
-  /*                                                                */
-  /*    pixel_height :: character height expressed in 26.6 points   */
-  /*                                                                */
-  /*    char_size    :: the corresponding character size in points  */
-  /*                    This value is only sent to the TrueType     */
-  /*                    bytecode interpreter, even though 99% of    */
-  /*                    glyph programs will simply ignore it. A     */
-  /*                    safe value there is the maximum of the      */
-  /*                    pixel width and height (multiplied by       */
-  /*                    64 to make it a 26.6 fixed float !)         */
-  /* <Return>                                                       */
-  /*    FreeType error code. 0 means success                        */
-  /*                                                                */
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    Set_Pixel_Sizes                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A driver method used to reset a size's character sizes (horizontal */
+  /*    and vertical) expressed in integer pixels.                         */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    pixel_width  :: The character width expressed in integer pixels.   */
+  /*                                                                       */
+  /*    pixel_height :: The character height expressed in integer pixels.  */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size         :: A handle to the target size object.                */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   static
-  FT_Error  Set_Pixel_Sizes( T1_Size     size,
-                             FT_Int      pixel_width,
-                             FT_Int      pixel_height )
+  FT_Error  Set_Pixel_Sizes( T1_Size  size,
+                             FT_Int   pixel_width,
+                             FT_Int   pixel_height )
   {
-    UNUSED(pixel_width);
-    UNUSED(pixel_height);
+    UNUSED( pixel_width );
+    UNUSED( pixel_height );
 
     size->valid = FALSE;
-    return T1_Reset_Size(size);
+    return T1_Reset_Size( size );
   }
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -212,154 +233,82 @@
     FT_UInt             result = 0;
     PSNames_Interface*  psnames;
 
+
     face = (T1_Face)charmap->face;
     psnames = (PSNames_Interface*)face->psnames;
-    if (psnames)
-      switch (charmap->encoding)
+    if ( psnames )
+      switch ( charmap->encoding )
       {
-       /********************************************************************/
-       /*                                                                  */
-       /* Unicode encoding support                                         */
-       /*                                                                  */
-        case ft_encoding_unicode:
-          {
-            /* use the "psnames" module to synthetize the Unicode charmap */
-            result = psnames->lookup_unicode( &face->unicode_map,
-                                              (FT_ULong)charcode );
+        /*******************************************************************/
+        /*                                                                 */
+        /* Unicode encoding support                                        */
+        /*                                                                 */
+      case ft_encoding_unicode:
+        /* use the `PSNames' module to synthetize the Unicode charmap */
+        result = psnames->lookup_unicode( &face->unicode_map,
+                                          (FT_ULong)charcode );
 
-            /* the function returns 0xFFFF when the Unicode charcode has */
-            /* no corresponding glyph..                                  */
-            if (result == 0xFFFF)
-              result = 0;
-            goto Exit;
-          }
+        /* the function returns 0xFFFF if the Unicode charcode has */
+        /* no corresponding glyph.                                 */
+        if ( result == 0xFFFF )
+          result = 0;
+        goto Exit;
 
-       /********************************************************************/
-       /*                                                                  */
-       /* Custom Type 1 encoding                                           */
-       /*                                                                  */
-        case ft_encoding_adobe_custom:
-          {
-            T1_Encoding*  encoding = &face->type1.encoding;
-            if (charcode >= encoding->code_first &&
-                charcode <= encoding->code_last)
-            {
-              result = encoding->char_index[charcode];
-            }
-            goto Exit;
-          }
+        /*******************************************************************/
+        /*                                                                 */
+        /* Custom Type 1 encoding                                          */
+        /*                                                                 */
+      case ft_encoding_adobe_custom:
+        {
+          T1_Encoding*  encoding = &face->type1.encoding;
 
-       /********************************************************************/
-       /*                                                                  */
-       /* Adobe Standard & Expert encoding support                         */
-       /*                                                                  */
-       default:
-         if (charcode < 256)
-         {
-           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];
+          if ( charcode >= encoding->code_first &&
+               charcode <= encoding->code_last  )
+            result = encoding->char_index[charcode];
+          goto Exit;
+        }
 
-           glyph_name = psnames->adobe_std_strings(code);
-           if (!glyph_name) break;
+        /*******************************************************************/
+        /*                                                                 */
+        /* Adobe Standard & Expert encoding support                        */
+        /*                                                                 */
+      default:
+        if ( charcode < 256 )
+        {
+          FT_UInt      code;
+          FT_Int       n;
+          const char*  glyph_name;
 
-           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 )
-             {
-               result = n;
-               break;
-             }
-           }
-         }
+          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   )
+            {
+              result = n;
+              break;
+            }
+          }
+        }
       }
+
   Exit:
     return result;
   }
 
 
-
-  /******************************************************************/
-  /*                                                                */
-  /* <Struct> FT_DriverInterface                                    */
-  /*                                                                */
-  /* <Description>                                                  */
-  /*    A structure used to hold a font driver's basic interface    */
-  /*    used by the high-level parts of FreeType (or other apps)    */
-  /*                                                                */
-  /*    Most scalable drivers provide a specialized interface to    */
-  /*    access format-specific features. It can be retrieved with   */
-  /*    a call to the "get_format_interface", and should be defined */
-  /*    in each font driver header (e.g. ttdriver.h, t1driver.h,..) */
-  /*                                                                */
-  /*    All fields are function pointers ..                         */
-  /*                                                                */
-  /*                                                                */
-  /* <Fields>                                                       */
-  /*                                                                */
-  /*    new_engine ::                                               */
-  /*        used to create and initialise a new driver object       */
-  /*                                                                */
-  /*    done_engine ::                                              */
-  /*        used to finalise and destroy a given driver object      */
-  /*                                                                */
-  /*    get_format_interface ::                                     */
-  /*        return a typeless pointer to the format-specific        */
-  /*        driver interface.                                       */
-  /*                                                                */
-  /*    new_face ::                                                 */
-  /*        create a new face object from a resource                */
-  /*                                                                */
-  /*    done_face ::                                                */
-  /*        discards a face object, as well as all child objects    */
-  /*        ( sizes, charmaps, glyph slots )                        */
-  /*                                                                */
-  /*    get_face_properties ::                                      */
-  /*        return generic face properties                          */
-  /*                                                                */
-  /*    get_kerning ::                                              */
-  /*        return the kerning vector corresponding to a pair       */
-  /*        of glyphs, expressed in unscaled font units.            */
-  /*                                                                */
-  /*    new_size ::                                                 */
-  /*        create and initialise a new scalable size object.       */
-  /*                                                                */
-  /*    new_fixed_size ::                                           */
-  /*        create and initialise a new fixed-size object.          */
-  /*                                                                */
-  /*    done_size ::                                                */
-  /*        finalize a given face size object.                      */
-  /*                                                                */
-  /*    set_size_resolutions ::                                     */
-  /*        reset a scalable size object's output resolutions       */
-  /*                                                                */
-  /*    set_size_char_sizes ::                                      */
-  /*        reset a scalable size object's character size           */
-  /*                                                                */
-  /*    set_pixel_sizes ::                                          */
-  /*        reset a face size object's pixel dimensions. Applies    */
-  /*        to both scalable and fixed faces.                       */
-  /*                                                                */
-  /*    new_glyph_slot ::                                           */
-  /*        create and initialise a new glyph slot                  */
-  /*                                                                */
-  /*    done_glyph_slot ::                                          */
-  /*        discard a given glyph slot                              */
-  /*                                                                */
-  /*    load_glyph ::                                               */
-  /*        load a given glyph into a given slot                    */
-  /*                                                                */
-  /*    get_glyph_metrics ::                                        */
-  /*        return a loaded glyph's metrics.                        */
-  /*                                                                */
-
   const  FT_DriverInterface  t1_driver_interface =
   {
     sizeof( FT_DriverRec ),
@@ -373,64 +322,66 @@
 
     0,   /* format interface */
 
-    (FTDriver_initDriver)           T1_Init_Driver,
-    (FTDriver_doneDriver)           T1_Done_Driver,
+    (FTDriver_initDriver)   T1_Init_Driver,
+    (FTDriver_doneDriver)   T1_Done_Driver,
 
 #ifdef T1_CONFIG_OPTION_NO_AFM
-    (FTDriver_getInterface)         0,
+    (FTDriver_getInterface) 0,
 #else
-    (FTDriver_getInterface)         Get_Interface,
+    (FTDriver_getInterface) Get_Interface,
 #endif
 
-    (FTDriver_initFace)             T1_Init_Face,
-    (FTDriver_doneFace)             T1_Done_Face,
+    (FTDriver_initFace)     T1_Init_Face,
+    (FTDriver_doneFace)     T1_Done_Face,
 
 #ifdef T1_CONFIG_OPTION_NO_AFM
-    (FTDriver_getKerning)           0,
+    (FTDriver_getKerning)   0,
 #else
-    (FTDriver_getKerning)           Get_Kerning,
+    (FTDriver_getKerning)   Get_Kerning,
 #endif
 
-    (FTDriver_initSize)             T1_Init_Size,
-    (FTDriver_doneSize)             T1_Done_Size,
-    (FTDriver_setCharSizes)         Set_Char_Sizes,
-    (FTDriver_setPixelSizes)        Set_Pixel_Sizes,
+    (FTDriver_initSize)     T1_Init_Size,
+    (FTDriver_doneSize)     T1_Done_Size,
+    (FTDriver_setCharSizes) Set_Char_Sizes,
+    (FTDriver_setPixelSizes)Set_Pixel_Sizes,
 
-    (FTDriver_initGlyphSlot)        T1_Init_GlyphSlot,
-    (FTDriver_doneGlyphSlot)        T1_Done_GlyphSlot,
-    (FTDriver_loadGlyph)            T1_Load_Glyph,
+    (FTDriver_initGlyphSlot)T1_Init_GlyphSlot,
+    (FTDriver_doneGlyphSlot)T1_Done_GlyphSlot,
+    (FTDriver_loadGlyph)    T1_Load_Glyph,
 
-    (FTDriver_getCharIndex)         Get_Char_Index,
+    (FTDriver_getCharIndex) Get_Char_Index,
   };
 
 
-  /******************************************************************/
-  /*                                                                */
-  /*  <Function> Get_FreeType_Driver_Interface                      */
-  /*                                                                */
-  /*  <Description>                                                 */
-  /*     This function is used when compiling the TrueType driver   */
-  /*     as a shared library (.DLL or .so). It will be used by the  */
-  /*     high-level library of FreeType to retrieve the address of  */
-  /*     the driver's generic interface.                            */
-  /*                                                                */
-  /*     It shouldn't be implemented in a static build, as each     */
-  /*     driver must have the same function as an exported entry    */
-  /*     point.                                                     */
-  /*                                                                */
-  /*  <Return>                                                      */
-  /*     address of TrueType's driver generic interface. The        */
-  /*     forma-specific interface can then be retrieved through     */
-  /*     the method interface->get_format_interface..               */
-  /*                                                                */
-
 #ifdef FT_CONFIG_OPTION_DYNAMIC_DRIVERS
 
-  EXPORT_FUNC(FT_DriverInterface*)  getDriverInterface( void )
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    getDriverInterface                                                 */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    This function is used when compiling the CID driver as a shared    */
+  /*    library (`.DLL' or `.so').  It will be used by the high-level      */
+  /*    library of FreeType to retrieve the address of the driver's        */
+  /*    generic interface.                                                 */
+  /*                                                                       */
+  /*    It shouldn't be implemented in a static build, as each driver must */
+  /*    have the same function as an exported entry point.                 */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    The address of the CID's driver generic interface.  The            */
+  /*    format-specific interface can then be retrieved through the method */
+  /*    interface->get_format_interface.                                   */
+  /*                                                                       */
+  EXPORT_FUNC( FT_DriverInterface* )  getDriverInterface( void )
   {
     return &t1_driver_interface;
   }
 
+
 #endif /* FT_CONFIG_OPTION_DYNAMIC_DRIVERS */
 
 
+/* END */
--- a/src/type1/t1driver.h
+++ b/src/type1/t1driver.h
@@ -1,20 +1,21 @@
-/*******************************************************************
- *
- *  t1driver.h
- *
- *    High-level Type1 driver interface for FreeType 2.0
- *
- *  Copyright 1996-1998 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.
- *
- ******************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1driver.h                                                             */
+/*                                                                         */
+/*    High-level Type 1 driver interface (specification).                  */
+/*                                                                         */
+/*  Copyright 1996-2000 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.                                        */
+/*                                                                         */
+/***************************************************************************/
 
+
 #ifndef T1DRIVER_H
 #define T1DRIVER_H
 
@@ -21,7 +22,9 @@
 #include <t1objs.h>
 #include <freetype/internal/t1errors.h>
 
-  FT_EXPORT_VAR(const  FT_DriverInterface)  t1_driver_interface;
+  FT_EXPORT_VAR( const  FT_DriverInterface )  t1_driver_interface;
 
 #endif /* T1DRIVER_H */
 
+
+/* END */
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -1,20 +1,21 @@
-/*******************************************************************
- *
- *  t1gload.c                                                   1.0
- *
- *    Type1 Glyph Loader.
- *
- *  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.
- *
- ******************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1gload.c                                                              */
+/*                                                                         */
+/*    Type 1 Glyph Loader (body).                                          */
+/*                                                                         */
+/*  Copyright 1996-2000 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 <t1gload.h>
 #include <freetype/internal/ftdebug.h>
 #include <freetype/internal/ftstream.h>
@@ -23,37 +24,33 @@
 #include <t1hinter.h>
 #endif
 
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********           GENERIC CHARSTRINGS PARSING             *********/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
 
-/*********************************************************************
- *
- * <Function>
- *    T1_Init_Builder
- *
- * <Description>
- *    Initialise a given glyph builder.
- *
- * <Input>
- *    builder :: glyph builder to initialise
- *    face    :: current face object
- *    size    :: current size object
- *    glyph   :: current glyph object
- *    funcs   :: glyph builder functions (or "methods").
- *
- *********************************************************************/
+  /*************************************************************************/
+  /*                                                                       */
+  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */
+  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */
+  /* messages during execution.                                            */
+  /*                                                                       */
+#undef  FT_COMPONENT
+#define FT_COMPONENT  trace_t1gload
 
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /**********                                                      *********/
+  /**********                                                      *********/
+  /**********             GENERIC CHARSTRING PARSING               *********/
+  /**********                                                      *********/
+  /**********                                                      *********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
   static
-  void  T1_Reset_Builder( T1_Builder*  builder, FT_Bool  reset_base )
+  void  T1_Reset_Builder( T1_Builder*  builder,
+                          FT_Bool      reset_base )
   {
     builder->pos_x = 0;
     builder->pos_y = 0;
@@ -66,7 +63,7 @@
     builder->pass       = 0;
     builder->hint_point = 0;
 
-    if (reset_base)
+    if ( reset_base )
     {
       builder->base.n_points   = 0;
       builder->base.n_contours = 0;
@@ -75,6 +72,7 @@
     {
       FT_Outline*  base = &builder->base;
       FT_Outline*  cur  = &builder->current;
+
       
       cur->n_points   = 0;
       cur->n_contours = 0;
@@ -85,12 +83,32 @@
   }
 
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Init_Builder                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Initializes a given glyph builder.                                 */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    builder :: A pointer to the glyph builder to initialize.           */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    face    :: The current face object.                                */
+  /*                                                                       */
+  /*    size    :: The current size object.                                */
+  /*                                                                       */
+  /*    glyph   :: The current glyph object.                               */
+  /*                                                                       */
+  /*    funcs   :: Glyph builder functions (or `methods').                 */
+  /*                                                                       */
   LOCAL_FUNC
-  void  T1_Init_Builder( T1_Builder*             builder,
-                         T1_Face                 face,
-                         T1_Size                 size,
-                         T1_GlyphSlot            glyph,
-                         const T1_Builder_Funcs* funcs )
+  void  T1_Init_Builder( T1_Builder*              builder,
+                         T1_Face                  face,
+                         T1_Size                  size,
+                         T1_GlyphSlot             glyph,
+                         const T1_Builder_Funcs*  funcs )
   {
     builder->funcs       = *funcs;
     builder->path_begun  = 0;
@@ -101,7 +119,7 @@
     builder->glyph  = glyph;
     builder->memory = face->root.memory;
 
-    if (glyph)
+    if ( glyph )
     {
       builder->base         = glyph->root.outline;
       builder->max_points   = glyph->max_points;
@@ -108,7 +126,7 @@
       builder->max_contours = glyph->max_contours;
     }
 
-    if (size)
+    if ( size )
     {
       builder->scale_x = size->root.metrics.x_scale;
       builder->scale_y = size->root.metrics.y_scale;
@@ -118,27 +136,26 @@
   }
 
 
-/*********************************************************************
- *
- * <Function>
- *    T1_Done_Builder
- *
- * <Description>
- *    Finalise a given glyph builder. Its content can still be
- *    used after the call, but the function saves important information
- *    within the corresponding glyph slot.
- *
- * <Input>
- *    builder :: glyph builder to initialise
- *
- *********************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Done_Builder                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Finalizes a given glyph builder.  Its contents can still be used   */
+  /*    after the call, but the function saves important information       */
+  /*    within the corresponding glyph slot.                               */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    builder :: A pointer to the glyph builder to finalize.             */
+  /*                                                                       */
   LOCAL_FUNC
-  void T1_Done_Builder( T1_Builder*  builder )
+  void  T1_Done_Builder( T1_Builder*  builder )
   {
     T1_GlyphSlot  glyph = builder->glyph;
 
-    if (glyph)
+
+    if ( glyph )
     {
       glyph->root.outline = builder->base;
       glyph->max_points   = builder->max_points;
@@ -147,22 +164,19 @@
   }
 
 
-
-/*********************************************************************
- *
- * <Function>
- *    T1_Init_Decoder
- *
- * <Description>
- *    Initialise a given Type 1 decoder for parsing
- *
- * <Input>
- *    decoder :: Type 1 decoder to initialise
- *    funcs   :: hinter functions interface
- *
- *********************************************************************/
-
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Init_Decoder                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Initializes a given glyph decoder.                                 */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    decoder :: A pointer to the glyph builder to initialize.           */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    funcs   :: The hinting functions interface.                        */
   LOCAL_FUNC
   void  T1_Init_Decoder( T1_Decoder*             decoder,
                          const T1_Hinter_Funcs*  funcs )
@@ -175,49 +189,50 @@
     decoder->num_flex_vectors = 0;
 
     /* Clear loader */
-    MEM_Set( &decoder->builder, 0, sizeof(decoder->builder) );
+    MEM_Set( &decoder->builder, 0, sizeof ( decoder->builder ) );
   }
 
 
-/*********************************************************************
- *
- * <Function>
- *    lookup_glyph_by_stdcharcode
- *
- * <Description>
- *    Lookup a given glyph by its StandardEncoding charcode. Used
- *    to implement the SEAC Type 1 operator.
- *
- * <Input>
- *    face     :: current face object
- *    charcode :: charcode to look for
- *
- * <Return>
- *    glyph index in font face. Returns -1 if the corresponding
- *    glyph wasn't found.
- *
- *********************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    lookup_glyph_by_stdcharcode                                        */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Looks up a given glyph by its StandardEncoding charcode.  Used     */
+  /*    to implement the SEAC Type 1 operator.                             */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    face     :: The current face object.                               */
+  /*                                                                       */
+  /*    charcode :: The character code to look for.                        */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    A glyph index in the font face.  Returns -1 if the corresponding   */
+  /*    glyph wasn't found.                                                */
+  /*                                                                       */
   static
-  FT_Int    lookup_glyph_by_stdcharcode( T1_Face  face,
-                                         FT_Int   charcode )
+  FT_Int  lookup_glyph_by_stdcharcode( T1_Face  face,
+                                       FT_Int   charcode )
   {
     FT_Int              n;
     const FT_String*    glyph_name;
     PSNames_Interface*  psnames = (PSNames_Interface*)face->psnames;
 
+
     /* check range of standard char code */
-    if (charcode < 0 || charcode > 255)
+    if ( charcode < 0 || charcode > 255 )
       return -1;
 
     glyph_name = psnames->adobe_std_strings(
-                    psnames->adobe_std_encoding[charcode]);
+                   psnames->adobe_std_encoding[charcode]);
 
     for ( n = 0; n < face->type1.num_glyphs; n++ )
     {
       FT_String*  name = (FT_String*)face->type1.glyph_names[n];
 
-      if ( name && strcmp(name,glyph_name) == 0 )
+
+      if ( name && strcmp( name, glyph_name ) == 0 )
         return n;
     }
 
@@ -225,27 +240,30 @@
   }
 
 
-/*********************************************************************
- *
- * <Function>
- *    t1operator_seac
- *
- * <Description>
- *    Implements the "seac" Type 1 operator for a Type 1 decoder
- *
- * <Input>
- *    decoder  :: current Type 1 decoder
- *    asb      :: accent's side bearing
- *    adx      :: horizontal position of accent
- *    ady      :: vertical position of accent
- *    bchar    :: base character's StandardEncoding charcode
- *    achar    :: accent character's StandardEncoding charcode
- *
- * <Return>
- *    Error code. 0 means success.
- *
- *********************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1operator_seac                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Implements the `seac' Type 1 operator for a Type 1 decoder.        */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    decoder  :: The current CID decoder.                               */
+  /*                                                                       */
+  /*    asb      :: The accent's side bearing.                             */
+  /*                                                                       */
+  /*    adx      :: The horizontal offset of the accent.                   */
+  /*                                                                       */
+  /*    ady      :: The vertical offset of the accent.                     */
+  /*                                                                       */
+  /*    bchar    :: The base character's StandardEncoding charcode.        */
+  /*                                                                       */
+  /*    achar    :: The accent character's StandardEncoding charcode.      */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   static
   FT_Error  t1operator_seac( T1_Decoder*  decoder,
                              FT_Pos       asb,
@@ -262,27 +280,31 @@
     FT_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)
+    if ( bchar_index < 0 || achar_index < 0 )
     {
-      FT_ERROR(( "T1.Parse_Seac : invalid seac character code arguments\n" ));
+      FT_ERROR(( "t1operator_seac: invalid seac character code arguments\n" ));
       return T1_Err_Syntax_Error;
     }
 
     if ( decoder->builder.no_recurse )
     {
-      /* if we're trying to load a composite glyph, do not load the */
-      /* accent character and return the array of subglyphs..       */
+      /* if we are trying to load a composite glyph, do not load the */
+      /* accent character and return the array of subglyphs.         */
+
       FT_GlyphSlot  glyph = (FT_GlyphSlot)decoder->builder.glyph;
       FT_SubGlyph*  subg;
 
+
       /* reallocate subglyph array if necessary */
-      if (glyph->max_subglyphs < 2)
+      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;
@@ -312,8 +334,9 @@
     }
     else
     {
-      /* First load "bchar" in builder */
+      /* First load `bchar' in builder */
       /* now load the unscaled outline */
+
       cur->n_points   = 0;
       cur->n_contours = 0;
       cur->points     = base->points   + base->n_points;
@@ -326,12 +349,14 @@
                                     type1->num_subrs,
                                     type1->subrs,
                                     type1->subrs_len );
-      if (error) return error;
+      if ( error )
+        return error;
   
       n_base_points   = cur->n_points;
 
       /* save the left bearing and width of the base character */
-      /* as they will be erased by the next load..             */
+      /* as they will be erased by the next load.              */
+
       left_bearing = decoder->builder.left_bearing;
       advance      = decoder->builder.advance;
 
@@ -338,9 +363,9 @@
       decoder->builder.left_bearing.x = 0;
       decoder->builder.left_bearing.y = 0;
 
-      /* Now load "achar" on top of */
+      /* Now load `achar' on top of */
       /* the base outline           */
-      /*                            */
+
       cur->n_points   = 0;
       cur->n_contours = 0;
       cur->points     = base->points   + base->n_points;
@@ -353,7 +378,8 @@
                                     type1->num_subrs,
                                     type1->subrs,
                                     type1->subrs_len );
-      if (error) return error;
+      if ( error )
+        return error;
 
       /* adjust contours in accented character outline */
       {
@@ -365,6 +391,7 @@
 
       /* restore the left side bearing and   */
       /* advance width of the base character */
+
       decoder->builder.left_bearing = left_bearing;
       decoder->builder.advance      = advance;
 
@@ -371,28 +398,28 @@
       /* Finally, move the accent */
       FT_Outline_Translate( cur, adx - asb, ady );
     }
+
     return T1_Err_Ok;
   }
 
-/*********************************************************************
- *
- * <Function>
- *    t1operator_flex
- *
- * <Description>
- *    Implements the "flex" Type 1 operator for a Type 1 decoder
- *
- * <Input>
- *    decoder   :: current Type 1 decoder
- *    threshold :: threshold
- *    end_x     :: position of final flex point
- *    end_y     :: position of final flex point
- *
- * <Return>
- *    Error code. 0 means success.
- *
- *********************************************************************/
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1operator_flex                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Implements the `flex' Type 1 operator for a Type 1 decoder.        */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    decoder   :: The current Type 1 decoder.                           */
+  /*    threshold :: The threshold.                                        */
+  /*    end_x     :: The horizontal position of the final flex point.      */
+  /*    end_y     :: The vertical position of the final flex point.        */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   static
   FT_Error  t1operator_flex( T1_Decoder*  decoder,
                              FT_Pos       threshold,
@@ -403,10 +430,15 @@
     FT_Vector*   flex  = decoder->flex_vectors;
     FT_Int       n;
 
-    /* we don't even try to test the threshold in the non-hinting  */
+    UNUSED( threshold );
+    UNUSED( end_x );
+    UNUSED( end_y );
+
+
+    /* we don't even try to test the threshold in the non-hinting   */
     /* builder, even if the flex operator is said to be a path      */
-    /* construction statement in the specification. This is better */
-    /* left to the hinter..                                        */
+    /* construction statement in the specification.  This is better */
+    /* left to the hinter.                                          */
 
     flex = decoder->flex_vectors;
     vec  = *flex++;
@@ -419,11 +451,6 @@
       vec = *flex++;
     }
 
-
-    UNUSED(threshold);
-    UNUSED(end_x);
-    UNUSED(end_y);
-
     flex  = decoder->flex_vectors;
 
     return  decoder->builder.funcs.rcurve_to( &decoder->builder,
@@ -438,34 +465,37 @@
   }
 
 
-/*********************************************************************
- *
- * <Function>
- *    T1_Parse_CharStrings
- *
- * <Description>
- *    Parses a given Type 1 charstrings program
- *
- * <Input>
- *    decoder          :: current Type 1 decoder
- *    charstring_base  :: base of the charstring stream
- *    charstring_len   :: length in bytes of the charstring stream
- *    num_subrs        :: number of sub-routines
- *    subrs_base       :: array of sub-routines addresses
- *    subrs_len        :: array of sub-routines lengths
- *
- * <Return>
- *    Error code. 0 means success.
- *
- *********************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Parse_CharStrings                                               */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Parses a given Type 1 charstrings program.                         */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    decoder          :: The current Type 1 decoder.                    */
+  /*                                                                       */
+  /*    charstring_base  :: The base address of the charstring stream.     */
+  /*                                                                       */
+  /*    charstring_len   :: The length in bytes of the charstring stream.  */
+  /*                                                                       */
+  /*    num_subrs        :: The number of sub-routines.                    */
+  /*                                                                       */
+  /*    subrs_base       :: An array of sub-routines addresses.            */
+  /*                                                                       */
+  /*    subrs_len        :: An array of sub-routines lengths.              */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    Free error code.  0 means success.                                 */
+  /*                                                                       */
   LOCAL_FUNC
-  FT_Error   T1_Parse_CharStrings( T1_Decoder*  decoder,
-                                   FT_Byte*     charstring_base,
-                                   FT_Int       charstring_len,
-                                   FT_Int       num_subrs,
-                                   FT_Byte**    subrs_base,
-                                   FT_Int*      subrs_len )
+  FT_Error  T1_Parse_CharStrings( T1_Decoder*  decoder,
+                                  FT_Byte*     charstring_base,
+                                  FT_Int       charstring_len,
+                                  FT_Int       num_subrs,
+                                  FT_Byte**    subrs_base,
+                                  FT_Int*      subrs_len )
   {
     FT_Error            error;
     T1_Decoder_Zone*    zone;
@@ -475,7 +505,7 @@
     T1_Builder_Funcs*   builds  = &builder->funcs;
     T1_Hinter_Funcs*    hints   = &decoder->hinter;
 
-    static const FT_Int  args_count[ op_max ] =
+    static const FT_Int  args_count[op_max] =
     {
       0, /* none */
       0, /* endchar */
@@ -505,7 +535,8 @@
       2  /* setcurrentpoint */
     };
 
-    /* First of all, initialise the decoder */
+
+    /* First of all, initialize the decoder */
     decoder->top  = decoder->stack;
     decoder->zone = decoder->zones;
     zone          = decoder->zones;
@@ -525,99 +556,146 @@
       T1_Operator  op       = op_none;
       FT_Long      value    = 0;
 
-      /* First of all, decompress operator or value */
-      switch (*ip++)
+
+      /* Start with the decompression of operator or value */
+      switch ( *ip++ )
       {
-        case 1:  op = op_hstem;     break;
+      case 1:
+        op = op_hstem;
+        break;
 
-        case 3:  op = op_vstem;     break;
-        case 4:  op = op_vmoveto;   break;
-        case 5:  op = op_rlineto;   break;
-        case 6:  op = op_hlineto;   break;
-        case 7:  op = op_vlineto;   break;
-        case 8:  op = op_rrcurveto; break;
-        case 9:  op = op_closepath; break;
-        case 10: op = op_callsubr;  break;
-        case 11: op = op_return;    break;
+      case 3:
+        op = op_vstem;
+        break;
+      case 4:
+        op = op_vmoveto;
+        break;
+      case 5:
+        op = op_rlineto;
+        break;
+      case 6:
+        op = op_hlineto;
+        break;
+      case 7:
+        op = op_vlineto;
+        break;
+      case 8:
+        op = op_rrcurveto;
+        break;
+      case 9:
+        op = op_closepath;
+        break;
+      case 10:
+        op = op_callsubr;
+        break;
+      case 11:
+        op = op_return;
+        break;
 
-        case 13: op = op_hsbw;      break;
-        case 14: op = op_endchar;   break;
+      case 13:
+        op = op_hsbw;
+        break;
+      case 14:
+        op = op_endchar;
+        break;
 
-        case 21: op = op_rmoveto;   break;
-        case 22: op = op_hmoveto;   break;
+      case 21:
+        op = op_rmoveto;
+        break;
+      case 22:
+        op = op_hmoveto;
+        break;
 
-        case 30: op = op_vhcurveto; break;
-        case 31: op = op_hvcurveto; break;
+      case 30:
+        op = op_vhcurveto;
+        break;
+      case 31:
+        op = op_hvcurveto;
+        break;
 
+      case 12:
+        if ( ip > limit )
+        {
+          FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+EOF)\n" ));
+          goto Syntax_Error;
+        }
+
+        switch ( *ip++ )
+        {
+        case 0:
+          op = op_dotsection;
+          break;
+        case 1:
+          op = op_vstem3;
+          break;
+        case 2:
+          op = op_hstem3;
+          break;
+        case 6:
+          op = op_seac;
+          break;
+        case 7:
+          op = op_sbw;
+          break;
         case 12:
-          {
-            if (ip > limit)
-            {
-              FT_ERROR(( "T1.Parse_CharStrings : invalid escape (12+EOF)\n" ));
-              goto Syntax_Error;
-            }
+          op = op_div;
+          break;
+        case 16:
+          op = op_callothersubr;
+          break;
+        case 17:
+          op = op_pop;
+          break;
+        case 33:
+          op = op_setcurrentpoint;
+          break;
 
-            switch (*ip++)
-            {
-              case 0:  op = op_dotsection;      break;
-              case 1:  op = op_vstem3;          break;
-              case 2:  op = op_hstem3;          break;
-              case 6:  op = op_seac;            break;
-              case 7:  op = op_sbw;             break;
-              case 12: op = op_div;             break;
-              case 16: op = op_callothersubr;   break;
-              case 17: op = op_pop;             break;
-              case 33: op = op_setcurrentpoint; break;
+        default:
+          FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+%d)\n",
+                     ip[-1] ));
+          goto Syntax_Error;
+        }
+        break;
 
-              default:
-                FT_ERROR(( "T1.Parse_CharStrings : invalid escape (12+%d)\n",
-                         ip[-1] ));
-                goto Syntax_Error;
-            }
-          }
-          break;
+      case 255:    /* four bytes integer */
+        if ( ip + 4 > limit )
+        {
+          FT_ERROR(( "T1_Parse_CharStrings: unexpected EOF in integer\n" ));
+          goto Syntax_Error;
+        }
 
-        case 255:    /* four bytes integer */
+        value = ( (FT_Long)ip[0] << 24 ) |
+                ( (FT_Long)ip[1] << 16 ) |
+                ( (FT_Long)ip[2] << 8  ) |
+                           ip[3];
+          ip += 4;
+        break;
+
+      default:
+        if ( ip[-1] >= 32 )
+        {
+          if ( ip[-1] < 247 )
+            value = (FT_Long)ip[-1] - 139;
+          else
           {
-            if (ip+4 > limit)
+            if ( ++ip > limit )
             {
-              FT_ERROR(( "T1.Parse_CharStrings : unexpected EOF in integer\n" ));
+              FT_ERROR(( "T1_Parse_CharStrings: unexpected EOF in integer\n" ));
               goto Syntax_Error;
             }
 
-            value = ((long)ip[0] << 24) |
-                    ((long)ip[1] << 16) |
-                    ((long)ip[2] << 8)  |
-                           ip[3];
-            ip += 4;
-          }
-          break;
-
-        default:
-          if (ip[-1] >= 32)
-          {
-            if (ip[-1] < 247)
-              value = (long)ip[-1] - 139;
+            if ( ip[-2] < 251 )
+              value = ( (FT_Long)( ip[-2] - 247 ) << 8 ) + ip[-1] + 108;
             else
-            {
-              if (++ip > limit)
-              {
-                FT_ERROR(( "T1.Parse_CharStrings : unexpected EOF in integer\n" ));
-                goto Syntax_Error;
-              }
-
-              if (ip[-2] < 251)
-                value =  ((long)(ip[-2]-247) << 8) + ip[-1] + 108;
-              else
-                value = -((((long)ip[-2]-251) << 8) + ip[-1] + 108 );
-            }
+              value = -( ( ( (FT_Long)ip[-2] - 251 ) << 8 ) + ip[-1] + 108 );
           }
-          else
-          {
-            FT_ERROR(( "T1.Parse_CharStrings : invalid byte (%d)\n",
+        }
+        else
+        {
+          FT_ERROR(( "T1_Parse_CharStrings: invalid byte (%d)\n",
                      ip[-1] ));
-            goto Syntax_Error;
-          }
+          goto Syntax_Error;
+        }
       }
 
       /* push value if needed */
@@ -625,7 +703,7 @@
       {
         if ( top - decoder->stack >= T1_MAX_CHARSTRINGS_OPERANDS )
         {
-          FT_ERROR(( "T1.Parse_CharStrings : Stack overflow !!\n" ));
+          FT_ERROR(( "T1_Parse_CharStrings: Stack overflow!\n" ));
           goto Syntax_Error;
         }
 
@@ -632,116 +710,113 @@
         *top++       = value;
         decoder->top = top;
       }
-
       else if ( op == op_callothersubr ) /* check arguments differently */
       {
-        if ( top - decoder->stack < 2)
+        if ( top - decoder->stack < 2 )
           goto Stack_Underflow;
 
         top -= 2;
 
-        switch (top[1])
+        switch ( top[1] )
         {
-          case 1:   /* start flex feature ----------------------------- */
-            {
-              if (top[0] != 0) goto Unexpected_OtherSubr;
+        case 1:   /* start flex feature ----------------------------- */
+          if ( top[0] != 0 )
+            goto Unexpected_OtherSubr;
 
-              decoder->flex_state        = 1;
-              decoder->num_flex_vectors  = 0;
-              decoder->flex_vectors[0].x = 0;
-              decoder->flex_vectors[0].y = 0;
-            }
-            break;
+          decoder->flex_state        = 1;
+          decoder->num_flex_vectors  = 0;
+          decoder->flex_vectors[0].x = 0;
+          decoder->flex_vectors[0].y = 0;
+          break;
 
 
-          case 2:   /* add flex vector ------------------------------- */
-            {
-              FT_Int      index;
-              FT_Vector*  flex;
+        case 2:   /* add flex vector ------------------------------- */
+          {
+            FT_Int      index;
+            FT_Vector*  flex;
 
-              if (top[0] != 0) goto Unexpected_OtherSubr;
 
-              top -= 2;
-              if (top < decoder->stack) goto Stack_Underflow;
+            if ( top[0] != 0 )
+              goto Unexpected_OtherSubr;
 
-              index = decoder->num_flex_vectors++;
-              if (index >= 7)
-              {
-                FT_ERROR(( "T1.Parse_CharStrings: too many flex vectors !\n" ));
-                goto Syntax_Error;
-              }
+            top -= 2;
+            if ( top < decoder->stack )
+              goto Stack_Underflow;
 
-              flex = decoder->flex_vectors + index;
-              flex->x += top[0];
-              flex->y += top[1];
-
+            index = decoder->num_flex_vectors++;
+            if ( index >= 7 )
+            {
+              FT_ERROR(( "T1_Parse_CharStrings: too many flex vectors!\n" ));
+              goto Syntax_Error;
             }
-            break;
 
+            flex = decoder->flex_vectors + index;
+            flex->x += top[0];
+            flex->y += top[1];
+          }
+          break;
 
-          case 0:   /* end flex feature ------------------------------ */
-            {
-              if ( decoder->flex_state       == 0 ||
-                   decoder->num_flex_vectors != 7 )
-              {
-                FT_ERROR(( "T1.Parse_CharStrings: unexpected flex end\n" ));
-                goto Syntax_Error;
-              }
+        case 0:   /* end flex feature ------------------------------ */
+          if ( decoder->flex_state       == 0 ||
+               decoder->num_flex_vectors != 7 )
+          {
+            FT_ERROR(( "T1_Parse_CharStrings: unexpected flex end\n" ));
+            goto Syntax_Error;
+          }
 
-              if (top[0] != 3) goto Unexpected_OtherSubr;
+          if ( top[0] != 3 )
+            goto Unexpected_OtherSubr;
 
-              top -= 3;
-              if (top < decoder->stack) goto Stack_Underflow;
+          top -= 3;
+          if ( top < decoder->stack )
+            goto Stack_Underflow;
 
-              /* now consume the remaining "pop pop setcurrentpoint" */
-              if ( ip+6 > limit ||
-                   ip[0] != 12  || ip[1] != 17 ||   /* pop */
-                   ip[2] != 12  || ip[3] != 17 ||   /* pop */
-                   ip[4] != 12  || ip[5] != 33 )    /* setcurrentpoint */
-              {
-                FT_ERROR(( "T1.Parse_CharStrings: invalid flex charstring\n" ));
-                goto Syntax_Error;
-              }
+          /* now consume the remaining `pop pop setcurrentpoint' */
+          if ( ip + 6 > limit              ||
+               ip[0] != 12  || ip[1] != 17 ||   /* pop */
+               ip[2] != 12  || ip[3] != 17 ||   /* pop */
+               ip[4] != 12  || ip[5] != 33 )    /* setcurrentpoint */
+          {
+            FT_ERROR(( "T1_Parse_CharStrings: invalid flex charstring\n" ));
+            goto Syntax_Error;
+          }
 
-              decoder->flex_state = 0;
-              decoder->top        = top;
+          decoder->flex_state = 0;
+          decoder->top        = top;
 
-              error = t1operator_flex( decoder, top[0], top[1], top[2] );
-            }
-            break;
+          error = t1operator_flex( decoder, top[0], top[1], top[2] );
+          break;
 
+        case 3:  /* change hints ------------------------------------ */
+          if ( top[0] != 1 )
+            goto Unexpected_OtherSubr;
 
-          case 3:  /* change hints ------------------------------------ */
-            {
-              if (top[0] != 1) goto Unexpected_OtherSubr;
+          /* eat the following `pop' */
+          if ( ip + 2 > limit )
+          {
+            FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+%d)\n",
+                       ip[-1] ));
+            goto Syntax_Error;
+          }
 
-              /* eat the following "pop" */
-              if (ip+2 > limit)
-              {
-                FT_ERROR(( "T1.Parse_CharStrings: invalid escape (12+%d)\n",
-                         ip[-1] ));
-                goto Syntax_Error;
-              }
+          if (ip[0] != 12 || ip[1] != 17)
+          {
+            FT_ERROR(( "T1_Parse_CharStrings: `pop' expected, found (%d %d)\n",
+                       ip[0], ip[1] ));
+            goto Syntax_Error;
+          }
 
-              if (ip[0] != 12 || ip[1] != 17)
-              {
-                FT_ERROR(( "T1.Parse_CharStrings: 'pop' expected, found (%d %d)\n",
-                         ip[0], ip[1] ));
-                goto Syntax_Error;
-              }
+          ip += 2;
 
-              ip    += 2;
-              error  = hints->change_hints(builder);
-            }
-            break;
+          error = hints->change_hints( builder );
+          break;
 
-
-          default:
-            /* invalid OtherSubrs call */
-          Unexpected_OtherSubr:
-            FT_ERROR(( "T1.Parse_CharStrings: unexpected OtherSubrs [%d %d]\n",
+        default:
+          /* invalid OtherSubrs call */
+        Unexpected_OtherSubr:
+          FT_ERROR(( "T1_Parse_CharStrings: unexpected OtherSubrs [%d %d]\n",
                      top[0], top[1] ));
-            goto Syntax_Error;
+          goto Syntax_Error;
         }
         decoder->top = top;
       }
@@ -749,177 +824,176 @@
       {
         FT_Int  num_args = args_count[op];
 
+
         if ( top - decoder->stack < num_args )
           goto Stack_Underflow;
 
         top -= num_args;
 
-        switch (op)
+        switch ( op )
         {
-          case op_endchar:
-            error = builds->end_char( builder );
-            break;
+        case op_endchar:
+          error = builds->end_char( builder );
+          break;
 
-          case op_hsbw:
-            error = builds->set_bearing_point( builder, top[0], 0,
-                                                         top[1], 0 );
-            break;
+        case op_hsbw:
+          error = builds->set_bearing_point( builder, top[0], 0,
+                                                       top[1], 0 );
+          break;
 
-          case op_seac:
-            /* return immediately after the processing */
-            return t1operator_seac( decoder, top[0], top[1],
-                                             top[2], top[3], top[4] );
+        case op_seac:
+          /* return immediately after the processing */
+          return t1operator_seac( decoder, top[0], top[1],
+                                           top[2], top[3], top[4] );
 
-          case op_sbw:
-            error = builds->set_bearing_point( builder, top[0], top[1],
-                                                        top[2], top[3] );
-            break;
+        case op_sbw:
+          error = builds->set_bearing_point( builder, top[0], top[1],
+                                                      top[2], top[3] );
+          break;
 
-          case op_closepath:
-            error = builds->close_path( builder );
-            break;
+        case op_closepath:
+          error = builds->close_path( builder );
+          break;
 
-          case op_hlineto:
-            error = builds->rline_to( builder, top[0], 0 );
-            break;
+        case op_hlineto:
+          error = builds->rline_to( builder, top[0], 0 );
+          break;
 
-          case op_hmoveto:
-            error = builds->rmove_to( builder, top[0], 0 );
-            break;
+        case op_hmoveto:
+          error = builds->rmove_to( builder, top[0], 0 );
+          break;
 
-          case op_hvcurveto:
-            error = builds->rcurve_to( builder, top[0], 0,
-                                                top[1], top[2],
-                                                0,      top[3] );
-            break;
+        case op_hvcurveto:
+          error = builds->rcurve_to( builder, top[0], 0,
+                                              top[1], top[2],
+                                              0,      top[3] );
+          break;
 
-          case op_rlineto:
-            error = builds->rline_to( builder, top[0], top[1] );
-            break;
+        case op_rlineto:
+          error = builds->rline_to( builder, top[0], top[1] );
+          break;
 
-          case op_rmoveto:
-            /* ignore operator when in flex mode */
-            if (decoder->flex_state == 0)
-              error = builds->rmove_to( builder, top[0], top[1] );
-            else
-              top += 2;
-            break;
+        case op_rmoveto:
+          /* ignore operator when in flex mode */
+          if ( decoder->flex_state == 0 )
+            error = builds->rmove_to( builder, top[0], top[1] );
+          else
+            top += 2;
+          break;
 
-          case op_rrcurveto:
-            {
-              error = builds->rcurve_to( builder, top[0], top[1],
-                                                  top[2], top[3],
-                                                  top[4], top[5] );
-            }
-            break;
+        case op_rrcurveto:
+          error = builds->rcurve_to( builder, top[0], top[1],
+                                              top[2], top[3],
+                                              top[4], top[5] );
+          break;
 
-          case op_vhcurveto:
-            error = builds->rcurve_to( builder,      0, top[0],
-                                                top[1], top[2],
-                                                top[3],      0 );
-            break;
+        case op_vhcurveto:
+          error = builds->rcurve_to( builder,      0, top[0],
+                                              top[1], top[2],
+                                              top[3],      0 );
+          break;
 
-          case op_vlineto:
-            error = builds->rline_to( builder, 0, top[0] );
-            break;
+        case op_vlineto:
+          error = builds->rline_to( builder, 0, top[0] );
+          break;
 
-          case op_vmoveto:
-            error = builds->rmove_to( builder, 0, top[0] );
-            break;
+        case op_vmoveto:
+          error = builds->rmove_to( builder, 0, top[0] );
+          break;
 
-          case op_dotsection:
-            error = hints->dot_section( builder );
-            break;
+        case op_dotsection:
+          error = hints->dot_section( builder );
+          break;
 
-          case op_hstem:
-            error = hints->stem( builder, top[0], top[1], 0 );
-            break;
+        case op_hstem:
+          error = hints->stem( builder, top[0], top[1], 0 );
+          break;
 
-          case op_hstem3:
-            error = hints->stem3( builder, top[0], top[1], top[2],
-                                           top[3], top[4], top[5], 0 );
-            break;
+        case op_hstem3:
+          error = hints->stem3( builder, top[0], top[1], top[2],
+                                         top[3], top[4], top[5], 0 );
+          break;
 
-          case op_vstem:
-            error = hints->stem( builder, top[0], top[1], 1 );
-            break;
+        case op_vstem:
+          error = hints->stem( builder, top[0], top[1], 1 );
+          break;
 
-          case op_vstem3:
-            error = hints->stem3( builder, top[0], top[1], top[2],
-                                           top[3], top[4], top[5], 1 );
-            break;
+        case op_vstem3:
+          error = hints->stem3( builder, top[0], top[1], top[2],
+                                         top[3], top[4], top[5], 1 );
+          break;
 
-          case op_div:
-            if (top[1])
-              *top++ = top[0] / top[1];
-            else
+        case op_div:
+          if ( top[1] )
+            *top++ = top[0] / top[1];
+          else
+          {
+            FT_ERROR(( "T1_Parse_CHarStrings: division by 0\n" ));
+            goto Syntax_Error;
+          }
+          break;
+
+        case op_callsubr:
+          {
+            FT_Int  index = top[0];
+
+
+            if ( index < 0 || index >= num_subrs )
             {
-              FT_ERROR(( "T1.Parse_CHarStrings : division by 0\n" ));
+              FT_ERROR(( "T1_Parse_CharStrings: invalid subrs index\n" ));
               goto Syntax_Error;
             }
-            break;
 
-          case op_callsubr:
+            if ( zone - decoder->zones >= T1_MAX_SUBRS_CALLS )
             {
-              FT_Int  index = top[0];
-
-              if ( index < 0 || index >= num_subrs )
-              {
-                FT_ERROR(( "T1.Parse_CharStrings : invalid subrs index\n" ));
-                goto Syntax_Error;
-              }
-
-              if ( zone - decoder->zones >= T1_MAX_SUBRS_CALLS )
-              {
-                FT_ERROR(( "T1.Parse_CharStrings : too many nested subrs\n" ));
-                goto Syntax_Error;
-              }
-
-              zone->cursor = ip;  /* save current instruction pointer */
-
-              zone++;
-              zone->base    = subrs_base[index];
-              zone->limit   = zone->base + subrs_len[index];
-              zone->cursor  = zone->base;
-
-              if (!zone->base)
-              {
-                FT_ERROR(( "T1.Parse_CharStrings : invoking empty subrs !!\n" ));
-                goto Syntax_Error;
-              }
-
-              decoder->zone = zone;
-              ip            = zone->base;
-              limit         = zone->limit;
+              FT_ERROR(( "T1_Parse_CharStrings: too many nested subrs\n" ));
+              goto Syntax_Error;
             }
-            break;
 
-          case op_pop:
-            FT_ERROR(( "T1.Parse_CharStrings : unexpected POP\n" ));
-            goto Syntax_Error;
+            zone->cursor = ip;  /* save current instruction pointer */
 
+            zone++;
+            zone->base   = subrs_base[index];
+            zone->limit  = zone->base + subrs_len[index];
+            zone->cursor = zone->base;
 
-          case op_return:
-            if ( zone <= decoder->zones )
+            if ( !zone->base )
             {
-              FT_ERROR(( "T1.Parse_CharStrings : unexpected return\n" ));
+              FT_ERROR(( "T1_Parse_CharStrings: invoking empty subrs!\n" ));
               goto Syntax_Error;
             }
 
-            zone--;
-            ip            = zone->cursor;
-            limit         = zone->limit;
             decoder->zone = zone;
-            break;
+            ip            = zone->base;
+            limit         = zone->limit;
+          }
+          break;
 
-          case op_setcurrentpoint:
-            FT_ERROR(( "T1.Parse_CharStrings : unexpected SETCURRENTPOINT\n" ));
-            goto Syntax_Error;
-            break;
+        case op_pop:
+          FT_ERROR(( "T1_Parse_CharStrings: unexpected POP\n" ));
+          goto Syntax_Error;
 
-          default:
-            FT_ERROR(( "T1.Parse_CharStrings : unhandled opcode %d\n", op ));
+        case op_return:
+          if ( zone <= decoder->zones )
+          {
+            FT_ERROR(( "T1_Parse_CharStrings: unexpected return\n" ));
             goto Syntax_Error;
+          }
+
+          zone--;
+          ip            = zone->cursor;
+          limit         = zone->limit;
+          decoder->zone = zone;
+          break;
+
+        case op_setcurrentpoint:
+          FT_ERROR(( "T1_Parse_CharStrings: unexpected `setcurrentpoint'\n" ));
+          goto Syntax_Error;
+          break;
+
+        default:
+          FT_ERROR(( "T1_Parse_CharStrings : unhandled opcode %d\n", op ));
+          goto Syntax_Error;
         }
 
         decoder->top = top;
@@ -936,28 +1010,29 @@
   }
 
 
-
-/*************************************************************************/
-/*                                                                       */
-/* <Function> T1_Add_Points                                              */
-/*                                                                       */
-/* <Description>                                                         */
-/*    Checks that there is enough room in the current load glyph outline */
-/*    to accept "num_points" additional outline points. If not, this     */
-/*    function grows the load outline's arrays accordingly..             */
-/*                                                                       */
-/* <Input>                                                               */
-/*    builder    :: pointer to glyph builder object                      */
-/*    num_points :: number of points that will be added later            */
-/*                                                                       */
-/* <Return>                                                              */
-/*    Type1 error code. 0 means success                                  */
-/*                                                                       */
-/* <Note>                                                                */
-/*    This function does NOT update the points count in the glyph builder*/
-/*    This must be done by the caller itself, after this function is     */
-/*    invoked..                                                          */
-/*                                                                       */
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Add_Points                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Checks that there is enough room in the current load glyph outline */
+  /*    to accept `num_points' additional outline points.  If not, this    */
+  /*    function grows the load outline's arrays accordingly.              */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    builder    :: A pointer to the glyph builder object.               */
+  /*                                                                       */
+  /*    num_points :: The number of points that will be added later.       */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    This function does NOT update the points count in the glyph        */
+  /*    builder.  This must be done by the caller itself, after this       */
+  /*    function has been invoked.                                         */
+  /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_Add_Points( T1_Builder*  builder,
                            FT_Int       num_points )
@@ -964,6 +1039,7 @@
   {
     FT_Int    new_points;
 
+
     new_points = builder->base.n_points +
                  builder->current.n_points +
                  num_points;
@@ -975,6 +1051,7 @@
       FT_Int     increment = builder->current.points - builder->base.points;
       FT_Int     current   = builder->max_points;
 
+
       while ( builder->max_points < new_points )
         builder->max_points += 16;
 
@@ -986,33 +1063,36 @@
         return error;
 
       builder->current.points = builder->base.points + increment;
-      builder->current.tags  = builder->base.tags  + increment;
+      builder->current.tags   = builder->base.tags   + increment;
     }
 
     return T1_Err_Ok;
   }
 
-/*************************************************************************/
-/*                                                                       */
-/* <Function> T1_Add_Contours                                            */
-/*                                                                       */
-/* <Description>                                                         */
-/*    Checks that there is enough room in the current load glyph outline */
-/*    to accept "num_contours" additional contours. If not, this func    */
-/*    the load outline's arrays accordingly..                            */
-/*                                                                       */
-/* <Input>                                                               */
-/*    builder       :: pointer to glyph builder object                   */
-/*    num_contours :: number of contours that will be added later        */
-/*                                                                       */
-/* <Return>                                                              */
-/*    Type1 error code. 0 means success                                  */
-/*                                                                       */
-/* <Note>                                                                */
-/*    This function does NOT update the contours count in the load glyph */
-/*    This must be done by the caller itself, after this function is     */
-/*    invoked..                                                          */
-/*                                                                       */
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Add_Contours                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Checks that there is enough room in the current load glyph outline */
+  /*    to accept `num_contours' additional contours.  If not, this        */
+  /*    function grows the load outline's arrays accordingly.              */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    builder      :: A pointer to the glyph builder object.             */
+  /*                                                                       */
+  /*    num_contours :: The number of contours that will be added later.   */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    This function does NOT update the contours count in the load glyph */
+  /*    This must be done by the caller itself, after this function is     */
+  /*    invoked.                                                           */
+  /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_Add_Contours( T1_Builder*  builder,
                              FT_Int       num_contours )
@@ -1019,6 +1099,7 @@
   {
     FT_Int    new_contours;
 
+
     new_contours = builder->base.n_contours +
                    builder->current.n_contours +
                    num_contours;
@@ -1027,9 +1108,11 @@
     {
       FT_Error  error;
       FT_Memory memory = builder->memory;
-      FT_Int    increment = builder->current.contours - builder->base.contours;
+      FT_Int    increment = builder->current.contours -
+                              builder->base.contours;
       FT_Int    current   = builder->max_contours;
 
+
       while ( builder->max_contours < new_contours )
         builder->max_contours += 4;
 
@@ -1044,25 +1127,23 @@
   }
 
 
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********           COMPUTE THE MAXIMUM ADVANCE WIDTH       *********/
-  /**********                                                   *********/
-  /**********   The following code is in charge of computing    *********/
-  /**********   the maximum advance width of the font. It       *********/
-  /**********   quickly process each glyph charstring to        *********/
-  /**********   extract the value from either a "sbw" or "seac" *********/
-  /**********   operator.                                       *********/
-  /**********                                                   *********/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /**********                                                      *********/
+  /**********            COMPUTE THE MAXIMUM ADVANCE WIDTH         *********/
+  /**********                                                      *********/
+  /**********    The following code is in charge of computing      *********/
+  /**********    the maximum advance width of the font.  It        *********/
+  /**********    quickly processes each glyph charstring to        *********/
+  /**********    extract the value from either a `sbw' or `seac'   *********/
+  /**********    operator.                                         *********/
+  /**********                                                      *********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
 
 
-
   static
   FT_Error  maxadv_sbw( T1_Decoder*  decoder,
                         FT_Pos       sbx,
@@ -1070,12 +1151,13 @@
                         FT_Pos       wx,
                         FT_Pos       wy )
   {
-    if (wx > decoder->builder.advance.x)
+    UNUSED( sbx );
+    UNUSED( sby );
+    UNUSED( wy );
+
+    if ( wx > decoder->builder.advance.x )
       decoder->builder.advance.x = wx;
 
-    UNUSED(sbx);
-    UNUSED(sby);
-    UNUSED(wy);
     return -1;    /* return an error code to exit the Type 1 parser */
                   /* immediately.                                   */
   }
@@ -1088,40 +1170,39 @@
     return -2;
   }
 
+
   /* the maxadv_gbuilder_interface is used when computing the maximum  */
-  /* advance width of all glyphs in a given font. We only process the */
-  /* 'sbw' operator here, and return an error for all others..        */
+  /* advance width of all glyphs in a given font.  We only process the */
+  /* `sbw' operator here, and return an error for all others.          */
 
-  /* Note that "seac" is processed by the T1_Decoder                  */
+  /* Note that `seac' is processed by the T1_Decoder.                  */
   static
   const T1_Builder_Funcs  maxadv_builder_interface =
   {
-    (T1_Builder_EndChar)     maxadv_error,
-    (T1_Builder_Sbw)         maxadv_sbw,
-    (T1_Builder_ClosePath)   maxadv_error,
-    (T1_Builder_RLineTo)     maxadv_error,
-    (T1_Builder_RMoveTo)     maxadv_error,
-    (T1_Builder_RCurveTo)    maxadv_error
+    (T1_Builder_EndChar)  maxadv_error,
+    (T1_Builder_Sbw)      maxadv_sbw,
+    (T1_Builder_ClosePath)maxadv_error,
+    (T1_Builder_RLineTo)  maxadv_error,
+    (T1_Builder_RMoveTo)  maxadv_error,
+    (T1_Builder_RCurveTo) maxadv_error
   };
 
 
-  /* the maxadv_interface is used when computing the maximum advance */
-  /* with of the set of glyphs in a given font file. We only process */
-  /* the "seac" operator and return immediately..                    */
+  /* the maxadv_hinter_interface always return an error. */
+
   static
   const T1_Hinter_Funcs  maxadv_hinter_interface =
   {
-    (T1_Hinter_DotSection)   maxadv_error,
-    (T1_Hinter_ChangeHints)  maxadv_error,
-    (T1_Hinter_Stem)         maxadv_error,
-    (T1_Hinter_Stem3)        maxadv_error,
+    (T1_Hinter_DotSection) maxadv_error,
+    (T1_Hinter_ChangeHints)maxadv_error,
+    (T1_Hinter_Stem)       maxadv_error,
+    (T1_Hinter_Stem3)      maxadv_error,
   };
 
 
-
   LOCAL_FUNC
   FT_Error  T1_Compute_Max_Advance( T1_Face  face,
-                                    FT_Int  *max_advance )
+                                    FT_Int*  max_advance )
   {
     FT_Error    error;
     T1_Decoder  decoder;
@@ -1128,9 +1209,10 @@
     FT_Int      glyph_index;
     T1_Font*    type1 = &face->type1;
 
+
     *max_advance = 0;
 
-    /* Initialise load decoder */
+    /* Initialize load decoder */
     T1_Init_Decoder( &decoder, &maxadv_hinter_interface );
 
     T1_Init_Builder( &decoder.builder, face, 0, 0,
@@ -1137,7 +1219,8 @@
                      &maxadv_builder_interface );
 
     /* For each glyph, parse the glyph charstring and extract */
-    /* the advance width..                                    */
+    /* the advance width.                                     */
+
     for ( glyph_index = 0; glyph_index < type1->num_glyphs; glyph_index++ )
     {
       /* now get load the unscaled outline */
@@ -1147,33 +1230,32 @@
                                     type1->num_subrs,
                                     type1->subrs,
                                     type1->subrs_len );
-      /* ignore the error if one occured - skip to next glyph */
+      /* ignore error if one occured - skip to next glyph */
     }
 
     *max_advance = decoder.builder.advance.x;
+
     return T1_Err_Ok;
   }
 
 
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********              UNHINTED GLYPH LOADER                *********/
-  /**********                                                   *********/
-  /**********   The following code is in charge of loading a    *********/
-  /**********   single outline. It completely ignores hinting   *********/
-  /**********   and is used when FT_LOAD_NO_HINTING is set.     *********/
-  /**********                                                   *********/
-  /**********     The Type 1 hinter is located in "t1hint.c"    *********/
-  /**********                                                   *********/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /**********                                                      *********/
+  /**********               UNHINTED GLYPH LOADER                  *********/
+  /**********                                                      *********/
+  /**********    The following code is in charge of loading a      *********/
+  /**********    single outline.  It completely ignores hinting    *********/
+  /**********    and is used when FT_LOAD_NO_HINTING is set.       *********/
+  /**********                                                      *********/
+  /**********      The Type 1 hinter is located in `t1hint.c'      *********/
+  /**********                                                      *********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
 
 
-
   static
   FT_Error  close_open_path( T1_Builder*  builder )
   {
@@ -1182,14 +1264,15 @@
     FT_Int       num_points;
     FT_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,   */
-    /* which is precisely the purpose of this function                 */
 
-    /* first compute the number of points to duplicate..           */
-    if (cur->n_contours > 1)
-      first_point = cur->contours[ cur->n_contours-2 ]+1;
+    /* 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,    */
+    /* which is precisely the purpose of this function.                 */
+
+    /* first compute the number of points to duplicate. */
+    if ( cur->n_contours > 1 )
+      first_point = cur->contours[cur->n_contours - 2] + 1;
     else
       first_point = 0;
 
@@ -1201,14 +1284,16 @@
       FT_Vector*  point;
       char*       tags;
 
+
       error = T1_Add_Points( builder, num_points );
-      if (error) return error;
+      if ( error )
+        return error;
 
       point = cur->points + cur->n_points;
-      tags = cur->tags  + cur->n_points;
+      tags  = cur->tags   + cur->n_points;
 
-      source_point   = point - 2;
-      source_tags   = tags - 2;
+      source_point = point - 2;
+      source_tags  = tags  - 2;
 
       cur->n_points += num_points;
 
@@ -1216,13 +1301,14 @@
         do
         {
           *point++ = *source_point--;
-          *tags++ = *source_tags--;
+          *tags++  = *source_tags--;
           num_points--;
         }
-        while (num_points > 0);
+        while ( num_points > 0 );
     }
 
     builder->path_begun = 0;
+
     return T1_Err_Ok;
   }
 
@@ -1232,23 +1318,26 @@
   {
     FT_Outline*  cur = &builder->current;
 
+
     /* save current contour, if any */
     if ( cur->n_contours > 0 )
-      cur->contours[cur->n_contours-1] = cur->n_points-1;
+      cur->contours[cur->n_contours - 1] = cur->n_points - 1;
 
 #ifndef T1_CONFIG_OPTION_DISABLE_HINTER
+
     /* hint latest points if needed - this is not strictly required      */
     /* there, but it helps for debugging, and doesn't affect performance */
     if ( builder->pass == 1 )
       T1_Hint_Points( builder );
-#endif
 
+#endif /* T1_CONFIG_OPTION_DISABLE_HINTER */
+
     builder->path_begun = 0;
+
     return T1_Err_Ok;
   }
 
 
-
   static
   FT_Error  gload_endchar( T1_Builder*  builder )
   {
@@ -1255,11 +1344,13 @@
     FT_Outline*  cur = &builder->current;
     FT_Error     error;
 
+
     /* close path if needed */
-    if (builder->path_begun)
+    if ( builder->path_begun )
     {
       error = close_open_path( builder );
-      if (error) return error;
+      if ( error )
+        return error;
     }
 
     error = gload_closepath( builder );
@@ -1271,7 +1362,6 @@
   }
 
 
-
   static
   FT_Error  gload_sbw( T1_Builder*  builder,
                        FT_Pos       sbx,
@@ -1286,12 +1376,11 @@
 
     builder->last.x = sbx;
     builder->last.y = sby;
+
     return 0;
   }
 
 
-
-
   static
   FT_Error  gload_rlineto( T1_Builder*  builder,
                            FT_Pos       dx,
@@ -1301,9 +1390,11 @@
     FT_Outline*  cur = &builder->current;
     FT_Vector    vec;
 
+
     /* grow buffer if necessary */
-    error = T1_Add_Points  ( builder, 1 );
-    if (error) return error;
+    error = T1_Add_Points( builder, 1 );
+    if ( error )
+      return error;
 
     if ( builder->load_points )
     {
@@ -1312,13 +1403,14 @@
       vec.y = builder->last.y + dy;
 
       cur->points[cur->n_points] = vec;
-      cur->tags [cur->n_points] = FT_Curve_Tag_On;
+      cur->tags  [cur->n_points] = FT_Curve_Tag_On;
 
       builder->last = vec;
     }
     cur->n_points++;
 
-    builder->path_begun  = 1;
+    builder->path_begun = 1;
+
     return T1_Err_Ok;
   }
 
@@ -1332,17 +1424,20 @@
     FT_Outline*  cur = &builder->current;
     FT_Vector    vec;
 
-    /* in the case where "path_begun" is set, we have a rmoveto    */
-    /* after some normal path definition. When the face's paint    */
-    /* type is set to 1, this means that we have an "open path",   */
-    /* also called a 'stroke'. The FreeType raster doesn't support */
-    /* opened path, so we'll close it explicitely there..          */
+
+    /* in the case where `path_begun' is set, we have an `rmoveto' */
+    /* after some normal path definition. If the face's paint type */
+    /* is set to 1, this means that we have an `open path', also   */
+    /* called a `stroke'.  The FreeType raster doesn't support     */
+    /* opened paths, so we'll close it explicitely there.          */
+
     if ( builder->path_begun && builder->face->type1.paint_type == 1 )
     {
       if ( builder->face->type1.paint_type == 1 )
       {
         error = close_open_path( builder );
-        if (error) return error;
+        if ( error )
+          return error;
       }
     }
 
@@ -1349,11 +1444,12 @@
     /* grow buffer if necessary */
     error = T1_Add_Contours( builder, 1 ) ||
             T1_Add_Points  ( builder, 1 );
-    if (error) return error;
+    if ( error )
+      return error;
 
     /* save current contour, if any */
     if ( cur->n_contours > 0 )
-      cur->contours[cur->n_contours-1] = cur->n_points-1;
+      cur->contours[cur->n_contours - 1] = cur->n_points - 1;
 
     if ( builder->load_points )
     {
@@ -1361,7 +1457,7 @@
       vec.x = builder->last.x + dx;
       vec.y = builder->last.y + dy;
       cur->points[cur->n_points] = vec;
-      cur->tags [cur->n_points] = FT_Curve_Tag_On;
+      cur->tags  [cur->n_points] = FT_Curve_Tag_On;
 
       builder->last = vec;
     }
@@ -1389,26 +1485,30 @@
     char*        tags;
 
     /* grow buffer if necessary */
-    error = T1_Add_Points  ( builder, 3 );
-    if (error) return error;
+    error = T1_Add_Points( builder, 3 );
+    if ( error )
+      return error;
 
     if ( builder->load_points )
     {
       /* save point */
       points = cur->points + cur->n_points;
-      tags  = cur->tags  + cur->n_points;
+      tags   = cur->tags   + cur->n_points;
 
       vec.x = builder->last.x + dx1;
       vec.y = builder->last.y + dy1;
-      points[0] = vec;  tags[0] = FT_Curve_Tag_Cubic;
+      points[0] = vec;
+      tags[0]   = FT_Curve_Tag_Cubic;
 
       vec.x += dx2;
       vec.y += dy2;
-      points[1] = vec;  tags[1] = FT_Curve_Tag_Cubic;
+      points[1] = vec;
+      tags[1]   = FT_Curve_Tag_Cubic;
 
       vec.x += dx3;
       vec.y += dy3;
-      points[2] = vec;  tags[2] = FT_Curve_Tag_On;
+      points[2] = vec;
+      tags[2]   = FT_Curve_Tag_On;
 
       builder->last = vec;
     }
@@ -1419,8 +1519,6 @@
   }
 
 
-
-
   static
   FT_Error  gload_ignore( void )
   {
@@ -1443,12 +1541,12 @@
   static
   const T1_Builder_Funcs  gload_builder_interface_null =
   {
-    (T1_Builder_EndChar)    gload_ignore,
-    (T1_Builder_Sbw)        gload_sbw,      /* record left bearing */
-    (T1_Builder_ClosePath)  gload_ignore,
-    (T1_Builder_RLineTo)    gload_ignore,
-    (T1_Builder_RMoveTo)    gload_ignore,
-    (T1_Builder_RCurveTo)   gload_ignore
+    (T1_Builder_EndChar)  gload_ignore,
+    (T1_Builder_Sbw)      gload_sbw,      /* record left bearing */
+    (T1_Builder_ClosePath)gload_ignore,
+    (T1_Builder_RLineTo)  gload_ignore,
+    (T1_Builder_RMoveTo)  gload_ignore,
+    (T1_Builder_RCurveTo) gload_ignore
   };
 
 
@@ -1455,19 +1553,18 @@
   static
   const T1_Hinter_Funcs   gload_hinter_interface =
   {
-    (T1_Hinter_DotSection)   gload_ignore,   /* dotsection         */
-    (T1_Hinter_ChangeHints)  gload_ignore,   /* changehints        */
-    (T1_Hinter_Stem)         gload_ignore,   /* hstem & vstem      */
-    (T1_Hinter_Stem3)        gload_ignore,   /* hstem3 & vestem3   */
+    (T1_Hinter_DotSection) gload_ignore,   /* dotsection         */
+    (T1_Hinter_ChangeHints)gload_ignore,   /* changehints        */
+    (T1_Hinter_Stem)       gload_ignore,   /* hstem & vstem      */
+    (T1_Hinter_Stem3)      gload_ignore,   /* hstem3 & vestem3   */
   };
 
 
-
   /*****************************************************************/
   /*                                                               */
   /*  Hinter overview :                                            */
   /*                                                               */
-  /*    This is a two-pass hinter. On the first pass, the hints    */
+  /*    This is a two-pass hinter.  On the first pass, the hints   */
   /*    are all recorded by the hinter, and no point is loaded     */
   /*    in the outline.                                            */
   /*                                                               */
@@ -1491,6 +1588,7 @@
     FT_Outline    old_base;
     FT_Error      error;
     
+
     /* Pass 1 - try to load first glyph, simply recording points */
     old_base = builder->base;
     T1_Reset_Builder( builder, 0 );
@@ -1506,44 +1604,51 @@
                                   type1->num_subrs,
                                   type1->subrs,
                                   type1->subrs_len );
-    if (error) goto Exit;                                  
+    if ( error )
+      goto Exit;                                  
 
-    /* check for composite (i.e. "seac" operator) */
+    /* check for composite (i.e. `seac' operator) */
     if ( glyph->root.format == ft_glyph_format_composite )
     {
       /* this is a composite glyph, we must then load the first one, */
       /* then load the second one on top of it and translate it by a */
-      /* fixed amount..                                              */
-      FT_Outline*  cur  = &builder->current;
-      FT_UInt      n_base_points;
-      FT_SubGlyph* subglyph = glyph->root.subglyphs;
-      T1_Size      size = builder->size;
-      FT_Pos       dx, dy;
-      FT_Vector    left_bearing, advance;
+      /* fixed amount.                                               */
 
+      FT_Outline*   cur  = &builder->current;
+      FT_UInt       n_base_points;
+      FT_SubGlyph*  subglyph = glyph->root.subglyphs;
+      T1_Size       size = builder->size;
+      FT_Pos        dx, dy;
+      FT_Vector     left_bearing, advance;
+
+
       /* clean glyph format */
       glyph->root.format = ft_glyph_format_none;
 
-      /* First load "bchar" in builder */
+      /* First load `bchar' in builder */
       builder->no_recurse = 0;
       error = t1_load_hinted_glyph( decoder, subglyph->index, 0 );
-      if (error) goto Exit;
+      if ( error )
+        goto Exit;
 
       /* save the left bearing and width of the base character */
-      /* as they will be erased by the next load..             */
+      /* as they will be erased by the next load.              */
       left_bearing = builder->left_bearing;
       advance      = builder->advance;
 
-      /* Then load "achar" in builder */
+      /* Then load `achar' in builder */
       n_base_points = builder->base.n_points;
       subglyph++;
+
       error = t1_load_hinted_glyph( decoder, subglyph->index, 0 );
-      if (error) goto Exit;
+      if ( error )
+        goto Exit;
       
       /* adjust contours in accented character outline */
       {
         FT_Int  n;
 
+
         for ( n = 0; n < cur->n_contours; n++ )
           cur->contours[n] += n_base_points;
       }
@@ -1551,8 +1656,8 @@
       /* Finally, move the accent */
       dx = FT_MulFix( subglyph->arg1, size->root.metrics.x_scale );
       dy = FT_MulFix( subglyph->arg2, size->root.metrics.y_scale );
-      dx = (dx+32) & -64;
-      dy = (dy+32) & -64;
+      dx = ( dx + 32 ) & -64;
+      dy = ( dy + 32 ) & -64;
       FT_Outline_Translate( cur, dx, dy );
 
       /* restore the left side bearing and   */
@@ -1584,16 +1689,17 @@
     }
     
     /* save new glyph tables */
-    if (recurse)
+    if ( recurse )
       T1_Done_Builder( builder );
     
   Exit:
     return error;
   }                                  
-#endif
-  
 
 
+#endif /* T1_CONFIG_OPTION_DISABLE_HINTER */
+  
+
   LOCAL_FUNC
   FT_Error  T1_Load_Glyph( T1_GlyphSlot  glyph,
                            T1_Size       size,
@@ -1600,13 +1706,14 @@
                            FT_Int        glyph_index,
                            FT_Int        load_flags )
   {
-    FT_Error        error;
-    T1_Decoder      decoder;
-    T1_Face         face = (T1_Face)glyph->root.face;
-    FT_Bool         hinting;
-    T1_Font*        type1 = &face->type1;
+    FT_Error    error;
+    T1_Decoder  decoder;
+    T1_Face     face = (T1_Face)glyph->root.face;
+    FT_Bool     hinting;
+    T1_Font*    type1 = &face->type1;
 
-    if (load_flags & FT_LOAD_NO_RECURSE)
+
+    if ( load_flags & FT_LOAD_NO_RECURSE )
       load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
 
     glyph->x_scale = size->root.metrics.x_scale;
@@ -1621,7 +1728,7 @@
 
 #ifndef T1_CONFIG_OPTION_DISABLE_HINTER
 
-    hinting = (load_flags & (FT_LOAD_NO_SCALE|FT_LOAD_NO_HINTING)) == 0;
+    hinting = ( load_flags & ( FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING ) ) == 0;
 
     if ( hinting )
     {
@@ -1632,8 +1739,9 @@
       error = t1_load_hinted_glyph( &decoder, glyph_index, 1 );
     }
     else
-#endif
 
+#endif /* T1_CONFIG_OPTION_DISABLE_HINTER */
+
     {
       T1_Init_Decoder( &decoder, &gload_hinter_interface );
 
@@ -1640,7 +1748,7 @@
       T1_Init_Builder( &decoder.builder, face, size, glyph,
                        &gload_builder_interface );
 
-      decoder.builder.no_recurse = !!(load_flags & FT_LOAD_NO_RECURSE);
+      decoder.builder.no_recurse = ( load_flags & FT_LOAD_NO_RECURSE ) != 0;
 
       /* now load the unscaled outline */
       error = T1_Parse_CharStrings( &decoder,
@@ -1654,14 +1762,13 @@
       T1_Done_Builder( &decoder.builder );
     }
 
-
-    /* Now, set the metrics.. - this is rather simple, as : */
-    /* the left side bearing is the xMin, and the top side  */
-    /* bearing the yMax..                                   */
-    if (!error)
+    /* Now, set the metrics - this is rather simple, as    */
+    /* the left side bearing is the xMin, and the top side */
+    /* bearing the yMax.                                   */
+    if ( !error )
     {
       /* for composite glyphs, return only the left side bearing and the */
-      /* advance width..                                                 */
+      /* advance width.                                                  */
       if ( load_flags & FT_LOAD_NO_RECURSE )
       {
         glyph->root.metrics.horiBearingX = decoder.builder.left_bearing.x;
@@ -1672,18 +1779,20 @@
         FT_BBox           cbox;
         FT_Glyph_Metrics* metrics = &glyph->root.metrics;
 
+
         /* apply the font matrix */
-        FT_Outline_Transform( &glyph->root.outline, &face->type1.font_matrix );
+        FT_Outline_Transform( &glyph->root.outline,
+                              &face->type1.font_matrix );
 
         FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
 
         /* grid fit the bounding box if necessary */
-        if (hinting)
+        if ( hinting )
         {
           cbox.xMin &= -64;
           cbox.yMin &= -64;
-          cbox.xMax = ( cbox.xMax+63 ) & -64;
-          cbox.yMax = ( cbox.yMax+63 ) & -64;
+          cbox.xMax  = ( cbox.xMax + 63 ) & -64;
+          cbox.yMax  = ( cbox.yMax + 63 ) & -64;
         }
 
         metrics->width  = cbox.xMax - cbox.xMin;
@@ -1693,7 +1802,7 @@
         metrics->horiBearingY = cbox.yMax;
 
         /* copy the _unscaled_ advance width */
-        metrics->horiAdvance  = decoder.builder.advance.x;
+        metrics->horiAdvance = decoder.builder.advance.x;
 
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
@@ -1709,20 +1818,20 @@
 
         glyph->root.outline.flags |= ft_outline_reverse_fill;
 
-        /*
+#if 0
         glyph->root.outline.second_pass    = TRUE;
-        glyph->root.outline.high_precision = ( size->root.metrics.y_ppem < 24 );
+        glyph->root.outline.high_precision = size->root.metrics.y_ppem < 24;
         glyph->root.outline.dropout_mode   = 2;
-        */
+#endif
 
         if ( hinting )
         {
-          /* adjust the advance width                  */
-          /* XXX : TODO : consider stem hints grid-fit */
+          /* adjust the advance width               */
+          /* XXX TODO: consider stem hints grid-fit */
           metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,
                                              glyph->x_scale );
         }
-        else if ( (load_flags & FT_LOAD_NO_SCALE) == 0 )
+        else if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
         {
           /* scale the outline and the metrics */
           FT_Int       n;
@@ -1731,6 +1840,7 @@
           FT_Fixed     x_scale = glyph->x_scale;
           FT_Fixed     y_scale = glyph->y_scale;
 
+
           /* First of all, scale the points */
           for ( n = cur->n_points; n > 0; n--, vec++ )
           {
@@ -1749,7 +1859,6 @@
           metrics->vertBearingX = FT_MulFix( metrics->vertBearingX, x_scale );
           metrics->vertBearingY = FT_MulFix( metrics->vertBearingY, y_scale );
           metrics->vertAdvance  = FT_MulFix( metrics->vertAdvance,  x_scale );
-
         }
       }
     }
@@ -1757,3 +1866,5 @@
     return error;
   }
 
+
+/* END */
--- a/src/type1/t1gload.h
+++ b/src/type1/t1gload.h
@@ -1,37 +1,21 @@
-/*******************************************************************
- *
- *  t1gload.h                                                   1.0
- *
- *    Type1 Glyph Loader.
- *
- *  Copyright 1996-1998 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.
- *
- *
- *  The Type 1 glyph loader uses three distinct objects to build
- *  scaled and hinted outlines from a charstrings program. These are :
- *
- *  - a glyph builder, T1_Builder, used to store the built outline
- *
- *  - a glyph hinter, T1_Hinter, used to record and apply the stem
- *    hints
- *
- *  - a charstrings interpreter, T1_Decoder, used to parse the
- *    Type 1 charstrings stream, manage a stack and call the builder
- *    and/or hinter depending on the opcodes.
- *
- *  Ideally, a Type 2 glyph loader would only need to have its own
- *  T2_Decoder object (assuming the hinter is able to manage all
- *  kinds of hints).
- *
- ******************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1gload.h                                                              */
+/*                                                                         */
+/*    Type 1 Glyph Loader (specification).                                 */
+/*                                                                         */
+/*  Copyright 1996-2000 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.                                        */
+/*                                                                         */
+/***************************************************************************/
 
+
 #ifndef T1GLOAD_H
 #define T1GLOAD_H
 
@@ -42,25 +26,15 @@
 #endif
 
 
-/*************************************************************************/
-/*                                                                       */
-/* <Structure> T1_Builder_Funcs                                          */
-/*                                                                       */
-/* <Description>                                                         */
-/*     a structure used to store the address of various functions        */
-/*     used by a glyph builder to implement the outline's "path          */
-/*     construction".                                                    */
-/*                                                                       */
-/*                                                                       */
   typedef struct T1_Builder_  T1_Builder;
 
   typedef FT_Error  (*T1_Builder_EndChar)( T1_Builder*  loader );
 
-  typedef FT_Error  (*T1_Builder_Sbw)    ( T1_Builder*  loader,
-                                           FT_Pos       sbx,
-                                           FT_Pos       sby,
-                                           FT_Pos       wx,
-                                           FT_Pos       wy );
+  typedef FT_Error  (*T1_Builder_Sbw)( T1_Builder*  loader,
+                                       FT_Pos       sbx,
+                                       FT_Pos       sby,
+                                       FT_Pos       wx,
+                                       FT_Pos       wy );
 
   typedef FT_Error  (*T1_Builder_ClosePath)( T1_Builder*  loader );
 
@@ -80,7 +54,17 @@
                                             FT_Pos       dx3,
                                             FT_Pos       dy3 );
 
-  typedef struct T1_Builder_Funcs_
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Structure>                                                           */
+  /*    T1_Builder_Funcs                                                   */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A structure to store the address of various functions used by a    */
+  /*    glyph builder to implement the outline's `path construction'.      */
+  /*                                                                       */
+  typedef struct  T1_Builder_Funcs_
   {
     T1_Builder_EndChar    end_char;
     T1_Builder_Sbw        set_bearing_point;
@@ -92,51 +76,62 @@
   } T1_Builder_Funcs;
 
 
-
-/*************************************************************************/
-/*                                                                       */
-/* <Structure> T1_Builder                                                */
-/*                                                                       */
-/* <Description>                                                         */
-/*     a structure used during glyph loading to store its outline.       */
-/*                                                                       */
-/* <Fields>                                                              */
-/*    system :: current system object                                    */
-/*    face   :: current face object                                      */
-/*    size   :: current size object                                      */
-/*    glyph  :: current glyph slot                                       */
-/*                                                                       */
-/*    current :: current glyph outline                                   */
-/*    base    :: base glyph outline                                      */
-/*                                                                       */
-/*    max_points   :: maximum points in builder outline                  */
-/*    max_contours :: maximum contours in builder outline                */
-/*                                                                       */
-/*    last     :: last point position                                    */
-/*                                                                       */
-/*    scale_x  :: horizontal scale ( FUnits to sub-pixels )              */
-/*    scale_y  :: vertical scale   ( FUnits to sub-pixels )              */
-/*    pos_x    :: horizontal translation (composite glyphs)              */
-/*    pos_y    :: vertical translation   (composite glyph)               */
-/*                                                                       */
-/*    left_bearing  :: left side bearing point                           */
-/*    advance       :: horizontal advance vector                         */
-/*                                                                       */
-/*    path_begun    :: flag, indicates that a new path has begun         */
-/*    load_points   :: flag, if not set, no points are loaded            */
-/*                                                                       */
-/*    pass     :: pass number for multi-pass hinters                     */
-/*                                                                       */
-/*    funcs    :: table of builder functions used to perform             */
-/*                the outline's path construction                        */
-/*                                                                       */
-/*    hint_point :: index of next point to hint..                        */
-/*                                                                       */
-/*                                                                       */
-/*                                                                       */
-/*                                                                       */
-
-  struct T1_Builder_
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Structure>                                                           */
+  /*    T1_Builder                                                         */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A structure used during glyph loading to store its outline.        */
+  /*                                                                       */
+  /* <Fields>                                                              */
+  /*    memory       :: The current memory object.                         */
+  /*                                                                       */
+  /*    face         :: The current face object.                           */
+  /*                                                                       */
+  /*    size         :: The current size object.                           */
+  /*                                                                       */
+  /*    glyph        :: The current glyph slot.                            */
+  /*                                                                       */
+  /*    current      :: The current glyph outline.                         */
+  /*                                                                       */
+  /*    base         :: The base glyph outline.                            */
+  /*                                                                       */
+  /*    max_points   :: The maximum number of points in builder outline.   */
+  /*                                                                       */
+  /*    max_contours :: The maximum number of contours in builder outline. */
+  /*                                                                       */
+  /*    last         :: The last point position.                           */
+  /*                                                                       */
+  /*    scale_x      :: The horizontal scale (FUnits to sub-pixels).       */
+  /*                                                                       */
+  /*    scale_y      :: The vertical scale (FUnits to sub-pixels).         */
+  /*                                                                       */
+  /*    pos_x        :: The horizontal translation (for composite glyphs). */
+  /*                                                                       */
+  /*    pos_y        :: The vertical translation (for composite glyphs).   */
+  /*                                                                       */
+  /*    left_bearing :: The left side bearing point.                       */
+  /*                                                                       */
+  /*    advance      :: The horizontal advance vector.                     */
+  /*                                                                       */
+  /*    no_recurse   ::                                                    */
+  /*                                                                       */
+  /*    bbox         :: The glyph's bounding box.                          */
+  /*                                                                       */
+  /*    path_begun   :: A flag which indicates that a new path has begun.  */
+  /*                                                                       */
+  /*    load_points  :: A flag which indicates, if not set, that no points */
+  /*                    are loaded.                                        */
+  /*                                                                       */
+  /*    pass         :: The pass number for multi-pass hinters.            */
+  /*                                                                       */
+  /*    hint_point   :: The index of the next point to hint.               */
+  /*                                                                       */
+  /*    funcs        :: A table of builder functions used to perform the   */
+  /*                    outline's path construction.                       */
+  /*                                                                       */
+  struct  T1_Builder_
   {
     FT_Memory     memory;
     T1_Face       face;
@@ -173,15 +168,6 @@
   };
 
 
-/*************************************************************************/
-/*                                                                       */
-/* <Structure> T1_Hinter_Funcs                                           */
-/*                                                                       */
-/* <Description>                                                         */
-/*     a structure used to store the address of various functions        */
-/*     used by a Type 1 hinter to perform outline hinting.               */
-/*                                                                       */
-
   typedef FT_Error  (*T1_Hinter_ChangeHints)( T1_Builder*  builder );
 
   typedef FT_Error  (*T1_Hinter_DotSection)( T1_Builder*  builder );
@@ -191,7 +177,6 @@
                                        FT_Pos       width,
                                        FT_Bool      vertical );
 
-
   typedef FT_Error  (*T1_Hinter_Stem3)( T1_Builder*  builder,
                                         FT_Pos       pos0,
                                         FT_Pos       width0,
@@ -201,18 +186,27 @@
                                         FT_Pos       width2,
                                         FT_Bool      vertical );
 
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Structure>                                                           */
+  /*    T1_Hinter_Funcs                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A structure to store the address of various functions used by a    */
+  /*    Type 1 hinter to perform outline hinting.                          */
+  /*                                                                       */
   typedef struct T1_Hinter_Func_
   {
-    T1_Hinter_ChangeHints     change_hints;
-    T1_Hinter_DotSection      dot_section;
-    T1_Hinter_Stem            stem;
-    T1_Hinter_Stem3           stem3;
+    T1_Hinter_ChangeHints  change_hints;
+    T1_Hinter_DotSection   dot_section;
+    T1_Hinter_Stem         stem;
+    T1_Hinter_Stem3        stem3;
 
   } T1_Hinter_Funcs;
 
 
-
-  typedef enum T1_Operator_
+  typedef enum  T1_Operator_
   {
     op_none = 0,
     op_endchar,
@@ -246,10 +240,8 @@
   } T1_Operator;
 
 
-
-
   /* execution context charstring zone */
-  typedef struct T1_Decoder_Zone_
+  typedef struct  T1_Decoder_Zone_
   {
     FT_Byte*  base;
     FT_Byte*  limit;
@@ -258,166 +250,54 @@
   } T1_Decoder_Zone;
 
 
-  typedef struct T1_Decoder_
+  typedef struct  T1_Decoder_
   {
-    T1_Builder         builder;
-    T1_Hinter_Funcs    hinter;
+    T1_Builder        builder;
+    T1_Hinter_Funcs   hinter;
 
-    FT_Int             stack[ T1_MAX_CHARSTRINGS_OPERANDS ];
-    FT_Int*            top;
+    FT_Int            stack[T1_MAX_CHARSTRINGS_OPERANDS];
+    FT_Int*           top;
 
-    T1_Decoder_Zone    zones[ T1_MAX_SUBRS_CALLS+1 ];
-    T1_Decoder_Zone*   zone;
+    T1_Decoder_Zone   zones[T1_MAX_SUBRS_CALLS + 1];
+    T1_Decoder_Zone*  zone;
 
-    FT_Int             flex_state;
-    FT_Int             num_flex_vectors;
-    FT_Vector          flex_vectors[7];
+    FT_Int            flex_state;
+    FT_Int            num_flex_vectors;
+    FT_Vector         flex_vectors[7];
 
   } T1_Decoder;
 
 
-
-/*********************************************************************
- *
- * <Function>
- *    T1_Init_Builder
- *
- * <Description>
- *    Initialise a given glyph builder.
- *
- * <Input>
- *    builder :: glyph builder to initialise
- *    face    :: current face object
- *    size    :: current size object
- *    glyph   :: current glyph object
- *    funcs   :: glyph builder functions (or "methods").
- *
- * <Note>
- *    This function is exported for now because it is used by the
- *    "t1dump" utility. Later, it will be accessed through a
- *    format-specific extension
- *
- *********************************************************************/
-
   LOCAL_DEF
-  void  T1_Init_Builder( T1_Builder*             builder,
-                         T1_Face                 face,
-                         T1_Size                 size,
-                         T1_GlyphSlot            glyph,
-                         const T1_Builder_Funcs* funcs );
+  void  T1_Init_Builder( T1_Builder*              builder,
+                         T1_Face                  face,
+                         T1_Size                  size,
+                         T1_GlyphSlot             glyph,
+                         const T1_Builder_Funcs*  funcs );
 
-/*********************************************************************
- *
- * <Function>
- *    T1_Done_Builder
- *
- * <Description>
- *    Finalise a given glyph builder. Its content can still be
- *    used after the call, but the function saves important information
- *    within the corresponding glyph slot.
- *
- * <Input>
- *    builder :: glyph builder to initialise
- *
- * <Note>
- *    This function is exported for now because it is used by the
- *    "t1dump" utility. Later, it will be accessed through a
- *    format-specific extension
- *
- *********************************************************************/
-
   LOCAL_DEF
   void T1_Done_Builder( T1_Builder*  builder );
 
-
-/*********************************************************************
- *
- * <Function>
- *    T1_Init_Decoder
- *
- * <Description>
- *    Initialise a given Type 1 decoder for parsing
- *
- * <Input>
- *    decoder :: Type 1 decoder to initialise
- *    funcs   :: hinter functions interface
- *
- * <Note>
- *    This function is exported for now because it is used by the
- *    "t1dump" utility. Later, it will be accessed through a
- *    format-specific extension
- *
- *********************************************************************/
-
   LOCAL_DEF
   void  T1_Init_Decoder( T1_Decoder*             decoder,
                          const T1_Hinter_Funcs*  funcs );
 
-
-
-  /* Compute the maximum advance width of a font through quick parsing */
   LOCAL_DEF
   FT_Error  T1_Compute_Max_Advance( T1_Face  face,
-                                    FT_Int  *max_advance );
+                                    FT_Int*  max_advance );
 
-
-  /* This function is exported, because it is used by the T1Dump utility */
   LOCAL_DEF
-  FT_Error   T1_Parse_CharStrings( T1_Decoder*  decoder,
-                                   FT_Byte*     charstring_base,
-                                   FT_Int       charstring_len,
-                                   FT_Int       num_subrs,
-                                   FT_Byte**    subrs_base,
-                                   FT_Int*      subrs_len );
+  FT_Error  T1_Parse_CharStrings( T1_Decoder*  decoder,
+                                  FT_Byte*     charstring_base,
+                                  FT_Int       charstring_len,
+                                  FT_Int       num_subrs,
+                                  FT_Byte**    subrs_base,
+                                  FT_Int*      subrs_len );
 
-
-
-/*************************************************************************/
-/*                                                                       */
-/* <Function> T1_Add_Points                                              */
-/*                                                                       */
-/* <Description>                                                         */
-/*    Checks that there is enough room in the current load glyph outline */
-/*    to accept "num_points" additional outline points. If not, this     */
-/*    function grows the load outline's arrays accordingly..             */
-/*                                                                       */
-/* <Input>                                                               */
-/*    builder    :: pointer to glyph builder object                      */
-/*    num_points :: number of points that will be added later            */
-/*                                                                       */
-/* <Return>                                                              */
-/*    Type1 error code. 0 means success                                  */
-/*                                                                       */
-/* <Note>                                                                */
-/*    This function does NOT update the points count in the glyph loader */
-/*    This must be done by the caller itself, after this function is     */
-/*    invoked..                                                          */
-/*                                                                       */
   LOCAL_DEF
   FT_Error  T1_Add_Points( T1_Builder*  builder,
                            FT_Int       num_points );
 
-/*************************************************************************/
-/*                                                                       */
-/* <Function> T1_Add_Contours                                            */
-/*                                                                       */
-/* <Description>                                                         */
-/*    Checks that there is enough room in the current load glyph outline */
-/*    to accept "num_contours" additional contours. If not, this func    */
-/*    the load outline's arrays accordingly..                            */
-/*                                                                       */
-/* <Input>                                                               */
-/*    builder      :: pointer to glyph builder object                    */
-/*    num_contours :: number of contours that will be added later        */
-/*                                                                       */
-/* <Return>                                                              */
-/*    Type1 error code. 0 means success                                  */
-/*                                                                       */
-/* <Note>                                                                */
-/*    This function does NOT update the contours count in the load glyph */
-/*    This must be done by the caller itself, after this function is     */
-/*    invoked..                                                          */
-/*                                                                       */
   LOCAL_DEF
   FT_Error  T1_Add_Contours( T1_Builder*  builder,
                              FT_Int       num_contours );
@@ -434,4 +314,8 @@
   }
 #endif
 
+
 #endif /* T1GLOAD_H */
+
+
+/* END */
--- a/src/type1/t1hinter.c
+++ b/src/type1/t1hinter.c
@@ -1,31 +1,42 @@
-/*******************************************************************
- *
- *  t1hinter.c                                                 1.2
- *
- *    Type1 hinter.
- *
- *  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.
- *
- *
- *  The Hinter is in charge of fitting th scaled outline to the
- *  pixel grid in order to considerably improve the quality of
- *  the Type 1 font driver's output..
- *
- ******************************************************************/
+/***************************************************************************/
+/*                                                                         */
+/*  t1hinter.c                                                             */
+/*                                                                         */
+/*    Type 1 hinter (body).                                                */
+/*                                                                         */
+/*  Copyright 1996-2000 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.                                        */
+/*                                                                         */
+/***************************************************************************/
 
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* The Hinter is in charge of fitting th scaled outline to the pixel     */
+  /* grid in order to considerably improve the quality of the Type 1 font  */
+  /* driver's output.                                                      */
+  /*                                                                       */
+  /*************************************************************************/
+
+
 #include <freetype/internal/ftdebug.h>
 #include <t1objs.h>
 #include <t1hinter.h>
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */
+  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */
+  /* messages during execution.                                            */
+  /*                                                                       */
 #undef  FT_COMPONENT
-#define FT_COMPONENT  trace_t1hint    /* for debugging/tracing */
+#define FT_COMPONENT  trace_t1hint
 
 
 #undef  ONE_PIXEL
@@ -32,13 +43,14 @@
 #define ONE_PIXEL  64
 
 #undef  ROUND
-#define ROUND(x)   (( x + ONE_PIXEL/2 ) & -ONE_PIXEL)
+#define ROUND( x )    ( ( x + ONE_PIXEL / 2 ) & -ONE_PIXEL )
 
 #undef  SCALE
-#define SCALE(val)   FT_MulFix( val, scale )
+#define SCALE( val )  FT_MulFix( val, scale )
 
 /* various constants used to describe the alignment of a horizontal */
 /* stem with regards to the blue zones                              */
+
 #define T1_ALIGN_NONE    0
 #define T1_ALIGN_BOTTOM  1
 #define T1_ALIGN_TOP     2
@@ -45,95 +57,92 @@
 #define T1_ALIGN_BOTH    3
 
 
-/************************************************************************
- *
- * <Function>
- *    t1_set_blue_zones
- *
- * <Description>
- *    Set a size object's blue zones during reset. This will compute
- *    the "snap" zone corresponding to each blue zone.
- *
- * <Input>
- *    size  :: handle to target size object
- *
- * <Return>
- *    Error code. 0 means success
- *
- * <Note>
- *    This functions does the following :
- *
- *      1. It extracts the bottom and top blue zones from the
- *         face object.
- *
- *      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
- *         original scaled position, as well as its grown/adjusted
- *         edges.
- *
- ************************************************************************/
+  /* very simple bubble sort (not a lot of elements, mostly */
+  /* pre-sorted, no need for quicksort)                     */
 
-      /* ultra simple bubble sort (not a lot of elements, mostly */
-      /* pre-sorted, no need for quicksort)                      */
-      static
-      void  t1_sort_blues( FT_Int*  blues,
-                           FT_Int   count )
-      {
-        FT_Int  i, swap;
-        FT_Int* cur;
+  static
+  void  t1_sort_blues( FT_Int*  blues,
+                       FT_Int   count )
+  {
+    FT_Int  i, swap;
+    FT_Int* cur;
 
-        for ( i = 2; i < count; i += 2 )
-        {
-          cur = blues + i;
-          do
-          {
-            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;
-          }
-          while ( cur > blues );
-        }
-      }
+    for ( i = 2; i < count; i += 2 )
+    {
+      cur = blues + i;
+      do
+      {
+        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;
+      } while ( cur > blues );
+    }
+  }
 
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_set_blue_zones                                                  */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Sets a size object's blue zones during reset.  This will compute   */
+  /*    the `snap' zone corresponding to each blue zone.                   */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size :: A handle to target size object.                            */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    This functions does the following:                                 */
+  /*                                                                       */
+  /*    1. It extracts the bottom and top blue zones from the face object. */
+  /*                                                                       */
+  /*    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    */
+  /*       original scaled position, as well as its grown/adjusted edges.  */
+  /*                                                                       */
   static
   FT_Error  t1_set_blue_zones( T1_Size  size )
   {
-    T1_Face          face = (T1_Face)size->root.face;
-    T1_Private*      priv = &face->type1.private_dict;
-    FT_Int           n;
-    FT_Int           blues[24];
-    FT_Int           num_bottom;
-    FT_Int           num_top;
-    FT_Int           num_blues;
-    T1_Size_Hints*   hints = size->hints;
-    T1_Snap_Zone*    zone;
-    FT_Pos           pix, orus;
-    FT_Pos           min, max, threshold;
-    FT_Fixed         scale;
-    FT_Bool          is_bottom;
+    T1_Face         face = (T1_Face)size->root.face;
+    T1_Private*     priv = &face->type1.private_dict;
+    FT_Int          n;
+    FT_Int          blues[24];
+    FT_Int          num_bottom;
+    FT_Int          num_top;
+    FT_Int          num_blues;
+    T1_Size_Hints*  hints = size->hints;
+    T1_Snap_Zone*   zone;
+    FT_Pos          pix, orus;
+    FT_Pos          min, max, threshold;
+    FT_Fixed        scale;
+    FT_Bool         is_bottom;
 
-    /**********************************************************************/
-    /*                                                                    */
-    /*  COPY BOTTOM AND TOP BLUE ZONES IN LOCAL ARRAYS                    */
-    /*                                                                    */
-    /*                                                                    */
 
+    /***********************************************************************/
+    /*                                                                     */
+    /*  copy bottom and top blue zones in local arrays                     */
+    /*                                                                     */
+
     /* First of all, check the sizes of the /BlueValues and /OtherBlues */
-    /* tables. They all must contain an even number of arguments        */
+    /* tables.  They all must contain an even number of arguments.      */
     if ( priv->num_other_blues & 1 ||
          priv->num_blue_values & 1 )
     {
-      FT_ERROR(( "T1.Copy_Blues : odd number of blue values\n" ));
+      FT_ERROR(( "t1_set_blue_zones: odd number of blue values\n" ));
       return T1_Err_Syntax_Error;
     }
 
-    /* copy the bottom blue zones from /OtherBlues           */
+    /* copy the bottom blue zones from /OtherBlues */
     num_top    = 0;
     num_bottom = priv->num_other_blues;
 
@@ -140,12 +149,12 @@
     for ( n = 0; n < num_bottom; n ++ )
       blues[n] = priv->other_blues[n];
 
-    /* Add the first blue zone in /BlueValues to the table */
+    /* add the first blue zone in /BlueValues to the table */
     num_top = priv->num_blue_values - 2;
     if ( num_top >= 0 )
     {
-      blues[ num_bottom ] = priv->blue_values[0];
-      blues[num_bottom+1] = priv->blue_values[1];
+      blues[num_bottom    ] = priv->blue_values[0];
+      blues[num_bottom + 1] = priv->blue_values[1];
 
       num_bottom += 2;
     }
@@ -159,7 +168,7 @@
     if ( num_top > 0 )
     {
       for ( n = 0; n < num_top; n++ )
-        blues[ num_bottom+n ] = priv->blue_values[n+2];
+        blues[num_bottom + n] = priv->blue_values[n + 2];
 
       /* sort the top blue zones */
       t1_sort_blues( blues + num_bottom, num_top );
@@ -170,28 +179,29 @@
     num_blues             = num_top + num_bottom;
     hints->num_blue_zones = ( num_blues ) >> 1;
 
-    /**********************************************************************/
-    /*                                                                    */
-    /*    BUILD BLUE SNAP ZONES FROM THE LOCAL BLUES ARRAYS               */
-    /*                                                                    */
-    /*                                                                    */
+    /***********************************************************************/
+    /*                                                                     */
+    /* build blue snap zones from the local blues arrays                   */
+    /*                                                                     */
 
     scale     = size->root.metrics.y_scale;
     zone      = hints->blue_zones;
-    threshold = ONE_PIXEL/4;   /* 0.25 pixels */
+    threshold = ONE_PIXEL / 4;   /* 0.25 pixels */
 
     for ( n = 0; n < num_blues; n += 2, zone ++ )
     {
-      is_bottom = ( n < num_bottom ? 1 : 0 );
+      is_bottom = n < num_bottom ? 1 : 0;
 
-      orus = blues[n+is_bottom];  /* get alignement coordinate */
-      pix  = SCALE( orus );       /* scale it                  */
+      orus = blues[n + is_bottom];  /* get alignement coordinate */
+      pix  = SCALE( orus );         /* scale it                  */
 
-      min  = SCALE( blues[ n ] - priv->blue_fuzz );
-      max  = SCALE( blues[n+1] + priv->blue_fuzz );
+      min  = SCALE( blues[n    ] - priv->blue_fuzz );
+      max  = SCALE( blues[n + 1] + priv->blue_fuzz );
 
-      if ( min > pix - threshold ) min = pix - threshold;
-      if ( max < pix + threshold ) max = pix + threshold;
+      if ( min > pix - threshold )
+        min = pix - threshold;
+      if ( max < pix + threshold )
+        max = pix + threshold;
 
       zone->orus = orus;
       zone->pix  = pix;
@@ -203,24 +213,22 @@
     zone = hints->blue_zones;
     for ( n = 0; n < num_blues-2; n += 2, zone ++ )
     {
-      if ( n != num_bottom-2         &&
+      if ( n != num_bottom - 2       &&
            zone[0].max > zone[1].min )
-      {
-        zone[0].max = zone[1].min = (zone[0].pix+zone[1].pix)/2;
-      }
+        zone[0].max = zone[1].min = ( zone[0].pix + zone[1].pix ) / 2;
     }
 
-
     /* Compare the current pixel size with the BlueScale value */
-    /* to know wether to supress overshoots..                  */
+    /* to know whether to supress overshoots.                  */
 
     hints->supress_overshoots =
-      ( size->root.metrics.y_ppem < FT_MulFix(1000,priv->blue_scale) );
+      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 ));
+    /* Now print the new blue values in tracing mode */
+
+    FT_TRACE2(( "Blue Zones for size object at $%08lx:\n", (long)size ));
     FT_TRACE2(( "   orus    pix    min   max\n" ));
     FT_TRACE2(( "-------------------------------\n" ));
 
@@ -228,14 +236,14 @@
     for ( n = 0; n < hints->num_blue_zones; n++ )
     {
       FT_TRACE2(( "    %3d   %.2f   %.2f  %.2f\n",
-                zone->orus,
-                zone->pix/64.0,
-                zone->min/64.0,
-                zone->max/64.0 ));
+                  zone->orus,
+                  zone->pix / 64.0,
+                  zone->min / 64.0,
+                  zone->max / 64.0 ));
       zone++;
     }
-    FT_TRACE2(( "\nOver shoots are %s\n\n",
-              hints->supress_overshoots ? "supressed" : "active" ));
+    FT_TRACE2(( "\nOvershoots are %s\n\n",
+                hints->supress_overshoots ? "supressed" : "active" ));
 
 #endif /* DEBUG_LEVEL_TRACE */
 
@@ -243,38 +251,35 @@
   }
 
 
-
-/************************************************************************
- *
- * <Function>
- *    t1_set_snap_zones
- *
- * <Description>
- *    This function set a size object's stem snap zones.
- *
- * <Input>
- *    size :: handle to target size object
- *
- * <Return>
- *    Error code. 0 means success
- *
- * <Note>
- *    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.
- *
- *      3. Each width whose zone contain the scaled standard set width
- *         is removed from the table
- *
- *      4. Finally, the standard set width is scaled, and its correponding
- *         "snap zone" is inserted into the sorted snap zones table
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_set_snap_zones                                                  */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    This function set a size object's stem snap zones.                 */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size :: A handle to the target size object.                        */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    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 1/2 pixel.  Overlapping is avoided through  */
+  /*       proper edge adjustment.                                         */
+  /*                                                                       */
+  /*    3. Each width whose zone contain the scaled standard set width is  */
+  /*       removed from the table.                                         */
+  /*                                                                       */
+  /*    4. Finally, the standard set width is scaled, and its correponding */
+  /*       `snap zone' is inserted into the sorted snap zones table.       */
+  /*                                                                       */
   static
   FT_Error  t1_set_snap_zones( T1_Size  size )
   {
@@ -285,10 +290,11 @@
     FT_Pos         standard_width;
     FT_Fixed       scale;
 
-    T1_Face         face = (T1_Face)size->root.face;
-    T1_Private*     priv = &face->type1.private_dict;
+    T1_Face         face  = (T1_Face)size->root.face;
+    T1_Private*     priv  = &face->type1.private_dict;
     T1_Size_Hints*  hints = size->hints;
 
+
     /* start with horizontal snap zones */
     direction      = 0;
     standard_width = priv->standard_width[0];
@@ -297,16 +303,18 @@
     orgs           = priv->snap_widths;
     scale          = size->root.metrics.x_scale;
 
-    while (direction < 2)
+    while ( direction < 2 )
     {
-      /*****************************************************************/
-      /*                                                               */
-      /*  Read and scale stem snap widths table from the physical      */
-      /*  font record.                                                 */
-      /*                                                               */
+      /*********************************************************************/
+      /*                                                                   */
+      /* Read and scale stem snap widths table from the physical font      */
+      /* record.                                                           */
+      /*                                                                   */
+
       FT_Pos  prev, orus, pix, min, max, threshold;
 
-      threshold = ONE_PIXEL/4;
+
+      threshold = ONE_PIXEL / 4;
       zone      = base_zone;
 
       if ( n_zones > 0 )
@@ -313,8 +321,8 @@
       {
         orus = *orgs++;
         pix  = SCALE( orus );
-        min  = pix-threshold;
-        max  = pix+threshold;
+        min  = pix - threshold;
+        max  = pix + threshold;
 
         zone->orus = orus;
         zone->pix  = pix;
@@ -326,12 +334,12 @@
           orus = *orgs++;
           pix  = SCALE( orus );
 
-          if ( pix-prev < 2*threshold )
+          if ( pix - prev < 2 * threshold )
           {
-            min = max = (pix+prev)/2;
+            min = max = ( pix + prev ) / 2;
           }
           else
-            min = pix-threshold;
+            min = pix - threshold;
 
           zone->max = max;
           zone++;
@@ -339,19 +347,20 @@
           zone->pix  = pix;
           zone->min  = min;
 
-          max  = pix+threshold;
+          max  = pix + threshold;
           prev = pix;
         }
         zone->max = max;
       }
 
-      /* print the scaled stem snap values in tracing modes */
 #ifdef FT_DEBUG_LEVEL_TRACE
 
-      FT_TRACE2(( "Set_Snap_Zones : first %s pass\n",
-                direction ? "vertical" : "horizontal" ));
+      /* print the scaled stem snap values in tracing mode */
 
-      FT_TRACE2(( "Scaled original stem snap zones :\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" ));
 
@@ -358,30 +367,32 @@
       zone = base_zone;
       for ( n = 0; n < n_zones; n++, zone++ )
         FT_TRACE2(( "  %3d  %.2f  %.2f  %.2f\n",
-                  zone->orus,
-                  zone->pix/64.0,
-                  zone->min/64.0,
-                  zone->max/64.0 ));
-      FT_TRACE2(( "\n" ));
+                    zone->orus,
+                    zone->pix / 64.0,
+                    zone->min / 64.0,
+                    zone->max / 64.0 ));
+        FT_TRACE2(( "\n" ));
 
-      FT_TRACE2(( "Standard width = %d\n", standard_width ));
-#endif
+        FT_TRACE2(( "Standard width = %d\n", standard_width ));
 
-      /*****************************************************************/
-      /*                                                               */
-      /*  Now, each snap width which is in the range of the standard   */
-      /*  set width will be removed from the list..                    */
-      /*                                                               */
+#endif /* FT_DEBUG_LEVEL_TRACE */
 
+      /*********************************************************************/
+      /*                                                                   */
+      /* Now, each snap width which is in the range of the standard set    */
+      /* width will be removed from the list.                              */
+      /*                                                                   */
+
       if ( standard_width > 0 )
       {
         T1_Snap_Zone*  parent;
         FT_Pos         std_pix, std_min, std_max;
 
+
         std_pix = SCALE( standard_width );
 
-        std_min = std_pix-threshold;
-        std_max = std_pix+threshold;
+        std_min = std_pix - threshold;
+        std_max = std_pix + threshold;
 
         num_zones = 0;
         zone      = base_zone;
@@ -392,8 +403,10 @@
           if ( zone->pix >= std_min && zone->pix <= std_max )
           {
             /* this zone must be removed from the list */
-            if ( std_min > zone->min ) std_min = zone->min;
-            if ( std_max < zone->max ) std_max = zone->max;
+            if ( std_min > zone->min )
+              std_min = zone->min;
+            if ( std_max < zone->max )
+              std_max = zone->max;
           }
           else
           {
@@ -403,14 +416,16 @@
           zone++;
         }
 
-        /**********************************************/
-        /*  Now, insert the standard width zone       */
+        /*******************************************************************/
+        /*                                                                 */
+        /* Now, insert the standard width zone                             */
+        /*                                                                 */
 
-        zone = base_zone+num_zones;
+        zone = base_zone + num_zones;
         while ( zone > base_zone && zone[-1].pix > std_max )
         {
           zone[0] = zone[-1];
-          zone --;
+          zone--;
         }
 
         /* check border zones */
@@ -417,7 +432,7 @@
         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 )
+        if ( zone < base_zone + num_zones && zone[1].min < std_max )
           zone[1].min = std_max;
 
         zone->orus = standard_width;
@@ -431,16 +446,19 @@
         num_zones = n_zones;
 
       /* save total number of stem snaps now */
-      if (direction) hints->num_snap_heights = num_zones;
-                else hints->num_snap_widths  = num_zones;
+      if ( direction )
+        hints->num_snap_heights = num_zones;
+      else
+        hints->num_snap_widths  = num_zones;
 
-      /* print the scaled stem snap values in tracing modes */
 #ifdef FT_DEBUG_LEVEL_TRACE
 
-      FT_TRACE2(( "Set_Snap_Zones : second %s pass\n",
-                direction ? "vertical" : "horizontal" ));
+      /* print the scaled stem snap values in tracing mode */
 
-      FT_TRACE2(( "Scaled clipped stem snap zones :\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" ));
 
@@ -447,15 +465,16 @@
       zone = base_zone;
       for ( n = 0; n < num_zones; n++, zone++ )
         FT_TRACE2(( "  %3d  %.2f  %.2f  %.2f\n",
-                  zone->orus,
-                  zone->pix/64.0,
-                  zone->min/64.0,
-                  zone->max/64.0 ));
+                    zone->orus,
+                    zone->pix / 64.0,
+                    zone->min / 64.0,
+                    zone->max / 64.0 ));
       FT_TRACE2(( "\n" ));
 
       FT_TRACE2(( "Standard width = %d\n", standard_width ));
-#endif
 
+#endif /* FT_DEBUG_LEVEL_TRACE */
+
       /* continue with vertical snap zone */
       direction++;
       standard_width = priv->standard_height[0];
@@ -469,153 +488,145 @@
   }
 
 
-/************************************************************************
- *
- * <Function>
- *    T1_New_Size_Hinter
- *
- * <Description>
- *    Allocates a new hinter structure for a given size object
- *
- * <Input>
- *    size :: handle to target size object
- *
- * <Return>
- *    Error code. 0 means success
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_New_Size_Hinter                                                 */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Allocates a new hinter structure for a given size object.          */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size :: A handle to the target size object.                        */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType Error code.  0 means success.                             */
+  /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_New_Size_Hinter( T1_Size  size )
   {
     FT_Memory  memory = size->root.face->memory;
 
-    return MEM_Alloc( size->hints, sizeof(*size->hints) );
+
+    return MEM_Alloc( size->hints, sizeof ( *size->hints ) );
   }
 
 
-/************************************************************************
- *
- * <Function>
- *    T1_Done_Size_Hinter
- *
- * <Description>
- *    Releases a given size object's hinter structure
- *
- * <Input>
- *    size :: handle to target size object
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Done_Size_Hinter                                                */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Releases a given size object's hinter structure.                   */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    size :: A handle to the target size object.                        */
+  /*                                                                       */
   LOCAL_FUNC
-  void      T1_Done_Size_Hinter( T1_Size  size )
+  void  T1_Done_Size_Hinter( T1_Size  size )
   {
     FT_Memory  memory = size->root.face->memory;
 
+
     FREE( size->hints );
   }
 
 
-
-/************************************************************************
- *
- * <Function>
- *    T1_Reset_Size_Hinter
- *
- * <Description>
- *    Recomputes hinting information when a given size object has
- *    changed its resolutions/char sizes/pixel sizes
- *
- * <Input>
- *    size :: handle to size object
- *
- * <Return>
- *    Error code. 0 means success
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Reset_Size_Hinter                                               */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Recomputes hinting information when a given size object has        */
+  /*    changed its resolutions/char sizes/pixel sizes.                    */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    size :: A handle to the size object.                               */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_Reset_Size_Hinter( T1_Size  size )
   {
-    return t1_set_blue_zones(size) || t1_set_snap_zones(size);
+    return t1_set_blue_zones( size ) || t1_set_snap_zones( size );
   }
 
 
-
-/************************************************************************
- *
- * <Function>
- *    T1_New_Glyph_Hinter
- *
- * <Description>
- *    Allocates a new hinter structure for a given glyph slot
- *
- * <Input>
- *    glyph :: handle to target glyph slot
- *
- * <Return>
- *    Error code. 0 means success
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_New_Glyph_Hinter                                                */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Allocates a new hinter structure for a given glyph slot.           */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    glyph :: A handle to the target glyph slot.                        */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    FreeType error code.  0 means success.                             */
+  /*                                                                       */
   LOCAL_FUNC
   FT_Error  T1_New_Glyph_Hinter( T1_GlyphSlot  glyph )
   {
     FT_Memory  memory = glyph->root.face->memory;
 
-    return MEM_Alloc( glyph->hints, sizeof(*glyph->hints) );
+
+    return MEM_Alloc( glyph->hints, sizeof ( *glyph->hints ) );
   }
 
 
-/************************************************************************
- *
- * <Function>
- *    T1_Done_Glyph_Hinter
- *
- * <Description>
- *    Releases a given glyph slot's hinter structure
- *
- * <Input>
- *    glyph :: handle to glyph slot
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Done_Glyph_Hinter                                               */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Releases a given glyph slot's hinter structure.                    */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    glyph :: A handle to the glyph slot.                               */
+  /*                                                                       */
   LOCAL_FUNC
   void  T1_Done_Glyph_Hinter( T1_GlyphSlot  glyph )
   {
     FT_Memory  memory = glyph->root.face->memory;
 
+
     FREE( glyph->hints );
   }
 
 
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /**********                                                     **********/
+  /**********               HINTED GLYPH LOADER                   **********/
+  /**********                                                     **********/
+  /**********    The following code is in charge of the first     **********/
+  /**********    and second pass when loading a single outline    **********/
+  /**********                                                     **********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
 
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********              HINTED GLYPH LOADER                  *********/
-  /**********                                                   *********/
-  /**********   The following code is in charge of the first    *********/
-  /**********   and second pass when loading a single outline   *********/
-  /**********                                                   *********/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
 
   static
-  FT_Error   t1_hinter_ignore( void )
+  FT_Error  t1_hinter_ignore( void )
   {
-    /* do nothing, used for "dotsection" which is unsupported for now */
+    /* do nothing, used for `dotsection' which is unsupported for now */
     return 0;
   }
 
+
   static
-  FT_Error   t1_hinter_stem( T1_Builder*  builder,
-                             FT_Pos       pos,
-                             FT_Int       width,
-                             FT_Bool      vertical )
+  FT_Error  t1_hinter_stem( T1_Builder*  builder,
+                            FT_Pos       pos,
+                            FT_Int       width,
+                            FT_Bool      vertical )
   {
     T1_Stem_Table*   stem_table;
     T1_Stem_Hint*    stems;
@@ -624,6 +635,7 @@
     FT_Bool          new_stem;
     T1_Glyph_Hints*  hinter = builder->glyph->hints;
 
+
     /* select the appropriate stem array */
     stem_table = vertical ? &hinter->vert_stems : &hinter->hori_stems;
     stems      = stem_table->stems;
@@ -630,9 +642,8 @@
     num_stems  = stem_table->num_stems;
 
     /* Compute minimum and maximum coord for the stem */
-    min = pos + ( vertical
-                ? builder->left_bearing.x
-                : builder->left_bearing.y );
+    min = pos + ( vertical ? builder->left_bearing.x
+                           : builder->left_bearing.y );
 
     if ( width >= 0 )
       max = min + width;
@@ -645,8 +656,8 @@
       max = min;
     }
 
-    /* now scan the array. If we find a stem with the same borders */
-    /* simply activate it..                                        */
+    /* now scan the array.  If we find a stem with the same borders */
+    /* simply activate it.                                          */
     cur_stem = stems;
     new_stem = 1;
 
@@ -656,10 +667,10 @@
            cur_stem->max_edge.orus == max )
       {
         /* This stem is already in the table, simply activate it */
-        if ( (cur_stem->hint_flags & T1_HINT_FLAG_ACTIVE) == 0)
+        if ( ( cur_stem->hint_flags & T1_HINT_FLAG_ACTIVE ) == 0 )
         {
-          cur_stem->hint_flags  |= T1_HINT_FLAG_ACTIVE;
-          stem_table->num_active ++;
+          cur_stem->hint_flags |= T1_HINT_FLAG_ACTIVE;
+          stem_table->num_active++;
         }
         new_stem = 0;
         break;
@@ -667,16 +678,16 @@
     }
 
     /* add a new stem to the array when necessary */
-    if (new_stem)
+    if ( new_stem )
     {
-      if (cur_stem >= stems + T1_HINTER_MAX_EDGES)
+      if ( cur_stem >= stems + T1_HINTER_MAX_EDGES )
       {
-        FT_ERROR(( "T1.Hinter : too many stems in glyph charstring\n" ));
+        FT_ERROR(( "t1_hinter_stem: : too many stems in glyph charstring\n" ));
         return T1_Err_Syntax_Error;
       }
 
       /* on the first pass, we record the stem, otherwise, this is */
-      /* a bug in the glyph loader !!                              */
+      /* a bug in the glyph loader!                                */
       if ( builder->pass == 0 )
       {
         cur_stem->min_edge.orus = min;
@@ -688,7 +699,7 @@
       }
       else
       {
-        FT_ERROR(( "T1.Hinter : fatal glyph loader bug - pass2-stem\n" ));
+        FT_ERROR(( "t1_hinter_stem: fatal glyph loader bug - pass2-stem\n" ));
         return T1_Err_Syntax_Error;
       }
     }
@@ -698,16 +709,16 @@
 
 
   static
-  FT_Error   t1_hinter_stem3( T1_Builder*  builder,
-                              FT_Pos       pos0,
-                              FT_Int       width0,
-                              FT_Pos       pos1,
-                              FT_Int       width1,
-                              FT_Pos       pos2,
-                              FT_Int       width2,
-                              FT_Bool      vertical )
+  FT_Error  t1_hinter_stem3( T1_Builder*  builder,
+                             FT_Pos       pos0,
+                             FT_Int       width0,
+                             FT_Pos       pos1,
+                             FT_Int       width1,
+                             FT_Pos       pos2,
+                             FT_Int       width2,
+                             FT_Bool      vertical )
   {
-    /* For now, don't be elitist and simply call "stem" 3 times */
+    /* For now, simply call `stem' 3 times */
     return t1_hinter_stem( builder, pos0, width0, vertical ) ||
            t1_hinter_stem( builder, pos1, width1, vertical ) ||
            t1_hinter_stem( builder, pos2, width2, vertical );
@@ -721,9 +732,10 @@
     T1_Stem_Table*   stem_table;
     T1_Glyph_Hints*  hinter = builder->glyph->hints;
 
-    /* if we're in the second pass of glyph hinting, we must    */
-    /* call the function T1_Hint_Points on the builder in order */
-    /* to force the fit the latest points to the pixel grid     */
+
+    /* If we are in the second pass of glyph hinting, we must     */
+    /* call the function T1_Hint_Points() on the builder in order */
+    /* to force the fit the latest points to the pixel grid.      */
     if ( builder->pass == 1 )
       T1_Hint_Points( builder );
 
@@ -735,6 +747,7 @@
       T1_Stem_Hint*  cur   = stem_table->stems;
       T1_Stem_Hint*  limit = cur + stem_table->num_stems;
 
+
       for ( ; cur < limit; cur++ )
         cur->hint_flags &= ~T1_HINT_FLAG_ACTIVE;
 
@@ -749,41 +762,40 @@
   LOCAL_FUNC
   const T1_Hinter_Funcs  t1_hinter_funcs =
   {
-    (T1_Hinter_ChangeHints)  t1_hinter_changehints,
-    (T1_Hinter_DotSection)   t1_hinter_ignore,
-    (T1_Hinter_Stem)         t1_hinter_stem,
-    (T1_Hinter_Stem3)        t1_hinter_stem3
+    (T1_Hinter_ChangeHints)t1_hinter_changehints,
+    (T1_Hinter_DotSection) t1_hinter_ignore,
+    (T1_Hinter_Stem)       t1_hinter_stem,
+    (T1_Hinter_Stem3)      t1_hinter_stem3
   };
 
 
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********                                                   *********/
-  /**********                                                   *********/
-  /**********              STEM HINTS MANAGEMENT                *********/
-  /**********                                                   *********/
-  /**********   The following code is in charge of computing    *********/
-  /**********   the placement of each scaled stem hint..        *********/
-  /**********                                                   *********/
-  /**********************************************************************/
-  /**********************************************************************/
-  /**********************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
+  /**********                                                      *********/
+  /**********                                                      *********/
+  /**********                STEM HINTS MANAGEMENT                 *********/
+  /**********                                                      *********/
+  /**********     The following code is in charge of computing     *********/
+  /**********     the placement of each scaled stem hint.          *********/
+  /**********                                                      *********/
+  /*************************************************************************/
+  /*************************************************************************/
+  /*************************************************************************/
 
-/************************************************************************
- *
- * <Function>
- *    t1_sort_hints
- *
- * <Description>
- *    Sort the list of active stems in increasing order, through
- *    the "sort" indexing table
- *
- * <Input>
- *    table  :: a stem hints table
- *
- ************************************************************************/
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_sort_hints                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Sorta the list of active stems in increasing order, through the    */
+  /*    `sort' indexing table.                                             */
+  /*                                                                       */
+  /* <InOut>                                                               */
+  /*    table :: A stem hints table.                                       */
+  /*                                                                       */
   static
   void  t1_sort_hints( T1_Stem_Table*  table )
   {
@@ -793,6 +805,7 @@
     T1_Stem_Hint*  stems       = table->stems;
     FT_Int         n;
 
+
     /* record active stems in sort table */
     for ( n = 0; n < num_stems; n++ )
     {
@@ -800,32 +813,33 @@
         sort[num_active++] = n;
     }
 
-    /* now sort the indices. There are usually very few stems, */
-    /* and they are pre-sorted in 90% cases, so we choose a    */
-    /* simple bubble sort (quicksort would be slower)..        */
+    /* now sort the indices.  There are usually very few stems, */
+    /* and they are pre-sorted in 90% cases, so we choose a     */
+    /* simple bubble sort (quicksort would be slower).          */
     for ( n = 1; n < num_active; n++ )
     {
-      FT_Int        p   = n-1;
-      T1_Stem_Hint* cur = stems + sort[n];
+      FT_Int         p   = n - 1;
+      T1_Stem_Hint*  cur = stems + sort[n];
 
+
       do
       {
         FT_Int         swap;
         T1_Stem_Hint*  prev = stems + sort[p];
 
-        /* note that by definition, the active stems cannot overlap    */
-        /* so we simply compare their "min" to sort them..             */
-        /* (we could compare their max, this wouldn't change anything) */
+
+        /* note that by definition, the active stems cannot overlap        */
+        /* so we simply compare their `min' to sort them (we could compare */
+        /* their max values also; this wouldn't change anything).          */
         if ( prev->min_edge.orus <= cur->min_edge.orus )
           break;
 
         /* swap elements */
-        swap      = sort[ p ];
-        sort[ p ] = sort[p+1];
-        sort[p+1] = swap;
+        swap        = sort[p    ];
+        sort[p    ] = sort[p + 1];
+        sort[p + 1] = swap;
         p--;
-      }
-      while ( p >= 0 );
+      } while ( p >= 0 );
     }
 
     table->num_active = num_active;
@@ -832,32 +846,32 @@
   }
 
 
-/************************************************************************
- *
- * <Function>
- *    t1_hint_horizontal_stems
- *
- * <Description>
- *    Compute the location of each scaled horizontal stem hint.
- *    This takes care of the blue zones and the horizontal stem
- *    snap table
- *
- * <Input>
- *    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.
- *    scale     :: the 16.16 scale used to convert outline
- *                 units to 26.6 pixels
- *
- * <Note>
- *    For now, all stems are hinted independently from each other.
- *    It might be necessary, for better performance, to introduce
- *    the notion of "controlled" hints describing things like
- *    counter-stems, stem3 as well as overlapping stems control.
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_hint_horizontal_stems                                           */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Computes the location of each scaled horizontal stem hint.  This   */
+  /*    takes care of the blue zones and the horizontal stem snap table.   */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    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.                                               */
+  /*                                                                       */
+  /*    scale     :: The 16.16 scale used to convert outline units to      */
+  /*                 26.6 pixels.                                          */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    For now, all stems are hinted independently from each other.  It   */
+  /*    might be necessary, for better performance, to introduce the       */
+  /*    notion of `controlled' hints describing things like counter-stems, */
+  /*    stem3, as well as overlapping stems control.                       */
+  /*                                                                       */
   static
   void  t1_hint_horizontal_stems( T1_Stem_Table*  table,
                                   T1_Size_Hints*  hints,
@@ -867,8 +881,9 @@
     T1_Stem_Hint*  stem      = table->stems;
     T1_Stem_Hint*  limit     = stem + table->num_stems;
 
+
     /* first of all, scale the blueShift */
-    blueShift = SCALE(blueShift);
+    blueShift = SCALE( blueShift );
 
     /* then scan the horizontal stem table */
     for ( ; stem < limit; stem++ )
@@ -884,20 +899,28 @@
       FT_Pos  top         = top_pix;
       FT_Int  align       = T1_ALIGN_NONE;
 
-      /******************************************************************/
-      /* Snap pixel width if in stem snap range                         */
+
+      /*********************************************************************/
+      /*                                                                   */
+      /* Snap pixel width if in stem snap range                            */
+      /*                                                                   */
+
       {
         T1_Snap_Zone*  zone       = hints->snap_heights;
         T1_Snap_Zone*  zone_limit = zone + hints->num_snap_heights;
-        FT_Pos         best_dist = 32000;
-        T1_Snap_Zone*  best_zone = 0;
+        FT_Pos         best_dist  = 32000;
+        T1_Snap_Zone*  best_zone  = 0;
 
+
         for ( ; zone < zone_limit; zone++ )
         {
           FT_Pos  dist;
 
-          dist = width_pix - zone->min; if (dist < 0) dist = -dist;
-          if (dist < best_dist)
+
+          dist = width_pix - zone->min;
+          if ( dist < 0 )
+            dist = -dist;
+          if ( dist < best_dist )
           {
             best_zone = zone;
             best_dist = dist;
@@ -904,36 +927,43 @@
           }
         }
 
-        if (best_zone)
+        if ( best_zone )
         {
-          if (width_pix > best_zone->pix)
+          if ( width_pix > best_zone->pix )
           {
             width_pix -= 0x20;
-            if (width_pix < best_zone->pix)
+            if ( width_pix < best_zone->pix )
               width_pix = best_zone->pix;
           }
           else
           {
             width_pix += 0x20;
-            if (width_pix > best_zone->pix)
+            if ( width_pix > best_zone->pix )
               width_pix = best_zone->pix;
           }
         }
       }
 
-      /******************************************************************/
-      /* round width - minimum 1 pixel if this isn't a ghost stem       */
+      /*********************************************************************/
+      /*                                                                   */
+      /* round width - minimum 1 pixel if this isn't a ghost stem          */
+      /*                                                                   */
+
       if ( width_pix > 0 )
-        width_pix = ( width_pix < ONE_PIXEL ? ONE_PIXEL : ROUND(width_pix) );
+        width_pix = width_pix < ONE_PIXEL ? ONE_PIXEL : ROUND( width_pix );
 
 
-      /******************************************************************/
-      /* Now check for bottom blue zones alignement                     */
+      /*********************************************************************/
+      /*                                                                   */
+      /* Now check for bottom blue zones alignement                        */
+      /*                                                                   */
+
       {
         FT_Int         num_blues  = hints->num_bottom_zones;
         T1_Snap_Zone*  blue       = hints->blue_zones;
         T1_Snap_Zone*  blue_limit = blue + num_blues;
 
+
         for ( ; blue < blue_limit; blue++ )
         {
           if ( bottom_pix < blue->min )
@@ -944,12 +974,13 @@
             align  = T1_ALIGN_BOTTOM;
             bottom = ROUND( blue->pix );
 
-            /* implements blue shift */
-            if (!hints->supress_overshoots)
+            /* implement blue shift */
+            if ( !hints->supress_overshoots )
             {
               FT_Pos  delta = blue->pix - bottom_pix;
 
-              delta   = ( delta < blueShift ? 0 : ROUND( delta ) );
+
+              delta   = delta < blueShift ? 0 : ROUND( delta );
               bottom -= delta;
             }
           }
@@ -956,9 +987,11 @@
         }
       }
 
+      /*********************************************************************/
+      /*                                                                   */
+      /* check for top blue zones alignement                               */
+      /*                                                                   */
 
-      /******************************************************************/
-      /* Check for top blue zones alignement */
       {
         FT_Int         num_blues  = hints->num_blue_zones -
                                     hints->num_bottom_zones;
@@ -968,6 +1001,7 @@
 
         T1_Snap_Zone*  blue_limit = blue + num_blues;
 
+
         for ( ; blue < blue_limit; blue++ )
         {
           if ( top_pix < blue->min )
@@ -975,15 +1009,16 @@
 
           if ( top_pix <= blue->max )
           {
-            align  |= T1_ALIGN_TOP;
-            top     = ROUND( blue->pix );
+            align |= T1_ALIGN_TOP;
+            top    = ROUND( blue->pix );
 
-            /* implements blue shift */
-            if (!hints->supress_overshoots)
+            /* implement blue shift */
+            if ( !hints->supress_overshoots )
             {
               FT_Pos  delta = top - blue->pix;
 
-              delta  = ( delta < blueShift ? 0 : ROUND( delta ) );
+
+              delta  = delta < blueShift ? 0 : ROUND( delta );
               top   += delta;
             }
           }
@@ -990,34 +1025,34 @@
         }
       }
 
+      /*********************************************************************/
+      /*                                                                   */
+      /* compute the hinted stem position, according to its alignment      */
+      /*                                                                   */
 
-      /******************************************************************/
-      /* compute the hinted stem position, according to its alignment   */
-      switch (align)
+      switch ( align )
       {
-        case T1_ALIGN_BOTTOM:  /* bottom zone alignement */
-          bottom_pix = bottom;
-          top_pix    = bottom + width_pix;
-          break;
+      case T1_ALIGN_BOTTOM:  /* bottom zone alignment */
+        bottom_pix = bottom;
+        top_pix    = bottom + width_pix;
+        break;
 
-        case T1_ALIGN_TOP:  /* top zone alignement */
-          top_pix    = top;
-          bottom_pix = top - width_pix;
+      case T1_ALIGN_TOP:  /* top zone alignment */
+        top_pix    = top;
+        bottom_pix = top - width_pix;
+        break;
 
-          break;
+      case T1_ALIGN_BOTH:  /* bottom+top zone alignment */
+        bottom_pix = bottom;
+        top_pix    = top;
+        break;
 
-        case T1_ALIGN_BOTH:  /* bottom+top zone alignement */
-          bottom_pix = bottom;
-          top_pix    = top;
-          break;
+      default:  /* no alignment */
+        /* XXXX : TODO : Add management of controlled stems */
+        bottom = ( SCALE( bottom_orus + top_orus ) - width_pix ) / 2;
 
-        default:  /* no alignement */
-
-          /* 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;
+        bottom_pix = ROUND( bottom );
+        top_pix    = bottom_pix + width_pix;
       }
 
       stem->min_edge.pix = bottom_pix;
@@ -1026,33 +1061,27 @@
   }
 
 
-
-
-/************************************************************************
- *
- * <Function>
- *    t1_hint_vertical_stems
- *
- * <Description>
- *    Compute the location of each scaled vertical stem hint.
- *    This takes care of the vertical stem snap table
- *
- * <Input>
- *    table     :: the vertical stem hints table
- *    hints     :: the current size's hint structure
- *    scale     :: the 16.16 scale used to convert outline
- *                 units to 26.6 pixels
- *
- * <Note>
- *    For now, all stems are hinted independently from each other.
- *    It might be necessary, for better performance, to introduce
- *    the notion of "controlled" hints describing things like
- *    counter-stems, stem3 as well as overlapping stems control.
- *
- ************************************************************************/
-
-  /* compute the location of each scaled vertical stem hint. */
-  /* Take care of blue zones and stem snap table             */
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_hint_vertical_stems                                             */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Computes the location of each scaled vertical stem hint.  This     */
+  /*    takes care of the vertical stem snap table.                        */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    table :: The vertical stem hints table.                            */
+  /*    hints :: The current size's hint structure.                        */
+  /*    scale :: The 16.16 scale used to convert outline units to          */
+  /*             26.6 pixels.                                              */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    For now, all stems are hinted independently from each other.  It   */
+  /*    might be necessary, for better performance, to introduce the       */
+  /*    notion of `controlled' hints describing things like counter-stems, */
+  /*    stem3 as well as overlapping stems control.                        */
+  /*                                                                       */
   static
   void  t1_hint_vertical_stems( T1_Stem_Table*  table,
                                 T1_Size_Hints*  hints,
@@ -1061,6 +1090,7 @@
     T1_Stem_Hint*  stem  = table->stems;
     T1_Stem_Hint*  limit = stem + table->num_stems;
 
+
     for ( ; stem < limit; stem++ )
     {
       FT_Pos  stem_left  = stem->min_edge.orus;
@@ -1067,6 +1097,7 @@
       FT_Pos  stem_right = stem->max_edge.orus;
       FT_Pos  width_pix, left;
 
+
       width_pix = SCALE( stem_right - stem_left );
 
       /* Snap pixel width if in stem snap range */
@@ -1073,15 +1104,19 @@
       {
         T1_Snap_Zone*  zone       = hints->snap_heights;
         T1_Snap_Zone*  zone_limit = zone + hints->num_snap_heights;
-        FT_Pos         best_dist = 32000;
-        T1_Snap_Zone*  best_zone = 0;
+        FT_Pos         best_dist  = 32000;
+        T1_Snap_Zone*  best_zone  = 0;
 
+
         for ( ; zone < zone_limit; zone++ )
         {
           FT_Pos  dist;
 
-          dist = width_pix - zone->min; if (dist < 0) dist = -dist;
-          if (dist < best_dist)
+
+          dist = width_pix - zone->min;
+          if ( dist < 0 )
+            dist = -dist;
+          if ( dist < best_dist )
           {
             best_zone = zone;
             best_dist = dist;
@@ -1088,18 +1123,18 @@
           }
         }
 
-        if (best_zone)
+        if ( best_zone )
         {
-          if (width_pix > best_zone->pix)
+          if ( width_pix > best_zone->pix )
           {
             width_pix -= 0x20;
-            if (width_pix < best_zone->pix)
+            if ( width_pix < best_zone->pix )
               width_pix = best_zone->pix;
           }
           else
           {
             width_pix += 0x20;
-            if (width_pix > best_zone->pix)
+            if ( width_pix > best_zone->pix )
               width_pix = best_zone->pix;
           }
         }
@@ -1107,49 +1142,44 @@
 
       /* round width - minimum 1 pixel if this isn't a ghost stem */
       if ( width_pix > 0 )
-        width_pix = ( width_pix < ONE_PIXEL ? ONE_PIXEL :
-                                              ROUND( width_pix ) );
+        width_pix = width_pix < ONE_PIXEL ? ONE_PIXEL
+                                          : ROUND( width_pix );
 
-      /* now place the snapped and rounded stem   */
+      /* now place the snapped and rounded stem                   */
+      /* XXX TODO: implement controlled stems for the overlapping */
+      /*           cases.                                         */
 
-      /* XXXX : TODO : implement controlled stems for the overlapping */
-      /*               cases..                                        */
+      left = ( SCALE( stem_left + stem_right ) - width_pix ) / 2;
 
-      left = ( SCALE(stem_left+stem_right) - width_pix )/2;
-
-      stem->min_edge.pix = ROUND(left);
+      stem->min_edge.pix = ROUND( left );
       stem->max_edge.pix = stem->min_edge.pix + width_pix;
     }
   }
 
 
-
-
-/************************************************************************
- *
- * <Function>
- *    t1_hint_point
- *
- * <Description>
- *    Grid-fit a coordinate with regards to a given stem hints table
- *
- * <Input>
- *    table  :: the source stem hints table
- *    coord  :: original coordinate, expressed in font units
- *    scale  :: the 16.16 scale used to convert font units into
- *              26.6 pixels
- *
- * <Return>
- *    the hinted/scaled value in 26.6 pixels
- *
- * <Note>
- *    For now, all stems are hinted independently from each other.
- *    It might be necessary, for better performance, to introduce
- *    the notion of "controlled" hints describing things like
- *    counter-stems, stem3 as well as overlapping stems control.
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    t1_hint_point                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Grid-fit a coordinate with regards to a given stem hints table.    */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    table :: The source stem hints table.                              */
+  /*    coord :: The original coordinate, expressed in font units.         */
+  /*    scale :: The 16.16 scale used to convert font units into           */
+  /*             26.6 pixels.                                              */
+  /*                                                                       */
+  /* <Return>                                                              */
+  /*    The hinted/scaled value in 26.6 pixels.                            */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    For now, all stems are hinted independently from each other.  It   */
+  /*    might be necessary, for better performance, to introduce the       */
+  /*    notion of `controlled' hints describing things like counter-stems, */
+  /*    stem3 as well as overlapping stems control.                        */
+  /*                                                                       */
   static
   FT_Pos  t1_hint_point( T1_Stem_Table*  table,
                          FT_Pos          coord,
@@ -1163,9 +1193,10 @@
     T1_Edge*       max;
     FT_Pos         delta;
 
+
     /* only hint when there is at least one stem defined */
-    if (num_active <= 0)
-      return SCALE(coord);
+    if ( num_active <= 0 )
+      return SCALE( coord );
 
     /* scan the stem table to determine placement of coordinate */
     /* relative to the list of sorted and stems                 */
@@ -1173,14 +1204,16 @@
     {
       cur = table->stems + table->sort[n];
 
-      /* is it on the left of the current edge ? */
+      /* is it on the left of the current edge? */
       delta = cur->min_edge.orus - coord;
-      if ( delta == 0 ) return cur->min_edge.pix;
+      if ( delta == 0 )
+        return cur->min_edge.pix;
 
-      if (delta > 0)
+      if ( delta > 0 )
       {
         /* if this is the left of the first edge, simply shift */
-        if (!prev) return cur->min_edge.pix - SCALE(delta);
+        if ( !prev )
+          return cur->min_edge.pix - SCALE( delta );
 
         /* otherwise, interpolate between the maximum of the */
         /* previous stem, and the minimum of the current one */
@@ -1189,11 +1222,12 @@
         goto Interpolate;
       }
 
-      /* is it within the current edge ? */
+      /* is it within the current edge? */
       delta = cur->max_edge.orus - coord;
-      if ( delta == 0 ) return cur->max_edge.pix;
+      if ( delta == 0 )
+        return cur->max_edge.pix;
 
-      if (delta > 0)
+      if ( delta > 0 )
       {
         /* interpolate within the stem */
         min = &cur->min_edge;
@@ -1204,38 +1238,35 @@
 
     /* apparently, this coordinate is on the right of the last stem */
     delta = coord - cur->max_edge.orus;
-    return cur->max_edge.pix + SCALE(delta);
+    return cur->max_edge.pix + SCALE( delta );
 
   Interpolate:
     return min->pix +
-            FT_MulDiv( coord     - min->orus,
-                       max->pix  - min->pix,
-                       max->orus - min->orus );
+             FT_MulDiv( coord     - min->orus,
+                        max->pix  - min->pix,
+                        max->orus - min->orus );
   }
 
 
-
-
-
-
 #if 1
 
-/************************************************************************
- *
- * <Function>
- *   T1_Hint_Points
- *
- * <Description>
- *   this function grid-fits several points in a given Type 1 builder
- *   at once.
- *
- * <Input>
- *   builder  :: handle to target Type 1 builder
- *   first    :: first point to hint in builder's current outline
- *   last     :: last point to hint in builder's current outline
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*   T1_Hint_Points                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*   this function grid-fits several points in a given Type 1 builder    */
+  /*   at once.                                                            */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*   builder :: A handle to target Type 1 builder.                       */
+  /*                                                                       */
+  /*   first   :: The first point to hint in the builder's current         */
+  /*              outline.                                                 */
+  /*                                                                       */
+  /*   last    :: The last point to hint in the builder's current outline. */
+  /*                                                                       */
   LOCAL_FUNC
   void  T1_Hint_Points( T1_Builder*  builder )
   {
@@ -1253,6 +1284,7 @@
     FT_Vector*  cur   = builder->current.points + first;
     FT_Vector*  limit = cur + last - first + 1;
 
+
     /* first of all, sort the active stem hints */
     t1_sort_hints( hori_stems );
     t1_sort_hints( vert_stems );
@@ -1267,21 +1299,19 @@
   }
 
 
-/************************************************************************
- *
- * <Function>
- *    T1_Hint_Stems
- *
- * <Description>
- *    This function is used to compute the location of each stem hint
- *    between the first and second passes of the glyph loader on the
- *    charstring.
- *
- * <Input>
- *    builder :: handle to target builder
- *
- ************************************************************************/
-
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    T1_Hint_Stems                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    This function is used to compute the location of each stem hint    */
+  /*    between the first and second passes of the glyph loader on the     */
+  /*    charstring.                                                        */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    builder :: A handle to the target builder.                         */
+  /*                                                                       */
   LOCAL_FUNC
   void  T1_Hint_Stems( T1_Builder*  builder )
   {
@@ -1292,6 +1322,7 @@
     FT_Fixed  scale_x = size->root.metrics.x_scale;
     FT_Fixed  scale_y = size->root.metrics.y_scale;
 
+
     t1_hint_horizontal_stems( &hints->hori_stems,
                               builder->size->hints,
                               priv->blue_shift,
@@ -1302,4 +1333,7 @@
                             scale_x );
   }
 
-#endif
+#endif /* 1 */
+
+
+/* END */