* 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.
This commit is contained in:
Werner Lemberg 2007-03-28 21:17:11 +00:00
parent 3f539694f1
commit 644b1ad49e
11 changed files with 82 additions and 62 deletions

View File

@ -1,6 +1,6 @@
2007-03-28 David Turner <david@freetype.org> 2007-03-28 David Turner <david@freetype.org>
* 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. padding.
2007-03-28 Werner Lemberg <wl@gnu.org> 2007-03-28 Werner Lemberg <wl@gnu.org>
@ -12,29 +12,41 @@
(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
number of code points in Unicode. 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 <david@freetype.org> 2007-03-26 David Turner <david@freetype.org>
* src/truetype/ttinterp.c: Last fix for the `MD' instruction * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
bytecode and remove the FIX_BYTECODE macros from the sources. corresponding code.
(Ins_MD): Last regression fix.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
computations in order to ignore 1-point contours. These are never computations in order to ignore single-point contours. These are
rasterized and correspond in certain fonts mark-attach points that never rasterized and correspond in certain fonts to mark-attach
are very far from the glyph's real outline, ruining the computation. 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 * src/autofit/afloader.c (af_loader_load_g): In the case of
monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0. monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Otherwise code that uses them will most certainly ruin the fixed Otherwise code that uses them will most certainly ruin the fixed
advance property. advance property.
* docs/CHANGES, docs/VERSION, include/freetype/freetype.h, * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
builds/unix/configure.raw, README, Jamfile: Update documentation and documentation and bump version number to 2.3.3.
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 <mpsuzuki@hiroshima-u.ac.jp> 2007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* builds/unix/ftconfig.in: disable Carbon framework dependency on * builds/unix/ftconfig.in: Disable Carbon framework dependency on
64bit ABI on Mac OS X 10.4.x (ppc & i386), found by Sean McBride. 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
* builds/vms/ftconfig.h: Ditto. * builds/vms/ftconfig.h: Ditto.
* include/freetype/config/ftconfig.h: Ditto. * include/freetype/config/ftconfig.h: Ditto.

2
README
View File

@ -28,7 +28,7 @@
freetype-doc-2.3.3.tar.bz2 freetype-doc-2.3.3.tar.bz2
freetype-doc-2.3.3.tar.gz freetype-doc-2.3.3.tar.gz
ftdoc232.zip ftdoc233.zip
Bugs Bugs

View File

@ -4,7 +4,7 @@
/* */ /* */
/* UNIX-specific configuration file (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* VMS-specific configuration file (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo # ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug" !ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo # 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" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@ -102,8 +102,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype232_D.lib" # ADD BASE LIB32 /nologo /out:"lib\freetype233_D.lib"
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@ -126,8 +126,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype232.lib" # ADD BASE LIB32 /nologo /out:"lib\freetype233.lib"
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232MT.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype233MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@ -151,8 +151,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232.lib" # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233.lib"
# ADD LIB32 /out:"..\..\..\objs\freetype232ST.lib" # ADD LIB32 /out:"..\..\..\objs\freetype233ST.lib"
# SUBTRACT LIB32 /nologo # SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@ -177,8 +177,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=link.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype232_D.lib" # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype233_D.lib"
# ADD LIB32 /nologo /out:"..\..\..\objs\freetype232ST_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype233ST_D.lib"
!ENDIF !ENDIF

View File

@ -69,7 +69,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232.lib" OutputFile="..\..\..\objs\freetype233.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool
@ -144,7 +144,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232MT.lib" OutputFile="..\..\..\objs\freetype233MT.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool
@ -219,7 +219,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232ST.lib" OutputFile="..\..\..\objs\freetype233ST.lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@ -291,7 +291,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232_D.lib" OutputFile="..\..\..\objs\freetype233_D.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool
@ -364,7 +364,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232ST_D.lib" OutputFile="..\..\..\objs\freetype233ST_D.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool
@ -438,7 +438,7 @@
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="..\..\..\objs\freetype232MT_D.lib" OutputFile="..\..\..\objs\freetype233MT_D.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
/> />
<Tool <Tool

View File

@ -11,14 +11,14 @@
<p>This directory contains project files for Visual C++, named <p>This directory contains project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It <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> <ul>
<pre> <pre>
freetype232.lib - release build; single threaded freetype233.lib - release build; single threaded
freetype232_D.lib - debug build; single threaded freetype233_D.lib - debug build; single threaded
freetype232MT.lib - release build; multi-threaded freetype233MT.lib - release build; multi-threaded
freetype232MT_D.lib - debug build; multi-threaded</pre> freetype233MT_D.lib - debug build; multi-threaded</pre>
</ul> </ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP

View File

@ -3,25 +3,33 @@ CHANGES BETWEEN 2.3.3 and 2.3.2
I. IMPORTANT BUG FIXES I. IMPORTANT BUG FIXES
- Remove a serious regression in the TrueType bytecode interpreter - Remove a serious regression in the TrueType bytecode interpreter
that was introduced in 2.3.2. Sorry ! Note that this doesn't not that was introduced in version 2.3.2. Note that this does not
disable the improvements introduced to the intepreter in 2.3.2, disable the improvements introduced to the intepreter in version
only some ill cases that occured with certain fonts (though a 2.3.2, only some ill cases that occurred with certain fonts
few popular ones). (though a few popular ones).
- Fixed some Autoconf/compilation issues on some 64-bit platforms - The auto-hinter now ignores single-point contours for computing
(see ChangeLog for details) 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 - The `rsb_delta' and `lsb_delta' glyph slot fields are now set
zones. This bug created "wavy" baselines when rendering text with to 0 for mono-spaced fonts. Otherwise code that uses them would
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
essentially ruin the fixed-advance property. 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 CHANGES BETWEEN 2.3.2 and 2.3.1
I. IMPORTANT BUG FIXES I. IMPORTANT BUG FIXES

View File

@ -4,7 +4,7 @@
/* */ /* */
/* ANSI-specific configuration file (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -227,13 +227,13 @@
FT_Int old_best_point = best_point; FT_Int old_best_point = best_point;
FT_Int pp; FT_Int pp;
last = glyph->outline.contours[nn]; last = glyph->outline.contours[nn];
/* avoid 1-point contours, they're never rasterized and /* Avoid single-point contours since they are never rasterized. */
* in some fonts, they correspond to mark attachement /* In some fonts, they correspond to mark attachment points */
* points that are way outside the glyph's real outline. /* which are way outside of the glyph's real outline. */
*/ if ( last <= first )
if (last <= first)
continue; continue;
if ( AF_LATIN_IS_TOP_BLUE( bb ) ) if ( AF_LATIN_IS_TOP_BLUE( bb ) )
@ -250,12 +250,12 @@
for ( pp = first; pp <= last; pp++ ) for ( pp = first; pp <= last; pp++ )
if ( best_point < 0 || points[pp].y < best_y ) if ( best_point < 0 || points[pp].y < best_y )
{ {
best_point = pp; best_point = pp;
best_y = points[pp].y; best_y = points[pp].y;
} }
} }
if (best_point != old_best_point) if ( best_point != old_best_point )
{ {
best_first = first; best_first = first;
best_last = last; best_last = last;
@ -264,9 +264,9 @@
AF_LOG(( "%5d", best_y )); 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 */ /* 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_Int prev, next;
FT_Pos dist; FT_Pos dist;

View File

@ -432,8 +432,8 @@
slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance, slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance,
metrics->scaler.x_scale ); metrics->scaler.x_scale );
/* also reset the rsb_delta and lsb_delta to 0. Otherwise code */ /* Set delta values to 0. Otherwise code that uses them is */
/* that uses them is going to ruin the fixed advance width */ /* going to ruin the fixed advance width. */
slot->lsb_delta = 0; slot->lsb_delta = 0;
slot->rsb_delta = 0; slot->rsb_delta = 0;
} }