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