xref: /aosp_15_r20/external/freetype/modules.cfg (revision 63949dbd25bcc50c4e1178497ff9e9574d44fc5a)
1# modules.cfg
2#
3# Copyright (C) 2005-2023 by
4# David Turner, Robert Wilhelm, and Werner Lemberg.
5#
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
10# fully.
11#
12#
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'.
17#
18# To deactivate a module, simply comment out the corresponding line.  To
19# activate a module, remove the comment character.
20#
21# Note that many modules and components are further controlled with macros
22# in the file `include/freetype/config/ftoption.h'.
23
24
25####
26#### font modules -- at least one is required
27####
28####   The order given here (from top to down) is the order used for testing
29####   font formats in the compiled library.
30####
31
32# TrueType font driver.
33#
34# This driver needs the `sfnt' module.
35FONT_MODULES += truetype
36
37# PostScript Type 1 font driver.
38#
39# This driver needs the `psaux', `pshinter', and `psnames' modules.
40FONT_MODULES += type1
41
42# CFF/OpenType font driver.
43#
44# This driver needs the `sfnt', `psaux', `pshinter', and `psnames' modules.
45FONT_MODULES += cff
46
47# Type 1 CID-keyed font driver.
48#
49# This driver needs the `psaux', `pshinter', and `psnames' modules.
50FONT_MODULES += cid
51
52# PFR/TrueDoc font driver.  See optional extension ftpfr.c below also.
53FONT_MODULES += pfr
54
55# PostScript Type 42 font driver.
56#
57# This driver needs the `truetype' and `psaux' modules.
58FONT_MODULES += type42
59
60# Windows FONT/FNT font driver.  See optional extension ftwinfnt.c below
61# also.
62FONT_MODULES += winfonts
63
64# PCF font driver.  If debugging and tracing is enabled, needs `ftbitmap.c'.
65FONT_MODULES += pcf
66
67# BDF font driver.  See optional extension ftbdf.c below also.
68FONT_MODULES += bdf
69
70# SFNT files support.  If used without `truetype' or `cff', it supports
71# bitmap-only fonts within an SFNT wrapper.
72#
73# This driver needs the `psnames' module.
74FONT_MODULES += sfnt
75
76
77####
78#### hinting modules
79####
80
81# FreeType's auto hinter.
82HINTING_MODULES += autofit
83
84# PostScript hinter.
85HINTING_MODULES += pshinter
86
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).
90
91
92####
93#### raster modules -- at least one is required for vector font formats
94####
95
96# Anti-aliasing rasterizer.
97RASTER_MODULES += smooth
98
99# Monochrome rasterizer.
100RASTER_MODULES += raster
101
102# OT-SVG.
103RASTER_MODULES += svg
104
105# Signed distance field rasterizer.
106RASTER_MODULES += sdf
107
108
109####
110#### auxiliary modules
111####
112
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'.
116AUX_MODULES += cache
117
118# TrueType GX/AAT table validation.  Needs `ftgxval.c' below.
119#
120# AUX_MODULES += gxvalid
121
122# Support for streams compressed with gzip (files with suffix .gz).
123#
124# See include/freetype/ftgzip.h for the API.
125AUX_MODULES += gzip
126
127# Support for streams compressed with LZW (files with suffix .Z).
128#
129# See include/freetype/ftlzw.h for the API.
130AUX_MODULES += lzw
131
132# Support for streams compressed with bzip2 (files with suffix .bz2).
133#
134# See include/freetype/ftbzip2.h for the API.
135AUX_MODULES += bzip2
136
137# OpenType table validation.  Needs `ftotval.c' below.
138#
139# AUX_MODULES += otvalid
140
141# Auxiliary PostScript driver component to share common code.
142#
143# This module depends on `psnames'.
144AUX_MODULES += psaux
145
146# Support for PostScript glyph names.
147#
148# This module can be controlled in ftconfig.h
149# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
150AUX_MODULES += psnames
151
152
153####
154#### base module extensions
155####
156
157# Exact bounding box calculation.
158#
159# See include/freetype/ftbbox.h for the API.
160BASE_EXTENSIONS += ftbbox.c
161
162# Access BDF-specific strings.  Needs BDF font driver.
163#
164# See include/freetype/ftbdf.h for the API.
165BASE_EXTENSIONS += ftbdf.c
166
167# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
168# 8bpp format, and for emboldening of bitmap glyphs.
169#
170# See include/freetype/ftbitmap.h for the API.
171BASE_EXTENSIONS += ftbitmap.c
172
173# Access CID font information.
174#
175# See include/freetype/ftcid.h for the API.
176BASE_EXTENSIONS += ftcid.c
177
178# Access FSType information.  Needs `fttype1.c'.
179#
180# See include/freetype/freetype.h for the API.
181BASE_EXTENSIONS += ftfstype.c
182
183# Support for GASP table queries.
184#
185# See include/freetype/ftgasp.h for the API.
186BASE_EXTENSIONS += ftgasp.c
187
188# Convenience functions to handle glyphs.  Needs `ftbitmap.c'.
189#
190# See include/freetype/ftglyph.h for the API.
191BASE_EXTENSIONS += ftglyph.c
192
193# Interface for gxvalid module.
194#
195# See include/freetype/ftgxval.h for the API.
196BASE_EXTENSIONS += ftgxval.c
197
198# Multiple Master font interface.
199#
200# See include/freetype/ftmm.h for the API.
201BASE_EXTENSIONS += ftmm.c
202
203# Interface for otvalid module.
204#
205# See include/freetype/ftotval.h for the API.
206BASE_EXTENSIONS += ftotval.c
207
208# Support for FT_Face_CheckTrueTypePatents.
209#
210# See include/freetype/freetype.h for the API.
211BASE_EXTENSIONS += ftpatent.c
212
213# Interface for accessing PFR-specific data.  Needs PFR font driver.
214#
215# See include/freetype/ftpfr.h for the API.
216BASE_EXTENSIONS += ftpfr.c
217
218# Path stroker.  Needs `ftglyph.c'.
219#
220# See include/freetype/ftstroke.h for the API.
221BASE_EXTENSIONS += ftstroke.c
222
223# Support for synthetic emboldening and slanting of fonts.  Needs
224# `ftbitmap.c'.
225#
226# See include/freetype/ftsynth.h for the API.
227BASE_EXTENSIONS += ftsynth.c
228
229# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
230# fonts.
231#
232# See include/freetype/t1tables.h for the API.
233BASE_EXTENSIONS += fttype1.c
234
235# Interface for accessing data specific to Windows FNT files.  Needs winfnt
236# driver.
237#
238# See include/freetype/ftwinfnt.h for the API.
239BASE_EXTENSIONS += ftwinfnt.c
240
241####
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.
245####
246####   ftsystem.c:  $(FTSYS_SRC)
247####   ftdebug.c:   $(FTDEBUG_SRC)
248####
249#### Please refer to docs/CUSTOMIZE for details.
250####
251
252
253# EOF
254