[Top][All Lists]

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

[Freetype] FreeType 2.1.8 released

From: Turner David
Subject: [Freetype] FreeType 2.1.8 released
Date: Thu, 22 Apr 2004 13:01:35 +0200


  just to inform you that FreeType 2.1.8 has been released. Grab it
  at the usual location, i.e:

    the FTP site:

    the SourceForge download pages at:

  note that the web site has been updated, including the API reference;
  you'll also find a copy of the Changes below.

Enjoy & Best Regards,

- David Turner
- The FreeType Project

PS: Now going to try fixing the spam problem on the server



    - The native  TrueType hinter contained some  bugs which prevented
      some fonts to be rendered correctly, most notably Legendum.otf.

    - The PostScript hinter now produces improved results.

    - The  linear advance  width  and height  values were  incorrectly
      rounded,  making  them virtually  unusable  if  not loaded  with

    - Indexing CID-keyed CFF fonts is  now working: The glyph index is
      correctly  treated as a  CID, similar  to FreeType's  CID driver
      module.  Note that CID CMap support is still missing.

    - The FT_FACE_FLAGS_GLYPH_NAMES flag is now  set correctly for all
      font formats.

    - Some subsetted Type 1  fonts weren't parsed correctly.  This bug
      has been introduced in 2.1.7.  In summary, the Type 1 parser has
      become more robust.

    - Non-decimal numbers weren't parsed correctly in PS fonts.

    - The WinFNT driver now correctly reports FT_ENCODING_NONE for all
      but one encoding.  Use  the new FT_WinFNT_ID_XXX values together
      with FT_Get_WinFNT_Header() to get the WinFNT charset ID.

    - The descender metrics (face->size->metrics.descender) for WinFNT
      bitmap fonts had the wrong sign.

    - The (emulated) `seac' support for CFF fonts was broken.

    - The `flex' operator didn't work for CFF fonts.

    - PS glyphs  which  use  the   `hintmask'  operator  haven't  been
      rendered correctly in some cases.

    - Metrics for BDF and PCF bitmap font formats have been fixed.

    - Autohinting  is now  disabled for  glyphs  which  are vertically
      distorted  or mirrored  (using a  transformation matrix).   This
      fixes a bug which produced zero-height glyphs.

    - The   `freetype-config'   script   now  handles   --prefix   and
      --exec-prefix correctly; it also  returns the proper --rpath (or
      -R) value if FreeType has been built as a shared library.


    - Both  PCF  and BDF  drivers  now  handle  the SETWIDTH_NAME  and
      ADD_STYLE_NAME    properties.     Values    are   appended    to
      face->style_name; example: `Bold SemiCondensed'.

    - The PCF driver now handles bitmap  fonts compressed with the LZW
      algorithm (extension .pcf.Z, compressed with `compress').

    - A  new  API   function  `FT_Get_CMap_Language_ID'  (declared  in
      `tttables.h')  is  available  to   get  the  language  ID  of  a
      TrueType/SFNT cmap.

    - The hexadecimal format of  data after the `StartData' command in
      CID-keyed Type 1 fonts is now supported.  While this can't occur
      in  file-based   fonts,  it  can   happen  in  document-embedded
      resources of PostScript documents.

    - Embedded bitmaps in SFNT-based CFF fonts are now supported.

    - A simple  API is  now available  to control  FreeType's  tracing
      mechanism if compiled  with FT_DEBUG_LEVEL_TRACE.   See the file
      `ftdebug.h' for more details.

    - YAMATO Masatake contributed improved  handling of MacOS resource
      forks on non-MacOS platforms (for example, Linux can mount MacOS
      file systems).

    - Support for MacOS has been improved; there is now a new function
      `FT_New_Face_From_FSSpec'  similar to `FT_New_Face'  except that
      it accepts an FSSpec instead of a path.

    - The cache sub-system has been rewritten.

      - There is now support for deinstallation of faces.

      - A new  API function `FTC_Manager_RemoveFaceID'  has been added
        to  delete  all  `idle'  nodes  that  correspond  to  a  given
        FTC_FaceID.  All `locked' nodes  (i.e., those with a reference
        count > 0), will be modified to prevent them from appearing in
        further  lookups (they  will  be cleaned  normally when  their
        reference count reaches 0).

      - There  is  now  support  for point  scaling  (i.e.,  providing
        character sizes in points + dpis, instead of pixels).

      - Three abstract cache classes are now available:

          FTC_GCache:  Used to store  one glyph  item per  cache node,
                      with the ability to group common attributes into
                      `families'.      This    replaces     the    old
                      FTC_GlyphCache class.

          FTC_ICache: Used to store one FT_Glyph per cache node.  This
                      extends  FTC_GCache.  Family  definition, family
                      comparison, and  glyph loading are  however left
                      to sub-classes.

          FTC_SCache: Used to  store up to 16 small  bitmaps per cache
                      node.    This    extends   FTC_GCache.    Family
                      definition, family  comparison and glyph loading
                      are however left to sub-classes.

      - The file `src/cache/ftcbasic.c' implements:

          FTC_ImageCache: Extends    FTC_ICache;   implements   family
                          definitions and glyph loading similar to the
                          old API.

          FTC_SBitCache: Extends    FTC_SCache,    implements   family
                         definitions and glyph  loading similar to the
                         old API

        Client  applications  should  be  able to  extend  FTC_GCache,
        FTC_ICache, or FTC_SCache much more easily (i.e., less code to
        write, and  less callbacks).  For example,  one could envision
        caches  that are  capable of  storing  transformed (obliqued),
        stroked,   emboldened,   or   colored   glyph   images.    Use
        `ftcbasic.c' as an example.

      - All public  APIs are now  in `include/freetype/ftcache.h', (to
        be    accessed   as    `FT_CACHE_H').     The   contents    of
        `include/freetype/cache/' is only  needed by applications that
        wish to implement their own caches.

      - There were some major performance improvements through the use
        of  various programming  tricks.   Cache hits  are  up to  70%
        faster than in the old code.

      - The  FTC_CMapCache has  been simplied.   Charmaps can  only be
        accessed by  index right now.  There  is also a  new API named
        `FT_Charmap_GetIndex' for this purpose.

      - The  demo programs  have been  updated to  the new  code.  The
        previous versions will not work with the current one.

      - Using  an invalid face  index in FT_Open_Face and friends  now
        causes an error even if the font contains a single face only.


    - Wolfgang Domröse contributed support files for building FreeType
      on the Atari using the PureC compiler.  Note that the Atari is a
      16bit platform.

    - Vitaliy Pasternak contributed project files for VS.NET 2003.

This message and any attachments (the "message") is intended solely for the
addressees and is confidential. If you receive this message in error, please
delete it and immediately notify the sender.
Any use not in accordance with its purpose, any dissemination or disclosure,
either whole or partial, is prohibited except formal approval.
The E-Mail transmission can not guarantee the integrity of this message.
NDS TECHNOLOGIES FRANCE will not therefore be liable for the message if 

reply via email to

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