Commit 23553d6d2b1d2a700b8ebc2e5dfabc9c7bc4cde1

David Turner 2007-03-26T13:37:17

* docs/CHANGES, docs/VERSION, include/freetype/freetype.h, builds/unix/configure.raw, README, Jamfile: update documentation and bump version number to 2.3.3

diff --git a/ChangeLog b/ChangeLog
index 91de82a..95568a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,14 @@
 	fonts correspond 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
+
 2007-03-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 
 	* builds/unix/ftconfig.in: disable Carbon framework dependency on
diff --git a/Jamfile b/Jamfile
index 13c1e51..fcba0e4 100644
--- a/Jamfile
+++ b/Jamfile
@@ -194,7 +194,7 @@ rule RefDoc
 
 actions RefDoc
 {
-  python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.3.2 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h
+  python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.3.3 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h
 }
 
 RefDoc  refdoc ;
diff --git a/README b/README
index 26db2ec..b88b572 100644
--- a/README
+++ b/README
@@ -9,7 +9,7 @@
   is called `libttf'.  They are *not* compatible!
 
 
-  FreeType 2.3.2
+  FreeType 2.3.3
   ==============
 
   Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
@@ -26,8 +26,8 @@
 
   and download one of the following files.
 
-    freetype-doc-2.3.2.tar.bz2
-    freetype-doc-2.3.2.tar.gz
+    freetype-doc-2.3.3.tar.bz2
+    freetype-doc-2.3.3.tar.gz
     ftdoc232.zip
 
 
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index 97108b6..16fdcc7 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
 
 # Don't forget to update docs/VERSION.DLL!
 
-version_info='9:13:3'
+version_info='9:14:3'
 AC_SUBST([version_info])
 ft_version=`echo $version_info | tr : .`
 AC_SUBST([ft_version])
diff --git a/docs/CHANGES b/docs/CHANGES
index c1b2f03..7186c3b 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,3 +1,27 @@
+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
+      essentially ruin the fixed-advance property.
+
+======================================================================
 CHANGES BETWEEN 2.3.2 and 2.3.1
 
   I. IMPORTANT BUG FIXES
diff --git a/docs/VERSION.DLL b/docs/VERSION.DLL
index c971c5b..cd86711 100644
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -53,6 +53,7 @@ systems, but not all of them:
 
     release    libtool      so
   -------------------------------
+     2.3.3      9.14.3    6.3.14
      2.3.2      9.13.3    6.3.13
      2.3.1      9.12.3    6.3.12
      2.3.0      9.11.3    6.3.11
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 699f8a8..f6f6aad 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -3323,7 +3323,7 @@ FT_BEGIN_HEADER
    */
 #define FREETYPE_MAJOR  2
 #define FREETYPE_MINOR  3
-#define FREETYPE_PATCH  2
+#define FREETYPE_PATCH  3
 
 
   /*************************************************************************/
diff --git a/src/autofit/afloader.c b/src/autofit/afloader.c
index 8f669f3..9f925b3 100644
--- a/src/autofit/afloader.c
+++ b/src/autofit/afloader.c
@@ -428,8 +428,15 @@
           slot->metrics.horiAdvance = loader->pp2.x - loader->pp1.x;
       }
       else
+      {
         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     */
+        slot->lsb_delta = 0;
+        slot->rsb_delta = 0;
+      }
 #endif
 
       slot->metrics.vertAdvance = FT_MulFix( slot->metrics.vertAdvance,