1 | /**************************************************************************** |
2 | * |
3 | * ftheader.h |
4 | * |
5 | * Build macros of the FreeType 2 library. |
6 | * |
7 | * Copyright (C) 1996-2023 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 |
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 | #ifndef FT_BEGIN_HEADER |
34 | # ifdef __cplusplus |
35 | # define extern "C" { |
36 | # else |
37 | # define FT_BEGIN_HEADER /* nothing */ |
38 | # endif |
39 | #endif |
40 | |
41 | |
42 | /*@***********************************************************************/ |
43 | /* */ |
44 | /* <Macro> */ |
45 | /* FT_END_HEADER */ |
46 | /* */ |
47 | /* <Description> */ |
48 | /* This macro is used in association with @FT_BEGIN_HEADER in header */ |
49 | /* files to ensure that the declarations within are properly */ |
50 | /* encapsulated in an `extern "C" { .. }` block when included from a */ |
51 | /* C++ compiler. */ |
52 | /* */ |
53 | #ifndef FT_END_HEADER |
54 | # ifdef __cplusplus |
55 | # define } |
56 | # else |
57 | # define FT_END_HEADER /* nothing */ |
58 | # endif |
59 | #endif |
60 | |
61 | |
62 | /************************************************************************** |
63 | * |
64 | * Aliases for the FreeType 2 public and configuration files. |
65 | * |
66 | */ |
67 | |
68 | /************************************************************************** |
69 | * |
70 | * @section: |
71 | * header_file_macros |
72 | * |
73 | * @title: |
74 | * Header File Macros |
75 | * |
76 | * @abstract: |
77 | * Macro definitions used to `#include` specific header files. |
78 | * |
79 | * @description: |
80 | * In addition to the normal scheme of including header files like |
81 | * |
82 | * ``` |
83 | * #include <freetype/freetype.h> |
84 | * #include <freetype/ftmm.h> |
85 | * #include <freetype/ftglyph.h> |
86 | * ``` |
87 | * |
88 | * it is possible to used named macros instead. They can be used |
89 | * directly in `#include` statements as in |
90 | * |
91 | * ``` |
92 | * #include FT_FREETYPE_H |
93 | * #include FT_MULTIPLE_MASTERS_H |
94 | * #include FT_GLYPH_H |
95 | * ``` |
96 | * |
97 | * These macros were introduced to overcome the infamous 8.3~naming rule |
98 | * required by DOS (and `FT_MULTIPLE_MASTERS_H` is a lot more meaningful |
99 | * than `ftmm.h`). |
100 | * |
101 | */ |
102 | |
103 | |
104 | /* configuration files */ |
105 | |
106 | /************************************************************************** |
107 | * |
108 | * @macro: |
109 | * FT_CONFIG_CONFIG_H |
110 | * |
111 | * @description: |
112 | * A macro used in `#include` statements to name the file containing |
113 | * FreeType~2 configuration data. |
114 | * |
115 | */ |
116 | #ifndef FT_CONFIG_CONFIG_H |
117 | #define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h> |
118 | #endif |
119 | |
120 | |
121 | /************************************************************************** |
122 | * |
123 | * @macro: |
124 | * FT_CONFIG_STANDARD_LIBRARY_H |
125 | * |
126 | * @description: |
127 | * A macro used in `#include` statements to name the file containing |
128 | * FreeType~2 interface to the standard C library functions. |
129 | * |
130 | */ |
131 | #ifndef FT_CONFIG_STANDARD_LIBRARY_H |
132 | #define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h> |
133 | #endif |
134 | |
135 | |
136 | /************************************************************************** |
137 | * |
138 | * @macro: |
139 | * FT_CONFIG_OPTIONS_H |
140 | * |
141 | * @description: |
142 | * A macro used in `#include` statements to name the file containing |
143 | * FreeType~2 project-specific configuration options. |
144 | * |
145 | */ |
146 | #ifndef FT_CONFIG_OPTIONS_H |
147 | #define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h> |
148 | #endif |
149 | |
150 | |
151 | /************************************************************************** |
152 | * |
153 | * @macro: |
154 | * FT_CONFIG_MODULES_H |
155 | * |
156 | * @description: |
157 | * A macro used in `#include` statements to name the file containing the |
158 | * list of FreeType~2 modules that are statically linked to new library |
159 | * instances in @FT_Init_FreeType. |
160 | * |
161 | */ |
162 | #ifndef FT_CONFIG_MODULES_H |
163 | #define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h> |
164 | #endif |
165 | |
166 | /* */ |
167 | |
168 | /* public headers */ |
169 | |
170 | /************************************************************************** |
171 | * |
172 | * @macro: |
173 | * FT_FREETYPE_H |
174 | * |
175 | * @description: |
176 | * A macro used in `#include` statements to name the file containing the |
177 | * base FreeType~2 API. |
178 | * |
179 | */ |
180 | #define FT_FREETYPE_H <freetype/freetype.h> |
181 | |
182 | |
183 | /************************************************************************** |
184 | * |
185 | * @macro: |
186 | * FT_ERRORS_H |
187 | * |
188 | * @description: |
189 | * A macro used in `#include` statements to name the file containing the |
190 | * list of FreeType~2 error codes (and messages). |
191 | * |
192 | * It is included by @FT_FREETYPE_H. |
193 | * |
194 | */ |
195 | #define FT_ERRORS_H <freetype/fterrors.h> |
196 | |
197 | |
198 | /************************************************************************** |
199 | * |
200 | * @macro: |
201 | * FT_MODULE_ERRORS_H |
202 | * |
203 | * @description: |
204 | * A macro used in `#include` statements to name the file containing the |
205 | * list of FreeType~2 module error offsets (and messages). |
206 | * |
207 | */ |
208 | #define FT_MODULE_ERRORS_H <freetype/ftmoderr.h> |
209 | |
210 | |
211 | /************************************************************************** |
212 | * |
213 | * @macro: |
214 | * FT_SYSTEM_H |
215 | * |
216 | * @description: |
217 | * A macro used in `#include` statements to name the file containing the |
218 | * FreeType~2 interface to low-level operations (i.e., memory management |
219 | * and stream i/o). |
220 | * |
221 | * It is included by @FT_FREETYPE_H. |
222 | * |
223 | */ |
224 | #define FT_SYSTEM_H <freetype/ftsystem.h> |
225 | |
226 | |
227 | /************************************************************************** |
228 | * |
229 | * @macro: |
230 | * FT_IMAGE_H |
231 | * |
232 | * @description: |
233 | * A macro used in `#include` statements to name the file containing type |
234 | * definitions related to glyph images (i.e., bitmaps, outlines, |
235 | * scan-converter parameters). |
236 | * |
237 | * It is included by @FT_FREETYPE_H. |
238 | * |
239 | */ |
240 | #define FT_IMAGE_H <freetype/ftimage.h> |
241 | |
242 | |
243 | /************************************************************************** |
244 | * |
245 | * @macro: |
246 | * FT_TYPES_H |
247 | * |
248 | * @description: |
249 | * A macro used in `#include` statements to name the file containing the |
250 | * basic data types defined by FreeType~2. |
251 | * |
252 | * It is included by @FT_FREETYPE_H. |
253 | * |
254 | */ |
255 | #define FT_TYPES_H <freetype/fttypes.h> |
256 | |
257 | |
258 | /************************************************************************** |
259 | * |
260 | * @macro: |
261 | * FT_LIST_H |
262 | * |
263 | * @description: |
264 | * A macro used in `#include` statements to name the file containing the |
265 | * list management API of FreeType~2. |
266 | * |
267 | * (Most applications will never need to include this file.) |
268 | * |
269 | */ |
270 | #define FT_LIST_H <freetype/ftlist.h> |
271 | |
272 | |
273 | /************************************************************************** |
274 | * |
275 | * @macro: |
276 | * FT_OUTLINE_H |
277 | * |
278 | * @description: |
279 | * A macro used in `#include` statements to name the file containing the |
280 | * scalable outline management API of FreeType~2. |
281 | * |
282 | */ |
283 | #define FT_OUTLINE_H <freetype/ftoutln.h> |
284 | |
285 | |
286 | /************************************************************************** |
287 | * |
288 | * @macro: |
289 | * FT_SIZES_H |
290 | * |
291 | * @description: |
292 | * A macro used in `#include` statements to name the file containing the |
293 | * API which manages multiple @FT_Size objects per face. |
294 | * |
295 | */ |
296 | #define FT_SIZES_H <freetype/ftsizes.h> |
297 | |
298 | |
299 | /************************************************************************** |
300 | * |
301 | * @macro: |
302 | * FT_MODULE_H |
303 | * |
304 | * @description: |
305 | * A macro used in `#include` statements to name the file containing the |
306 | * module management API of FreeType~2. |
307 | * |
308 | */ |
309 | #define FT_MODULE_H <freetype/ftmodapi.h> |
310 | |
311 | |
312 | /************************************************************************** |
313 | * |
314 | * @macro: |
315 | * FT_RENDER_H |
316 | * |
317 | * @description: |
318 | * A macro used in `#include` statements to name the file containing the |
319 | * renderer module management API of FreeType~2. |
320 | * |
321 | */ |
322 | #define FT_RENDER_H <freetype/ftrender.h> |
323 | |
324 | |
325 | /************************************************************************** |
326 | * |
327 | * @macro: |
328 | * FT_DRIVER_H |
329 | * |
330 | * @description: |
331 | * A macro used in `#include` statements to name the file containing |
332 | * structures and macros related to the driver modules. |
333 | * |
334 | */ |
335 | #define FT_DRIVER_H <freetype/ftdriver.h> |
336 | |
337 | |
338 | /************************************************************************** |
339 | * |
340 | * @macro: |
341 | * FT_AUTOHINTER_H |
342 | * |
343 | * @description: |
344 | * A macro used in `#include` statements to name the file containing |
345 | * structures and macros related to the auto-hinting module. |
346 | * |
347 | * Deprecated since version~2.9; use @FT_DRIVER_H instead. |
348 | * |
349 | */ |
350 | #define FT_AUTOHINTER_H FT_DRIVER_H |
351 | |
352 | |
353 | /************************************************************************** |
354 | * |
355 | * @macro: |
356 | * FT_CFF_DRIVER_H |
357 | * |
358 | * @description: |
359 | * A macro used in `#include` statements to name the file containing |
360 | * structures and macros related to the CFF driver module. |
361 | * |
362 | * Deprecated since version~2.9; use @FT_DRIVER_H instead. |
363 | * |
364 | */ |
365 | #define FT_CFF_DRIVER_H FT_DRIVER_H |
366 | |
367 | |
368 | /************************************************************************** |
369 | * |
370 | * @macro: |
371 | * FT_TRUETYPE_DRIVER_H |
372 | * |
373 | * @description: |
374 | * A macro used in `#include` statements to name the file containing |
375 | * structures and macros related to the TrueType driver module. |
376 | * |
377 | * Deprecated since version~2.9; use @FT_DRIVER_H instead. |
378 | * |
379 | */ |
380 | #define FT_TRUETYPE_DRIVER_H FT_DRIVER_H |
381 | |
382 | |
383 | /************************************************************************** |
384 | * |
385 | * @macro: |
386 | * FT_PCF_DRIVER_H |
387 | * |
388 | * @description: |
389 | * A macro used in `#include` statements to name the file containing |
390 | * structures and macros related to the PCF driver module. |
391 | * |
392 | * Deprecated since version~2.9; use @FT_DRIVER_H instead. |
393 | * |
394 | */ |
395 | #define FT_PCF_DRIVER_H FT_DRIVER_H |
396 | |
397 | |
398 | /************************************************************************** |
399 | * |
400 | * @macro: |
401 | * FT_TYPE1_TABLES_H |
402 | * |
403 | * @description: |
404 | * A macro used in `#include` statements to name the file containing the |
405 | * types and API specific to the Type~1 format. |
406 | * |
407 | */ |
408 | #define FT_TYPE1_TABLES_H <freetype/t1tables.h> |
409 | |
410 | |
411 | /************************************************************************** |
412 | * |
413 | * @macro: |
414 | * FT_TRUETYPE_IDS_H |
415 | * |
416 | * @description: |
417 | * A macro used in `#include` statements to name the file containing the |
418 | * enumeration values which identify name strings, languages, encodings, |
419 | * etc. This file really contains a _large_ set of constant macro |
420 | * definitions, taken from the TrueType and OpenType specifications. |
421 | * |
422 | */ |
423 | #define FT_TRUETYPE_IDS_H <freetype/ttnameid.h> |
424 | |
425 | |
426 | /************************************************************************** |
427 | * |
428 | * @macro: |
429 | * FT_TRUETYPE_TABLES_H |
430 | * |
431 | * @description: |
432 | * A macro used in `#include` statements to name the file containing the |
433 | * types and API specific to the TrueType (as well as OpenType) format. |
434 | * |
435 | */ |
436 | #define FT_TRUETYPE_TABLES_H <freetype/tttables.h> |
437 | |
438 | |
439 | /************************************************************************** |
440 | * |
441 | * @macro: |
442 | * FT_TRUETYPE_TAGS_H |
443 | * |
444 | * @description: |
445 | * A macro used in `#include` statements to name the file containing the |
446 | * definitions of TrueType four-byte 'tags' which identify blocks in |
447 | * SFNT-based font formats (i.e., TrueType and OpenType). |
448 | * |
449 | */ |
450 | #define FT_TRUETYPE_TAGS_H <freetype/tttags.h> |
451 | |
452 | |
453 | /************************************************************************** |
454 | * |
455 | * @macro: |
456 | * FT_BDF_H |
457 | * |
458 | * @description: |
459 | * A macro used in `#include` statements to name the file containing the |
460 | * definitions of an API which accesses BDF-specific strings from a face. |
461 | * |
462 | */ |
463 | #define FT_BDF_H <freetype/ftbdf.h> |
464 | |
465 | |
466 | /************************************************************************** |
467 | * |
468 | * @macro: |
469 | * FT_CID_H |
470 | * |
471 | * @description: |
472 | * A macro used in `#include` statements to name the file containing the |
473 | * definitions of an API which access CID font information from a face. |
474 | * |
475 | */ |
476 | #define FT_CID_H <freetype/ftcid.h> |
477 | |
478 | |
479 | /************************************************************************** |
480 | * |
481 | * @macro: |
482 | * FT_GZIP_H |
483 | * |
484 | * @description: |
485 | * A macro used in `#include` statements to name the file containing the |
486 | * definitions of an API which supports gzip-compressed files. |
487 | * |
488 | */ |
489 | #define FT_GZIP_H <freetype/ftgzip.h> |
490 | |
491 | |
492 | /************************************************************************** |
493 | * |
494 | * @macro: |
495 | * FT_LZW_H |
496 | * |
497 | * @description: |
498 | * A macro used in `#include` statements to name the file containing the |
499 | * definitions of an API which supports LZW-compressed files. |
500 | * |
501 | */ |
502 | #define FT_LZW_H <freetype/ftlzw.h> |
503 | |
504 | |
505 | /************************************************************************** |
506 | * |
507 | * @macro: |
508 | * FT_BZIP2_H |
509 | * |
510 | * @description: |
511 | * A macro used in `#include` statements to name the file containing the |
512 | * definitions of an API which supports bzip2-compressed files. |
513 | * |
514 | */ |
515 | #define FT_BZIP2_H <freetype/ftbzip2.h> |
516 | |
517 | |
518 | /************************************************************************** |
519 | * |
520 | * @macro: |
521 | * FT_WINFONTS_H |
522 | * |
523 | * @description: |
524 | * A macro used in `#include` statements to name the file containing the |
525 | * definitions of an API which supports Windows FNT files. |
526 | * |
527 | */ |
528 | #define FT_WINFONTS_H <freetype/ftwinfnt.h> |
529 | |
530 | |
531 | /************************************************************************** |
532 | * |
533 | * @macro: |
534 | * FT_GLYPH_H |
535 | * |
536 | * @description: |
537 | * A macro used in `#include` statements to name the file containing the |
538 | * API of the optional glyph management component. |
539 | * |
540 | */ |
541 | #define FT_GLYPH_H <freetype/ftglyph.h> |
542 | |
543 | |
544 | /************************************************************************** |
545 | * |
546 | * @macro: |
547 | * FT_BITMAP_H |
548 | * |
549 | * @description: |
550 | * A macro used in `#include` statements to name the file containing the |
551 | * API of the optional bitmap conversion component. |
552 | * |
553 | */ |
554 | #define FT_BITMAP_H <freetype/ftbitmap.h> |
555 | |
556 | |
557 | /************************************************************************** |
558 | * |
559 | * @macro: |
560 | * FT_BBOX_H |
561 | * |
562 | * @description: |
563 | * A macro used in `#include` statements to name the file containing the |
564 | * API of the optional exact bounding box computation routines. |
565 | * |
566 | */ |
567 | #define FT_BBOX_H <freetype/ftbbox.h> |
568 | |
569 | |
570 | /************************************************************************** |
571 | * |
572 | * @macro: |
573 | * FT_CACHE_H |
574 | * |
575 | * @description: |
576 | * A macro used in `#include` statements to name the file containing the |
577 | * API of the optional FreeType~2 cache sub-system. |
578 | * |
579 | */ |
580 | #define FT_CACHE_H <freetype/ftcache.h> |
581 | |
582 | |
583 | /************************************************************************** |
584 | * |
585 | * @macro: |
586 | * FT_MAC_H |
587 | * |
588 | * @description: |
589 | * A macro used in `#include` statements to name the file containing the |
590 | * Macintosh-specific FreeType~2 API. The latter is used to access fonts |
591 | * embedded in resource forks. |
592 | * |
593 | * This header file must be explicitly included by client applications |
594 | * compiled on the Mac (note that the base API still works though). |
595 | * |
596 | */ |
597 | #define FT_MAC_H <freetype/ftmac.h> |
598 | |
599 | |
600 | /************************************************************************** |
601 | * |
602 | * @macro: |
603 | * FT_MULTIPLE_MASTERS_H |
604 | * |
605 | * @description: |
606 | * A macro used in `#include` statements to name the file containing the |
607 | * optional multiple-masters management API of FreeType~2. |
608 | * |
609 | */ |
610 | #define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> |
611 | |
612 | |
613 | /************************************************************************** |
614 | * |
615 | * @macro: |
616 | * FT_SFNT_NAMES_H |
617 | * |
618 | * @description: |
619 | * A macro used in `#include` statements to name the file containing the |
620 | * optional FreeType~2 API which accesses embedded 'name' strings in |
621 | * SFNT-based font formats (i.e., TrueType and OpenType). |
622 | * |
623 | */ |
624 | #define FT_SFNT_NAMES_H <freetype/ftsnames.h> |
625 | |
626 | |
627 | /************************************************************************** |
628 | * |
629 | * @macro: |
630 | * FT_OPENTYPE_VALIDATE_H |
631 | * |
632 | * @description: |
633 | * A macro used in `#include` statements to name the file containing the |
634 | * optional FreeType~2 API which validates OpenType tables ('BASE', |
635 | * 'GDEF', 'GPOS', 'GSUB', 'JSTF'). |
636 | * |
637 | */ |
638 | #define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h> |
639 | |
640 | |
641 | /************************************************************************** |
642 | * |
643 | * @macro: |
644 | * FT_GX_VALIDATE_H |
645 | * |
646 | * @description: |
647 | * A macro used in `#include` statements to name the file containing the |
648 | * optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat', |
649 | * 'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop'). |
650 | * |
651 | */ |
652 | #define FT_GX_VALIDATE_H <freetype/ftgxval.h> |
653 | |
654 | |
655 | /************************************************************************** |
656 | * |
657 | * @macro: |
658 | * FT_PFR_H |
659 | * |
660 | * @description: |
661 | * A macro used in `#include` statements to name the file containing the |
662 | * FreeType~2 API which accesses PFR-specific data. |
663 | * |
664 | */ |
665 | #define FT_PFR_H <freetype/ftpfr.h> |
666 | |
667 | |
668 | /************************************************************************** |
669 | * |
670 | * @macro: |
671 | * FT_STROKER_H |
672 | * |
673 | * @description: |
674 | * A macro used in `#include` statements to name the file containing the |
675 | * FreeType~2 API which provides functions to stroke outline paths. |
676 | */ |
677 | #define FT_STROKER_H <freetype/ftstroke.h> |
678 | |
679 | |
680 | /************************************************************************** |
681 | * |
682 | * @macro: |
683 | * FT_SYNTHESIS_H |
684 | * |
685 | * @description: |
686 | * A macro used in `#include` statements to name the file containing the |
687 | * FreeType~2 API which performs artificial obliquing and emboldening. |
688 | */ |
689 | #define FT_SYNTHESIS_H <freetype/ftsynth.h> |
690 | |
691 | |
692 | /************************************************************************** |
693 | * |
694 | * @macro: |
695 | * FT_FONT_FORMATS_H |
696 | * |
697 | * @description: |
698 | * A macro used in `#include` statements to name the file containing the |
699 | * FreeType~2 API which provides functions specific to font formats. |
700 | */ |
701 | #define FT_FONT_FORMATS_H <freetype/ftfntfmt.h> |
702 | |
703 | /* deprecated */ |
704 | #define FT_XFREE86_H FT_FONT_FORMATS_H |
705 | |
706 | |
707 | /************************************************************************** |
708 | * |
709 | * @macro: |
710 | * FT_TRIGONOMETRY_H |
711 | * |
712 | * @description: |
713 | * A macro used in `#include` statements to name the file containing the |
714 | * FreeType~2 API which performs trigonometric computations (e.g., |
715 | * cosines and arc tangents). |
716 | */ |
717 | #define FT_TRIGONOMETRY_H <freetype/fttrigon.h> |
718 | |
719 | |
720 | /************************************************************************** |
721 | * |
722 | * @macro: |
723 | * FT_LCD_FILTER_H |
724 | * |
725 | * @description: |
726 | * A macro used in `#include` statements to name the file containing the |
727 | * FreeType~2 API which performs color filtering for subpixel rendering. |
728 | */ |
729 | #define FT_LCD_FILTER_H <freetype/ftlcdfil.h> |
730 | |
731 | |
732 | /************************************************************************** |
733 | * |
734 | * @macro: |
735 | * FT_INCREMENTAL_H |
736 | * |
737 | * @description: |
738 | * A macro used in `#include` statements to name the file containing the |
739 | * FreeType~2 API which performs incremental glyph loading. |
740 | */ |
741 | #define FT_INCREMENTAL_H <freetype/ftincrem.h> |
742 | |
743 | |
744 | /************************************************************************** |
745 | * |
746 | * @macro: |
747 | * FT_GASP_H |
748 | * |
749 | * @description: |
750 | * A macro used in `#include` statements to name the file containing the |
751 | * FreeType~2 API which returns entries from the TrueType GASP table. |
752 | */ |
753 | #define FT_GASP_H <freetype/ftgasp.h> |
754 | |
755 | |
756 | /************************************************************************** |
757 | * |
758 | * @macro: |
759 | * FT_ADVANCES_H |
760 | * |
761 | * @description: |
762 | * A macro used in `#include` statements to name the file containing the |
763 | * FreeType~2 API which returns individual and ranged glyph advances. |
764 | */ |
765 | #define FT_ADVANCES_H <freetype/ftadvanc.h> |
766 | |
767 | |
768 | /************************************************************************** |
769 | * |
770 | * @macro: |
771 | * FT_COLOR_H |
772 | * |
773 | * @description: |
774 | * A macro used in `#include` statements to name the file containing the |
775 | * FreeType~2 API which handles the OpenType 'CPAL' table. |
776 | */ |
777 | #define FT_COLOR_H <freetype/ftcolor.h> |
778 | |
779 | |
780 | /************************************************************************** |
781 | * |
782 | * @macro: |
783 | * FT_OTSVG_H |
784 | * |
785 | * @description: |
786 | * A macro used in `#include` statements to name the file containing the |
787 | * FreeType~2 API which handles the OpenType 'SVG~' glyphs. |
788 | */ |
789 | #define FT_OTSVG_H <freetype/otsvg.h> |
790 | |
791 | |
792 | /* */ |
793 | |
794 | /* These header files don't need to be included by the user. */ |
795 | #define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h> |
796 | #define FT_PARAMETER_TAGS_H <freetype/ftparams.h> |
797 | |
798 | /* Deprecated macros. */ |
799 | #define FT_UNPATENTED_HINTING_H <freetype/ftparams.h> |
800 | #define FT_TRUETYPE_UNPATENTED_H <freetype/ftparams.h> |
801 | |
802 | /* `FT_CACHE_H` is the only header file needed for the cache subsystem. */ |
803 | #define FT_CACHE_IMAGE_H FT_CACHE_H |
804 | #define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H |
805 | #define FT_CACHE_CHARMAP_H FT_CACHE_H |
806 | |
807 | /* The internals of the cache sub-system are no longer exposed. We */ |
808 | /* default to `FT_CACHE_H` at the moment just in case, but we know */ |
809 | /* of no rogue client that uses them. */ |
810 | /* */ |
811 | #define FT_CACHE_MANAGER_H FT_CACHE_H |
812 | #define FT_CACHE_INTERNAL_MRU_H FT_CACHE_H |
813 | #define FT_CACHE_INTERNAL_MANAGER_H FT_CACHE_H |
814 | #define FT_CACHE_INTERNAL_CACHE_H FT_CACHE_H |
815 | #define FT_CACHE_INTERNAL_GLYPH_H FT_CACHE_H |
816 | #define FT_CACHE_INTERNAL_IMAGE_H FT_CACHE_H |
817 | #define FT_CACHE_INTERNAL_SBITS_H FT_CACHE_H |
818 | |
819 | /* TODO(david): Move this section below to a different header */ |
820 | #ifdef FT2_BUILD_LIBRARY |
821 | #if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */ |
822 | |
823 | /* We disable the warning `conditional expression is constant' here */ |
824 | /* in order to compile cleanly with the maximum level of warnings. */ |
825 | /* In particular, the warning complains about stuff like `while(0)' */ |
826 | /* which is very useful in macro definitions. There is no benefit */ |
827 | /* in having it enabled. */ |
828 | #pragma warning( disable : 4127 ) |
829 | |
830 | #endif /* _MSC_VER */ |
831 | #endif /* FT2_BUILD_LIBRARY */ |
832 | |
833 | #endif /* FTHEADER_H_ */ |
834 | |
835 | |
836 | /* END */ |
837 | |