|
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 --- |