Go to file
Werner Lemberg 1036409692 [autofit] Return correct linear advance width values.
This was quite a subtle bug which accidentally showed up with glyph
`afii10023' of arial.ttf (version 2.76).  This glyph is a composite;
the first component, `E', has an advance width of 1366 font units,
while the advance width of the composite itself (which looks like
uppercase `E' with dieresis) is 1367 font units.  I think this is
actually a bug in the font itself, because there is no reason that
this glyph has not the same width as uppercase `E' without the
dieresis.  Anyway, it helped identify this problem.

Using the TrueType hinter, the correct value (1367) of `afii10023'
was returned, but the autohinter mysteriously returned 1366.

Digging in the code showed that the autohinter recursively calls
FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
flag.  However, the `linearHoriAdvance' field is still returned as a
scaled value.  To avoid scaling twice, the old code in autofit reset
`linearHoriAdvance', using the `horiAdvance' field.  This seemed to
work since FT_LOAD_NO_SCALE was in use, but it failed actually,
because `horiAdvance' is defined as the distance of the first
subglyph's phantom points, which in turn are initialized using the
advance width of the first subglyph.  And as the given example
shows, these widths can differ.

* src/autofit/afloader.c (af_loader_load_g): Temporarily set
FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
values for the linear advance widths.
2012-03-11 15:20:32 +01:00
builds * Version 2.4.9 released. 2012-03-08 21:02:06 +01:00
devel s/maximal/maximum/ everywhere, s/minimal/minimum/ where appropriate. 2012-03-11 13:48:25 +01:00
docs * Version 2.4.9 released. 2012-03-08 21:02:06 +01:00
include s/maximal/maximum/ everywhere, s/minimal/minimum/ where appropriate. 2012-03-11 13:48:25 +01:00
objs Ignore *.o and *.a files. 2011-03-20 18:28:31 +01:00
src [autofit] Return correct linear advance width values. 2012-03-11 15:20:32 +01:00
.gitignore We no longer use CVS. 2010-01-23 16:19:33 +01:00
ChangeLog [autofit] Return correct linear advance width values. 2012-03-11 15:20:32 +01:00
ChangeLog.20 Add one more example to the documentation of FT_Glyph_To_Bitmap. 2008-08-06 09:09:41 +00:00
ChangeLog.21 Formatting, copyright years. 2008-07-27 06:27:21 +00:00
ChangeLog.22 Formatting, copyright years. 2008-07-27 06:27:21 +00:00
ChangeLog.23 Fix ChangeLogs. 2010-08-29 06:04:51 +09:00
Jamfile * Version 2.4.9 released. 2012-03-08 21:02:06 +01:00
Jamrules Add license. 2005-06-04 23:04:30 +00:00
Makefile * Makefile, *.mk: Use `?=' where appropriate. 2006-02-01 07:52:11 +00:00
README * Version 2.4.9 released. 2012-03-08 21:02:06 +01:00
README.git Typo. 2010-07-12 21:25:01 +02:00
autogen.sh Set the executable bit of autogen.sh. 2011-11-29 23:56:23 +01:00
configure Whitespace. 2011-12-02 20:22:04 +01:00
modules.cfg Add new error code FT_Err_Missing_Module. 2011-11-26 13:38:26 +01:00
version.sed Put version information into the configure script. Reported by Paul 2006-05-08 07:10:29 +00:00
vms_make.com typo 2007-02-12 14:35:15 +00:00

README

  FreeType 2.4.9
  ==============

  Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
  INFORMATION.

  Read the files `docs/INSTALL' for installation instructions.

  See the  file `docs/LICENSE.TXT'  for the available licenses.   Note
  that we use ranges (`2008-2010') for copyright years also instead of
  listing individual years (`2008, 2009, 2010').

  The FreeType 2 API reference is located in `docs/reference'; use the
  file   `ft2-doc.html'   as   the   top  entry   point.    Additional
  documentation is available as a separate package from our sites.  Go
  to

    http://download.savannah.gnu.org/releases/freetype/

  and download one of the following files.

    freetype-doc-2.4.9.tar.bz2
    freetype-doc-2.4.9.tar.gz
    ftdoc249.zip


  Bugs
  ====

  Please report bugs  by e-mail to `freetype-devel@nongnu.org'.  Don't
  forget to  send a  detailed explanation of  the problem --  there is
  nothing  worse than  receiving a  terse message  that only  says `it
  doesn't work'.

  Alternatively, you may submit a bug report at

    https://savannah.nongnu.org/bugs/?group=freetype


  Enjoy!


    The FreeType Team

----------------------------------------------------------------------

Copyright 2006-2011 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part of  the FreeType  project, and  may only  be used,
modified,  and distributed  under the  terms of  the  FreeType project
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
this file you  indicate that you have read  the license and understand
and accept it fully.


--- end of README ---