source: trunk/poppler/freetype-2.1.10/include/freetype/config/ftheader.h @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 16 years ago

First import

File size: 35.4 KB
Line 
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 */
Note: See TracBrowser for help on using the repository browser.