Go to file
Werner Lemberg 11cb8c36ed Use 16.16 format while parsing Type 1 charstrings.
This fixes Savannah bug #26867.

Previously, only integers have been used which can lead to serious
rounding errors.

However, fractional values are only used internally; after the
charstrings (of either Type 1 or 2) have been processed, the
resulting coordinates get rounded to integers currently -- before
applying scaling.  This should be fixed; at the same time a new load
flag should be introduced, to be used in combination with
FT_LOAD_NO_SCALE, which indicates that font units are returned in
16.16 format.  Similarly, the incremental interface should be
extended to allow fractional values for metrics.

* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
field.
* include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.

* src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
(t1_build_add_point): Always convert fixed to integer.
* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
Use 16.16 format everywhere (except for large integers followed by a
`div').
[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
code uncoditionally.
Add support for random numbers and update remaining code
accordingly; this should work now.
(t1_operator_seac): Updated.
* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
(ps_hints_t1stem3, t1_hints_stem): Updated.

* src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
(cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
(cid_face_compute_max_advance, cid_slot_load_glyph): Updated.

* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
[FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
Updated.
* src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
* src/type1/t1objs.c (T1_Face_Init): Updated.
2009-06-22 16:56:47 +02:00
builds builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6. 2009-06-20 06:01:57 +02:00
devel ftnames.c -> ftsnames.c 2009-04-04 09:20:14 +02:00
docs docs/CHANGES: Updated. 2009-06-18 16:07:11 +02:00
include Use 16.16 format while parsing Type 1 charstrings. 2009-06-22 16:56:47 +02:00
objs Minor change for testing purposes. 2006-05-09 08:31:39 +00:00
src Use 16.16 format while parsing Type 1 charstrings. 2009-06-22 16:56:47 +02:00
.cvsignore Formatting. 2000-10-31 19:42:53 +00:00
autogen.sh Don't rely on GNU sed. 2009-01-06 21:00:47 +00:00
ChangeLog Use 16.16 format while parsing Type 1 charstrings. 2009-06-22 16:56:47 +02: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
configure Since FreeType uses `$(value ...)', we now need GNU make 3.80 or 2008-07-05 06:35:28 +00:00
Jamfile More preparations for 2.3.9 release. 2009-03-09 18:06:28 +00: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
modules.cfg Move FT_Get_FSType_Flags to a separate file. 2009-01-22 10:13:59 +00:00
README More preparations for 2.3.9 release. 2009-03-09 18:06:28 +00:00
README.CVS * autogen.sh, builds/unix/configure.raw, 2008-09-12 16:27:48 +00: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

  Special notes to Unix users
  ===========================

  Please  read  the file  `docs/UPGRADE.UNIX'.  It contains  important
  information regarding the installation  of FreeType on Unix systems,
  especially GNU based operating systems like GNU/Linux.

  FreeType 2's  library is called `libfreetype',  FreeType 1's library
  is called `libttf'.  They are *not* compatible!


  FreeType 2.3.9
  ==============

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

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

  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.3.9.tar.bz2
    freetype-doc-2.3.9.tar.gz
    ftdoc239.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, 2007, 2008, 2009 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 ---