# FreeType-2.5.4 API Reference

# FreeType Version

## Synopsis

FT_Library_Version |
| FT_Face_CheckTrueTypePatents
FREETYPE_MAJOR | FT_Face_SetUnpatentedHinting
FREETYPE_MINOR |
FREETYPE_PATCH | FREETYPE_XXX

Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.

### FT_Library_Version

Defined in FT_FREETYPE_H (freetype.h).

      FT_EXPORT( void )
      FT_Library_Version( FT_Library   library,
                          FT_Int      *amajor,
                          FT_Int      *aminor,
                          FT_Int      *apatch );

Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH.

#### input

library | A source library handle.

#### output

amajor | The major version number.
aminor | The minor version number.
apatch | The patch version number.

#### note

The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use FT_Init_FreeType.

In such cases, the library version might not be available before the library object has been created.

### FT_Face_CheckTrueTypePatents

Defined in FT_FREETYPE_H (freetype.h).

      FT_EXPORT( FT_Bool )
      FT_Face_CheckTrueTypePatents( FT_Face  face );

Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do not use these opcodes.

Note that this function parses all glyph instructions in the font file, which may be slow.

#### input

face | A face handle.

#### return

1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.

#### note

Since May 2010, TrueType hinting is no longer patented.

#### since

2.3.5

### FT_Face_SetUnpatentedHinting

Defined in FT_FREETYPE_H (freetype.h).

      FT_EXPORT( FT_Bool )
      FT_Face_SetUnpatentedHinting( FT_Face  face,
                                    FT_Bool  value );

Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see FT_Face_CheckTrueTypePatents).

#### input

face | A face handle.
value | New boolean setting.

#### return

The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.

#### note

Since May 2010, TrueType hinting is no longer patented.

#### since

2.3.5

### FREETYPE_XXX

Defined in FT_FREETYPE_H (freetype.h).

    #define FREETYPE_MAJOR  2
    #define FREETYPE_MINOR  5
    #define FREETYPE_PATCH  4

These three macros identify the FreeType source code version. Use FT_Library_Version to access them at runtime.

#### values

FREETYPE_MAJOR | The major version number.
FREETYPE_MINOR | The minor version number.
FREETYPE_PATCH | The patch level.

#### note

The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is not controlled by these three macros.