source: trunk/poppler/freetype2/include/freetype/config/ftheader.h @ 182

Last change on this file since 182 was 182, checked in by Eugene Romanenko, 15 years ago

freetype update to version 2.3.0

File size: 23.5 KB
Line 
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 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 it 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   */
109#ifndef FT_CONFIG_CONFIG_H
110#define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
111#endif
112
113
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
127
128
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
142
143
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
158
159
160  /* public headers */
161
162  /*************************************************************************
163   *
164   * @macro:
165   *   FT_FREETYPE_H
166   *
167   * @description:
168   *   A macro used in #include statements to name the file containing the
169   *   base FreeType 2 API.
170   *
171   */
172#define FT_FREETYPE_H  <freetype/freetype.h>
173
174
175  /*************************************************************************
176   *
177   * @macro:
178   *   FT_ERRORS_H
179   *
180   * @description:
181   *   A macro used in #include statements to name the file containing the
182   *   list of FreeType 2 error codes (and messages).
183   *
184   *   It is included by @FT_FREETYPE_H.
185   *
186   */
187#define FT_ERRORS_H  <freetype/fterrors.h>
188
189
190  /*************************************************************************
191   *
192   * @macro:
193   *   FT_MODULE_ERRORS_H
194   *
195   * @description:
196   *   A macro used in #include statements to name the file containing the
197   *   list of FreeType 2 module error offsets (and messages).
198   *
199   */
200#define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
201
202
203  /*************************************************************************
204   *
205   * @macro:
206   *   FT_SYSTEM_H
207   *
208   * @description:
209   *   A macro used in #include statements to name the file containing the
210   *   FreeType 2 interface to low-level operations (i.e., memory management
211   *   and stream i/o).
212   *
213   *   It is included by @FT_FREETYPE_H.
214   *
215   */
216#define FT_SYSTEM_H  <freetype/ftsystem.h>
217
218
219  /*************************************************************************
220   *
221   * @macro:
222   *   FT_IMAGE_H
223   *
224   * @description:
225   *   A macro used in #include statements to name the file containing type
226   *   definitions related to glyph images (i.e., bitmaps, outlines,
227   *   scan-converter parameters).
228   *
229   *   It is included by @FT_FREETYPE_H.
230   *
231   */
232#define FT_IMAGE_H  <freetype/ftimage.h>
233
234
235  /*************************************************************************
236   *
237   * @macro:
238   *   FT_TYPES_H
239   *
240   * @description:
241   *   A macro used in #include statements to name the file containing the
242   *   basic data types defined by FreeType 2.
243   *
244   *   It is included by @FT_FREETYPE_H.
245   *
246   */
247#define FT_TYPES_H  <freetype/fttypes.h>
248
249
250  /*************************************************************************
251   *
252   * @macro:
253   *   FT_LIST_H
254   *
255   * @description:
256   *   A macro used in #include statements to name the file containing the
257   *   list management API of FreeType 2.
258   *
259   *   (Most applications will never need to include this file.)
260   *
261   */
262#define FT_LIST_H  <freetype/ftlist.h>
263
264
265  /*************************************************************************
266   *
267   * @macro:
268   *   FT_OUTLINE_H
269   *
270   * @description:
271   *   A macro used in #include statements to name the file containing the
272   *   scalable outline management API of FreeType 2.
273   *
274   */
275#define FT_OUTLINE_H  <freetype/ftoutln.h>
276
277
278  /*************************************************************************
279   *
280   * @macro:
281   *   FT_SIZES_H
282   *
283   * @description:
284   *   A macro used in #include statements to name the file containing the
285   *   API which manages multiple @FT_Size objects per face.
286   *
287   */
288#define FT_SIZES_H  <freetype/ftsizes.h>
289
290
291  /*************************************************************************
292   *
293   * @macro:
294   *   FT_MODULE_H
295   *
296   * @description:
297   *   A macro used in #include statements to name the file containing the
298   *   module management API of FreeType 2.
299   *
300   */
301#define FT_MODULE_H  <freetype/ftmodapi.h>
302
303
304  /*************************************************************************
305   *
306   * @macro:
307   *   FT_RENDER_H
308   *
309   * @description:
310   *   A macro used in #include statements to name the file containing the
311   *   renderer module management API of FreeType 2.
312   *
313   */
314#define FT_RENDER_H  <freetype/ftrender.h>
315
316
317  /*************************************************************************
318   *
319   * @macro:
320   *   FT_TYPE1_TABLES_H
321   *
322   * @description:
323   *   A macro used in #include statements to name the file containing the
324   *   types and API specific to the Type 1 format.
325   *
326   */
327#define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
328
329
330  /*************************************************************************
331   *
332   * @macro:
333   *   FT_TRUETYPE_IDS_H
334   *
335   * @description:
336   *   A macro used in #include statements to name the file containing the
337   *   enumeration values which identify name strings, languages, encodings,
338   *   etc.  This file really contains a _large_ set of constant macro
339   *   definitions, taken from the TrueType and OpenType specifications.
340   *
341   */
342#define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
343
344
345  /*************************************************************************
346   *
347   * @macro:
348   *   FT_TRUETYPE_TABLES_H
349   *
350   * @description:
351   *   A macro used in #include statements to name the file containing the
352   *   types and API specific to the TrueType (as well as OpenType) format.
353   *
354   */
355#define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
356
357
358  /*************************************************************************
359   *
360   * @macro:
361   *   FT_TRUETYPE_TAGS_H
362   *
363   * @description:
364   *   A macro used in #include statements to name the file containing the
365   *   definitions of TrueType four-byte `tags' which identify blocks in
366   *   SFNT-based font formats (i.e., TrueType and OpenType).
367   *
368   */
369#define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
370
371
372  /*************************************************************************
373   *
374   * @macro:
375   *   FT_BDF_H
376   *
377   * @description:
378   *   A macro used in #include statements to name the file containing the
379   *   definitions of an API which accesses BDF-specific strings from a
380   *   face.
381   *
382   */
383#define FT_BDF_H  <freetype/ftbdf.h>
384
385
386  /*************************************************************************
387   *
388   * @macro:
389   *   FT_GZIP_H
390   *
391   * @description:
392   *   A macro used in #include statements to name the file containing the
393   *   definitions of an API which supports gzip-compressed files.
394   *
395   */
396#define FT_GZIP_H  <freetype/ftgzip.h>
397
398
399  /*************************************************************************
400   *
401   * @macro:
402   *   FT_LZW_H
403   *
404   * @description:
405   *   A macro used in #include statements to name the file containing the
406   *   definitions of an API which supports LZW-compressed files.
407   *
408   */
409#define FT_LZW_H  <freetype/ftlzw.h>
410
411
412  /*************************************************************************
413   *
414   * @macro:
415   *   FT_WINFONTS_H
416   *
417   * @description:
418   *   A macro used in #include statements to name the file containing the
419   *   definitions of an API which supports Windows FNT files.
420   *
421   */
422#define FT_WINFONTS_H   <freetype/ftwinfnt.h>
423
424
425  /*************************************************************************
426   *
427   * @macro:
428   *   FT_GLYPH_H
429   *
430   * @description:
431   *   A macro used in #include statements to name the file containing the
432   *   API of the optional glyph management component.
433   *
434   */
435#define FT_GLYPH_H  <freetype/ftglyph.h>
436
437
438  /*************************************************************************
439   *
440   * @macro:
441   *   FT_BITMAP_H
442   *
443   * @description:
444   *   A macro used in #include statements to name the file containing the
445   *   API of the optional bitmap conversion component.
446   *
447   */
448#define FT_BITMAP_H  <freetype/ftbitmap.h>
449
450
451  /*************************************************************************
452   *
453   * @macro:
454   *   FT_BBOX_H
455   *
456   * @description:
457   *   A macro used in #include statements to name the file containing the
458   *   API of the optional exact bounding box computation routines.
459   *
460   */
461#define FT_BBOX_H  <freetype/ftbbox.h>
462
463
464  /*************************************************************************
465   *
466   * @macro:
467   *   FT_CACHE_H
468   *
469   * @description:
470   *   A macro used in #include statements to name the file containing the
471   *   API of the optional FreeType 2 cache sub-system.
472   *
473   */
474#define FT_CACHE_H  <freetype/ftcache.h>
475
476
477  /*************************************************************************
478   *
479   * @macro:
480   *   FT_CACHE_IMAGE_H
481   *
482   * @description:
483   *   A macro used in #include statements to name the file containing the
484   *   `glyph image' API of the FreeType 2 cache sub-system.
485   *
486   *   It is used to define a cache for @FT_Glyph elements.  You can also
487   *   use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
488   *   store small glyph bitmaps, as it will use less memory.
489   *
490   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
491   *   glyph image-related cache declarations.
492   *
493   */
494#define FT_CACHE_IMAGE_H  FT_CACHE_H
495
496
497  /*************************************************************************
498   *
499   * @macro:
500   *   FT_CACHE_SMALL_BITMAPS_H
501   *
502   * @description:
503   *   A macro used in #include statements to name the file containing the
504   *   `small bitmaps' API of the FreeType 2 cache sub-system.
505   *
506   *   It is used to define a cache for small glyph bitmaps in a relatively
507   *   memory-efficient way.  You can also use the API defined in
508   *   @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,
509   *   including scalable outlines.
510   *
511   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
512   *   small bitmaps-related cache declarations.
513   *
514   */
515#define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
516
517
518  /*************************************************************************
519   *
520   * @macro:
521   *   FT_CACHE_CHARMAP_H
522   *
523   * @description:
524   *   A macro used in #include statements to name the file containing the
525   *   `charmap' API of the FreeType 2 cache sub-system.
526   *
527   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
528   *   charmap-based cache declarations.
529   *
530   */
531#define FT_CACHE_CHARMAP_H  FT_CACHE_H
532
533
534  /*************************************************************************
535   *
536   * @macro:
537   *   FT_MAC_H
538   *
539   * @description:
540   *   A macro used in #include statements to name the file containing the
541   *   Macintosh-specific FreeType 2 API.  The latter is used to access
542   *   fonts embedded in resource forks.
543   *
544   *   This header file must be explicitly included by client applications
545   *   compiled on the Mac (note that the base API still works though).
546   *
547   */
548#define FT_MAC_H  <freetype/ftmac.h>
549
550
551  /*************************************************************************
552   *
553   * @macro:
554   *   FT_MULTIPLE_MASTERS_H
555   *
556   * @description:
557   *   A macro used in #include statements to name the file containing the
558   *   optional multiple-masters management API of FreeType 2.
559   *
560   */
561#define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
562
563
564  /*************************************************************************
565   *
566   * @macro:
567   *   FT_SFNT_NAMES_H
568   *
569   * @description:
570   *   A macro used in #include statements to name the file containing the
571   *   optional FreeType 2 API which accesses embedded `name' strings in
572   *   SFNT-based font formats (i.e., TrueType and OpenType).
573   *
574   */
575#define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
576
577
578  /*************************************************************************
579   *
580   * @macro:
581   *   FT_OPENTYPE_VALIDATE_H
582   *
583   * @description:
584   *   A macro used in #include statements to name the file containing the
585   *   optional FreeType 2 API which validates OpenType tables (BASE, GDEF,
586   *   GPOS, GSUB, JSTF).
587   *
588   */
589#define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
590
591
592  /*************************************************************************
593   *
594   * @macro:
595   *   FT_GX_VALIDATE_H
596   *
597   * @description:
598   *   A macro used in #include statements to name the file containing the
599   *   optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat,
600   *   mort, morx, bsln, just, kern, opbd, trak, prop).
601   *
602   */
603#define FT_GX_VALIDATE_H  <freetype/ftgxval.h>
604
605
606  /*************************************************************************
607   *
608   * @macro:
609   *   FT_PFR_H
610   *
611   * @description:
612   *   A macro used in #include statements to name the file containing the
613   *   FreeType 2 API which accesses PFR-specific data.
614   *
615   */
616#define FT_PFR_H  <freetype/ftpfr.h>
617
618
619  /*************************************************************************
620   *
621   * @macro:
622   *   FT_STROKER_H
623   *
624   * @description:
625   *   A macro used in #include statements to name the file containing the
626   *   FreeType 2 API which provides functions to stroke outline paths.
627   */
628#define FT_STROKER_H  <freetype/ftstroke.h>
629
630
631  /*************************************************************************
632   *
633   * @macro:
634   *   FT_SYNTHESIS_H
635   *
636   * @description:
637   *   A macro used in #include statements to name the file containing the
638   *   FreeType 2 API which performs artificial obliquing and emboldening.
639   */
640#define FT_SYNTHESIS_H  <freetype/ftsynth.h>
641
642
643  /*************************************************************************
644   *
645   * @macro:
646   *   FT_XFREE86_H
647   *
648   * @description:
649   *   A macro used in #include statements to name the file containing the
650   *   FreeType 2 API which provides functions specific to the XFree86 and
651   *   X.Org X11 servers.
652   */
653#define FT_XFREE86_H  <freetype/ftxf86.h>
654
655
656  /*************************************************************************
657   *
658   * @macro:
659   *   FT_TRIGONOMETRY_H
660   *
661   * @description:
662   *   A macro used in #include statements to name the file containing the
663   *   FreeType 2 API which performs trigonometric computations (e.g.,
664   *   cosines and arc tangents).
665   */
666#define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
667
668
669  /*************************************************************************
670   *
671   * @macro:
672   *   FT_LCD_FILTER_H
673   *
674   * @description:
675   *   A macro used in #include statements to name the file containing the
676   *   FreeType 2 API which performs color filtering for subpixel rendering.
677   */
678#define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
679
680
681  /*************************************************************************
682   *
683   * @macro:
684   *   FT_GASP_H
685   *
686   * @description:
687   *   A macro used in #include statements to name the file containing the
688   *   FreeType 2 API which returns entries from the TrueType GASP table.
689   */
690#define FT_GASP_H  <freetype/ftgasp.h>
691
692
693  /* */
694
695#define FT_ERROR_DEFINITIONS_H  <freetype/fterrdef.h>
696
697
698  /* The internals of the cache sub-system are no longer exposed.  We */
699  /* default to FT_CACHE_H at the moment just in case, but we know of */
700  /* no rogue client that uses them.                                  */
701  /*                                                                  */
702#define FT_CACHE_MANAGER_H           <freetype/ftcache.h>
703#define FT_CACHE_INTERNAL_MRU_H      <freetype/ftcache.h>
704#define FT_CACHE_INTERNAL_MANAGER_H  <freetype/ftcache.h>
705#define FT_CACHE_INTERNAL_CACHE_H    <freetype/ftcache.h>
706#define FT_CACHE_INTERNAL_GLYPH_H    <freetype/ftcache.h>
707#define FT_CACHE_INTERNAL_IMAGE_H    <freetype/ftcache.h>
708#define FT_CACHE_INTERNAL_SBITS_H    <freetype/ftcache.h>
709
710
711#define FT_INCREMENTAL_H          <freetype/ftincrem.h>
712
713#define FT_TRUETYPE_UNPATENTED_H  <freetype/ttunpat.h>
714
715
716  /*
717   * Include internal headers definitions from <freetype/internal/...>
718   * only when building the library.
719   */
720#ifdef FT2_BUILD_LIBRARY
721#define  FT_INTERNAL_INTERNAL_H  <freetype/internal/internal.h>
722#include FT_INTERNAL_INTERNAL_H
723#endif /* FT2_BUILD_LIBRARY */
724
725
726#endif /* __FT2_BUILD_H__ */
727
728
729/* END */
Note: See TracBrowser for help on using the repository browser.