* README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
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;