FreeType support

Interface to FreeType to generate font bitmaps run time.

Install FreeType

  • Download Freetype from here

  • make

  • sudo make install

Add FreeType to your project

  • Add include path: /usr/include/freetype2 (for GCC: -I/usr/include/freetype2 -L/usr/local/lib)

  • Add library: freetype (for GCC: -L/usr/local/lib -lfreetype)

Usage

Enable LV_USE_FREETYPE in lv_conf.h.

See the examples below.

Note that, the FreeType extension doesn't use LVGL's file system. You can simply pass the path to the font as usual on your operating system or platform.

Learn more

API

Enums

enum LV_FT_FONT_STYLE

Values:

enumerator FT_FONT_STYLE_NORMAL
enumerator FT_FONT_STYLE_ITALIC
enumerator FT_FONT_STYLE_BOLD

Functions

bool lv_freetype_init(uint16_t max_faces, uint16_t max_sizes, uint32_t max_bytes)

init freetype library

Parameters
  • max_faces -- Maximum number of opened FT_Face objects managed by this cache instance. Use 0 for defaults.

  • max_sizes -- Maximum number of opened FT_Size objects managed by this cache instance. Use 0 for defaults.

  • max_bytes -- Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed FT_Face and FT_Size objects.

Returns

true on success, otherwise false.

void lv_freetype_destroy(void)

Destroy freetype library

bool lv_ft_font_init(lv_ft_info_t *info)

Creates a font with info parameter specified.

Parameters

info -- See lv_ft_info_t for details. when success, lv_ft_info_t->font point to the font you created.

Returns

true on success, otherwise false.

void lv_ft_font_destroy(lv_font_t *font)

Destroy a font that has been created.

Parameters

font -- pointer to font.

struct lv_ft_info_t

Public Members

const char *name
lv_font_t *font
uint16_t weight
uint16_t style