diff --git a/ChangeLog b/ChangeLog index bf336290d..711aa043a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-04-11 David Turner + + * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release + 2002-04-11 Maxim Shemanarev * src/smooth/ftgrays.c (gray_hline): very minor optimization. :-) diff --git a/Jamfile.in b/Jamfile.in new file mode 100644 index 000000000..9272ffdc8 --- /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 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 dc7fb129e..405a7141b 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 70a675c5e..069159b8e 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 a2add7215..c12c57a33 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;