# FreeType-2.3.1 API Reference

# Size Management

## Synopsis

| FT_New_Size |  | FT_Done_Size |  | FT_Activate_Size |  |

When creating a new face object (e.g., with FT_New_Face), an FT_Size object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.

It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See FT_New_Size and FT_Done_Size.

Note that FT_Set_Pixel_Sizes and FT_Set_Char_Size only modify the contents of the current ‘active’ size; you thus need to use FT_Activate_Size to change it.

99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.

#### FT_New_Size

      FT_EXPORT( FT_Error )
      FT_New_Size( FT_Face   face,
                   FT_Size*  size );

Create a new size object from a given face object.

input

face | A handle to a parent face object.

output

asize | A handle to a new size object.

return
FreeType error code. 0 means success.

note
You need to call FT_Activate_Size in order to select the new size for upcoming calls to FT_Set_Pixel_Sizes, FT_Set_Char_Size, FT_Load_Glyph, FT_Load_Char, etc.

[Index] |  | [TOC]

#### FT_Done_Size

      FT_EXPORT( FT_Error )
      FT_Done_Size( FT_Size  size );

Discard a given size object. Note that FT_Done_Face automatically discards all size objects allocated with FT_New_Size.

input

size | A handle to a target size object.

return
FreeType error code. 0 means success.

[Index] |  | [TOC]

#### FT_Activate_Size

      FT_EXPORT( FT_Error )
      FT_Activate_Size( FT_Size  size );

Even though it is possible to create several size objects for a given face (see FT_New_Size for details), functions like FT_Load_Glyph or FT_Load_Char only use the last-created one to determine the ‘current character pixel size’. This function can be used to ‘activate’ a previously created size object.

input

size | A handle to a target size object.

return
FreeType error code. 0 means success.

note
If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.

[Index] |  | [TOC]