# FreeType Design

This document gives an overview of some FreeType 2 internals. Read this carefully if you want to understand the innards of the library in order to hack or extend it.

Note that many, quite important details are still missing, which are hopefully addressed in the not too distant future. Volunteers to help with this task are highly welcomed!

### Introduction

### I. Components and APIs

### II. Public Objects and Classes

- 1. Object Orientation in FreeType 2
- 2. The `FT_Library` class
- 3. The `FT_Face` class
- 4. The `FT_Size` class
- 5. The `FT_GlyphSlot` class
- 6. The `FT_CharMap` class
- 7. Objects Relationship

### III. Internal Objects and Classes

- 1. Memory Management
- 2. Input Streams
- 3. Modules
- 4. Summary

### IV. Module Classes

- 1. The `FT_Module_Class` Structure
- 2. The `FT_Module` Type

### V. Interfaces and Services

Last update: 13-Feb-2018