< prev index next >

src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h

Print this page


   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 


< prev index next >