# FTFont.h File Reference

`#include <FTGL/ftgl.h>`

Go to the source code of this file.

## Data Structures
class | FTFont
| FTFont is the public interface for the FTGL library. More...
## Typedefs
typedef struct _FTGLfont | FTGLfont
## Functions
FTGLfont * | ftglCreateCustomFont (char const *fontFilePath, void *data, FTGLglyph *(*makeglyphCallback)(FT_GlyphSlot, void *))
| Create a custom FTGL font object.
void | ftglDestroyFont (FTGLfont *font)
| Destroy an FTGL font object.
int | ftglAttachFile (FTGLfont *font, const char *path)
| Attach auxilliary file to font e.g.
int | ftglAttachData (FTGLfont *font, const unsigned char *data, size_t size)
| Attach auxilliary data to font, e.g.
int | ftglSetFontCharMap (FTGLfont *font, FT_Encoding encoding)
| Set the character map for the face.
unsigned int | ftglGetFontCharMapCount (FTGLfont *font)
| Get the number of character maps in this face.
FT_Encoding * | ftglGetFontCharMapList (FTGLfont *font)
| Get a list of character maps in this face.
int | ftglSetFontFaceSize (FTGLfont *font, unsigned int size, unsigned int res)
| Set the char size for the current face.
unsigned int | ftglGetFontFaceSize (FTGLfont *font)
| Get the current face size in points (1/72 inch).
void | ftglSetFontDepth (FTGLfont *font, float depth)
| Set the extrusion distance for the font.
void | ftglSetFontOutset (FTGLfont *font, float front, float back)
| Set the outset distance for the font.
void | ftglSetFontDisplayList (FTGLfont *font, int useList)
| Enable or disable the use of Display Lists inside FTGL.
float | ftglGetFontAscender (FTGLfont *font)
| Get the global ascender height for the face.
float | ftglGetFontDescender (FTGLfont *font)
| Gets the global descender height for the face.
float | ftglGetFontLineHeight (FTGLfont *font)
| Gets the line spacing for the font.
void | ftglGetFontBBox (FTGLfont *font, const char *string, int len, float bounds[6])
| Get the bounding box for a string.
float | ftglGetFontAdvance (FTGLfont *font, const char *string)
| Get the advance width for a string.
void | ftglRenderFont (FTGLfont *font, const char *string, int mode)
| Render a string of characters.
FT_Error | ftglGetFontError (FTGLfont *font)
| Query a font for errors.

## Typedef Documentation

typedef struct _FTGLfont FTGLfont

Definition at line 399 of file FTFont.h.

## Function Documentation

int ftglAttachData | ( | FTGLfont * | font,
|  | const unsigned char * | data,
|  | size_t | size |
| ) |  |  |

Attach auxilliary data to font, e.g.

font metrics, from memory.

Note: not all font formats implement this function.

Parameters:

  | font | An FTGLfont* object.
  | data | The in-memory buffer.
  | size | The length of the buffer in bytes.

Returns:
  1 if file has been attached successfully.

int ftglAttachFile | ( | FTGLfont * | font,
|  | const char * | path |
| ) |  |  |

Attach auxilliary file to font e.g.

font metrics.

Note: not all font formats implement this function.

Parameters:

  | font | An FTGLfont* object.
  | path | Auxilliary font file path.

Returns:
  1 if file has been attached successfully.

FTGLfont* ftglCreateCustomFont | ( | char const * | fontFilePath,
|  | void * | data,
|  | FTGLglyph *(*)(FT_GlyphSlot, void *) | makeglyphCallback |
| ) |  |  |

Create a custom FTGL font object.

Parameters:

  | fontFilePath | The font file name.
  | data | A pointer to private data that will be passed to callbacks.
  | makeglyphCallback | A glyph-making callback function.

Returns:
  An FTGLfont* object.

void ftglDestroyFont | ( | FTGLfont * | font | ) |

Destroy an FTGL font object.

Parameters:

  | font | An FTGLfont* object.

float ftglGetFontAdvance | ( | FTGLfont * | font,
|  | const char * | string |
| ) |  |  |

Get the advance width for a string.

Parameters:

  | font | An FTGLfont* object.
  | string | A char string.

Returns:
  Advance width

float ftglGetFontAscender | ( | FTGLfont * | font | ) |

Get the global ascender height for the face.

Parameters:

  | font | An FTGLfont* object.

Returns:
  Ascender height

void ftglGetFontBBox | ( | FTGLfont * | font,
|  | const char * | string,
|  | int | len,
|  | float | bounds[6] |
| ) |  |  |

Get the bounding box for a string.

Parameters:

  | font | An FTGLfont* object.
  | string | A char buffer
  | len | The length of the string. If < 0 then all characters will be checked until a null character is encountered (optional).
  | bounds | An array of 6 float values where the bounding box's lower left near and upper right far 3D coordinates will be stored.

unsigned int ftglGetFontCharMapCount | ( | FTGLfont * | font | ) |

Get the number of character maps in this face.

Parameters:

  | font | An FTGLfont* object.

Returns:
  character map count.

FT_Encoding* ftglGetFontCharMapList | ( | FTGLfont * | font | ) |

Get a list of character maps in this face.

Parameters:

  | font | An FTGLfont* object.

Returns:
  pointer to the first encoding.

float ftglGetFontDescender | ( | FTGLfont * | font | ) |

Gets the global descender height for the face.

Parameters:

  | font | An FTGLfont* object.

Returns:
  Descender height

FT_Error ftglGetFontError | ( | FTGLfont * | font | ) |

Query a font for errors.

Parameters:

  | font | An FTGLfont* object.

Returns:
  The current error code.

unsigned int ftglGetFontFaceSize | ( | FTGLfont * | font | ) |

Get the current face size in points (1/72 inch).

Parameters:

  | font | An FTGLfont* object.

Returns:
  face size

float ftglGetFontLineHeight | ( | FTGLfont * | font | ) |

Gets the line spacing for the font.

Parameters:

  | font | An FTGLfont* object.

Returns:
  Line height

void ftglRenderFont | ( | FTGLfont * | font,
|  | const char * | string,
|  | int | mode |
| ) |  |  |

Render a string of characters.

Parameters:

  | font | An FTGLfont* object.
  | string | Char string to be output.
  | mode | Render mode to display.

int ftglSetFontCharMap | ( | FTGLfont * | font,
|  | FT_Encoding | encoding |
| ) |  |  |

Set the character map for the face.

Parameters:

  | font | An FTGLfont* object.
  | encoding | Freetype enumerate for char map code.

Returns:
  1 if charmap was valid and set correctly.

void ftglSetFontDepth | ( | FTGLfont * | font,
|  | float | depth |
| ) |  |  |

Set the extrusion distance for the font.

Only implemented by FTExtrudeFont.

Parameters:

  | font | An FTGLfont* object.
  | depth | The extrusion distance.

void ftglSetFontDisplayList | ( | FTGLfont * | font,
|  | int | useList |
| ) |  |  |

Enable or disable the use of Display Lists inside FTGL.

Parameters:

  | font | An FTGLfont* object.
  | useList | 1 turns ON display lists. 0 turns OFF display lists.

int ftglSetFontFaceSize | ( | FTGLfont * | font,
|  | unsigned int | size,
|  | unsigned int | res |
| ) |  |  |

Set the char size for the current face.

Parameters:

  | font | An FTGLfont* object.
  | size | The face size in points (1/72 inch).
  | res | The resolution of the target device, or 0 to use the default value of 72.

Returns:
  1 if size was set correctly.

void ftglSetFontOutset | ( | FTGLfont * | font,
|  | float | front,
|  | float | back |
| ) |  |  |

Set the outset distance for the font.

Only FTOutlineFont, FTPolygonFont and FTExtrudeFont implement front outset. Only FTExtrudeFont implements back outset.

Parameters:

  | font | An FTGLfont* object.
  | front | The front outset distance.
  | back | The back outset distance.