Edit

kc3-lang/freetype/docs/VERSION.DLL

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2004-08-11 05:25:37
    Hash : 17439423
    Message : * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close to NULL. This allows custom close functions to delete the FT_STREAM object. Add API to get information about SFNT tables. * include/freetype/internal/services/svsfnt.h (FT_SFNT_Table_Info_Func): New typedef. (SFNT_Table): Add it. * src/base/ftobjs (FT_Sfnt_Table_Info): New function. * include/freetype/tttables.h: Updated. * src/sfnt/sfdriver.c (sfnt_table_info): New function. (sfnt_service_sfnt_table): Add it. * docs/CHANGES: Updated. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. * builds/unix/configure.ac (version_info): Set to 9:8:3. * builds/unix/configure: Updated. * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/. * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): s/2.1.8/2.1.9/. * docs/CHANGES, docs/VERSION.DLL: Updated. * src/base/ftrfork.c (FT_Raccess_Guess) [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler warnings.

  • docs/VERSION.DLL
  • Due  to our  use of  "libtool" to  generate and  install the  FreeType 2
    libraries on  Unix systems,  as well as  other historical events,  it is
    generally very  difficult to  know precisely which  release of  the font
    engine is installed on a given system.
    
    This file tries  to explain why and to document  ways to properly detect
    FreeType on Unix.
    
    
    1. Version & Release numbers
    ----------------------------
    
    For each new  public release of FreeType 2,  there are generally *three*
    distinct "version" numbers to consider:
    
      * The official FT2 release number, like 2.0.9, or 2.1.3.
    
      * The libtool (and Unix)  specific version number, like "9.2.3".  This
        is what "freetype-config --version" will return.
    
      * The platform-specific  shared object  number, used for  example when
        the library is installed as "/usr/lib/libfreetype.so.6.3.2".
    
    The platform-specific  number is, unsurprisingly,  platform-specific and
    varies  with the  operating system  you are  using (several  variants of
    Linux, FreeBSD,  Solaris, etc.).  You  should thus _never_ use  it, even
    for simple tests.
    
    The libtool-specific  number does  not equal the  release number  but is
    tied to it.
    
    The release number is available  at *compile* time through the following
    macros defined in FT_FREETYPE_H:
    
      - FREETYPE_MAJOR : major release number
      - FREETYPE_MINOR : minor release number
      - FREETYPE_PATCH : patch release number
    
    See below for a small autoconf fragment.
    
    The  release   number  is  also  available  at   *runtime*  through  the
    "FT_Library_Version" API.   Unfortunately, this one  wasn't available or
    working correctly before the 2.1.3 official release.
    
    
    2. History
    ----------
    
    The following table gives,  for each official release, the corresponding
    libtool  number, as well  as the  shared object  number found  on _most_
    systems, but not all of them:
    
        release    libtool      so
      -------------------------------
         2.1.10     9.8.3     6.3.8
         2.1.9      9.7.3     6.3.7
         2.1.8      9.6.3     6.3.6
         2.1.7      9.5.3     6.3.5
         2.1.6      9.5.3     6.3.5
         2.1.5      9.4.3     6.3.4
         2.1.4      9.3.3     6.3.3
         2.1.3      9.2.3     6.3.2
         2.1.2      9.1.3     6.3.1
         2.1.1      9.0.3         ?
         2.1.0      8.0.2         ?
         2.0.9      9.0.3         ?
         2.0.8      8.0.2         ?
         2.0.4      7.0.1         ?
         2.0.1      6.1.0         ?
    
    The libtool numbers are a bit inconsistent due to the library's history:
    
      - 2.1.0 was created as a development branch from 2.0.8 (hence the same
        libtool numbers).
    
      - 2.0.9  was  a  bug-fix  release  of  the  "stable"  branch,  and  we
        incorrectly increased its libtool number.
    
      - 2.1.4 is  still in  the "development" branch,  however it  is stable
        enough to be the basis of an upcoming 2.2.0 release.
    
    
    3. Autoconf Code Fragment
    -------------------------
    
    Lars Clausen contributed the following autoconf fragment to detect which
    version of  FreeType is  installed on  a system.  This  one tests  for a
    version that  is at least 2.0.9;  you should change  it to check against
    other release numbers.
    
    
      AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
      old_CPPFLAGS="$CPPFLAGS"
      CPPFLAGS=`freetype-config --cflags`
      AC_TRY_CPP([
    
    #include <ft2build.h>
    #include FT_FREETYPE_H
    #if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
    #error Freetype version too low.
    #endif
      ],
      [AC_MSG_RESULT(yes)
       FREETYPE_LIBS=`freetype-config --libs`
       AC_SUBST(FREETYPE_LIBS)
       AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
       CPPFLAGS="$old_CPPFLAGS"],
      [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
    
    
    --- end of VERSION.DLL ---