shithub: freetype+ttf2subf

Download patch

ref: a37745bad4e46c5ad0e690150b0ec8081ff81c90
parent: 665279f0d578f00f83e3d20ff7bebe8f4f70c324
author: Werner Lemberg <[email protected]>
date: Wed Mar 23 11:45:24 EST 2005

* docs/CHANGES, docs/INSTALL.ANY: Updated.

* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
Add `OTvalid'.

* src/autofit/aferrors.h: New file.

* src/autofit/afglobal.c, src/autofit/afhints.c,
src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
Include aferrors.h.

* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.

* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,24 @@
+2005-03-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES, docs/INSTALL.ANY: Updated.
+
+	* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
+	Add `OTvalid'.
+
+	* src/autofit/aferrors.h: New file.
+
+	* src/autofit/afglobal.c, src/autofit/afhints.c,
+	src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
+	Include aferrors.h.
+
+	* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
+
+	* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
+
 2005-03-22  David Turner  <[email protected]>
 
-	* src/autohint/*, Jamfile: removing the 'autohint' module
-	from the build.
+	* src/autohint/*: Removed.
+	* Jamfile: Updated.
 
 2005-03-15  David Turner  <[email protected]>
 
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -38,9 +38,10 @@
       memory-mapped font files  (which is the default on Unix  systems
       which support them).
 
-    - The auto-hinter  has been completely rewritten  as a new module,
-      called the `auto-fitter',  which is now the default auto-hinting
-      module.  It consumes a lot less memory than its predecessor.
+    - The auto-hinter  has been replaced with a new module, called the
+      `auto-fitter'.  It consumes  less memory  than its  predecessor,
+      and it is  prepared to support non-latin scripts  better in next
+      releases.
 
     - George Williams  contributed code to read  kerning data from PFM
       files.
@@ -74,19 +75,21 @@
     - A new option `--ftversion' has been  added to freetype-config to
       return the FreeType version.
 
-    - The memory debugger has been updated to dump allocation statistics
-      on all allocation sources in the library. This is useful to spot
-      greedy allocations when loading and processing fonts.
+    - The  memory  debugger  has  been  updated   to  dump  allocation
+      statistics on  all allocation  sources in the library.   This is
+      useful to  spot greedy  allocations when  loading and processing
+      fonts.
 
-    - we removed a huge array of constant pointers to constant strings
-      in the 'psnames' module. The problem was that when compiled in PIC
-      mode (i.e. when generating a Unix shared object / dll), the array
-      could only be placed in the non-shared writable section of the library*
+    - We removed a huge array of constant pointers to constant strings
+      in the `psnames' module.   The problem was that  compilations in
+      PIC mode (i.e.,  when generating a  Unix shared object/dll)  put
+      the array  into the non-shared  writable section of  the library
       since absolute pointers are not relocatable by nature.
       
-      This saves about 16Kb per process linked to FreeType. We also store
-      the array in a novel compressed way that saves about 20 Kb of code
-      as well.
+      This reduces the memory consumption by approximately 16KByte per
+      process linked  to FreeType.   We now also store  the array in a
+      compressed form (as a trie) which saves about 20KByte of code as
+      well.
 
 
 ======================================================================
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -42,7 +42,7 @@
 
     -- other components (optional)
 
-      src/autohint/autohint.c -- auto hinting module
+      src/autofit/autofit.c   -- auto hinting module
       src/cache/ftcache.c     -- cache sub-system (in beta)
       src/sfnt/sfnt.c         -- SFNT files support
                                  (TrueType & OpenType)
--- a/include/freetype/ftmoderr.h
+++ b/include/freetype/ftmoderr.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType module error offsets (specification).                       */
 /*                                                                         */
-/*  Copyright 2001, 2002, 2003, 2004 by                                    */
+/*  Copyright 2001, 2002, 2003, 2004, 2005 by                              */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -23,8 +23,8 @@
   /* The lower byte gives the error code, the higher byte gives the        */
   /* module.  The base module has error offset 0.  For example, the error  */
   /* `FT_Err_Invalid_File_Format' has value 0x003, the error               */
-  /* `TT_Err_Invalid_File_Format' has value 0x1003, the error              */
-  /* `T1_Err_Invalid_File_Format' has value 0x1103, etc.                   */
+  /* `TT_Err_Invalid_File_Format' has value 0x1103, the error              */
+  /* `T1_Err_Invalid_File_Format' has value 0x1203, etc.                   */
   /*                                                                       */
   /* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h   */
   /* to make the higher byte always zero (disabling the module error       */
@@ -103,7 +103,7 @@
 
 
   FT_MODERRDEF( Base,      0x000, "base module" )
-  FT_MODERRDEF( Autohint,  0x100, "autohinter module" )
+  FT_MODERRDEF( Autofit,   0x100, "autofitter module" )
   FT_MODERRDEF( BDF,       0x200, "BDF module" )
   FT_MODERRDEF( Cache,     0x300, "cache module" )
   FT_MODERRDEF( CFF,       0x400, "CFF module" )
@@ -110,18 +110,19 @@
   FT_MODERRDEF( CID,       0x500, "CID module" )
   FT_MODERRDEF( Gzip,      0x600, "Gzip module" )
   FT_MODERRDEF( LZW,       0x700, "LZW module" )
-  FT_MODERRDEF( PCF,       0x800, "PCF module" )
-  FT_MODERRDEF( PFR,       0x900, "PFR module" )
-  FT_MODERRDEF( PSaux,     0xA00, "PS auxiliary module" )
-  FT_MODERRDEF( PShinter,  0xB00, "PS hinter module" )
-  FT_MODERRDEF( PSnames,   0xC00, "PS names module" )
-  FT_MODERRDEF( Raster,    0xD00, "raster module" )
-  FT_MODERRDEF( SFNT,      0xE00, "SFNT module" )
-  FT_MODERRDEF( Smooth,    0xF00, "smooth raster module" )
-  FT_MODERRDEF( TrueType, 0x1000, "TrueType module" )
-  FT_MODERRDEF( Type1,    0x1100, "Type 1 module" )
-  FT_MODERRDEF( Type42,   0x1200, "Type 42 module" )
-  FT_MODERRDEF( Winfonts, 0x1300, "Windows FON/FNT module" )
+  FT_MODERRDEF( OTvalid,   0x800, "OpenType validation module" )
+  FT_MODERRDEF( PCF,       0x900, "PCF module" )
+  FT_MODERRDEF( PFR,       0xA00, "PFR module" )
+  FT_MODERRDEF( PSaux,     0xB00, "PS auxiliary module" )
+  FT_MODERRDEF( PShinter,  0xC00, "PS hinter module" )
+  FT_MODERRDEF( PSnames,   0xD00, "PS names module" )
+  FT_MODERRDEF( Raster,    0xE00, "raster module" )
+  FT_MODERRDEF( SFNT,      0xF00, "SFNT module" )
+  FT_MODERRDEF( Smooth,   0x1000, "smooth raster module" )
+  FT_MODERRDEF( TrueType, 0x1100, "TrueType module" )
+  FT_MODERRDEF( Type1,    0x1200, "Type 1 module" )
+  FT_MODERRDEF( Type42,   0x1300, "Type 42 module" )
+  FT_MODERRDEF( Winfonts, 0x1400, "Windows FON/FNT module" )
 
 
 #ifdef FT_MODERR_END_LIST
--- /dev/null
+++ b/src/autofit/aferrors.h
@@ -1,0 +1,40 @@
+/***************************************************************************/
+/*                                                                         */
+/*  aferrors.h                                                             */
+/*                                                                         */
+/*    Autofitter error codes (specification only).                         */
+/*                                                                         */
+/*  Copyright 2005 by                                                      */
+/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
+/*                                                                         */
+/*  This file is part of the FreeType project, and may only be used,       */
+/*  modified, and distributed under the terms of the FreeType project      */
+/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
+/*  this file you indicate that you have read the license and              */
+/*  understand and accept it fully.                                        */
+/*                                                                         */
+/***************************************************************************/
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* This file is used to define the Autofitter error enumeration          */
+  /* constants.                                                            */
+  /*                                                                       */
+  /*************************************************************************/
+
+#ifndef __AFERRORS_H__
+#define __AFERRORS_H__
+
+#include FT_MODULE_ERRORS_H
+
+#undef __FTERRORS_H__
+
+#define FT_ERR_PREFIX  AF_Err_
+#define FT_ERR_BASE    FT_Mod_Err_Autofit
+
+#include FT_ERRORS_H
+
+#endif /* __AFERRORS_H__ */
+
+/* END */
--- a/src/autofit/afglobal.c
+++ b/src/autofit/afglobal.c
@@ -19,6 +19,7 @@
 #include "afglobal.h"
 #include "afdummy.h"
 #include "aflatin.h"
+#include "aferrors.h"
 
 
   /* populate this list when you add new scripts */
@@ -57,7 +58,7 @@
   static FT_Error
   af_face_globals_compute_script_coverage( AF_FaceGlobals  globals )
   {
-    FT_Error    error       = FT_Err_Ok;
+    FT_Error    error       = AF_Err_Ok;
     FT_Face     face        = globals->face;
     FT_CharMap  old_charmap = face->charmap;
     FT_Byte*    gscripts    = globals->glyph_scripts;
@@ -76,7 +77,7 @@
       *  Ignore this error; we simply use Latin as the standard
       *  script.  XXX: Shouldn't we rather disable hinting?
       */
-      error = FT_Err_Ok;
+      error = AF_Err_Ok;
       goto Exit;
     }
 
@@ -219,12 +220,12 @@
     AF_ScriptMetrics  metrics = NULL;
     FT_UInt           index;
     AF_ScriptClass    clazz;
-    FT_Error          error = 0;
+    FT_Error          error = AF_Err_Ok;
 
 
     if ( gindex >= globals->glyph_count )
     {
-      error = FT_Err_Invalid_Argument;
+      error = AF_Err_Invalid_Argument;
       goto Exit;
     }
 
--- a/src/autofit/afhints.c
+++ b/src/autofit/afhints.c
@@ -17,6 +17,7 @@
 
 
 #include "afhints.h"
+#include "aferrors.h"
 
 
   FT_LOCAL_DEF( FT_Error )
@@ -24,7 +25,7 @@
                              FT_Memory     memory,
                              AF_Segment   *asegment )
   {
-    FT_Error    error   = FT_Err_Ok;
+    FT_Error    error   = AF_Err_Ok;
     AF_Segment  segment = NULL;
 
 
@@ -37,7 +38,7 @@
 
       if ( old_max >= big_max )
       {
-        error = FT_Err_Out_Of_Memory;
+        error = AF_Err_Out_Of_Memory;
         goto Exit;
       }
 
@@ -66,7 +67,7 @@
                           FT_Memory     memory,
                           AF_Edge      *aedge )
   {
-    FT_Error  error = FT_Err_Ok;
+    FT_Error  error = AF_Err_Ok;
     AF_Edge   edge  = NULL;
     AF_Edge   edges;
 
@@ -80,7 +81,7 @@
 
       if ( old_max >= big_max )
       {
-        error = FT_Err_Out_Of_Memory;
+        error = AF_Err_Out_Of_Memory;
         goto Exit;
       }
 
@@ -462,7 +463,7 @@
   af_glyph_hints_reload( AF_GlyphHints  hints,
                          FT_Outline*    outline )
   {
-    FT_Error   error   = FT_Err_Ok;
+    FT_Error   error   = AF_Err_Ok;
     AF_Point   points;
     FT_UInt    old_max, new_max;
     AF_Scaler  scaler  = &hints->metrics->scaler;
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -17,6 +17,7 @@
 
 
 #include "aflatin.h"
+#include "aferrors.h"
 
 
   /*************************************************************************/
@@ -377,7 +378,7 @@
   af_latin_metrics_init( AF_LatinMetrics  metrics,
                          FT_Face          face )
   {
-    FT_Error    error = FT_Err_Ok;
+    FT_Error    error = AF_Err_Ok;
     FT_CharMap  oldmap = face->charmap;
     FT_UInt     ee;
 
@@ -408,7 +409,7 @@
     }
 
     FT_Set_Charmap( face, oldmap );
-    return FT_Err_Ok;
+    return AF_Err_Ok;
   }
 
 
@@ -577,7 +578,7 @@
   {
     AF_AxisHints  axis          = &hints->axis[dim];
     FT_Memory     memory        = hints->memory;
-    FT_Error      error         = FT_Err_Ok;
+    FT_Error      error         = AF_Err_Ok;
     AF_Segment    segment       = NULL;
     AF_Point*     contour       = hints->contours;
     AF_Point*     contour_limit = contour + hints->num_contours;
@@ -921,7 +922,7 @@
                                 AF_Dimension   dim )
   {
     AF_AxisHints  axis   = &hints->axis[dim];
-    FT_Error      error  = 0;
+    FT_Error      error  = AF_Err_Ok;
     FT_Memory     memory = hints->memory;
     AF_LatinAxis  laxis  = &((AF_LatinMetrics)hints->metrics)->axis[dim];
 
--- a/src/autofit/afloader.c
+++ b/src/autofit/afloader.c
@@ -20,6 +20,7 @@
 #include "afhints.h"
 #include "afglobal.h"
 #include "aflatin.h"
+#include "aferrors.h"
 
 
   FT_LOCAL_DEF( FT_Error )
@@ -51,7 +52,7 @@
   af_loader_reset( AF_Loader  loader,
                    FT_Face    face )
   {
-    FT_Error  error = FT_Err_Ok;
+    FT_Error  error = AF_Err_Ok;
 
 
     loader->face    = face;
@@ -331,7 +332,7 @@
             if ( start_point + k >= num_base_points         ||
                                l >= (FT_UInt)num_new_points )
             {
-              error = FT_Err_Invalid_Composite;
+              error = AF_Err_Invalid_Composite;
               goto Exit;
             }
 
@@ -369,7 +370,7 @@
 
     default:
       /* we don't support other formats (yet?) */
-      error = FT_Err_Unimplemented_Feature;
+      error = AF_Err_Unimplemented_Feature;
     }
 
   Hint_Metrics:
@@ -448,7 +449,7 @@
 
 
     if ( !size )
-      return FT_Err_Invalid_Argument;
+      return AF_Err_Invalid_Argument;
 
     FT_ZERO( &scaler );
 
--- a/src/autofit/rules.mk
+++ b/src/autofit/rules.mk
@@ -35,8 +35,9 @@
 
 # AUTOF driver headers
 #
-AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h) \
-               $(AUTOF_DIR)/aftypes.h
+AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h)  \
+               $(AUTOF_DIR)/aftypes.h  \
+               $(AUTOF_DIR)/aferrors.h
 
 
 # AUTOF driver object(s)
--- a/src/otvalid/otverror.h
+++ b/src/otvalid/otverror.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    OpenType validation module error codes (specification only).         */
 /*                                                                         */
-/*  Copyright 2004 by                                                      */
+/*  Copyright 2004, 2005 by                                                */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -31,7 +31,7 @@
 #undef __FTERRORS_H__
 
 #define FT_ERR_PREFIX  OTV_Err_
-#define FT_ERR_BASE    FT_Mod_Err_OTV
+#define FT_ERR_BASE    FT_Mod_Err_OTvalid
 
 #define FT_KEEP_ERR_PREFIX