5172
|
1 |
Instructions on how to build FreeType with your own build tool
|
|
2 |
==============================================================
|
|
3 |
|
|
4 |
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
|
5 |
specific environments.
|
|
6 |
|
|
7 |
|
|
8 |
I. Standard procedure
|
|
9 |
---------------------
|
|
10 |
|
|
11 |
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
|
|
12 |
C++, because FreeType uses lines like:
|
|
13 |
|
|
14 |
#include FT_FREETYPE_H
|
|
15 |
|
|
16 |
which are not correctly supported by this compiler while being ISO
|
|
17 |
C compliant!
|
|
18 |
|
|
19 |
* You need to add the directories `freetype2/include' to your
|
|
20 |
include path when compiling the library.
|
|
21 |
|
|
22 |
* FreeType 2 is made of several components; each of them is located
|
|
23 |
in a subdirectory of `freetype2/src'. For example,
|
|
24 |
`freetype2/src/truetype/' contains the TrueType font driver.
|
|
25 |
|
|
26 |
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
|
27 |
|
|
28 |
-- base components (required)
|
|
29 |
|
|
30 |
src/base/ftsystem.c
|
|
31 |
src/base/ftinit.c
|
|
32 |
src/base/ftdebug.c
|
|
33 |
|
|
34 |
src/base/ftbase.c
|
|
35 |
|
|
36 |
src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
|
|
37 |
src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
|
|
38 |
|
|
39 |
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
|
|
40 |
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
|
|
41 |
src/base/ftcid.c -- optional, see <freetype/ftcid.h>
|
|
42 |
src/base/ftfstype.c -- optional
|
|
43 |
src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
|
|
44 |
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
|
|
45 |
src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
|
|
46 |
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
|
|
47 |
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
|
|
48 |
src/base/ftpatent.c -- optional
|
|
49 |
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
|
|
50 |
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
|
|
51 |
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
|
|
52 |
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
|
|
53 |
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
|
|
54 |
src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
|
|
55 |
|
|
56 |
src/base/ftmac.c -- only on the Macintosh
|
|
57 |
|
|
58 |
-- font drivers (optional; at least one is needed)
|
|
59 |
|
|
60 |
src/bdf/bdf.c -- BDF font driver
|
|
61 |
src/cff/cff.c -- CFF/OpenType font driver
|
|
62 |
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
|
63 |
src/pcf/pcf.c -- PCF font driver
|
|
64 |
src/pfr/pfr.c -- PFR/TrueDoc font driver
|
|
65 |
src/sfnt/sfnt.c -- SFNT files support
|
|
66 |
(TrueType & OpenType)
|
|
67 |
src/truetype/truetype.c -- TrueType font driver
|
|
68 |
src/type1/type1.c -- Type 1 font driver
|
|
69 |
src/type42/type42.c -- Type 42 font driver
|
|
70 |
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
|
71 |
|
|
72 |
-- rasterizers (optional; at least one is needed for vector
|
|
73 |
formats)
|
|
74 |
|
|
75 |
src/raster/raster.c -- monochrome rasterizer
|
|
76 |
src/smooth/smooth.c -- anti-aliasing rasterizer
|
|
77 |
|
|
78 |
-- auxiliary modules (optional)
|
|
79 |
|
|
80 |
src/autofit/autofit.c -- auto hinting module
|
|
81 |
src/cache/ftcache.c -- cache sub-system (in beta)
|
|
82 |
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
|
83 |
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
|
84 |
src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2)
|
|
85 |
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
|
86 |
src/otvalid/otvalid.c -- OpenType table validation
|
|
87 |
src/psaux/psaux.c -- PostScript Type 1 parsing
|
|
88 |
src/pshinter/pshinter.c -- PS hinting module
|
|
89 |
src/psnames/psnames.c -- PostScript glyph names support
|
|
90 |
|
|
91 |
|
|
92 |
Notes:
|
|
93 |
|
|
94 |
`ftcache.c' needs `ftglyph.c'
|
|
95 |
`ftfstype.c' needs `fttype1.c'
|
|
96 |
`ftglyph.c' needs `ftbitmap.c'
|
|
97 |
`ftstroke.c' needs `ftglyph.c'
|
|
98 |
`ftsynth.c' needs `ftbitmap.c'
|
|
99 |
|
|
100 |
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
|
|
101 |
`truetype.c' needs `sfnt.c' and `psnames.c'
|
|
102 |
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
|
|
103 |
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
|
104 |
`type42.c' needs `truetype.c'
|
|
105 |
|
|
106 |
To use `ftbzip2.c', an application must be linked with a library
|
|
107 |
which implements bzip2 support (and the bzip2 header files must
|
|
108 |
be available also during compilation).
|
|
109 |
|
|
110 |
|
|
111 |
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
|
112 |
of the drivers, renderers, and optional modules; a detailed
|
|
113 |
description of the various base extension is given in the top-level
|
|
114 |
file `modules.cfg'.
|
|
115 |
|
|
116 |
You are done. In case of problems, see the archives of the FreeType
|
|
117 |
development mailing list.
|
|
118 |
|
|
119 |
|
|
120 |
II. Support for flat-directory compilation
|
|
121 |
------------------------------------------
|
|
122 |
|
|
123 |
It is possible to put all FreeType 2 source files into a single
|
|
124 |
directory, with the *exception* of the `include' hierarchy.
|
|
125 |
|
|
126 |
1. Copy all files in current directory
|
|
127 |
|
|
128 |
cp freetype2/src/base/*.[hc] .
|
|
129 |
cp freetype2/src/raster1/*.[hc] .
|
|
130 |
cp freetype2/src/smooth/*.[hc] .
|
|
131 |
etc.
|
|
132 |
|
|
133 |
2. Compile sources
|
|
134 |
|
|
135 |
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
|
|
136 |
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
|
|
137 |
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
|
|
138 |
cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
|
|
139 |
etc.
|
|
140 |
|
|
141 |
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
|
142 |
was required in previous releases of FreeType 2).
|
|
143 |
|
|
144 |
----------------------------------------------------------------------
|
|
145 |
|
|
146 |
Copyright 2003, 2005, 2006, 2009, 2010 by
|
|
147 |
David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
148 |
|
|
149 |
This file is part of the FreeType project, and may only be used,
|
|
150 |
modified, and distributed under the terms of the FreeType project
|
|
151 |
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
|
152 |
this file you indicate that you have read the license and understand
|
|
153 |
and accept it fully.
|
|
154 |
|
|
155 |
|
|
156 |
--- end of INSTALL.ANY ---
|