* 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:
parent
3f539694f1
commit
644b1ad49e
34
ChangeLog
34
ChangeLog
|
@ -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
2
README
|
@ -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
|
||||||
|
|
|
@ -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, */
|
||||||
|
|
|
@ -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, */
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
36
docs/CHANGES
36
docs/CHANGES
|
@ -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
|
||||||
|
|
|
@ -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, */
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue