https://docs.lvgl.io/8.2/libs/freetype.html
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 .
To cache the glyphs from the opened fonts, set LV_FREETYPE_CACHE_SIZE >= 0 and then use the following macros for detailed configuration:
LV_FREETYPE_CACHE_SIZE :maximum memory(bytes) used to cache font bitmap, outline, character maps, etc. 0 means use the system default value, less than 0 means disable cache. Note: that this value does not account for managed FT_Face and FT_Size objects.
LV_FREETYPE_CACHE_FT_FACES :maximum number of opened FT_Face objects managed by this cache instance.0 means use the system default value. Only useful when LV_FREETYPE_CACHE_SIZE >= 0.
LV_FREETYPE_CACHE_FT_SIZES :maximum number of opened FT_Size objects managed by this cache instance. 0 means use the system default value. Only useful when LV_FREETYPE_CACHE_SIZE >= 0.
When you are sure that all the used font sizes will not be greater than 256, you can enable LV_FREETYPE_SBIT_CACHE , which is much more memory efficient for small bitmaps.
You can use lv_ft_font_init() to create FreeType fonts. It returns true to indicate success, at the same time, the font member of lv_ft_info_t will be filled with a pointer to an LVGL font, and you can use it like any LVGL font.
Font style supports bold and italic, you can use the following macros to set:
FT_FONT_STYLE_NORMAL :default style.
FT_FONT_STYLE_ITALIC :Italic style
FT_FONT_STYLE_BOLD :bold style
They can be combined.eg:FT_FONT_STYLE_BOLD | FT_FONT_STYLE_ITALIC .
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.
|
|
Example
英文
|
自動翻訳
|
Open a front with FreeType
|
|
Learn more
英文
|
自動翻訳
|
- FreeType tutorial
- LVGL's font interface
|
|
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
- const void *mem
- size_t mem_size
- lv_font_t *font
- uint16_t weight
- uint16_t style
|
|
- 戻る : Previous