| .. | ||
| CMakeLists.txt | ||
| FontAwesome5-Solid+Brands+Regular.woff | ||
| fonts.json | ||
| generate.py | ||
| icons_sys_48.ttf | ||
| jetbrains_mono_bold_20.c_zero.patch | ||
| JetBrainsMono-Bold.ttf | ||
| JetBrainsMono-ExtraBold.ttf | ||
| JetBrainsMono-Regular.ttf | ||
| lv_font_navi_80.json | ||
| lv_font_sys_48.json | ||
| navigation.ttf | ||
| open_sans_light.ttf | ||
| README.md | ||
Fonts
Generate the fonts:
- Make sure you have installed lv_font_conv, and it's in the PATH
- See
doc/buildAndProgram.md
- See
- run the
generate.pyscript, while in the folder.- it has a
-hflag to show usage, nontheless:python generate.py fonts.json
- it has a
How to add new symbols:
- Browse this cheatsheet and pick symbols
- For each symbol, add its hex code (0xf641 for the 'Ad' icon, for example) to the Range list (or the symbol list when its simple enough) in the
fonts.jsonfile -
- Convert this hex value into a UTF-8 code using this site
- Define the new symbols in
src/displayapp/screens/Symbols.h:
static constexpr const char* newSymbol = "\xEF\x86\x85";
the config file format:
inside fonts, there is a dictionary of fonts,
and for each font there is:
- sources - list of file,range(,symbols) wanted (as a dictionary of those)
- bpp - bits per pixel.
- size - size.
- patches - list of extra "patches" to run, either string to file which should be run, or list of arguments (with first one being the command being run)
- features - optional. dictionary of extra file,range fonts to be included when the feature is enabled. (for example: a extra language)
- compress - optional. default disabled. add
"compress": trueto enable
Navigation font
navigtion.ttf is created with the web app icomoon by importing the svg files from src/displayapp/icons/navigation/unique and generating the font. lv_font_navi_80.json is a project file for the site, which you can import to add or remove icons.