diff --git a/lv_fonts/lv_font_builtin.c b/lv_fonts/lv_font_builtin.c new file mode 100644 index 0000000000..bce3c87bd1 --- /dev/null +++ b/lv_fonts/lv_font_builtin.c @@ -0,0 +1,165 @@ +/** + * @file lv_font_built_in.c + * + */ + +/********************* + * INCLUDES + *********************/ +#include "lv_font_builtin.h" + +/********************* + * DEFINES + *********************/ + +/********************** + * TYPEDEFS + **********************/ + +/********************** + * STATIC PROTOTYPES + **********************/ + +/********************** + * STATIC VARIABLES + **********************/ + +/********************** + * MACROS + **********************/ + +/********************** + * GLOBAL FUNCTIONS + **********************/ + +/** + * Initialize the built-in fonts + */ +void lv_font_builtin_init(void) +{ + /*DEJAVU 10*/ +#if USE_LV_FONT_DEJAVU_10 != 0 + lv_font_add(&lv_font_dejavu_10, NULL); +#endif + +#if USE_LV_FONT_DEJAVU_10_LATIN_SUP != 0 +#if USE_LV_FONT_DEJAVU_10 != 0 + lv_font_add(&lv_font_dejavu_10_latin_sup, &lv_font_dejavu_10); +#else + lv_font_add(&lv_font_dejavu_10_latin_sup, NULL); +#endif +#endif + +#if USE_LV_FONT_DEJAVU_10_CYRILLIC != 0 +#if USE_LV_FONT_DEJAVU_10 != 0 + lv_font_add(&lv_font_dejavu_10_cyrillic, &lv_font_dejavu_10); +#else + lv_font_add(&lv_font_dejavu_10_cyrillic, NULL); +#endif +#endif + + /*SYMBOL 10*/ +#if USE_LV_FONT_SYMBOL_10 != 0 +#if USE_LV_FONT_DEJAVU_10 != 0 + lv_font_add(&lv_font_symbol_10, &lv_font_dejavu_10); +#else + lv_font_add(&lv_font_symbol_10, NULL); +#endif +#endif + + + /*DEJAVU 20*/ +#if USE_LV_FONT_DEJAVU_20 != 0 + lv_font_add(&lv_font_dejavu_20, NULL); +#endif + +#if USE_LV_FONT_DEJAVU_20_LATIN_SUP != 0 +#if USE_LV_FONT_DEJAVU_20 != 0 + lv_font_add(&lv_font_dejavu_20_latin_sup, &lv_font_dejavu_20); +#else + lv_font_add(&lv_font_symbol_20_latin_sup, NULL); +#endif +#endif + +#if USE_LV_FONT_DEJAVU_20_CYRILLIC != 0 +#if USE_LV_FONT_DEJAVU_20 != 0 + lv_font_add(&lv_font_dejavu_20_cyrillic, &lv_font_dejavu_20); +#else + lv_font_add(&lv_font_dejavu_20_cyrillic, NULL); +#endif +#endif + + /*SYMBOL 20*/ +#if USE_LV_FONT_SYMBOL_20 != 0 +#if USE_LV_FONT_DEJAVU_20 != 0 + lv_font_add(&lv_font_symbol_20, &lv_font_dejavu_20); +#else + lv_font_add(&lv_font_symbol_20, NULL); +#endif +#endif + + + /*DEJAVU 30*/ +#if USE_LV_FONT_DEJAVU_30 != 0 + lv_font_add(&lv_font_dejavu_30, NULL); +#endif + +#if USE_LV_FONT_DEJAVU_30_LATIN_SUP != 0 +#if USE_LV_FONT_DEJAVU_30 != 0 + lv_font_add(&lv_font_dejavu_30_latin_sup, &lv_font_dejavu_30); +#else + lv_font_add(&lv_font_dejavu_30_latin_sup, NULL); +#endif +#endif + +#if USE_LV_FONT_DEJAVU_30_CYRILLIC != 0 +#if USE_LV_FONT_DEJAVU_30 != 0 + lv_font_add(&lv_font_dejavu_30_cyrillic, &lv_font_dejavu_30); +#else + lv_font_add(&lv_font_dejavu_30_cyrillic, NULL); +#endif +#endif + + /*SYMBOL 30*/ +#if USE_LV_FONT_SYMBOL_30 != 0 +#if USE_LV_FONT_DEJAVU_30 != 0 + lv_font_add(&lv_font_symbol_30, &lv_font_dejavu_30); +#else + lv_font_add(&lv_font_symbol_30_basic, NULL); +#endif +#endif + + /*DEJAVU 40*/ +#if USE_LV_FONT_DEJAVU_40 != 0 + lv_font_add(&lv_font_dejavu_40, NULL); +#endif + +#if USE_LV_FONT_DEJAVU_40_LATIN_SUP != 0 +#if USE_LV_FONT_DEJAVU_40 != 0 + lv_font_add(&lv_font_dejavu_40_latin_sup, &lv_font_dejavu_40); +#else + lv_font_add(&lv_font_dejavu_40_latin_sup, NULL); +#endif +#endif + +#if USE_LV_FONT_DEJAVU_40_CYRILLIC != 0 +#if USE_LV_FONT_DEJAVU_40 != 0 + lv_font_add(&lv_font_dejavu_40_cyrillic, &lv_font_dejavu_40); +#else + lv_font_add(&lv_font_dejavu_40_cyrillic, NULL); +#endif +#endif + + /*SYMBOL 40*/ +#if USE_LV_FONT_SYMBOL_40 != 0 +#if USE_LV_FONT_DEJAVU_40 != 0 + lv_font_add(&lv_font_symbol_40, &lv_font_dejavu_40); +#else + lv_font_add(&lv_font_symbol_40, NULL); +#endif +#endif +} + +/********************** + * STATIC FUNCTIONS + **********************/ diff --git a/lv_fonts/lv_font_builtin.h b/lv_fonts/lv_font_builtin.h new file mode 100644 index 0000000000..c216cd2cea --- /dev/null +++ b/lv_fonts/lv_font_builtin.h @@ -0,0 +1,121 @@ +/** + * @file lv_font_builtin.h + * + */ + +#ifndef LV_FONT_BUILTIN_H +#define LV_FONT_BUILTIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +/********************* + * INCLUDES + *********************/ +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lv_conf.h" +#else +#include "../../lv_conf.h" +#endif + +#include "../lv_misc/lv_font.h" + +/********************* + * DEFINES + *********************/ + +/********************** + * TYPEDEFS + **********************/ + +/********************** + * GLOBAL PROTOTYPES + **********************/ + +/** + * Initialize the built-in fonts + */ +void lv_font_builtin_init(void); + +/********************** + * MACROS + **********************/ + +/********************** + * FONT DECLARATIONS + **********************/ + +/*10 px */ +#if USE_LV_FONT_DEJAVU_10 +LV_FONT_DECLARE(lv_font_dejavu_10); +#endif + +#if USE_LV_FONT_DEJAVU_10_LATIN_SUP +LV_FONT_DECLARE(lv_font_dejavu_10_latin_sup); +#endif + +#if USE_LV_FONT_DEJAVU_10_CYRILLIC +LV_FONT_DECLARE(lv_font_dejavu_10_cyrillic); +#endif + +#if USE_LV_FONT_SYMBOL_10 +LV_FONT_DECLARE(lv_font_symbol_10); +#endif + +/*20 px */ +#if USE_LV_FONT_DEJAVU_20 +LV_FONT_DECLARE(lv_font_dejavu_20); +#endif + +#if USE_LV_FONT_DEJAVU_20_LATIN_SUP +LV_FONT_DECLARE(lv_font_dejavu_20_latin_sup); +#endif + +#if USE_LV_FONT_DEJAVU_20_CYRILLIC +LV_FONT_DECLARE(lv_font_dejavu_20_cyrillic); +#endif + +#if USE_LV_FONT_SYMBOL_20 +LV_FONT_DECLARE(lv_font_symbol_20); +#endif + +/*30 px */ +#if USE_LV_FONT_DEJAVU_30 +LV_FONT_DECLARE(lv_font_dejavu_30); +#endif + +#if USE_LV_FONT_DEJAVU_30_LATIN_SUP +LV_FONT_DECLARE(lv_font_dejavu_30_latin_sup); +#endif + +#if USE_LV_FONT_DEJAVU_30_CYRILLIC +LV_FONT_DECLARE(lv_font_dejavu_30_cyrillic); +#endif + +#if USE_LV_FONT_SYMBOL_30 +LV_FONT_DECLARE(lv_font_symbol_30); +#endif + +/*40 px */ +#if USE_LV_FONT_DEJAVU_40 +LV_FONT_DECLARE(lv_font_dejavu_40); +#endif + +#if USE_LV_FONT_DEJAVU_40_LATIN_SUP +LV_FONT_DECLARE(lv_font_dejavu_40_latin_sup); +#endif + +#if USE_LV_FONT_DEJAVU_40_CYRILLIC +LV_FONT_DECLARE(lv_font_dejavu_40_cyrillic); +#endif + +#if USE_LV_FONT_SYMBOL_40 +LV_FONT_DECLARE(lv_font_symbol_40); +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*LV_FONT_BUILTIN_H*/ diff --git a/lv_misc/lv_font.c b/lv_misc/lv_font.c index 32a3f18cf8..1e5c19cd3d 100644 --- a/lv_misc/lv_font.c +++ b/lv_misc/lv_font.c @@ -38,132 +38,11 @@ **********************/ /** - * Initialize the built-in fonts + * Initialize the fonts */ void lv_font_init(void) { - /*DEJAVU 10*/ -#if USE_LV_FONT_DEJAVU_10 != 0 - lv_font_add(&lv_font_dejavu_10, NULL); -#endif - -#if USE_LV_FONT_DEJAVU_10_LATIN_SUP != 0 -#if USE_LV_FONT_DEJAVU_10 != 0 - lv_font_add(&lv_font_dejavu_10_latin_sup, &lv_font_dejavu_10); -#else - lv_font_add(&lv_font_dejavu_10_latin_sup, NULL); -#endif -#endif - -#if USE_LV_FONT_DEJAVU_10_CYRILLIC != 0 -#if USE_LV_FONT_DEJAVU_10 != 0 - lv_font_add(&lv_font_dejavu_10_cyrillic, &lv_font_dejavu_10); -#else - lv_font_add(&lv_font_dejavu_10_cyrillic, NULL); -#endif -#endif - - /*SYMBOL 10*/ -#if USE_LV_FONT_SYMBOL_10 != 0 -#if USE_LV_FONT_DEJAVU_10 != 0 - lv_font_add(&lv_font_symbol_10, &lv_font_dejavu_10); -#else - lv_font_add(&lv_font_symbol_10, NULL); -#endif -#endif - - - /*DEJAVU 20*/ -#if USE_LV_FONT_DEJAVU_20 != 0 - lv_font_add(&lv_font_dejavu_20, NULL); -#endif - -#if USE_LV_FONT_DEJAVU_20_LATIN_SUP != 0 -#if USE_LV_FONT_DEJAVU_20 != 0 - lv_font_add(&lv_font_dejavu_20_latin_sup, &lv_font_dejavu_20); -#else - lv_font_add(&lv_font_symbol_20_latin_sup, NULL); -#endif -#endif - -#if USE_LV_FONT_DEJAVU_20_CYRILLIC != 0 -#if USE_LV_FONT_DEJAVU_20 != 0 - lv_font_add(&lv_font_dejavu_20_cyrillic, &lv_font_dejavu_20); -#else - lv_font_add(&lv_font_dejavu_20_cyrillic, NULL); -#endif -#endif - - /*SYMBOL 20*/ -#if USE_LV_FONT_SYMBOL_20 != 0 -#if USE_LV_FONT_DEJAVU_20 != 0 - lv_font_add(&lv_font_symbol_20, &lv_font_dejavu_20); -#else - lv_font_add(&lv_font_symbol_20, NULL); -#endif -#endif - - - /*DEJAVU 30*/ -#if USE_LV_FONT_DEJAVU_30 != 0 - lv_font_add(&lv_font_dejavu_30, NULL); -#endif - -#if USE_LV_FONT_DEJAVU_30_LATIN_SUP != 0 -#if USE_LV_FONT_DEJAVU_30 != 0 - lv_font_add(&lv_font_dejavu_30_latin_sup, &lv_font_dejavu_30); -#else - lv_font_add(&lv_font_dejavu_30_latin_sup, NULL); -#endif -#endif - -#if USE_LV_FONT_DEJAVU_30_CYRILLIC != 0 -#if USE_LV_FONT_DEJAVU_30 != 0 - lv_font_add(&lv_font_dejavu_30_cyrillic, &lv_font_dejavu_30); -#else - lv_font_add(&lv_font_dejavu_30_cyrillic, NULL); -#endif -#endif - - /*SYMBOL 30*/ -#if USE_LV_FONT_SYMBOL_30 != 0 -#if USE_LV_FONT_DEJAVU_30 != 0 - lv_font_add(&lv_font_symbol_30, &lv_font_dejavu_30); -#else - lv_font_add(&lv_font_symbol_30_basic, NULL); -#endif -#endif - - /*DEJAVU 40*/ -#if USE_LV_FONT_DEJAVU_40 != 0 - lv_font_add(&lv_font_dejavu_40, NULL); -#endif - -#if USE_LV_FONT_DEJAVU_40_LATIN_SUP != 0 -#if USE_LV_FONT_DEJAVU_40 != 0 - lv_font_add(&lv_font_dejavu_40_latin_sup, &lv_font_dejavu_40); -#else - lv_font_add(&lv_font_dejavu_40_latin_sup, NULL); -#endif -#endif - -#if USE_LV_FONT_DEJAVU_40_CYRILLIC != 0 -#if USE_LV_FONT_DEJAVU_40 != 0 - lv_font_add(&lv_font_dejavu_40_cyrillic, &lv_font_dejavu_40); -#else - lv_font_add(&lv_font_dejavu_40_cyrillic, NULL); -#endif -#endif - - /*SYMBOL 40*/ -#if USE_LV_FONT_SYMBOL_40 != 0 -#if USE_LV_FONT_DEJAVU_40 != 0 - lv_font_add(&lv_font_symbol_40, &lv_font_dejavu_40); -#else - lv_font_add(&lv_font_symbol_40, NULL); -#endif -#endif - + lv_font_builtin_init(); } /** diff --git a/lv_misc/lv_font.h b/lv_misc/lv_font.h index a7db603e09..a2ca5aff9d 100644 --- a/lv_misc/lv_font.h +++ b/lv_misc/lv_font.h @@ -24,7 +24,7 @@ extern "C" { #include #include -#include "../lv_misc/lv_symbol_def.h" +#include "lv_symbol_def.h" /********************* * DEFINES @@ -66,7 +66,7 @@ typedef struct _lv_font_struct **********************/ /** - * Initialize the built-in fonts + * Initialize the fonts */ void lv_font_init(void); @@ -162,79 +162,14 @@ int16_t lv_font_get_width_sparse(const lv_font_t * font, uint32_t unicode_letter /********************** * MACROS **********************/ + #define LV_FONT_DECLARE(font_name) extern lv_font_t font_name; -/****************************** - * FONT DECLARATION INCLUDES - *****************************/ -/*10 px */ -#if USE_LV_FONT_DEJAVU_10 -LV_FONT_DECLARE(lv_font_dejavu_10); -#endif - -#if USE_LV_FONT_DEJAVU_10_LATIN_SUP -LV_FONT_DECLARE(lv_font_dejavu_10_latin_sup); -#endif - -#if USE_LV_FONT_DEJAVU_10_CYRILLIC -LV_FONT_DECLARE(lv_font_dejavu_10_cyrillic); -#endif - -#if USE_LV_FONT_SYMBOL_10 -LV_FONT_DECLARE(lv_font_symbol_10); -#endif - -/*20 px */ -#if USE_LV_FONT_DEJAVU_20 -LV_FONT_DECLARE(lv_font_dejavu_20); -#endif - -#if USE_LV_FONT_DEJAVU_20_LATIN_SUP -LV_FONT_DECLARE(lv_font_dejavu_20_latin_sup); -#endif - -#if USE_LV_FONT_DEJAVU_20_CYRILLIC -LV_FONT_DECLARE(lv_font_dejavu_20_cyrillic); -#endif - -#if USE_LV_FONT_SYMBOL_20 -LV_FONT_DECLARE(lv_font_symbol_20); -#endif - -/*30 px */ -#if USE_LV_FONT_DEJAVU_30 -LV_FONT_DECLARE(lv_font_dejavu_30); -#endif - -#if USE_LV_FONT_DEJAVU_30_LATIN_SUP -LV_FONT_DECLARE(lv_font_dejavu_30_latin_sup); -#endif - -#if USE_LV_FONT_DEJAVU_30_CYRILLIC -LV_FONT_DECLARE(lv_font_dejavu_30_cyrillic); -#endif - -#if USE_LV_FONT_SYMBOL_30 -LV_FONT_DECLARE(lv_font_symbol_30); -#endif - -/*40 px */ -#if USE_LV_FONT_DEJAVU_40 -LV_FONT_DECLARE(lv_font_dejavu_40); -#endif - -#if USE_LV_FONT_DEJAVU_40_LATIN_SUP -LV_FONT_DECLARE(lv_font_dejavu_40_latin_sup); -#endif - -#if USE_LV_FONT_DEJAVU_40_CYRILLIC -LV_FONT_DECLARE(lv_font_dejavu_40_cyrillic); -#endif - -#if USE_LV_FONT_SYMBOL_40 -LV_FONT_DECLARE(lv_font_symbol_40); -#endif +/********************** + * ADD BUILT IN FONTS + **********************/ +#include "../lv_fonts/lv_font_builtin.h" #ifdef __cplusplus } /* extern "C" */