* src/cff/cffload.c (cff_index_get_pointers): Handle last entry

correctly.  This fixes Savannah bug #18867.

* docs/CHANGES: Document it.

Other formatting.
This commit is contained in:
Werner Lemberg 2007-01-25 11:50:00 +00:00
parent 741a17e82b
commit b1be9e8b57
6 changed files with 35 additions and 13 deletions

View File

@ -1,13 +1,30 @@
2007-01-25 Werner Lemberg <wl@gnu.org>
* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
correctly. This fixes Savannah bug #18867.
* docs/CHANGES: Document it.
2007-01-23 David Turner <david@freetype.org> 2007-01-23 David Turner <david@freetype.org>
* src/truetype/ttobjs.c: fixed typo that prevented compilation when * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
disabling both the unpatented and the bytecode interpreter in the prevented compilation when disabling both the unpatented and the
TrueType font driver bytecode interpreter in the TrueType font driver.
* src/autofit/aflatin.c, src/autofit/aftypes.h, src/autofit/afwarp.h,
src/autofit/afwarp.c: fix and enable the warper to improve "light" Fix and enable the warper to improve `light' hinting mode. This is
hinting mode. This is not necessarily a final version, but it seems not necessarily a final version, but it seems to work well.
to work well
* src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
Disable code.
(af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
* src/autofit/aftypes.h: Activate AF_USE_WARPER.
* src/autofit/afwarp.c (AF_WarpScore): Tune table.
(af_warper_compute_line_best): Fix array size of `scores'.
(af_warper_compute): Better handling of border cases.
* src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
and `X2'.
2007-01-21 Werner Lemberg <wl@gnu.org> 2007-01-21 Werner Lemberg <wl@gnu.org>

View File

@ -5,6 +5,9 @@ CHANGES BETWEEN 2.3.0 and 2.3.1
- The TrueType interpreter sometimes returned incorrect horizontal - The TrueType interpreter sometimes returned incorrect horizontal
metrics due to a bug in the handling of the SHZ instruction. metrics due to a bug in the handling of the SHZ instruction.
- A typo in a security check introduced after version 2.2.1
prevented FreeType to render some glyphs in CFF fonts.
====================================================================== ======================================================================

View File

@ -1385,8 +1385,8 @@
af_glyph_hints_rescale( hints, (AF_ScriptMetrics)metrics ); af_glyph_hints_rescale( hints, (AF_ScriptMetrics)metrics );
/* /*
* correct x_scale and y_scale when needed, since they may have * correct x_scale and y_scale if needed, since they may have
* been modified af_latin_scale_dim above * been modified `af_latin_metrics_scale_dim' above
*/ */
hints->x_scale = metrics->axis[AF_DIMENSION_HORZ].scale; hints->x_scale = metrics->axis[AF_DIMENSION_HORZ].scale;
hints->x_delta = metrics->axis[AF_DIMENSION_HORZ].delta; hints->x_delta = metrics->axis[AF_DIMENSION_HORZ].delta;
@ -1396,7 +1396,7 @@
/* compute flags depending on render mode, etc. */ /* compute flags depending on render mode, etc. */
mode = metrics->root.scaler.render_mode; mode = metrics->root.scaler.render_mode;
#ifdef zzAF_USE_WARPER #if 0 /* #ifdef AF_USE_WARPER */
if ( mode == FT_RENDER_MODE_LCD || mode == FT_RENDER_MODE_LCD_V ) if ( mode == FT_RENDER_MODE_LCD || mode == FT_RENDER_MODE_LCD_V )
{ {
metrics->root.scaler.render_mode = mode = FT_RENDER_MODE_NORMAL; metrics->root.scaler.render_mode = mode = FT_RENDER_MODE_NORMAL;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Auto-fitter warping algorithm (body). */ /* Auto-fitter warping algorithm (body). */
/* */ /* */
/* Copyright 2006 by */ /* Copyright 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, */
@ -241,6 +241,7 @@
{ {
int margin = 16; int margin = 16;
if ( warper->w0 <= 128 ) if ( warper->w0 <= 128 )
{ {
margin = 8; margin = 8;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Auto-fitter warping algorithm (specification). */ /* Auto-fitter warping algorithm (specification). */
/* */ /* */
/* Copyright 2006 by */ /* Copyright 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

@ -404,7 +404,8 @@
offset = old_offset; offset = old_offset;
/* sanity check for invalid offset tables */ /* sanity check for invalid offset tables */
else if ( offset < old_offset || offset - 1 >= idx->data_size ) else if ( offset < old_offset ||
offset - 1 > idx->data_size )
offset = old_offset; offset = old_offset;
t[n] = idx->bytes + offset - 1; t[n] = idx->bytes + offset - 1;