Commit 644b1ad49e2da9662aa8d4d263896c9508c58ee0

Werner Lemberg 2007-03-28T21:17:11

* builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/, s/232/233/. * docs/CHANGES: Mention ftdiff.

diff --git a/ChangeLog b/ChangeLog
index 25add77..8f79222 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 2007-03-28  David Turner  <david@freetype.org>
 
-	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): fix zero-ing of the
+	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
 	padding.
 
 2007-03-28  Werner Lemberg  <wl@gnu.org>
@@ -12,29 +12,41 @@
 	(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
 	number of code points in Unicode.
 
+	* builds/win32/visualc/index.html,
+	builds/win32/visualc/freetype.dsp,
+	builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/,
+	s/232/233/.
+
+	* docs/CHANGES: Mention ftdiff.
+
 2007-03-26  David Turner  <david@freetype.org>
 
-	* src/truetype/ttinterp.c: Last fix for the `MD' instruction
-	bytecode and remove the FIX_BYTECODE macros from the sources.
+	* src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+	corresponding code.
+	(Ins_MD): Last regression fix.
 
 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
-	computations in order to ignore 1-point contours.  These are never
-	rasterized and correspond in certain fonts mark-attach points that
-	are very far from the glyph's real outline, ruining the computation.
+	computations in order to ignore single-point contours.  These are
+	never rasterized and correspond in certain fonts to mark-attach
+	points that are very far from the glyph's real outline, ruining the
+	computation.
 
 	* src/autofit/afloader.c (af_loader_load_g): In the case of
 	monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0. 
 	Otherwise code that uses them will most certainly ruin the fixed
 	advance property.
 
-	* docs/CHANGES, docs/VERSION, include/freetype/freetype.h,
-	builds/unix/configure.raw, README, Jamfile: Update documentation and
-	bump version number to 2.3.3.
+	* docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+	documentation and bump version number to 2.3.3.
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+	* builds/unix/configure.raw (version_info): Set to 9:14:3.
 
 2007-03-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
-	* builds/unix/ftconfig.in: disable Carbon framework dependency on
-	64bit ABI on Mac OS X 10.4.x (ppc & i386), found by Sean McBride.
+	* builds/unix/ftconfig.in: Disable Carbon framework dependency on
+	64bit ABI on Mac OS X 10.4.x (ppc & i386).  Found by Sean McBride.
 	* builds/vms/ftconfig.h: Ditto.
 	* include/freetype/config/ftconfig.h: Ditto.
 
diff --git a/README b/README
index b88b572..d6507f2 100644
--- a/README
+++ b/README
@@ -28,7 +28,7 @@
 
     freetype-doc-2.3.3.tar.bz2
     freetype-doc-2.3.3.tar.gz
-    ftdoc232.zip
+    ftdoc233.zip
 
 
   Bugs
diff --git a/builds/unix/ftconfig.in b/builds/unix/ftconfig.in
index e773b41..1a96264 100644
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    UNIX-specific configuration file (specification only).               */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 by                         */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by                   */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
diff --git a/builds/vms/ftconfig.h b/builds/vms/ftconfig.h
index 408b51f..185c334 100644
--- a/builds/vms/ftconfig.h
+++ b/builds/vms/ftconfig.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    VMS-specific configuration file (specification only).                */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 by                         */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by                   */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
diff --git a/builds/win32/visualc/freetype.dsp b/builds/win32/visualc/freetype.dsp
index dbd5185..5c9556b 100644
--- a/builds/win32/visualc/freetype.dsp
+++ b/builds/win32/visualc/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug"
 
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
 # ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Multithreaded"
 
@@ -102,8 +102,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype232_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype233_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT_D.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Multithreaded"
 
@@ -126,8 +126,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype232.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype233.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT.lib"
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Release Singlethreaded"
 
@@ -151,8 +151,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype232ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype233ST.lib"
 # SUBTRACT LIB32 /nologo
 
 !ELSEIF  "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233ST_D.lib"
 
 !ENDIF 
 
diff --git a/builds/win32/visualc/freetype.vcproj b/builds/win32/visualc/freetype.vcproj
index ec3e76c..43fe3cf 100644
--- a/builds/win32/visualc/freetype.vcproj
+++ b/builds/win32/visualc/freetype.vcproj
@@ -69,7 +69,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232.lib"
+				OutputFile="..\..\..\objs\freetype233.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -144,7 +144,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232MT.lib"
+				OutputFile="..\..\..\objs\freetype233MT.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -219,7 +219,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232ST.lib"
+				OutputFile="..\..\..\objs\freetype233ST.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -291,7 +291,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232_D.lib"
+				OutputFile="..\..\..\objs\freetype233_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -364,7 +364,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232ST_D.lib"
+				OutputFile="..\..\..\objs\freetype233ST_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
@@ -438,7 +438,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\freetype232MT_D.lib"
+				OutputFile="..\..\..\objs\freetype233MT_D.lib"
 				SuppressStartupBanner="true"
 			/>
 			<Tool
diff --git a/builds/win32/visualc/index.html b/builds/win32/visualc/index.html
index 97756f1..59e17f9 100644
--- a/builds/win32/visualc/index.html
+++ b/builds/win32/visualc/index.html
@@ -11,14 +11,14 @@
 
 <p>This directory contains project files for Visual C++, named
 <tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>.  It
-compiles the following libraries from the FreeType 2.3.2 sources:</p>
+compiles the following libraries from the FreeType 2.3.3 sources:</p>
 
 <ul>
   <pre>
-    freetype232.lib     - release build; single threaded
-    freetype232_D.lib   - debug build;   single threaded
-    freetype232MT.lib   - release build; multi-threaded
-    freetype232MT_D.lib - debug build;   multi-threaded</pre>
+    freetype233.lib     - release build; single threaded
+    freetype233_D.lib   - debug build;   single threaded
+    freetype233MT.lib   - release build; multi-threaded
+    freetype233MT_D.lib - debug build;   multi-threaded</pre>
 </ul>
 
 <p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
diff --git a/docs/CHANGES b/docs/CHANGES
index 7186c3b..dc2fa25 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -3,25 +3,33 @@ CHANGES BETWEEN 2.3.3 and 2.3.2
   I. IMPORTANT BUG FIXES
 
     - Remove a serious regression in the TrueType bytecode interpreter
-      that was introduced in 2.3.2. Sorry ! Note that this doesn't not
-      disable the improvements introduced to the intepreter in 2.3.2,
-      only some ill cases that occured with certain fonts (though a
-      few popular ones).
-
-    - Fixed some Autoconf/compilation issues on some 64-bit platforms
-      (see ChangeLog for details)
-
-    - The auto-hinter now ignores 1-point contours when computing blue
-      zones. This bug created "wavy" baselines when rendering text with
-      various fonts that use these contours to model mark-attach points
-      that are never rasterized and are placed outside of the glyph's
-      real outline
-
-    - the "rsb_delta" and "lsb_delta" glyph slot fields are set to 0
-      for mono-spaced fonts. Otherwise code that uses them would
+      that was introduced  in version 2.3.2.  Note that  this does not
+      disable the improvements introduced to the intepreter in version
+      2.3.2,  only some  ill cases  that occurred  with  certain fonts
+      (though a few popular ones).
+
+    - The auto-hinter now  ignores single-point contours for computing
+      blue zones.   This bug  created `wavy' baselines  when rendering
+      text  with  various  fonts  that  use these  contours  to  model
+      mark-attach points  (these are points that  are never rasterized
+      and are placed outside of the glyph's real outline).
+
+    - The `rsb_delta'  and `lsb_delta' glyph  slot fields are  now set
+      to 0 for mono-spaced fonts.  Otherwise code that uses them would
       essentially ruin the fixed-advance property.
 
+  II. MISCELLANEOUS
+
+    - Fixed compilation issues on some 64-bit platforms (see ChangeLog
+      for details).
+
+    - A new demo  program `ftdiff' has been added  to compare TrueType
+      hinting, FreeType's auto  hinting, and rendering without hinting
+      in three columns.
+
+
 ======================================================================
+
 CHANGES BETWEEN 2.3.2 and 2.3.1
 
   I. IMPORTANT BUG FIXES
diff --git a/include/freetype/config/ftconfig.h b/include/freetype/config/ftconfig.h
index 74d64c9..1547f5a 100644
--- a/include/freetype/config/ftconfig.h
+++ b/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    ANSI-specific configuration file (specification only).               */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 by                         */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by                   */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c
index ce0ca85..cba9b6e 100644
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -227,13 +227,13 @@
             FT_Int  old_best_point = best_point;
             FT_Int  pp;
 
+
             last = glyph->outline.contours[nn];
 
-           /* avoid 1-point contours, they're never rasterized and
-            * in some fonts, they correspond to mark attachement
-            * points that are way outside the glyph's real outline.
-            */
-            if (last <= first)
+            /* Avoid single-point contours since they are never rasterized. */
+            /* In some fonts, they correspond to mark attachment points     */
+            /* which are way outside of the glyph's real outline.           */
+            if ( last <= first )
                 continue;
 
             if ( AF_LATIN_IS_TOP_BLUE( bb ) )
@@ -250,12 +250,12 @@
               for ( pp = first; pp <= last; pp++ )
                 if ( best_point < 0 || points[pp].y < best_y )
                 {
-                    best_point = pp;
-                    best_y     = points[pp].y;
+                  best_point = pp;
+                  best_y     = points[pp].y;
                 }
             }
 
-            if (best_point != old_best_point)
+            if ( best_point != old_best_point )
             {
               best_first = first;
               best_last  = last;
@@ -264,9 +264,9 @@
           AF_LOG(( "%5d", best_y ));
         }
 
-        /* now, check whether the point belongs to a straight or round  */
+        /* now check whether the point belongs to a straight or round   */
         /* segment; we first need to find in which contour the extremum */
-        /* lies, then see its previous and next points                  */
+        /* lies, then inspect its previous and next points              */
         {
           FT_Int  prev, next;
           FT_Pos  dist;
diff --git a/src/autofit/afloader.c b/src/autofit/afloader.c
index 9f925b3..1633e9e 100644
--- a/src/autofit/afloader.c
+++ b/src/autofit/afloader.c
@@ -432,8 +432,8 @@
         slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance,
                                                metrics->scaler.x_scale );
 
-        /* also reset the rsb_delta and lsb_delta to 0. Otherwise code */
-        /* that uses them is going to ruin the fixed advance width     */
+        /* Set delta values to 0.  Otherwise code that uses them is */
+        /* going to ruin the fixed advance width.                   */
         slot->lsb_delta = 0;
         slot->rsb_delta = 0;
       }