ref: 644b1ad49e2da9662aa8d4d263896c9508c58ee0
parent: 3f539694f1c1d6fd14df1a4516c345873f446e77
author: Werner Lemberg <[email protected]>
date: Wed Mar 28 17:17:11 EDT 2007
* builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/, s/232/233/. * docs/CHANGES: Mention ftdiff.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
2007-03-28 David Turner <[email protected]>
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): fix zero-ing of the
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
padding.
2007-03-28 Werner Lemberg <[email protected]>
@@ -12,15 +12,24 @@
(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
number of code points in Unicode.
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/,
+ s/232/233/.
+
+ * docs/CHANGES: Mention ftdiff.
+
2007-03-26 David Turner <[email protected]>
- * src/truetype/ttinterp.c: Last fix for the `MD' instruction
- bytecode and remove the FIX_BYTECODE macros from the sources.
+ * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+ corresponding code.
+ (Ins_MD): Last regression fix.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
- computations in order to ignore 1-point contours. These are never
- rasterized and correspond in certain fonts mark-attach points that
- are very far from the glyph's real outline, ruining the computation.
+ computations in order to ignore single-point contours. These are
+ never rasterized and correspond in certain fonts to mark-attach
+ points that are very far from the glyph's real outline, ruining the
+ computation.
* src/autofit/afloader.c (af_loader_load_g): In the case of
monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
@@ -27,14 +36,17 @@
Otherwise code that uses them will most certainly ruin the fixed
advance property.
- * docs/CHANGES, docs/VERSION, include/freetype/freetype.h,
- builds/unix/configure.raw, README, Jamfile: Update documentation and
- bump version number to 2.3.3.
+ * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+ documentation and bump version number to 2.3.3.
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+ * builds/unix/configure.raw (version_info): Set to 9:14:3.
+
2007-03-26 suzuki toshiya <[email protected]>
- * builds/unix/ftconfig.in: disable Carbon framework dependency on
- 64bit ABI on Mac OS X 10.4.x (ppc & i386), found by Sean McBride.
+ * builds/unix/ftconfig.in: Disable Carbon framework dependency on
+ 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
* builds/vms/ftconfig.h: Ditto.
* include/freetype/config/ftconfig.h: Ditto.
--- a/README
+++ b/README
@@ -28,7 +28,7 @@
freetype-doc-2.3.3.tar.bz2
freetype-doc-2.3.3.tar.gz
- ftdoc232.zip
+ ftdoc233.zip
Bugs
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -4,7 +4,7 @@
/* */
/* UNIX-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
--- a/builds/vms/ftconfig.h
+++ b/builds/vms/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* VMS-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
--- a/builds/win32/visualc/freetype.dsp
+++ b/builds/win32/visualc/freetype.dsp
@@ -54,7 +54,7 @@
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -102,8 +102,8 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype232_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype233_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -126,8 +126,8 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype232.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype233.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -151,8 +151,8 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype232ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype233ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype233ST_D.lib"
!ENDIF
--- a/builds/win32/visualc/freetype.vcproj
+++ b/builds/win32/visualc/freetype.vcproj
@@ -69,7 +69,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232.lib"
+ OutputFile="..\..\..\objs\freetype233.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -144,7 +144,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232MT.lib"
+ OutputFile="..\..\..\objs\freetype233MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -219,7 +219,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232ST.lib"
+ OutputFile="..\..\..\objs\freetype233ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -291,7 +291,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232_D.lib"
+ OutputFile="..\..\..\objs\freetype233_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -364,7 +364,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232ST_D.lib"
+ OutputFile="..\..\..\objs\freetype233ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -438,7 +438,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype232MT_D.lib"
+ OutputFile="..\..\..\objs\freetype233MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
--- a/builds/win32/visualc/index.html
+++ b/builds/win32/visualc/index.html
@@ -11,14 +11,14 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-compiles the following libraries from the FreeType 2.3.2 sources:</p>
+compiles the following libraries from the FreeType 2.3.3 sources:</p>
<ul>
<pre>
- freetype232.lib - release build; single threaded
- freetype232_D.lib - debug build; single threaded
- freetype232MT.lib - release build; multi-threaded
- freetype232MT_D.lib - debug build; multi-threaded</pre>
+ freetype233.lib - release build; single threaded
+ freetype233_D.lib - debug build; single threaded
+ freetype233MT.lib - release build; multi-threaded
+ freetype233MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -3,25 +3,33 @@
I. IMPORTANT BUG FIXES
- Remove a serious regression in the TrueType bytecode interpreter
- that was introduced in 2.3.2. Sorry ! Note that this doesn't not
- disable the improvements introduced to the intepreter in 2.3.2,
- only some ill cases that occured with certain fonts (though a
- few popular ones).
+ that was introduced in version 2.3.2. Note that this does not
+ disable the improvements introduced to the intepreter in version
+ 2.3.2, only some ill cases that occurred with certain fonts
+ (though a few popular ones).
- - Fixed some Autoconf/compilation issues on some 64-bit platforms
- (see ChangeLog for details)
+ - The auto-hinter now ignores single-point contours for computing
+ blue zones. This bug created `wavy' baselines when rendering
+ text with various fonts that use these contours to model
+ mark-attach points (these are points that are never rasterized
+ and are placed outside of the glyph's real outline).
- - The auto-hinter now ignores 1-point contours when computing blue
- zones. This bug created "wavy" baselines when rendering text with
- various fonts that use these contours to model mark-attach points
- that are never rasterized and are placed outside of the glyph's
- real outline
-
- - the "rsb_delta" and "lsb_delta" glyph slot fields are set to 0
- for mono-spaced fonts. Otherwise code that uses them would
+ - The `rsb_delta' and `lsb_delta' glyph slot fields are now set
+ to 0 for mono-spaced fonts. Otherwise code that uses them would
essentially ruin the fixed-advance property.
+ II. MISCELLANEOUS
+
+ - Fixed compilation issues on some 64-bit platforms (see ChangeLog
+ for details).
+
+ - A new demo program `ftdiff' has been added to compare TrueType
+ hinting, FreeType's auto hinting, and rendering without hinting
+ in three columns.
+
+
======================================================================
+
CHANGES BETWEEN 2.3.2 and 2.3.1
I. IMPORTANT BUG FIXES
--- a/include/freetype/config/ftconfig.h
+++ b/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* ANSI-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -227,13 +227,13 @@
FT_Int old_best_point = best_point;
FT_Int pp;
+
last = glyph->outline.contours[nn];
- /* avoid 1-point contours, they're never rasterized and
- * in some fonts, they correspond to mark attachement
- * points that are way outside the glyph's real outline.
- */
- if (last <= first)
+ /* Avoid single-point contours since they are never rasterized. */
+ /* In some fonts, they correspond to mark attachment points */
+ /* which are way outside of the glyph's real outline. */
+ if ( last <= first )
continue;
if ( AF_LATIN_IS_TOP_BLUE( bb ) )
@@ -250,12 +250,12 @@
for ( pp = first; pp <= last; pp++ )
if ( best_point < 0 || points[pp].y < best_y )
{
- best_point = pp;
- best_y = points[pp].y;
+ best_point = pp;
+ best_y = points[pp].y;
}
}
- if (best_point != old_best_point)
+ if ( best_point != old_best_point )
{
best_first = first;
best_last = last;
@@ -264,9 +264,9 @@
AF_LOG(( "%5d", best_y ));
}
- /* now, check whether the point belongs to a straight or round */
+ /* now check whether the point belongs to a straight or round */
/* segment; we first need to find in which contour the extremum */
- /* lies, then see its previous and next points */
+ /* lies, then inspect its previous and next points */
{
FT_Int prev, next;
FT_Pos dist;
--- a/src/autofit/afloader.c
+++ b/src/autofit/afloader.c
@@ -432,8 +432,8 @@
slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance,
metrics->scaler.x_scale );
- /* also reset the rsb_delta and lsb_delta to 0. Otherwise code */
- /* that uses them is going to ruin the fixed advance width */
+ /* Set delta values to 0. Otherwise code that uses them is */
+ /* going to ruin the fixed advance width. */
slot->lsb_delta = 0;
slot->rsb_delta = 0;
}