shithub: freetype+ttf2subf

Download patch

ref: b5713c54c31283ae7fa69549ef0c90bfa8cea14b
parent: 7c0f52a4a976228ab8866390366e1b226638dc7a
author: David Turner <[email protected]>
date: Thu Mar 14 06:26:29 EST 2002

* include/freetype/internal/psglobals.h (removed),
          include/freetype/internal/pshints.h,
          src/pshinter/pshglob.h: removing obsolete file

        * include/freetype/internal/tttypes.h,
          include/freetype/internal/sfnt.h,
          src/base/ftnames.c, src/cff/cffdrivr.c,
          src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type
          definitions

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,7 +40,17 @@
           src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
           stc/type1/t1load.c, src/type1/t1tokens.h: updated common Postscript
           type definitions
-          
+
+        * include/freetype/internal/psglobals.h (removed),
+          include/freetype/internal/pshints.h,
+          src/pshinter/pshglob.h: removing obsolete file
+
+        * include/freetype/internal/tttypes.h,
+          include/freetype/internal/sfnt.h,
+          src/base/ftnames.c, src/cff/cffdrivr.c,
+          src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type
+          definitions
+                    
 
 2002-03-13  Antoine Leca    <[email protected]>
 
--- a/include/freetype/internal/pshints.h
+++ b/include/freetype/internal/pshints.h
@@ -25,7 +25,6 @@
 #include <ft2build.h>
 #include FT_FREETYPE_H
 #include FT_TYPE1_TABLES_H
-#include FT_INTERNAL_POSTSCRIPT_GLOBALS_H
 
 
 FT_BEGIN_HEADER
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -133,7 +133,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
-  /*    TT_Load_SFNT_Header_Func                                           */
+  /*    TT_Load_SFNT_HeaderRec_Func                                           */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Loads the header of a SFNT font file.  Supports collections.       */
@@ -162,10 +162,10 @@
   /*    values of `search_range', `entry_selector', and `range_shift'.     */
   /*                                                                       */
   typedef FT_Error
-  (*TT_Load_SFNT_Header_Func)( TT_Face       face,
+  (*TT_Load_SFNT_HeaderRec_Func)( TT_Face       face,
                                FT_Stream     stream,
                                FT_Long       face_index,
-                               SFNT_Header*  sfnt );
+                               SFNT_Header   sfnt );
 
 
   /*************************************************************************/
@@ -194,7 +194,7 @@
   typedef FT_Error
   (*TT_Load_Directory_Func)( TT_Face       face,
                              FT_Stream     stream,
-                             SFNT_Header*  sfnt );
+                             SFNT_Header   sfnt );
 
 
   /*************************************************************************/
@@ -284,7 +284,7 @@
                               FT_UInt           load_flags,
                               FT_Stream         stream,
                               FT_Bitmap        *amap,
-                              TT_SBit_Metrics  *ametrics );
+                              TT_SBit_MetricsRec  *ametrics );
 
 
   /*************************************************************************/
@@ -392,7 +392,7 @@
   /*                                                                       */
   typedef FT_Error
   (*TT_CharMap_Load_Func)( TT_Face        face,
-                           TT_CMapTable*  cmap,
+                           TT_CMapTable   cmap,
                            FT_Stream      input );
 
 
@@ -414,7 +414,7 @@
   /*                                                                       */
   typedef FT_Error
   (*TT_CharMap_Free_Func)( TT_Face        face,
-                           TT_CMapTable*  cmap );
+                           TT_CMapTable   cmap );
 
 
   /*************************************************************************/
@@ -479,7 +479,7 @@
     SFNT_Get_Interface_Func   get_interface;
 
     TT_Load_Any_Func          load_any;
-    TT_Load_SFNT_Header_Func  load_sfnt_header;
+    TT_Load_SFNT_HeaderRec_Func  load_sfnt_header;
     TT_Load_Directory_Func    load_directory;
 
     /* these functions are called by `load_face' but they can also  */
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -45,7 +45,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TTC_Header                                                         */
+  /*    TTC_HeaderRec                                                      */
   /*                                                                       */
   /* <Description>                                                         */
   /*    TrueType collection header.  This table contains the offsets of    */
@@ -63,7 +63,7 @@
   /*                                                                       */
   /*    offsets :: The offsets of the font headers, one per face.          */
   /*                                                                       */
-  typedef struct  TTC_Header_
+  typedef struct  TTC_HeaderRec_
   {
     FT_ULong   tag;
     FT_Fixed   version;
@@ -70,13 +70,13 @@
     FT_Long    count;
     FT_ULong*  offsets;
 
-  } TTC_Header;
+  } TTC_HeaderRec;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    SFNT_Header                                                        */
+  /*    SFNT_HeaderRec                                                     */
   /*                                                                       */
   /* <Description>                                                         */
   /*    SFNT file format header.                                           */
@@ -92,7 +92,7 @@
   /*                                                                       */
   /*    range_shift    :: Must be num_tables*16 - search_range.            */
   /*                                                                       */
-  typedef struct  SFNT_Header_
+  typedef struct  SFNT_HeaderRec_
   {
     FT_ULong   format_tag;
     FT_UShort  num_tables;
@@ -100,13 +100,13 @@
     FT_UShort  entry_selector;
     FT_UShort  range_shift;
 
-  } SFNT_Header;
+  } SFNT_HeaderRec, *SFNT_Header;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_TableDir                                                        */
+  /*    TT_TableDirRec                                                     */
   /*                                                                       */
   /* <Description>                                                         */
   /*    This structure models a TrueType table directory.  It is used to   */
@@ -126,7 +126,7 @@
   /* <Note>                                                                */
   /*    This structure is only used during font opening.                   */
   /*                                                                       */
-  typedef struct  TT_TableDir_
+  typedef struct  TT_TableDirRec_
   {
     FT_Fixed   version;        /* should be 0x10000 */
     FT_UShort  numTables;      /* number of tables  */
@@ -135,13 +135,13 @@
     FT_UShort  entrySelector;  /* for a dichotomy search in the   */
     FT_UShort  rangeShift;     /* directory.  We ignore them.     */
 
-  } TT_TableDir;
+  } TT_TableDirRec;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Table                                                           */
+  /*    TT_TableRec                                                        */
   /*                                                                       */
   /* <Description>                                                         */
   /*    This structure describes a given table of a TrueType font.         */
@@ -156,7 +156,7 @@
   /*                                                                       */
   /*    Length   :: The table length (in bytes).                           */
   /*                                                                       */
-  typedef struct  TT_Table_
+  typedef struct  TT_TableRec_
   {
     FT_ULong  Tag;        /*        table type */
     FT_ULong  CheckSum;   /*    table checksum */
@@ -163,13 +163,13 @@
     FT_ULong  Offset;     /* table file offset */
     FT_ULong  Length;     /*      table length */
 
-  } TT_Table;
+  } TT_TableRec, *TT_Table;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_CMapDir                                                         */
+  /*    TT_CMapDirRec                                                      */
   /*                                                                       */
   /* <Description>                                                         */
   /*    This structure describes the directory of the `cmap' table,        */
@@ -183,18 +183,18 @@
   /* <Note>                                                                */
   /*    This structure is only used during font loading.                   */
   /*                                                                       */
-  typedef struct  TT_CMapDir_
+  typedef struct  TT_CMapDirRec_
   {
     FT_UShort  tableVersionNumber;
     FT_UShort  numCMaps;
 
-  } TT_CMapDir;
+  } TT_CMapDirRec, *TT_CMapDir;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_CMapDirEntry                                                    */
+  /*    TT_CMapDirEntryRec                                                 */
   /*                                                                       */
   /* <Description>                                                         */
   /*    This structure describes a charmap in a TrueType font.             */
@@ -212,19 +212,19 @@
   /* <Note>                                                                */
   /*    This structure is only used during font loading.                   */
   /*                                                                       */
-  typedef struct  TT_CMapDirEntry_
+  typedef struct  TT_CMapDirEntryRec_
   {
     FT_UShort  platformID;
     FT_UShort  platformEncodingID;
     FT_Long    offset;
 
-  } TT_CMapDirEntry;
+  } TT_CMapDirEntryRec, *TT_CMapDirEntry;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_LongMetrics                                                     */
+  /*    TT_LongMetricsRec                                                  */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure modeling the long metrics of the `hmtx' and `vmtx'     */
@@ -235,12 +235,12 @@
   /*                                                                       */
   /*    bearing :: The left-side or top-side bearing for the glyph.        */
   /*                                                                       */
-  typedef struct  TT_LongMetrics_
+  typedef struct  TT_LongMetricsRec_
   {
     FT_UShort  advance;
     FT_Short   bearing;
 
-  } TT_LongMetrics;
+  } TT_LongMetricsRec, *TT_LongMetrics;
 
 
   /*************************************************************************/
@@ -257,7 +257,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_NameRec                                                         */
+  /*    TT_NameEntryRec                                                    */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure modeling TrueType name records.  Name records are used */
@@ -281,7 +281,7 @@
   /*    string       :: A pointer to the string's bytes.  Note that these  */
   /*                    are usually UTF-16 encoded characters.             */
   /*                                                                       */
-  typedef struct  TT_NameRec_
+  typedef struct  TT_NameEntryRec_
   {
     FT_UShort  platformID;
     FT_UShort  encodingID;
@@ -295,13 +295,13 @@
 
     FT_Byte*   string;
 
-  } TT_NameRec;
+  } TT_NameEntryRec, *TT_NameEntry;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_NameTable                                                       */
+  /*    TT_NameTableRec                                                    */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure modeling the TrueType name table.                      */
@@ -318,15 +318,15 @@
   /*                                                                       */
   /*    storage        :: The names storage area.                          */
   /*                                                                       */
-  typedef struct  TT_NameTable_
+  typedef struct  TT_NameTableRec_
   {
-    FT_UShort    format;
-    FT_UShort    numNameRecords;
-    FT_UShort    storageOffset;
-    TT_NameRec*  names;
-    FT_Byte*     storage;
+    FT_UShort         format;
+    FT_UShort         numNameRecords;
+    FT_UShort         storageOffset;
+    TT_NameEntryRec*  names;
+    FT_Byte*          storage;
 
-  } TT_NameTable;
+  } TT_NameTableRec, *TT_NameTable;
 
 
   /*************************************************************************/
@@ -345,7 +345,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_GaspRange                                                       */
+  /*    TT_GaspRangeRec                                                    */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A tiny structure used to model a gasp range according to the       */
@@ -357,12 +357,12 @@
   /*    gaspFlag :: A flag describing the grid-fitting and anti-aliasing   */
   /*                modes to be used.                                      */
   /*                                                                       */
-  typedef struct  TT_GaspRange_
+  typedef struct  TT_GaspRangeRec_
   {
     FT_UShort  maxPPEM;
     FT_UShort  gaspFlag;
 
-  } TT_GaspRange;
+  } TT_GaspRangeRec, *TT_GaspRange;
 
 
 #define TT_GASP_GRIDFIT  0x01
@@ -372,7 +372,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Gasp                                                            */
+  /*    TT_GaspRec                                                         */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure modeling the TrueType `gasp' table used to specify     */
@@ -389,15 +389,15 @@
   {
     FT_UShort      version;
     FT_UShort      numRanges;
-    TT_GaspRange*  gaspRanges;
+    TT_GaspRange   gaspRanges;
 
-  } TT_Gasp;
+  } TT_GaspRec;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_HdmxRec                                                         */
+  /*    TT_HdmxEntryRec                                                    */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A small structure used to model the pre-computed widths of a given */
@@ -410,19 +410,19 @@
   /*                                                                       */
   /*    widths    :: An array of widths.  Note: These are 8-bit bytes.     */
   /*                                                                       */
-  typedef struct  TT_HdmxRec_
+  typedef struct  TT_HdmxEntryRec_
   {
     FT_Byte   ppem;
     FT_Byte   max_width;
     FT_Byte*  widths;
 
-  } TT_HdmxRec;
+  } TT_HdmxEntryRec, *TT_HdmxEntry;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Hdmx                                                            */
+  /*    TT_HdmxRec                                                         */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to model the `hdmx' table, which contains         */
@@ -435,19 +435,19 @@
   /*                                                                       */
   /*    records     :: An array of hdmx records.                           */
   /*                                                                       */
-  typedef struct  TT_Hdmx_
+  typedef struct  TT_HdmxRec_
   {
-    FT_UShort    version;
-    FT_Short     num_records;
-    TT_HdmxRec*  records;
+    FT_UShort     version;
+    FT_Short      num_records;
+    TT_HdmxEntry  records;
 
-  } TT_Hdmx;
+  } TT_HdmxRec, *TT_Hdmx;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Kern_0_Pair                                                     */
+  /*    TT_Kern0_PairRec                                                   */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to model a kerning pair for the kerning table     */
@@ -462,13 +462,13 @@
   /*    value :: The kerning distance.  A positive value spaces the        */
   /*             glyphs, a negative one makes them closer.                 */
   /*                                                                       */
-  typedef struct  TT_Kern_0_Pair_
+  typedef struct  TT_Kern0_PairRec_
   {
     FT_UShort  left;   /* index of left  glyph in pair */
     FT_UShort  right;  /* index of right glyph in pair */
     FT_FWord   value;  /* kerning value                */
 
-  } TT_Kern_0_Pair;
+  } TT_Kern0_PairRec, *TT_Kern0_Pair;
 
 
   /*************************************************************************/
@@ -487,7 +487,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Metrics                                                    */
+  /*    TT_SBit_MetricsRec                                                 */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to hold the big metrics of a given glyph bitmap   */
@@ -511,7 +511,7 @@
   /*                                                                       */
   /*    vertAdvance  :: The vertical advance.                              */
   /*                                                                       */
-  typedef struct  TT_SBit_Metrics_
+  typedef struct  TT_SBit_MetricsRec_
   {
     FT_Byte  height;
     FT_Byte  width;
@@ -524,13 +524,13 @@
     FT_Char  vertBearingY;
     FT_Byte  vertAdvance;
 
-  } TT_SBit_Metrics;
+  } TT_SBit_MetricsRec, *TT_SBit_Metrics;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Small_Metrics                                              */
+  /*    TT_SBit_SmallMetricsRec                                            */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to hold the small metrics of a given glyph bitmap */
@@ -557,13 +557,13 @@
     FT_Char  bearingY;
     FT_Byte  advance;
 
-  } TT_SBit_Small_Metrics;
+  } TT_SBit_SmallMetricsRec, *TT_SBit_SmallMetrics;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Line_Metrics                                               */
+  /*    TT_SBit_LineMetricsRec                                             */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to describe the text line metrics of a given      */
@@ -611,7 +611,7 @@
   /*    pads                    :: Unused (to make the size of the record  */
   /*                               a multiple of 32 bits.                  */
   /*                                                                       */
-  typedef struct  TT_SBit_Line_Metrics_
+  typedef struct  TT_SBit_LineMetricsRec_
   {
     FT_Char  ascender;
     FT_Char  descender;
@@ -625,13 +625,13 @@
     FT_Char  min_after_BL;
     FT_Char  pads[2];
 
-  } TT_SBit_Line_Metrics;
+  } TT_SBit_LineMetricsRec, *TT_SBit_LineMetrics;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Range                                                      */
+  /*    TT_SBit_RangeRec                                                   */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A TrueType/OpenType subIndexTable as defined in the `EBLC'         */
@@ -665,7 +665,7 @@
   /*    table_offset  :: The offset of the index table in the `EBLC'       */
   /*                     table.  Only used during strike loading.          */
   /*                                                                       */
-  typedef struct  TT_SBit_Range
+  typedef struct  TT_SBit_RangeRec
   {
     FT_UShort        first_glyph;
     FT_UShort        last_glyph;
@@ -675,7 +675,7 @@
     FT_ULong         image_offset;
 
     FT_ULong         image_size;
-    TT_SBit_Metrics  metrics;
+    TT_SBit_MetricsRec  metrics;
     FT_ULong         num_glyphs;
 
     FT_ULong*        glyph_offsets;
@@ -683,13 +683,13 @@
 
     FT_ULong         table_offset;
 
-  } TT_SBit_Range;
+  } TT_SBit_RangeRec, *TT_SBit_Range;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Strike                                                     */
+  /*    TT_SBit_StrikeRec                                                     */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used describe a given bitmap strike in the `EBLC'      */
@@ -729,33 +729,33 @@
   /*                         http://fonts.apple.com/                       */
   /*                                TTRefMan/RM06/Chap6bloc.html           */
   /*                                                                       */
-  typedef struct  TT_SBit_Strike_
+  typedef struct  TT_SBit_StrikeRec_
   {
-    FT_Int                num_ranges;
-    TT_SBit_Range*        sbit_ranges;
-    FT_ULong              ranges_offset;
+    FT_Int                  num_ranges;
+    TT_SBit_Range           sbit_ranges;
+    FT_ULong                ranges_offset;
 
-    FT_ULong              color_ref;
+    FT_ULong                color_ref;
 
-    TT_SBit_Line_Metrics  hori;
-    TT_SBit_Line_Metrics  vert;
+    TT_SBit_LineMetricsRec  hori;
+    TT_SBit_LineMetricsRec  vert;
 
-    FT_UShort             start_glyph;
-    FT_UShort             end_glyph;
+    FT_UShort               start_glyph;
+    FT_UShort               end_glyph;
 
-    FT_Byte               x_ppem;
-    FT_Byte               y_ppem;
+    FT_Byte                 x_ppem;
+    FT_Byte                 y_ppem;
 
-    FT_Byte               bit_depth;
-    FT_Char               flags;
+    FT_Byte                 bit_depth;
+    FT_Char                 flags;
 
-  } TT_SBit_Strike;
+  } TT_SBit_StrikeRec, *TT_SBit_Strike;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Component                                                  */
+  /*    TT_SBit_ComponentRec                                               */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A simple structure to describe a compound sbit element.            */
@@ -767,19 +767,19 @@
   /*                                                                       */
   /*    y_offset   :: The element's top bearing.                           */
   /*                                                                       */
-  typedef struct  TT_SBit_Component_
+  typedef struct  TT_SBit_ComponentRec_
   {
     FT_UShort  glyph_code;
     FT_Char    x_offset;
     FT_Char    y_offset;
 
-  } TT_SBit_Component;
+  } TT_SBit_ComponentRec, *TT_SBit_Component;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_SBit_Scale                                                      */
+  /*    TT_SBit_ScaleRec                                                   */
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used describe a given bitmap scaling table, as defined */
@@ -798,10 +798,10 @@
   /*                                                                       */
   /*    y_ppem_substitute :: Substitution y_ppem value.                    */
   /*                                                                       */
-  typedef struct  TT_SBit_Scale_
+  typedef struct  TT_SBit_ScaleRec_
   {
-    TT_SBit_Line_Metrics  hori;
-    TT_SBit_Line_Metrics  vert;
+    TT_SBit_LineMetricsRec  hori;
+    TT_SBit_LineMetricsRec  vert;
 
     FT_Byte               x_ppem;
     FT_Byte               y_ppem;
@@ -809,7 +809,7 @@
     FT_Byte               x_ppem_substitute;
     FT_Byte               y_ppem_substitute;
 
-  } TT_SBit_Scale;
+  } TT_SBit_ScaleRec, *TT_SBit_Scale;
 
 
   /*************************************************************************/
@@ -828,7 +828,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Post_20                                                         */
+  /*    TT_Post_20Rec                                                      */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Postscript names sub-table, format 2.0.  Stores the PS name of     */
@@ -843,7 +843,7 @@
   /*                                                                       */
   /*    glyph_names   :: The PS names not in Mac Encoding.                 */
   /*                                                                       */
-  typedef struct  TT_Post_20_
+  typedef struct  TT_Post_20Rec_
   {
     FT_UShort   num_glyphs;
     FT_UShort   num_names;
@@ -850,13 +850,13 @@
     FT_UShort*  glyph_indices;
     FT_Char**   glyph_names;
 
-  } TT_Post_20;
+  } TT_Post_20Rec, *TT_Post_20;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Post_25                                                         */
+  /*    TT_Post_25Rec                                                      */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Postscript names sub-table, format 2.5.  Stores the PS name of     */
@@ -873,13 +873,13 @@
     FT_UShort  num_glyphs;
     FT_Char*   offsets;
 
-  } TT_Post_25;
+  } TT_Post_25Rec, *TT_Post_25;
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
-  /*    TT_Post_Names                                                      */
+  /*    TT_Post_NamesRec                                                   */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Postscript names table, either format 2.0 or 2.5.                  */
@@ -891,18 +891,18 @@
   /*                                                                       */
   /*    format_25 :: The sub-table used for format 2.5.                    */
   /*                                                                       */
-  typedef struct  TT_Post_Names_
+  typedef struct  TT_Post_NamesRec_
   {
     FT_Bool       loaded;
 
     union
     {
-      TT_Post_20  format_20;
-      TT_Post_25  format_25;
+      TT_Post_20Rec  format_20;
+      TT_Post_25Rec  format_25;
 
     } names;
 
-  } TT_Post_Names;
+  } TT_Post_NamesRec, *TT_Post_Names;
 
 
   /*************************************************************************/
@@ -926,12 +926,12 @@
 
     FT_Byte*  glyphIdArray;
 
-  } TT_CMap0;
+  } TT_CMap0Rec, *TT_CMap0;
 
 
   /* format 2 */
 
-  typedef struct  TT_CMap2SubHeader_
+  typedef struct  TT_CMap2SubHeaderRec_
   {
     FT_UShort  firstCode;      /* first valid low byte         */
     FT_UShort  entryCount;     /* number of valid low bytes    */
@@ -938,10 +938,10 @@
     FT_Short   idDelta;        /* delta value to glyphIndex    */
     FT_UShort  idRangeOffset;  /* offset from here to 1st code */
 
-  } TT_CMap2SubHeader;
+  } TT_CMap2SubHeaderRec, *TT_CMap2SubHeader;
 
 
-  typedef struct  TT_CMap2_
+  typedef struct  TT_CMap2Rec_
   {
     FT_ULong            language;     /* for Mac fonts (originally ushort) */
 
@@ -949,11 +949,11 @@
     /* high byte mapping table            */
     /* value = subHeader index * 8        */
 
-    TT_CMap2SubHeader*  subHeaders;
+    TT_CMap2SubHeader   subHeaders;
     FT_UShort*          glyphIdArray;
     FT_UShort           numGlyphId;   /* control value */
 
-  } TT_CMap2;
+  } TT_CMap2Rec, *TT_CMap2;
 
 
   /* format 4 */
@@ -965,10 +965,10 @@
     FT_Short   idDelta;
     FT_UShort  idRangeOffset;
 
-  } TT_CMap4Segment;
+  } TT_CMap4SegmentRec, *TT_CMap4Segment;
 
 
-  typedef struct  TT_CMap4_
+  typedef struct  TT_CMap4Rec_
   {
     FT_ULong          language;       /* for Mac fonts (originally ushort) */
 
@@ -977,13 +977,13 @@
     FT_UShort         entrySelector;  /* for a binary search               */
     FT_UShort         rangeShift;
 
-    TT_CMap4Segment*  segments;
+    TT_CMap4Segment   segments;
     FT_UShort*        glyphIdArray;
     FT_UShort         numGlyphId;    /* control value */
 
-    TT_CMap4Segment*  last_segment;  /* last used segment; this is a small  */
+    TT_CMap4Segment   last_segment;  /* last used segment; this is a small  */
                                      /* cache to potentially increase speed */
-  } TT_CMap4;
+  } TT_CMap4Rec, *TT_CMap4;
 
 
   /* format 6 */
@@ -997,18 +997,18 @@
 
     FT_UShort*  glyphIdArray;
 
-  } TT_CMap6;
+  } TT_CMap6Rec, *TT_CMap6;
 
 
   /* auxiliary table for format 8 and 12 */
 
-  typedef struct  TT_CMapGroup_
+  typedef struct  TT_CMapGroupRec_
   {
     FT_ULong  startCharCode;
     FT_ULong  endCharCode;
     FT_ULong  startGlyphID;
 
-  } TT_CMapGroup;
+  } TT_CMapGroupRec, *TT_CMapGroup;
 
 
   /* FreeType handles format 8 and 12 identically.  It is not necessary to
@@ -1016,21 +1016,21 @@
      for input character codes -- converting Unicode surrogates to 32bit
      character codes must be done by the application.                      */
 
-  typedef struct  TT_CMap8_12_
+  typedef struct  TT_CMap8_12Rec_
   {
     FT_ULong       language;        /* for Mac fonts */
 
     FT_ULong       nGroups;
-    TT_CMapGroup*  groups;
+    TT_CMapGroup   groups;
 
-    TT_CMapGroup*  last_group;      /* last used group; this is a small    */
+    TT_CMapGroup   last_group;      /* last used group; this is a small    */
                                     /* cache to potentially increase speed */
-  } TT_CMap8_12;
+  } TT_CMap8_12Rec, *TT_CMap8_12;
 
 
   /* format 10 */
 
-  typedef struct  TT_CMap10_
+  typedef struct  TT_CMap10Rec_
   {
     FT_ULong    language;           /* for Mac fonts */
 
@@ -1039,23 +1039,23 @@
 
     FT_UShort*  glyphs;
 
-  } TT_CMap10;
+  } TT_CMap10Rec, *TT_CMap10;
 
 
-  typedef struct TT_CMapTable_  TT_CMapTable;
+  typedef struct TT_CMapTableRec_*  TT_CMapTable;
 
 
   typedef FT_UInt
-  (*TT_CharMap_Func)( TT_CMapTable*  charmap,
+  (*TT_CharMap_Func)( TT_CMapTable   charmap,
                       FT_ULong       char_code );
 
   typedef FT_ULong
-  (*TT_CharNext_Func)( TT_CMapTable* charmap,
+  (*TT_CharNext_Func)( TT_CMapTable  charmap,
                        FT_ULong      char_code );
 
 
   /* charmap table */
-  struct  TT_CMapTable_
+  typedef struct  TT_CMapTableRec_
   {
     FT_UShort  platformID;
     FT_UShort  platformEncodingID;
@@ -1067,17 +1067,18 @@
 
     union
     {
-      TT_CMap0     cmap0;
-      TT_CMap2     cmap2;
-      TT_CMap4     cmap4;
-      TT_CMap6     cmap6;
-      TT_CMap8_12  cmap8_12;
-      TT_CMap10    cmap10;
+      TT_CMap0Rec     cmap0;
+      TT_CMap2Rec     cmap2;
+      TT_CMap4Rec     cmap4;
+      TT_CMap6Rec     cmap6;
+      TT_CMap8_12Rec  cmap8_12;
+      TT_CMap10Rec    cmap10;
     } c;
 
     TT_CharMap_Func  get_index;
     TT_CharNext_Func get_next_char;
-  };
+    
+  } TT_CMapTableRec;
 
 
   /*************************************************************************/
@@ -1095,8 +1096,8 @@
   /*                                                                       */
   typedef struct  TT_CharMapRec_
   {
-    FT_CharMapRec  root;
-    TT_CMapTable   cmap;
+    FT_CharMapRec    root;
+    TT_CMapTableRec  cmap;
 
   } TT_CharMapRec;
 
@@ -1161,7 +1162,7 @@
   (*TT_Interpreter)( void*  exec_context );
 
   /* forward declaration */
-  typedef struct TT_Loader_  TT_Loader;
+  typedef struct TT_LoaderRec_*  TT_Loader;
 
 
   /*************************************************************************/
@@ -1199,7 +1200,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
-  /*    TT_Access_Glyph_Frame_Func                                         */
+  /*    TT_Loader_StartGlyphFunc                                           */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Seeks a stream to the start of a given glyph element, and opens a  */
@@ -1225,7 +1226,7 @@
   /*    different.                                                         */
   /*                                                                       */
   typedef FT_Error
-  (*TT_Access_Glyph_Frame_Func)( TT_Loader*  loader,
+  (*TT_Loader_StartGlyphFunc)( TT_Loader   loader,
                                  FT_UInt     glyph_index,
                                  FT_ULong    offset,
                                  FT_UInt     byte_count );
@@ -1234,7 +1235,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
-  /*    TT_Load_Glyph_Element_Func                                         */
+  /*    TT_Loader_ReadGlyphFunc                                            */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Reads one glyph element (its header, a simple glyph, or a          */
@@ -1247,13 +1248,13 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   typedef FT_Error
-  (*TT_Load_Glyph_Element_Func)( TT_Loader*  loader );
+  (*TT_Loader_ReadGlyphFunc)( TT_Loader   loader );
 
 
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
-  /*    TT_Forget_Glyph_Frame_Func                                         */
+  /*    TT_Loader_EndGlyphFunc                                             */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Closes the current loader stream frame for the glyph.              */
@@ -1262,7 +1263,7 @@
   /*    loader :: The current TrueType glyph loader object.                */
   /*                                                                       */
   typedef void
-  (*TT_Forget_Glyph_Frame_Func)( TT_Loader*  loader );
+  (*TT_Loader_EndGlyphFunc)( TT_Loader   loader );
 
 
 
@@ -1452,11 +1453,11 @@
   {
     FT_FaceRec         root;
 
-    TTC_Header         ttc_header;
+    TTC_HeaderRec      ttc_header;
 
     FT_ULong           format_tag;
     FT_UShort          num_tables;
-    TT_Table*          dir_tables;
+    TT_Table           dir_tables;
 
     TT_Header          header;       /* TrueType header table          */
     TT_HoriHeader      horizontal;   /* TrueType horizontal header     */
@@ -1468,7 +1469,7 @@
     TT_VertHeader      vertical;     /* TT Vertical header, if present */
 
     FT_UShort          num_names;    /* number of name records  */
-    TT_NameTable       name_table;   /* name table              */
+    TT_NameTableRec    name_table;   /* name table              */
 
     TT_OS2             os2;          /* TrueType OS/2 table            */
     TT_Postscript      postscript;   /* TrueType Postscript table      */
@@ -1487,11 +1488,11 @@
 
     TT_Goto_Table_Func          goto_table;
 
-    TT_Access_Glyph_Frame_Func  access_glyph_frame;
-    TT_Load_Glyph_Element_Func  read_glyph_header;
-    TT_Load_Glyph_Element_Func  read_simple_glyph;
-    TT_Load_Glyph_Element_Func  read_composite_glyph;
-    TT_Forget_Glyph_Frame_Func  forget_glyph_frame;
+    TT_Loader_StartGlyphFunc    access_glyph_frame;
+    TT_Loader_EndGlyphFunc      forget_glyph_frame;
+    TT_Loader_ReadGlyphFunc     read_glyph_header;
+    TT_Loader_ReadGlyphFunc     read_simple_glyph;
+    TT_Loader_ReadGlyphFunc     read_composite_glyph;
 
     /* a typeless pointer to the SFNT_Interface table used to load     */
     /* the basic TrueType tables in the face object                    */
@@ -1508,10 +1509,10 @@
     /***********************************************************************/
 
     /* horizontal device metrics */
-    TT_Hdmx            hdmx;
+    TT_HdmxRec         hdmx;
 
     /* grid-fitting and scaling table */
-    TT_Gasp            gasp;                 /* the `gasp' table */
+    TT_GaspRec         gasp;                 /* the `gasp' table */
 
     /* PCL 5 table */
     TT_PCLT            pclt;
@@ -1518,13 +1519,13 @@
 
     /* embedded bitmaps support */
     FT_Int             num_sbit_strikes;
-    TT_SBit_Strike*    sbit_strikes;
+    TT_SBit_Strike     sbit_strikes;
 
     FT_Int             num_sbit_scales;
-    TT_SBit_Scale*     sbit_scales;
+    TT_SBit_Scale      sbit_scales;
 
     /* postscript names table */
-    TT_Post_Names      postscript_names;
+    TT_Post_NamesRec      postscript_names;
 
 
     /***********************************************************************/
@@ -1552,7 +1553,7 @@
     /* the format 0 kerning table, if any */
     FT_Int             num_kern_pairs;
     FT_Int             kern_table_index;
-    TT_Kern_0_Pair*    kern_pairs;
+    TT_Kern0_Pair      kern_pairs;
 
     /* A pointer to the bytecode interpreter to use.  This is also */
     /* used to hook the debugger for the `ttdebug' utility.        */
@@ -1566,7 +1567,7 @@
     /*                                                                     */
     /***********************************************************************/
 
-    FT_Generic      extra;
+    FT_Generic         extra;
 
   } TT_FaceRec;
 
@@ -1574,7 +1575,7 @@
   /*************************************************************************/
   /*                                                                       */
   /*  <Struct>                                                             */
-  /*     TT_GlyphZone                                                      */
+  /*     TT_GlyphZoneRec                                                   */
   /*                                                                       */
   /*  <Description>                                                        */
   /*     A glyph zone is used to load, scale and hint glyph outline        */
@@ -1600,7 +1601,7 @@
   /*                                                                       */
   /*     contours     :: The contours end points.                          */
   /*                                                                       */
-  typedef struct  TT_GlyphZone_
+  typedef struct  TT_GlyphZoneRec_
   {
     FT_Memory   memory;
     FT_UShort   max_points;
@@ -1614,7 +1615,7 @@
     FT_Byte*    tags;       /* current touch flags         */
     FT_UShort*  contours;   /* contour end points          */
 
-  } TT_GlyphZone;
+  } TT_GlyphZoneRec, *TT_GlyphZone;
 
 
   /* handle to execution context */
@@ -1621,7 +1622,7 @@
   typedef struct TT_ExecContextRec_*  TT_ExecContext;
 
   /* glyph loader structure */
-  struct  TT_Loader_
+  typedef struct  TT_LoaderRec_
   {
     FT_Face          face;
     FT_Size          size;
@@ -1647,8 +1648,8 @@
     FT_ULong         glyf_offset;
 
     /* the zone where we load our glyphs */
-    TT_GlyphZone     base;
-    TT_GlyphZone     zone;
+    TT_GlyphZoneRec  base;
+    TT_GlyphZoneRec  zone;
 
     TT_ExecContext   exec;
     FT_Byte*         instructions;
@@ -1656,7 +1657,8 @@
 
     /* for possible extensibility in other formats */
     void*            other;
-  };
+    
+  } TT_LoaderRec;
 
 
 FT_END_HEADER
--- a/src/base/ftnames.c
+++ b/src/base/ftnames.c
@@ -53,7 +53,7 @@
 
       if ( idx < (FT_UInt)ttface->num_names )
       {
-        TT_NameRec*  name = ttface->name_table.names + idx;
+        TT_NameEntryRec*  name = ttface->name_table.names + idx;
 
 
         aname->platform_id = name->platformID;
--- a/src/cff/cffdrivr.c
+++ b/src/cff/cffdrivr.c
@@ -97,7 +97,7 @@
                FT_UInt     right_glyph,
                FT_Vector*  kerning )
   {
-    TT_Kern_0_Pair*  pair;
+    TT_Kern0_Pair  pair;
 
 
     if ( !face )
@@ -295,7 +295,7 @@
   {
     FT_Error       error;
     CFF_Face       face;
-    TT_CMapTable*  cmap;
+    TT_CMapTable   cmap;
 
 
     cmap = &charmap->cmap;
@@ -339,7 +339,7 @@
   {
     FT_Error       error;
     CFF_Face       face;
-    TT_CMapTable*  cmap;
+    TT_CMapTable   cmap;
 
 
     cmap = &charmap->cmap;
--- a/src/pshinter/pshglob.h
+++ b/src/pshinter/pshglob.h
@@ -21,7 +21,6 @@
 
 
 #include FT_FREETYPE_H
-#include FT_INTERNAL_POSTSCRIPT_GLOBALS_H
 #include FT_INTERNAL_POSTSCRIPT_HINTS_H
 
 
--- a/src/sfnt/sfdriver.c
+++ b/src/sfnt/sfdriver.c
@@ -128,7 +128,7 @@
     
     for ( n = 0; n < face->num_names; n++ )
     {
-      TT_NameRec*  name = face->name_table.names + n;
+      TT_NameEntryRec*  name = face->name_table.names + n;
 
 
       if ( name->nameID == 6 && name->string != NULL )
@@ -148,7 +148,7 @@
     if ( found_win )
     {
       FT_Memory    memory = face->root.memory;
-      TT_NameRec*  name   = face->name_table.names + found_win;
+      TT_NameEntryRec*  name   = face->name_table.names + found_win;
       FT_UInt      len    = name->stringLength/2;
       FT_Error     error;
       FT_String*   result;
@@ -171,7 +171,7 @@
     if ( found_apple )
     {
       FT_Memory    memory = face->root.memory;
-      TT_NameRec*  name   = face->name_table.names + found_win;
+      TT_NameEntryRec*  name   = face->name_table.names + found_win;
       FT_UInt      len    = name->stringLength;
       FT_Error     error;
       FT_String*   result;
@@ -223,7 +223,7 @@
     SFNT_Get_Interface,
 
     TT_Load_Any,
-    TT_Load_SFNT_Header,
+    TT_Load_SFNT_HeaderRec,
     TT_Load_Directory,
 
     TT_Load_Header,
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -59,7 +59,7 @@
   {
     FT_Memory    memory = face->root.memory;
     FT_UShort    n;
-    TT_NameRec*  rec;
+    TT_NameEntryRec*  rec;
     FT_Bool      wide_chars    = 1;
     FT_Int       found_apple   = -1;
     FT_Int       found_win     = -1;
@@ -215,7 +215,7 @@
     FT_Error         error;
     FT_Library       library = face->root.driver->root.library;
     SFNT_Service     sfnt;
-    SFNT_Header      sfnt_header;
+    SFNT_HeaderRec      sfnt_header;
 
     /* for now, parameters are unused */
     FT_UNUSED( num_params );
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -35,51 +35,51 @@
 
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index0( TT_CMapTable*  charmap,
+  code_to_index0( TT_CMapTable   charmap,
                   FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next0( TT_CMapTable*  charmap,
+  code_to_next0( TT_CMapTable   charmap,
                  FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index2( TT_CMapTable*  charmap,
+  code_to_index2( TT_CMapTable   charmap,
                   FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next2( TT_CMapTable*  charmap,
+  code_to_next2( TT_CMapTable   charmap,
                  FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index4( TT_CMapTable*  charmap,
+  code_to_index4( TT_CMapTable   charmap,
                   FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next4( TT_CMapTable*  charmap,
+  code_to_next4( TT_CMapTable   charmap,
                  FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index6( TT_CMapTable*  charmap,
+  code_to_index6( TT_CMapTable   charmap,
                   FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next6( TT_CMapTable*  charmap,
+  code_to_next6( TT_CMapTable   charmap,
                  FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index8_12( TT_CMapTable*  charmap,
+  code_to_index8_12( TT_CMapTable   charmap,
                      FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next8_12( TT_CMapTable*  charmap,
+  code_to_next8_12( TT_CMapTable   charmap,
                     FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index10( TT_CMapTable*  charmap,
+  code_to_index10( TT_CMapTable   charmap,
                    FT_ULong       char_code );
 
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next10( TT_CMapTable*  charmap,
+  code_to_next10( TT_CMapTable   charmap,
                   FT_ULong       char_code );
 
 
@@ -108,7 +108,7 @@
   /*                                                                       */
   FT_LOCAL_DEF( FT_Error )
   TT_CharMap_Load( TT_Face        face,
-                   TT_CMapTable*  cmap,
+                   TT_CMapTable   cmap,
                    FT_Stream      stream )
   {
     FT_Error      error;
@@ -118,16 +118,16 @@
 
     FT_UShort     u, l;
 
-    TT_CMap0*     cmap0;
-    TT_CMap2*     cmap2;
-    TT_CMap4*     cmap4;
-    TT_CMap6*     cmap6;
-    TT_CMap8_12*  cmap8_12;
-    TT_CMap10*    cmap10;
+    TT_CMap0      cmap0;
+    TT_CMap2      cmap2;
+    TT_CMap4      cmap4;
+    TT_CMap6      cmap6;
+    TT_CMap8_12  cmap8_12;
+    TT_CMap10    cmap10;
 
-    TT_CMap2SubHeader*  cmap2sub;
-    TT_CMap4Segment*    segments;
-    TT_CMapGroup*       groups;
+    TT_CMap2SubHeader   cmap2sub;
+    TT_CMap4Segment     segments;
+    TT_CMapGroup        groups;
 
 
     if ( cmap->loaded )
@@ -182,7 +182,7 @@
 
       if ( ALLOC_ARRAY( cmap2->subHeaders,
                         num_SH + 1,
-                        TT_CMap2SubHeader )    ||
+                        TT_CMap2SubHeaderRec )    ||
            ACCESS_Frame( ( num_SH + 1 ) * 8L ) )
       {
         FREE( cmap2->subHeaderKeys );
@@ -246,7 +246,7 @@
 
       if ( ALLOC_ARRAY( cmap4->segments,
                         num_Seg,
-                        TT_CMap4Segment )           ||
+                        TT_CMap4SegmentRec )           ||
            ACCESS_Frame( ( num_Seg * 4 + 1 ) * 2L ) )
         goto Fail;
 
@@ -338,7 +338,7 @@
 
       n = cmap8_12->nGroups;
 
-      if ( ALLOC_ARRAY( cmap8_12->groups, n, TT_CMapGroup ) ||
+      if ( ALLOC_ARRAY( cmap8_12->groups, n, TT_CMapGroupRec ) ||
            ACCESS_Frame( n * 3 * 4L )                       )
         goto Fail;
 
@@ -416,7 +416,7 @@
   /*                                                                       */
   FT_LOCAL_DEF( FT_Error )
   TT_CharMap_Free( TT_Face        face,
-                   TT_CMapTable*  cmap )
+                   TT_CMapTable   cmap )
   {
     FT_Memory  memory;
 
@@ -488,10 +488,10 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index0( TT_CMapTable*  cmap,
+  code_to_index0( TT_CMapTable   cmap,
                   FT_ULong       charCode )
   {
-    TT_CMap0*  cmap0 = &cmap->c.cmap0;
+    TT_CMap0   cmap0 = &cmap->c.cmap0;
 
 
     return ( charCode <= 0xFF ? cmap0->glyphIdArray[charCode] : 0 );
@@ -516,10 +516,10 @@
   /*    Next char code.  0 if no higher one is encoded.                    */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next0( TT_CMapTable*  cmap,
+  code_to_next0( TT_CMapTable   cmap,
                  FT_ULong       charCode )
   {
-    TT_CMap0*  cmap0 = &cmap->c.cmap0;
+    TT_CMap0   cmap0 = &cmap->c.cmap0;
 
 
     while ( ++charCode <= 0xFF )
@@ -545,14 +545,14 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index2( TT_CMapTable*  cmap,
+  code_to_index2( TT_CMapTable   cmap,
                   FT_ULong       charCode )
   {
     FT_UInt             result, index1, offset;
     FT_UInt             char_lo;
     FT_ULong            char_hi;
-    TT_CMap2SubHeader*  sh2;
-    TT_CMap2*           cmap2;
+    TT_CMap2SubHeader   sh2;
+    TT_CMap2            cmap2;
 
 
     cmap2   = &cmap->c.cmap2;
@@ -610,14 +610,14 @@
   /*    Next encoded character.  0 if none exists.                         */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next2( TT_CMapTable*  cmap,
+  code_to_next2( TT_CMapTable   cmap,
                  FT_ULong       charCode )
   {
     FT_UInt             index1, offset;
     FT_UInt             char_lo;
     FT_ULong            char_hi;
-    TT_CMap2SubHeader*  sh2;
-    TT_CMap2*           cmap2;
+    TT_CMap2SubHeader   sh2;
+    TT_CMap2            cmap2;
 
 
     cmap2 = &cmap->c.cmap2;
@@ -693,12 +693,12 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index4( TT_CMapTable*  cmap,
+  code_to_index4( TT_CMapTable   cmap,
                   FT_ULong       charCode )
   {
     FT_UInt          result, index1, segCount;
-    TT_CMap4*        cmap4;
-    TT_CMap4Segment  *seg4, *limit;
+    TT_CMap4         cmap4;
+    TT_CMap4SegmentRec  *seg4, *limit;
 
 
     cmap4    = &cmap->c.cmap4;
@@ -777,12 +777,12 @@
   /*    Next encoded character.  0 if none exists.                         */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next4( TT_CMapTable*  cmap,
+  code_to_next4( TT_CMapTable   cmap,
                  FT_ULong       charCode )
   {
     FT_UInt          index1, segCount;
-    TT_CMap4*        cmap4;
-    TT_CMap4Segment  *seg4, *limit;
+    TT_CMap4         cmap4;
+    TT_CMap4SegmentRec  *seg4, *limit;
 
 
     cmap4    = &cmap->c.cmap4;
@@ -844,10 +844,10 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index6( TT_CMapTable*  cmap,
+  code_to_index6( TT_CMapTable   cmap,
                   FT_ULong       charCode )
   {
-    TT_CMap6*  cmap6;
+    TT_CMap6   cmap6;
     FT_UInt    result = 0;
 
 
@@ -877,10 +877,10 @@
   /*    Next encoded character.  0 if none exists.                         */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next6( TT_CMapTable*  cmap,
+  code_to_next6( TT_CMapTable   cmap,
                  FT_ULong       charCode )
   {
-    TT_CMap6*  cmap6;
+    TT_CMap6   cmap6;
 
 
     charCode++;
@@ -920,11 +920,11 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index8_12( TT_CMapTable*  cmap,
+  code_to_index8_12( TT_CMapTable   cmap,
                      FT_ULong       charCode )
   {
-    TT_CMap8_12*  cmap8_12;
-    TT_CMapGroup  *group, *limit;
+    TT_CMap8_12  cmap8_12;
+    TT_CMapGroupRec  *group, *limit;
 
 
     cmap8_12 = &cmap->c.cmap8_12;
@@ -984,11 +984,11 @@
   /*    Next encoded character.  0 if none exists.                         */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next8_12( TT_CMapTable*  cmap,
+  code_to_next8_12( TT_CMapTable   cmap,
                     FT_ULong       charCode )
   {
-    TT_CMap8_12*  cmap8_12;
-    TT_CMapGroup  *group, *limit;
+    TT_CMap8_12  cmap8_12;
+    TT_CMapGroupRec  *group, *limit;
 
 
     charCode++;
@@ -1030,10 +1030,10 @@
   /*    Glyph index into the glyphs array.  0 if the glyph does not exist. */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_UInt )
-  code_to_index10( TT_CMapTable*  cmap,
+  code_to_index10( TT_CMapTable   cmap,
                    FT_ULong       charCode )
   {
-    TT_CMap10*  cmap10;
+    TT_CMap10  cmap10;
     FT_UInt     result = 0;
 
 
@@ -1067,10 +1067,10 @@
   /*    Next encoded character.  0 if none exists.                         */
   /*                                                                       */
   FT_CALLBACK_DEF( FT_ULong )
-  code_to_next10( TT_CMapTable*  cmap,
+  code_to_next10( TT_CMapTable   cmap,
                   FT_ULong       charCode )
   {
-    TT_CMap10*  cmap10;
+    TT_CMap10  cmap10;
 
 
     charCode++;
--- a/src/sfnt/ttcmap.h
+++ b/src/sfnt/ttcmap.h
@@ -29,12 +29,12 @@
 
   FT_LOCAL( FT_Error )
   TT_CharMap_Load( TT_Face        face,
-                   TT_CMapTable*  cmap,
+                   TT_CMapTable   cmap,
                    FT_Stream      input );
 
   FT_LOCAL( FT_Error )
   TT_CharMap_Free( TT_Face        face,
-                   TT_CMapTable*  cmap );
+                   TT_CMapTable   cmap );
 
 
 FT_END_HEADER
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -53,12 +53,12 @@
   /* <Return>                                                              */
   /*    A pointer to the table directory entry.  0 if not found.           */
   /*                                                                       */
-  FT_LOCAL_DEF( TT_Table* )
+  FT_LOCAL_DEF( TT_Table  )
   TT_LookUp_Table( TT_Face   face,
                    FT_ULong  tag  )
   {
-    TT_Table*  entry;
-    TT_Table*  limit;
+    TT_Table   entry;
+    TT_Table   limit;
 
 
     FT_TRACE3(( "TT_LookUp_Table: %08p, `%c%c%c%c' -- ",
@@ -110,7 +110,7 @@
                  FT_Stream  stream,
                  FT_ULong*  length )
   {
-    TT_Table*  table;
+    TT_Table   table;
     FT_Error   error;
 
 
@@ -134,7 +134,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
-  /*    TT_Load_SFNT_Header                                                */
+  /*    TT_Load_SFNT_HeaderRec                                                */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Loads the header of a SFNT font file.  Supports collections.       */
@@ -160,10 +160,10 @@
   /*    values of `search_range', `entry_selector', and `range_shift'.     */
   /*                                                                       */
   FT_LOCAL_DEF( FT_Error )
-  TT_Load_SFNT_Header( TT_Face       face,
+  TT_Load_SFNT_HeaderRec( TT_Face       face,
                        FT_Stream     stream,
                        FT_Long       face_index,
-                       SFNT_Header*  sfnt )
+                       SFNT_Header   sfnt )
   {
     FT_Error   error;
     FT_ULong   format_tag;
@@ -172,7 +172,7 @@
     const FT_Frame_Field  sfnt_header_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  SFNT_Header
+#define FT_STRUCTURE  SFNT_HeaderRec
 
       FT_FRAME_START( 8 ),
         FT_FRAME_USHORT( num_tables ),
@@ -185,7 +185,7 @@
     const FT_Frame_Field  ttc_header_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TTC_Header
+#define FT_STRUCTURE  TTC_HeaderRec
 
       FT_FRAME_START( 8 ),
         FT_FRAME_LONG( version ),
@@ -193,7 +193,7 @@
       FT_FRAME_END };
 
 
-    FT_TRACE2(( "TT_Load_SFNT_Header: %08p, %ld\n",
+    FT_TRACE2(( "TT_Load_SFNT_HeaderRec: %08p, %ld\n",
                 face, face_index ));
 
     face->ttc_header.tag      = 0;
@@ -213,7 +213,7 @@
       FT_Int  n;
 
 
-      FT_TRACE3(( "TT_Load_SFNT_Header: file is a collection\n" ));
+      FT_TRACE3(( "TT_Load_SFNT_HeaderRec: file is a collection\n" ));
 
       /* it's a TrueType collection, i.e. a file containing several */
       /* font files.  Read the font directory now                   */
@@ -263,7 +263,7 @@
            entry_selector > num_tables      ||
            entry_selector * 2 <= num_tables )
       {
-        FT_TRACE2(( "TT_Load_SFNT_Header: file is not SFNT!\n" ));
+        FT_TRACE2(( "TT_Load_SFNT_HeaderRec: file is not SFNT!\n" ));
         error = SFNT_Err_Unknown_File_Format;
       }
     }
@@ -297,12 +297,12 @@
   FT_LOCAL_DEF( FT_Error )
   TT_Load_Directory( TT_Face       face,
                      FT_Stream     stream,
-                     SFNT_Header*  sfnt )
+                     SFNT_Header   sfnt )
   {
     FT_Error   error;
     FT_Memory  memory = stream->memory;
 
-    TT_Table *entry, *limit;
+    TT_TableRec *entry, *limit;
 
 
     FT_TRACE2(( "TT_Load_Directory: %08p\n", face ));
@@ -314,7 +314,7 @@
 
     if ( ALLOC_ARRAY( face->dir_tables,
                       face->num_tables,
-                      TT_Table ) )
+                      TT_TableRec ) )
       goto Exit;
 
     if ( ACCESS_Frame( face->num_tables * 16L ) )
@@ -397,7 +397,7 @@
   {
     FT_Error   error;
     FT_Stream  stream;
-    TT_Table*  table;
+    TT_Table   table;
     FT_ULong   size;
 
 
@@ -687,7 +687,7 @@
     FT_ULong   table_len;
     FT_Long    num_shorts, num_longs, num_shorts_checked;
 
-    TT_LongMetrics**   longs;
+    TT_LongMetrics *   longs;
     TT_ShortMetrics**  shorts;
 
 
@@ -715,7 +715,7 @@
       }
 
       num_longs = face->vertical.number_Of_VMetrics;
-      longs     = (TT_LongMetrics**)&face->vertical.long_metrics;
+      longs     = (TT_LongMetrics *)&face->vertical.long_metrics;
       shorts    = (TT_ShortMetrics**)&face->vertical.short_metrics;
     }
     else
@@ -729,7 +729,7 @@
       }
 
       num_longs = face->horizontal.number_Of_HMetrics;
-      longs     = (TT_LongMetrics**)&face->horizontal.long_metrics;
+      longs     = (TT_LongMetrics *)&face->horizontal.long_metrics;
       shorts    = (TT_ShortMetrics**)&face->horizontal.short_metrics;
     }
 
@@ -749,7 +749,7 @@
       goto Exit;
     }
 
-    if ( ALLOC_ARRAY( *longs,  num_longs,  TT_LongMetrics )  ||
+    if ( ALLOC_ARRAY( *longs,  num_longs,  TT_LongMetricsRec )  ||
          ALLOC_ARRAY( *shorts, num_shorts, TT_ShortMetrics ) )
       goto Exit;
 
@@ -757,8 +757,8 @@
       goto Exit;
 
     {
-      TT_LongMetrics*  cur   = *longs;
-      TT_LongMetrics*  limit = cur + num_longs;
+      TT_LongMetrics   cur   = *longs;
+      TT_LongMetrics   limit = cur + num_longs;
 
 
       for ( ; cur < limit; cur++ )
@@ -926,12 +926,12 @@
     FT_ULong   storageOffset, storageSize;
     FT_Byte*   storage;
 
-    TT_NameTable*  names;
+    TT_NameTable   names;
 
     const FT_Frame_Field  name_table_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_NameTable
+#define FT_STRUCTURE  TT_NameTableRec
 
       FT_FRAME_START( 6 ),
         FT_FRAME_USHORT( format ),
@@ -943,7 +943,7 @@
     const FT_Frame_Field  name_record_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_NameRec
+#define FT_STRUCTURE  TT_NameEntryRec
 
       /* no FT_FRAME_START */
         FT_FRAME_USHORT( platformID ),
@@ -988,7 +988,7 @@
 
     /* Allocate the array of name records. */
     if ( ALLOC( names->names,
-                names->numNameRecords*sizeof(TT_NameRec) + storageSize )  ||
+                names->numNameRecords*sizeof(TT_NameEntryRec) + storageSize )  ||
          ACCESS_Frame( names->numNameRecords * 12L ) )
       goto Exit;
 
@@ -997,8 +997,8 @@
     /* Load the name records and determine how much storage is needed */
     /* to hold the strings themselves.                                */
     {
-      TT_NameRec*  cur   = names->names;
-      TT_NameRec*  limit = cur + names->numNameRecords;
+      TT_NameEntryRec*  cur   = names->names;
+      TT_NameEntryRec*  limit = cur + names->numNameRecords;
 
 
       for ( ; cur < limit; cur ++ )
@@ -1033,8 +1033,8 @@
 
       /* Print Name Record Table in case of debugging */
       {
-        TT_NameRec*  cur   = names->names;
-        TT_NameRec*  limit = cur + names->numNameRecords;
+        TT_NameEntryRec*  cur   = names->names;
+        TT_NameEntryRec*  limit = cur + names->numNameRecords;
 
 
         for ( ; cur < limit; cur++ )
@@ -1093,7 +1093,7 @@
   TT_Free_Names( TT_Face  face )
   {
     FT_Memory      memory = face->root.driver->root.memory;
-    TT_NameTable*  names  = &face->name_table;
+    TT_NameTable   names  = &face->name_table;
 
 
     /* free strings table */
@@ -1128,15 +1128,15 @@
   TT_Load_CMap( TT_Face    face,
                 FT_Stream  stream )
   {
-    FT_Error    error;
-    FT_Memory   memory = stream->memory;
-    FT_Long     table_start;
-    TT_CMapDir  cmap_dir;
+    FT_Error       error;
+    FT_Memory      memory = stream->memory;
+    FT_Long        table_start;
+    TT_CMapDirRec  cmap_dir;
 
     const FT_Frame_Field  cmap_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_CMapDir
+#define FT_STRUCTURE  TT_CMapDirRec
 
       FT_FRAME_START( 4 ),
         FT_FRAME_USHORT( tableVersionNumber ),
@@ -1147,7 +1147,7 @@
     const FT_Frame_Field  cmap_rec_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_CMapTable
+#define FT_STRUCTURE  TT_CMapTableRec
 
       FT_FRAME_START( 4 ),
         FT_FRAME_USHORT( format ),
@@ -1188,7 +1188,7 @@
 
       for ( ; charmap < limit; charmap++ )
       {
-        TT_CMapTable*  cmap;
+        TT_CMapTable   cmap;
 
 
         charmap->root.face = (FT_Face)face;
@@ -1205,7 +1205,7 @@
       /* now read the rest of each table */
       for ( charmap = face->charmaps; charmap < limit; charmap++ )
       {
-        TT_CMapTable* cmap = &charmap->cmap;
+        TT_CMapTable  cmap = &charmap->cmap;
 
 
         if ( FILE_Seek( table_start + (FT_Long)cmap->offset ) ||
@@ -1513,7 +1513,7 @@
     FT_Memory  memory = stream->memory;
 
     FT_UInt        j,num_ranges;
-    TT_GaspRange*  gaspranges;
+    TT_GaspRange   gaspranges;
 
 
     FT_TRACE2(( "TT_Load_Gasp: %08p\n", face ));
@@ -1534,7 +1534,7 @@
     num_ranges = face->gasp.numRanges;
     FT_TRACE3(( "number of ranges = %d\n", num_ranges ));
 
-    if ( ALLOC_ARRAY( gaspranges, num_ranges, TT_GaspRange ) ||
+    if ( ALLOC_ARRAY( gaspranges, num_ranges, TT_GaspRangeRec ) ||
          ACCESS_Frame( num_ranges * 4L )                     )
       goto Exit;
 
@@ -1623,8 +1623,8 @@
       if ( coverage == 0x0001 )
       {
         FT_UInt          num_pairs;
-        TT_Kern_0_Pair*  pair;
-        TT_Kern_0_Pair*  limit;
+        TT_Kern0_Pair  pair;
+        TT_Kern0_Pair  limit;
 
 
         /* found a horizontal format 0 kerning table! */
@@ -1638,7 +1638,7 @@
         FORGET_Frame();
 
         /* allocate array of kerning pairs */
-        if ( ALLOC_ARRAY( face->kern_pairs, num_pairs, TT_Kern_0_Pair ) ||
+        if ( ALLOC_ARRAY( face->kern_pairs, num_pairs, TT_Kern0_PairRec ) ||
              ACCESS_Frame( 6L * num_pairs )                             )
           goto Exit;
 
@@ -1660,7 +1660,7 @@
         /* fonts have unsorted tables!)                            */
         {
           FT_UInt          i;
-          TT_Kern_0_Pair*  pair0;
+          TT_Kern0_Pair  pair0;
 
 
           pair0 = face->kern_pairs;
@@ -1670,7 +1670,7 @@
             if ( tt_kern_pair_compare( pair0, pair0 + 1 ) != -1 )
             {
               qsort( (void*)face->kern_pairs, (int)num_pairs,
-                     sizeof ( TT_Kern_0_Pair ), tt_kern_pair_compare );
+                     sizeof ( TT_Kern0_PairRec ), tt_kern_pair_compare );
               break;
             }
           }
@@ -1700,8 +1700,8 @@
   tt_kern_pair_compare( const void*  a,
                         const void*  b )
   {
-    TT_Kern_0_Pair*  pair1 = (TT_Kern_0_Pair*)a;
-    TT_Kern_0_Pair*  pair2 = (TT_Kern_0_Pair*)b;
+    TT_Kern0_Pair  pair1 = (TT_Kern0_Pair)a;
+    TT_Kern0_Pair  pair2 = (TT_Kern0_Pair)b;
 
     FT_ULong  index1 = TT_KERN_INDEX( pair1->left, pair1->right );
     FT_ULong  index2 = TT_KERN_INDEX( pair2->left, pair2->right );
@@ -1736,7 +1736,7 @@
     FT_Error  error;
     FT_Memory memory = stream->memory;
 
-    TT_Hdmx*  hdmx = &face->hdmx;
+    TT_Hdmx   hdmx = &face->hdmx;
     FT_Long   num_glyphs;
     FT_Long   record_size;
 
@@ -1763,7 +1763,7 @@
     if ( hdmx->version != 0 )
       goto Exit;
 
-    if ( ALLOC_ARRAY( hdmx->records, hdmx->num_records, TT_HdmxRec ) )
+    if ( ALLOC_ARRAY( hdmx->records, hdmx->num_records, TT_HdmxEntryRec ) )
       goto Exit;
 
     num_glyphs   = face->root.num_glyphs;
@@ -1770,8 +1770,8 @@
     record_size -= num_glyphs + 2;
 
     {
-      TT_HdmxRec*  cur   = hdmx->records;
-      TT_HdmxRec*  limit = cur + hdmx->num_records;
+      TT_HdmxEntry  cur   = hdmx->records;
+      TT_HdmxEntry  limit = cur + hdmx->num_records;
 
 
       for ( ; cur < limit; cur++ )
--- a/src/sfnt/ttload.h
+++ b/src/sfnt/ttload.h
@@ -29,7 +29,7 @@
 FT_BEGIN_HEADER
 
 
-  FT_LOCAL( TT_Table* )
+  FT_LOCAL( TT_Table  )
   TT_LookUp_Table( TT_Face   face,
                    FT_ULong  tag );
 
@@ -41,15 +41,15 @@
 
 
   FT_LOCAL( FT_Error )
-  TT_Load_SFNT_Header( TT_Face       face,
+  TT_Load_SFNT_HeaderRec( TT_Face       face,
                        FT_Stream     stream,
                        FT_Long       face_index,
-                       SFNT_Header*  sfnt );
+                       SFNT_Header   sfnt );
 
   FT_LOCAL( FT_Error )
   TT_Load_Directory( TT_Face       face,
                      FT_Stream     stream,
-                     SFNT_Header*  sfnt );
+                     SFNT_Header   sfnt );
 
   FT_LOCAL( FT_Error )
   TT_Load_Any( TT_Face    face,
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -241,7 +241,7 @@
 
     /* all right, set table fields and exit successfuly */
     {
-      TT_Post_20*  table = &face->postscript_names.names.format_20;
+      TT_Post_20   table = &face->postscript_names.names.format_20;
 
 
       table->num_glyphs    = (FT_UShort)num_glyphs;
@@ -316,7 +316,7 @@
 
     /* OK, set table fields and exit successfuly */
     {
-      TT_Post_25*  table = &face->postscript_names.names.format_25;
+      TT_Post_25   table = &face->postscript_names.names.format_25;
 
 
       table->num_glyphs = (FT_UShort)num_glyphs;
@@ -381,7 +381,7 @@
   TT_Free_Post_Names( TT_Face  face )
   {
     FT_Memory       memory = face->root.memory;
-    TT_Post_Names*  names  = &face->postscript_names;
+    TT_Post_Names   names  = &face->postscript_names;
 
 
     if ( names->loaded )
@@ -390,7 +390,7 @@
       {
       case 0x00020000L:
         {
-          TT_Post_20*  table = &names->names.format_20;
+          TT_Post_20   table = &names->names.format_20;
           FT_UShort    n;
 
 
@@ -407,7 +407,7 @@
 
       case 0x00028000L:
         {
-          TT_Post_25*  table = &names->names.format_25;
+          TT_Post_25   table = &names->names.format_25;
 
 
           FREE( table->offsets );
@@ -447,7 +447,7 @@
                   FT_String**  PSname )
   {
     FT_Error            error;
-    TT_Post_Names*      names;
+    TT_Post_Names       names;
 
 #ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
     PSNames_Service  psnames;
@@ -480,7 +480,7 @@
 
     case 0x00020000L:
       {
-        TT_Post_20*  table = &names->names.format_20;
+        TT_Post_20   table = &names->names.format_20;
 
 
         if ( !names->loaded )
@@ -505,7 +505,7 @@
 
     case 0x00028000L:
       {
-        TT_Post_25*  table = &names->names.format_25;
+        TT_Post_25   table = &names->names.format_25;
 
 
         if ( !names->loaded )
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -188,7 +188,7 @@
   const FT_Frame_Field  sbit_metrics_fields[] =
   {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_SBit_Metrics
+#define FT_STRUCTURE  TT_SBit_MetricsRec
 
     FT_FRAME_START( 8 ),
       FT_FRAME_BYTE( height ),
@@ -222,7 +222,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static FT_Error
-  Load_SBit_Const_Metrics( TT_SBit_Range*  range,
+  Load_SBit_Const_Metrics( TT_SBit_Range   range,
                            FT_Stream       stream )
   {
     FT_Error  error;
@@ -254,7 +254,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static FT_Error
-  Load_SBit_Range_Codes( TT_SBit_Range*  range,
+  Load_SBit_Range_Codes( TT_SBit_Range   range,
                          FT_Stream       stream,
                          FT_Bool         load_offsets )
   {
@@ -317,7 +317,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   static FT_Error
-  Load_SBit_Range( TT_SBit_Range*  range,
+  Load_SBit_Range( TT_SBit_Range   range,
                    FT_Stream       stream )
   {
     FT_Error   error;
@@ -404,7 +404,7 @@
     const FT_Frame_Field  sbit_line_metrics_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_SBit_Line_Metrics
+#define FT_STRUCTURE  TT_SBit_LineMetricsRec
 
       /* no FT_FRAME_START */
         FT_FRAME_CHAR( ascender ),
@@ -427,7 +427,7 @@
     const FT_Frame_Field  strike_start_fields[] =
     {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_SBit_Strike
+#define FT_STRUCTURE  TT_SBit_StrikeRec
 
       /* no FT_FRAME_START */
         FT_FRAME_ULONG( ranges_offset ),
@@ -479,7 +479,7 @@
     }
 
     /* allocate the strikes table */
-    if ( ALLOC_ARRAY( face->sbit_strikes, num_strikes, TT_SBit_Strike ) )
+    if ( ALLOC_ARRAY( face->sbit_strikes, num_strikes, TT_SBit_StrikeRec ) )
       goto Exit;
 
     face->num_sbit_strikes = num_strikes;
@@ -486,7 +486,7 @@
 
     /* now read each strike table separately */
     {
-      TT_SBit_Strike*  strike = face->sbit_strikes;
+      TT_SBit_Strike   strike = face->sbit_strikes;
       FT_ULong         count  = num_strikes;
 
 
@@ -510,19 +510,19 @@
 
     /* allocate the index ranges for each strike table */
     {
-      TT_SBit_Strike*  strike = face->sbit_strikes;
+      TT_SBit_Strike   strike = face->sbit_strikes;
       FT_ULong         count  = num_strikes;
 
 
       while ( count > 0 )
       {
-        TT_SBit_Range*  range;
+        TT_SBit_Range   range;
         FT_ULong        count2 = strike->num_ranges;
 
 
         if ( ALLOC_ARRAY( strike->sbit_ranges,
                           strike->num_ranges,
-                          TT_SBit_Range ) )
+                          TT_SBit_RangeRec ) )
           goto Exit;
 
         /* read each range */
@@ -592,8 +592,8 @@
   TT_Free_SBit_Strikes( TT_Face  face )
   {
     FT_Memory        memory       = face->root.memory;
-    TT_SBit_Strike*  strike       = face->sbit_strikes;
-    TT_SBit_Strike*  strike_limit = strike + face->num_sbit_strikes;
+    TT_SBit_Strike   strike       = face->sbit_strikes;
+    TT_SBit_Strike   strike_limit = strike + face->num_sbit_strikes;
 
 
     if ( strike )
@@ -600,8 +600,8 @@
     {
       for ( ; strike < strike_limit; strike++ )
       {
-        TT_SBit_Range*  range       = strike->sbit_ranges;
-        TT_SBit_Range*  range_limit = range + strike->num_ranges;
+        TT_SBit_Range   range       = strike->sbit_ranges;
+        TT_SBit_Range   range_limit = range + strike->num_ranges;
 
 
         if ( range )
@@ -675,11 +675,11 @@
   /*                                                                       */
   static FT_Error
   Find_SBit_Range( FT_UInt          glyph_index,
-                   TT_SBit_Strike*  strike,
-                   TT_SBit_Range**  arange,
+                   TT_SBit_Strike   strike,
+                   TT_SBit_Range *  arange,
                    FT_ULong*        aglyph_offset )
   {
-    TT_SBit_Range  *range, *range_limit;
+    TT_SBit_RangeRec  *range, *range_limit;
 
 
     /* check whether the glyph index is within this strike's */
@@ -786,12 +786,12 @@
   Find_SBit_Image( TT_Face           face,
                    FT_UInt           glyph_index,
                    FT_ULong          strike_index,
-                   TT_SBit_Range*   *arange,
-                   TT_SBit_Strike*  *astrike,
+                   TT_SBit_Range    *arange,
+                   TT_SBit_Strike   *astrike,
                    FT_ULong         *aglyph_offset )
   {
     FT_Error         error;
-    TT_SBit_Strike*  strike;
+    TT_SBit_Strike   strike;
 
 
     if ( !face->sbit_strikes                              ||
@@ -848,8 +848,8 @@
   /*                                                                       */
   static FT_Error
   Load_SBit_Metrics( FT_Stream         stream,
-                     TT_SBit_Range*    range,
-                     TT_SBit_Metrics*  metrics )
+                     TT_SBit_Range     range,
+                     TT_SBit_Metrics   metrics )
   {
     FT_Error  error = SFNT_Err_Ok;
 
@@ -861,12 +861,12 @@
     case 8:
       /* variable small metrics */
       {
-        TT_SBit_Small_Metrics  smetrics;
+        TT_SBit_SmallMetricsRec  smetrics;
 
         const FT_Frame_Field  sbit_small_metrics_fields[] =
         {
 #undef  FT_STRUCTURE
-#define FT_STRUCTURE  TT_SBit_Small_Metrics
+#define FT_STRUCTURE  TT_SBit_SmallMetricsRec
 
           FT_FRAME_START( 5 ),
             FT_FRAME_BYTE( height ),
@@ -934,7 +934,7 @@
   /*                                                                       */
   static void
   Crop_Bitmap( FT_Bitmap*        map,
-               TT_SBit_Metrics*  metrics )
+               TT_SBit_Metrics   metrics )
   {
     /***********************************************************************/
     /*                                                                     */
@@ -1129,7 +1129,7 @@
                     FT_Int            y_offset,
                     FT_Int            pix_bits,
                     FT_UShort         image_format,
-                    TT_SBit_Metrics*  metrics,
+                    TT_SBit_Metrics   metrics,
                     FT_Stream         stream )
   {
     FT_Error  error;
@@ -1204,8 +1204,8 @@
 
 
   static FT_Error
-  Load_SBit_Image( TT_SBit_Strike*   strike,
-                   TT_SBit_Range*    range,
+  Load_SBit_Image( TT_SBit_Strike    strike,
+                   TT_SBit_Range     range,
                    FT_ULong          ebdt_pos,
                    FT_ULong          glyph_offset,
                    FT_Bitmap*        map,
@@ -1212,7 +1212,7 @@
                    FT_Int            x_offset,
                    FT_Int            y_offset,
                    FT_Stream         stream,
-                   TT_SBit_Metrics*  metrics )
+                   TT_SBit_Metrics   metrics )
   {
     FT_Memory  memory = stream->memory;
     FT_Error   error;
@@ -1298,13 +1298,13 @@
     /* All right, we have a compound format.  First of all, read */
     /* the array of elements.                                    */
     {
-      TT_SBit_Component*  components;
-      TT_SBit_Component*  comp;
+      TT_SBit_Component   components;
+      TT_SBit_Component   comp;
       FT_UShort           num_components, count;
 
 
       if ( READ_UShort( num_components )                                ||
-           ALLOC_ARRAY( components, num_components, TT_SBit_Component ) )
+           ALLOC_ARRAY( components, num_components, TT_SBit_ComponentRec ) )
         goto Exit;
 
       count = num_components;
@@ -1326,8 +1326,8 @@
       comp  = components;
       for ( ; count > 0; count--, comp++ )
       {
-        TT_SBit_Range*   elem_range;
-        TT_SBit_Metrics  elem_metrics;
+        TT_SBit_Range    elem_range;
+        TT_SBit_MetricsRec  elem_metrics;
         FT_ULong         elem_offset;
 
 
@@ -1402,14 +1402,14 @@
                       FT_UInt           load_flags,
                       FT_Stream         stream,
                       FT_Bitmap        *map,
-                      TT_SBit_Metrics  *metrics )
+                      TT_SBit_MetricsRec  *metrics )
   {
     FT_Error         error;
     FT_Memory        memory = stream->memory;
     FT_ULong         ebdt_pos, glyph_offset;
 
-    TT_SBit_Strike*  strike;
-    TT_SBit_Range*   range;
+    TT_SBit_Strike   strike;
+    TT_SBit_Range    range;
 
 
     /* Check whether there is a glyph sbit for the current index */
--- a/src/sfnt/ttsbit.h
+++ b/src/sfnt/ttsbit.h
@@ -48,7 +48,7 @@
                       FT_UInt           load_flags,
                       FT_Stream         stream,
                       FT_Bitmap        *map,
-                      TT_SBit_Metrics  *metrics );
+                      TT_SBit_MetricsRec  *metrics );
 
 
 FT_END_HEADER
--- a/src/truetype/ttdriver.c
+++ b/src/truetype/ttdriver.c
@@ -94,7 +94,7 @@
                FT_UInt     right_glyph,
                FT_Vector*  kerning )
   {
-    TT_Kern_0_Pair*  pair;
+    TT_Kern0_Pair  pair;
 
 
     if ( !face )
@@ -367,7 +367,7 @@
   {
     FT_Error       error;
     TT_Face        face;
-    TT_CMapTable*  cmap;
+    TT_CMapTable   cmap;
 
 
     cmap = &charmap->cmap;
@@ -414,7 +414,7 @@
   {
     FT_Error       error;
     TT_Face        face;
-    TT_CMapTable*  cmap;
+    TT_CMapTable   cmap;
 
 
     cmap = &charmap->cmap;
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -87,13 +87,13 @@
                   FT_Short*       bearing,
                   FT_UShort*      advance )
   {
-    TT_LongMetrics*  longs_m;
+    TT_LongMetrics   longs_m;
     FT_UShort        k = header->number_Of_HMetrics;
 
 
     if ( idx < (FT_UInt)k )
     {
-      longs_m  = (TT_LongMetrics*)header->long_metrics + idx;
+      longs_m  = (TT_LongMetrics )header->long_metrics + idx;
       *bearing = longs_m->bearing;
       *advance = longs_m->advance;
     }
@@ -100,7 +100,7 @@
     else
     {
       *bearing = ((TT_ShortMetrics*)header->short_metrics)[idx - k];
-      *advance = ((TT_LongMetrics*)header->long_metrics)[k - 1].advance;
+      *advance = ((TT_LongMetrics )header->long_metrics)[k - 1].advance;
     }
   }
 
@@ -175,7 +175,7 @@
 
 
   static void
-  tt_prepare_zone( TT_GlyphZone*  zone,
+  tt_prepare_zone( TT_GlyphZone   zone,
                    FT_GlyphLoad   load,
                    FT_UInt        start_point,
                    FT_UInt        start_contour )
@@ -202,7 +202,7 @@
   /*************************************************************************/
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Access_Glyph_Frame( TT_Loader*  loader,
+  TT_Access_Glyph_Frame( TT_Loader   loader,
                          FT_UInt     glyph_index,
                          FT_ULong    offset,
                          FT_UInt     byte_count )
@@ -225,7 +225,7 @@
 
 
   FT_CALLBACK_DEF( void )
-  TT_Forget_Glyph_Frame( TT_Loader*  loader )
+  TT_Forget_Glyph_Frame( TT_Loader   loader )
   {
     FT_Stream  stream = loader->stream;
 
@@ -235,7 +235,7 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Glyph_Header( TT_Loader*  loader )
+  TT_Load_Glyph_Header( TT_Loader   loader )
   {
     FT_Stream   stream   = loader->stream;
     FT_Int      byte_len = loader->byte_len - 10;
@@ -263,7 +263,7 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Simple_Glyph( TT_Loader*  load )
+  TT_Load_Simple_Glyph( TT_Loader   load )
   {
     FT_Error         error;
     FT_Stream        stream     = load->stream;
@@ -466,7 +466,7 @@
 
 
   FT_CALLBACK_DEF( FT_Error )
-  TT_Load_Composite_Glyph( TT_Loader*  loader )
+  TT_Load_Composite_Glyph( TT_Loader   loader )
   {
     FT_Error         error;
     FT_Stream        stream  = loader->stream;
@@ -603,7 +603,7 @@
   /*    interpretation.                                                    */
   /*                                                                       */
   static FT_Error
-  TT_Process_Simple_Glyph( TT_Loader*  load,
+  TT_Process_Simple_Glyph( TT_Loader   load,
                            FT_Bool     debug )
   {
     FT_GlyphLoader   gloader  = load->gloader;
@@ -612,7 +612,7 @@
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
     FT_UInt          n_ins;
 #endif
-    TT_GlyphZone*    zone     = &load->zone;
+    TT_GlyphZone     zone     = &load->zone;
     FT_Error         error    = TT_Err_Ok;
 
     FT_UNUSED( debug );  /* used by truetype interpreter only */
@@ -737,7 +737,7 @@
   /*    TT_Loader object.                                                  */
   /*                                                                       */
   static FT_Error
-  load_truetype_glyph( TT_Loader*  loader,
+  load_truetype_glyph( TT_Loader   loader,
                        FT_UInt     glyph_index )
   {
 
@@ -1103,7 +1103,7 @@
         {
           FT_UShort       n_ins;
           TT_ExecContext  exec = loader->exec;
-          TT_GlyphZone*   pts;
+          TT_GlyphZone    pts;
           FT_Vector*      pp1;
 
 
@@ -1210,7 +1210,7 @@
 
 
   static void
-  compute_glyph_metrics( TT_Loader*  loader,
+  compute_glyph_metrics( TT_Loader   loader,
                          FT_UInt     glyph_index )
   {
     FT_BBox       bbox;
@@ -1426,7 +1426,7 @@
     TT_Face          face;
     FT_Stream        stream;
     FT_Error         error;
-    TT_Loader        loader;
+    TT_LoaderRec     loader;
 
 
     face   = (TT_Face)glyph->face;
@@ -1457,7 +1457,7 @@
          ( load_flags & FT_LOAD_NO_BITMAP ) == 0 )
 
     {
-      TT_SBit_Metrics  metrics;
+      TT_SBit_MetricsRec  metrics;
 
 
       error = sfnt->load_sbit_image( face,
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -1397,7 +1397,7 @@
   /*    zone     :: The affected glyph zone.                               */
   /*                                                                       */
   static void
-  Direct_Move( EXEC_OP_ TT_GlyphZone*  zone,
+  Direct_Move( EXEC_OP_ TT_GlyphZone   zone,
                         FT_UShort      point,
                         FT_F26Dot6     distance )
   {
@@ -1459,7 +1459,7 @@
 
 
   static void
-  Direct_Move_X( EXEC_OP_ TT_GlyphZone*  zone,
+  Direct_Move_X( EXEC_OP_ TT_GlyphZone   zone,
                           FT_UShort      point,
                           FT_F26Dot6     distance )
   {
@@ -1471,7 +1471,7 @@
 
 
   static void
-  Direct_Move_Y( EXEC_OP_ TT_GlyphZone*  zone,
+  Direct_Move_Y( EXEC_OP_ TT_GlyphZone   zone,
                           FT_UShort      point,
                           FT_F26Dot6     distance )
   {
@@ -4983,10 +4983,10 @@
   static FT_Bool
   Compute_Point_Displacement( EXEC_OP_ FT_F26Dot6*    x,
                                        FT_F26Dot6*    y,
-                                       TT_GlyphZone*  zone,
+                                       TT_GlyphZone   zone,
                                        FT_UShort*     refp )
   {
-    TT_GlyphZone  zp;
+    TT_GlyphZoneRec  zp;
     FT_UShort     p;
     FT_F26Dot6    d;
 
@@ -5065,7 +5065,7 @@
   static void
   Ins_SHP( INS_ARG )
   {
-    TT_GlyphZone  zp;
+    TT_GlyphZoneRec  zp;
     FT_UShort     refp;
 
     FT_F26Dot6    dx,
@@ -5118,7 +5118,7 @@
   static void
   Ins_SHC( INS_ARG )
   {
-    TT_GlyphZone zp;
+    TT_GlyphZoneRec zp;
     FT_UShort    refp;
     FT_F26Dot6   dx,
                  dy;
@@ -5174,7 +5174,7 @@
   static void
   Ins_SHZ( INS_ARG )
   {
-    TT_GlyphZone zp;
+    TT_GlyphZoneRec zp;
     FT_UShort    refp;
     FT_F26Dot6   dx,
                  dy;
--- a/src/truetype/ttinterp.h
+++ b/src/truetype/ttinterp.h
@@ -73,7 +73,7 @@
 
   /* Point displacement along the freedom vector routine */
   typedef void
-  (*TT_Move_Func)( EXEC_OP_ TT_GlyphZone*  zone,
+  (*TT_Move_Func)( EXEC_OP_ TT_GlyphZone   zone,
                             FT_UShort      point,
                             FT_F26Dot6     distance );
 
@@ -130,7 +130,7 @@
     FT_Long         args;
     FT_UInt         new_top;    /* new top after exec.  */
 
-    TT_GlyphZone    zp0,        /* zone records */
+    TT_GlyphZoneRec    zp0,        /* zone records */
                     zp1,
                     zp2,
                     pts,
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -66,7 +66,7 @@
   /*    zone :: A pointer to the target glyph zone.                        */
   /*                                                                       */
   FT_LOCAL_DEF( void )
-  TT_Done_GlyphZone( TT_GlyphZone*  zone )
+  TT_Done_GlyphZone( TT_GlyphZone   zone )
   {
     FT_Memory  memory = zone->memory;
 
@@ -106,7 +106,7 @@
   TT_New_GlyphZone( FT_Memory      memory,
                     FT_UShort      maxPoints,
                     FT_Short       maxContours,
-                    TT_GlyphZone*  zone )
+                    TT_GlyphZone   zone )
   {
     FT_Error  error;
 
@@ -698,7 +698,7 @@
 
     if ( !error )
     {
-      TT_SBit_Strike*  strike = face->sbit_strikes + strike_index;
+      TT_SBit_Strike   strike = face->sbit_strikes + strike_index;
 
 
       sbit_metrics->x_ppem      = metrics->x_ppem;
--- a/src/truetype/ttobjs.h
+++ b/src/truetype/ttobjs.h
@@ -108,13 +108,13 @@
 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 
   FT_LOCAL( void )
-  TT_Done_GlyphZone( TT_GlyphZone*  zone );
+  TT_Done_GlyphZone( TT_GlyphZone   zone );
 
   FT_LOCAL( FT_Error )
   TT_New_GlyphZone( FT_Memory      memory,
                     FT_UShort      maxPoints,
                     FT_Short       maxContours,
-                    TT_GlyphZone*  zone );
+                    TT_GlyphZone   zone );
 
 #endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
 
@@ -203,7 +203,7 @@
     FT_Pos        left_bearing;
     FT_Pos        advance;
 
-    TT_GlyphZone  zone;
+    TT_GlyphZoneRec  zone;
 
     FT_Long       arg1;         /* first argument                      */
     FT_Long       arg2;         /* second argument                     */
@@ -343,7 +343,7 @@
     FT_UShort          storage_size; /* The storage area is now part of */
     FT_Long*           storage;      /* the instance                    */
 
-    TT_GlyphZone       twilight;     /* The instance's twilight zone    */
+    TT_GlyphZoneRec       twilight;     /* The instance's twilight zone    */
 
     /* debugging variables */
 
@@ -367,7 +367,7 @@
   {
     FT_DriverRec    root;
     TT_ExecContext  context;  /* execution context        */
-    TT_GlyphZone    zone;     /* glyph loader points zone */
+    TT_GlyphZoneRec    zone;     /* glyph loader points zone */
 
     void*           extension_component;