[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft-announce] FreeType version 2.2.1 released

From: Werner LEMBERG
Subject: [ft-announce] FreeType version 2.2.1 released
Date: Sat, 13 May 2006 02:55:56 +0200 (CEST)

FreeType 2.2.1 has been released.

It is available from


The latter site also holds older versions of the FreeType library.

See below for the relevant snippet from the CHANGES file.




FreeType 2  is a software  font engine that  is designed to  be small,
efficient,  highly   customizable,  and  portable   while  capable  of
producing high-quality output (glyph images) of most vector and bitmap
font formats.

Note that  FreeType 2 is  a font service  and doesn't provide  APIs to
perform higher-level features, like text layout or graphics processing
(e.g.,  colored  text  rendering,  `hollowing',  etc.).   However,  it
greatly simplifies these tasks by providing a simple, easy to use, and
uniform interface to access the content of font files.

FreeType  2  is  released  under  two open-source  licenses:  our  own
BSD-like FreeType  License and the  GPL.  It can  thus be used  by any
kind of projects, be they proprietary or not.


CHANGES BETWEEN 2.2.1 and 2.2


    - Various integer overflows have been fixed.

    - PFB fonts with MacOS resource fork weren't  handled correctly on
      non-MacOS platforms.


CHANGES BETWEEN 2.2 and 2.1.10

(not released officially)


    - Vertical metrics for SFNT fonts were incorrect sometimes.

    - The FT_HAS_KERNING macro always returned 0.

    - CFF OpenType  fonts didn't  return correct vertical  metrics for
      glyphs with outlines.

    - If FreeType was compiled without hinters, all font formats based
      on PS outlines weren't scaled correctly.


    - Version 2.2 no longer exposes its internals, this is, the header
      files  located in  the `include/freetype/internal'  directory of
      the source package are not  copied anymore by the `make install'
      command.  Consequently, a number of rogue clients which directly
      access  FreeType's  internal   functions  and  structures  won't
      compile without modification.

      We provide  patches for  most of those  rogue clients.   See the
      following page for more information:

      Note that, as  a convenience to our Unix  desktop users, version
      2.2 is *binary* compatible with FreeType 2.1.7, which means that
      installing this  release on  an existing distribution  shall not
      break any working desktop.

    - FreeType's build  mechanism has been redesigned.   With GNU make
      it  is  now  sufficient  in   most  cases  to  edit  two  files:
      `modules.cfg',  to  select   the  library  components,  and  the
      configuration  file  `include/freetype/config/ftoption.h' (which
      can be copied to the objects directory).  Removing unused module
      directories   to    prevent   its   compilation    and   editing
      `include/freetype/config/ftmodule.h' is no longer necessary.

    - The  LIGHT  hinting algorithm  produces  more pleasant  results.
      Also, using the  FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
      always forces auto-hinting, as a special exception.  This allows
      you to experiment with it  even if you have enabled the TrueType
      bytecode interpreter in your build.

    - The auto hinter now employs a new algorithm for CJK fonts, based
      on Akito  Hirai's patch.   Note that this  only works  for fonts
      with a Unicode charmap at the moment.

    - The following callback function  types have changed slightly (by
      adding the `const' keyword where appropriate):



      Note that this doesn't affect binary backward compatibility.

    - On MacOS,  new APIs have  been added as replacements  for legacy
      APIs:  `FT_New_Face_From_FSRef'  for  `FT_New_Face_From_FSSpec',
      and              `FT_GetFile_From_Mac_ATS_Name'              for
      `FT_GetFile_From_Mac_Name'.  Legacy APIs are still available, if
      FreeType is built without disabling them.

    - A new  API `FT_Select_Size'  has been added  to select  a bitmap
      strike  by its  index.   Code using  other  functions to  select
      bitmap strikes should be updated to use this function.

    - A  new API  `FT_Get_SubGlyph_Info'  has been  added to  retrieve
      subglyph data.  This can be  used by rogue clients which used to
      access the internal headers to get the corresponding data.

    - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for
      BDF/PCF fonts,  and only  for them.  This  causes inconsistency.
      In this release,  we undo the change.  The  intent of the change
      in 2.1.10  is to allow  size selection through  real dimensions,
      which can now be done through `FT_Request_Size'.

    - Some security  issues were discovered  and fixed in the  CFF and
      Type  1 loader, causing  crashes of  FreeType by  malformed font


    - The documentation  for FT_LOAD_TARGET_XXX and FT_RENDER_MODE_XXX
      values now better reflects its usage and differences: One set is
      used to specify the hinting algorithm, the other to specify  the
      pixel rendering mode.

    - FT_New_Face() and FT_New_Face_From_FSSpec() in ftmac.c have been
      changed to count supported scalable faces (sfnt, LWFN) only, and
      to  return the  number of  available faces  via face->num_faces.
      Unsupported bitmap faces (fbit, NFNT) are ignored.

    - builds/unix/configure  has been  improved for  MacOS X.   It now
      automatically checks available  functions in Carbon library, and
      prepare to use newest  functions by default.  Options to specify
      the  dependencies of  each Carbon  APIs (FSSpec,  FSRef, old/new
      QuickDraw, ATS)  are available too.  By manual  disabling of all
      QuickDraw   functionality,  FreeType   can   be  built   without
      `deprecated   function'   warnings    on   MacOS   10.4.x,   but
      FT_GetFile_Mac_Name  in  ftmac.c  then  is changed  to  a  dummy
      function, and returns an `unimplemented' error.  For details see

    - SFNT cmap handling has been  improved, mainly to run much faster
      with CJK fonts.

    - A   new  function   `FT_Get_TrueType_Engine_Type   (declared  in
      `FT_MODULE_H')  is  provided  to  determine the  status  of  the
      TrueType   bytecode  interpreter   compiled  into   the  library
      (patented, unpatented, unimplemented).

    - Vertical metrics of glyphs are  synthesized if the font does not
      provide such information.  You can tell whether  the metrics are
      synthesized or not by checking the FT_FACE_FLAG_VERTICAL flag of
      the face.

    - The demo programs  `ftview' and  `ftstring' have been  rewritten
      for better readability.   `ftview' has a new switch `-p' to test
      FT_New_Memory_Face (instead of FT_New_Face).

    - FreeType now honours bit 1 in the `head' table of TrueType fonts
      (meaning `left sidebearing point at x=0').  This helps with some
      buggy fonts.

    - Rudimentary support for Adobe's new `SING Glyphlet' format.  See

      for more information.

    - The `ftdump'  program from the `ft2demos' bundle  now shows some
      information about charmaps.  It  also supports a new switch `-v'
      to increase verbosity.

    - Better AFM support.  This includes track kerning support.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]