]> git.sesse.net Git - casparcg/blob - SFML-1.6/extlibs/headers/freetype/config/ftheader.h
(no commit message)
[casparcg] / SFML-1.6 / extlibs / headers / freetype / config / ftheader.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftheader.h                                                             */
4 /*                                                                         */
5 /*    Build macros of the FreeType 2 library.                              */
6 /*                                                                         */
7 /*  Copyright 1996-2001, 2002, 2003, 2004 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 #ifndef __FT_HEADER_H__
19 #define __FT_HEADER_H__
20
21
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
38
39
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
56
57
58   /*************************************************************************/
59   /*                                                                       */
60   /* Aliases for the FreeType 2 public and configuration files.            */
61   /*                                                                       */
62   /*************************************************************************/
63
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 is allows for more flexibility in the    */
92   /*    way FreeType 2 is installed on a given system.                     */
93   /*                                                                       */
94   /*************************************************************************/
95
96
97   /* configuration files */
98
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 #ifndef FT_CONFIG_CONFIG_H
109 #define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
110 #endif
111
112
113   /*************************************************************************/
114   /*                                                                       */
115   /* @macro:                                                               */
116   /*    FT_CONFIG_STANDARD_LIBRARY_H                                       */
117   /*                                                                       */
118   /* @description:                                                         */
119   /*    A macro used in #include statements to name the file containing    */
120   /*    FreeType 2 configuration data.                                     */
121   /*                                                                       */
122 #ifndef FT_CONFIG_STANDARD_LIBRARY_H
123 #define FT_CONFIG_STANDARD_LIBRARY_H  <freetype/config/ftstdlib.h>
124 #endif
125
126
127   /*************************************************************************/
128   /*                                                                       */
129   /* @macro:                                                               */
130   /*    FT_CONFIG_OPTIONS_H                                                */
131   /*                                                                       */
132   /* @description:                                                         */
133   /*    A macro used in #include statements to name the file containing    */
134   /*    FreeType 2 project-specific configuration options.                 */
135   /*                                                                       */
136 #ifndef FT_CONFIG_OPTIONS_H
137 #define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
138 #endif
139
140
141   /*************************************************************************/
142   /*                                                                       */
143   /* @macro:                                                               */
144   /*    FT_CONFIG_MODULES_H                                                */
145   /*                                                                       */
146   /* @description:                                                         */
147   /*    A macro used in #include statements to name the file containing    */
148   /*    the list of FreeType 2 modules that are statically linked to new   */
149   /*    library instances in @FT_Init_FreeType.                            */
150   /*                                                                       */
151 #ifndef FT_CONFIG_MODULES_H
152 #define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
153 #endif
154
155
156   /* public headers */
157
158   /*************************************************************************/
159   /*                                                                       */
160   /* @macro:                                                               */
161   /*    FT_FREETYPE_H                                                      */
162   /*                                                                       */
163   /* @description:                                                         */
164   /*    A macro used in #include statements to name the file containing    */
165   /*    the base FreeType 2 API.                                           */
166   /*                                                                       */
167 #define FT_FREETYPE_H  <freetype/freetype.h>
168
169
170   /*************************************************************************/
171   /*                                                                       */
172   /* @macro:                                                               */
173   /*    FT_ERRORS_H                                                        */
174   /*                                                                       */
175   /* @description:                                                         */
176   /*    A macro used in #include statements to name the file containing    */
177   /*    the list of FreeType 2 error codes (and messages).                 */
178   /*                                                                       */
179   /*    It is included by @FT_FREETYPE_H.                                  */
180   /*                                                                       */
181 #define FT_ERRORS_H  <freetype/fterrors.h>
182
183
184   /*************************************************************************/
185   /*                                                                       */
186   /* @macro:                                                               */
187   /*    FT_MODULE_ERRORS_H                                                 */
188   /*                                                                       */
189   /* @description:                                                         */
190   /*    A macro used in #include statements to name the file containing    */
191   /*    the list of FreeType 2 module error offsets (and messages).        */
192   /*                                                                       */
193 #define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
194
195
196   /*************************************************************************/
197   /*                                                                       */
198   /* @macro:                                                               */
199   /*    FT_SYSTEM_H                                                        */
200   /*                                                                       */
201   /* @description:                                                         */
202   /*    A macro used in #include statements to name the file containing    */
203   /*    the FreeType 2 interface to low-level operations (i.e. memory      */
204   /*    management and stream i/o).                                        */
205   /*                                                                       */
206   /*    It is included by @FT_FREETYPE_H.                                  */
207   /*                                                                       */
208 #define FT_SYSTEM_H  <freetype/ftsystem.h>
209
210
211   /*************************************************************************/
212   /*                                                                       */
213   /* @macro:                                                               */
214   /*    FT_IMAGE_H                                                         */
215   /*                                                                       */
216   /* @description:                                                         */
217   /*    A macro used in #include statements to name the file containing    */
218   /*    types definitions related to glyph images (i.e. bitmaps, outlines, */
219   /*    scan-converter parameters).                                        */
220   /*                                                                       */
221   /*    It is included by @FT_FREETYPE_H.                                  */
222   /*                                                                       */
223 #define FT_IMAGE_H  <freetype/ftimage.h>
224
225
226   /*************************************************************************/
227   /*                                                                       */
228   /* @macro:                                                               */
229   /*    FT_TYPES_H                                                         */
230   /*                                                                       */
231   /* @description:                                                         */
232   /*    A macro used in #include statements to name the file containing    */
233   /*    the basic data types defined by FreeType 2.                        */
234   /*                                                                       */
235   /*    It is included by @FT_FREETYPE_H.                                  */
236   /*                                                                       */
237 #define FT_TYPES_H  <freetype/fttypes.h>
238
239
240   /*************************************************************************/
241   /*                                                                       */
242   /* @macro:                                                               */
243   /*    FT_LIST_H                                                          */
244   /*                                                                       */
245   /* @description:                                                         */
246   /*    A macro used in #include statements to name the file containing    */
247   /*    the list management API of FreeType 2.                             */
248   /*                                                                       */
249   /*    (Most applications will never need to include this file.)          */
250   /*                                                                       */
251 #define FT_LIST_H  <freetype/ftlist.h>
252
253
254   /*************************************************************************/
255   /*                                                                       */
256   /* @macro:                                                               */
257   /*    FT_OUTLINE_H                                                       */
258   /*                                                                       */
259   /* @description:                                                         */
260   /*    A macro used in #include statements to name the file containing    */
261   /*    the scalable outline management API of FreeType 2.                 */
262   /*                                                                       */
263 #define FT_OUTLINE_H  <freetype/ftoutln.h>
264
265
266   /*************************************************************************/
267   /*                                                                       */
268   /* @macro:                                                               */
269   /*    FT_SIZES_H                                                         */
270   /*                                                                       */
271   /* @description:                                                         */
272   /*    A macro used in #include statements to name the file containing    */
273   /*    the API used to manage multiple @FT_Size objects per face.         */
274   /*                                                                       */
275 #define FT_SIZES_H  <freetype/ftsizes.h>
276
277
278   /*************************************************************************/
279   /*                                                                       */
280   /* @macro:                                                               */
281   /*    FT_MODULE_H                                                        */
282   /*                                                                       */
283   /* @description:                                                         */
284   /*    A macro used in #include statements to name the file containing    */
285   /*    the module management API of FreeType 2.                           */
286   /*                                                                       */
287 #define FT_MODULE_H  <freetype/ftmodapi.h>
288
289
290   /*************************************************************************/
291   /*                                                                       */
292   /* @macro:                                                               */
293   /*    FT_RENDER_H                                                        */
294   /*                                                                       */
295   /* @description:                                                         */
296   /*    A macro used in #include statements to name the file containing    */
297   /*    the renderer module management API of FreeType 2.                  */
298   /*                                                                       */
299 #define FT_RENDER_H  <freetype/ftrender.h>
300
301
302   /*************************************************************************/
303   /*                                                                       */
304   /* @macro:                                                               */
305   /*    FT_TYPE1_TABLES_H                                                  */
306   /*                                                                       */
307   /* @description:                                                         */
308   /*    A macro used in #include statements to name the file containing    */
309   /*    the types and API specific to the Type 1 format.                   */
310   /*                                                                       */
311 #define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
312
313
314   /*************************************************************************/
315   /*                                                                       */
316   /* @macro:                                                               */
317   /*    FT_TRUETYPE_IDS_H                                                  */
318   /*                                                                       */
319   /* @description:                                                         */
320   /*    A macro used in #include statements to name the file containing    */
321   /*    the enumeration values used to identify name strings, languages,   */
322   /*    encodings, etc.  This file really contains a _large_ set of        */
323   /*    constant macro definitions, taken from the TrueType and OpenType   */
324   /*    specifications.                                                    */
325   /*                                                                       */
326 #define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
327
328
329   /*************************************************************************/
330   /*                                                                       */
331   /* @macro:                                                               */
332   /*    FT_TRUETYPE_TABLES_H                                               */
333   /*                                                                       */
334   /* @description:                                                         */
335   /*    A macro used in #include statements to name the file containing    */
336   /*    the types and API specific to the TrueType (as well as OpenType)   */
337   /*    format.                                                            */
338   /*                                                                       */
339 #define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
340
341
342   /*************************************************************************/
343   /*                                                                       */
344   /* @macro:                                                               */
345   /*    FT_TRUETYPE_TAGS_H                                                 */
346   /*                                                                       */
347   /* @description:                                                         */
348   /*    A macro used in #include statements to name the file containing    */
349   /*    the definitions of TrueType 4-byte `tags' used to identify blocks  */
350   /*    in SFNT-based font formats (i.e. TrueType and OpenType).           */
351   /*                                                                       */
352 #define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
353
354
355   /*************************************************************************/
356   /*                                                                       */
357   /* @macro:                                                               */
358   /*    FT_BDF_H                                                           */
359   /*                                                                       */
360   /* @description:                                                         */
361   /*    A macro used in #include statements to name the file containing    */
362   /*    the definitions of an API to access BDF-specific strings from a    */
363   /*    face.                                                              */
364   /*                                                                       */
365 #define FT_BDF_H  <freetype/ftbdf.h>
366
367
368   /*************************************************************************/
369   /*                                                                       */
370   /* @macro:                                                               */
371   /*    FT_GZIP_H                                                          */
372   /*                                                                       */
373   /* @description:                                                         */
374   /*    A macro used in #include statements to name the file containing    */
375   /*    the definitions of an API to support for gzip-compressed files.    */
376   /*                                                                       */
377 #define FT_GZIP_H  <freetype/ftgzip.h>
378
379
380   /*************************************************************************/
381   /*                                                                       */
382   /* @macro:                                                               */
383   /*    FT_LZW_H                                                           */
384   /*                                                                       */
385   /* @description:                                                         */
386   /*    A macro used in #include statements to name the file containing    */
387   /*    the definitions of an API to support for LZW-compressed files.     */
388   /*                                                                       */
389 #define FT_LZW_H  <freetype/ftlzw.h>
390
391
392   /*************************************************************************/
393   /*                                                                       */
394   /* @macro:                                                               */
395   /*    FT_WINFONTS_H                                                      */
396   /*                                                                       */
397   /* @description:                                                         */
398   /*    A macro used in #include statements to name the file containing    */
399   /*    the definitions of an API to support Windows .FNT files            */
400   /*                                                                       */
401 #define FT_WINFONTS_H   <freetype/ftwinfnt.h>
402
403
404   /*************************************************************************/
405   /*                                                                       */
406   /* @macro:                                                               */
407   /*    FT_GLYPH_H                                                         */
408   /*                                                                       */
409   /* @description:                                                         */
410   /*    A macro used in #include statements to name the file containing    */
411   /*    the API of the optional glyph management component.                */
412   /*                                                                       */
413 #define FT_GLYPH_H  <freetype/ftglyph.h>
414
415
416   /*************************************************************************/
417   /*                                                                       */
418   /* @macro:                                                               */
419   /*    FT_BITMAP_H                                                        */
420   /*                                                                       */
421   /* @description:                                                         */
422   /*    A macro used in #include statements to name the file containing    */
423   /*    the API of the optional bitmap conversion component.               */
424   /*                                                                       */
425 #define FT_BITMAP_H  <freetype/ftbitmap.h>
426
427
428   /*************************************************************************/
429   /*                                                                       */
430   /* @macro:                                                               */
431   /*    FT_BBOX_H                                                          */
432   /*                                                                       */
433   /* @description:                                                         */
434   /*    A macro used in #include statements to name the file containing    */
435   /*    the API of the optional exact bounding box computation routines.   */
436   /*                                                                       */
437 #define FT_BBOX_H  <freetype/ftbbox.h>
438
439
440   /*************************************************************************/
441   /*                                                                       */
442   /* @macro:                                                               */
443   /*    FT_CACHE_H                                                         */
444   /*                                                                       */
445   /* @description:                                                         */
446   /*    A macro used in #include statements to name the file containing    */
447   /*    the API of the optional FreeType 2 cache sub-system.               */
448   /*                                                                       */
449 #define FT_CACHE_H  <freetype/ftcache.h>
450
451
452   /*************************************************************************/
453   /*                                                                       */
454   /* @macro:                                                               */
455   /*    FT_CACHE_IMAGE_H                                                   */
456   /*                                                                       */
457   /* @description:                                                         */
458   /*    A macro used in #include statements to name the file containing    */
459   /*    the `glyph image' API of the FreeType 2 cache sub-system.          */
460   /*                                                                       */
461   /*    It is used to define a cache for @FT_Glyph elements.  You can also */
462   /*    see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need  */
463   /*    to store small glyph bitmaps, as it will use less memory.          */
464   /*                                                                       */
465   /*    This macro is deprecated.  Simply include @FT_CACHE_H to have all  */
466   /*    glyph image-related cache declarations.                            */
467   /*                                                                       */
468 #define FT_CACHE_IMAGE_H  FT_CACHE_H
469
470
471   /*************************************************************************/
472   /*                                                                       */
473   /* @macro:                                                               */
474   /*    FT_CACHE_SMALL_BITMAPS_H                                           */
475   /*                                                                       */
476   /* @description:                                                         */
477   /*    A macro used in #include statements to name the file containing    */
478   /*    the `small bitmaps' API of the FreeType 2 cache sub-system.        */
479   /*                                                                       */
480   /*    It is used to define a cache for small glyph bitmaps in a          */
481   /*    relatively memory-efficient way.  You can also use the API defined */
482   /*    in @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,  */
483   /*    including scalable outlines.                                       */
484   /*                                                                       */
485   /*    This macro is deprecated.  Simply include @FT_CACHE_H to have all  */
486   /*    small bitmaps-related cache declarations.                          */
487   /*                                                                       */
488 #define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
489
490
491   /*************************************************************************/
492   /*                                                                       */
493   /* @macro:                                                               */
494   /*    FT_CACHE_CHARMAP_H                                                 */
495   /*                                                                       */
496   /* @description:                                                         */
497   /*    A macro used in #include statements to name the file containing    */
498   /*    the `charmap' API of the FreeType 2 cache sub-system.              */
499   /*                                                                       */
500   /*    This macro is deprecated.  Simply include @FT_CACHE_H to have all  */
501   /*    charmap-based cache declarations.                                  */
502   /*                                                                       */
503 #define FT_CACHE_CHARMAP_H     FT_CACHE_H
504
505
506   /*************************************************************************/
507   /*                                                                       */
508   /* @macro:                                                               */
509   /*    FT_MAC_H                                                           */
510   /*                                                                       */
511   /* @description:                                                         */
512   /*    A macro used in #include statements to name the file containing    */
513   /*    the Macintosh-specific FreeType 2 API. The latter is used to       */
514   /*    access fonts embedded in resource forks.                           */
515   /*                                                                       */
516   /*    This header file must be explicitly included by client             */
517   /*    applications compiled on the Mac (note that the base API still     */
518   /*    works though).                                                     */
519   /*                                                                       */
520 #define FT_MAC_H  <freetype/ftmac.h>
521
522
523   /*************************************************************************/
524   /*                                                                       */
525   /* @macro:                                                               */
526   /*    FT_MULTIPLE_MASTERS_H                                              */
527   /*                                                                       */
528   /* @description:                                                         */
529   /*    A macro used in #include statements to name the file containing    */
530   /*    the optional multiple-masters management API of FreeType 2.        */
531   /*                                                                       */
532 #define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
533
534
535   /*************************************************************************/
536   /*                                                                       */
537   /* @macro:                                                               */
538   /*    FT_SFNT_NAMES_H                                                    */
539   /*                                                                       */
540   /* @description:                                                         */
541   /*    A macro used in #include statements to name the file containing    */
542   /*    the optional FreeType 2 API used to access embedded `name' strings */
543   /*    in SFNT-based font formats (i.e. TrueType and OpenType).           */
544   /*                                                                       */
545 #define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
546
547
548   /*************************************************************************/
549   /*                                                                       */
550   /* @macro:                                                               */
551   /*    FT_OPENTYPE_VALIDATE_H                                             */
552   /*                                                                       */
553   /* @description:                                                         */
554   /*    A macro used in #include statements to name the file containing    */
555   /*    the optional FreeType 2 API used to validate OpenType tables       */
556   /*    (BASE, GDEF, GPOS, GSUB, JSTF).                                    */
557   /*                                                                       */
558 #define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
559
560
561   /* */
562
563 #define FT_TRIGONOMETRY_H       <freetype/fttrigon.h>
564 #define FT_STROKER_H            <freetype/ftstroke.h>
565 #define FT_SYNTHESIS_H          <freetype/ftsynth.h>
566 #define FT_ERROR_DEFINITIONS_H  <freetype/fterrdef.h>
567
568 #define FT_CACHE_MANAGER_H  <freetype/cache/ftcmanag.h>
569
570 #define FT_CACHE_INTERNAL_MRU_H      <freetype/cache/ftcmru.h>
571 #define FT_CACHE_INTERNAL_MANAGER_H  <freetype/cache/ftcmanag.h>
572 #define FT_CACHE_INTERNAL_CACHE_H    <freetype/cache/ftccache.h>
573 #define FT_CACHE_INTERNAL_GLYPH_H    <freetype/cache/ftcglyph.h>
574 #define FT_CACHE_INTERNAL_IMAGE_H    <freetype/cache/ftcimage.h>
575 #define FT_CACHE_INTERNAL_SBITS_H    <freetype/cache/ftcsbits.h>
576
577
578 #define FT_XFREE86_H              <freetype/ftxf86.h>
579
580 #define FT_INCREMENTAL_H          <freetype/ftincrem.h>
581
582 #define FT_TRUETYPE_UNPATENTED_H  <freetype/ttunpat.h>
583
584   /* now include internal headers definitions from <freetype/internal/...> */
585
586 #define  FT_INTERNAL_INTERNAL_H  <freetype/internal/internal.h>
587 #include FT_INTERNAL_INTERNAL_H
588
589
590 #endif /* __FT2_BUILD_H__ */
591
592
593 /* END */