fix inter-letter spacing of auto-hinted glyphs (non-light modes)w

This commit is contained in:
David Turner 2007-02-12 21:28:21 +00:00
parent 72a0dd247d
commit 2ef3e0f1cd
2 changed files with 15 additions and 7 deletions

View File

@ -1,5 +1,9 @@
2007-02-12 David Turner <david@freetype.org> 2007-02-12 David Turner <david@freetype.org>
* src/autofit/afloader.c: improve spacing adjustments for the
non-light auto-hinted modes. Gets rid of "inter-letter spacing
is too wide"
* src/truetype/ttinterp.h, src/truetype/ttinterp.c: simplify * src/truetype/ttinterp.h, src/truetype/ttinterp.c: simplify
projection and dual-projection code interface projection and dual-projection code interface
@ -12,7 +16,7 @@
get rid of various uses of strcpy and other "evil" functions, get rid of various uses of strcpy and other "evil" functions,
as well as simplify a few things as well as simplify a few things
2007-02-11 Werner Lemberg <wl@gnu.org> 2007-02-11 Werner Lemberg <wl@gnu.org>
* src/autofit/afloader.c (af_loader_load_g): Don't change width for * src/autofit/afloader.c (af_loader_load_g): Don't change width for
@ -241,6 +245,7 @@
src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
uninitialized variables. uninitialized variables.
>>>>>>> 1.1516
2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* docs/CHANGES, docs/INSTALL.MAC: Improvements. * docs/CHANGES, docs/INSTALL.MAC: Improvements.
@ -283,10 +288,13 @@
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
bug in the bitmap emboldener if the pitch of the source bitmap is bug in the bitmap emboldener if the pitch of the source bitmap is
much larger than its width. much larger than its width.
>>>>>>> 1.1484
* src/truetype/ttinterp.c (Update_Max): Fix aliasing-related * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
compilation warning. compilation warning.
2007-01-12 Werner Lemberg <wl@gnu.org>
2007-01-12 Werner Lemberg <wl@gnu.org> 2007-01-12 Werner Lemberg <wl@gnu.org>
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from

View File

@ -183,8 +183,8 @@
if ( axis->num_edges > 1 && AF_HINTS_DO_ADVANCE( hints ) ) if ( axis->num_edges > 1 && AF_HINTS_DO_ADVANCE( hints ) )
{ {
old_advance = loader->pp2.x; old_advance = loader->pp2.x - loader->pp1.x;
old_rsb = old_advance - edge2->opos; old_rsb = loader->pp2.x - edge2->opos;
old_lsb = edge1->opos; old_lsb = edge1->opos;
new_lsb = edge1->pos; new_lsb = edge1->pos;
@ -198,18 +198,18 @@
/* for very small sizes */ /* for very small sizes */
if ( old_lsb < 24 ) if ( old_lsb < 24 )
pp1x_uh -= 5; pp1x_uh -= 8;
if ( old_rsb < 24 ) if ( old_rsb < 24 )
pp2x_uh += 5; pp2x_uh += 8;
loader->pp1.x = FT_PIX_ROUND( pp1x_uh ); loader->pp1.x = FT_PIX_ROUND( pp1x_uh );
loader->pp2.x = FT_PIX_ROUND( pp2x_uh ); loader->pp2.x = FT_PIX_ROUND( pp2x_uh );
if ( loader->pp1.x >= new_lsb ) if ( loader->pp1.x >= new_lsb && old_lsb > 0 )
loader->pp1.x -= 64; loader->pp1.x -= 64;
if ( loader->pp2.x <= pp2x_uh ) if ( loader->pp2.x <= edge2->pos && old_rsb > 0 )
loader->pp2.x += 64; loader->pp2.x += 64;
slot->lsb_delta = loader->pp1.x - pp1x_uh; slot->lsb_delta = loader->pp1.x - pp1x_uh;