InfiniTime/src/displayapp/fonts
2022-05-10 22:20:02 +02:00
..
CMakeLists.txt fontgen: generate font .c files in build dir 2022-05-10 22:20:02 +02:00
FontAwesome5-Solid+Brands+Regular.woff Added FontAwesome5-Solid+Brands+Regular.woff to git 2022-05-10 22:20:02 +02:00
fonts.json fontgen: simplfy json after removed external features key 2022-05-10 22:20:02 +02:00
generate.py fontgen: generate font .c files in build dir 2022-05-10 22:20:02 +02:00
icons_sys_48.ttf Big UI and navigation Rewrite 2021-04-04 03:08:51 +01:00
jetbrains_mono_bold_20.c_zero.patch fontgen: use patch file for jetbrains 0 fix 2022-05-10 22:20:02 +02:00
JetBrainsMono-Bold.ttf Update font readme, update fonts, add missing files 2022-03-08 21:34:20 +01:00
JetBrainsMono-ExtraBold.ttf Add ExtraBold font ttf 2022-03-08 21:34:20 +01:00
JetBrainsMono-Regular.ttf Update font readme, update fonts, add missing files 2022-03-08 21:34:20 +01:00
lv_font_navi_80.json Big UI and navigation Rewrite 2021-04-04 03:08:51 +01:00
lv_font_sys_48.json Big UI and navigation Rewrite 2021-04-04 03:08:51 +01:00
navigation.ttf Big UI and navigation Rewrite 2021-04-04 03:08:51 +01:00
open_sans_light.ttf Add PineTimeStyle watchface (#334) 2021-06-29 20:20:27 +02:00
README.md fontgen: move lv_font_conv doc 2022-05-10 22:20:02 +02:00

Fonts

Generate the fonts:

  • Make sure you have installed lv_font_conv, and it's in the PATH
    • See doc/buildAndProgram.md
  • run the generate.py script, while in the folder.
    • it has a -h flag to show usage, nontheless: python generate.py fonts.json

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.json file
    • 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": true to 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.