Skip to content

FreeType » Docs » Core API » Header File Macros

# Header File Macros

## Synopsis

The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in `#include` statements as in:

      #include FT_FREETYPE_H
      #include FT_MULTIPLE_MASTERS_H
      #include FT_GLYPH_H

There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and `FT_MULTIPLE_MASTERS_H` is a lot more meaningful than `ftmm.h`).

The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.

## FT_CONFIG_CONFIG_H

    #ifndef FT_CONFIG_CONFIG_H
    #define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
    #endif

A macro used in `#include` statements to name the file containing FreeType 2 configuration data.

## FT_CONFIG_STANDARD_LIBRARY_H

    #ifndef FT_CONFIG_STANDARD_LIBRARY_H
    #define FT_CONFIG_STANDARD_LIBRARY_H  <freetype/config/ftstdlib.h>
    #endif

A macro used in `#include` statements to name the file containing FreeType 2 interface to the standard C library functions.

## FT_CONFIG_OPTIONS_H

    #ifndef FT_CONFIG_OPTIONS_H
    #define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
    #endif

A macro used in `#include` statements to name the file containing FreeType 2 project-specific configuration options.

## FT_CONFIG_MODULES_H

    #ifndef FT_CONFIG_MODULES_H
    #define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
    #endif

A macro used in `#include` statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in `FT_Init_FreeType`.

## FT_FREETYPE_H

    #define FT_FREETYPE_H  <freetype/freetype.h>

A macro used in `#include` statements to name the file containing the base FreeType 2 API.

## FT_ERRORS_H

    #define FT_ERRORS_H  <freetype/fterrors.h>

A macro used in `#include` statements to name the file containing the list of FreeType 2 error codes (and messages).

It is included by `FT_FREETYPE_H`.

## FT_MODULE_ERRORS_H

    #define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>

A macro used in `#include` statements to name the file containing the list of FreeType 2 module error offsets (and messages).

## FT_SYSTEM_H

    #define FT_SYSTEM_H  <freetype/ftsystem.h>

A macro used in `#include` statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).

It is included by `FT_FREETYPE_H`.

## FT_IMAGE_H

    #define FT_IMAGE_H  <freetype/ftimage.h>

A macro used in `#include` statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).

It is included by `FT_FREETYPE_H`.

## FT_TYPES_H

    #define FT_TYPES_H  <freetype/fttypes.h>

A macro used in `#include` statements to name the file containing the basic data types defined by FreeType 2.

It is included by `FT_FREETYPE_H`.

## FT_LIST_H

    #define FT_LIST_H  <freetype/ftlist.h>

A macro used in `#include` statements to name the file containing the list management API of FreeType 2.

(Most applications will never need to include this file.)

## FT_OUTLINE_H

    #define FT_OUTLINE_H  <freetype/ftoutln.h>

A macro used in `#include` statements to name the file containing the scalable outline management API of FreeType 2.

## FT_SIZES_H

    #define FT_SIZES_H  <freetype/ftsizes.h>

A macro used in `#include` statements to name the file containing the API which manages multiple `FT_Size` objects per face.

## FT_MODULE_H

    #define FT_MODULE_H  <freetype/ftmodapi.h>

A macro used in `#include` statements to name the file containing the module management API of FreeType 2.

## FT_RENDER_H

    #define FT_RENDER_H  <freetype/ftrender.h>

A macro used in `#include` statements to name the file containing the renderer module management API of FreeType 2.

## FT_DRIVER_H

    #define FT_DRIVER_H  <freetype/ftdriver.h>

A macro used in `#include` statements to name the file containing structures and macros related to the driver modules.

## FT_AUTOHINTER_H

    #define FT_AUTOHINTER_H  FT_DRIVER_H

A macro used in `#include` statements to name the file containing structures and macros related to the auto-hinting module.

Deprecated since version 2.9; use `FT_DRIVER_H` instead.

## FT_CFF_DRIVER_H

    #define FT_CFF_DRIVER_H  FT_DRIVER_H

A macro used in `#include` statements to name the file containing structures and macros related to the CFF driver module.

Deprecated since version 2.9; use `FT_DRIVER_H` instead.

## FT_TRUETYPE_DRIVER_H

    #define FT_TRUETYPE_DRIVER_H  FT_DRIVER_H

A macro used in `#include` statements to name the file containing structures and macros related to the TrueType driver module.

Deprecated since version 2.9; use `FT_DRIVER_H` instead.

## FT_PCF_DRIVER_H

    #define FT_PCF_DRIVER_H  FT_DRIVER_H

A macro used in `#include` statements to name the file containing structures and macros related to the PCF driver module.

Deprecated since version 2.9; use `FT_DRIVER_H` instead.

## FT_TYPE1_TABLES_H

    #define FT_TYPE1_TABLES_H  <freetype/t1tables.h>

A macro used in `#include` statements to name the file containing the types and API specific to the Type 1 format.

## FT_TRUETYPE_IDS_H

    #define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>

A macro used in `#include` statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a large set of constant macro definitions, taken from the TrueType and OpenType specifications.

## FT_TRUETYPE_TABLES_H

    #define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>

A macro used in `#include` statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.

## FT_TRUETYPE_TAGS_H

    #define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>

A macro used in `#include` statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).

## FT_BDF_H

    #define FT_BDF_H  <freetype/ftbdf.h>

A macro used in `#include` statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.

## FT_CID_H

    #define FT_CID_H  <freetype/ftcid.h>

A macro used in `#include` statements to name the file containing the definitions of an API which access CID font information from a face.

## FT_GZIP_H

    #define FT_GZIP_H  <freetype/ftgzip.h>

A macro used in `#include` statements to name the file containing the definitions of an API which supports gzip-compressed files.

## FT_LZW_H

    #define FT_LZW_H  <freetype/ftlzw.h>

A macro used in `#include` statements to name the file containing the definitions of an API which supports LZW-compressed files.

## FT_BZIP2_H

    #define FT_BZIP2_H  <freetype/ftbzip2.h>

A macro used in `#include` statements to name the file containing the definitions of an API which supports bzip2-compressed files.

## FT_WINFONTS_H

    #define FT_WINFONTS_H   <freetype/ftwinfnt.h>

A macro used in `#include` statements to name the file containing the definitions of an API which supports Windows FNT files.

## FT_GLYPH_H

    #define FT_GLYPH_H  <freetype/ftglyph.h>

A macro used in `#include` statements to name the file containing the API of the optional glyph management component.

## FT_BITMAP_H

    #define FT_BITMAP_H  <freetype/ftbitmap.h>

A macro used in `#include` statements to name the file containing the API of the optional bitmap conversion component.

## FT_BBOX_H

    #define FT_BBOX_H  <freetype/ftbbox.h>

A macro used in `#include` statements to name the file containing the API of the optional exact bounding box computation routines.

## FT_CACHE_H

    #define FT_CACHE_H  <freetype/ftcache.h>

A macro used in `#include` statements to name the file containing the API of the optional FreeType 2 cache sub-system.

## FT_MAC_H

    #define FT_MAC_H  <freetype/ftmac.h>

A macro used in `#include` statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.

This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).

## FT_MULTIPLE_MASTERS_H

    #define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>

A macro used in `#include` statements to name the file containing the optional multiple-masters management API of FreeType 2.

## FT_SFNT_NAMES_H

    #define FT_SFNT_NAMES_H  <freetype/ftsnames.h>

A macro used in `#include` statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).

## FT_OPENTYPE_VALIDATE_H

    #define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>

A macro used in `#include` statements to name the file containing the optional FreeType 2 API which validates OpenType tables (‘BASE’, ‘GDEF’, ‘GPOS’, ‘GSUB’, ‘JSTF’).

## FT_GX_VALIDATE_H

    #define FT_GX_VALIDATE_H  <freetype/ftgxval.h>

A macro used in `#include` statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (‘feat’, ‘mort’, ‘morx’, ‘bsln’, ‘just’, ‘kern’, ‘opbd’, ‘trak’, ‘prop’).

## FT_PFR_H

    #define FT_PFR_H  <freetype/ftpfr.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which accesses PFR-specific data.

## FT_STROKER_H

    #define FT_STROKER_H  <freetype/ftstroke.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.

## FT_SYNTHESIS_H

    #define FT_SYNTHESIS_H  <freetype/ftsynth.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.

## FT_FONT_FORMATS_H

    #define FT_FONT_FORMATS_H  <freetype/ftfntfmt.h>

      /* deprecated */
    #define FT_XFREE86_H  FT_FONT_FORMATS_H

A macro used in `#include` statements to name the file containing the FreeType 2 API which provides functions specific to font formats.

## FT_TRIGONOMETRY_H

    #define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).

## FT_LCD_FILTER_H

    #define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

## FT_INCREMENTAL_H

    #define FT_INCREMENTAL_H  <freetype/ftincrem.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which performs incremental glyph loading.

## FT_GASP_H

    #define FT_GASP_H  <freetype/ftgasp.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.

## FT_ADVANCES_H

    #define FT_ADVANCES_H  <freetype/ftadvanc.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.

## FT_COLOR_H

    #define FT_COLOR_H  <freetype/ftcolor.h>

A macro used in `#include` statements to name the file containing the FreeType 2 API which handles the OpenType ‘CPAL’ table.