3 # Copyright (C) 2005-2020 by
4 # David Turner, Robert Wilhelm, and Werner Lemberg.
6 # This file is part of the FreeType project, and may only be used, modified,
7 # and distributed under the terms of the FreeType project license,
8 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
9 # indicate that you have read the license and understand and accept it
13 # In case you compile the FreeType library with GNU make or makepp, this
14 # file controls which components are built into the library. Otherwise,
15 # please read this file for information on the various modules and its
16 # dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
18 # To deactivate a module, simply comment out the corresponding line. To
19 # activate a module, remove the comment character.
21 # Note that many modules and components are further controlled with macros
22 # in the file `include/freetype/config/ftoption.h'.
26 #### font modules -- at least one is required
28 #### The order given here (from top to down) is the order used for testing
29 #### font formats in the compiled library.
32 # TrueType font driver.
34 # This driver needs the `sfnt' module.
35 FONT_MODULES += truetype
37 # PostScript Type 1 font driver.
39 # This driver needs the `psaux', `pshinter', and `psnames' modules.
42 # CFF/OpenType font driver.
44 # This driver needs the `sfnt', `psaux', `pshinter', and `psnames' modules.
47 # Type 1 CID-keyed font driver.
49 # This driver needs the `psaux', `pshinter', and `psnames' modules.
52 # PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
55 # PostScript Type 42 font driver.
57 # This driver needs the `truetype' and `psaux' modules.
58 FONT_MODULES += type42
60 # Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
62 FONT_MODULES += winfonts
64 # PCF font driver. If debugging and tracing is enabled, needs `ftbitmap.c'.
67 # BDF font driver. See optional extension ftbdf.c below also.
70 # SFNT files support. If used without `truetype' or `cff', it supports
71 # bitmap-only fonts within an SFNT wrapper.
73 # This driver needs the `psnames' module.
81 # FreeType's auto hinter.
82 HINTING_MODULES += autofit
85 HINTING_MODULES += pshinter
87 # The TrueType hinting engine doesn't have a module of its own but is
88 # controlled in file include/freetype/config/ftoption.h
89 # (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
93 #### raster modules -- at least one is required for vector font formats
96 # Monochrome rasterizer.
97 RASTER_MODULES += raster
99 # Anti-aliasing rasterizer.
100 RASTER_MODULES += smooth
104 #### auxiliary modules
107 # FreeType's cache sub-system (quite stable but still in beta -- this means
108 # that its public API is subject to change if necessary). See
109 # include/freetype/ftcache.h. Needs `ftglyph.c'.
112 # TrueType GX/AAT table validation. Needs `ftgxval.c' below.
114 # AUX_MODULES += gxvalid
116 # Support for streams compressed with gzip (files with suffix .gz).
118 # See include/freetype/ftgzip.h for the API.
121 # Support for streams compressed with LZW (files with suffix .Z).
123 # See include/freetype/ftlzw.h for the API.
126 # Support for streams compressed with bzip2 (files with suffix .bz2).
128 # See include/freetype/ftbzip2.h for the API.
131 # OpenType table validation. Needs `ftotval.c' below.
133 # AUX_MODULES += otvalid
135 # Auxiliary PostScript driver component to share common code.
137 # This module depends on `psnames'.
140 # Support for PostScript glyph names.
142 # This module can be controlled in ftconfig.h
143 # (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
144 AUX_MODULES += psnames
148 #### base module extensions
151 # Exact bounding box calculation.
153 # See include/freetype/ftbbox.h for the API.
154 BASE_EXTENSIONS += ftbbox.c
156 # Access BDF-specific strings. Needs BDF font driver.
158 # See include/freetype/ftbdf.h for the API.
159 BASE_EXTENSIONS += ftbdf.c
161 # Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
162 # 8bpp format, and for emboldening of bitmap glyphs.
164 # See include/freetype/ftbitmap.h for the API.
165 BASE_EXTENSIONS += ftbitmap.c
167 # Access CID font information.
169 # See include/freetype/ftcid.h for the API.
170 BASE_EXTENSIONS += ftcid.c
172 # Access FSType information. Needs `fttype1.c'.
174 # See include/freetype/freetype.h for the API.
175 BASE_EXTENSIONS += ftfstype.c
177 # Support for GASP table queries.
179 # See include/freetype/ftgasp.h for the API.
180 BASE_EXTENSIONS += ftgasp.c
182 # Convenience functions to handle glyphs. Needs `ftbitmap.c'.
184 # See include/freetype/ftglyph.h for the API.
185 BASE_EXTENSIONS += ftglyph.c
187 # Interface for gxvalid module.
189 # See include/freetype/ftgxval.h for the API.
190 BASE_EXTENSIONS += ftgxval.c
192 # Multiple Master font interface.
194 # See include/freetype/ftmm.h for the API.
195 BASE_EXTENSIONS += ftmm.c
197 # Interface for otvalid module.
199 # See include/freetype/ftotval.h for the API.
200 BASE_EXTENSIONS += ftotval.c
202 # Support for FT_Face_CheckTrueTypePatents.
204 # See include/freetype/freetype.h for the API.
205 BASE_EXTENSIONS += ftpatent.c
207 # Interface for accessing PFR-specific data. Needs PFR font driver.
209 # See include/freetype/ftpfr.h for the API.
210 BASE_EXTENSIONS += ftpfr.c
212 # Path stroker. Needs `ftglyph.c'.
214 # See include/freetype/ftstroke.h for the API.
215 BASE_EXTENSIONS += ftstroke.c
217 # Support for synthetic emboldening and slanting of fonts. Needs
220 # See include/freetype/ftsynth.h for the API.
221 BASE_EXTENSIONS += ftsynth.c
223 # Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
226 # See include/freetype/t1tables.h for the API.
227 BASE_EXTENSIONS += fttype1.c
229 # Interface for accessing data specific to Windows FNT files. Needs winfnt
232 # See include/freetype/ftwinfnt.h for the API.
233 BASE_EXTENSIONS += ftwinfnt.c
236 #### The components `ftsystem.c' (for memory allocation and stream I/O
237 #### management) and `ftdebug.c' (for emitting debug messages to the user)
238 #### are controlled with the following variables.
240 #### ftsystem.c: $(FTSYS_SRC)
241 #### ftdebug.c: $(FTDEBUG_SRC)
243 #### Please refer to docs/CUSTOMIZE for details.