1 /****************************************************************************
2 *
3 * ftoption.h
4 *
5 * User-selectable configuration macros (specification only).
6 *
7 * Copyright (C) 1996-2019 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19 #ifndef FTOPTION_H_
20 #define FTOPTION_H_
21
22
23 #include <ft2build.h>
24
25
26 FT_BEGIN_HEADER
27
277
278 /**************************************************************************
279 *
280 * HarfBuzz support.
281 *
282 * FreeType uses the HarfBuzz library to improve auto-hinting of OpenType
283 * fonts. If available, many glyphs not directly addressable by a font's
284 * character map will be hinted also.
285 *
286 * Define this macro if you want to enable this 'feature'.
287 *
288 * If you use a build system like cmake or the `configure` script,
289 * options set by those programs have precedence, overwriting the value
290 * here with the configured one.
291 */
292 /* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
293
294
295 /**************************************************************************
296 *
297 * Glyph Postscript Names handling
298 *
299 * By default, FreeType 2 is compiled with the 'psnames' module. This
300 * module is in charge of converting a glyph name string into a Unicode
301 * value, or return a Macintosh standard glyph name for the use with the
302 * TrueType 'post' table.
303 *
304 * Undefine this macro if you do not want 'psnames' compiled in your
305 * build of FreeType. This has the following effects:
306 *
307 * - The TrueType driver will provide its own set of glyph names, if you
308 * build it to support postscript names in the TrueType 'post' table,
309 * but will not synthesize a missing Unicode charmap.
310 *
311 * - The Type~1 driver will not be able to synthesize a Unicode charmap
312 * out of the glyphs found in the fonts.
313 *
314 * You would normally undefine this configuration macro when building a
315 * version of FreeType that doesn't contain a Type~1 or CFF driver.
316 */
854 /*************************************************************************/
855 /**** ****/
856 /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
857 /**** ****/
858 /*************************************************************************/
859 /*************************************************************************/
860
861
862 /**************************************************************************
863 *
864 * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script
865 * support.
866 */
867 #define AF_CONFIG_OPTION_CJK
868
869
870 /**************************************************************************
871 *
872 * Compile 'autofit' module with fallback Indic script support, covering
873 * some scripts that the 'latin' submodule of the 'autofit' module doesn't
874 * (yet) handle.
875 */
876 #define AF_CONFIG_OPTION_INDIC
877
878
879 /**************************************************************************
880 *
881 * Compile 'autofit' module with warp hinting. The idea of the warping
882 * code is to slightly scale and shift a glyph within a single dimension so
883 * that as much of its segments are aligned (more or less) on the grid. To
884 * find out the optimal scaling and shifting value, various parameter
885 * combinations are tried and scored.
886 *
887 * You can switch warping on and off with the `warping` property of the
888 * auto-hinter (see file `ftdriver.h` for more information; by default it
889 * is switched off).
890 *
891 * This experimental option is not active if the rendering mode is
892 * `FT_RENDER_MODE_LIGHT`.
893 */
894 #define AF_CONFIG_OPTION_USE_WARPER
895
896
|
1 /****************************************************************************
2 *
3 * ftoption.h
4 *
5 * User-selectable configuration macros (specification only).
6 *
7 * Copyright (C) 1996-2020 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19 #ifndef FTOPTION_H_
20 #define FTOPTION_H_
21
22
23 #include <ft2build.h>
24
25
26 FT_BEGIN_HEADER
27
277
278 /**************************************************************************
279 *
280 * HarfBuzz support.
281 *
282 * FreeType uses the HarfBuzz library to improve auto-hinting of OpenType
283 * fonts. If available, many glyphs not directly addressable by a font's
284 * character map will be hinted also.
285 *
286 * Define this macro if you want to enable this 'feature'.
287 *
288 * If you use a build system like cmake or the `configure` script,
289 * options set by those programs have precedence, overwriting the value
290 * here with the configured one.
291 */
292 /* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
293
294
295 /**************************************************************************
296 *
297 * Brotli support.
298 *
299 * FreeType uses the Brotli library to provide support for decompressing
300 * WOFF2 streams.
301 *
302 * Define this macro if you want to enable this 'feature'.
303 *
304 * If you use a build system like cmake or the `configure` script,
305 * options set by those programs have precedence, overwriting the value
306 * here with the configured one.
307 */
308 /* #define FT_CONFIG_OPTION_USE_BROTLI */
309
310
311 /**************************************************************************
312 *
313 * Glyph Postscript Names handling
314 *
315 * By default, FreeType 2 is compiled with the 'psnames' module. This
316 * module is in charge of converting a glyph name string into a Unicode
317 * value, or return a Macintosh standard glyph name for the use with the
318 * TrueType 'post' table.
319 *
320 * Undefine this macro if you do not want 'psnames' compiled in your
321 * build of FreeType. This has the following effects:
322 *
323 * - The TrueType driver will provide its own set of glyph names, if you
324 * build it to support postscript names in the TrueType 'post' table,
325 * but will not synthesize a missing Unicode charmap.
326 *
327 * - The Type~1 driver will not be able to synthesize a Unicode charmap
328 * out of the glyphs found in the fonts.
329 *
330 * You would normally undefine this configuration macro when building a
331 * version of FreeType that doesn't contain a Type~1 or CFF driver.
332 */
870 /*************************************************************************/
871 /**** ****/
872 /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
873 /**** ****/
874 /*************************************************************************/
875 /*************************************************************************/
876
877
878 /**************************************************************************
879 *
880 * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script
881 * support.
882 */
883 #define AF_CONFIG_OPTION_CJK
884
885
886 /**************************************************************************
887 *
888 * Compile 'autofit' module with fallback Indic script support, covering
889 * some scripts that the 'latin' submodule of the 'autofit' module doesn't
890 * (yet) handle. Currently, this needs option `AF_CONFIG_OPTION_CJK`.
891 */
892 #ifdef AF_CONFIG_OPTION_CJK
893 #define AF_CONFIG_OPTION_INDIC
894 #endif
895
896
897 /**************************************************************************
898 *
899 * Compile 'autofit' module with warp hinting. The idea of the warping
900 * code is to slightly scale and shift a glyph within a single dimension so
901 * that as much of its segments are aligned (more or less) on the grid. To
902 * find out the optimal scaling and shifting value, various parameter
903 * combinations are tried and scored.
904 *
905 * You can switch warping on and off with the `warping` property of the
906 * auto-hinter (see file `ftdriver.h` for more information; by default it
907 * is switched off).
908 *
909 * This experimental option is not active if the rendering mode is
910 * `FT_RENDER_MODE_LIGHT`.
911 */
912 #define AF_CONFIG_OPTION_USE_WARPER
913
914
|