2021-04-18 20:28:14 +03:00
# Fonts
2022-08-21 14:50:09 +03:00
- [Jetbrains Mono ](https://www.jetbrains.com/lp/mono/ )
- [Font Awesome ](https://fontawesome.com/v5/cheatsheet/free/solid )
- [Open Sans Light ](https://fonts.google.com/specimen/Open+Sans )
- [Material Symbols ](https://fonts.google.com/icons )
2021-04-18 20:28:14 +03:00
2022-02-27 14:30:47 +02:00
### How to add new symbols:
2021-04-18 20:28:14 +03:00
2022-08-21 14:50:09 +03:00
- Browse the cheat sheets and pick symbols
- [Font Awesome ](https://fontawesome.com/v5/cheatsheet/free/solid )
- [Material Symbols ](https://fonts.google.com/icons )
- For each symbol, add its hex code (0xf641 for the 'Ad' icon, for example) to the *Range* list in the `fonts.json` file
- Convert this hex value into a UTF-8 code
2021-04-18 20:28:14 +03:00
using [this site ](http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=f185&mode=hex )
2022-08-21 14:50:09 +03:00
- Define the new symbols in `src/displayapp/screens/Symbols.h` :
2021-04-18 20:28:14 +03:00
```
2021-04-28 12:39:24 +03:00
static constexpr const char* newSymbol = "\xEF\x86\x85";
2021-04-18 20:28:14 +03:00
```
2022-04-20 17:15:55 +03:00
### the config file format:
2022-02-27 14:30:47 +02:00
2022-04-20 17:15:55 +03:00
inside `fonts` , there is a dictionary of fonts,
and for each font there is:
2022-08-21 14:50:09 +03:00
- 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: a path to a .patch file. (may be relative)
- compress - optional. default disabled. add `"compress": true` to enable
2021-04-18 20:28:14 +03:00
2022-03-01 01:09:48 +02:00
### Navigation font
2021-04-18 20:28:14 +03:00
2022-03-01 01:09:48 +02:00
`navigtion.ttf` is created with the web app [icomoon ](https://icomoon.io/app ) 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.