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

This commit is contained in:
David Turner 2002-04-11 14:21:16 +00:00
parent c495c1ac91
commit 2c7558ce40
5 changed files with 139 additions and 19 deletions

View File

@ -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. :-)

61
Jamfile.in Normal file
View File

@ -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

8
README
View File

@ -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

View File

@ -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
============================================================================

View File

@ -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;