freetype2/docs/VERSION.DLL

125 lines
4.1 KiB
Plaintext
Raw Normal View History

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.
2002-08-27 18:51:02 +02:00
1. Version and 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' returns.
* 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
* Version 2.1.7 released. ========================= * builds/unix/ft2unix.h: Fix comments. * builds/unix/ftconfig.in: Synchronized with ANSI version. Use `#undef' in templates as recommended in the autoconf documentation. Since real `#undef' lines don't survive during configuration, use `/undef' instead; the postprocessing facility of the AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. * builds/unix/install.mk (install): Install Unix version of `ftconfig.h'. * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro to include the correct `ftconfig.h' file. * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER to create ftconfig.h, and use second argument to replace `/undef' with `#undef'. Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. Use AS_HELP_STRING in AC_ARG_WITH. Update syntax to autoconf 2.59. * builds/unix/ltmain.sh: Regenerated with `libtoolize --force --copy' from libtool 1.5. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.7.8. * builds/unix/configure: Regenerated with autoconf 2.59. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/vms/ftconfig.h: Synchronized with ANSI version. * docs/CUSTOMIZE: Fix documentation error. * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. * builds/freetype.mk (refdoc): Updated --title.
2003-11-09 09:37:14 +01:00
-------------------------------
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be halved. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default strength. Don't increase slot->advance.y. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.ac (version_info): Set to 9:9:3. Currently, we are still binary compatible. * 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.9/2.1.10/. * docs/CHANGES, docs/VERSION.DLL: Updated. * ChangeLog: Split off older entries into... * ChangeLog.20, ChangeLog.21: These new files. The next release will be 2.2.0, so don't worry about source code backwards compatibility. * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate parameters with `const' where appropriate. * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY to make glyphs centered vertically. * src/truetype/ttgload.c (compute_glyph_metrics): Compute vertBearingY to make glyphs centered vertically. Fix some bugs in vertical metrics: . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font units. . As we use the glyph's cbox to calculate the top bearing now there iss no need to adjust `top'. * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake. * docs/release: Update.
2005-06-16 21:07:08 +02:00
2.2.0 9.9.3 6.3.9
2.1.10 9.8.3 6.3.8
2.1.9 9.7.3 6.3.7
2003-11-23 22:39:51 +01:00
2.1.8 9.6.3 6.3.6
* Version 2.1.7 released. ========================= * builds/unix/ft2unix.h: Fix comments. * builds/unix/ftconfig.in: Synchronized with ANSI version. Use `#undef' in templates as recommended in the autoconf documentation. Since real `#undef' lines don't survive during configuration, use `/undef' instead; the postprocessing facility of the AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. * builds/unix/install.mk (install): Install Unix version of `ftconfig.h'. * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro to include the correct `ftconfig.h' file. * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER to create ftconfig.h, and use second argument to replace `/undef' with `#undef'. Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. Use AS_HELP_STRING in AC_ARG_WITH. Update syntax to autoconf 2.59. * builds/unix/ltmain.sh: Regenerated with `libtoolize --force --copy' from libtool 1.5. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.7.8. * builds/unix/configure: Regenerated with autoconf 2.59. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/vms/ftconfig.h: Synchronized with ANSI version. * docs/CUSTOMIZE: Fix documentation error. * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. * builds/freetype.mk (refdoc): Updated --title.
2003-11-09 09:37:14 +01:00
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 ?
* Version 2.1.7 released. ========================= * builds/unix/ft2unix.h: Fix comments. * builds/unix/ftconfig.in: Synchronized with ANSI version. Use `#undef' in templates as recommended in the autoconf documentation. Since real `#undef' lines don't survive during configuration, use `/undef' instead; the postprocessing facility of the AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. * builds/unix/install.mk (install): Install Unix version of `ftconfig.h'. * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro to include the correct `ftconfig.h' file. * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER to create ftconfig.h, and use second argument to replace `/undef' with `#undef'. Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. Use AS_HELP_STRING in AC_ARG_WITH. Update syntax to autoconf 2.59. * builds/unix/ltmain.sh: Regenerated with `libtoolize --force --copy' from libtool 1.5. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.7.8. * builds/unix/configure: Regenerated with autoconf 2.59. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/vms/ftconfig.h: Synchronized with ANSI version. * docs/CUSTOMIZE: Fix documentation error. * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. * builds/freetype.mk (refdoc): Updated --title.
2003-11-09 09:37:14 +01:00
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([
* Version 2.1.7 released. ========================= * builds/unix/ft2unix.h: Fix comments. * builds/unix/ftconfig.in: Synchronized with ANSI version. Use `#undef' in templates as recommended in the autoconf documentation. Since real `#undef' lines don't survive during configuration, use `/undef' instead; the postprocessing facility of the AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. * builds/unix/install.mk (install): Install Unix version of `ftconfig.h'. * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro to include the correct `ftconfig.h' file. * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER to create ftconfig.h, and use second argument to replace `/undef' with `#undef'. Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. Use AS_HELP_STRING in AC_ARG_WITH. Update syntax to autoconf 2.59. * builds/unix/ltmain.sh: Regenerated with `libtoolize --force --copy' from libtool 1.5. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.7.8. * builds/unix/configure: Regenerated with autoconf 2.59. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/vms/ftconfig.h: Synchronized with ANSI version. * docs/CUSTOMIZE: Fix documentation error. * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. * builds/freetype.mk (refdoc): Updated --title.
2003-11-09 09:37:14 +01:00
#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])])
------------------------------------------------------------------------
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be halved. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default strength. Don't increase slot->advance.y. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.ac (version_info): Set to 9:9:3. Currently, we are still binary compatible. * 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.9/2.1.10/. * docs/CHANGES, docs/VERSION.DLL: Updated. * ChangeLog: Split off older entries into... * ChangeLog.20, ChangeLog.21: These new files. The next release will be 2.2.0, so don't worry about source code backwards compatibility. * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate parameters with `const' where appropriate. * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY to make glyphs centered vertically. * src/truetype/ttgload.c (compute_glyph_metrics): Compute vertBearingY to make glyphs centered vertically. Fix some bugs in vertical metrics: . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font units. . As we use the glyph's cbox to calculate the top bearing now there iss no need to adjust `top'. * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake. * docs/release: Update.
2005-06-16 21:07:08 +02:00
Copyright 2002, 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
modified, and distributed under the terms of the FreeType project
license, LICENSE.TXT. By continuing to use, modify, or distribute this
file you indicate that you have read the license and understand and
accept it fully.
--- end of VERSION.DLL ---