Move font to shared
This commit is contained in:
parent
65637dcb43
commit
b31f61f6c1
17 changed files with 54 additions and 15627 deletions
BIN
shared/fonts/FontAwesome5-Solid+Brands+Regular.woff
Normal file
BIN
shared/fonts/FontAwesome5-Solid+Brands+Regular.woff
Normal file
Binary file not shown.
BIN
shared/fonts/OpenSans-Regular.ttf
Normal file
BIN
shared/fonts/OpenSans-Regular.ttf
Normal file
Binary file not shown.
35
shared/fonts/README.md
Normal file
35
shared/fonts/README.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
Fonts
|
||||
=====
|
||||
|
||||
In order to work with [LVGL], fonts need to be converted to bitmaps, stored as C arrays. BuffyBox currently uses a combination of the [OpenSans] font for text and the [FontAwesome] font for pictograms. For both fonts only limited character ranges are included to reduce the binary size. To (re)generate the C file containing the combined font, run the following command
|
||||
|
||||
```
|
||||
$ ./regenerate.sh
|
||||
```
|
||||
|
||||
Below is a short explanation of the different unicode ranges used above.
|
||||
|
||||
- [OpenSans]
|
||||
- Basic Latin (`0x0020-0x007F`)
|
||||
- Latin-1 supplement (`0x00A0-0x00FF`)
|
||||
- Latin extended A (`0x0100-0x017F`)
|
||||
- Greek and Coptic (`0x0370-0x03FF`)
|
||||
- General punctuation (`0x2000-0x206F`)
|
||||
- Currency symbols (`0x20A0-0x20CF`)
|
||||
- Mathematical operators (`0x2200-0x22FF`)
|
||||
- [FontAwesome]
|
||||
- Standard `LV_SYMBOL_*` glyphs (`0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF0E0,0xF304,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF287,0xF293,0xF2ED,0xF55A,0xF7C2,0xF8A2`)
|
||||
- [adjust] (`0xF042`)
|
||||
- [arrow-alt-circle-up] (`0xF35B`)
|
||||
|
||||
## License
|
||||
|
||||
The [OpenSans] font is licensed under the Apache License 2.0.
|
||||
|
||||
The [FontAwesome] font is licensed under the Open Font License version 1.1.
|
||||
|
||||
[LVGL]: https://lvgl.io
|
||||
[FontAwesome]: https://fontawesome.com/
|
||||
[OpenSans]: https://fonts.google.com/specimen/Open+Sans
|
||||
[adjust](https://fontawesome.com/v5/icons/adjust)
|
||||
[arrow-alt-circle-up](https://fontawesome.com/v5/icons/arrow-alt-circle-up)
|
||||
15523
shared/fonts/font_32.c
Normal file
15523
shared/fonts/font_32.c
Normal file
File diff suppressed because it is too large
Load diff
25
shared/fonts/regenerate.sh
Executable file
25
shared/fonts/regenerate.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh -ex
|
||||
|
||||
# Copyright 2022 Johannes Marbach
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
npx lv_font_conv --bpp 4 --size 32 --no-compress -o font_32.c --format lvgl \
|
||||
--font OpenSans-Regular.ttf \
|
||||
--range '0x0020-0x007F' \
|
||||
--range '0x00A0-0x00FF' \
|
||||
--range '0x0100-0x017F' \
|
||||
--range '0x0370-0x03FF' \
|
||||
--range '0x2000-0x206F' \
|
||||
--range '0x20A0-0x20CF' \
|
||||
--range '0x2200-0x22FF' \
|
||||
--font FontAwesome5-Solid+Brands+Regular.woff \
|
||||
--range '0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF0E0,0xF304,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF287,0xF293,0xF2ED,0xF55A,0xF7C2,0xF8A2' \
|
||||
--range '0xF042' \
|
||||
--range '0xF35B'
|
||||
|
||||
# Fix type qualifier for compatibility with LV_FONT_DECLARE and add prefix
|
||||
sed 's/^lv_font_t /const lv_font_t /g' font_32.c \
|
||||
| sed 's/lv_font_t font_32/lv_font_t bb_font_32/g' \
|
||||
> font_32.c.tmp
|
||||
mv font_32.c.tmp font_32.c
|
||||
|
|
@ -86,7 +86,7 @@ static void keyboard_draw_task_added_cb(lv_event_t *event);
|
|||
|
||||
static void init_styles(const bb_theme *theme) {
|
||||
reset_style(&(styles.widget));
|
||||
lv_style_set_text_font(&(styles.widget), &font_32);
|
||||
lv_style_set_text_font(&(styles.widget), &bb_font_32);
|
||||
|
||||
reset_style(&(styles.window));
|
||||
lv_style_set_bg_opa(&(styles.window), LV_OPA_COVER);
|
||||
|
|
@ -376,9 +376,9 @@ void bb_theme_apply(const bb_theme *theme) {
|
|||
}
|
||||
|
||||
lv_theme.disp = NULL;
|
||||
lv_theme.font_small = &font_32;
|
||||
lv_theme.font_normal = &font_32;
|
||||
lv_theme.font_large = &font_32;
|
||||
lv_theme.font_small = &bb_font_32;
|
||||
lv_theme.font_normal = &bb_font_32;
|
||||
lv_theme.font_large = &bb_font_32;
|
||||
lv_theme.apply_cb = apply_theme_cb;
|
||||
|
||||
current_theme = *theme;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue