Edit

kc3-lang/freetype/docs/CHANGES

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2004-03-20 14:26:38
    Hash : 2630e54d
    Message : * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index values > 0 if loading non-TTC fonts. * src/base/ftmac.c (open_face_from_buffer): Set positive face_index to zero before calling FT_Open_Face. * docs/CHANGES: Updated.

  • docs/CHANGES
  • LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
    
      I. IMPORTANT BUG FIXES
    
        - The native  TrueType hinter contained some  bugs which prevented
          some fonts to be rendered correctly, most notably Legendum.otf.
    
        - The PostScript hinter now produces much improved results.
    
        - The  linear advance  width  and height  values were  incorrectly
          rounded,  making  them virtually  unusable  if  not loaded  with
          FT_LOAD_LINEAR_DESIGN.
    
        - 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 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.
    
        - 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.
    
        - 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.
    
    
      II. IMPORTANT CHANGES
    
        - 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.
    
    
      III. MISCELLANEOUS
    
        - Wolfgang Domr