OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ftoption.h */ | 3 /* ftoption.h */ |
4 /* */ | 4 /* */ |
5 /* User-selectable configuration macros (specification only). */ | 5 /* User-selectable configuration macros (specification only). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2013 by */ | 7 /* Copyright 1996-2014 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
18 | 18 |
19 #ifndef __FTOPTION_H__ | 19 #ifndef __FTOPTION_H__ |
20 #define __FTOPTION_H__ | 20 #define __FTOPTION_H__ |
21 | 21 |
22 | 22 |
23 #include "../../ft2build.h" | 23 #include <ft2build.h> |
24 | 24 |
25 | 25 |
26 FT_BEGIN_HEADER | 26 FT_BEGIN_HEADER |
27 | 27 |
28 /*************************************************************************/ | 28 /*************************************************************************/ |
29 /* */ | 29 /* */ |
30 /* USER-SELECTABLE CONFIGURATION MACROS */ | 30 /* USER-SELECTABLE CONFIGURATION MACROS */ |
31 /* */ | 31 /* */ |
32 /* This file contains the default configuration macro definitions for */ | 32 /* This file contains the default configuration macro definitions for */ |
33 /* a standard build of the FreeType library. There are three ways to */ | 33 /* a standard build of the FreeType library. There are three ways to */ |
34 /* use this file to build project-specific versions of the library: */ | 34 /* use this file to build project-specific versions of the library: */ |
35 /* */ | 35 /* */ |
36 /* - You can modify this file by hand, but this is not recommended in */ | 36 /* - You can modify this file by hand, but this is not recommended in */ |
37 /* cases where you would like to build several versions of the */ | 37 /* cases where you would like to build several versions of the */ |
38 /* library from a single source directory. */ | 38 /* library from a single source directory. */ |
39 /* */ | 39 /* */ |
40 /* - You can put a copy of this file in your build directory, more */ | 40 /* - You can put a copy of this file in your build directory, more */ |
41 /* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */ | 41 /* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */ |
42 /* is the name of a directory that is included _before_ the FreeType */ | 42 /* name of a directory that is included _before_ the FreeType include */ |
43 /* include path during compilation. */ | 43 /* path during compilation. */ |
44 /* */ | 44 /* */ |
45 /* The default FreeType Makefiles and Jamfiles use the build */ | 45 /* The default FreeType Makefiles and Jamfiles use the build */ |
46 /* directory `builds/<system>' by default, but you can easily change */ | 46 /* directory `builds/<system>' by default, but you can easily change */ |
47 /* that for your own projects. */ | 47 /* that for your own projects. */ |
48 /* */ | 48 /* */ |
49 /* - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it */ | 49 /* - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it */ |
50 /* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */ | 50 /* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */ |
51 /* locate this file during the build. For example, */ | 51 /* locate this file during the build. For example, */ |
52 /* */ | 52 /* */ |
53 /* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */ | 53 /* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */ |
54 /* #include <freetype/config/ftheader.h> */ | 54 /* #include <config/ftheader.h> */ |
55 /* */ | 55 /* */ |
56 /* will use `$BUILD/myftoptions.h' instead of this file for macro */ | 56 /* will use `$BUILD/myftoptions.h' instead of this file for macro */ |
57 /* definitions. */ | 57 /* definitions. */ |
58 /* */ | 58 /* */ |
59 /* Note also that you can similarly pre-define the macro */ | 59 /* Note also that you can similarly pre-define the macro */ |
60 /* FT_CONFIG_MODULES_H used to locate the file listing of the modules */ | 60 /* FT_CONFIG_MODULES_H used to locate the file listing of the modules */ |
61 /* that are statically linked to the library at compile time. By */ | 61 /* that are statically linked to the library at compile time. By */ |
62 /* default, this file is <freetype/config/ftmodule.h>. */ | 62 /* default, this file is <config/ftmodule.h>. */ |
63 /* */ | 63 /* */ |
64 /* We highly recommend using the third method whenever possible. */ | 64 /* We highly recommend using the third method whenever possible. */ |
65 /* */ | 65 /* */ |
66 /*************************************************************************/ | 66 /*************************************************************************/ |
67 | 67 |
68 | 68 |
69 /*************************************************************************/ | 69 /*************************************************************************/ |
70 /*************************************************************************/ | 70 /*************************************************************************/ |
71 /**** ****/ | 71 /**** ****/ |
72 /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ | 72 /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ |
73 /**** ****/ | 73 /**** ****/ |
74 /*************************************************************************/ | 74 /*************************************************************************/ |
(...skipping 10 matching lines...) Expand all Loading... |
85 /* */ | 85 /* */ |
86 /* This macro has no impact on the FreeType API, only on its */ | 86 /* This macro has no impact on the FreeType API, only on its */ |
87 /* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */ | 87 /* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */ |
88 /* FT_Render_Glyph still generates a bitmap that is 3 times wider than */ | 88 /* FT_Render_Glyph still generates a bitmap that is 3 times wider than */ |
89 /* the original size in case this macro isn't defined; however, each */ | 89 /* the original size in case this macro isn't defined; however, each */ |
90 /* triplet of subpixels has R=G=B. */ | 90 /* triplet of subpixels has R=G=B. */ |
91 /* */ | 91 /* */ |
92 /* This is done to allow FreeType clients to run unmodified, forcing */ | 92 /* This is done to allow FreeType clients to run unmodified, forcing */ |
93 /* them to display normal gray-level anti-aliased glyphs. */ | 93 /* them to display normal gray-level anti-aliased glyphs. */ |
94 /* */ | 94 /* */ |
95 #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING | 95 /* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ |
96 | 96 |
97 | 97 |
98 /*************************************************************************/ | 98 /*************************************************************************/ |
99 /* */ | 99 /* */ |
100 /* Many compilers provide a non-ANSI 64-bit data type that can be used */ | 100 /* Many compilers provide a non-ANSI 64-bit data type that can be used */ |
101 /* by FreeType to speed up some computations. However, this will create */ | 101 /* by FreeType to speed up some computations. However, this will create */ |
102 /* some problems when compiling the library in strict ANSI mode. */ | 102 /* some problems when compiling the library in strict ANSI mode. */ |
103 /* */ | 103 /* */ |
104 /* For this reason, the use of 64-bit integers is normally disabled when */ | 104 /* For this reason, the use of 64-bit integers is normally disabled when */ |
105 /* the __STDC__ macro is defined. You can however disable this by */ | 105 /* the __STDC__ macro is defined. You can however disable this by */ |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 /* Gzip-compressed file support. */ | 156 /* Gzip-compressed file support. */ |
157 /* */ | 157 /* */ |
158 /* FreeType now handles font files that have been compressed with the */ | 158 /* FreeType now handles font files that have been compressed with the */ |
159 /* `gzip' program. This is mostly used to parse many of the PCF files */ | 159 /* `gzip' program. This is mostly used to parse many of the PCF files */ |
160 /* that come with XFree86. The implementation uses `zlib' to */ | 160 /* that come with XFree86. The implementation uses `zlib' to */ |
161 /* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */ | 161 /* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */ |
162 /* */ | 162 /* */ |
163 /* Define this macro if you want to enable this `feature'. See also */ | 163 /* Define this macro if you want to enable this `feature'. See also */ |
164 /* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */ | 164 /* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */ |
165 /* */ | 165 /* */ |
166 #define FT_CONFIG_OPTION_USE_ZLIB | 166 //#define FT_CONFIG_OPTION_USE_ZLIB |
167 | 167 |
168 | 168 |
169 /*************************************************************************/ | 169 /*************************************************************************/ |
170 /* */ | 170 /* */ |
171 /* ZLib library selection */ | 171 /* ZLib library selection */ |
172 /* */ | 172 /* */ |
173 /* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */ | 173 /* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */ |
174 /* It allows FreeType's `ftgzip' component to link to the system's */ | 174 /* It allows FreeType's `ftgzip' component to link to the system's */ |
175 /* installation of the ZLib library. This is useful on systems like */ | 175 /* installation of the ZLib library. This is useful on systems like */ |
176 /* Unix or VMS where it generally is already available. */ | 176 /* Unix or VMS where it generally is already available. */ |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 /* fopen() etc. Enables the use of smaller system libraries on embedded */ | 209 /* fopen() etc. Enables the use of smaller system libraries on embedded */ |
210 /* systems that have multiple system libraries, some with or without */ | 210 /* systems that have multiple system libraries, some with or without */ |
211 /* file stream support, in the cases where file stream support is not */ | 211 /* file stream support, in the cases where file stream support is not */ |
212 /* necessary such as memory loading of font files. */ | 212 /* necessary such as memory loading of font files. */ |
213 /* */ | 213 /* */ |
214 /* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */ | 214 /* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */ |
215 | 215 |
216 | 216 |
217 /*************************************************************************/ | 217 /*************************************************************************/ |
218 /* */ | 218 /* */ |
219 /* PNG bitmap support. */ | 219 /* PNG bitmap support. */ |
220 /* */ | 220 /* */ |
221 /* FreeType now handles loading color bitmap glyphs in the PNG format. */ | 221 /* FreeType now handles loading color bitmap glyphs in the PNG format. */ |
222 /* This requires help from the external libpng library. Uncompressed */ | 222 /* This requires help from the external libpng library. Uncompressed */ |
223 /* color bitmaps do not need any external libraries and will be */ | 223 /* color bitmaps do not need any external libraries and will be */ |
224 /* supported regardless of this configuration. */ | 224 /* supported regardless of this configuration. */ |
225 /* */ | 225 /* */ |
226 /* Define this macro if you want to enable this `feature'. */ | 226 /* Define this macro if you want to enable this `feature'. */ |
227 /* */ | 227 /* */ |
228 /* #define FT_CONFIG_OPTION_USE_PNG */ | 228 /* #define FT_CONFIG_OPTION_USE_PNG */ |
229 | 229 |
230 | 230 |
231 /*************************************************************************/ | 231 /*************************************************************************/ |
232 /* */ | 232 /* */ |
| 233 /* HarfBuzz support. */ |
| 234 /* */ |
| 235 /* FreeType uses the HarfBuzz library to improve auto-hinting of */ |
| 236 /* OpenType fonts. If available, many glyphs not directly addressable */ |
| 237 /* by a font's character map will be hinted also. */ |
| 238 /* */ |
| 239 /* Define this macro if you want to enable this `feature'. */ |
| 240 /* */ |
| 241 /* #define FT_CONFIG_OPTION_USE_HARFBUZZ */ |
| 242 |
| 243 |
| 244 /*************************************************************************/ |
| 245 /* */ |
233 /* DLL export compilation */ | 246 /* DLL export compilation */ |
234 /* */ | 247 /* */ |
235 /* When compiling FreeType as a DLL, some systems/compilers need a */ | 248 /* When compiling FreeType as a DLL, some systems/compilers need a */ |
236 /* special keyword in front OR after the return type of function */ | 249 /* special keyword in front OR after the return type of function */ |
237 /* declarations. */ | 250 /* declarations. */ |
238 /* */ | 251 /* */ |
239 /* Two macros are used within the FreeType source code to define */ | 252 /* Two macros are used within the FreeType source code to define */ |
240 /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ | 253 /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ |
241 /* */ | 254 /* */ |
242 /* FT_EXPORT( return_type ) */ | 255 /* FT_EXPORT( return_type ) */ |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 /*************************************************************************/ | 329 /*************************************************************************/ |
317 /* */ | 330 /* */ |
318 /* Support for Mac fonts */ | 331 /* Support for Mac fonts */ |
319 /* */ | 332 /* */ |
320 /* Define this macro if you want support for outline fonts in Mac */ | 333 /* Define this macro if you want support for outline fonts in Mac */ |
321 /* format (mac dfont, mac resource, macbinary containing a mac */ | 334 /* format (mac dfont, mac resource, macbinary containing a mac */ |
322 /* resource) on non-Mac platforms. */ | 335 /* resource) on non-Mac platforms. */ |
323 /* */ | 336 /* */ |
324 /* Note that the `FOND' resource isn't checked. */ | 337 /* Note that the `FOND' resource isn't checked. */ |
325 /* */ | 338 /* */ |
326 //#define FT_CONFIG_OPTION_MAC_FONTS | 339 #define FT_CONFIG_OPTION_MAC_FONTS |
327 | 340 |
328 | 341 |
329 /*************************************************************************/ | 342 /*************************************************************************/ |
330 /* */ | 343 /* */ |
331 /* Guessing methods to access embedded resource forks */ | 344 /* Guessing methods to access embedded resource forks */ |
332 /* */ | 345 /* */ |
333 /* Enable extra Mac fonts support on non-Mac platforms (e.g. */ | 346 /* Enable extra Mac fonts support on non-Mac platforms (e.g. */ |
334 /* GNU/Linux). */ | 347 /* GNU/Linux). */ |
335 /* */ | 348 /* */ |
336 /* Resource forks which include fonts data are stored sometimes in */ | 349 /* Resource forks which include fonts data are stored sometimes in */ |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 /*************************************************************************/ | 507 /*************************************************************************/ |
495 /*************************************************************************/ | 508 /*************************************************************************/ |
496 | 509 |
497 | 510 |
498 /*************************************************************************/ | 511 /*************************************************************************/ |
499 /* */ | 512 /* */ |
500 /* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */ | 513 /* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */ |
501 /* embedded bitmaps in all formats using the SFNT module (namely */ | 514 /* embedded bitmaps in all formats using the SFNT module (namely */ |
502 /* TrueType & OpenType). */ | 515 /* TrueType & OpenType). */ |
503 /* */ | 516 /* */ |
504 #undef TT_CONFIG_OPTION_EMBEDDED_BITMAPS | 517 #define TT_CONFIG_OPTION_EMBEDDED_BITMAPS |
505 | 518 |
506 | 519 |
507 /*************************************************************************/ | 520 /*************************************************************************/ |
508 /* */ | 521 /* */ |
509 /* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */ | 522 /* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */ |
510 /* load and enumerate the glyph Postscript names in a TrueType or */ | 523 /* load and enumerate the glyph Postscript names in a TrueType or */ |
511 /* OpenType file. */ | 524 /* OpenType file. */ |
512 /* */ | 525 /* */ |
513 /* Note that when you do not compile the `PSNames' module by undefining */ | 526 /* Note that when you do not compile the `PSNames' module by undefining */ |
514 /* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */ | 527 /* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */ |
515 /* contain additional code used to read the PS Names table from a font. */ | 528 /* contain additional code used to read the PS Names table from a font. */ |
516 /* */ | 529 /* */ |
517 /* (By default, the module uses `PSNames' to extract glyph names.) */ | 530 /* (By default, the module uses `PSNames' to extract glyph names.) */ |
518 /* */ | 531 /* */ |
519 #define TT_CONFIG_OPTION_POSTSCRIPT_NAMES | 532 #define TT_CONFIG_OPTION_POSTSCRIPT_NAMES |
520 | 533 |
521 | 534 |
522 /*************************************************************************/ | 535 /*************************************************************************/ |
523 /* */ | 536 /* */ |
524 /* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */ | 537 /* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */ |
525 /* access the internal name table in a SFNT-based format like TrueType */ | 538 /* access the internal name table in a SFNT-based format like TrueType */ |
526 /* or OpenType. The name table contains various strings used to */ | 539 /* or OpenType. The name table contains various strings used to */ |
527 /* describe the font, like family name, copyright, version, etc. It */ | 540 /* describe the font, like family name, copyright, version, etc. It */ |
528 /* does not contain any glyph name though. */ | 541 /* does not contain any glyph name though. */ |
529 /* */ | 542 /* */ |
530 /* Accessing SFNT names is done through the functions declared in */ | 543 /* Accessing SFNT names is done through the functions declared in */ |
531 /* `freetype/ftsnames.h'. */ | 544 /* `ftsnames.h'. */ |
532 /* */ | 545 /* */ |
533 #define TT_CONFIG_OPTION_SFNT_NAMES | 546 #define TT_CONFIG_OPTION_SFNT_NAMES |
534 | 547 |
535 | 548 |
536 /*************************************************************************/ | 549 /*************************************************************************/ |
537 /* */ | 550 /* */ |
538 /* TrueType CMap support */ | 551 /* TrueType CMap support */ |
539 /* */ | 552 /* */ |
540 /* Here you can fine-tune which TrueType CMap table format shall be */ | 553 /* Here you can fine-tune which TrueType CMap table format shall be */ |
541 /* supported. */ | 554 /* supported. */ |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
676 #undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED | 689 #undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED |
677 | 690 |
678 | 691 |
679 /*************************************************************************/ | 692 /*************************************************************************/ |
680 /* */ | 693 /* */ |
681 /* Define TT_CONFIG_OPTION_GX_VAR_SUPPORT if you want to include */ | 694 /* Define TT_CONFIG_OPTION_GX_VAR_SUPPORT if you want to include */ |
682 /* support for Apple's distortable font technology (fvar, gvar, cvar, */ | 695 /* support for Apple's distortable font technology (fvar, gvar, cvar, */ |
683 /* and avar tables). This has many similarities to Type 1 Multiple */ | 696 /* and avar tables). This has many similarities to Type 1 Multiple */ |
684 /* Masters support. */ | 697 /* Masters support. */ |
685 /* */ | 698 /* */ |
686 #undef TT_CONFIG_OPTION_GX_VAR_SUPPORT | 699 #define TT_CONFIG_OPTION_GX_VAR_SUPPORT |
687 | 700 |
688 | 701 |
689 /*************************************************************************/ | 702 /*************************************************************************/ |
690 /* */ | 703 /* */ |
691 /* Define TT_CONFIG_OPTION_BDF if you want to include support for */ | 704 /* Define TT_CONFIG_OPTION_BDF if you want to include support for */ |
692 /* an embedded `BDF ' table within SFNT-based bitmap formats. */ | 705 /* an embedded `BDF ' table within SFNT-based bitmap formats. */ |
693 /* */ | 706 /* */ |
694 #undef TT_CONFIG_OPTION_BDF | 707 #define TT_CONFIG_OPTION_BDF |
695 | 708 |
696 | 709 |
697 /*************************************************************************/ | 710 /*************************************************************************/ |
698 /*************************************************************************/ | 711 /*************************************************************************/ |
699 /**** ****/ | 712 /**** ****/ |
700 /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ | 713 /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ |
701 /**** ****/ | 714 /**** ****/ |
702 /*************************************************************************/ | 715 /*************************************************************************/ |
703 /*************************************************************************/ | 716 /*************************************************************************/ |
704 | 717 |
(...skipping 15 matching lines...) Expand all Loading... |
720 #define T1_MAX_SUBRS_CALLS 16 | 733 #define T1_MAX_SUBRS_CALLS 16 |
721 | 734 |
722 | 735 |
723 /*************************************************************************/ | 736 /*************************************************************************/ |
724 /* */ | 737 /* */ |
725 /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */ | 738 /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */ |
726 /* minimum of 16 is required. */ | 739 /* minimum of 16 is required. */ |
727 /* */ | 740 /* */ |
728 /* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */ | 741 /* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */ |
729 /* */ | 742 /* */ |
730 #define T1_MAX_CHARSTRINGS_OPERANDS 512 | 743 #define T1_MAX_CHARSTRINGS_OPERANDS 256 |
731 | 744 |
732 | 745 |
733 /*************************************************************************/ | 746 /*************************************************************************/ |
734 /* */ | 747 /* */ |
735 /* Define this configuration macro if you want to prevent the */ | 748 /* Define this configuration macro if you want to prevent the */ |
736 /* compilation of `t1afm', which is in charge of reading Type 1 AFM */ | 749 /* compilation of `t1afm', which is in charge of reading Type 1 AFM */ |
737 /* files into an existing face. Note that if set, the T1 driver will be */ | 750 /* files into an existing face. Note that if set, the T1 driver will be */ |
738 /* unable to produce kerning distances. */ | 751 /* unable to produce kerning distances. */ |
739 /* */ | 752 /* */ |
740 #undef T1_CONFIG_OPTION_NO_AFM | 753 #undef T1_CONFIG_OPTION_NO_AFM |
(...skipping 12 matching lines...) Expand all Loading... |
753 /*************************************************************************/ | 766 /*************************************************************************/ |
754 /**** ****/ | 767 /**** ****/ |
755 /**** C F F D R I V E R C O N F I G U R A T I O N ****/ | 768 /**** C F F D R I V E R C O N F I G U R A T I O N ****/ |
756 /**** ****/ | 769 /**** ****/ |
757 /*************************************************************************/ | 770 /*************************************************************************/ |
758 /*************************************************************************/ | 771 /*************************************************************************/ |
759 | 772 |
760 | 773 |
761 /*************************************************************************/ | 774 /*************************************************************************/ |
762 /* */ | 775 /* */ |
| 776 /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */ |
| 777 /* possible to set up the default values of the four control points that */ |
| 778 /* define the stem darkening behaviour of the (new) CFF engine. For */ |
| 779 /* more details please read the documentation of the */ |
| 780 /* `darkening-parameters' property of the cff driver module (file */ |
| 781 /* `ftcffdrv.h'), which allows the control at run-time. */ |
| 782 /* */ |
| 783 /* Do *not* undefine these macros! */ |
| 784 /* */ |
| 785 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 |
| 786 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 |
| 787 |
| 788 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 |
| 789 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 |
| 790 |
| 791 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 |
| 792 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 |
| 793 |
| 794 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 |
| 795 #define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 |
| 796 |
| 797 |
| 798 /*************************************************************************/ |
| 799 /* */ |
763 /* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ | 800 /* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ |
764 /* engine gets compiled into FreeType. If defined, it is possible to */ | 801 /* engine gets compiled into FreeType. If defined, it is possible to */ |
765 /* switch between the two engines using the `hinting-engine' property of */ | 802 /* switch between the two engines using the `hinting-engine' property of */ |
766 /* the cff driver module. */ | 803 /* the cff driver module. */ |
767 /* */ | 804 /* */ |
768 /* #define CFF_CONFIG_OPTION_OLD_ENGINE */ | 805 /* #define CFF_CONFIG_OPTION_OLD_ENGINE */ |
769 | 806 |
770 | 807 |
771 /*************************************************************************/ | 808 /*************************************************************************/ |
772 /*************************************************************************/ | 809 /*************************************************************************/ |
(...skipping 27 matching lines...) Expand all Loading... |
800 /* */ | 837 /* */ |
801 /* This experimental option is only active if the render mode is */ | 838 /* This experimental option is only active if the render mode is */ |
802 /* FT_RENDER_MODE_LIGHT. */ | 839 /* FT_RENDER_MODE_LIGHT. */ |
803 /* */ | 840 /* */ |
804 /* #define AF_CONFIG_OPTION_USE_WARPER */ | 841 /* #define AF_CONFIG_OPTION_USE_WARPER */ |
805 | 842 |
806 /* */ | 843 /* */ |
807 | 844 |
808 | 845 |
809 /* | 846 /* |
810 * This macro is obsolete. Support has been removed in FreeType | 847 * This macro is obsolete. Support has been removed in FreeType |
811 * version 2.5. | 848 * version 2.5. |
812 */ | 849 */ |
813 /* #define FT_CONFIG_OPTION_OLD_INTERNALS */ | 850 /* #define FT_CONFIG_OPTION_OLD_INTERNALS */ |
814 | 851 |
815 | 852 |
816 /* | 853 /* |
817 * This macro is defined if either unpatented or native TrueType | 854 * This macro is defined if either unpatented or native TrueType |
818 * hinting is requested by the definitions above. | 855 * hinting is requested by the definitions above. |
819 */ | 856 */ |
820 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER | 857 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER |
821 #define TT_USE_BYTECODE_INTERPRETER | 858 #define TT_USE_BYTECODE_INTERPRETER |
822 #undef TT_CONFIG_OPTION_UNPATENTED_HINTING | 859 #undef TT_CONFIG_OPTION_UNPATENTED_HINTING |
823 #elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING | 860 #elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING |
824 #define TT_USE_BYTECODE_INTERPRETER | 861 #define TT_USE_BYTECODE_INTERPRETER |
825 #endif | 862 #endif |
826 | 863 |
| 864 |
| 865 /* |
| 866 * Check CFF darkening parameters. The checks are the same as in function |
| 867 * `cff_property_set' in file `cffdrivr.c'. |
| 868 */ |
| 869 #if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ |
| 870 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ |
| 871 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ |
| 872 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ |
| 873 \ |
| 874 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ |
| 875 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ |
| 876 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ |
| 877 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ |
| 878 \ |
| 879 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ |
| 880 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ |
| 881 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ |
| 882 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ |
| 883 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ |
| 884 CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ |
| 885 \ |
| 886 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ |
| 887 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ |
| 888 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ |
| 889 CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 |
| 890 #error "Invalid CFF darkening parameters!" |
| 891 #endif |
| 892 |
827 FT_END_HEADER | 893 FT_END_HEADER |
828 | 894 |
829 | 895 |
830 #endif /* __FTOPTION_H__ */ | 896 #endif /* __FTOPTION_H__ */ |
831 | 897 |
832 | 898 |
833 /* END */ | 899 /* END */ |
OLD | NEW |