[Index] |  | [TOC]

# FreeType-2.3.9 API Reference

# Header File Macros

## Synopsis

| FT_CONFIG_CONFIG_H |  | FT_WINFONTS_H
| FT_CONFIG_STANDARD_LIBRARY_H |  | FT_GLYPH_H
| FT_CONFIG_OPTIONS_H |  | FT_BITMAP_H
| FT_CONFIG_MODULES_H |  | FT_BBOX_H
| FT_FREETYPE_H |  | FT_CACHE_H
| FT_ERRORS_H |  | FT_CACHE_IMAGE_H
| FT_MODULE_ERRORS_H |  | FT_CACHE_SMALL_BITMAPS_H
| FT_SYSTEM_H |  | FT_CACHE_CHARMAP_H
| FT_IMAGE_H |  | FT_MAC_H
| FT_TYPES_H |  | FT_MULTIPLE_MASTERS_H
| FT_LIST_H |  | FT_SFNT_NAMES_H
| FT_OUTLINE_H |  | FT_OPENTYPE_VALIDATE_H
| FT_SIZES_H |  | FT_GX_VALIDATE_H
| FT_MODULE_H |  | FT_PFR_H
| FT_RENDER_H |  | FT_STROKER_H
| FT_TYPE1_TABLES_H |  | FT_SYNTHESIS_H
| FT_TRUETYPE_IDS_H |  | FT_XFREE86_H
| FT_TRUETYPE_TABLES_H |  | FT_TRIGONOMETRY_H
| FT_TRUETYPE_TAGS_H |  | FT_LCD_FILTER_H
| FT_BDF_H |  | FT_UNPATENTED_HINTING_H
| FT_CID_H |  | FT_INCREMENTAL_H
| FT_GZIP_H |  | FT_GASP_H
| FT_LZW_H |  | FT_ADVANCES_H

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.

[Index] |  | [TOC]

#### 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.

[Index] |  | [TOC]

#### 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.

[Index] |  | [TOC]

#### 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.

[Index] |  | [TOC]

#### FT_FREETYPE_H

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

[Index] |  | [TOC]

#### FT_ERRORS_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.

[Index] |  | [TOC]

#### FT_MODULE_ERRORS_H

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

[Index] |  | [TOC]

#### FT_SYSTEM_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.

[Index] |  | [TOC]

#### FT_IMAGE_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.

[Index] |  | [TOC]

#### FT_TYPES_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.

[Index] |  | [TOC]

#### FT_LIST_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.)

[Index] |  | [TOC]

#### FT_OUTLINE_H

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

[Index] |  | [TOC]

#### FT_SIZES_H

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

[Index] |  | [TOC]

#### FT_MODULE_H

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

[Index] |  | [TOC]

#### FT_RENDER_H

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

[Index] |  | [TOC]

#### FT_TYPE1_TABLES_H

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

[Index] |  | [TOC]

#### FT_TRUETYPE_IDS_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.

[Index] |  | [TOC]

#### FT_TRUETYPE_TABLES_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.

[Index] |  | [TOC]

#### FT_TRUETYPE_TAGS_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).

[Index] |  | [TOC]

#### FT_BDF_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.

[Index] |  | [TOC]

#### FT_CID_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.

[Index] |  | [TOC]

#### FT_GZIP_H

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

[Index] |  | [TOC]

#### FT_LZW_H

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

[Index] |  | [TOC]

#### FT_WINFONTS_H

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

[Index] |  | [TOC]

#### FT_GLYPH_H

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

[Index] |  | [TOC]

#### FT_BITMAP_H

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

[Index] |  | [TOC]

#### FT_BBOX_H

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

[Index] |  | [TOC]

#### FT_CACHE_H

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

[Index] |  | [TOC]

#### FT_CACHE_IMAGE_H

A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.

It is used to define a cache for FT_Glyph elements. You can also use the API defined in FT_CACHE_SMALL_BITMAPS_H if you only need to store small glyph bitmaps, as it will use less memory.

This macro is deprecated. Simply include FT_CACHE_H to have all glyph image-related cache declarations.

[Index] |  | [TOC]

#### FT_CACHE_SMALL_BITMAPS_H

A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.

It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including scalable outlines.

This macro is deprecated. Simply include FT_CACHE_H to have all small bitmaps-related cache declarations.

[Index] |  | [TOC]

#### FT_CACHE_CHARMAP_H

A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system. This macro is deprecated. Simply include FT_CACHE_H to have all charmap-based cache declarations.

[Index] |  | [TOC]

#### FT_MAC_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).

[Index] |  | [TOC]

#### FT_MULTIPLE_MASTERS_H

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

[Index] |  | [TOC]

#### FT_SFNT_NAMES_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).

[Index] |  | [TOC]

#### FT_OPENTYPE_VALIDATE_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).

[Index] |  | [TOC]

#### FT_GX_VALIDATE_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).

[Index] |  | [TOC]

#### FT_PFR_H

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

[Index] |  | [TOC]

#### FT_STROKER_H

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

[Index] |  | [TOC]

#### FT_SYNTHESIS_H

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

[Index] |  | [TOC]

#### FT_XFREE86_H

A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.

[Index] |  | [TOC]

#### FT_TRIGONOMETRY_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).

[Index] |  | [TOC]

#### FT_LCD_FILTER_H

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

[Index] |  | [TOC]

#### FT_UNPATENTED_HINTING_H

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

[Index] |  | [TOC]

#### FT_INCREMENTAL_H

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

[Index] |  | [TOC]

#### FT_GASP_H

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

[Index] |  | [TOC]

#### FT_ADVANCES_H

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

[Index] |  | [TOC]