shithub: freetype+ttf2subf

Download patch

ref: 1305f2616da2a0207fa9708c77f48cc9daf88253
parent: 94dbf7f0222d9585ea60166d4146c475cd888137
author: Werner Lemberg <[email protected]>
date: Thu Mar 28 03:07:16 EST 2002

* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
compiler warnings.
* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
some members.
* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
cast.
(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
`FT_CALLBACK_TABLE_DEF'.
* src/psaux/t1cmap.h: Updated.
* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
instead of zero.
* src/type1/t1objs.c (T1_Face_Init): Use casts.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,171 +1,174 @@
-2002-03-26  David Turner    <[email protected]>
+2002-03-28  Werner Lemberg  <[email protected]>
 
+	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
+	compiler warnings.
+	* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
+	some members.
+	* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
+	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
+	cast.
+	(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
+	`FT_CALLBACK_TABLE_DEF'.
+	* src/psaux/t1cmap.h: Updated.
+	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
+	instead of zero.
+	* src/type1/t1objs.c (T1_Face_Init): Use casts.
+
+2002-03-26  David Turner  <[email protected]>
+
 	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
-	  fixed a small bug in the FT_CMaps support code
+	Fixed a small bug in the FT_CMaps support code.
 
-2002-03-22  David Turner    <[email protected]>
+2002-03-22  David Turner  <[email protected]>
 
-        * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
-        
-          various fixes to make the FT_CMaps support work correctly
-          (more tests are still needed)
+	* src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
+	Various fixes to make the FT_CMaps support work correctly (more
+	tests are still needed).
 
-        * include/freetype/internal/ftobjs.h,
-          src/sfnt/Jamfile, src/sfnt/rules.mk,
-          src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
-          src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h:
-          
-            updated the SFNT charmap support to use FT_CMaps
+	* include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
+	src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+	src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
+	the SFNT charmap support to use FT_CMaps.
 
+	* include/freetype/config/ftheader.h, include/freetype/fterrors.h:
+	Modified "fterrors.h" to include the error definitions list found in
+	"fterrdef.h".
 
-        * include/freetype/config/ftheader.h, include/freetype/fterrors.h:
-        modified "fterrors.h" to include the error definitions list found
-        in "fterrdef.h"
+	* include/freetype/internal/ftmemory.h, and a lot of other files:
+	Changed the names of memory macros.  Examples:
 
-        * include/freetype/internal/ftmemory.h, and a lot of other files !!:
-        
-            changed the names of memory macros. Examples:
-            
-              MEM_Set   => FT_MEM_SET
-              MEM_Copy  => FT_MEM_COPY
-              MEM_Move  => FT_MEM_MOVE
-              
-              ALLOC     => FT_ALLOC
-              FREE      => FT_FREE
-              REALLOC   = >FT_REALLOC
+	  MEM_Set   => FT_MEM_SET
+	  MEM_Copy  => FT_MEM_COPY
+	  MEM_Move  => FT_MEM_MOVE
 
-            FT_NEW was introduced to allocate a new object from a _typed_
-            pointer..
-              
-            note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced
-            by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
-            arguments.
-            
-            This results in _lots_ of sources being changed, but makes the
-            code more generic and less error-prone..
-            
+	  ALLOC     => FT_ALLOC
+	  FREE      => FT_FREE
+	  REALLOC   = >FT_REALLOC
 
-        * include/freetype/internal/ftstream.h,
-          src/base/ftstream.c, src/cff/cffload.c, src/pcf/pcfread.c,
-          src/sfnt/ttcmap.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c,
-          src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
-          src/truetype/ttgload.c, src/truetype/ttpload.c,
-          src/winfonts/winfnt.c:
-          
-            changed the definitions of stream macros. Examples:
-            
-              NEXT_Byte     => FT_NEXT_BYTE
-              NEXT_Short    => FT_NEXT_SHORT
-              NEXT_UShortLE => FT_NEXT_USHORT_LE
-              READ_Short    => FT_READ_SHORT
-              GET_Long      => FT_GET_LONG
-              etc..
+	FT_NEW was introduced to allocate a new object from a _typed_
+	pointer.
 
-            also introduced the FT_PEEK_XXXX functions..
+	Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
+	FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
+	arguments.
 
+	This results in _lots_ of sources being changed, but makes the code
+	more generic and less error-prone.
 
-2002-03-21  David Turner    <[email protected]>
+	* include/freetype/internal/ftstream.h, src/base/ftstream.c,
+	src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
+	src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+	src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
+	src/winfonts/winfnt.c: Changed the definitions of stream macros.
+	Examples:
 
-        * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: updated
-        to new FT_CMap definitions
+	  NEXT_Byte     => FT_NEXT_BYTE
+	  NEXT_Short    => FT_NEXT_SHORT
+	  NEXT_UShortLE => FT_NEXT_USHORT_LE
+	  READ_Short    => FT_READ_SHORT
+	  GET_Long      => FT_GET_LONG
+	  etc.
 
-        * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
-        src/type1/t1cmap.c: updating and moving the Type 1 FT_CMap support
-        from "src/type1" to "src/psaux" since it's going to be shared
-        by the Type 1 and CID font drivers..
+	Also introduced the FT_PEEK_XXXX functions.
 
-        * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
-        src/psaux/rules.mk, include/freetype/internal/psaux.h: added support
-        for Type 1 FT_CMaps.
+2002-03-21  David Turner  <[email protected]>
 
-2002-03-20  David Turner    <[email protected]>
+	* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
+	to new FT_CMap definitions.
 
-        * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): fixed a memory
-        allocation bug that was due to un-careful renaming of the FT_SubGlyph
-        type..
+	* src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
+	src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
+	from "src/type1" to "src/psaux" since it is going to be shared by
+	the Type 1 and CID font drivers.
 
-        * src/base/ftdbgmem.c (ft_mem_table_destroy): fixed a small bug that
-        caused the library to crash with Electric Fence when memory debugging
-        is used..
+	* src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
+	src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
+	for Type 1 FT_CMaps.
 
-        * renaming stream macros. Examples:
-        
-           FILE_Skip    => FT_STREAM_SKIP
-           FILE_Read    => FT_STREAM_READ
-           ACCESS_Frame => FT_FRAME_ENTER
-           FORGET_Frame => FT_FRAME_EXIT
-           etc...
-           
-        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): fixed memory leak
+2002-03-20  David Turner  <[email protected]>
 
-        * include/freetype/internal/ftobjs.h: changing the definition of
-        FT_CMap_CharNextFunc slightly
+	* src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
+	memory allocation bug that was due to un-careful renaming of the
+	FT_SubGlyph type.
 
-        * src/cff/*.c: updating CFF type definitions.
+	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
+	caused the library to crash with Electric Fence when memory
+	debugging is used.
 
-2002-03-14  David Turner    <[email protected]>
+	* Renaming stream macros.  Examples:
 
-        * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
-        src/base/ftapi.c, src/base/ftobjs.c: updating the type definitions for
-        the auto-hinter module.
-        
-        (i.e. FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec, 
-              FT_AutoHinter_Interface* => FT_AutoHinter_Service, etc..)
+	  FILE_Skip    => FT_STREAM_SKIP
+	  FILE_Read    => FT_STREAM_READ
+	  ACCESS_Frame => FT_FRAME_ENTER
+	  FORGET_Frame => FT_FRAME_EXIT
+	  etc.
 
-        * include/freetype/internal/cfftypes.h, src/cff/*.c: updating the
-        type definitions of the CFF font driver
-        
-        (i.e. CFF_Font  => CFF_FontRec
-              CFF_Font* => CFF_Font, etc...)
+	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
 
-        * include/freetype/internal/fnttypes.h, src/winfonts/*.c: updating
-        the type definitions of the Windows FNT font driver
+	* include/freetype/internal/ftobjs.h: Changing the definition of
+	FT_CMap_CharNextFunc slightly.
 
-        * include/freetype/internal/ftdriver.h,
-          include/freetype/internal/ftobjs.h,
-          src/base/ftapi.c, src/base/ftobjs.c,
-          src/cff/cffdrivr.c, src/cff/cffdrivr.h,
-          src/cid/cidriver.c, src/cid/cidriver.h,
-          src/pcf/pcfdriver.c, src/pcf/pcfdriver.h,
-          src/truetype/ttdriver.c, src/truetype/ttdriver.h,
-          src/type1/t1driver.c, src/type1/t1driver.h,
-          src/winfonts/winfnt.c, src/winfonts/winfnt.h:
-          updating the type definitions for font font drivers
+	* src/cff/*.c: Updating CFF type definitions.
 
-        * include/freetype/internal/ftobjs.h,
-          src/base/ftapi.c, src/base/ftobjs.c: updated a few face method
-          definitions:
-          
-            FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
-            FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
-            FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
+2002-03-14  David Turner  <[email protected]>
 
-        * include/freetype/internal/psaux.h,
-          src/cid/cidload.c, src/cidtoken.h,
-          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/autohint.h, src/autohint/ahmodule.c,
+	src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
+	for the auto-hinter module.
 
-        * include/freetype/internal/psglobals.h (removed),
-          include/freetype/internal/pshints.h,
-          src/pshinter/pshglob.h: removing obsolete file
+	  FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
+	  FT_AutoHinter_Interface* => FT_AutoHinter_Service
+	  etc.
 
-        * 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
+	* include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
+	type definitions of the CFF font driver.
 
-        * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
-          updating type defintiions for the glyph loader
-                    
+	  CFF_Font  => CFF_FontRec
+	  CFF_Font* => CFF_Font
+	  etc.
 
-2002-03-13  Antoine Leca    <[email protected]>
+	* include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
+	type definitions of the Windows FNT font driver.
 
-        * include/freetype/config/ftoption.h: changed the automatic detection
-        of Microsoft C compilers to automatically support 64-bit integers only
-        since revision 9.00 (i.e. >= Visual C++ 2.0)
+	* include/freetype/internal/ftdriver.h,
+	include/freetype/internal/ftobjs.h, src/base/ftapi.c,
+	src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
+	src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
+	src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
+	src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
+	src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
+	definitions for font drivers.
 
+	* include/freetype/internal/ftobjs.h, src/base/ftapi.c,
+	src/base/ftobjs.c: Updated a few face method definitions:
+
+	  FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
+	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
+	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
+
+	* include/freetype/internal/psaux.h, src/cid/cidload.c,
+	src/cidtoken.h, 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,
+	include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
+	Removing obsolete files.
+
+	* 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.
+
+	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
+	Updating type defintiions for the glyph loader.
+
+2002-03-13  Antoine Leca  <[email protected]>
+
+	* include/freetype/config/ftoption.h: Changed the automatic
+	detection of Microsoft C compilers to automatically support 64-bit
+	integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
+
 2002-03-08  Werner Lemberg  <[email protected]>
 
 	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
@@ -233,18 +236,21 @@
 	* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
 	* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
 
-2002-03-06  David Turner    <[email protected]>
+2002-03-06  David Turner  <[email protected]>
 
-        * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c (CID_Face_Init):
-        fixed another bug related to the ascender/descender/text height of
-        Postscript fonts. Damn, this should have been fixed on 2002-03-04 !
+	* src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
+	(CID_Face_Init): Fixed another bug related to the
+	ascender/descender/text height of Postscript fonts.
 
-        * src/pshinter/pshalgo2.c: changed 'print_zone' to 'psh2_print_zone'
-        * src/pshinter/pshalgo1.c: changed 'print_zone' to 'psh1_print_zone'
+	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+	(psh2_print_zone): This.
+	* src/pshinter/pshalgo1.c (print_zone): Renamed to ...
+	(psh1_print_zone): This.
 
-        * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
-        src/base/ftobjs.c, src/base/ftinit.c: adding the new FT_Library_Version
-        API to return the library's current version in dynamic links.
+	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+	src/base/ftobjs.c, src/base/ftinit.c: Adding the new
+	FT_Library_Version API to return the library's current version in
+	dynamic links.
 
 2002-03-06  Werner Lemberg  <[email protected]>
 
@@ -253,18 +259,16 @@
 	psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
 	Ditto.
 
-2002-03-05  David Turner    <[email protected]>
+2002-03-05  David Turner  <[email protected]>
 
-        * src/type1/t1objs.c (T1_Face_Init),
-          src/cff/cffobjs.c (CFF_Face_Init),
-          src/cid/cidobjs.c (CID_Face_Init):
-          
-            removing the bug that returned global BBox values in
-            16.16 fixed format (instead of integer font units).
+	* src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
+	(CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
+	that returned global BBox values in 16.16 fixed format (instead of
+	integer font units).
 
-        * src/cid/cidriver.c (cid_get_postscript_name): fixed a bug that
-        caused the CID driver to return Postscript font names with a leading
-        slash ("/") as in "/MOEKai-Regular"
+	* src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
+	caused the CID driver to return Postscript font names with a leading
+	slash ("/") as in "/MOEKai-Regular".
 
 	* src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
 	src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
@@ -275,7 +279,6 @@
 	Windows-encoded entries before Macintosh or Unicode ones, since it
 	seems some fonts don't have reliable values here anyway.
 
-
 2002-03-05  Werner Lemberg  <[email protected]>
 
 	* builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
@@ -291,106 +294,93 @@
 
 	* builds/unix/configure: Regenerated.
 
-2002-02-28  David Turner   <[email protected]>
+2002-02-28  David Turner  <[email protected]>
 
-        * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
-        everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
-        into FT_LOCAL_DEF( xxxxx )
+	* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
+	`FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
+	`FT_LOCAL_DEF xxxx' translated to `FT_LOCAL_DEF( xxxxx )'.
 
-        * include/freetype/freetype.h: changing version to 2.1.0 to indicate
-        an unstable branch. Added the declarations of FT_Get_First_Char and
-        FT_Get_Next_Char
+	* include/freetype/freetype.h: Changing version to 2.1.0 to indicate
+	an unstable branch.
+	Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
 
-        * src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char
+	* src/base/ftobjs.c: Implement FT_Get_First_Char and
+	FT_Get_Next_Char.
 
-        * include/freetype/t1tables.h: re-naming structure types. This done
-        basically:
+	* include/freetype/t1tables.h: Renaming structure types.  This
 
-          typedef T1_Struct_
-          {
-          } T1_Struct;
+	  typedef  T1_Struct_
+	  {
+	  } T1_Struct;
 
-        becomes:
+	becomes
 
-          typedef PS_StructRec_
-          {
-          } PS_StructRec, *PS_Struct;
+	  typedef  PS_StructRec_
+	  {
+	  } PS_StructRec, *PS_Struct;
 
-          typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */
+	  typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */
 
+	Hence, we increase the coherency of the source code by effectively
+        using the `Rec' prefix for structure types.
 
-        hence, we increase the coherency of the source code by effectively
-        using the 'Rec' prefix for structure types..
+2002-02-27  David Turner  <[email protected]>
 
+	* src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
+	names table loader.  Invalid individual name entries are now handled
+	correctly.  This allows the loading of very buggy fonts like
+	"foxjump.ttf" without allocating tons of memory and causing crashes.
 
-2002-02-27  David Turner   <[email protected]>
+	* src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
+	experimental) code for OpenType Layout tables validation and
+	parsing.
 
-        * src/sfnt/ttload.c (TT_Load_Names): simplifying and securing the
-        names table loader. Invalid individual name entries are now handled
-        correctly. This allows the loading of very buggy fonts like
-        "foxjump.ttf" without allocating tons of memory and causing crashes..
+	* src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
+	experimental) code for Type 1 charmap processing.
 
-        * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: adding (still
-        experimental) code for OpenType Layout tables validation and parsing
+	* src/sfnt/ttcmap0.c: Completing the experimental SFNT charmap
+	processing.
 
-        * src/type1/t1cmap.h, src/type1/t1cmap.c: adding (still experimental)
-        code for Type 1 charmap processing
+	* include/freetype/internal/ftobjs.h: Adding validation support as
+	well as internal charmap object definitions (FT_CMap != FT_CharMap).
 
-        * src/sfnt/ttcmap0.c: completing the experimental SFNT charmap
-        processing
+2002-02-24  David Turner  <[email protected]>
 
-        * include/freetype/internal/ftobjs.h: adding validation support as
-        well as internal charmap object definitions (FT_CMap != FT_CharMap)
+	* Renaming stream functions to the FT_<Subject>_<Action> scheme:
 
+	  FT_Seek_Stream    => FT_Stream_Seek
+	  FT_Skip_Stream    => FT_Stream_Skip
+	  FT_Read_Stream    => FT_Stream_Read
+	  FT_Read_Stream_At => FT_Stream_Read_At
+	  FT_Access_Frame   => FT_Stream_Enter_Frame
+	  FT_Forget_Frame   => FT_Stream_Exit_Frame
+	  FT_Extract_Frame  => FT_Stream_Extract_Frame
+	  FT_Release_Frame  => FT_Stream_Release_Frame
+	  FT_Get_XXXX       => FT_Stream_Get_XXXX
+	  FT_Read_XXXX      => FT_Stream_Read_XXXX
 
-2002-02-24  David Turner   <[email protected]>
+	  FT_New_Stream( filename, stream ) =>
+	    FT_Stream_Open( stream, filename )
 
-        * renaming stream functions to the FT_Subject_Action scheme:
+	    (The function doesn't create the FT_Stream structure, it simply
+	    initializes it for reading.)
 
-          FT_Seek_Stream         => FT_Stream_Seek
-          FT_Skip_Stream         => FT_Stream_Skip
-          FT_Read_Stream         => FT_Stream_Read
-          FT_Read_Stream_At      => FT_Stream_Read_At
-          FT_Access_Frame        => FT_Stream_Enter_Frame
-          FT_Forget_Frame        => FT_Stream_Exit_Frame
-          FT_Extract_Frame       => FT_Stream_Extract_Frame
-          FT_Release_Frame       => FT_Stream_Release_Frame
-          FT_Get_XXXX            => FT_Stream_Get_XXXX
-          FT_Read_XXXX           => FT_Stream_Read_XXXX
+	  FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
+	    FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
 
-          note also that:
+	  FT_Done_Stream  => FT_Stream_Close
+	  FT_Stream_IO    => FT_Stream_IOFunc
+	  FT_Stream_Close => FT_Stream_CloseFunc
 
-          FT_New_Stream( filename, stream ) =>
-            FT_Stream_Open( stream, filename )
+	* Moving all memory and list management code to "src/base/ftutil.c"
+	(previously in "ftobjs.c" and "ftlist.c" respectively).
 
-          (the function doesn't create the FT_Stream structure, it simply
-           initializes it for reading)
+	* Moving all code related to glyph loaders to "internal/ftgloadr.h"
+	and "src/base/ftgloadr.c".
+	"FT_GlyphLoader" is now a pointer to the structure
+	"FT_GlyphLoaderRec".
 
-          FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
-            FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
-
-          FT_Done_Stream => FT_Stream_Close
-
-          note that the name of the stream methods, defined in
-          "include/freetype/ftsystem.h" have also been changed without
-          problems:
-
-            FT_Stream_IO    => FT_Stream_IOFunc
-            FT_Stream_Close => FT_Stream_CloseFunc
-
-
-
-        * moving all memory and list management code to "src/base/ftutil.c"
-        (previously in "ftobjs.c" and "ftlist.c" respectively)
-
-        * moving all code related to glyph loaders to "internal/ftgloadr.h"
-        and "src/base/ftgloadr.c".
-
-        Note also that the type "FT_GlyphLoader" is now a pointer to the
-        structure "FT_GlyphLoaderRec"..
-
-
-        * renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP"
+	* Renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP".
 
 2002-02-22  Werner Lemberg  <[email protected]>
 
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -681,10 +681,11 @@
 
   typedef struct  PSAux_ServiceRec_
   {
-    const PS_Table_Funcs    ps_table_funcs;
-    const PS_Parser_Funcs   ps_parser_funcs;
-    const T1_Builder_Funcs  t1_builder_funcs;
-    const T1_Decoder_Funcs  t1_decoder_funcs;
+    /* don't use `PS_Table_Funcs' and friends to avoid compiler warnings */
+    const PS_Table_FuncsRec*    ps_table_funcs;
+    const PS_Parser_FuncsRec*   ps_parser_funcs;
+    const T1_Builder_FuncsRec*  t1_builder_funcs;
+    const T1_Decoder_FuncsRec*  t1_decoder_funcs;
 
     void
     (*t1_decrypt)( FT_Byte*   buffer,
--- a/include/freetype/internal/t1types.h
+++ b/include/freetype/internal/t1types.h
@@ -165,18 +165,18 @@
   {
     FT_FaceRec     root;
     T1_FontRec     type1;
-    void*          psnames;
-    void*          psaux;
-    void*          afm_data;
+    const void*    psnames;
+    const void*    psaux;
+    const void*    afm_data;
     FT_CharMapRec  charmaprecs[2];
     FT_CharMap     charmaps[2];
     PS_Unicodes    unicode_map;
 
     /* support for Multiple Masters fonts */
-    PS_Blend      blend;
+    PS_Blend       blend;
     
     /* since FT 2.1 - interface to PostScript hinter */
-    void*          pshinter;
+    const void*    pshinter;
 
   } T1_FaceRec;
 
--- a/src/base/ftapi.c
+++ b/src/base/ftapi.c
@@ -39,7 +39,6 @@
 
   /* backwards compatibility API */
 
-
   FT_BASE_DEF( void )
   FT_New_Memory_Stream( FT_Library  library,
                         FT_Byte*    base,
@@ -46,7 +45,9 @@
                         FT_ULong    size,
                         FT_Stream   stream )
   {
-    return FT_Stream_OpenMemory( library, base, size, stream );
+    FT_UNUSED( library );
+
+    FT_Stream_OpenMemory( stream, base, size );
   }                        
 
 
--- a/src/psaux/t1cmap.c
+++ b/src/psaux/t1cmap.c
@@ -12,11 +12,11 @@
  /***************************************************************************/
 
   static void
-  t1_cmap_std_init( T1_CMapStd   cmap,
-                    FT_Int       is_expert )
+  t1_cmap_std_init( T1_CMapStd  cmap,
+                    FT_Int      is_expert )
   {
-    T1_Face          face    = (T1_Face) FT_CMAP_FACE(cmap);
-    PSNames_Service  psnames = face->psnames;
+    T1_Face          face    = (T1_Face)FT_CMAP_FACE( cmap );
+    PSNames_Service  psnames = (PSNames_Service)face->psnames;
 
     cmap->num_glyphs    = face->type1.num_glyphs;
     cmap->glyph_names   = (const char* const*)face->type1.glyph_names;
@@ -101,7 +101,7 @@
   }
 
 
-  FT_LOCAL_DEF( const FT_CMap_ClassRec )
+  FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec
   t1_cmap_standard_class_rec =
   {
     sizeof( T1_CMapStdRec ),
@@ -122,7 +122,7 @@
     return 0;
   }
 
-  FT_LOCAL_DEF( const FT_CMap_ClassRec )
+  FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec
   t1_cmap_expert_class_rec =
   {
     sizeof( T1_CMapStdRec ),
@@ -215,7 +215,7 @@
   }
 
 
-  FT_LOCAL_DEF( const FT_CMap_ClassRec )
+  FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec
   t1_cmap_custom_class_rec =
   {
     sizeof( T1_CMapCustomRec ),
@@ -259,10 +259,11 @@
   {
     FT_Error         error;
     FT_UInt          count;
-    T1_Face          face    = (T1_Face) FT_CMAP_FACE(cmap);
-    FT_Memory        memory  = FT_FACE_MEMORY(face);
-    PSNames_Service  psnames = face->psnames;
+    T1_Face          face    = (T1_Face)FT_CMAP_FACE( cmap );
+    FT_Memory        memory  = FT_FACE_MEMORY( face );
+    PSNames_Service  psnames = (PSNames_Service)face->psnames;
 
+
     cmap->num_pairs = 0;
     cmap->pairs     = NULL;
 
@@ -416,7 +417,7 @@
   }
 
 
-  FT_LOCAL_DEF( const FT_CMap_ClassRec )
+  FT_CALLBACK_TABLE_DEF const FT_CMap_ClassRec
   t1_cmap_unicode_class_rec =
   {
     sizeof( T1_CMapUnicodeRec ),
--- a/src/psaux/t1cmap.h
+++ b/src/psaux/t1cmap.h
@@ -32,9 +32,11 @@
   } T1_CMapStdRec;
 
 
-  FT_LOCAL( const FT_CMap_ClassRec )  t1_cmap_standard_class_rec;
+  FT_CALLBACK_TABLE const FT_CMap_ClassRec
+  t1_cmap_standard_class_rec;
   
-  FT_LOCAL( const FT_CMap_ClassRec )  t1_cmap_expert_class_rec;
+  FT_CALLBACK_TABLE const FT_CMap_ClassRec
+  t1_cmap_expert_class_rec;
   
  /***************************************************************************/
  /***************************************************************************/
@@ -55,7 +57,8 @@
   
   } T1_CMapCustomRec;
 
-  FT_LOCAL( const FT_CMap_ClassRec )   t1_cmap_custom_class_rec;
+  FT_CALLBACK_TABLE const FT_CMap_ClassRec
+  t1_cmap_custom_class_rec;
   
  /***************************************************************************/
  /***************************************************************************/
@@ -85,7 +88,8 @@
   } T1_CMapUnicodeRec;
 
 
-  FT_LOCAL( const FT_CMap_ClassRec )   t1_cmap_unicode_class_rec;
+  FT_CALLBACK_TABLE const FT_CMap_ClassRec
+  t1_cmap_unicode_class_rec;
 
  /* */
  
--- a/src/sfnt/ttcmap0.c
+++ b/src/sfnt/ttcmap0.c
@@ -1575,7 +1575,7 @@
       charmap.platform_id = TT_NEXT_USHORT(p);
       charmap.encoding_id = TT_NEXT_USHORT(p);
       charmap.face        = FT_FACE(face);
-      charmap.encoding    = 0;  /* will be filled later */
+      charmap.encoding    = ft_encoding_none;  /* will be filled later */
       offset              = TT_NEXT_ULONG(p);
 
       if ( offset && table + offset + 2 < limit )
--- a/src/type1/t1objs.c
+++ b/src/type1/t1objs.c
@@ -277,7 +277,7 @@
                 FT_Int         num_params,
                 FT_Parameter*  params )
   {
-    FT_Error             error;
+    FT_Error          error;
     PSNames_Service   psnames;
     PSAux_Service     psaux;
     PSHinter_Service  pshinter;
@@ -290,14 +290,17 @@
 
     face->root.num_faces = 1;
 
-    psnames = face->psnames = (PSNames_Service)
-               FT_Get_Module_Interface( FT_FACE_LIBRARY(face), "psnames" );
+    face->psnames = FT_Get_Module_Interface( FT_FACE_LIBRARY( face ),
+                                             "psnames" );
+    psnames = (PSNames_Service)face->psnames;
 
-    psaux = face->psaux   = (PSAux_Service)
-               FT_Get_Module_Interface( FT_FACE_LIBRARY(face), "psaux" );
+    face->psaux = FT_Get_Module_Interface( FT_FACE_LIBRARY( face ),
+                                           "psaux" );
+    psaux = (PSAux_Service)face->psaux;
 
-    pshinter = face->pshinter = (PSHinter_Service)
-               FT_Get_Module_Interface( FT_FACE_LIBRARY(face), "pshinter" );
+    face->pshinter = FT_Get_Module_Interface( FT_FACE_LIBRARY( face ),
+                                              "pshinter" );
+    pshinter = (PSHinter_Service)face->pshinter;
 
     /* open the tokenizer, this will also check the font format */
     error = T1_Open_Face( face );