blob: aded92e5e922f4ce34cb1cda158e779fc1ff3a9a [file] [log] [blame]
Werner Lemberg59939242006-01-31 20:17:42 +00001# modules.cfg
2#
Werner Lembergd0cfb4e2022-01-11 10:54:10 +01003# Copyright (C) 2005-2022 by
Werner Lemberg59939242006-01-31 20:17:42 +00004# 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
Werner Lemberg392cf222015-06-25 13:04:57 +020022# in the file `include/freetype/config/ftoption.h'.
Werner Lemberg59939242006-01-31 20:17:42 +000023
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#
Ewald Hew94f6d572017-10-16 11:48:31 +080044# This driver needs the `sfnt', `psaux', `pshinter', and `psnames' modules.
Werner Lemberg59939242006-01-31 20:17:42 +000045FONT_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#
Werner Lemberg930e9bf2011-11-26 13:38:26 +010057# This driver needs the `truetype' and `psaux' modules.
Werner Lemberg59939242006-01-31 20:17:42 +000058FONT_MODULES += type42
59
60# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
61# also.
62FONT_MODULES += winfonts
63
Werner Lembergccec8892018-03-08 06:09:17 +010064# PCF font driver. If debugging and tracing is enabled, needs `ftbitmap.c'.
Werner Lemberg59939242006-01-31 20:17:42 +000065FONT_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
Werner Lemberg392cf222015-06-25 13:04:57 +020088# controlled in file include/freetype/config/ftoption.h
Werner Lemberg59939242006-01-31 20:17:42 +000089# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
90
91
92####
93#### raster modules -- at least one is required for vector font formats
94####
95
Werner Lemberg59939242006-01-31 20:17:42 +000096# Anti-aliasing rasterizer.
97RASTER_MODULES += smooth
98
Alexei Podtelezhnikov81852fb2021-05-18 22:18:17 -040099# Monochrome rasterizer.
100RASTER_MODULES += raster
101
Moazin Khatti0bf49bd2021-12-25 20:14:11 -0800102# OT-SVG.
103RASTER_MODULES += svg
104
Anuj Verma879ca872020-08-19 16:57:38 +0530105# Signed distance field rasterizer.
106RASTER_MODULES += sdf
107
Werner Lemberg59939242006-01-31 20:17:42 +0000108
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
Werner Lembergccec8892018-03-08 06:09:17 +0100115# include/freetype/ftcache.h. Needs `ftglyph.c'.
Werner Lemberg59939242006-01-31 20:17:42 +0000116AUX_MODULES += cache
117
Werner Lembergccec8892018-03-08 06:09:17 +0100118# TrueType GX/AAT table validation. Needs `ftgxval.c' below.
Werner Lemberg3ec64652016-08-28 11:02:00 +0200119#
Werner Lemberg59939242006-01-31 20:17:42 +0000120# AUX_MODULES += gxvalid
121
122# Support for streams compressed with gzip (files with suffix .gz).
123#
Werner Lemberg392cf222015-06-25 13:04:57 +0200124# See include/freetype/ftgzip.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000125AUX_MODULES += gzip
126
127# Support for streams compressed with LZW (files with suffix .Z).
128#
Werner Lemberg392cf222015-06-25 13:04:57 +0200129# See include/freetype/ftlzw.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000130AUX_MODULES += lzw
131
Joel Klingheded913c22010-12-31 16:59:33 +0100132# Support for streams compressed with bzip2 (files with suffix .bz2).
133#
Werner Lemberg392cf222015-06-25 13:04:57 +0200134# See include/freetype/ftbzip2.h for the API.
Joel Klingheded913c22010-12-31 16:59:33 +0100135AUX_MODULES += bzip2
136
Werner Lembergccec8892018-03-08 06:09:17 +0100137# OpenType table validation. Needs `ftotval.c' below.
Werner Lemberg59939242006-01-31 20:17:42 +0000138#
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#
Werner Lemberg392cf222015-06-25 13:04:57 +0200159# See include/freetype/ftbbox.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000160BASE_EXTENSIONS += ftbbox.c
161
162# Access BDF-specific strings. Needs BDF font driver.
163#
Werner Lemberg392cf222015-06-25 13:04:57 +0200164# See include/freetype/ftbdf.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000165BASE_EXTENSIONS += ftbdf.c
166
167# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
Werner Lemberg9884fae2006-09-29 22:13:21 +0000168# 8bpp format, and for emboldening of bitmap glyphs.
Werner Lemberg59939242006-01-31 20:17:42 +0000169#
Werner Lemberg392cf222015-06-25 13:04:57 +0200170# See include/freetype/ftbitmap.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000171BASE_EXTENSIONS += ftbitmap.c
172
Werner Lemberg5184ed62009-01-22 10:13:59 +0000173# Access CID font information.
174#
Werner Lemberg392cf222015-06-25 13:04:57 +0200175# See include/freetype/ftcid.h for the API.
Werner Lemberg5184ed62009-01-22 10:13:59 +0000176BASE_EXTENSIONS += ftcid.c
177
Werner Lembergccec8892018-03-08 06:09:17 +0100178# Access FSType information. Needs `fttype1.c'.
Werner Lemberg5184ed62009-01-22 10:13:59 +0000179#
Werner Lemberg392cf222015-06-25 13:04:57 +0200180# See include/freetype/freetype.h for the API.
Werner Lemberg5184ed62009-01-22 10:13:59 +0000181BASE_EXTENSIONS += ftfstype.c
182
183# Support for GASP table queries.
184#
Werner Lemberg392cf222015-06-25 13:04:57 +0200185# See include/freetype/ftgasp.h for the API.
Werner Lemberg5184ed62009-01-22 10:13:59 +0000186BASE_EXTENSIONS += ftgasp.c
187
Werner Lembergccec8892018-03-08 06:09:17 +0100188# Convenience functions to handle glyphs. Needs `ftbitmap.c'.
Werner Lemberg59939242006-01-31 20:17:42 +0000189#
Werner Lemberg392cf222015-06-25 13:04:57 +0200190# See include/freetype/ftglyph.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000191BASE_EXTENSIONS += ftglyph.c
192
Werner Lemberg5184ed62009-01-22 10:13:59 +0000193# Interface for gxvalid module.
Werner Lemberg59939242006-01-31 20:17:42 +0000194#
Werner Lemberg392cf222015-06-25 13:04:57 +0200195# See include/freetype/ftgxval.h for the API.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +0000196BASE_EXTENSIONS += ftgxval.c
Werner Lemberg59939242006-01-31 20:17:42 +0000197
198# Multiple Master font interface.
199#
Werner Lemberg392cf222015-06-25 13:04:57 +0200200# See include/freetype/ftmm.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000201BASE_EXTENSIONS += ftmm.c
202
Werner Lemberg5184ed62009-01-22 10:13:59 +0000203# Interface for otvalid module.
Werner Lemberg59939242006-01-31 20:17:42 +0000204#
Werner Lemberg392cf222015-06-25 13:04:57 +0200205# See include/freetype/ftotval.h for the API.
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +0000206BASE_EXTENSIONS += ftotval.c
Werner Lemberg59939242006-01-31 20:17:42 +0000207
Werner Lemberg5184ed62009-01-22 10:13:59 +0000208# Support for FT_Face_CheckTrueTypePatents.
209#
Werner Lemberg392cf222015-06-25 13:04:57 +0200210# See include/freetype/freetype.h for the API.
Werner Lemberg5184ed62009-01-22 10:13:59 +0000211BASE_EXTENSIONS += ftpatent.c
212
Werner Lemberg59939242006-01-31 20:17:42 +0000213# Interface for accessing PFR-specific data. Needs PFR font driver.
214#
Werner Lemberg392cf222015-06-25 13:04:57 +0200215# See include/freetype/ftpfr.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000216BASE_EXTENSIONS += ftpfr.c
217
Werner Lembergccec8892018-03-08 06:09:17 +0100218# Path stroker. Needs `ftglyph.c'.
Werner Lemberg59939242006-01-31 20:17:42 +0000219#
Werner Lemberg392cf222015-06-25 13:04:57 +0200220# See include/freetype/ftstroke.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000221BASE_EXTENSIONS += ftstroke.c
222
Werner Lembergccec8892018-03-08 06:09:17 +0100223# Support for synthetic emboldening and slanting of fonts. Needs
224# `ftbitmap.c'.
Werner Lemberg59939242006-01-31 20:17:42 +0000225#
Werner Lemberg392cf222015-06-25 13:04:57 +0200226# See include/freetype/ftsynth.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000227BASE_EXTENSIONS += ftsynth.c
228
229# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
230# fonts.
231#
Werner Lemberg392cf222015-06-25 13:04:57 +0200232# See include/freetype/t1tables.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000233BASE_EXTENSIONS += fttype1.c
234
235# Interface for accessing data specific to Windows FNT files. Needs winfnt
236# driver.
237#
Werner Lemberg392cf222015-06-25 13:04:57 +0200238# See include/freetype/ftwinfnt.h for the API.
Werner Lemberg59939242006-01-31 20:17:42 +0000239BASE_EXTENSIONS += ftwinfnt.c
240
Werner Lemberg59939242006-01-31 20:17:42 +0000241####
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