formatting, minor doc fixes, copyright years

This commit is contained in:
Werner Lemberg 2007-01-05 09:03:31 +00:00
parent f1c7e388ef
commit 4ea0a7f0b6
20 changed files with 126 additions and 87 deletions

View File

@ -1,38 +1,55 @@
2007-01-04 David Turner <david@freetype.org> 2007-01-04 David Turner <david@freetype.org>
* docs/INSTALL.UNIX: simplified some parts, add reference to * docs/INSTALL.UNIX: Simplify some parts, add reference to
autogen.sh and pointer to README.CVS autogen.sh and pointer to README.CVS.
* README.CVS: add common problem description and solution * README.CVS: Add common problem description and solution
when running autogen.sh 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", * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
and replace it with a constant array of bytes (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 * src/smooth/ftgrays.c (TRaster): Replaced with...
rasterizers now use the render pool to store their state during (TWorker): This.
scanline conversion. this saves about 6 KB of heap space for each Remove `memory'.
FT_Library instance (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/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
src/truetype/ttpload.c, include/freetype/config/ftoption.h: src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
remove FT_OPTIMIZE_MEMORY macro, since the optimization is FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
no longer experimental the optimization is no longer experimental.
* src/pshinter/pshalgo.c: remove a stupid typo that results in no * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
hinting and a memory leak with some large Asian CFF fonts 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 * 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 which happens when FT_Done_Library is called with still open
it. We need to close all faces before destroying the modules, or else CFF_Faces in it. We need to close all faces before destroying the
some bad things (memory leaks) may happen. modules, or else some bad things (memory leaks) may happen.
2007-01-02 Werner Lemberg <wl@gnu.org> 2007-01-02 Werner Lemberg <wl@gnu.org>
@ -3973,7 +3990,7 @@
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Copyright 2005, 2006 by Copyright 2005, 2006, 2007 by
David Turner, Robert Wilhelm, and Werner Lemberg. David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified, This file is part of the FreeType project, and may only be used, modified,

View File

@ -9,12 +9,12 @@ which in turn depends on the following packages:
libtool (1.5.22) libtool (1.5.22)
autoconf (2.59c) autoconf (2.59c)
The versions given in parentheses are known to work. Note that The versions given in parentheses are known to work. Newer versions
autogen.sh also sets up proper file permissions for the configure and should work too, of course. Note that autogen.sh also sets up proper
auxiliary scripts. file permissions for the `configure' and auxiliary scripts.
Note that a very common problem is that the script complains that A very common problem is that this script complains that the `aclocal'
the aclocal program doesn't accept a --force option: program doesn't accept a `--force' option:
generating `configure.ac' generating `configure.ac'
running `aclocal -I . --force' running `aclocal -I . --force'
@ -22,8 +22,8 @@ the aclocal program doesn't accept a --force option:
Try `aclocal --help' for more information. Try `aclocal --help' for more information.
error while running `aclocal -I . --force' error while running `aclocal -I . --force'
What this really means that your version of Automake is too old, This means that your version of the automake package is too old.
please update it before trying to build FreeType. Please update it before trying to build FreeType.
For static builds which don't use platform specific optimizations, no For static builds which don't use platform specific optimizations, no
@ -35,4 +35,16 @@ configure script is necessary at all; saying
should work on all platforms which have GNU make (or makepp). 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 --- --- end of README.CVS ---

View File

@ -4,7 +4,7 @@
/* */ /* */
/* User-selectable configuration macros (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -595,7 +595,6 @@ FT_BEGIN_HEADER
/* */ /* */
/* /*
* Define this variable if you want to keep the layout of internal * Define this variable if you want to keep the layout of internal
* structures that was used prior to FreeType 2.2. This also compiles in * structures that was used prior to FreeType 2.2. This also compiles in

View File

@ -13,7 +13,7 @@ I. Normal installation and upgrades
need it, read the file `TRUETYPE' for information. 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 Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
upgrade FreeType 2 on a Unix system. Note that you *need* GNU upgrade FreeType 2 on a Unix system. Note that you *need* GNU
@ -76,7 +76,7 @@ II. Custom builds of the library
---------------------------------------------------------------------- ----------------------------------------------------------------------
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. David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, This file is part of the FreeType project, and may only be used,

View File

@ -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.

View File

@ -19,32 +19,32 @@ or MSys on Win32:
GNU Make <version number> GNU Make <version number>
Copyright (C) <year> Free Software Foundation Inc. 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. fail.
It's also OK to have GNU Make under another name (e.g. 'gmake') It is also fine to have GNU Make under another name (e.g. 'gmake')
if you use the GNUMAKE trick described below. if you use the GNUMAKE variable as described below.
As a special exception, 'makepp' can also be used to build As a special exception, 'makepp' can also be used to build
FreeType 2. See the file docs/MAKEPP for details 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, This only applies if you are building a CVS snapshot or checkout,
*not* if you grabbed the sources of an official release. *not* if you grabbed the sources of an official release.
you need to invoke the "autogen.sh" script in the top-level You need to invoke the `autogen.sh' script in the top-level
directory in order to re-generate the configure script for your directory in order to create the `configure' script for your
platform. Normally, this simply means typing: 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 more information.
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.
3. Build and install the library 3. Build and install the library
-------------------------------- --------------------------------
@ -83,7 +83,7 @@ or MSys on Win32:
---------------------------------------------------------------------- ----------------------------------------------------------------------
Copyright 2003, 2004, 2005, 2006 by Copyright 2003, 2004, 2005, 2006, 2007 by
David Turner, Robert Wilhelm, and Werner Lemberg. David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, This file is part of the FreeType project, and may only be used,

View File

@ -1,5 +1,5 @@
As a special exception, FreeType can also be built with the As a special exception, FreeType can also be built with the 'makepp'
'makepp' build tool, available from http://makepp.sourceforge.net build tool, available from http://makepp.sourceforge.net.
Note however that you will need at least version 1.19 and pass Note, however. that you will need at least version 1.19 and pass the
the option --norc-substitution to have it work correctly option --norc-substitution to have it work correctly.

View File

@ -27,7 +27,7 @@ Other bugs have been registered at the savannah bugzilla of FreeType.
------------------------------------------------------------------------ ------------------------------------------------------------------------
Copyright 2001, 2002, 2003, 2004, 2005, 2006 by Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
David Turner, Robert Wilhelm, and Werner Lemberg. David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, This file is part of the FreeType project, and may only be used,

View File

@ -4,7 +4,7 @@
/* */ /* */
/* User-selectable configuration macros (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -5,7 +5,7 @@
/* Basic SFNT/TrueType type definitions and interface (specification */ /* Basic SFNT/TrueType type definitions and interface (specification */
/* only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType private base classes (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -3758,34 +3758,34 @@
if ( library->generic.finalizer ) if ( library->generic.finalizer )
library->generic.finalizer( library ); 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. * this, we can have some subtle memory leaks.
* for example: * Example:
* *
* - the cff font driver uses the pshinter module in cff_size_done * - the cff font driver uses the pshinter module in cff_size_done
* - if the pshinter module is destroyed before the cff font driver, * - 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 * destroyed, resulting in a memory leak
*/ */
{ {
FT_UInt n; FT_UInt n;
for ( n = 0; n < library->num_modules; n++ ) for ( n = 0; n < library->num_modules; n++ )
{ {
FT_Module module = library->modules[n]; FT_Module module = library->modules[n];
FT_List faces; FT_List faces;
if ( (module->clazz->module_flags & FT_MODULE_FONT_DRIVER) == 0 )
if ( ( module->clazz->module_flags & FT_MODULE_FONT_DRIVER ) == 0 )
continue; continue;
faces = &FT_DRIVER(module)->faces_list; faces = &FT_DRIVER(module)->faces_list;
while ( faces->head ) { while ( faces->head )
FT_Done_Face( FT_FACE(faces->head->data) ); FT_Done_Face( FT_FACE( faces->head->data ) );
}
} }
} }
/* Close all other modules in the library */ /* Close all other modules in the library */
#if 1 #if 1
/* XXX Modules are removed in the reversed order so that */ /* XXX Modules are removed in the reversed order so that */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* PostScript hinting algorithm (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used */ /* This file is part of the FreeType project, and may only be used */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType glyph rasterizer (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -3177,6 +3177,7 @@ static const char count_table[256] =
#ifdef FT_RASTER_OPTION_ANTI_ALIASING #ifdef FT_RASTER_OPTION_ANTI_ALIASING
FT_UInt n; FT_UInt n;
/* set default 5-levels gray palette */ /* set default 5-levels gray palette */
for ( n = 0; n < 5; n++ ) for ( n = 0; n < 5; n++ )
raster->grays[n] = n * 255 / 4; raster->grays[n] = n * 255 / 4;
@ -3263,8 +3264,10 @@ static const char count_table[256] =
{ {
PWorker worker = (PWorker)pool_base; 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; raster->worker = worker;
} }
else else
@ -3339,7 +3342,8 @@ static const char count_table[256] =
ras.target = *target_map; ras.target = *target_map;
worker->buff = (PLong) raster->buffer; 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 #ifdef FT_RASTER_OPTION_ANTI_ALIASING
worker->grays = raster->grays; worker->grays = raster->grays;
worker->gray_width = raster->gray_width; worker->gray_width = raster->gray_width;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* SFNT object management (base). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -5,7 +5,7 @@
/* Load the basic TrueType kerning table. This doesn't handle */ /* Load the basic TrueType kerning table. This doesn't handle */
/* kerning data within the GPOS table at the moment. */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -5,7 +5,7 @@
/* Load the basic TrueType kerning table. This doesn't handle */ /* Load the basic TrueType kerning table. This doesn't handle */
/* kerning data within the GPOS table at the moment. */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -41,7 +41,7 @@ FT_BEGIN_HEADER
FT_UInt left_glyph, FT_UInt left_glyph,
FT_UInt right_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 FT_END_HEADER

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Load the metrics tables common to TTF and OTF fonts (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* TrueType and OpenType embedded bitmap support (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* TrueType and OpenType embedded bitmap support (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* A new `perfect' anti-aliasing renderer (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -1929,14 +1929,20 @@
if ( raster ) 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->worker = worker;
rast->buffer = pool_base + ((sizeof(TWorker) + sizeof(TCell)-1) & ~(sizeof(TCell)-1)); rast->buffer = pool_base +
rast->buffer_size = (long)((pool_base + pool_size) - (char*)rast->buffer) & ~(sizeof(TCell)-1); ( ( sizeof ( TWorker ) + sizeof ( TCell ) - 1 ) &
rast->band_size = (int)( rast->buffer_size/(sizeof(TCell)*8) ); ~( 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 else
{ {