Commit 2c7558ce40fbe164910e50eef25b9fbf498ec25e

David Turner 2002-04-11T14:21:16

* README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release

diff --git a/ChangeLog b/ChangeLog
index bf33629..711aa04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-04-11  David Turner  <david@freetype.org>
+
+        * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
+
 2002-04-11  Maxim Shemanarev <mcseemagg@yahoo.com>
 
         * src/smooth/ftgrays.c (gray_hline): very minor optimization. :-)
diff --git a/Jamfile.in b/Jamfile.in
new file mode 100644
index 0000000..9272ffd
--- /dev/null
+++ b/Jamfile.in
@@ -0,0 +1,61 @@
+# FreeType 2 top Jamfile (c) 2001 David Turner
+#
+
+# We need to invoke a SubDir rule if the FT2 source directory top is not the
+# current directory.  This allows us to build FreeType 2 as part of a larger
+# project easily.
+#
+if $(FT2_TOP) != $(DOT)
+{
+  SubDir  FT2_TOP ;
+}
+
+FT2_INCLUDE = [ FT2_SubDir include ] ;
+FT2_SRC     = [ FT2_SubDir src ] ;
+
+FT2_LIB     = $(LIBPREFIX)freetype ;
+
+
+# We don't support libtool just yet. It seems that this is not
+# so simple with Jam, but I'll study this topic later..
+#
+
+# used only when trying to debug the hinter(s)
+#
+if $(DEBUG_HINTER)
+{
+  CCFLAGS += -DDEBUG_HINTER ;
+}
+
+
+# We need "freetype2/include" in the current include path in order to
+# compile any part of FreeType 2.
+#
+SubDirHdr  += $(FT2_INCLUDE) ;
+
+# Uncomment the following line if you want to build individual source files
+# for each FreeType 2 module.
+#
+# FT2_MULTI = true ;
+
+# The file <freetype/config/ftheader.h> is used to define macros that are
+# later used in #include statements.  It needs to be parsed in order to
+# record these definitions.
+#
+HDRMACRO  [ FT2_SubDir  include freetype config ftheader.h ] ;
+HDRMACRO  [ FT2_SubDir  include freetype internal internal.h ] ;
+
+# Now include the Jamfile in "freetype2/src", used to drive the compilation
+# of each FreeType 2 component and/or module.
+#
+SubInclude  FT2_TOP src ;
+
+
+# tests files (hinter debugging)
+#
+if $(DEBUG_HINTER)
+{
+  SubInclude FT2_TOP tests ;
+}
+
+# end of top Jamfile
diff --git a/README b/README
index dc7fb12..405a714 100644
--- a/README
+++ b/README
@@ -7,7 +7,7 @@
   systems, especially GNU based operating systems like GNU/Linux.
 
 
-  FreeType 2.0.8
+  FreeType 2.1.0
   ==============
 
   Please   read  the  docs/CHANGES   file,  it   contains  IMPORTANT
@@ -19,9 +19,9 @@
   Note  that the  FreeType 2  documentation  is now  available as  a
   separate package from our sites.  See:
 
-    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.8.tar.bz2
-    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.8.tar.gz
-    ftp://ftp.freetype.org/pub/freetype2/ftdoc208.zip
+    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.0.tar.bz2
+    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.0.tar.gz
+    ftp://ftp.freetype.org/pub/freetype2/ftdoc210.zip
 
 
   Reports
diff --git a/docs/CHANGES b/docs/CHANGES
index 70a675c..069159b 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,3 +1,60 @@
+LATESET CHANGES BETWEEN 2.0.9 and 2.0.8
+
+  I. IMPORTANT BUG FIXES
+  
+    - Certain fonts, like "foxjump.ttf" contain broken name tables with
+      invalid entries and wild offsets.  This caused FreeType to crash when
+      trying to load them.
+      
+      The SFNT 'name' table loader has been fixed to be able to support
+      these strange fonts.
+
+      Moreover, the code in charge of processing this table has been changed
+      to always favor Windows-formatted entries over other ones.  Hence, a
+      font that works on Windows but not on the Mac will load cleanly in
+      FreeType and report accurate values for Family & Postscript names.
+
+    - The CID font driver has been fixed.  It unfortunately returned a
+      Postscript Font name with a leading slash, as in
+      "/MunhwaGothic-Regular".
+
+    - FreeType 2 should now compile fine on AIX 4.3.3 as a shared library.
+
+    - A bug in the Postscript hinter has been found and fixed. You shouldn't
+      be experimenting un-even stem widths at small pixel sizes (like 14-17).
+      
+      This improves the quality of a certain number of Postscript fonts :o)
+
+
+  II. NEW FEATURES:
+
+    - A new function named FT_Library_Version has been added to return
+      the current library's major, minor and patch version numbers. This
+      is important since the macros FREETYPE_MAJOR, FREETYPE_MINOR and
+      FREETYPE_PATCH cannot be used when the library is dynamically linked
+      by a program..
+
+    - Two new APIs have been added: FT_Get_First_Char and FT_Get_Next_Char.
+    
+      Together, these can be used to iterate efficiently over the currently
+      selected charmap of a given face.  Read the API reference for more
+      details.
+
+
+  III. MISCELLANEOUS:
+  
+    - The FreeType sources are under heavy internal re-factoring.  As a
+      consequence, we have created a branch named "STABLE" on the CVS to
+      hold all future releases/fixes in the 2.0.x family.
+      
+      The HEAD branch now contains the re-factored sources and shouldn't be
+      used for testing or packaging new releases.  In the cases where you
+      would like to access the 2.0.9 sources from our CVS repository, you
+      should use the tag VER-2-0-9.
+
+
+============================================================================
+
 LATEST CHANGES BETWEEN 2.0.8 and 2.0.7
 
   I. IMPORTANT BUG FIXES
@@ -5,15 +62,16 @@ LATEST CHANGES BETWEEN 2.0.8 and 2.0.7
     - There was a small but nasty bug in "freetype-config.in" which
       caused the "freetype-config" script to fail on Unix.
       
-      This doesn't prevented the installation of the library or even
+      this doesn't prevented the installation of the library or even
       its execution, but caused problems when trying to compile many
-      Unix packages that depend on it.
+      Unix packages that depend on it.. !!!
+      
 
-    - Some TrueType or OpenType fonts embedded in PDF documents do
-      not have a 'cmap', 'post' and 'name' table as is required by the
-      specification.  FreeType no longer refuses to load such fonts.
+    - some TrueType or OpenType fonts embedded in PDF documents do
+      not have a 'cmap', 'post' and 'name' as is required by the
+      specification, FreeType no longer refuses to load such fonts..
 
-    - Various fixes to the PCF font driver.
+    - various fixes to the PCF font driver
     
 
 ============================================================================
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index a2add72..c12c57a 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1349,14 +1349,13 @@
     /*                                                           */
     coverage = area >> ( PIXEL_BITS * 2 + 1 - 8);  /* use range 0..256 */
 
+    if ( coverage < 0 )
+      coverage = -coverage;
+
     if ( ras.outline.flags & ft_outline_even_odd_fill )
     {
-      if ( coverage < 0 )
-        coverage = -coverage;
-
-      while ( coverage >= 512 )
-        coverage -= 512;
-
+      coverage &= 511;
+      
       if ( coverage > 256 )
         coverage = 512 - coverage;
       else if ( coverage == 256 )
@@ -1365,13 +1364,11 @@
     else
     {
       /* normal non-zero winding rule */
-      if ( coverage < 0 )
-        coverage = -coverage;
-
       if ( coverage >= 256 )
         coverage = 255;
     }
 
+
     y += ras.min_ey;
     x += ras.min_ex;