lv_font.h

Defines

LV_FONT_DECLARE(font_name)

Enums

enum lv_font_glyph_format_t

The font format.

Values:

enumerator LV_FONT_GLYPH_FORMAT_NONE

Maybe not visible Legacy simple formats with no byte padding at end of the lines

enumerator LV_FONT_GLYPH_FORMAT_A1

1 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A2

2 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A4

4 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A8

8 bit per pixel Legacy simple formats with byte padding at end of the lines

enumerator LV_FONT_GLYPH_FORMAT_A1_ALIGNED

1 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A2_ALIGNED

2 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A4_ALIGNED

4 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_A8_ALIGNED

8 bit per pixel

enumerator LV_FONT_GLYPH_FORMAT_IMAGE

Image format Advanced formats

enumerator LV_FONT_GLYPH_FORMAT_VECTOR

Vectorial format

enumerator LV_FONT_GLYPH_FORMAT_SVG

SVG format

enumerator LV_FONT_GLYPH_FORMAT_CUSTOM

Custom format

enum lv_font_subpx_t

The bitmaps might be upscaled by 3 to achieve subpixel rendering.

Values:

enumerator LV_FONT_SUBPX_NONE
enumerator LV_FONT_SUBPX_HOR
enumerator LV_FONT_SUBPX_VER
enumerator LV_FONT_SUBPX_BOTH
enum lv_font_kerning_t

Adjust letter spacing for specific character pairs.

Values:

enumerator LV_FONT_KERNING_NORMAL
enumerator LV_FONT_KERNING_NONE

Functions

const void *lv_font_get_glyph_bitmap(lv_font_glyph_dsc_t *g_dsc, lv_draw_buf_t *draw_buf)

Return with the bitmap of a font.

Note

You must call lv_font_get_glyph_dsc() to get g_dsc (lv_font_glyph_dsc_t) before you can call this function.

Parameters:
  • g_dsc – the glyph descriptor including which font to use, which supply the glyph_index and the format.

  • draw_buf – a draw buffer that can be used to store the bitmap of the glyph, it's OK not to use it.

Returns:

pointer to the glyph's data. It can be a draw buffer for bitmap fonts or an image source for imgfonts.

bool lv_font_get_glyph_dsc(const lv_font_t *font, lv_font_glyph_dsc_t *dsc_out, uint32_t letter, uint32_t letter_next)

Get the descriptor of a glyph

Parameters:
  • font – pointer to font

  • dsc_out – store the result descriptor here

  • letter – a UNICODE letter code

  • letter_next – the next letter after letter. Used for kerning

Returns:

true: descriptor is successfully loaded into dsc_out. false: the letter was not found, no data is loaded to dsc_out

void lv_font_glyph_release_draw_data(lv_font_glyph_dsc_t *g_dsc)

Release the bitmap of a font.

Note

You must call lv_font_get_glyph_dsc() to get g_dsc (lv_font_glyph_dsc_t) before you can call this function.

Parameters:

g_dsc – the glyph descriptor including which font to use, which supply the glyph_index and the format.

uint16_t lv_font_get_glyph_width(const lv_font_t *font, uint32_t letter, uint32_t letter_next)

Get the width of a glyph with kerning

Parameters:
  • font – pointer to a font

  • letter – a UNICODE letter

  • letter_next – the next letter after letter. Used for kerning

Returns:

the width of the glyph

int32_t lv_font_get_line_height(const lv_font_t *font)

Get the line height of a font. All characters fit into this height

Parameters:

font – pointer to a font

Returns:

the height of a font

void lv_font_set_kerning(lv_font_t *font, lv_font_kerning_t kerning)

Configure the use of kerning information stored in a font

Parameters:
  • font – pointer to a font

  • kerningLV_FONT_KERNING_NORMAL (default) or LV_FONT_KERNING_NONE

const lv_font_t *lv_font_default(void)

Just a wrapper around LV_FONT_DEFAULT because it might be more convenient to use a function in some cases

Returns:

pointer to LV_FONT_DEFAULT

Variables

const lv_font_t lv_font_montserrat_8
const lv_font_t lv_font_montserrat_10
const lv_font_t lv_font_montserrat_12
const lv_font_t lv_font_montserrat_14
const lv_font_t lv_font_montserrat_16
const lv_font_t lv_font_montserrat_18
const lv_font_t lv_font_montserrat_20
const lv_font_t lv_font_montserrat_22
const lv_font_t lv_font_montserrat_24
const lv_font_t lv_font_montserrat_26
const lv_font_t lv_font_montserrat_28
const lv_font_t lv_font_montserrat_30
const lv_font_t lv_font_montserrat_32
const lv_font_t lv_font_montserrat_34
const lv_font_t lv_font_montserrat_36
const lv_font_t lv_font_montserrat_38
const lv_font_t lv_font_montserrat_40
const lv_font_t lv_font_montserrat_42
const lv_font_t lv_font_montserrat_44
const lv_font_t lv_font_montserrat_46
const lv_font_t lv_font_montserrat_48
const lv_font_t lv_font_montserrat_28_compressed
const lv_font_t lv_font_dejavu_16_persian_hebrew
const lv_font_t lv_font_simsun_14_cjk
const lv_font_t lv_font_simsun_16_cjk
const lv_font_t lv_font_unscii_8
const lv_font_t lv_font_unscii_16
struct lv_font_glyph_dsc_t
#include <lv_font.h>

Describes the properties of a glyph.

Public Members

const lv_font_t *resolved_font

Pointer to a font where the glyph was actually found after handling fallbacks

uint16_t adv_w

The glyph needs this space. Draw the next glyph after this width.

uint16_t box_w

Width of the glyph's bounding box

uint16_t box_h

Height of the glyph's bounding box

int16_t ofs_x

x offset of the bounding box

int16_t ofs_y

y offset of the bounding box

lv_font_glyph_format_t format

Font format of the glyph see lv_font_glyph_format_t

uint8_t is_placeholder

Glyph is missing. But placeholder will still be displayed

uint8_t req_raw_bitmap

0: Get bitmap should return an A8 or ARGB8888 image. 1: return the bitmap as it is (Maybe A1/2/4 or any proprietary formats).

uint32_t index

Unicode code point

const void *src

Pointer to the source data used by image fonts

union lv_font_glyph_dsc_t::[anonymous] gid

The index of the glyph in the font file. Used by the font cache

lv_cache_entry_t *entry

The cache entry of the glyph draw data. Used by the font cache

struct _lv_font_t
#include <lv_font.h>

Describe the properties of a font

Public Members

bool (*get_glyph_dsc)(const lv_font_t*, lv_font_glyph_dsc_t*, uint32_t letter, uint32_t letter_next)

Get a glyph's descriptor from a font

const void *(*get_glyph_bitmap)(lv_font_glyph_dsc_t*, lv_draw_buf_t*)

Get a glyph's bitmap from a font

void (*release_glyph)(const lv_font_t*, lv_font_glyph_dsc_t*)

Release a glyph

int32_t line_height

The real line height where any text fits

int32_t base_line

Base line measured from the bottom of the line_height

uint8_t subpx

An element of lv_font_subpx_t

uint8_t kerning

An element of lv_font_kerning_t

int8_t underline_position

Distance between the top of the underline and base line (< 0 means below the base line)

int8_t underline_thickness

Thickness of the underline

const void *dsc

Store implementation specific or run_time data or caching here

const lv_font_t *fallback

Fallback font for missing glyph. Resolved recursively

void *user_data

Custom user data for font.