[xorg-commit-diffs] xc/extras/freetype2/docs release, NONE,
1.1.6.1 CHANGES, 1.1.4.1, 1.1.4.2 CUSTOMIZE, 1.1,
1.1.4.1 DEBUG, 1.1, 1.1.4.1 INSTALL, 1.1.4.1,
1.1.4.2 INSTALL.ANY, 1.1, 1.1.4.1 INSTALL.GNU, 1.1,
1.1.4.1 INSTALL.UNX, 1.1, 1.1.4.1 INSTALL.VMS, 1.1,
1.1.4.1 TODO, 1.1.4.1, 1.1.4.2 TRUETYPE, 1.1,
1.1.4.1 UPGRADE.UNX, 1.1, 1.1.4.1 VERSION.DLL, 1.1,
1.1.4.1 license.txt, 1.1.4.1, 1.1.4.2
Egbert Eich
xorg-commit at pdx.freedesktop.org
Thu Apr 15 03:14:27 PDT 2004
- Previous message: [xorg-commit-diffs] xc/extras/freetype2/docs/reference .cvsignore,
NONE, 1.1.6.1 README, NONE, 1.1.6.1
- Next message: [xorg-commit-diffs] xc/extras/freetype2/builds/unix freetype2.in,
NONE, 1.1.6.1 .cvsignore, 1.1.1.1, 1.1.1.1.2.1 aclocal.m4,
1.1.4.1, 1.1.4.2 config.guess, 1.1.4.1, 1.1.4.2 config.sub,
1.1.4.1, 1.1.4.2 configure, 1.1.4.1, 1.1.4.2 configure.ac,
1.1.4.1, 1.1.4.2 detect.mk, 1.1.4.1,
1.1.4.2 freetype-config.in, 1.1.4.2, 1.1.4.3 freetype2.m4, 1.1,
1.1.4.1 ft-munmap.m4, 1.1, 1.1.4.1 ft2unix.h, 1.1,
1.1.4.1 ftconfig.in, 1.1, 1.1.4.1 install-sh, 1.1.4.1,
1.1.4.2 install.mk, 1.1.4.1, 1.1.4.2 ltmain.sh, 1.1.4.1,
1.1.4.2 mkinstalldirs, 1.1.4.2, 1.1.4.3 unix-cc.in, 1.1.4.1,
1.1.4.2 unix-def.in, 1.1.4.1, 1.1.4.2 unix-dev.mk, 1.1.4.1,
1.1.4.2 unix-lcc.mk, 1.1.4.1, 1.1.4.2 unixddef.mk, 1.1.4.1, 1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: eich
Update of /cvs/xorg/xc/extras/freetype2/docs
In directory pdx:/home/eich/tstbuild/xc/extras/freetype2/docs
Modified Files:
Tag: XORG-CURRENT
CHANGES CUSTOMIZE DEBUG INSTALL INSTALL.ANY INSTALL.GNU
INSTALL.UNX INSTALL.VMS TODO TRUETYPE UPGRADE.UNX VERSION.DLL
license.txt
Added Files:
Tag: XORG-CURRENT
release
Log Message:
2004-04-15 Egbert Eich <eich at freedesktop.org>
Merged changes from RELEASE-1 branch
--- NEW FILE: release ---
How to prepare a new release
----------------------------
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, and
FREETYPE_PATCH.
. builds/unix/configure.ac (version_info): Update according to the libtool
rules, then regenerate the configure script.
. builds/freetype.mk (refdoc): Update the `--title' option.
. docs/CHANGES: Document differences to last release.
. README: Update.
. docs/VERSION.DLL: Document changed `version_info'.
. ChangeLog: Announce new release.
. Tag the CVS.
. Update `make-release' and `make-current' in ~/cvs/scripts/ on
www.freetype.org, then call them.
. Call `make refdoc' to update HTML reference. Copy it to
freetype2/docs/reference in the `www' CVS module and update the CVS.
Then call `update-www' in ~/cvs/scripts on www.freetype.org to
update and distribute everything to sourceforge.
. Announce new release on announce at freetype.org and to relevant newsgroups.
Index: CHANGES
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/CHANGES,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/CHANGES 26 Nov 2003 22:48:23 -0000 1.1.4.1
+++ b/CHANGES 15 Apr 2004 10:14:21 -0000 1.1.4.2
@@ -1,203 +1,406 @@
-LATEST CHANGES BETWEEN 2.1.4 and 2.1.3
+
+LATEST CHANGES BETWEEN 2.1.7 and 2.1.6
I. IMPORTANT BUG FIXES
- - updated to newest libtool version, fixes build problems on various
- platforms.
+ - Updated to newest libtool version, fixing build problems on
+ various platforms.
[...1893 lines suppressed...]
----------------------------------------------------------------------
@@ -1998,14 +2230,14 @@
driver.
Extension ids are now strings, rather than 4-byte tags, as this is
- usually more readable..
+ usually more readable.
Each extension has:
- some data, associated to each face object
- an interface (table of function pointers)
An extension that is format-specific should simply register itself
- to the correct font driver. Here is some example code:
+ to the correct font driver. Here is some example code:
// Registering an extensions
//
Index: CUSTOMIZE
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/CUSTOMIZE,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/CUSTOMIZE 25 Nov 2003 19:27:18 -0000 1.1
+++ b/CUSTOMIZE 15 Apr 2004 10:14:21 -0000 1.1.4.1
@@ -1,79 +1,85 @@
How to customize the compilation of the library:
================================================
- FreeType is highly customizable to fit various needs, and this document
- details how it is possible to select options and components at compilation
- time.
+ FreeType is highly customizable to fit various needs, and this
+ document describes how it is possible to select options and components
+ at compilation time.
-I. Configuration macros:
+I. Configuration macros
- the file found in "include/freetype/config/ftoption.h" contains a list
+ The file found in "include/freetype/config/ftoption.h" contains a list
of commented configuration macros that can be toggled by developers to
- indicate which features to activate in their build of the library.
+ indicate which features should be active while building the library.
- these options range from debug level to availability of certain
+ These options range from debug level to availability of certain
features, like native TrueType hinting through a bytecode interpreter.
- we invite you to read this file for more information. You can change
- the file's content to suit your needs, or override it with one of the
- techniques described below..
+ We invite you to read this file for more information. You can change
+ the file's content to suit your needs, or override it with one of the
+ techniques described below.
-II. Modules list:
+II. Modules list
- the file found in "include/freetype/config/ftmodule.h" contains a list
- of names corresponding to the modules / font drivers to be statically
- compiled in the FreeType library during the build.
+ The file found in "include/freetype/config/ftmodule.h" contains a list
+ of names corresponding to the modules and font drivers to be
+ statically compiled in the FreeType library during the build.
- you can change it to suit your own preferences. Be aware that certain
- modules depend on others, as described by the file "modules.txt" in
+ You can change it to suit your own preferences. Be aware that certain
+ modules depend on others, as described by the file "modules.txt" in
this directory.
- you can modify the file's content to suit your needs, or override it
- at compile time with one of the methods described below
+ You can modify the file's content to suit your needs, or override it
+ at compile time with one of the methods described below.
-III. System interface:
+III. System interface
- FreeType's default interface to the system (i.e. the parts that deal with
- memory management and i/o streams) is located in "src/base/ftsystem.c".
+ FreeType's default interface to the system (i.e., the parts that deal
+ with memory management and i/o streams) is located in
+ "src/base/ftsystem.c".
- the current implementation uses standard C library calls to manage
- memory and read font files. It is however possible to write custom
+ The current implementation uses standard C library calls to manage
+ memory and to read font files. It is however possible to write custom
implementations to suit specific systems.
- to tell the GNU Make-based build system to use a custom system interface,
- you'll need to define the environment variable FTSYS_SRC to point to
- the relevant implementation, like in:
+ To tell the GNU Make-based build system to use a custom system
+ interface, you have to define the environment variable FTSYS_SRC to
+ point to the relevant implementation:
- on Unix:
- ./configure <youroptions>
- export FTSYS_SRC=foo/my_ftsystem.c
- make
- make install
+ on Unix:
+
+ ./configure <your options>
+ export FTSYS_SRC=foo/my_ftsystem.c
+ make
+ make install
- on Windows:
- make setup <compiler>
- set FTSYS_SRC=foo/my_ftsystem.c
- make
+ on Windows:
+
+ make setup <compiler>
+ set FTSYS_SRC=foo/my_ftsystem.c
+ make
-IV. Overriding default configuration and module headers:
+IV. Overriding default configuration and module headers
- it is possible to over-ride the default configuration and module headers
- without changing the original files. There are two ways to do that:
+ It is possible to override the default configuration and module
+ headers without changing the original files. There are two ways to do
+ that:
- 1. Using the C include path:
+
+ 1. Using the C include path
- use the C include path to ensure that your own versions of the
- files are used at compile time when the lines:
+ Use the C include path to ensure that your own versions of the files
+ are used at compile time when the lines
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_MODULES_H
- are compiled. Their default values being <freetype/config/ftoption.h>
- and <freetype/config/ftmodule.h>, you can do something like:
+ are compiled. Their default values being
+ <freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
+ can do something like:
custom/
freetype/
@@ -82,36 +88,38 @@
ftmodule.h => custom modules list
include/ => normal FreeType 2 include
- freetype/
- ...
+ freetype/
+ ...
- then change the C include path to always give the path to "custom"
- before the FreeType 2 "include"
+ then change the C include path to always give the path to "custom"
+ before the FreeType 2 "include".
2. Re-defining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
- another way to do the same thing is to re-define the macros used
- to name the configuration headers. To do so, you'll need a custom
- "ft2build.h", whose content can be as simple as:
+ Another way to do the same thing is to redefine the macros used to
+ name the configuration headers. To do so, you need a custom
+ "ft2build.h" whose content can be as simple as:
- #ifndef __FT2_BUILD_GENERIC_H__
- #define __FT2_BUILD_GENERIC_H__
+ #ifndef __FT2_BUILD_MY_PLATFORM_H__
+ #define __FT2_BUILD_MY_PLATFORM_H__
- #define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
- #define FT_CONFIG_MACROS_H <custom/my-ftmodule.h>
+ #define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
+ #define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
- #include <freetype/config/ftheader.h>
+ #include <freetype/config/ftheader.h>
- #endif /* __FT2_BUILD_GENERIC_H__ */
+ #endif /* __FT2_BUILD_MY_PLATFORM_H__ */
- place them in:
+ Place those files in a separate directory, e.g.:
- custom/
- ft2build.h => custom version described above
- my-ftoption.h => custom options header
- my-ftmodule.h => custom modules list header
+ custom/
+ ft2build.h => custom version described above
+ my-ftoption.h => custom options header
+ my-ftmodule.h => custom modules list header
- and change the C include path to ensure that "custom" is always placed
- before the FT2 "include" during compilation.
+ and change the C include path to ensure that "custom" is always
+ placed before the FT2 "include" during compilation.
+
+--- end of CUSTOMIZE ---
Index: DEBUG
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/DEBUG,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/DEBUG 25 Nov 2003 19:27:18 -0000 1.1
+++ b/DEBUG 15 Apr 2004 10:14:21 -0000 1.1.4.1
@@ -1,5 +1,5 @@
-Debugging within the FreeType sources:
-======================================
+Debugging within the FreeType sources
+=====================================
I. Configuration macros
-----------------------
@@ -12,15 +12,15 @@
FT_DEBUG_LEVEL_ERROR
#define this macro if you want to compile the FT_ERROR macro calls
- used to print error messages during program execution. This will
- not stop the program, but is very useful to spot invalid fonts
- during development and code workarounds for them.
+ to print error messages during program execution. This will not
+ stop the program. Very useful to spot invalid fonts during
+ development and to code workarounds for them.
FT_DEBUG_LEVEL_TRACE
- #define this macro if you want to compile both the FT_ERROR macro
- and the FT_TRACE one. This also includes the variants FT_TRACE0,
- FT_TRACE1, FT_TRACE2, ..., FT_TRACE6.
+ #define this macro if you want to compile both macros FT_ERROR and
+ FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
+ FT_TRACE2, ..., FT_TRACE6.
The trace macros are used to send debugging messages when an
appropriate "debug level" is configured at runtime through the
@@ -28,21 +28,21 @@
FT_DEBUG_MEMORY
- If this macro is #defined, the FreeType engines is linked with a
+ If this macro is #defined, the FreeType engine is linked with a
small but effective debugging memory manager that tracks all
allocations and frees that are performed within the font engine.
When the FT2_DEBUG_MEMORY environment variable is defined at
runtime, a call to FT_Done_FreeType will dump memory statistics,
including the list of leaked memory blocks with the source locations
- where these were allocated. It's always a very good idea to define
+ where these were allocated. It is always a very good idea to define
this in development builds. This works with _any_ program linked to
FreeType, but requires a big deal of memory (the debugging memory
manager never frees the blocks to the heap in order to detect double
frees).
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
- manager is ignored, and performance is un-affected.
+ manager is ignored, and performance is unaffected.
II. Debugging macros
@@ -59,7 +59,7 @@
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
"ftoption.h".
- Note that you must use with a printf-like signature, but with double
+ Note that you have to use a printf-like signature, but with double
parentheses, like in:
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
@@ -93,9 +93,9 @@
trace_XXXX where XXXX is one of the component names defined in the
internal file <freetype/internal/fttrace.h>.
- Each such component is assigned a "debug level", ranging from 0 to 6
- when a program linked with FreeType starts, through the use of the
- FT2_DEBUG environment variable, described later.
+ Each such component is assigned a "debug level", ranging from 0
+ to 6, through the use of the FT2_DEBUG environment variable
+ (described below) when a program linked with FreeType starts.
When FT_TRACE is called, its level is compared to the one of the
corresponding component. Messages with trace levels *higher* than
@@ -106,7 +106,7 @@
least* 2.
The second parameter to FT_TRACE must contain parentheses and
- correspond to a print-like call, as in:
+ correspond to a printf-like call, as in:
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
@@ -123,7 +123,6 @@
The following environment variables control debugging output and
behaviour of FreeType at runtime:
-
FT2_DEBUG
This variable is only used when FreeType is built with
@@ -133,51 +132,52 @@
component1:level1 component2:level2 component3:level3 ...
where "componentX" is the name of a tracing component, as defined in
- "fttrace.h", but without the "trace_" prefix, and "levelX" is the
+ "fttrace.h", but without the "trace_" prefix. "levelX" is the
corresponding level to use at runtime.
"any" is a special component name that will be interpreted as
"any/all components". For example, the following definitions
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
- export FT2_DEBUG="any:2 memory:5 io:4" (on Linux)
+ export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
both stipulate that all components should have level 2, except for
- the memory and io components which will be set to trace levels 5 and
- 4 respectively.
+ the memory and io components which will be set to trace levels 5
+ and 4, respectively.
FT2_DEBUG_MEMORY
This environment variable, when defined, tells FreeType to use a
- debugging memory manager that will track leaked memory blocks as
+ debugging memory manager that will track leaking memory blocks as
well as other common errors like double frees. It is also capable
- of reporting _where_ the leaked blocks were allocated, which
+ of reporting _where_ the leaking blocks were allocated, which
considerably saves time when debugging new additions to the library.
This code is only compiled when FreeType is built with the
FT_DEBUG_MEMORY macro #defined in "ftoption.h" though, it will be
ignored in other builds.
-
FT2_ALLOC_TOTAL_MAX
- this variable is ignored if FT2_DEBUG_MEMORY is not defined. It allows
- you to specify a maximum heap size for all memory allocations performed
- by FreeType. This is very useful to test the robustness of the font
- engine and programs that use it in tight memory conditions.
+ This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ allows you to specify a maximum heap size for all memory allocations
+ performed by FreeType. This is very useful to test the robustness
+ of the font engine and programs that use it in tight memory
+ conditions.
- If it is undefined, or if its value is not strictly positive, then no
- allocation bounds are checked at runtime.
-
+ If it is undefined, or if its value is not strictly positive, then
+ no allocation bounds are checked at runtime.
FT2_ALLOC_COUNT_MAX
- this variable is ignored if FT2_DEBUG_MEMORY is not defined. It allows
- you to sepcify a maximum number of memory allocations performed by
- FreeType before returning the error FT_Err_Out_Of_Memory. This is
- useful for debugging and testing the engine's robustness.
+ This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ allows you to specify a maximum number of memory allocations
+ performed by FreeType before returning the error
+ FT_Err_Out_Of_Memory. This is useful for debugging and testing the
+ engine's robustness.
- If it is undefined, or if its value is not strictly positive, then no
- allocation bounsd are checked at runtime.
+ If it is undefined, or if its value is not strictly positive, then
+ no allocation bounsd are checked at runtime.
-End of file
+
+--- end of DEBUG ---
Index: INSTALL
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/INSTALL,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/INSTALL 26 Nov 2003 22:48:24 -0000 1.1.4.1
+++ b/INSTALL 15 Apr 2004 10:14:21 -0000 1.1.4.2
@@ -1,65 +1,66 @@
-Welcome
-There are several ways to build the FreeType library, depending on your
-system and the level of customization you need. Here's a short overview
-of the documentation available:
+There are several ways to build the FreeType library, depending on your
+system and the level of customization you need. Here is a short
+overview of the documentation available:
-I. Normal installation and upgrades:
- 1. Native TrueType Hinting:
-
- Native TrueType hinting is disabled by default[1]. If you really need it,
- read the file "TRUETYPE" for information.
+I. Normal installation and upgrades
+===================================
-
- 2. Unix Systems (as well as Cygwin or MSys on Windows):
+ 1. Native TrueType Hinting
+
+ Native TrueType hinting is disabled by default[1]. If you really
+ need it, read the file "TRUETYPE" for information.
+
+ 2. Unix Systems (as well as Cygwin or MSys on Windows)
Please read *both* UPGRADE.UNX and INSTALL.UNX to install or upgrade
- FreeType 2 on a Unix system. Note that you *will* need GNU Make, since
- other make tools won't work (this includes BSD Make !!)
+ FreeType 2 on a Unix system. Note that you *will* need GNU Make,
+ since other make tools won't work (this includes BSD Make).
- 3. On VMS with the "mms" build tool:
+ 3. On VMS with the "mms" build tool
- see INSTALL.VMS for installation instructions on this platform
+ See INSTALL.VMS for installation instructions on this platform.
- 4. Other systems using GNU Make:
+ 4. Other systems using GNU Make
- on non-Unix platforms, it's possible to build the library using
- GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK* !!
- This methods supports several compilers on Windows, OS/2 and BeOS,
+ On non-Unix platforms, it is possible to build the library using GNU
+ Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]! This
+ methods supports several compilers on Windows, OS/2, and BeOS,
including Mingw, Visual C++, Borland C++, and more.
- instructions are provided in the file "INSTALL.GNU"
-
+ Instructions are provided in the file "INSTALL.GNU".
- 5. With an IDE Project File (e.g. for Visual Studio or CodeWarrior):
+ 5. With an IDE Project File (e.g. for Visual Studio or CodeWarrior)
- we provide a small number of "project files" for various IDEs to
- automatically build the library as well. Note that these files are
- not supported and sporadically maintained by FreeType developers,
- so don't expect them to work in each release.
+ We provide a small number of "project files" for various IDEs to
+ automatically build the library as well. Note that these files are
+ not supported and sporadically maintained by FreeType developers, so
+ don't expect them to work in each release.
- to find them, have a look at the content of the "builds/<system>"
+ To find them, have a look at the content of the "builds/<system>"
directory, where <system> stands for your OS or environment.
-
- 6. From you own IDE, or own Makefiles:
+ 6. From you own IDE, or own Makefiles
If you want to create your own project file, follow the instructions
given in the "INSTALL.ANY" document of this directory.
-II. Custom builds of the library:
+II. Custom builds of the library
+================================
- Customizing the compilation of FreeType is easy, and allows you to select
- only the components of the font engine that you really need. For more details
- read the file "CUSTOMIZE"
+ Customizing the compilation of FreeType is easy, and allows you to
+ select only the components of the font engine that you really need.
+ For more details read the file "CUSTOMIZE".
---------------------------------------------------------------------
+------------------------------------------------------------------------
[1] More details on: http://www.freetype.org/patents.html
-End of file
+[2] make++, a make tool written in Perl, has sufficient support of GNU
+ make extensions to build FreeType. See
+ http://makepp.sourceforge.net for more information.
-
\ No newline at end of file
+--- end of INSTALL ---
Index: INSTALL.ANY
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/INSTALL.ANY,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/INSTALL.ANY 25 Nov 2003 19:27:18 -0000 1.1
+++ b/INSTALL.ANY 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,96 +1,99 @@
-Instructions on how to build FreeType with your own build tool:
+Instructions on how to build FreeType with your own build tool
+==============================================================
- see the file "CUSTOMIZE" to learn how to customize FreeType to
- specific environments.
+See the file "CUSTOMIZE" to learn how to customize FreeType to specific
+environments.
- follow these simple steps:
-I. Normal way:
---------------
+I. Standard procedure
+---------------------
- * DISABLE PRE-COMPILED HEADERS ! This is very important for Visual
+ * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
C++, because FreeType uses lines like:
- #include FT_FREETYPE_H
+ #include FT_FREETYPE_H
- which are not correctly supported by this compiler, while being
- ISO C compliant !!
+ which are not correctly supported by this compiler while being ISO C
+ compliant!
* You need to add the directories "freetype2/include" to your include
path when compiling the library.
- * FreeType 2 is made of several components; each one of them is
- located in a subdirectory of "freetype2/src". For example,
+ * FreeType 2 is made of several components; each of them is located in
+ a subdirectory of "freetype2/src". For example,
'freetype2/src/truetype/' contains the TrueType font driver.
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
- -- base components (required)
+ -- base components (required)
- src/base/ftsystem.c
- src/base/ftinit.c
- src/base/ftdebug.c
- src/base/ftbase.c
- src/base/ftglyph.c
- src/base/ftbbox.c
- src/base/ftmm.c
- src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
- src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
- src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
+ src/base/ftsystem.c
+ src/base/ftinit.c
+ src/base/ftdebug.c
+ src/base/ftbase.c
+ src/base/ftglyph.c
+ src/base/ftbbox.c
+ src/base/ftmm.c
+ src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
+ src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
+ src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
- src/base/ftmac.c -- only on the Macintosh
+ src/base/ftmac.c -- only on the Macintosh
- -- other components are optional
+ -- other components (optional)
- src/autohint/autohint.c -- auto hinting module
- src/cache/ftcache.c -- cache sub-system (in beta)
- src/sfnt/sfnt.c -- SFNT files support
- (TrueType & OpenType)
- src/cff/cff.c -- CFF/OpenType font driver
- src/pfr/pfr.c -- PFR/TrueDoc font driver
- src/bdf/bdf.c -- BDF font driver
- src/pcf/pcf.c -- PCF font driver
- src/psnames/psnames.c -- Postscript glyph names support
- src/psaux/psaux.c -- Postscript Type 1 parsing
- src/truetype/truetype.c -- TrueType font driver
- src/type1/type1.c -- Type 1 font driver
- src/cid/type1cid.c -- Type 1 CID-keyed font driver
- src/winfonts/winfonts.c -- Windows FONT / FNT font driver
- src/raster1/raster1.c -- monochrome rasterizer
- src/smooth/smooth.c -- anti-aliasing rasterizer
+ src/autohint/autohint.c -- auto hinting module
+ src/cache/ftcache.c -- cache sub-system (in beta)
+ src/sfnt/sfnt.c -- SFNT files support
+ (TrueType & OpenType)
+ src/cff/cff.c -- CFF/OpenType font driver
+ src/pfr/pfr.c -- PFR/TrueDoc font driver
+ src/bdf/bdf.c -- BDF font driver
+ src/pcf/pcf.c -- PCF font driver
+ src/psnames/psnames.c -- PostScript glyph names support
+ src/psaux/psaux.c -- PostScript Type 1 parsing
+ src/truetype/truetype.c -- TrueType font driver
+ src/type1/type1.c -- Type 1 font driver
+ src/cid/type1cid.c -- Type 1 CID-keyed font driver
+ src/winfonts/winfonts.c -- Windows FONT / FNT font driver
+ src/raster1/raster1.c -- monochrome rasterizer
+ src/smooth/smooth.c -- anti-aliasing rasterizer
- Note:
+ Notes:
`truetype.c' needs `sfnt.c' and `psnames.c'
`type1.c' needs `psaux.c' and `psnames.c'
`type1cid.c' needs `psaux.c' and `psnames.c'
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
- that should be it ! in case of problems, see the archives of
- the FreeType development mailing list.
+
+ You are done. In case of problems, see the archives of the FreeType
+ development mailing list.
II. Support for flat-directory compilation
------------------------------------------
- It is possible to put all FreeType 2 source files into a single
+ It is possible to put all FreeType 2 source files into a single
directory, with the *exception* of the `include' hierarchy.
- 1. Copy all files in current directory:
+ 1. Copy all files in current directory
- cp freetype2/src/base/*.[hc] .
- cp freetype2/src/raster1/*.[hc] .
- cp freetype2/src/smooth/*.[hc] .
- etc.
+ cp freetype2/src/base/*.[hc] .
+ cp freetype2/src/raster1/*.[hc] .
+ cp freetype2/src/smooth/*.[hc] .
+ etc.
- 2. Compile sources:
+ 2. Compile sources
- cc -c -Ifreetype2/include ftsystem.c
- cc -c -Ifreetype2/include ftinit.c
- cc -c -Ifreetype2/include ftdebug.c
- cc -c -Ifreetype2/include ftbase.c
- etc.
+ cc -c -Ifreetype2/include ftsystem.c
+ cc -c -Ifreetype2/include ftinit.c
+ cc -c -Ifreetype2/include ftdebug.c
+ cc -c -Ifreetype2/include ftbase.c
+ etc.
+
+ You don't need to define the FT_FLAT_COMPILATION macro (as this was
+ required in previous releases of FreeType 2).
- You don't need to define the FT_FLAT_COMPILATION macro (as this was
- required in previous releases of FreeType 2).
+--- end of INSTALL.ANY ---
Index: INSTALL.GNU
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/INSTALL.GNU,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/INSTALL.GNU 25 Nov 2003 19:27:18 -0000 1.1
+++ b/INSTALL.GNU 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,128 +1,139 @@
-This document contains instructions on how to build the FreeType library
-on non-Unix systems with the help of GNU Make. Note that if you're running
-Cygwin or MSys in Windows, you should follow the instructions of INSTALL.UNX
-instead.
+This document contains instructions how to build the FreeType library on
+non-Unix systems with the help of GNU Make. Note that if you are
+running Cygwin or MSys in Windows, you should follow the instructions in
+the file INSTALL.UNX instead.
- FreeType 2 includes a powerful and flexible build system that allows
- you to easily compile it on a great variety of platforms from the
+ FreeType 2 includes a powerful and flexible build system that allows
+ you to easily compile it on a great variety of platforms from the
command line. To do so, just follow these simple instructions:
- a. Install GNU Make
+ 1. Install GNU Make
+ -------------------
- Because GNU Make is the only Make tool supported to compile
+ Because GNU Make is the only Make tool supported to compile
FreeType 2, you should install it on your machine.
- The FreeType 2 build system relies on many features special to GNU
- Make -- trying to build the library with any other Make tool will
+ The FreeType 2 build system relies on many features special to GNU
+ Make -- trying to build the library with any other Make tool will
*fail*.
- NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
+ NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
- Make sure that you are invoking GNU Make from the command line, by
+ Note that make++, a make tool written in Perl, supports enough
+ features of GNU make to compile FreeType. See
+ http://makepp.sourceforge.net for more information.
+
+ Make sure that you are invoking GNU Make from the command line, by
typing something like:
- make -v
+ make -v
to display its version number.
VERSION 3.78.1 OR NEWER IS NEEDED!
+ 2. Invoke 'make'
+ ----------------
- b. Invoke 'make'
-
- Go to the root directory of FreeType 2, then simply invoke GNU
- Make from the command line. This will launch the FreeType 2 host
- platform detection routines. A summary will be displayed, for
+ Go to the root directory of FreeType 2, then simply invoke GNU Make
+ from the command line. This will launch the FreeType 2 host
+ platform detection routines. A summary will be displayed, for
example, on Win32:
- ==============================================================
- FreeType build system -- automatic system detection
+ ==============================================================
+ FreeType build system -- automatic system detection
- The following settings are used:
+ The following settings are used:
- platform win32
- compiler gcc
- configuration directory ./builds/win32
- configuration rules ./builds/win32/w32-gcc.mk
+ platform win32
+ compiler gcc
+ configuration directory ./builds/win32
+ configuration rules ./builds/win32/w32-gcc.mk
- If this does not correspond to your system or settings please
- remove the file 'config.mk' from this directory then read the
- INSTALL file for help.
+ If this does not correspond to your system or settings please
+ remove the file 'config.mk' from this directory then read the
+ INSTALL file for help.
- Otherwise, simply type 'make' again to build the library.
- =============================================================
+ Otherwise, simply type 'make' again to build the library.
+ =============================================================
- If the detected settings correspond to your platform and compiler,
- skip to step e. Note that if your platform is completely alien to
+ If the detected settings correspond to your platform and compiler,
+ skip to step 5. Note that if your platform is completely alien to
the build system, the detected platform will be 'ansi'.
- c. Configure the build system for a different compiler
+ 3. Configure the build system for a different compiler
+ ------------------------------------------------------
- If the build system correctly detected your platform, but you want
- to use a different compiler than the one specified in the summary
- (for most platforms, gcc is the defaut compiler), invoke GNU Make
+ If the build system correctly detected your platform, but you want
+ to use a different compiler than the one specified in the summary
+ (for most platforms, gcc is the defaut compiler), invoke GNU Make
with
- make setup <compiler>
+ make setup <compiler>
- For example:
+ Examples:
- to use Visual C++ on Win32, type: "make setup visualc"
- to use Borland C++ on Win32, type "make setup bcc32"
- to use Watcom C++ on Win32, type "make setup watcom"
- to use Intel C++ on Win32, type "make setup intelc"
- to use LCC-Win32 on Win32, type: "make setup lcc"
- to use Watcom C++ on OS/2, type "make setup watcom"
- to use VisualAge C++ on OS/2, type "make setup visualage"
+ to use Visual C++ on Win32, type: "make setup visualc"
+ to use Borland C++ on Win32, type "make setup bcc32"
+ to use Watcom C++ on Win32, type "make setup watcom"
+ to use Intel C++ on Win32, type "make setup intelc"
+ to use LCC-Win32 on Win32, type: "make setup lcc"
+ to use Watcom C++ on OS/2, type "make setup watcom"
+ to use VisualAge C++ on OS/2, type "make setup visualage"
- The <compiler> name to use is platform-dependent. The list of
- available compilers for your system is available in the file
+ The <compiler> name to use is platform-dependent. The list of
+ available compilers for your system is available in the file
`builds/<system>/detect.mk'
- If you are satisfied by the new configuration summary, skip to
- step e.
+ If you are satisfied by the new configuration summary, skip to
+ step 5.
- d. Configure the build system for an unknown platform/compiler
- The auto-detection/setup phase of the build system copies a file
- to the current directory under the name `config.mk'.
+ 4. Configure the build system for an unknown platform/compiler
+ --------------------------------------------------------------
- For example, on OS/2+gcc, it would simply copy
+ The auto-detection/setup phase of the build system copies a file to
+ the current directory under the name `config.mk'.
+
+ For example, on OS/2+gcc, it would simply copy
`builds/os2/os2-gcc.mk' to `./config.mk'.
- If for some reason your platform isn't correctly detected, copy
- manually the configuration sub-makefile to `./config.mk' and go to
- step e.
+ If for some reason your platform isn't correctly detected, copy
+ manually the configuration sub-makefile to `./config.mk' and go to
+ step 5.
- Note that this file is a sub-Makefile used to specify Make
- variables for compiler and linker invocation during the build.
- You can easily create your own version from one of the existing
- configuration files, then copy it to the current directory under
- the name `./config.mk'.
+ Note that this file is a sub-Makefile used to specify Make variables
+ for compiler and linker invocation during the build. You can easily
+ create your own version from one of the existing configuration
+ files, then copy it to the current directory under the name
+ `./config.mk'.
- e. Build the library
- The auto-detection/setup phase should have copied a file in the
- current directory, called `./config.mk'. This file contains
- definitions of various Make variables used to invoke the compiler
- and linker during the build.
+ 5. Build the library
+ --------------------
- To launch the build, simply invoke GNU Make again: The top
- Makefile will detect the configuration file and run the build with
- it.
+ The auto-detection/setup phase should have copied a file in the
+ current directory, called `./config.mk'. This file contains
+ definitions of various Make variables used to invoke the compiler
+ and linker during the build.
+ To launch the build, simply invoke GNU Make again: The top Makefile
+ will detect the configuration file and run the build with it.
- Final note:
+ Final note
- the build system builds a statically linked library of the font engine
- in the "objs" directory. It does _not_ support the build of DLLs on
- Windows and OS/2, if you need these, you'll have to either use
- a IDE-specific project file, or follow the instructions in
+ The build system builds a statically linked library of the font
+ engine in the "objs" directory. It does _not_ support the build of
+ DLLs on Windows and OS/2. If you need these, you have to either use
+ a IDE-specific project file, or follow the instructions in
"INSTALL.ANY" to create your own Makefiles.
+
+
+--- end of INSTALL.GNU ---
Index: INSTALL.UNX
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/INSTALL.UNX,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/INSTALL.UNX 25 Nov 2003 19:27:18 -0000 1.1
+++ b/INSTALL.UNX 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,181 +1,64 @@
This document contains instructions on how to build the FreeType library
-on Unix systems. This also works for emulations like Cygwin or MSys on
+on Unix systems. This also works for emulations like Cygwin or MSys on
Win32:
- I. Ensure that you are using GNU Make
+ 1. Ensure that you are using GNU Make
-------------------------------------
- The FreeType build system _exclusively_ works with GNU Make. You
- will not be able to compile the library with the instructions
- below using any other alternative (including BSD Make).
+ The FreeType build system _exclusively_ works with GNU Make. You
+ will not be able to compile the library with the instructions below
+ using any other alternative (including BSD Make).
- Trying to compile the library with a different Make tool will
- print a message like:
+ [Well, this is not really correct. Recently, a perl implementation
+ of make called `makepp' has appeared which can also build FreeType 2
+ successfully on Unix platforms. See http://makepp.sourceforge.net
+ for more details.]
- Sorry, GNU make is required to build FreeType2.
+ Trying to compile the library with a different Make tool will print
+ a message like:
- and the build process will be aborted. If this happens, install
- GNU Make on your system, and use the GNUMAKE environment variable
- to name it.
+ Sorry, GNU make is required to build FreeType2.
+ and the build process will be aborted. If this happens, install GNU
+ Make on your system, and use the GNUMAKE environment variable to
+ name it.
- IV. Build and install the library
- ---------------------------------
+ 2. Build and install the library
+ --------------------------------
- The following should work on all Unix systems where the 'make'
+ The following should work on all Unix systems where the `make'
command invokes GNU Make:
- ./configure --prefix=<yourprefix>
+ ./configure [options]
make
make install (as root)
- where "<yourprefix>" must be replaced by the prefix returned by
- the "freetype-config" command.
+ The default installation path is "/usr/local". It can be changed
+ with the `--prefix=<path>' option. Example:
- When using a different command to invoke GNU Make, use the GNUMAKE
- variable. For example, if `gmake' is the command to use on your
+ ./configure --prefix=/usr
+
+ When using a different command to invoke GNU Make, use the GNUMAKE
+ variable. For example, if `gmake' is the command to use on your
system, do something like:
- GNUMAKE=gmake ./configure --prefix=<yourprefix>
+ GNUMAKE=gmake ./configure [options]
gmake
gmake install (as root)
- If this still doesn't work, something's rotten on your system(
- (e.g. you're using a very old version of GNU Make)
-
-
-
-I. Unix systems
----------------
-
- If you have GNU Make installed, simply type
-
- ./configure
- make
- make install
-
- on the command line to configure, build and install FreeType on your
- system. Note that the default installation path is "/usr/local".
-
- Please read the file README.UNX, it contains _critical_ information
- regarding the installation of FreeType on many Unix systems.
-
-
-II. From the command line
--------------------------
-
- If you are not using Unix, there are two ways to quickly build
- FreeType 2 from the command line.
-
- The first, and favorite one, is to use the "Jam" build tool. Jam is
- a highly portable replacement for Make whose control files do not
- depend on the current platform or compiler toolset.
-
- For more information, please see:
-
- http://www.freetype.org/jam/index.html
-
- The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
-
-
- 1. Building FT2 with "Jam"
- --------------------------
-
- Once you've got *our version* of the Jam tool installed on your
- system, simply go to the top-level FT2 directory, then type
-
- "jam"
-
- on the command line. This will build the library and place it in
- the "objs" directory.
-
- By default, a static library is built. On Unix systems, it is
- possible to build a shared library through the "libtool" script.
- You need to have libtool installed on your system, then re-define
- a few environment variables before invoking Jam, as in
-
- export CC="libtool --mode=compile cc"
- export LINK="libtool --mode=link cc"
- jam
-
- In later releases of FT2, building shared libraries with Jam
- should become automatic on Unix systems.
-
-
- 2. Building FT2 with "GNU Make"
- -------------------------------
-
- You need to have GNU Make (version 3.78.1 or newer) installed on
- your system to compile the library from the command line. This will
- _NOT_ work with other make tools (including BSD make)!
-
- [Well, this is not really correct. Recently, a perl implementation
- of make called `makepp' has appeared which can also build FreeType 2
- successfully on Unix platforms. See http://makepp.sourceforge.net
- for more details.]
-
- - Go to the `freetype2' directory.
-
- - Unix (any C compiler should work):
-
- - make setup (don't worry, this will invoke a configure script)
- - make
- - make install
-
- Alternatively, you can pass parameters to the configure script
- within the CFG variable, as in:
-
- - make setup CFG="--prefix=/usr"
- - make
- - make install
-
- If the configure script isn't run, try to add `unix' as a target
- on the command line, e.g.:
-
- - make setup unix CFG="--prefix=/opt/experimental"
-
-
- - Windows:
-
- We provide a version of GNU Make for Win32 on the FreeType site.
- See http://www.freetype.org/download.html for details.
-
- - gcc (Mingw, _not_ CygWin):
-
- - make setup
- - make
-
-
- - Visual C++:
-
- - make setup visualc
- - make
-
-
- - other compilers:
-
- - make setup bcc32 -> Borland C++ 32 bits
- - make setup intelc -> Intel C++
- - make setup watcom -> Watcom C++
- - make setup lcc -> Win32-LCC
-
-
- If you want to build FreeType 2 in another directory, you must set
- two environment variables, `OJB_DIR' and `TOP_DIR'. The former
- gives the directory where the object files and the library should be
- created (this directory must exist), the latter the top directory of
- the FreeType 2 source tree. Example:
+ If this still doesn't work, something's rotten on your system
+ (e.g. you are using a very old version of GNU Make).
- OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
- make -f$TOP_DIR/Makefile setup ansi
- OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
- make -f$TOP_DIR/Makefile
+ It is possible to compile FreeType in a different directory.
+ Assuming the FreeType source files in directory `/src/freetype' a
+ compilation in directory `foo' works as follows:
- On Unix boxes, calling `configure' from the build directory is
- sufficient; it will build a small Makefile which calls the
- FreeType 2 Makefile with the necessary parameters.
+ cd foo
+ /src/freetype/configure [options]
+ make
+ make install
---- end of INSTALL --
+--- end of INSTALL.UNX --
Index: INSTALL.VMS
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/INSTALL.VMS,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/INSTALL.VMS 25 Nov 2003 19:27:18 -0000 1.1
+++ b/INSTALL.VMS 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,8 +1,8 @@
How to build the freetype2 library on VMS
-----------------------------------------
-Just type one of the following depending on the type of external entries you
-want:
+Just type one of the following depending on the type of external entries
+you want:
mms
@@ -14,22 +14,23 @@
[.LIB]
-To compile applications using freetype2 you'll need to define the logical
+To compile applications using FreeType 2 you have to define the logical
FREETYPE pointing to the directory
[.INCLUDE.FREETYPE]
-(i.e., if the directory in which this README.VMS file is located is
+i.e., if the directory in which this INSTALL.VMS file is located is
$disk:[freetype] then define the logical with
define freetype $disk:[freetype.include.freetype]
-This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha V7.2-1.
+This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
+V7.2-1.
Any problems can be reported to
- joukj at hrem.stm.tudelft.nl
+ Jouk Jansen <joukj at hrem.stm.tudelft.nl>
- Jouk Jansen
+--- end of INSTALL.VMS ---
Index: TODO
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/TODO,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/TODO 26 Nov 2003 22:48:24 -0000 1.1.4.1
+++ b/TODO 15 Apr 2004 10:14:22 -0000 1.1.4.2
@@ -1,13 +1,23 @@
-Note that the list of known bugs for FreeType 2 is now located in the
-document "docs/BUGS".
-
Here is a list of items that need to be addressed in FreeType 2; they are
not exactly bugs, but should be considered though:
* Implement stem3/counter hints properly in the Postscript hinter.
-* FInalize the cache sub-system. If has been in beta for too long :-)
+* Finalize the cache sub-system. It has been in beta far too long :-)
* The automatic and Postscript hinters have been improved to increase
- the quality of AA text, but Monochrome and LCD hinting still suck. we
- need to do something about that..
+ the quality of AA text, but Monochrome and LCD hinting still suck. We
+ need to do something about that.
+
+* Add CIDCMap support to the CID driver.
+
+* Add track kerning support to the Type1 and PFR driver and the API
+ (The degree of kerning, e.g. light, normal or tight, and
+ the glyph size has to be passed as parameter).
+
+* Add kerning (AFM file) support to the CID driver.
+
+* Possibly add support for reading PFM files.
+
+
+--- end of TODO ---
Index: TRUETYPE
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/TRUETYPE,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/TRUETYPE 25 Nov 2003 19:27:18 -0000 1.1
+++ b/TRUETYPE 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,14 +1,14 @@
How to enable the TrueType native hinter if you need it
--------------------------------------------------------
- The TrueType bytecode interpreter is disabled in all public
- releases of the FreeType packages for patents reasons (see
+ The TrueType bytecode interpreter is disabled in all public releases
+ of the FreeType packages for patents reasons (see
http://www.freetype.org/patents.html for more details).
- However, many Linux distributions do enable the interpreter in the
- FreeType packages (DEB/RPM/etc.) they produce for their platforms.
- If you are using TrueType fonts on your system, you most probably
- want to enable it manually by doing the following:
+ However, many Linux distributions do enable the interpreter in the
+ FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
+ you are using TrueType fonts on your system, you most probably want to
+ enable it manually by doing the following:
- open the file "include/freetype/config/ftoption.h"
@@ -20,4 +20,7 @@
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
- of course, this must be done _before_ compiling the library
+ These steps must be done _before_ compiling the library.
+
+
+--- end of TRUETYPE ---
Index: UPGRADE.UNX
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/UPGRADE.UNX,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/UPGRADE.UNX 25 Nov 2003 19:27:18 -0000 1.1
+++ b/UPGRADE.UNX 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -2,87 +2,88 @@
SPECIAL NOTE FOR UNIX USERS
===========================
- If you are installing this release of FreeType on a system that
- already uses release 2.0.5 (or even an older version), you have to
+ If you are installing this release of FreeType on a system that
+ already uses release 2.0.5 (or even an older version), you have to
perform a few special steps to ensure that everything goes well.
- I. Enable the TrueType bytecode hinter if you need it
+ 1. Enable the TrueType bytecode hinter if you need it
-----------------------------------------------------
See the instructions in the file "TRUETYPE" of this directory.
- Note that FreeType supports TrueType fonts without the bytecode
- interpreter through its auto-hinter, which now generate relatively good
- results with most fonts.
+ Note that FreeType supports TrueType fonts without the bytecode
+ interpreter through its auto-hinter, which now generates relatively
+ good results with most fonts.
- II. Determine the correct installation path
- --------------------------------------------
+ 2. Determine the correct installation path
+ ------------------------------------------
- By default, the source package will install the library in
- "/usr/local". However, many Unix distributions now install the
- library in "/usr", since FreeType is becoming a critical system
+ By default, the configure script will install the library in
+ "/usr/local". However, many Unix distributions now install the
+ library in "/usr", since FreeType is becoming a critical system
component.
If FreeType is already installed on your system, type
freetype-config --prefix
- on the command line. This should return the installation path to
- use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
- "/usr" (or what you think is adequate for your installation).
+ on the command line. This should return the installation path
+ (e.g., "/usr" or "/usr/local"). To avoid problems of parallel
+ FreeType versions, use this path for the --prefix option of the
+ configure script.
+ Otherwise, simply use "/usr" (or whatever you think is adequate for
+ your installation).
- III. Ensure that you are using GNU Make
- ---------------------------------------
+ 3. Ensure that you are using GNU Make
+ -------------------------------------
- The FreeType build system _exclusively_ works with GNU Make. You
- will not be able to compile the library with the instructions
- below using any other alternative (including BSD Make).
+ The FreeType build system _exclusively_ works with GNU Make (as an
+ exception you can use make++ which emulates GNU Make sufficiently;
+ see http://makepp.sourceforge.net). You will not be able to compile
+ the library with the instructions below using any other alternative
+ (including BSD Make).
- Trying to compile the library with a different Make tool will
- print a message like:
+ Trying to compile the library with a different Make tool will print
+ a message like:
Sorry, GNU make is required to build FreeType2.
- and the build process will be aborted. If this happens, install
- GNU Make on your system, and use the GNUMAKE environment variable
- to name it.
-
+ and the build process will be aborted. If this happens, install GNU
+ Make on your system, and use the GNUMAKE environment variable to
+ name it.
- IV. Build and install the library
- ---------------------------------
+ 4. Build and install the library
+ --------------------------------
- The following should work on all Unix systems where the `make'
+ The following should work on all Unix systems where the `make'
command invokes GNU Make:
./configure --prefix=<yourprefix>
make
make install (as root)
- where "<yourprefix>" must be replaced by the prefix returned by
- the "freetype-config" command.
+ where "<yourprefix>" must be replaced by the prefix returned by the
+ "freetype-config" command.
- When using a different command to invoke GNU Make, use the GNUMAKE
- variable. For example, if `gmake' is the command to use on your
+ When using a different command to invoke GNU Make, use the GNUMAKE
+ variable. For example, if `gmake' is the command to use on your
system, do something like:
GNUMAKE=gmake ./configure --prefix=<yourprefix>
gmake
gmake install (as root)
- If this still doesn't work, read the detailed compilation
- procedure available in the file "docs/BUILD" for troubleshooting.
-
- V. Take care of XFree86 version 4
+ 5. Take care of XFree86 version 4
---------------------------------
- Certain recent Linux distributions will install _several_ versions
- of FreeType on your system. For example, on a fresh Mandrake 8.1
+ Certain recent Linux distributions will install _several_ versions
+ of FreeType on your system. For example, on a fresh Mandrake 8.1
system, you can find the following files:
/usr/lib/libfreetype.so which links to
@@ -93,22 +94,21 @@
/usr/X11R6/lib/libfreetype.so which links to
/usr/X11R6/lib/libfreetype.6.0.so
- Note that these files correspond to two distinct versions of the
- library! It seems that this surprising issue is due to the
- install scripts of recent XFree86 servers (from 4.1.0) which
- irremediably install their own (dated) version of the library in
- "/usr/X11R6/lib".
+ Note that these files correspond to two distinct versions of the
+ library! It seems that this surprising issue is due to the install
+ scripts of recent XFree86 servers (from 4.1.0) which install their
+ own (dated) version of the library in "/usr/X11R6/lib".
- In certain _rare_ cases you may experience minor problems if you
- install this release of the library in "/usr" only, namely, that
- certain applications will not benefit from the bug fixes and
- rendering improvements you'd expect.
+ In certain _rare_ cases you may experience minor problems if you
+ install this release of the library in "/usr" only, namely, that
+ certain applications will not benefit from the bug fixes and
+ rendering improvements you would expect.
There are two good ways to deal with this situation:
- - Install the library _twice_, in "/usr" and in "/usr/X11R6"
- (you have to do that each time you install a new FreeType
- release though).
+ - Install the library _twice_, in "/usr" and in "/usr/X11R6" (you
+ have to do that each time you install a new FreeType release
+ though).
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
@@ -118,7 +118,10 @@
/usr/X11R6/lib/libfreetype.6.0.so
- The FreeType Team is not responsible for this problem, so please
- contact either the XFree86 development team or your Linux
- distributor to help clear this issue in case the information given
+ The FreeType Team is not responsible for this problem, so please
+ contact either the XFree86 development team or your Linux
+ distributor to help clear this issue in case the information given
here doesn't help.
+
+
+---- end of UPGRADE.UNX ---
Index: VERSION.DLL
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/VERSION.DLL,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/VERSION.DLL 25 Nov 2003 19:27:18 -0000 1.1
+++ b/VERSION.DLL 15 Apr 2004 10:14:22 -0000 1.1.4.1
@@ -1,90 +1,109 @@
-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.
+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
+This file tries to explain why and to document ways to properly detect
FreeType on Unix.
-I. Version & Release numbers:
+1. Version & Release numbers
+----------------------------
-For each new public release of FreeType 2, there are generally *three*
+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 official FT2 release number, like 2.0.9, or 2.1.3.
- * the platform-specific shared object number, used for example when
- the library is installed as "/usr/lib/libfreetype.so.6.3.2"
+ * 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're using (several variants of Linux, FreeBSD,
-Solaris, etc...). You should thus _never_ use it, even for simple tests.
+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 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
+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 some Autoconf fragment to
+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.
-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
+----------
-II. Table:
+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:
-the following is a simple table that 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.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 ?
- release libtool so
--------------------------------------
- 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 ?
+The libtool numbers are a bit inconsistent due to the library's history:
-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.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.0.9 was a bug-fix release of the "stable" branch, we
- apparently 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.
- - 2.1.4 is still in the "development" branch, however it's 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.
-III. AutoConf Code Fragment:
-Lars Clausen contributed the following Autoconf fragment to detect at
-which version of FreeType is installed on your system. This one tests
-for a version that is at least 2.0.9, you should change the last line 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])
+ ])
- AC_MSG_CHECKING([for version of FreeType])
- FREETYPE_INCLUDE=`freetype-config --cflags | cut -c3-`
- FREETYPE_MAJOR=`grep '^#define FREETYPE_MAJOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
- FREETYPE_MINOR=`grep '^#define FREETYPE_MINOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
- FREETYPE_PATCH=`grep '^#define FREETYPE_PATCH' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
- FREETYPE_VERSION=`echo | awk "BEGIN { printf \"%d\", ($FREETYPE_MAJOR * 1000 + $FREETYPE_MINOR) * 1000 + $FREETYPE_PATCH;}"`
- AC_MSG_RESULT([$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH])
- if test "$FREETYPE_VERSION" -ge 2000009; then
+--- end of VERSION.DLL ---
Index: license.txt
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/docs/license.txt,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/license.txt 26 Nov 2003 22:48:24 -0000 1.1.4.1
+++ b/license.txt 15 Apr 2004 10:14:22 -0000 1.1.4.2
@@ -1,28 +1,28 @@
- The FreeType 2 font engine is copyrighted work, and cannot be
- used legally without a software license. In order to make this
- project usable to a vast majority of developers, we distribute it
- under two dual licenses.
-
- What this means is that *you* must choose *one* license among those
- described below, then obey all its terms and conditions when using
- FreeType 2 in any of your projects or products:
-
+The FreeType 2 font engine is copyrighted work and cannot be used
+legally without a software license. In order to make this project
+usable to a vast majority of developers, we distribute it under two
+mutually exclusive open-source licenses.
- - The FreeType License, found in the file "FTL.TXT", which is
- an BSD-style open-source license *with* an advertising
- clause that forces you to explicitely cite the
- FreeType project in your product's documentation. All
- details are in the license file
+This means that *you* must choose *one* of the two licenses described
+below, then obey all its terms and conditions when using FreeType 2 in
+any of your projects or products.
+ - The FreeType License, found in the file `FTL.TXT', which is similar
+ to the original BSD license *with* an advertising clause that forces
+ you to explicitly cite the FreeType project in your product's
+ documentation. All details are in the license file. This license
+ is suited to products which don't use the GNU General Public
+ License.
- - The GNU General Public License, found in "GPL.TXT", which is
- the traditionnal and "viral" GPL license, that
- forces you to redistribute the _complete_ sources of all
- your products that simply use FreeType 2.
+ - The GNU General Public License version 2, found in `GPL.TXT' (any
+ later version can be used also), for programs which already use the
+ GPL. Note that the FTL is incompatible with the GPL due to its
+ advertisement clause.
+The contributed PCF driver comes with a license similar to that of the X
+Window System. It is compatible to the above two licenses (see file
+src/pcf/readme).
- Note that the contributed PCF driver comes with a license similar to
- that of X Window System which is compatible to the above two
- licenses (see file src/pcf/readme).
+--- end of licence.txt ---
- Previous message: [xorg-commit-diffs] xc/extras/freetype2/docs/reference .cvsignore,
NONE, 1.1.6.1 README, NONE, 1.1.6.1
- Next message: [xorg-commit-diffs] xc/extras/freetype2/builds/unix freetype2.in,
NONE, 1.1.6.1 .cvsignore, 1.1.1.1, 1.1.1.1.2.1 aclocal.m4,
1.1.4.1, 1.1.4.2 config.guess, 1.1.4.1, 1.1.4.2 config.sub,
1.1.4.1, 1.1.4.2 configure, 1.1.4.1, 1.1.4.2 configure.ac,
1.1.4.1, 1.1.4.2 detect.mk, 1.1.4.1,
1.1.4.2 freetype-config.in, 1.1.4.2, 1.1.4.3 freetype2.m4, 1.1,
1.1.4.1 ft-munmap.m4, 1.1, 1.1.4.1 ft2unix.h, 1.1,
1.1.4.1 ftconfig.in, 1.1, 1.1.4.1 install-sh, 1.1.4.1,
1.1.4.2 install.mk, 1.1.4.1, 1.1.4.2 ltmain.sh, 1.1.4.1,
1.1.4.2 mkinstalldirs, 1.1.4.2, 1.1.4.3 unix-cc.in, 1.1.4.1,
1.1.4.2 unix-def.in, 1.1.4.1, 1.1.4.2 unix-dev.mk, 1.1.4.1,
1.1.4.2 unix-lcc.mk, 1.1.4.1, 1.1.4.2 unixddef.mk, 1.1.4.1, 1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the xorg-commit-diffs
mailing list