vrshoot

view libs/ft2static/freetype/config/ftheader.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line source
1 /***************************************************************************/
2 /* */
3 /* ftheader.h */
4 /* */
5 /* Build macros of the FreeType 2 library. */
6 /* */
7 /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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 /***************************************************************************/
18 #ifndef __FT_HEADER_H__
19 #define __FT_HEADER_H__
22 /*@***********************************************************************/
23 /* */
24 /* <Macro> */
25 /* FT_BEGIN_HEADER */
26 /* */
27 /* <Description> */
28 /* This macro is used in association with @FT_END_HEADER in header */
29 /* files to ensure that the declarations within are properly */
30 /* encapsulated in an `extern "C" { .. }' block when included from a */
31 /* C++ compiler. */
32 /* */
33 #ifdef __cplusplus
34 #define FT_BEGIN_HEADER extern "C" {
35 #else
36 #define FT_BEGIN_HEADER /* nothing */
37 #endif
40 /*@***********************************************************************/
41 /* */
42 /* <Macro> */
43 /* FT_END_HEADER */
44 /* */
45 /* <Description> */
46 /* This macro is used in association with @FT_BEGIN_HEADER in header */
47 /* files to ensure that the declarations within are properly */
48 /* encapsulated in an `extern "C" { .. }' block when included from a */
49 /* C++ compiler. */
50 /* */
51 #ifdef __cplusplus
52 #define FT_END_HEADER }
53 #else
54 #define FT_END_HEADER /* nothing */
55 #endif
58 /*************************************************************************/
59 /* */
60 /* Aliases for the FreeType 2 public and configuration files. */
61 /* */
62 /*************************************************************************/
64 /*************************************************************************/
65 /* */
66 /* <Section> */
67 /* header_file_macros */
68 /* */
69 /* <Title> */
70 /* Header File Macros */
71 /* */
72 /* <Abstract> */
73 /* Macro definitions used to #include specific header files. */
74 /* */
75 /* <Description> */
76 /* The following macros are defined to the name of specific */
77 /* FreeType~2 header files. They can be used directly in #include */
78 /* statements as in: */
79 /* */
80 /* { */
81 /* #include FT_FREETYPE_H */
82 /* #include FT_MULTIPLE_MASTERS_H */
83 /* #include FT_GLYPH_H */
84 /* } */
85 /* */
86 /* There are several reasons why we are now using macros to name */
87 /* public header files. The first one is that such macros are not */
88 /* limited to the infamous 8.3~naming rule required by DOS (and */
89 /* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
90 /* */
91 /* The second reason is that it allows for more flexibility in the */
92 /* way FreeType~2 is installed on a given system. */
93 /* */
94 /*************************************************************************/
97 /* configuration files */
99 /*************************************************************************
100 *
101 * @macro:
102 * FT_CONFIG_CONFIG_H
103 *
104 * @description:
105 * A macro used in #include statements to name the file containing
106 * FreeType~2 configuration data.
107 *
108 */
109 #ifndef FT_CONFIG_CONFIG_H
110 #define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
111 #endif
114 /*************************************************************************
115 *
116 * @macro:
117 * FT_CONFIG_STANDARD_LIBRARY_H
118 *
119 * @description:
120 * A macro used in #include statements to name the file containing
121 * FreeType~2 interface to the standard C library functions.
122 *
123 */
124 #ifndef FT_CONFIG_STANDARD_LIBRARY_H
125 #define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
126 #endif
129 /*************************************************************************
130 *
131 * @macro:
132 * FT_CONFIG_OPTIONS_H
133 *
134 * @description:
135 * A macro used in #include statements to name the file containing
136 * FreeType~2 project-specific configuration options.
137 *
138 */
139 #ifndef FT_CONFIG_OPTIONS_H
140 #define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
141 #endif
144 /*************************************************************************
145 *
146 * @macro:
147 * FT_CONFIG_MODULES_H
148 *
149 * @description:
150 * A macro used in #include statements to name the file containing the
151 * list of FreeType~2 modules that are statically linked to new library
152 * instances in @FT_Init_FreeType.
153 *
154 */
155 #ifndef FT_CONFIG_MODULES_H
156 #define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
157 #endif
159 /* */
161 /* public headers */
163 /*************************************************************************
164 *
165 * @macro:
166 * FT_FREETYPE_H
167 *
168 * @description:
169 * A macro used in #include statements to name the file containing the
170 * base FreeType~2 API.
171 *
172 */
173 #define FT_FREETYPE_H <freetype/freetype.h>
176 /*************************************************************************
177 *
178 * @macro:
179 * FT_ERRORS_H
180 *
181 * @description:
182 * A macro used in #include statements to name the file containing the
183 * list of FreeType~2 error codes (and messages).
184 *
185 * It is included by @FT_FREETYPE_H.
186 *
187 */
188 #define FT_ERRORS_H <freetype/fterrors.h>
191 /*************************************************************************
192 *
193 * @macro:
194 * FT_MODULE_ERRORS_H
195 *
196 * @description:
197 * A macro used in #include statements to name the file containing the
198 * list of FreeType~2 module error offsets (and messages).
199 *
200 */
201 #define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
204 /*************************************************************************
205 *
206 * @macro:
207 * FT_SYSTEM_H
208 *
209 * @description:
210 * A macro used in #include statements to name the file containing the
211 * FreeType~2 interface to low-level operations (i.e., memory management
212 * and stream i/o).
213 *
214 * It is included by @FT_FREETYPE_H.
215 *
216 */
217 #define FT_SYSTEM_H <freetype/ftsystem.h>
220 /*************************************************************************
221 *
222 * @macro:
223 * FT_IMAGE_H
224 *
225 * @description:
226 * A macro used in #include statements to name the file containing type
227 * definitions related to glyph images (i.e., bitmaps, outlines,
228 * scan-converter parameters).
229 *
230 * It is included by @FT_FREETYPE_H.
231 *
232 */
233 #define FT_IMAGE_H <freetype/ftimage.h>
236 /*************************************************************************
237 *
238 * @macro:
239 * FT_TYPES_H
240 *
241 * @description:
242 * A macro used in #include statements to name the file containing the
243 * basic data types defined by FreeType~2.
244 *
245 * It is included by @FT_FREETYPE_H.
246 *
247 */
248 #define FT_TYPES_H <freetype/fttypes.h>
251 /*************************************************************************
252 *
253 * @macro:
254 * FT_LIST_H
255 *
256 * @description:
257 * A macro used in #include statements to name the file containing the
258 * list management API of FreeType~2.
259 *
260 * (Most applications will never need to include this file.)
261 *
262 */
263 #define FT_LIST_H <freetype/ftlist.h>
266 /*************************************************************************
267 *
268 * @macro:
269 * FT_OUTLINE_H
270 *
271 * @description:
272 * A macro used in #include statements to name the file containing the
273 * scalable outline management API of FreeType~2.
274 *
275 */
276 #define FT_OUTLINE_H <freetype/ftoutln.h>
279 /*************************************************************************
280 *
281 * @macro:
282 * FT_SIZES_H
283 *
284 * @description:
285 * A macro used in #include statements to name the file containing the
286 * API which manages multiple @FT_Size objects per face.
287 *
288 */
289 #define FT_SIZES_H <freetype/ftsizes.h>
292 /*************************************************************************
293 *
294 * @macro:
295 * FT_MODULE_H
296 *
297 * @description:
298 * A macro used in #include statements to name the file containing the
299 * module management API of FreeType~2.
300 *
301 */
302 #define FT_MODULE_H <freetype/ftmodapi.h>
305 /*************************************************************************
306 *
307 * @macro:
308 * FT_RENDER_H
309 *
310 * @description:
311 * A macro used in #include statements to name the file containing the
312 * renderer module management API of FreeType~2.
313 *
314 */
315 #define FT_RENDER_H <freetype/ftrender.h>
318 /*************************************************************************
319 *
320 * @macro:
321 * FT_TYPE1_TABLES_H
322 *
323 * @description:
324 * A macro used in #include statements to name the file containing the
325 * types and API specific to the Type~1 format.
326 *
327 */
328 #define FT_TYPE1_TABLES_H <freetype/t1tables.h>
331 /*************************************************************************
332 *
333 * @macro:
334 * FT_TRUETYPE_IDS_H
335 *
336 * @description:
337 * A macro used in #include statements to name the file containing the
338 * enumeration values which identify name strings, languages, encodings,
339 * etc. This file really contains a _large_ set of constant macro
340 * definitions, taken from the TrueType and OpenType specifications.
341 *
342 */
343 #define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
346 /*************************************************************************
347 *
348 * @macro:
349 * FT_TRUETYPE_TABLES_H
350 *
351 * @description:
352 * A macro used in #include statements to name the file containing the
353 * types and API specific to the TrueType (as well as OpenType) format.
354 *
355 */
356 #define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
359 /*************************************************************************
360 *
361 * @macro:
362 * FT_TRUETYPE_TAGS_H
363 *
364 * @description:
365 * A macro used in #include statements to name the file containing the
366 * definitions of TrueType four-byte `tags' which identify blocks in
367 * SFNT-based font formats (i.e., TrueType and OpenType).
368 *
369 */
370 #define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
373 /*************************************************************************
374 *
375 * @macro:
376 * FT_BDF_H
377 *
378 * @description:
379 * A macro used in #include statements to name the file containing the
380 * definitions of an API which accesses BDF-specific strings from a
381 * face.
382 *
383 */
384 #define FT_BDF_H <freetype/ftbdf.h>
387 /*************************************************************************
388 *
389 * @macro:
390 * FT_CID_H
391 *
392 * @description:
393 * A macro used in #include statements to name the file containing the
394 * definitions of an API which access CID font information from a
395 * face.
396 *
397 */
398 #define FT_CID_H <freetype/ftcid.h>
401 /*************************************************************************
402 *
403 * @macro:
404 * FT_GZIP_H
405 *
406 * @description:
407 * A macro used in #include statements to name the file containing the
408 * definitions of an API which supports gzip-compressed files.
409 *
410 */
411 #define FT_GZIP_H <freetype/ftgzip.h>
414 /*************************************************************************
415 *
416 * @macro:
417 * FT_LZW_H
418 *
419 * @description:
420 * A macro used in #include statements to name the file containing the
421 * definitions of an API which supports LZW-compressed files.
422 *
423 */
424 #define FT_LZW_H <freetype/ftlzw.h>
427 /*************************************************************************
428 *
429 * @macro:
430 * FT_WINFONTS_H
431 *
432 * @description:
433 * A macro used in #include statements to name the file containing the
434 * definitions of an API which supports Windows FNT files.
435 *
436 */
437 #define FT_WINFONTS_H <freetype/ftwinfnt.h>
440 /*************************************************************************
441 *
442 * @macro:
443 * FT_GLYPH_H
444 *
445 * @description:
446 * A macro used in #include statements to name the file containing the
447 * API of the optional glyph management component.
448 *
449 */
450 #define FT_GLYPH_H <freetype/ftglyph.h>
453 /*************************************************************************
454 *
455 * @macro:
456 * FT_BITMAP_H
457 *
458 * @description:
459 * A macro used in #include statements to name the file containing the
460 * API of the optional bitmap conversion component.
461 *
462 */
463 #define FT_BITMAP_H <freetype/ftbitmap.h>
466 /*************************************************************************
467 *
468 * @macro:
469 * FT_BBOX_H
470 *
471 * @description:
472 * A macro used in #include statements to name the file containing the
473 * API of the optional exact bounding box computation routines.
474 *
475 */
476 #define FT_BBOX_H <freetype/ftbbox.h>
479 /*************************************************************************
480 *
481 * @macro:
482 * FT_CACHE_H
483 *
484 * @description:
485 * A macro used in #include statements to name the file containing the
486 * API of the optional FreeType~2 cache sub-system.
487 *
488 */
489 #define FT_CACHE_H <freetype/ftcache.h>
492 /*************************************************************************
493 *
494 * @macro:
495 * FT_CACHE_IMAGE_H
496 *
497 * @description:
498 * A macro used in #include statements to name the file containing the
499 * `glyph image' API of the FreeType~2 cache sub-system.
500 *
501 * It is used to define a cache for @FT_Glyph elements. You can also
502 * use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
503 * store small glyph bitmaps, as it will use less memory.
504 *
505 * This macro is deprecated. Simply include @FT_CACHE_H to have all
506 * glyph image-related cache declarations.
507 *
508 */
509 #define FT_CACHE_IMAGE_H FT_CACHE_H
512 /*************************************************************************
513 *
514 * @macro:
515 * FT_CACHE_SMALL_BITMAPS_H
516 *
517 * @description:
518 * A macro used in #include statements to name the file containing the
519 * `small bitmaps' API of the FreeType~2 cache sub-system.
520 *
521 * It is used to define a cache for small glyph bitmaps in a relatively
522 * memory-efficient way. You can also use the API defined in
523 * @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,
524 * including scalable outlines.
525 *
526 * This macro is deprecated. Simply include @FT_CACHE_H to have all
527 * small bitmaps-related cache declarations.
528 *
529 */
530 #define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H
533 /*************************************************************************
534 *
535 * @macro:
536 * FT_CACHE_CHARMAP_H
537 *
538 * @description:
539 * A macro used in #include statements to name the file containing the
540 * `charmap' API of the FreeType~2 cache sub-system.
541 *
542 * This macro is deprecated. Simply include @FT_CACHE_H to have all
543 * charmap-based cache declarations.
544 *
545 */
546 #define FT_CACHE_CHARMAP_H FT_CACHE_H
549 /*************************************************************************
550 *
551 * @macro:
552 * FT_MAC_H
553 *
554 * @description:
555 * A macro used in #include statements to name the file containing the
556 * Macintosh-specific FreeType~2 API. The latter is used to access
557 * fonts embedded in resource forks.
558 *
559 * This header file must be explicitly included by client applications
560 * compiled on the Mac (note that the base API still works though).
561 *
562 */
563 #define FT_MAC_H <freetype/ftmac.h>
566 /*************************************************************************
567 *
568 * @macro:
569 * FT_MULTIPLE_MASTERS_H
570 *
571 * @description:
572 * A macro used in #include statements to name the file containing the
573 * optional multiple-masters management API of FreeType~2.
574 *
575 */
576 #define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
579 /*************************************************************************
580 *
581 * @macro:
582 * FT_SFNT_NAMES_H
583 *
584 * @description:
585 * A macro used in #include statements to name the file containing the
586 * optional FreeType~2 API which accesses embedded `name' strings in
587 * SFNT-based font formats (i.e., TrueType and OpenType).
588 *
589 */
590 #define FT_SFNT_NAMES_H <freetype/ftsnames.h>
593 /*************************************************************************
594 *
595 * @macro:
596 * FT_OPENTYPE_VALIDATE_H
597 *
598 * @description:
599 * A macro used in #include statements to name the file containing the
600 * optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
601 * GPOS, GSUB, JSTF).
602 *
603 */
604 #define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
607 /*************************************************************************
608 *
609 * @macro:
610 * FT_GX_VALIDATE_H
611 *
612 * @description:
613 * A macro used in #include statements to name the file containing the
614 * optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
615 * mort, morx, bsln, just, kern, opbd, trak, prop).
616 *
617 */
618 #define FT_GX_VALIDATE_H <freetype/ftgxval.h>
621 /*************************************************************************
622 *
623 * @macro:
624 * FT_PFR_H
625 *
626 * @description:
627 * A macro used in #include statements to name the file containing the
628 * FreeType~2 API which accesses PFR-specific data.
629 *
630 */
631 #define FT_PFR_H <freetype/ftpfr.h>
634 /*************************************************************************
635 *
636 * @macro:
637 * FT_STROKER_H
638 *
639 * @description:
640 * A macro used in #include statements to name the file containing the
641 * FreeType~2 API which provides functions to stroke outline paths.
642 */
643 #define FT_STROKER_H <freetype/ftstroke.h>
646 /*************************************************************************
647 *
648 * @macro:
649 * FT_SYNTHESIS_H
650 *
651 * @description:
652 * A macro used in #include statements to name the file containing the
653 * FreeType~2 API which performs artificial obliquing and emboldening.
654 */
655 #define FT_SYNTHESIS_H <freetype/ftsynth.h>
658 /*************************************************************************
659 *
660 * @macro:
661 * FT_XFREE86_H
662 *
663 * @description:
664 * A macro used in #include statements to name the file containing the
665 * FreeType~2 API which provides functions specific to the XFree86 and
666 * X.Org X11 servers.
667 */
668 #define FT_XFREE86_H <freetype/ftxf86.h>
671 /*************************************************************************
672 *
673 * @macro:
674 * FT_TRIGONOMETRY_H
675 *
676 * @description:
677 * A macro used in #include statements to name the file containing the
678 * FreeType~2 API which performs trigonometric computations (e.g.,
679 * cosines and arc tangents).
680 */
681 #define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
684 /*************************************************************************
685 *
686 * @macro:
687 * FT_LCD_FILTER_H
688 *
689 * @description:
690 * A macro used in #include statements to name the file containing the
691 * FreeType~2 API which performs color filtering for subpixel rendering.
692 */
693 #define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
696 /*************************************************************************
697 *
698 * @macro:
699 * FT_UNPATENTED_HINTING_H
700 *
701 * @description:
702 * A macro used in #include statements to name the file containing the
703 * FreeType~2 API which performs color filtering for subpixel rendering.
704 */
705 #define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
708 /*************************************************************************
709 *
710 * @macro:
711 * FT_INCREMENTAL_H
712 *
713 * @description:
714 * A macro used in #include statements to name the file containing the
715 * FreeType~2 API which performs color filtering for subpixel rendering.
716 */
717 #define FT_INCREMENTAL_H <freetype/ftincrem.h>
720 /*************************************************************************
721 *
722 * @macro:
723 * FT_GASP_H
724 *
725 * @description:
726 * A macro used in #include statements to name the file containing the
727 * FreeType~2 API which returns entries from the TrueType GASP table.
728 */
729 #define FT_GASP_H <freetype/ftgasp.h>
732 /*************************************************************************
733 *
734 * @macro:
735 * FT_ADVANCES_H
736 *
737 * @description:
738 * A macro used in #include statements to name the file containing the
739 * FreeType~2 API which returns individual and ranged glyph advances.
740 */
741 #define FT_ADVANCES_H <freetype/ftadvanc.h>
744 /* */
746 #define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
749 /* The internals of the cache sub-system are no longer exposed. We */
750 /* default to FT_CACHE_H at the moment just in case, but we know of */
751 /* no rogue client that uses them. */
752 /* */
753 #define FT_CACHE_MANAGER_H <freetype/ftcache.h>
754 #define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
755 #define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
756 #define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
757 #define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
758 #define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
759 #define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
762 #define FT_INCREMENTAL_H <freetype/ftincrem.h>
764 #define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
767 /*
768 * Include internal headers definitions from <freetype/internal/...>
769 * only when building the library.
770 */
771 #ifdef FT2_BUILD_LIBRARY
772 #define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
773 #include FT_INTERNAL_INTERNAL_H
774 #endif /* FT2_BUILD_LIBRARY */
777 #endif /* __FT2_BUILD_H__ */
780 /* END */