1Instructions on how to build FreeType with your own build tool 2============================================================== 3 4See the file `CUSTOMIZE' to learn how to customize FreeType to 5specific environments. 6 7 8I. Standard procedure 9--------------------- 10 11 * If you use macro names for FreeType header files (while mandatory 12 in earlier versions, this is now optional since FreeType version 13 2.6.1) it is necessary to disable pre-compiled headers. This is 14 very important for Visual C++, because lines like 15 16 #include FT_FREETYPE_H 17 18 are not correctly supported by this compiler while being ISO C 19 compliant! 20 21 * You need to add the directory `include' to your include path when 22 compiling the library. 23 24 * FreeType 2 is made of several components; each of them is located 25 in a subdirectory of `freetype/src'. For example, 26 `freetype/src/truetype/' contains the TrueType font driver. 27 28 * DO NOT COMPILE ALL C FILES! Rather, compile the following ones. 29 30 -- base components (required) 31 32 src/base/ftsystem.c 33 src/base/ftinit.c 34 src/base/ftdebug.c 35 36 src/base/ftbase.c 37 38 src/base/ftbbox.c -- recommended, see <ftbbox.h> 39 src/base/ftglyph.c -- recommended, see <ftglyph.h> 40 41 src/base/ftbdf.c -- optional, see <ftbdf.h> 42 src/base/ftbitmap.c -- optional, see <ftbitmap.h> 43 src/base/ftcid.c -- optional, see <ftcid.h> 44 src/base/ftfstype.c -- optional 45 src/base/ftgasp.c -- optional, see <ftgasp.h> 46 src/base/ftgxval.c -- optional, see <ftgxval.h> 47 src/base/ftmm.c -- optional, see <ftmm.h> 48 src/base/ftotval.c -- optional, see <ftotval.h> 49 src/base/ftpatent.c -- optional 50 src/base/ftpfr.c -- optional, see <ftpfr.h> 51 src/base/ftstroke.c -- optional, see <ftstroke.h> 52 src/base/ftsynth.c -- optional, see <ftsynth.h> 53 src/base/fttype1.c -- optional, see <t1tables.h> 54 src/base/ftwinfnt.c -- optional, see <ftwinfnt.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/sdf/sdf.c -- Signed Distance Field driver 77 src/smooth/smooth.c -- anti-aliasing rasterizer 78 79 -- auxiliary modules (optional) 80 81 src/autofit/autofit.c -- auto hinting module 82 src/cache/ftcache.c -- cache sub-system (in beta) 83 src/gzip/ftgzip.c -- support for compressed fonts (.gz) 84 src/lzw/ftlzw.c -- support for compressed fonts (.Z) 85 src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2) 86 src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation 87 src/otvalid/otvalid.c -- OpenType table validation 88 src/psaux/psaux.c -- PostScript Type 1 parsing 89 src/pshinter/pshinter.c -- PS hinting module 90 src/psnames/psnames.c -- PostScript glyph names support 91 92 93 Notes: 94 95 `ftcache.c' needs `ftglyph.c' 96 `ftfstype.c' needs `fttype1.c' 97 `ftglyph.c' needs `ftbitmap.c' 98 `ftstroke.c' needs `ftglyph.c' 99 `ftsynth.c' needs `ftbitmap.c' 100 101 `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c' 102 `truetype.c' needs `sfnt.c' and `psnames.c' 103 `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c' 104 `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c' 105 `type42.c' needs `truetype.c' 106 107 Please consult the central `include/freetype/config/ftoption.h' 108 configuration file for details on additional libraries necessary 109 for some optional features. 110 111 112 Read the file `CUSTOMIZE' in case you want to compile only a subset 113 of the drivers, renderers, and optional modules; a detailed 114 description of the various base extension is given in the top-level 115 file `modules.cfg'. 116 117 You are done. In case of problems, see the archives of the FreeType 118 development mailing list. 119 120 121II. Support for flat-directory compilation 122------------------------------------------ 123 124 It is possible to put all FreeType 2 source files into a single 125 directory, with the *exception* of the `include' hierarchy. 126 127 1. Copy all files in current directory 128 129 cp freetype/src/base/*.[hc] . 130 cp freetype/src/raster1/*.[hc] . 131 cp freetype/src/smooth/*.[hc] . 132 etc. 133 134 2. Compile sources 135 136 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftsystem.c 137 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftinit.c 138 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftdebug.c 139 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftbase.c 140 etc. 141 142 You don't need to define the FT_FLAT_COMPILATION macro (as this 143 was required in previous releases of FreeType 2). 144 145---------------------------------------------------------------------- 146 147Copyright (C) 2003-2023 by 148David Turner, Robert Wilhelm, and Werner Lemberg. 149 150This file is part of the FreeType project, and may only be used, 151modified, and distributed under the terms of the FreeType project 152license, LICENSE.TXT. By continuing to use, modify, or distribute 153this file you indicate that you have read the license and understand 154and accept it fully. 155 156 157--- end of INSTALL.ANY --- 158