Move font to shared
This commit is contained in:
parent
65637dcb43
commit
b31f61f6c1
17 changed files with 54 additions and 15627 deletions
Binary file not shown.
Binary file not shown.
|
|
@ -100,29 +100,6 @@ $ sudo ./_build/buffyboard
|
|||
|
||||
With meson <0.55 use `ninja` instead of `meson compile`.
|
||||
|
||||
## Fonts
|
||||
|
||||
In order to work with [LVGL], fonts need to be converted to bitmaps, stored as C arrays. Buffyboard 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-fonts.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](https://fontawesome.com/v5/icons/adjust) (`0xF042`)
|
||||
- [arrow-alt-circle-up](https://fontawesome.com/v5/icons/arrow-alt-circle-up) (`0xF35B`)
|
||||
|
||||
## Keyboard layouts
|
||||
|
||||
Buffyboard uses [squeekboard layouts] converted to C via [squeek2lvgl]. To regenerate the layouts, ensure that you have pipenv installed (e.g. via `pip install --user pipenv`) and then run
|
||||
|
|
@ -141,22 +118,12 @@ The mouse cursor image was taken from [lv_sim_emscripten].
|
|||
|
||||
Buffyboard was inspired by [fbkeyboard].
|
||||
|
||||
# License
|
||||
|
||||
Buffyboard is licensed under the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
|
||||
The [OpenSans] font is licensed under the Apache License 2.0.
|
||||
|
||||
The [FontAwesome] font is licensed under the Open Font License version 1.1.
|
||||
|
||||
# Footnotes
|
||||
|
||||
[^1]: If you still don't know what vampires have to do with all of this, the train of thought is: Linux frame**buffer** 👉 **buffy**board 👉 ... wait for it ... 👉 [**Buffy** the Vampire Slayer]. There you have it. I never claimed I was funny. 😅
|
||||
|
||||
[**Buffy** the Vampire Slayer]: https://en.wikipedia.org/wiki/Buffy_the_Vampire_Slayer
|
||||
[FontAwesome]: https://fontawesome.com/
|
||||
[LVGL]: https://lvgl.io
|
||||
[OpenSans]: https://fonts.google.com/specimen/Open+Sans
|
||||
[arrow-alt-circle-up]: https://fontawesome.com/v5.15/icons/arrow-alt-circle-up?style=solid
|
||||
[buffyboard.conf]: ./buffyboard.conf
|
||||
[fbkeyboard]: https://github.com/bakonyiferenc/fbkeyboard
|
||||
|
|
|
|||
15523
buffyboard/font_32.c
15523
buffyboard/font_32.c
File diff suppressed because it is too large
Load diff
|
|
@ -392,10 +392,10 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
|||
/*Optionally declare custom fonts here.
|
||||
*You can use these fonts as default font too and they will be available globally.
|
||||
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
|
||||
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(font_32)
|
||||
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bb_font_32)
|
||||
|
||||
/*Always set a default font*/
|
||||
#define LV_FONT_DEFAULT &font_32
|
||||
#define LV_FONT_DEFAULT &bb_font_32
|
||||
|
||||
/*Enable handling large font and/or fonts with a lot of characters.
|
||||
*The limit depends on the font size, font face and bpp.
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ add_project_arguments('-DBB_VERSION="@0@"'.format(meson.project_version()), lang
|
|||
buffyboard_sources = [
|
||||
'command_line.c',
|
||||
'config.c',
|
||||
'font_32.c',
|
||||
'main.c',
|
||||
'sq2lv_layouts.c',
|
||||
'terminal.c',
|
||||
|
|
@ -24,6 +23,7 @@ buffyboard_sources = [
|
|||
|
||||
shared_sources = [
|
||||
'../shared/cursor/cursor.c',
|
||||
'../shared/fonts/font_32.c',
|
||||
'../shared/indev.c',
|
||||
'../shared/log.c',
|
||||
'../shared/theme.c',
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
#!/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
|
||||
sed 's/^lv_font_t font_32/const lv_font_t font_32/g' font_32.c \
|
||||
> font_32.c.tmp
|
||||
mv font_32.c.tmp font_32.c
|
||||
Loading…
Add table
Add a link
Reference in a new issue