diff --git a/ChangeLog b/ChangeLog
index 255a3ef..afd32b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-06  Masatake YAMATO  <jet@gyve.org>
+
+	* */*.[ch]: Rename FTL_Glyphs_Array to
+	FTL_GlyphArray.
+
 2004-05-03  Masatake YAMATO  <jet@gyve.org>
 
 	* src/gxlayout/gxdemo.c (set_trace_level): Move loca variation
diff --git a/include/freetype/ftlayout.h b/include/freetype/ftlayout.h
index e7ce1d4..e6fe4bf 100644
--- a/include/freetype/ftlayout.h
+++ b/include/freetype/ftlayout.h
@@ -70,13 +70,13 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Type>                                                                */
-  /*    FTL_Glyphs_Array                                                   */
+  /*    FTL_GlyphArray                                                   */
   /*                                                                       */
   /* <Description>                                                         */
   /*    Data type represents glyphs array used in glyph substitution.      */
   /*    See @FTL_GlyphRec for more detail.                                 */
   /*                                                                       */
-  typedef struct FTL_Glyphs_ArrayRec_    * FTL_Glyphs_Array;
+  typedef struct FTL_GlyphArrayRec_    * FTL_GlyphArray;
 
   /*************************************************************************/
   /*                                                                       */
@@ -181,7 +181,7 @@
   /*    allocated :: The allocation size of glyphs. The client should not  */
   /*                 refer this field.                                     */
   /*                                                                       */
-  typedef struct FTL_Glyphs_ArrayRec_
+  typedef struct FTL_GlyphArrayRec_
   {
     FT_Memory   memory;
     FTL_Glyph   glyphs;
@@ -189,7 +189,7 @@
     FT_ULong    reserved1;
     FT_ULong    length;
     FT_ULong    allocated;
-  } FTL_Glyphs_ArrayRec;
+  } FTL_GlyphArrayRec;
 
 
   /*************************************************************************/
@@ -376,7 +376,7 @@
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FTL_New_Glyphs_Array                  ( FT_Memory memory,
-					  FTL_Glyphs_Array * garray );
+					  FTL_GlyphArray * garray );
 
   /*************************************************************************/
   /*                                                                       */
@@ -396,7 +396,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   FT_EXPORT( FT_Error )
-  FTL_Set_Glyphs_Array_Length           ( FTL_Glyphs_Array garray,
+  FTL_Set_Glyphs_Array_Length           ( FTL_GlyphArray garray,
 					  FT_ULong new_length );
 
   /*************************************************************************/
@@ -417,8 +417,8 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   FT_EXPORT( FT_Error )
-  FTL_Copy_Glyphs_Array                 ( FTL_Glyphs_Array in,
-					  FTL_Glyphs_Array out );
+  FTL_Copy_Glyphs_Array                 ( FTL_GlyphArray in,
+					  FTL_GlyphArray out );
 
   /*************************************************************************/
   /*                                                                       */
@@ -435,7 +435,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   FT_EXPORT( FT_Error )
-  FTL_Done_Glyphs_Array                 ( FTL_Glyphs_Array garray );
+  FTL_Done_Glyphs_Array                 ( FTL_GlyphArray garray );
 
 
   /*************************************************************************/
@@ -460,8 +460,8 @@
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FTL_Substitute_Glyphs                 ( FT_Face face,
-					  FTL_Glyphs_Array in,
-					  FTL_Glyphs_Array out );
+					  FTL_GlyphArray in,
+					  FTL_GlyphArray out );
 
   /*************************************************************************/
   /*                                                                       */
diff --git a/include/freetype/internal/services/svlayout.h b/include/freetype/internal/services/svlayout.h
index 060e708..56f0dc3 100644
--- a/include/freetype/internal/services/svlayout.h
+++ b/include/freetype/internal/services/svlayout.h
@@ -58,8 +58,8 @@
   typedef FT_Error
   (*FTL_Substitute_Glyphs_Func) ( FT_Face face,
 				  FTL_FeaturesRequest request,
-				  FTL_Glyphs_Array in,
-				  FTL_Glyphs_Array out );
+				  FTL_GlyphArray in,
+				  FTL_GlyphArray out );
 
   FT_DEFINE_SERVICE( Layout )
   {
diff --git a/src/base/ftlayout.c b/src/base/ftlayout.c
index a7fa5f8..c1917d8 100644
--- a/src/base/ftlayout.c
+++ b/src/base/ftlayout.c
@@ -407,10 +407,10 @@
   
   FT_EXPORT_DEF( FT_Error )
   FTL_New_Glyphs_Array                  ( FT_Memory memory,
-					  FTL_Glyphs_Array * garray )
+					  FTL_GlyphArray * garray )
   {
     FT_Error error;
-    FTL_Glyphs_Array agarray;
+    FTL_GlyphArray agarray;
     
     if ( FT_NEW( agarray ) )
       return error;
@@ -425,7 +425,7 @@
   }
 
   FT_EXPORT_DEF( FT_Error )
-  FTL_Set_Glyphs_Array_Length           ( FTL_Glyphs_Array garray,
+  FTL_Set_Glyphs_Array_Length           ( FTL_GlyphArray garray,
 					  FT_ULong new_length )
   {
     FT_Error error;
@@ -442,8 +442,8 @@
   }
 
   FT_EXPORT_DEF( FT_Error )
-  FTL_Copy_Glyphs_Array                 ( FTL_Glyphs_Array in,
-					  FTL_Glyphs_Array out )
+  FTL_Copy_Glyphs_Array                 ( FTL_GlyphArray in,
+					  FTL_GlyphArray out )
   {
     FT_Error error;
     FT_ULong i;
@@ -457,7 +457,7 @@
   }
 
   FT_EXPORT_DEF( FT_Error )
-  FTL_Done_Glyphs_Array                 ( FTL_Glyphs_Array garray )
+  FTL_Done_Glyphs_Array                 ( FTL_GlyphArray garray )
   {
     FT_Memory memory = garray->memory;
     FT_FREE( garray->glyphs );
@@ -468,8 +468,8 @@
 
   FT_EXPORT_DEF( FT_Error )
   FTL_Substitute_Glyphs                 ( FT_Face face,
-					  FTL_Glyphs_Array in,
-					  FTL_Glyphs_Array out )
+					  FTL_GlyphArray in,
+					  FTL_GlyphArray out )
   {
     FT_Error error;
     FT_Service_Layout service;
diff --git a/src/gxlayout/fi.c b/src/gxlayout/fi.c
index 2667076..a3f8c3a 100644
--- a/src/gxlayout/fi.c
+++ b/src/gxlayout/fi.c
@@ -95,7 +95,7 @@
 {
   FT_Error error = FT_Err_Ok;
   FTL_EngineType engine_type;
-  FTL_Glyphs_Array in, out;
+  FTL_GlyphArray in, out;
   FTL_FeaturesRequest request;
 
   /* Get the engine type */
diff --git a/src/gxlayout/gxaccess.c b/src/gxlayout/gxaccess.c
index 5f8440f..105c142 100644
--- a/src/gxlayout/gxaccess.c
+++ b/src/gxlayout/gxaccess.c
@@ -214,8 +214,8 @@
 FT_LOCAL_DEF( FT_Error )
 gx_mort_substitute_glyph ( GX_Mort mort,
 			   GXL_FeaturesRequest request,
-			   FTL_Glyphs_Array in,
-			   FTL_Glyphs_Array out )
+			   FTL_GlyphArray in,
+			   FTL_GlyphArray out )
 {
   FT_Error error = GX_Err_Ok;
   GX_MetamorphosisChain chain;
@@ -393,8 +393,8 @@
 FT_LOCAL_DEF( FT_Error )
 gx_morx_substitute_glyph ( GX_Morx morx,
 			   GXL_FeaturesRequest request,
-			   FTL_Glyphs_Array in,
-			   FTL_Glyphs_Array out )
+			   FTL_GlyphArray in,
+			   FTL_GlyphArray out )
 {
   FT_Error error = GX_Err_Ok;
   GX_XMetamorphosisChain xchain;
@@ -668,7 +668,7 @@
 
 FT_LOCAL_DEF( FT_Error )
 gx_kern_get_contextual_kerning( GX_Kern kern,
-				FTL_Glyphs_Array garray,
+				FTL_GlyphArray garray,
 				FTL_Direction dir,
 				GXL_Initial_State initial_state,
 				FT_Vector * kerning )
diff --git a/src/gxlayout/gxaccess.h b/src/gxlayout/gxaccess.h
index 5bed3e8..586d21e 100644
--- a/src/gxlayout/gxaccess.h
+++ b/src/gxlayout/gxaccess.h
@@ -58,8 +58,8 @@
   FT_LOCAL( FT_Error ) 
   gx_mort_substitute_glyph ( GX_Mort mort,
 			     GXL_FeaturesRequest request,
-			     FTL_Glyphs_Array in,
-			     FTL_Glyphs_Array out );
+			     FTL_GlyphArray in,
+			     FTL_GlyphArray out );
 
 /* morx */
   typedef FT_Error (* GX_Morx_Feature_Func)( GX_XMetamorphosisFeatureTable feat_Subtbl, 
@@ -75,8 +75,8 @@
   FT_LOCAL( FT_Error )
   gx_morx_substitute_glyph ( GX_Morx morx,
 			     GXL_FeaturesRequest request,
-			     FTL_Glyphs_Array in,
-			     FTL_Glyphs_Array out );
+			     FTL_GlyphArray in,
+			     FTL_GlyphArray out );
 
 /* kern */
   FT_LOCAL( FT_Error ) gx_kern_get_pair_kerning ( GX_Kern kern, 
@@ -86,7 +86,7 @@
 						  FT_Vector*  kerning );
 
   FT_LOCAL( FT_Error ) gx_kern_get_contextual_kerning( GX_Kern kern,
-						       FTL_Glyphs_Array garray,
+						       FTL_GlyphArray garray,
 						       FTL_Direction dir,
 						       GXL_Initial_State initial_state,
 						       FT_Vector * kerning );
diff --git a/src/gxlayout/gxdemo.c b/src/gxlayout/gxdemo.c
index 028df74..0023939 100644
--- a/src/gxlayout/gxdemo.c
+++ b/src/gxlayout/gxdemo.c
@@ -749,7 +749,7 @@
 void
 run_layout_engine ( GtkButton * button, gpointer request )
 {
-  FTL_Glyphs_Array in, out;
+  FTL_GlyphArray in, out;
   FT_Face face 	   = ((FTL_FeaturesRequest)request)->font->face;
   FT_Memory memory = face->driver->root.memory;
 
diff --git a/src/gxlayout/gxlayout.c b/src/gxlayout/gxlayout.c
index 3c61954..b9d0b09 100644
--- a/src/gxlayout/gxlayout.c
+++ b/src/gxlayout/gxlayout.c
@@ -738,8 +738,8 @@
   FT_LOCAL_DEF ( FT_Error )
   gxl_substitute_glyphs ( FT_Face face,
 			  FTL_FeaturesRequest request,
-			  FTL_Glyphs_Array in,
-			  FTL_Glyphs_Array out )
+			  FTL_GlyphArray in,
+			  FTL_GlyphArray out )
   {
     FT_Error error;
     GXL_Font font;
diff --git a/src/gxlayout/gxltypes.h b/src/gxlayout/gxltypes.h
index cc385a4..1bf0071 100644
--- a/src/gxlayout/gxltypes.h
+++ b/src/gxlayout/gxltypes.h
@@ -108,8 +108,8 @@
   FT_LOCAL ( FT_Error )
   gxl_substitute_glyphs ( FT_Face face,
 			  FTL_FeaturesRequest request,
-			  FTL_Glyphs_Array in,
-			  FTL_Glyphs_Array out );
+			  FTL_GlyphArray in,
+			  FTL_GlyphArray out );
 
 FT_END_HEADER
 
diff --git a/src/gxlayout/gxvm.c b/src/gxlayout/gxvm.c
index 0fe74b8..3e2e94f 100644
--- a/src/gxlayout/gxvm.c
+++ b/src/gxlayout/gxvm.c
@@ -229,9 +229,9 @@
 
   static FT_Error glist_init    ( FT_Memory memory, 
 				  GlyphsList glist,
-				  FTL_Glyphs_Array garray );
+				  FTL_GlyphArray garray );
   static FT_Error glist_store   ( GlyphsList glist, 
-				  FTL_Glyphs_Array garray );
+				  FTL_GlyphArray garray );
   static void glist_finalize    ( GlyphsList glist );
 
 /*
@@ -262,7 +262,7 @@
 					       InsertionGlyphs insertion );
 
   static FT_Error
-  glist_init    ( FT_Memory memory, GlyphsList glist, FTL_Glyphs_Array garray )
+  glist_init    ( FT_Memory memory, GlyphsList glist, FTL_GlyphArray garray )
   {
     FT_Error error;
     FT_ULong i;
@@ -289,7 +289,7 @@
   }
 
   static FT_Error
-  glist_store   ( GlyphsList glist, FTL_Glyphs_Array garray )
+  glist_store   ( GlyphsList glist, FTL_GlyphArray garray )
   {
     FT_Error error;
     FT_ULong length = 0, i;
@@ -475,7 +475,7 @@
  *************************************************************************/ 
 FT_LOCAL_DEF( FT_Error )
 gx_noncontextual_subst( GX_MetamorphosisNoncontextualBody body,
-			FTL_Glyphs_Array garray )
+			FTL_GlyphArray garray )
 {
   FT_ULong i;
   GX_LookupTable lookup_table = &body->lookup_table;
@@ -519,7 +519,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_contextual_subst( GX_MetamorphosisContextualBody body,
 		     GXL_Initial_State initial_state,
-		     FTL_Glyphs_Array garray )
+		     FTL_GlyphArray garray )
 {
   FT_ULong glength  = garray->length;
   FTL_Glyph glyphs = garray->glyphs;
@@ -631,7 +631,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_ligature_subst( GX_MetamorphosisLigatureBody body,
 		   GXL_Initial_State initial_state,
-		   FTL_Glyphs_Array garray )
+		   FTL_GlyphArray garray )
 {
   FT_ULong glength  = garray->length;
   FTL_Glyph glyphs = garray->glyphs;
@@ -791,7 +791,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_insertion_subst( GX_MetamorphosisInsertionBody body,
 		    GXL_Initial_State initial_state,
-		    FTL_Glyphs_Array garray )
+		    FTL_GlyphArray garray )
 {
   FT_Error error;
   FT_Memory memory = garray->memory;
@@ -904,11 +904,11 @@
 static void rearrangement_rearrange( GX_MetamorphosisRearrangementVerb verb,
 				     FT_ULong first_glyph,
 				     FT_ULong last_glyph,
-				     FTL_Glyphs_Array garray );
+				     FTL_GlyphArray garray );
 FT_LOCAL( FT_Error )
 gx_rearrangement_subst ( GX_MetamorphosisRearrangementBody body,
 			 GXL_Initial_State initial_state,
-			 FTL_Glyphs_Array garray )
+			 FTL_GlyphArray garray )
 {
   FT_ULong glength  = garray->length;
   FTL_Glyph glyphs = garray->glyphs;
@@ -979,7 +979,7 @@
 rearrangement_rearrange( GX_MetamorphosisRearrangementVerb verb,
 			 FT_ULong first_glyph,
 			 FT_ULong last_glyph,
-			 FTL_Glyphs_Array garray )
+			 FTL_GlyphArray garray )
 {
   FTL_Glyph glyphs = garray->glyphs;
   FT_ULong glength  = garray->length;
@@ -1207,7 +1207,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_xcontextual_subst( GX_XMetamorphosisContextualBody body,
 		      GXL_Initial_State initial_state,
-		      FTL_Glyphs_Array garray )
+		      FTL_GlyphArray garray )
 {
   
   FT_ULong glength  = garray->length;
@@ -1321,7 +1321,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_xligature_subst( GX_XMetamorphosisLigatureBody body,
 		    GXL_Initial_State initial_state,
-		    FTL_Glyphs_Array garray )
+		    FTL_GlyphArray garray )
 {
   FT_ULong glength  = garray->length;
   FTL_Glyph glyphs = garray->glyphs;
@@ -1470,7 +1470,7 @@
 FT_LOCAL_DEF( FT_Error )
 gx_xinsertion_subst( GX_XMetamorphosisInsertionBody body,
 		     GXL_Initial_State initial_state,
-		     FTL_Glyphs_Array garray )
+		     FTL_GlyphArray garray )
 {
   FT_Error error;
   FT_Memory memory = garray->memory;
@@ -1562,7 +1562,7 @@
 FT_LOCAL( FT_Error )
 gx_xrearrangement_subst ( GX_XMetamorphosisRearrangementBody body,
 			  GXL_Initial_State initial_state,
-			  FTL_Glyphs_Array garray )
+			  FTL_GlyphArray garray )
 
 {
   FT_ULong glength  = garray->length;
@@ -1674,7 +1674,7 @@
 
 FT_LOCAL_DEF( FT_Error )
 gx_contextual_kerning_calc ( GX_KerningSubtableFormat1Body kern_fmt1,
-			     FTL_Glyphs_Array garray,
+			     FTL_GlyphArray garray,
 			     FTL_Direction dir,
 			     FT_Bool cross_stream,
 			     GXL_Initial_State initial_state,
diff --git a/src/gxlayout/gxvm.h b/src/gxlayout/gxvm.h
index 0b54a3a..cda0814 100644
--- a/src/gxlayout/gxvm.h
+++ b/src/gxlayout/gxvm.h
@@ -35,26 +35,26 @@
 FT_LOCAL( FT_Error )
 gx_rearrangement_subst ( GX_MetamorphosisRearrangementBody body,
 			 GXL_Initial_State initial_state,
-			 FTL_Glyphs_Array garray );
+			 FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_contextual_subst( GX_MetamorphosisContextualBody body,
 		     GXL_Initial_State initial_state,
-		     FTL_Glyphs_Array garray );
+		     FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_ligature_subst( GX_MetamorphosisLigatureBody body,
 		   GXL_Initial_State initial_state,
-		   FTL_Glyphs_Array garray );
+		   FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_noncontextual_subst( GX_MetamorphosisNoncontextualBody body,
-			FTL_Glyphs_Array garray );
+			FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_insertion_subst( GX_MetamorphosisInsertionBody body,
 		    GXL_Initial_State initial_state,
-		    FTL_Glyphs_Array garray );
+		    FTL_GlyphArray garray );
 
 /*
  * Morx
@@ -63,29 +63,29 @@
 FT_LOCAL( FT_Error )
 gx_xcontextual_subst( GX_XMetamorphosisContextualBody body,
 		      GXL_Initial_State initial_state,
-		      FTL_Glyphs_Array garray );
+		      FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_xligature_subst( GX_XMetamorphosisLigatureBody body,
 		    GXL_Initial_State initial_state,
-		    FTL_Glyphs_Array garray );
+		    FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_xinsertion_subst( GX_XMetamorphosisInsertionBody body,
 		     GXL_Initial_State initial_state,
-		     FTL_Glyphs_Array garray );
+		     FTL_GlyphArray garray );
 
 FT_LOCAL( FT_Error )
 gx_xrearrangement_subst ( GX_XMetamorphosisRearrangementBody body,
 			  GXL_Initial_State initial_state,
-			  FTL_Glyphs_Array garray );
+			  FTL_GlyphArray garray );
 
 /*
  * Kern
  */
 FT_LOCAL( FT_Error )
 gx_contextual_kerning_calc ( GX_KerningSubtableFormat1Body kern_fmt1,
-			     FTL_Glyphs_Array garray,
+			     FTL_GlyphArray garray,
 			     FTL_Direction dir,
 			     FT_Bool cross_stream,
 			     GXL_Initial_State initial_state,
diff --git a/src/otlayout/ot-types.h b/src/otlayout/ot-types.h
index 45d316e..263299a 100644
--- a/src/otlayout/ot-types.h
+++ b/src/otlayout/ot-types.h
@@ -30,7 +30,7 @@
 
 typedef struct _OTInfo OTInfo;
 typedef struct _OTRuleset OTRuleset;
-typedef FTL_Glyphs_ArrayRec OTGlyphString;
+typedef FTL_GlyphArrayRec OTGlyphString;
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/src/otlayout/otdemo.c b/src/otlayout/otdemo.c
index ffe1ae1..2cd0f71 100644
--- a/src/otlayout/otdemo.c
+++ b/src/otlayout/otdemo.c
@@ -144,7 +144,7 @@
   FTL_FeaturesRequest request;
   FT_UInt script_index, feature_index;
   FT_Memory memory = face->stream->memory;
-  FTL_Glyphs_Array in, out;
+  FTL_GlyphArray in, out;
   FT_Int i;
   if ( FTL_New_FeaturesRequest( face, &request ) )
     {
diff --git a/src/otlayout/otlayout.c b/src/otlayout/otlayout.c
index 18bb55a..a7da601 100644
--- a/src/otlayout/otlayout.c
+++ b/src/otlayout/otlayout.c
@@ -120,8 +120,8 @@
   FT_LOCAL ( FT_Error )
   otl_substitute_glyphs ( FT_Face face,
 			  FTL_FeaturesRequest request,
-			  FTL_Glyphs_Array in,
-			  FTL_Glyphs_Array out )
+			  FTL_GlyphArray in,
+			  FTL_GlyphArray out )
   {
     FT_Error error = FT_Err_Ok;
     if (( error = FTL_Copy_Glyphs_Array ( in, out ) ))
diff --git a/src/otlayout/otltypes.h b/src/otlayout/otltypes.h
index 6b60f48..8244da2 100644
--- a/src/otlayout/otltypes.h
+++ b/src/otlayout/otltypes.h
@@ -67,8 +67,8 @@
   FT_LOCAL ( FT_Error )
   otl_substitute_glyphs ( FT_Face face,
 			  FTL_FeaturesRequest request,
-			  FTL_Glyphs_Array in,
-			  FTL_Glyphs_Array out );
+			  FTL_GlyphArray in,
+			  FTL_GlyphArray out );
 FT_END_HEADER
 
 #endif /* Not def: __OTLTYPES_H__ */
