shithub: freetype+ttf2subf

Download patch

ref: 4ea0a7f0b65c026420f39cabdc146b943c74e2c5
parent: f1c7e388efb1448c28d5a480054b9e04e193a284
author: Werner Lemberg <[email protected]>
date: Fri Jan 5 04:03:31 EST 2007

formatting, minor doc fixes, copyright years

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,38 +1,55 @@
 2007-01-04  David Turner  <[email protected]>
 
-	* docs/INSTALL.UNIX: simplified some parts, add reference to
-	autogen.sh and pointer to README.CVS
+	* docs/INSTALL.UNIX: Simplify some parts, add reference to
+	autogen.sh and pointer to README.CVS.
 
-	* README.CVS: add common problem description and solution
-	when running autogen.sh
+	* README.CVS: Add common problem description and solution
+	when running autogen.sh.
 
-	* docs/INSTALL: add reference to MacOS X
+	* docs/INSTALL: Add reference to MacOS X.
 
-	* docs/MAKEPP, docs/INSTALL.MAC: add new documentation files
+	* docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
 
-	* docs/TODO: remove obsolete items
+	* docs/TODO: Remove obsolete items.
 
-	* src/raster/ftraster.c: removing dynamically generated "count_table",
-	and replace it with a constant array of bytes
+	* src/raster/ftraster.c: (TRaster_Instance): Replace it with...
+	(TWorker): This.
+	Remove `count_table' and `memory'.
+	Make `grays' a pointer.
+	(TRaster): New structure.
+	(count_table): New static array.
+	(RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
+	Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
+	ft_black_set_mode, ft_black_render): Updated.
+	(ft_black_init): Don't initialize `count_table'.
+	(ft_black_reset): Use the render pool.  This saves about 6KB of
+	heap space for each FT_Library instance.
 
-	* src/raster/ftraster.c, src/smooth/ftgrays.c: small optimization, the
-	rasterizers now	use the render pool to store their state during
-	scanline conversion. this saves about 6 KB of heap space for each
-	FT_Library instance
+	* src/smooth/ftgrays.c (TRaster): Replaced with...
+	(TWorker): This.
+	Remove `memory'.
+	(TRaster): New structure.
 
+	(RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
+	gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
+	gray_render_span, gray_raster_render): Updated.
+	(gray_raster_reset): Use the render pool.  This saves about 6KB of
+	heap space for each FT_Library instance.
+
 	* src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
 	src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
-	src/truetype/ttpload.c, include/freetype/config/ftoption.h:
-	remove FT_OPTIMIZE_MEMORY macro, since the optimization is
-	no longer experimental
+	src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
+	FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
+	the optimization is no longer experimental.
 
-	* src/pshinter/pshalgo.c: remove a stupid typo that results in no
-	hinting and a memory leak with some large Asian CFF fonts
+	* src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
+	Remove a typo that results in no hinting and a memory leak with some
+	large Asian CFF fonts.
 
-	* src/base/ftobjs.c (FT_Done_Library): remove a subtle memory leak
-	which happens when FT_Done_Library is called with opened CFF_Faces in
-	it. We need to close all faces before destroying the modules, or else
-	some bad things (memory leaks) may happen.
+	* src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
+	which happens when FT_Done_Library is called with still open
+	CFF_Faces in it.  We need to close all faces before destroying the
+	modules, or else some bad things (memory leaks) may happen.
 
 2007-01-02  Werner Lemberg  <[email protected]>
 
@@ -3973,7 +3990,7 @@
 
 ----------------------------------------------------------------------------
 
-Copyright 2005, 2006 by
+Copyright 2005, 2006, 2007 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
--- a/README.CVS
+++ b/README.CVS
@@ -9,12 +9,12 @@
   libtool (1.5.22)
   autoconf (2.59c)
 
-The  versions given  in  parentheses  are known  to  work.  Note  that
-autogen.sh also sets up proper  file permissions for the configure and
-auxiliary scripts.
+The versions given  in parentheses are known to  work.  Newer versions
+should work too, of course.   Note that autogen.sh also sets up proper
+file permissions for the `configure' and auxiliary scripts.
 
-Note that a very common problem is that the script complains that
-the aclocal program doesn't accept a --force option:
+A very common problem is that this script complains that the `aclocal'
+program doesn't accept a `--force' option:
 
   generating `configure.ac'
   running `aclocal -I . --force'
@@ -22,8 +22,8 @@
   Try `aclocal --help' for more information.
   error while running `aclocal -I . --force'
 
-What this really means that your version of Automake is too old,
-please update it before trying to build FreeType.
+This  means that  your version  of the  automake package  is  too old.
+Please update it before trying to build FreeType.
 
 
 For static builds which  don't use platform specific optimizations, no
@@ -33,6 +33,18 @@
   make
 
 should work on all platforms which have GNU make (or makepp).
+
+
+----------------------------------------------------------------------
+
+Copyright 2005, 2006, 2007 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.
 
 
 --- end of README.CVS ---
--- a/devel/ftoption.h
+++ b/devel/ftoption.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    User-selectable configuration macros (specification only).           */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -593,7 +593,6 @@
 
 
   /* */
-
 
 
   /*
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -13,7 +13,7 @@
     need it, read the file `TRUETYPE' for information.
 
 
-  2. Unix Systems (including Mac OS X, as well as Cygwin or MSys on Windows)
+  2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
 
     Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
     upgrade FreeType  2 on  a Unix system.   Note that you  *need* GNU
@@ -76,7 +76,7 @@
 
 ----------------------------------------------------------------------
 
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 by
+Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file is  part of  the FreeType  project, and  may only  be used,
--- a/docs/INSTALL.MAC
+++ b/docs/INSTALL.MAC
@@ -1,1 +1,2 @@
-Follow the instructions in INSTALL.UNIX to install FreeType on Mac OS X
+Please follow the instructions in INSTALL.UNIX to install FreeType on
+Mac OS X.
--- a/docs/INSTALL.UNIX
+++ b/docs/INSTALL.UNIX
@@ -19,33 +19,33 @@
        GNU Make  <version number>
        Copyright (C) <year> Free Software Foundation Inc.
 
-    Note that version 3.78.1 or higher is *required*, or the build will
+    Note that version 3.78.1 or higher is *required* or the build will
     fail.
 
-    It's also OK to have GNU Make under another name (e.g. 'gmake')
-    if you use the GNUMAKE trick described below.
+    It is also fine to have GNU Make under another name (e.g. 'gmake')
+    if you use the GNUMAKE variable as described below.
 
-    As a special exception, 'makepp' can also be used to build
-    FreeType 2. See the file docs/MAKEPP for details
+    As  a  special exception,  'makepp'  can  also  be used  to  build
+    FreeType 2.  See the file docs/MAKEPP for details.
 
 
-  2. Regenerate the configure script when needed
-  ----------------------------------------------
+  2. Regenerate the configure script if needed
+  --------------------------------------------
 
-   This only applies if you're building a CVS snapshot or checkout,
-   *not* if you grabbed the sources of an official release.
+    This only applies if you  are building a CVS snapshot or checkout,
+    *not* if you grabbed the sources of an official release.
 
-   you need to invoke the "autogen.sh" script in the top-level
-   directory in order to re-generate the configure script for your
-   platform. Normally, this simply means typing:
+    You  need  to invoke  the  `autogen.sh'  script  in the  top-level
+    directory  in order  to  create the  `configure'  script for  your
+    platform.  Normally, this simply means typing:
 
-     sh autogen.sh <your configure options>
+      sh autogen.sh
 
-   in case of problems, you may need to install or upgrade Automake,
-   Autoconf or Libtool. See README.CVS in the top-level directory for
-   the gory details.
-    
+    In case of problems, you  may need to install or upgrade Automake,
+    Autoconf or  Libtool.  See  README.CVS in the  top-level directory
+    for more information.
 
+
   3. Build and install the library
   --------------------------------
 
@@ -83,7 +83,7 @@
 
 ----------------------------------------------------------------------
 
-Copyright 2003, 2004, 2005, 2006 by
+Copyright 2003, 2004, 2005, 2006, 2007 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file is  part of  the FreeType  project, and  may only  be used,
--- a/docs/MAKEPP
+++ b/docs/MAKEPP
@@ -1,5 +1,5 @@
-As a special exception, FreeType can also be built with the
-'makepp' build tool, available from http://makepp.sourceforge.net
+As a special  exception, FreeType can also be  built with the 'makepp'
+build tool, available from http://makepp.sourceforge.net.
 
-Note however that you will need at least version 1.19 and pass
-the option --norc-substitution to have it work correctly
+Note, however. that  you will need at least version  1.19 and pass the
+option --norc-substitution to have it work correctly.
--- a/docs/TODO
+++ b/docs/TODO
@@ -27,7 +27,7 @@
 
 ------------------------------------------------------------------------
 
-Copyright 2001, 2002, 2003, 2004, 2005, 2006 by
+Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file  is  part  of the  FreeType  project, and may  only be  used,
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    User-selectable configuration macros (specification only).           */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -5,7 +5,7 @@
 /*    Basic SFNT/TrueType type definitions and interface (specification    */
 /*    only).                                                               */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2004, 2005, 2006 by                         */
+/*  Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007 by                   */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    The FreeType private base classes (body).                            */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -3758,33 +3758,33 @@
     if ( library->generic.finalizer )
       library->generic.finalizer( library );
 
-    /* Close all faces in the library. if we don't do
+    /* Close all faces in the library.  If we don't do
      * this, we can have some subtle memory leaks.
-     * for example:
+     * Example:
      *
      *  - the cff font driver uses the pshinter module in cff_size_done
      *  - if the pshinter module is destroyed before the cff font driver,
-     *    opened FT_Face objects managed by the driver will not be properly
+     *    opened FT_Face objects managed by the driver are not properly
      *    destroyed, resulting in a memory leak
      */
     {
       FT_UInt  n;
 
+
       for ( n = 0; n < library->num_modules; n++ )
       {
         FT_Module  module = library->modules[n];
         FT_List    faces;
 
-        if ( (module->clazz->module_flags & FT_MODULE_FONT_DRIVER) == 0 )
+
+        if ( ( module->clazz->module_flags & FT_MODULE_FONT_DRIVER ) == 0 )
           continue;
 
         faces = &FT_DRIVER(module)->faces_list;
-        while ( faces->head ) {
-          FT_Done_Face( FT_FACE(faces->head->data) );
-        }
+        while ( faces->head )
+          FT_Done_Face( FT_FACE( faces->head->data ) );
       }
     }
-
 
     /* Close all other modules in the library */
 #if 1
--- a/src/pshinter/pshalgo.c
+++ b/src/pshinter/pshalgo.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    PostScript hinting algorithm (body).                                 */
 /*                                                                         */
-/*  Copyright 2001, 2002, 2003, 2004, 2005, 2006 by                        */
+/*  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by                  */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used        */
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    The FreeType glyph rasterizer (body).                                */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2005 by                               */
+/*  Copyright 1996-2001, 2002, 2003, 2005, 2007 by                         */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -3177,6 +3177,7 @@
 #ifdef FT_RASTER_OPTION_ANTI_ALIASING
     FT_UInt  n;
 
+
     /* set default 5-levels gray palette */
     for ( n = 0; n < 5; n++ )
       raster->grays[n] = n * 255 / 4;
@@ -3263,8 +3264,10 @@
       {
         PWorker  worker = (PWorker)pool_base;
 
-        raster->buffer      = pool_base + ((sizeof(*worker) + 7) & ~7);
-        raster->buffer_size = ((pool_base + pool_size) - (char*)raster->buffer)/sizeof(Long);
+
+        raster->buffer      = pool_base + ( (sizeof ( *worker ) + 7 ) & ~7 );
+        raster->buffer_size = ( ( pool_base + pool_size ) -
+                                (char*)raster->buffer ) / sizeof ( Long );
         raster->worker      = worker;
       }
       else
@@ -3339,7 +3342,8 @@
     ras.target   = *target_map;
 
     worker->buff        = (PLong) raster->buffer;
-    worker->sizeBuff    = worker->buff + raster->buffer_size/sizeof(Long);
+    worker->sizeBuff    = worker->buff +
+                            raster->buffer_size / sizeof ( Long );
 #ifdef FT_RASTER_OPTION_ANTI_ALIASING
     worker->grays       = raster->grays;
     worker->gray_width  = raster->gray_width;
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    SFNT object management (base).                                       */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/sfnt/ttkern.c
+++ b/src/sfnt/ttkern.c
@@ -5,7 +5,7 @@
 /*    Load the basic TrueType kerning table.  This doesn't handle          */
 /*    kerning data within the GPOS table at the moment.                    */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/sfnt/ttkern.h
+++ b/src/sfnt/ttkern.h
@@ -5,7 +5,7 @@
 /*    Load the basic TrueType kerning table.  This doesn't handle          */
 /*    kerning data within the GPOS table at the moment.                    */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2005 by                                     */
+/*  Copyright 1996-2001, 2002, 2005, 2007 by                               */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -41,7 +41,7 @@
                        FT_UInt     left_glyph,
                        FT_UInt     right_glyph );
 
-#  define TT_FACE_HAS_KERNING( face )  ( (face)->kern_avail_bits != 0 )
+#define TT_FACE_HAS_KERNING( face )  ( (face)->kern_avail_bits != 0 )
 
 
 FT_END_HEADER
--- a/src/sfnt/ttmtx.c
+++ b/src/sfnt/ttmtx.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Load the metrics tables common to TTF and OTF fonts (body).          */
 /*                                                                         */
-/*  Copyright 2006 by                                                      */
+/*  Copyright 2006, 2007 by                                                */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType and OpenType embedded bitmap support (body).                */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/sfnt/ttsbit.h
+++ b/src/sfnt/ttsbit.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType and OpenType embedded bitmap support (specification).       */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    A new `perfect' anti-aliasing renderer (body).                       */
 /*                                                                         */
-/*  Copyright 2000-2001, 2002, 2003, 2005, 2006 by                         */
+/*  Copyright 2000-2001, 2002, 2003, 2005, 2006, 2007 by                   */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -1929,14 +1929,20 @@
 
     if ( raster )
     {
-      if ( pool_base && pool_size >= (long)sizeof(TWorker) + 2048 )
+      if ( pool_base && pool_size >= (long)sizeof ( TWorker ) + 2048 )
       {
-        PWorker  worker = (PWorker) pool_base;
+        PWorker  worker = (PWorker)pool_base;
 
+
         rast->worker      = worker;
-        rast->buffer      = pool_base + ((sizeof(TWorker) + sizeof(TCell)-1) & ~(sizeof(TCell)-1));
-        rast->buffer_size = (long)((pool_base + pool_size) - (char*)rast->buffer) & ~(sizeof(TCell)-1);
-        rast->band_size   = (int)( rast->buffer_size/(sizeof(TCell)*8) );
+        rast->buffer      = pool_base +
+                              ( ( sizeof ( TWorker ) + sizeof ( TCell ) - 1 ) &
+                                ~( sizeof ( TCell ) - 1 ) );
+        rast->buffer_size = (long)( ( pool_base + pool_size ) -
+                                    (char*)rast->buffer ) &
+                                      ~( sizeof ( TCell ) - 1 );
+        rast->band_size   = (int)( rast->buffer_size /
+                                     ( sizeof ( TCell ) * 8 ) );
       }
       else
       {