mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-27 20:57:01 +08:00
add LV_FONT_FMT_TXT_LARGE to support very large fonts
This commit is contained in:
@@ -275,6 +275,11 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
|
|||||||
/*Always set a default font from the built-in fonts*/
|
/*Always set a default font from the built-in fonts*/
|
||||||
#define LV_FONT_DEFAULT &lv_font_roboto_16
|
#define LV_FONT_DEFAULT &lv_font_roboto_16
|
||||||
|
|
||||||
|
/* Enable it if you have fonts with a lot of characters.
|
||||||
|
* The limit depends on the font size, font face and bpp
|
||||||
|
* but with > 10,000 characters if you see issues probably you need to enable it.*/
|
||||||
|
#define LV_FONT_FMT_TXT_LARGE 0
|
||||||
|
|
||||||
/*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/
|
/*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/
|
||||||
typedef void * lv_font_user_data_t;
|
typedef void * lv_font_user_data_t;
|
||||||
|
|
||||||
|
|||||||
@@ -385,6 +385,13 @@
|
|||||||
#define LV_FONT_DEFAULT &lv_font_roboto_16
|
#define LV_FONT_DEFAULT &lv_font_roboto_16
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Enable it if you have fonts with a lot of characters.
|
||||||
|
* The limit depends on the font size, font face and bpp
|
||||||
|
* but with > 10,000 characters if you see issues probably you need to enable it.*/
|
||||||
|
#ifndef LV_FONT_FMT_TXT_LARGE
|
||||||
|
#define LV_FONT_FMT_TXT_LARGE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/
|
/*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/
|
||||||
|
|
||||||
/*=================
|
/*=================
|
||||||
|
|||||||
@@ -35,9 +35,13 @@ extern "C" {
|
|||||||
/** This describes a glyph. */
|
/** This describes a glyph. */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
#if LV_FONT_FMT_TXT_LARGE == 0
|
||||||
uint32_t bitmap_index : 20; /**< Start index of the bitmap. A font can be max 1 MB. */
|
uint32_t bitmap_index : 20; /**< Start index of the bitmap. A font can be max 1 MB. */
|
||||||
uint32_t adv_w :12; /**< Draw the next glyph after this width. 12.4 format (real_value * 16 is stored). */
|
uint32_t adv_w :12; /**< Draw the next glyph after this width. 8.4 format (real_value * 16 is stored). */
|
||||||
|
#else
|
||||||
|
uint32_t bitmap_index; /**< Start index of the bitmap. A font can be max 4 GB. */
|
||||||
|
uint32_t adv_w; /**< Draw the next glyph after this width. 28.4 format (real_value * 16 is stored). */
|
||||||
|
#endif
|
||||||
uint8_t box_w; /**< Width of the glyph's bounding box*/
|
uint8_t box_w; /**< Width of the glyph's bounding box*/
|
||||||
uint8_t box_h; /**< Height of the glyph's bounding box*/
|
uint8_t box_h; /**< Height of the glyph's bounding box*/
|
||||||
int8_t ofs_x; /**< x offset of the bounding box*/
|
int8_t ofs_x; /**< x offset of the bounding box*/
|
||||||
|
|||||||
Reference in New Issue
Block a user