ref: 2c7558ce40fbe164910e50eef25b9fbf498ec25e
parent: c495c1ac91faccaeb02d40ec26a95602d52a52b0
author: David Turner <[email protected]>
date: Thu Apr 11 10:21:16 EDT 2002
* README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-04-11 David Turner <[email protected]>
+
+ * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
+
2002-04-11 Maxim Shemanarev <[email protected]>
* src/smooth/ftgrays.c (gray_hline): very minor optimization. :-)
--- /dev/null
+++ b/Jamfile.in
@@ -1,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
--- 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
--- 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 @@
- 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
============================================================================
--- 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,12 +1364,10 @@
else
{
/* normal non-zero winding rule */
- if ( coverage < 0 )
- coverage = -coverage;
-
if ( coverage >= 256 )
coverage = 255;
}
+
y += ras.min_ey;
x += ras.min_ex;