[Top][All Lists]

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

[ft-announce] FreeType version 2.3.0 has been released

From: Werner LEMBERG
Subject: [ft-announce] FreeType version 2.3.0 has been released
Date: Wed, 17 Jan 2007 15:32:41 +0100 (CET)

FreeType 2.3.0 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.3.0 and 2.2.1


    - The  PCF font  loader  is  now much  more  robust while  loading
      malformed font files.

    - Various memory leaks have been found and fixed.

    - The TrueType name loader now deals properly with some fonts that
      encode their  names in UTF-16 (the specification  was vague, and
      the code incorrectly assumed UCS-4).

    - Fixed the TrueType bytecode  loader to deal properly with subtle
      monochrome/gray  issues  when   scaling  the  CVT.   Some  fonts
      exhibited bad rendering artifacts otherwise.

    - `FT_GlyphSlot_Embolden' now  supports vertical layouts correctly
      (it mangled the vertical advance height).

    - Fixed byte  endian issues  of `ftmac.c' to  support Mac OS  X on

    - The  PFR  font loader  no  longer  erroneously  tags font  files
      without any outlines as FT_FACE_FLAG_SCALABLE.


    - `FT_Library_SetLcdFilter' allows you  to select a special filter
      to be  applied to the bitmaps generated  by `FT_Render_Glyph' if
      one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has
      been  selected.  This filter  is used  to reduce  color fringes;
      several  settings are  available  through the  FT_LCD_FILTER_XXX

      Its  declaration   and  documentation  can  be   found  in  file
      `include/freetype/ftlcdfil.h'   (to  be   accessed   with  macro

      *IMPORTANT*:     This      function     returns     an     error
      (FT_Err_Unimplemented_Feature) in default  builds of the library
      for patent reasons.  See below.

    - `FT_Get_Gasp'  allows you  to query  the flags  of  the TrueType
      `gasp' table for  a given character pixel size.   This is useful
      to duplicate  the text rendering  of MS Windows when  the native
      bytecode  interpreter is  enabled (which  isn't the  default for
      other patent reasons).

      Its  declaration   and  documentation  can  be   found  in  file
      `include/freetype/ftgasp.h'   (to   be   accessed   with   macro


    - The auto-hinter has been tuned a lot to improve its results with
      serif fonts, resulting in much better font rendering of many web

    - The unpatented  hinter is now part  of the default  build of the
      library; we  have added  code to automatically  support `tricky'
      fonts that need it.

      This means  that FreeType should `just work'  with certain Asian
      fonts, like  MingLiU, which cannot properly be  loaded without a
      bytecode interpreter,  but which fortunately  do not use  any of
      the patented  bytecode opcodes.  We detect these  fonts by name,
      so please  report any font file  that doesn't seem  to work with
      FreeType, and  we shall do what we  can to support it  in a next

      Note  that  the API  hasn't  changed,  so  you can  still  force
      unpatented hinting with a special parameter to `FT_Open_Face' as
      well.  This  might be useful in  same cases; for  example, a PDF
      reader might present  a user option to activate  it to deal with
      certain  `tricky'   embedded  fonts  which   cannot  be  clearly

      If you are  a developer for embedded systems,  you might want to
      *disable*  the   feature  to  save  code   space  by  undefining
      TT_CONFIG_OPTION_UNPATENTED_HINTING in file `ftoption.h'.

    - LCD-optimized rendering is now  *disabled* in all default builds
      of  the  library,  mainly   due  to  patent  issues.   For  more
      information see:

      A  new  configuration macro  FT_CONFIG_OPTION_SUBPIXEL_RENDERING
      has been introduced in  `ftoption.h'; manually define it in this
      file if you want to re-enable the feature.

      The  change only  affects the  implementation, not  the FreeType
      API.  This means that clients don't need to be modified, because
      the library still generates  LCD decimated bitmaps, but with the
      added constraint that R=G=B on each triplet.

      The  displayed result  should  be equal  to normal  anti-aliased

      Additionally,  if   FT_CONFIG_OPTION_SUBPIXEL_RENDERING  is  not
      defined, the new  `FT_Library_SetLcdFilter' function returns the
      FT_Err_Unimplemented_Feature error code.

    - Some computation bugs in  the TrueType bytecode interpreter were
      found,  which  allow us  to  get rid  of  very  subtle and  rare
      differences we had experienced with the Windows renderer.

    - It is now possible to cross-compile the library easily.  See the
      file `docs/INSTALL.CROSS' for details.

    - The file `src/base/ftmac.c' now contains code for Mac OS X only;
      its  deprecated function  `FT_GetFile_From_Mac_Font_Name' always
      returns an  error even if the QuickDraw  framework is available.
      The previous version has been moved to `builds/mac/ftmac.c'.

      Selecting  configure option `--with-quickdraw-carbon'  makes the
      build process use the original `ftmac.c' file instead of the Mac
      OS X-only version.


    - Various performance and memory footprint optimizations have been
      performed on  the TrueType and CFF font  loaders, sometimes with
      very drastic  benefits (e.g., the  TrueType loader is  now about
      25% faster;  FreeType should use  less heap memory  under nearly
      all conditions).

    - The anti-aliased rasterizer has been optimized and is now 15% to
      25%  percent  faster than  in  previous  versions, depending  on

    - The Type 1 loader has been improved; as an example, it now skips
      top-level dictionaries properly.

    - Better support for Mac  fonts on POSIX systems, plus compilation
      fixes for Mac OS X on ppc64 where `ftmac.c' cannot be built.

    - Configuration  without `--with-old-mac-fonts'  does  not include
      `ftmac.c' (this was the behaviour in FreeType version 2.1.10).

    - The TrueTypeGX validator (gxvalid) checks the order of glyph IDs
      in the kern table.

reply via email to

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