Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:35:44

0001 /****************************************************************************
0002  *
0003  * ftheader.h
0004  *
0005  *   Build macros of the FreeType 2 library.
0006  *
0007  * Copyright (C) 1996-2023 by
0008  * David Turner, Robert Wilhelm, and Werner Lemberg.
0009  *
0010  * This file is part of the FreeType project, and may only be used,
0011  * modified, and distributed under the terms of the FreeType project
0012  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
0013  * this file you indicate that you have read the license and
0014  * understand and accept it fully.
0015  *
0016  */
0017 
0018 #ifndef FTHEADER_H_
0019 #define FTHEADER_H_
0020 
0021 
0022   /*@***********************************************************************/
0023   /*                                                                       */
0024   /* <Macro>                                                               */
0025   /*    FT_BEGIN_HEADER                                                    */
0026   /*                                                                       */
0027   /* <Description>                                                         */
0028   /*    This macro is used in association with @FT_END_HEADER in header    */
0029   /*    files to ensure that the declarations within are properly          */
0030   /*    encapsulated in an `extern "C" { .. }` block when included from a  */
0031   /*    C++ compiler.                                                      */
0032   /*                                                                       */
0033 #ifndef FT_BEGIN_HEADER
0034 #  ifdef __cplusplus
0035 #    define FT_BEGIN_HEADER  extern "C" {
0036 #  else
0037 #  define FT_BEGIN_HEADER  /* nothing */
0038 #  endif
0039 #endif
0040 
0041 
0042   /*@***********************************************************************/
0043   /*                                                                       */
0044   /* <Macro>                                                               */
0045   /*    FT_END_HEADER                                                      */
0046   /*                                                                       */
0047   /* <Description>                                                         */
0048   /*    This macro is used in association with @FT_BEGIN_HEADER in header  */
0049   /*    files to ensure that the declarations within are properly          */
0050   /*    encapsulated in an `extern "C" { .. }` block when included from a  */
0051   /*    C++ compiler.                                                      */
0052   /*                                                                       */
0053 #ifndef FT_END_HEADER
0054 #  ifdef __cplusplus
0055 #    define FT_END_HEADER  }
0056 #  else
0057 #   define FT_END_HEADER  /* nothing */
0058 #  endif
0059 #endif
0060 
0061 
0062   /**************************************************************************
0063    *
0064    * Aliases for the FreeType 2 public and configuration files.
0065    *
0066    */
0067 
0068   /**************************************************************************
0069    *
0070    * @section:
0071    *   header_file_macros
0072    *
0073    * @title:
0074    *   Header File Macros
0075    *
0076    * @abstract:
0077    *   Macro definitions used to `#include` specific header files.
0078    *
0079    * @description:
0080    *   In addition to the normal scheme of including header files like
0081    *
0082    *   ```
0083    *     #include <freetype/freetype.h>
0084    *     #include <freetype/ftmm.h>
0085    *     #include <freetype/ftglyph.h>
0086    *   ```
0087    *
0088    *   it is possible to used named macros instead.  They can be used
0089    *   directly in `#include` statements as in
0090    *
0091    *   ```
0092    *     #include FT_FREETYPE_H
0093    *     #include FT_MULTIPLE_MASTERS_H
0094    *     #include FT_GLYPH_H
0095    *   ```
0096    *
0097    *   These macros were introduced to overcome the infamous 8.3~naming rule
0098    *   required by DOS (and `FT_MULTIPLE_MASTERS_H` is a lot more meaningful
0099    *   than `ftmm.h`).
0100    *
0101    */
0102 
0103 
0104   /* configuration files */
0105 
0106   /**************************************************************************
0107    *
0108    * @macro:
0109    *   FT_CONFIG_CONFIG_H
0110    *
0111    * @description:
0112    *   A macro used in `#include` statements to name the file containing
0113    *   FreeType~2 configuration data.
0114    *
0115    */
0116 #ifndef FT_CONFIG_CONFIG_H
0117 #define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
0118 #endif
0119 
0120 
0121   /**************************************************************************
0122    *
0123    * @macro:
0124    *   FT_CONFIG_STANDARD_LIBRARY_H
0125    *
0126    * @description:
0127    *   A macro used in `#include` statements to name the file containing
0128    *   FreeType~2 interface to the standard C library functions.
0129    *
0130    */
0131 #ifndef FT_CONFIG_STANDARD_LIBRARY_H
0132 #define FT_CONFIG_STANDARD_LIBRARY_H  <freetype/config/ftstdlib.h>
0133 #endif
0134 
0135 
0136   /**************************************************************************
0137    *
0138    * @macro:
0139    *   FT_CONFIG_OPTIONS_H
0140    *
0141    * @description:
0142    *   A macro used in `#include` statements to name the file containing
0143    *   FreeType~2 project-specific configuration options.
0144    *
0145    */
0146 #ifndef FT_CONFIG_OPTIONS_H
0147 #define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
0148 #endif
0149 
0150 
0151   /**************************************************************************
0152    *
0153    * @macro:
0154    *   FT_CONFIG_MODULES_H
0155    *
0156    * @description:
0157    *   A macro used in `#include` statements to name the file containing the
0158    *   list of FreeType~2 modules that are statically linked to new library
0159    *   instances in @FT_Init_FreeType.
0160    *
0161    */
0162 #ifndef FT_CONFIG_MODULES_H
0163 #define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
0164 #endif
0165 
0166   /* */
0167 
0168   /* public headers */
0169 
0170   /**************************************************************************
0171    *
0172    * @macro:
0173    *   FT_FREETYPE_H
0174    *
0175    * @description:
0176    *   A macro used in `#include` statements to name the file containing the
0177    *   base FreeType~2 API.
0178    *
0179    */
0180 #define FT_FREETYPE_H  <freetype/freetype.h>
0181 
0182 
0183   /**************************************************************************
0184    *
0185    * @macro:
0186    *   FT_ERRORS_H
0187    *
0188    * @description:
0189    *   A macro used in `#include` statements to name the file containing the
0190    *   list of FreeType~2 error codes (and messages).
0191    *
0192    *   It is included by @FT_FREETYPE_H.
0193    *
0194    */
0195 #define FT_ERRORS_H  <freetype/fterrors.h>
0196 
0197 
0198   /**************************************************************************
0199    *
0200    * @macro:
0201    *   FT_MODULE_ERRORS_H
0202    *
0203    * @description:
0204    *   A macro used in `#include` statements to name the file containing the
0205    *   list of FreeType~2 module error offsets (and messages).
0206    *
0207    */
0208 #define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
0209 
0210 
0211   /**************************************************************************
0212    *
0213    * @macro:
0214    *   FT_SYSTEM_H
0215    *
0216    * @description:
0217    *   A macro used in `#include` statements to name the file containing the
0218    *   FreeType~2 interface to low-level operations (i.e., memory management
0219    *   and stream i/o).
0220    *
0221    *   It is included by @FT_FREETYPE_H.
0222    *
0223    */
0224 #define FT_SYSTEM_H  <freetype/ftsystem.h>
0225 
0226 
0227   /**************************************************************************
0228    *
0229    * @macro:
0230    *   FT_IMAGE_H
0231    *
0232    * @description:
0233    *   A macro used in `#include` statements to name the file containing type
0234    *   definitions related to glyph images (i.e., bitmaps, outlines,
0235    *   scan-converter parameters).
0236    *
0237    *   It is included by @FT_FREETYPE_H.
0238    *
0239    */
0240 #define FT_IMAGE_H  <freetype/ftimage.h>
0241 
0242 
0243   /**************************************************************************
0244    *
0245    * @macro:
0246    *   FT_TYPES_H
0247    *
0248    * @description:
0249    *   A macro used in `#include` statements to name the file containing the
0250    *   basic data types defined by FreeType~2.
0251    *
0252    *   It is included by @FT_FREETYPE_H.
0253    *
0254    */
0255 #define FT_TYPES_H  <freetype/fttypes.h>
0256 
0257 
0258   /**************************************************************************
0259    *
0260    * @macro:
0261    *   FT_LIST_H
0262    *
0263    * @description:
0264    *   A macro used in `#include` statements to name the file containing the
0265    *   list management API of FreeType~2.
0266    *
0267    *   (Most applications will never need to include this file.)
0268    *
0269    */
0270 #define FT_LIST_H  <freetype/ftlist.h>
0271 
0272 
0273   /**************************************************************************
0274    *
0275    * @macro:
0276    *   FT_OUTLINE_H
0277    *
0278    * @description:
0279    *   A macro used in `#include` statements to name the file containing the
0280    *   scalable outline management API of FreeType~2.
0281    *
0282    */
0283 #define FT_OUTLINE_H  <freetype/ftoutln.h>
0284 
0285 
0286   /**************************************************************************
0287    *
0288    * @macro:
0289    *   FT_SIZES_H
0290    *
0291    * @description:
0292    *   A macro used in `#include` statements to name the file containing the
0293    *   API which manages multiple @FT_Size objects per face.
0294    *
0295    */
0296 #define FT_SIZES_H  <freetype/ftsizes.h>
0297 
0298 
0299   /**************************************************************************
0300    *
0301    * @macro:
0302    *   FT_MODULE_H
0303    *
0304    * @description:
0305    *   A macro used in `#include` statements to name the file containing the
0306    *   module management API of FreeType~2.
0307    *
0308    */
0309 #define FT_MODULE_H  <freetype/ftmodapi.h>
0310 
0311 
0312   /**************************************************************************
0313    *
0314    * @macro:
0315    *   FT_RENDER_H
0316    *
0317    * @description:
0318    *   A macro used in `#include` statements to name the file containing the
0319    *   renderer module management API of FreeType~2.
0320    *
0321    */
0322 #define FT_RENDER_H  <freetype/ftrender.h>
0323 
0324 
0325   /**************************************************************************
0326    *
0327    * @macro:
0328    *   FT_DRIVER_H
0329    *
0330    * @description:
0331    *   A macro used in `#include` statements to name the file containing
0332    *   structures and macros related to the driver modules.
0333    *
0334    */
0335 #define FT_DRIVER_H  <freetype/ftdriver.h>
0336 
0337 
0338   /**************************************************************************
0339    *
0340    * @macro:
0341    *   FT_AUTOHINTER_H
0342    *
0343    * @description:
0344    *   A macro used in `#include` statements to name the file containing
0345    *   structures and macros related to the auto-hinting module.
0346    *
0347    *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
0348    *
0349    */
0350 #define FT_AUTOHINTER_H  FT_DRIVER_H
0351 
0352 
0353   /**************************************************************************
0354    *
0355    * @macro:
0356    *   FT_CFF_DRIVER_H
0357    *
0358    * @description:
0359    *   A macro used in `#include` statements to name the file containing
0360    *   structures and macros related to the CFF driver module.
0361    *
0362    *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
0363    *
0364    */
0365 #define FT_CFF_DRIVER_H  FT_DRIVER_H
0366 
0367 
0368   /**************************************************************************
0369    *
0370    * @macro:
0371    *   FT_TRUETYPE_DRIVER_H
0372    *
0373    * @description:
0374    *   A macro used in `#include` statements to name the file containing
0375    *   structures and macros related to the TrueType driver module.
0376    *
0377    *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
0378    *
0379    */
0380 #define FT_TRUETYPE_DRIVER_H  FT_DRIVER_H
0381 
0382 
0383   /**************************************************************************
0384    *
0385    * @macro:
0386    *   FT_PCF_DRIVER_H
0387    *
0388    * @description:
0389    *   A macro used in `#include` statements to name the file containing
0390    *   structures and macros related to the PCF driver module.
0391    *
0392    *   Deprecated since version~2.9; use @FT_DRIVER_H instead.
0393    *
0394    */
0395 #define FT_PCF_DRIVER_H  FT_DRIVER_H
0396 
0397 
0398   /**************************************************************************
0399    *
0400    * @macro:
0401    *   FT_TYPE1_TABLES_H
0402    *
0403    * @description:
0404    *   A macro used in `#include` statements to name the file containing the
0405    *   types and API specific to the Type~1 format.
0406    *
0407    */
0408 #define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
0409 
0410 
0411   /**************************************************************************
0412    *
0413    * @macro:
0414    *   FT_TRUETYPE_IDS_H
0415    *
0416    * @description:
0417    *   A macro used in `#include` statements to name the file containing the
0418    *   enumeration values which identify name strings, languages, encodings,
0419    *   etc.  This file really contains a _large_ set of constant macro
0420    *   definitions, taken from the TrueType and OpenType specifications.
0421    *
0422    */
0423 #define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
0424 
0425 
0426   /**************************************************************************
0427    *
0428    * @macro:
0429    *   FT_TRUETYPE_TABLES_H
0430    *
0431    * @description:
0432    *   A macro used in `#include` statements to name the file containing the
0433    *   types and API specific to the TrueType (as well as OpenType) format.
0434    *
0435    */
0436 #define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
0437 
0438 
0439   /**************************************************************************
0440    *
0441    * @macro:
0442    *   FT_TRUETYPE_TAGS_H
0443    *
0444    * @description:
0445    *   A macro used in `#include` statements to name the file containing the
0446    *   definitions of TrueType four-byte 'tags' which identify blocks in
0447    *   SFNT-based font formats (i.e., TrueType and OpenType).
0448    *
0449    */
0450 #define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
0451 
0452 
0453   /**************************************************************************
0454    *
0455    * @macro:
0456    *   FT_BDF_H
0457    *
0458    * @description:
0459    *   A macro used in `#include` statements to name the file containing the
0460    *   definitions of an API which accesses BDF-specific strings from a face.
0461    *
0462    */
0463 #define FT_BDF_H  <freetype/ftbdf.h>
0464 
0465 
0466   /**************************************************************************
0467    *
0468    * @macro:
0469    *   FT_CID_H
0470    *
0471    * @description:
0472    *   A macro used in `#include` statements to name the file containing the
0473    *   definitions of an API which access CID font information from a face.
0474    *
0475    */
0476 #define FT_CID_H  <freetype/ftcid.h>
0477 
0478 
0479   /**************************************************************************
0480    *
0481    * @macro:
0482    *   FT_GZIP_H
0483    *
0484    * @description:
0485    *   A macro used in `#include` statements to name the file containing the
0486    *   definitions of an API which supports gzip-compressed files.
0487    *
0488    */
0489 #define FT_GZIP_H  <freetype/ftgzip.h>
0490 
0491 
0492   /**************************************************************************
0493    *
0494    * @macro:
0495    *   FT_LZW_H
0496    *
0497    * @description:
0498    *   A macro used in `#include` statements to name the file containing the
0499    *   definitions of an API which supports LZW-compressed files.
0500    *
0501    */
0502 #define FT_LZW_H  <freetype/ftlzw.h>
0503 
0504 
0505   /**************************************************************************
0506    *
0507    * @macro:
0508    *   FT_BZIP2_H
0509    *
0510    * @description:
0511    *   A macro used in `#include` statements to name the file containing the
0512    *   definitions of an API which supports bzip2-compressed files.
0513    *
0514    */
0515 #define FT_BZIP2_H  <freetype/ftbzip2.h>
0516 
0517 
0518   /**************************************************************************
0519    *
0520    * @macro:
0521    *   FT_WINFONTS_H
0522    *
0523    * @description:
0524    *   A macro used in `#include` statements to name the file containing the
0525    *   definitions of an API which supports Windows FNT files.
0526    *
0527    */
0528 #define FT_WINFONTS_H   <freetype/ftwinfnt.h>
0529 
0530 
0531   /**************************************************************************
0532    *
0533    * @macro:
0534    *   FT_GLYPH_H
0535    *
0536    * @description:
0537    *   A macro used in `#include` statements to name the file containing the
0538    *   API of the optional glyph management component.
0539    *
0540    */
0541 #define FT_GLYPH_H  <freetype/ftglyph.h>
0542 
0543 
0544   /**************************************************************************
0545    *
0546    * @macro:
0547    *   FT_BITMAP_H
0548    *
0549    * @description:
0550    *   A macro used in `#include` statements to name the file containing the
0551    *   API of the optional bitmap conversion component.
0552    *
0553    */
0554 #define FT_BITMAP_H  <freetype/ftbitmap.h>
0555 
0556 
0557   /**************************************************************************
0558    *
0559    * @macro:
0560    *   FT_BBOX_H
0561    *
0562    * @description:
0563    *   A macro used in `#include` statements to name the file containing the
0564    *   API of the optional exact bounding box computation routines.
0565    *
0566    */
0567 #define FT_BBOX_H  <freetype/ftbbox.h>
0568 
0569 
0570   /**************************************************************************
0571    *
0572    * @macro:
0573    *   FT_CACHE_H
0574    *
0575    * @description:
0576    *   A macro used in `#include` statements to name the file containing the
0577    *   API of the optional FreeType~2 cache sub-system.
0578    *
0579    */
0580 #define FT_CACHE_H  <freetype/ftcache.h>
0581 
0582 
0583   /**************************************************************************
0584    *
0585    * @macro:
0586    *   FT_MAC_H
0587    *
0588    * @description:
0589    *   A macro used in `#include` statements to name the file containing the
0590    *   Macintosh-specific FreeType~2 API.  The latter is used to access fonts
0591    *   embedded in resource forks.
0592    *
0593    *   This header file must be explicitly included by client applications
0594    *   compiled on the Mac (note that the base API still works though).
0595    *
0596    */
0597 #define FT_MAC_H  <freetype/ftmac.h>
0598 
0599 
0600   /**************************************************************************
0601    *
0602    * @macro:
0603    *   FT_MULTIPLE_MASTERS_H
0604    *
0605    * @description:
0606    *   A macro used in `#include` statements to name the file containing the
0607    *   optional multiple-masters management API of FreeType~2.
0608    *
0609    */
0610 #define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
0611 
0612 
0613   /**************************************************************************
0614    *
0615    * @macro:
0616    *   FT_SFNT_NAMES_H
0617    *
0618    * @description:
0619    *   A macro used in `#include` statements to name the file containing the
0620    *   optional FreeType~2 API which accesses embedded 'name' strings in
0621    *   SFNT-based font formats (i.e., TrueType and OpenType).
0622    *
0623    */
0624 #define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
0625 
0626 
0627   /**************************************************************************
0628    *
0629    * @macro:
0630    *   FT_OPENTYPE_VALIDATE_H
0631    *
0632    * @description:
0633    *   A macro used in `#include` statements to name the file containing the
0634    *   optional FreeType~2 API which validates OpenType tables ('BASE',
0635    *   'GDEF', 'GPOS', 'GSUB', 'JSTF').
0636    *
0637    */
0638 #define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
0639 
0640 
0641   /**************************************************************************
0642    *
0643    * @macro:
0644    *   FT_GX_VALIDATE_H
0645    *
0646    * @description:
0647    *   A macro used in `#include` statements to name the file containing the
0648    *   optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat',
0649    *   'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop').
0650    *
0651    */
0652 #define FT_GX_VALIDATE_H  <freetype/ftgxval.h>
0653 
0654 
0655   /**************************************************************************
0656    *
0657    * @macro:
0658    *   FT_PFR_H
0659    *
0660    * @description:
0661    *   A macro used in `#include` statements to name the file containing the
0662    *   FreeType~2 API which accesses PFR-specific data.
0663    *
0664    */
0665 #define FT_PFR_H  <freetype/ftpfr.h>
0666 
0667 
0668   /**************************************************************************
0669    *
0670    * @macro:
0671    *   FT_STROKER_H
0672    *
0673    * @description:
0674    *   A macro used in `#include` statements to name the file containing the
0675    *   FreeType~2 API which provides functions to stroke outline paths.
0676    */
0677 #define FT_STROKER_H  <freetype/ftstroke.h>
0678 
0679 
0680   /**************************************************************************
0681    *
0682    * @macro:
0683    *   FT_SYNTHESIS_H
0684    *
0685    * @description:
0686    *   A macro used in `#include` statements to name the file containing the
0687    *   FreeType~2 API which performs artificial obliquing and emboldening.
0688    */
0689 #define FT_SYNTHESIS_H  <freetype/ftsynth.h>
0690 
0691 
0692   /**************************************************************************
0693    *
0694    * @macro:
0695    *   FT_FONT_FORMATS_H
0696    *
0697    * @description:
0698    *   A macro used in `#include` statements to name the file containing the
0699    *   FreeType~2 API which provides functions specific to font formats.
0700    */
0701 #define FT_FONT_FORMATS_H  <freetype/ftfntfmt.h>
0702 
0703   /* deprecated */
0704 #define FT_XFREE86_H  FT_FONT_FORMATS_H
0705 
0706 
0707   /**************************************************************************
0708    *
0709    * @macro:
0710    *   FT_TRIGONOMETRY_H
0711    *
0712    * @description:
0713    *   A macro used in `#include` statements to name the file containing the
0714    *   FreeType~2 API which performs trigonometric computations (e.g.,
0715    *   cosines and arc tangents).
0716    */
0717 #define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
0718 
0719 
0720   /**************************************************************************
0721    *
0722    * @macro:
0723    *   FT_LCD_FILTER_H
0724    *
0725    * @description:
0726    *   A macro used in `#include` statements to name the file containing the
0727    *   FreeType~2 API which performs color filtering for subpixel rendering.
0728    */
0729 #define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
0730 
0731 
0732   /**************************************************************************
0733    *
0734    * @macro:
0735    *   FT_INCREMENTAL_H
0736    *
0737    * @description:
0738    *   A macro used in `#include` statements to name the file containing the
0739    *   FreeType~2 API which performs incremental glyph loading.
0740    */
0741 #define FT_INCREMENTAL_H  <freetype/ftincrem.h>
0742 
0743 
0744   /**************************************************************************
0745    *
0746    * @macro:
0747    *   FT_GASP_H
0748    *
0749    * @description:
0750    *   A macro used in `#include` statements to name the file containing the
0751    *   FreeType~2 API which returns entries from the TrueType GASP table.
0752    */
0753 #define FT_GASP_H  <freetype/ftgasp.h>
0754 
0755 
0756   /**************************************************************************
0757    *
0758    * @macro:
0759    *   FT_ADVANCES_H
0760    *
0761    * @description:
0762    *   A macro used in `#include` statements to name the file containing the
0763    *   FreeType~2 API which returns individual and ranged glyph advances.
0764    */
0765 #define FT_ADVANCES_H  <freetype/ftadvanc.h>
0766 
0767 
0768   /**************************************************************************
0769    *
0770    * @macro:
0771    *   FT_COLOR_H
0772    *
0773    * @description:
0774    *   A macro used in `#include` statements to name the file containing the
0775    *   FreeType~2 API which handles the OpenType 'CPAL' table.
0776    */
0777 #define FT_COLOR_H  <freetype/ftcolor.h>
0778 
0779 
0780   /**************************************************************************
0781    *
0782    * @macro:
0783    *   FT_OTSVG_H
0784    *
0785    * @description:
0786    *   A macro used in `#include` statements to name the file containing the
0787    *   FreeType~2 API which handles the OpenType 'SVG~' glyphs.
0788    */
0789 #define FT_OTSVG_H  <freetype/otsvg.h>
0790 
0791 
0792   /* */
0793 
0794   /* These header files don't need to be included by the user. */
0795 #define FT_ERROR_DEFINITIONS_H  <freetype/fterrdef.h>
0796 #define FT_PARAMETER_TAGS_H     <freetype/ftparams.h>
0797 
0798   /* Deprecated macros. */
0799 #define FT_UNPATENTED_HINTING_H   <freetype/ftparams.h>
0800 #define FT_TRUETYPE_UNPATENTED_H  <freetype/ftparams.h>
0801 
0802   /* `FT_CACHE_H` is the only header file needed for the cache subsystem. */
0803 #define FT_CACHE_IMAGE_H          FT_CACHE_H
0804 #define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
0805 #define FT_CACHE_CHARMAP_H        FT_CACHE_H
0806 
0807   /* The internals of the cache sub-system are no longer exposed.  We */
0808   /* default to `FT_CACHE_H` at the moment just in case, but we know  */
0809   /* of no rogue client that uses them.                               */
0810   /*                                                                  */
0811 #define FT_CACHE_MANAGER_H           FT_CACHE_H
0812 #define FT_CACHE_INTERNAL_MRU_H      FT_CACHE_H
0813 #define FT_CACHE_INTERNAL_MANAGER_H  FT_CACHE_H
0814 #define FT_CACHE_INTERNAL_CACHE_H    FT_CACHE_H
0815 #define FT_CACHE_INTERNAL_GLYPH_H    FT_CACHE_H
0816 #define FT_CACHE_INTERNAL_IMAGE_H    FT_CACHE_H
0817 #define FT_CACHE_INTERNAL_SBITS_H    FT_CACHE_H
0818 
0819 /* TODO(david): Move this section below to a different header */
0820 #ifdef FT2_BUILD_LIBRARY
0821 #if defined( _MSC_VER )      /* Visual C++ (and Intel C++) */
0822 
0823   /* We disable the warning `conditional expression is constant' here */
0824   /* in order to compile cleanly with the maximum level of warnings.  */
0825   /* In particular, the warning complains about stuff like `while(0)' */
0826   /* which is very useful in macro definitions.  There is no benefit  */
0827   /* in having it enabled.                                            */
0828 #pragma warning( disable : 4127 )
0829 
0830 #endif /* _MSC_VER */
0831 #endif /* FT2_BUILD_LIBRARY */
0832 
0833 #endif /* FTHEADER_H_ */
0834 
0835 
0836 /* END */