3 # Copyright 2005-2018 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.
40 # No FT_CONFIG_OPTION_PIC support.
43 # CFF/OpenType font driver.
45 # This driver needs the `sfnt', `psaux', `pshinter', and `psnames' modules.
48 # Type 1 CID-keyed font driver.
50 # This driver needs the `psaux', `pshinter', and `psnames' modules.
51 # No FT_CONFIG_OPTION_PIC support.
54 # PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
55 # No FT_CONFIG_OPTION_PIC support.
58 # PostScript Type 42 font driver.
60 # This driver needs the `truetype' and `psaux' modules.
61 # No FT_CONFIG_OPTION_PIC support.
62 FONT_MODULES += type42
64 # Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
66 # No FT_CONFIG_OPTION_PIC support.
67 FONT_MODULES += winfonts
69 # PCF font driver. If debugging and tracing is enabled, needs `ftbitmap.c'.
70 # No FT_CONFIG_OPTION_PIC support.
73 # BDF font driver. See optional extension ftbdf.c below also.
74 # No FT_CONFIG_OPTION_PIC support.
77 # SFNT files support. If used without `truetype' or `cff', it supports
78 # bitmap-only fonts within an SFNT wrapper.
80 # This driver needs the `psnames' module.
88 # FreeType's auto hinter.
89 HINTING_MODULES += autofit
92 HINTING_MODULES += pshinter
94 # The TrueType hinting engine doesn't have a module of its own but is
95 # controlled in file include/freetype/config/ftoption.h
96 # (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
100 #### raster modules -- at least one is required for vector font formats
103 # Monochrome rasterizer.
104 RASTER_MODULES += raster
106 # Anti-aliasing rasterizer.
107 RASTER_MODULES += smooth
111 #### auxiliary modules
114 # FreeType's cache sub-system (quite stable but still in beta -- this means
115 # that its public API is subject to change if necessary). See
116 # include/freetype/ftcache.h. Needs `ftglyph.c'.
117 # No FT_CONFIG_OPTION_PIC support.
120 # TrueType GX/AAT table validation. Needs `ftgxval.c' below.
122 # No FT_CONFIG_OPTION_PIC support.
123 # AUX_MODULES += gxvalid
125 # Support for streams compressed with gzip (files with suffix .gz).
127 # See include/freetype/ftgzip.h for the API.
128 # No FT_CONFIG_OPTION_PIC support.
131 # Support for streams compressed with LZW (files with suffix .Z).
133 # See include/freetype/ftlzw.h for the API.
134 # No FT_CONFIG_OPTION_PIC support.
137 # Support for streams compressed with bzip2 (files with suffix .bz2).
139 # See include/freetype/ftbzip2.h for the API.
140 # No FT_CONFIG_OPTION_PIC support.
143 # OpenType table validation. Needs `ftotval.c' below.
145 # No FT_CONFIG_OPTION_PIC support.
146 # AUX_MODULES += otvalid
148 # Auxiliary PostScript driver component to share common code.
150 # This module depends on `psnames'.
151 # No FT_CONFIG_OPTION_PIC support.
154 # Support for PostScript glyph names.
156 # This module can be controlled in ftconfig.h
157 # (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
158 AUX_MODULES += psnames
162 #### base module extensions
165 # Exact bounding box calculation.
167 # See include/freetype/ftbbox.h for the API.
168 BASE_EXTENSIONS += ftbbox.c
170 # Access BDF-specific strings. Needs BDF font driver.
172 # See include/freetype/ftbdf.h for the API.
173 BASE_EXTENSIONS += ftbdf.c
175 # Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
176 # 8bpp format, and for emboldening of bitmap glyphs.
178 # See include/freetype/ftbitmap.h for the API.
179 BASE_EXTENSIONS += ftbitmap.c
181 # Access CID font information.
183 # See include/freetype/ftcid.h for the API.
184 BASE_EXTENSIONS += ftcid.c
186 # Access FSType information. Needs `fttype1.c'.
188 # See include/freetype/freetype.h for the API.
189 BASE_EXTENSIONS += ftfstype.c
191 # Support for GASP table queries.
193 # See include/freetype/ftgasp.h for the API.
194 BASE_EXTENSIONS += ftgasp.c
196 # Convenience functions to handle glyphs. Needs `ftbitmap.c'.
198 # See include/freetype/ftglyph.h for the API.
199 BASE_EXTENSIONS += ftglyph.c
201 # Interface for gxvalid module.
203 # See include/freetype/ftgxval.h for the API.
204 BASE_EXTENSIONS += ftgxval.c
206 # Multiple Master font interface.
208 # See include/freetype/ftmm.h for the API.
209 BASE_EXTENSIONS += ftmm.c
211 # Interface for otvalid module.
213 # See include/freetype/ftotval.h for the API.
214 BASE_EXTENSIONS += ftotval.c
216 # Support for FT_Face_CheckTrueTypePatents.
218 # See include/freetype/freetype.h for the API.
219 BASE_EXTENSIONS += ftpatent.c
221 # Interface for accessing PFR-specific data. Needs PFR font driver.
223 # See include/freetype/ftpfr.h for the API.
224 BASE_EXTENSIONS += ftpfr.c
226 # Path stroker. Needs `ftglyph.c'.
228 # See include/freetype/ftstroke.h for the API.
229 BASE_EXTENSIONS += ftstroke.c
231 # Support for synthetic emboldening and slanting of fonts. Needs
234 # See include/freetype/ftsynth.h for the API.
235 BASE_EXTENSIONS += ftsynth.c
237 # Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
240 # See include/freetype/t1tables.h for the API.
241 BASE_EXTENSIONS += fttype1.c
243 # Interface for accessing data specific to Windows FNT files. Needs winfnt
246 # See include/freetype/ftwinfnt.h for the API.
247 BASE_EXTENSIONS += ftwinfnt.c
250 #### The components `ftsystem.c' (for memory allocation and stream I/O
251 #### management) and `ftdebug.c' (for emitting debug messages to the user)
252 #### are controlled with the following variables.
254 #### ftsystem.c: $(FTSYS_SRC)
255 #### ftdebug.c: $(FTDEBUG_SRC)
257 #### Please refer to docs/CUSTOMIZE for details.