3 # Copyright (C) 2005-2023 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 # Anti-aliasing rasterizer.
97 RASTER_MODULES += smooth
99 # Monochrome rasterizer.
100 RASTER_MODULES += raster
103 RASTER_MODULES += svg
105 # Signed distance field rasterizer.
106 RASTER_MODULES += sdf
110 #### auxiliary modules
113 # FreeType's cache sub-system (quite stable but still in beta -- this means
114 # that its public API is subject to change if necessary). See
115 # include/freetype/ftcache.h. Needs `ftglyph.c'.
118 # TrueType GX/AAT table validation. Needs `ftgxval.c' below.
120 # AUX_MODULES += gxvalid
122 # Support for streams compressed with gzip (files with suffix .gz).
124 # See include/freetype/ftgzip.h for the API.
127 # Support for streams compressed with LZW (files with suffix .Z).
129 # See include/freetype/ftlzw.h for the API.
132 # Support for streams compressed with bzip2 (files with suffix .bz2).
134 # See include/freetype/ftbzip2.h for the API.
137 # OpenType table validation. Needs `ftotval.c' below.
139 # AUX_MODULES += otvalid
141 # Auxiliary PostScript driver component to share common code.
143 # This module depends on `psnames'.
146 # Support for PostScript glyph names.
148 # This module can be controlled in ftconfig.h
149 # (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
150 AUX_MODULES += psnames
154 #### base module extensions
157 # Exact bounding box calculation.
159 # See include/freetype/ftbbox.h for the API.
160 BASE_EXTENSIONS += ftbbox.c
162 # Access BDF-specific strings. Needs BDF font driver.
164 # See include/freetype/ftbdf.h for the API.
165 BASE_EXTENSIONS += ftbdf.c
167 # Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
168 # 8bpp format, and for emboldening of bitmap glyphs.
170 # See include/freetype/ftbitmap.h for the API.
171 BASE_EXTENSIONS += ftbitmap.c
173 # Access CID font information.
175 # See include/freetype/ftcid.h for the API.
176 BASE_EXTENSIONS += ftcid.c
178 # Access FSType information. Needs `fttype1.c'.
180 # See include/freetype/freetype.h for the API.
181 BASE_EXTENSIONS += ftfstype.c
183 # Support for GASP table queries.
185 # See include/freetype/ftgasp.h for the API.
186 BASE_EXTENSIONS += ftgasp.c
188 # Convenience functions to handle glyphs. Needs `ftbitmap.c'.
190 # See include/freetype/ftglyph.h for the API.
191 BASE_EXTENSIONS += ftglyph.c
193 # Interface for gxvalid module.
195 # See include/freetype/ftgxval.h for the API.
196 BASE_EXTENSIONS += ftgxval.c
198 # Multiple Master font interface.
200 # See include/freetype/ftmm.h for the API.
201 BASE_EXTENSIONS += ftmm.c
203 # Interface for otvalid module.
205 # See include/freetype/ftotval.h for the API.
206 BASE_EXTENSIONS += ftotval.c
208 # Support for FT_Face_CheckTrueTypePatents.
210 # See include/freetype/freetype.h for the API.
211 BASE_EXTENSIONS += ftpatent.c
213 # Interface for accessing PFR-specific data. Needs PFR font driver.
215 # See include/freetype/ftpfr.h for the API.
216 BASE_EXTENSIONS += ftpfr.c
218 # Path stroker. Needs `ftglyph.c'.
220 # See include/freetype/ftstroke.h for the API.
221 BASE_EXTENSIONS += ftstroke.c
223 # Support for synthetic emboldening and slanting of fonts. Needs
226 # See include/freetype/ftsynth.h for the API.
227 BASE_EXTENSIONS += ftsynth.c
229 # Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
232 # See include/freetype/t1tables.h for the API.
233 BASE_EXTENSIONS += fttype1.c
235 # Interface for accessing data specific to Windows FNT files. Needs winfnt
238 # See include/freetype/ftwinfnt.h for the API.
239 BASE_EXTENSIONS += ftwinfnt.c
242 #### The components `ftsystem.c' (for memory allocation and stream I/O
243 #### management) and `ftdebug.c' (for emitting debug messages to the user)
244 #### are controlled with the following variables.
246 #### ftsystem.c: $(FTSYS_SRC)
247 #### ftdebug.c: $(FTDEBUG_SRC)
249 #### Please refer to docs/CUSTOMIZE for details.