What changed, and why it matters
This commit adds new font files and documentation for the BitBox02 hardware wallet's user interface. It is a routine asset update that changes how text looks on screen, not a security fix or vulnerability. There are no code changes that handle secrets, network data, or user input.
No security action required. Review as a normal UI asset change; verify font metrics and rendering tests pass.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit introduces LVGL-formatted bitmap font assets under src/ui/fonts/ for the BitBox02 firmware. It adds regular, password, monogram, and bootloader font variants, a new lvgl.h compatibility header, and updates README.md with character-set coverage and regeneration instructions. The password fonts use a visible space glyph and fall back to the corresponding regular font. No executable logic, parsers, or security-sensitive code paths are modified.
Changed components
src/ui/fonts/README.mdsrc/ui/fonts/lvgl.hsrc/ui/fonts/monogram_16.csrc/ui/fonts/monogram_16.hsrc/ui/fonts/monogram_16_bootloader.csrc/ui/fonts/monogram_16_bootloader.hsrc/ui/fonts/password_12.csrc/ui/fonts/password_12.hsrc/ui/fonts/password_9.csrc/ui/fonts/password_9.hsrc/ui/fonts/regular_11.csrc/ui/fonts/regular_11.hsrc/ui/fonts/regular_12.csrc/ui/fonts/regular_12.hsrc/ui/fonts/regular_9.csrc/ui/fonts/regular_9.hsrc/ui/fonts/regular_9_bootloader.csrc/ui/fonts/regular_9_bootloader.hsrc/ui/fonts/regular_fonts.hInspect captured patch +3744 / −15
### src/ui/fonts/README.md
@@ -1,27 +1,131 @@
-# ttf2ugui
+# Supported BitBox02 characters
-We have converted the fonts in this directory with the ttf2ugui tool provided in `tools` directory.
+The BitBox02 regular text fonts support English, German, Spanish, Italian, and French,
+among the most widely spoken languages in Europe.
+
+The character set includes printable ASCII and the additional letters needed for these languages.
+The language letters are based on the
+[Unicode CLDR main exemplars](https://www.unicode.org/cldr/charts/48/by_type/core_data.alphabetic_information.main.html),
+with uppercase forms included except capital sharp S (`ẞ`, U+1E9E), whose support varies across
+fonts.
+Non-breaking space (U+00A0) and soft hyphen (U+00AD) are excluded because they can look like an
+ordinary space or hyphen.
+This is a set of precomposed characters: input must use NFC for
+accented letters; decomposed base letters followed by combining accents are not included.
+
+The exact supported set is **162 characters**:
+
+* All 95 printable ASCII characters, U+0020–U+007E, including ordinary space:
+
+ ```text
+ !"#$%&'()*+,-./0123456789:;<=>?@
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
+ abcdefghijklmnopqrstuvwxyz{|}~
+ ```
+
+* The following additional letters (overlap between languages is intentional):
+
+ | Language | Uppercase | Lowercase |
+ | --- | --- | --- |
+ | English | None beyond ASCII `A–Z` | None beyond ASCII `a–z` |
+ | German | `Ä Ö Ü` | `ä ö ü ß` |
+ | Spanish | `Á É Í Ñ Ó Ú Ü` | `á é í ñ ó ú ü` |
+ | Italian | `À È É Ì Ò Ó Ù` | `à è é ì ò ó ù` |
+ | French | `À Â Æ Ç È É Ê Ë Î Ï Ô Œ Ù Û Ü Ÿ` | `à â æ ç è é ê ë î ï ô œ ù û ü ÿ` |
+
+* Punctuation and symbols: `¡ § ª « ° º » ¿ – — ‚ „ … ‹ › €`.
+
+Coverage by font:
+
+| Fonts | Supported characters |
+| --- | --- |
+| `regular_9`, `regular_11`, `regular_12` | All 162 characters above |
+| `password_9`, `password_12` | Same coverage as the corresponding regular font, with a visible space glyph |
+| `monogram_16`, `regular_9_bootloader` | Printable ASCII only (U+0020–U+007E) |
+| `monogram_16_bootloader` | Space, `0123456789`, and `abcdef` |
+
+Monogram is for technical text; the bundled `monogram.ttf` has no accented letters. The bootloader
+fonts intentionally retain their smaller subsets. Password fonts inherit the regular fonts through
+their fallback pointers and do not need separate regeneration.
+
+## Regenerating the regular text fonts
+
+Use this exact decimal range list with `ttf2lvgl`; do not include whole Latin Unicode blocks:
+
+```sh
+FONT_RANGE='32-126,161,167,170-171,176,186-187,191-194,196,198-207,209-212,214,217-220,223-226,228,230-239,241-244,246,249-252,255,338-339,376,8211-8212,8218,8222,8230,8249-8250,8364'
+```
+
+For BitBox02, build `tools/ttf2lvgl`. Starting at the repository root, with `FONT_RANGE` set as above:
+
+```sh
+./scripts/dev_exec.sh make -C tools/ttf2lvgl
+REGULAR_FONT_PATH=/path/to/regular.ttf
+cd src/ui/fonts
+for size in 9 11 12; do
+ ../../../tools/ttf2lvgl/ttf2lvgl --dump --bpp 1 --size "$size" --dpi 72 \
+ --font "$REGULAR_FONT_PATH" --range "$FONT_RANGE" \
+ --name "regular_$size" --output "regular_$size.c"
+done
+```
+
+After generation, retain these uGUI layout metrics in the public font descriptors:
+
+| Font | `.line_height` | `.base_line` |
+| --- | --- | --- |
+| `regular_9` | 9 | 2 |
+| `regular_11` | 10 | 2 |
+| `regular_12` | 12 | 3 |
+
+Preserve the checked-in ASCII glyph pixels and spacing when regenerating. These glyphs contain
+manual bitmap or metric adjustments that raw FreeType output does not reproduce:
+
+| Font | Adjusted glyphs |
+| --- | --- |
+| `regular_9` | `0 A V j t` |
+| `regular_11` | `B W j t` |
+| `regular_12` | `f` |
+
+The ASCII rendering snapshots in `test/unit-test/test_ugui.c` verify the pixels, placement,
+advance widths, and line heights, including the password-font fallbacks.
+
+# ttf2lvgl
+
+We convert fonts for the BitBox02 OLED with the ttf2lvgl tool provided in the `tools` directory.
Example execution:
```
-./ttf2ugui --dump --font <PATH-TO-FONT> --size <SIZE>
+./ttf2lvgl --dump --font <PATH-TO-FONT> --size <SIZE> --range <RANGES> \
+ --name <FONT_SYMBOL> --output <FONT_SYMBOL>.c
```
+`<RANGES>` is a comma-separated list of individual code points and ranges, for example
+`32-126,161,U+0104-U+0107`.
+Code points in the requested ranges that are not present in the font are omitted from the generated
+LVGL cmaps.
+
To check the conversion of the font to bitmap you can use the `--show <STRING>` parameter. The tool
-will then print out the `<STRING>` with asterixes in the terminal:
+decodes `<STRING>` as UTF-8 and prints it with asterixes in the terminal:
```
-./ttf2ugui --show ABCDEF --font <PATH-TO-FONT> --size <SIZE>
+./ttf2lvgl --show ABCDEF --font <PATH-TO-FONT> --size <SIZE> --range <RANGES>
```
-Once you have `dump`ed the font there will be a `.c` and `.h` file in the current directory named
-somthing like `FontName_<WIDTH>X<HEIGHT>`. Move this file to this directory and make some small
-adjustments to it so that it compiles.
+Once you have `dump`ed the font there will be a `.c` and `.h` file in the current directory. Move
+these files to this directory. BitBox02 OLED fonts are exported directly as `font_*` LVGL font
+objects and the generated headers include `<ugui.h>` and declare `extern const UG_FONT font_*`.
+`UG_FONT` is an alias for `lv_font_t`, so no separate uGUI wrapper is needed.
+
+For BitBox02 uGUI use, keep the generated font in the compact subset consumed by `ugui.c`: 1bpp,
+`stride = 0`, no kerning, and `LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY` cmaps only. The local
+`lv_font_get_glyph_dsc_fmt_txt` and `lv_font_get_bitmap_fmt_txt` callbacks only support this subset.
+If the historical uGUI layout height differs from the generated FreeType line height, set
+`.line_height` to the uGUI layout height.
## libfreetype note
-Since `ttf2ugui` uses `libfreetype` it actually supports the following font types:
+Since `ttf2lvgl` uses `libfreetype` it actually supports the following font types:
* TrueType fonts (TTF) and TrueType collections (TTC)
* CFF fonts
@@ -36,11 +140,10 @@ Since `ttf2ugui` uses `libfreetype` it actually supports the following font type
* PFR fonts
* Type 42 fonts (limited support)
-# ugui font format
+# LVGL font format
-The bitmaps are layed out line by line and every line uses `ceil(width/8)` bytes. A 9 pixel wide
-font will use 16 bits per line (7 bits per line are not used). See for example underscore `_` and
-exclamation mark `!` to get a good understanding of the layout.
+The tool emits LVGL's uncompressed `lv_font_fmt_txt` format with tight glyph bounding boxes. For
+1bpp fonts, pixels are packed in LVGL bit order over the tight glyph bitmap. For 8bpp fonts, each
+pixel stores the same 16x16 downsampled coverage value that the old `ttf2ugui` tool produced.
-Each item in the array is suffixed with a comment that shows which character the bytes correspond
-to.
+Bitmap groups and glyph descriptors are annotated with their Unicode code points.
### src/ui/fonts/lvgl.h
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: Apache-2.0
+
+#ifndef _UI_FONTS_LVGL_H_
+#define _UI_FONTS_LVGL_H_
+
+#include <lv_version.h>
+#include <src/font/lv_font.h>
+#include <src/font/lv_font_fmt_txt.h>
+
+#ifndef LV_VERSION_CHECK
+#define LV_VERSION_CHECK(x, y, z) \
+ ((x) == LVGL_VERSION_MAJOR && \
+ ((y) < LVGL_VERSION_MINOR || ((y) == LVGL_VERSION_MINOR && (z) <= LVGL_VERSION_PATCH)))
+#endif
+
+#endif
### src/ui/fonts/monogram_16.c
@@ -0,0 +1,448 @@
+/*******************************************************************************
+ * Size: 16 px
+ * Bpp: 1
+ * Opts: --dump --bpp 1 --size 16 --font monogram.ttf --range 32-126 --name monogram_16 --output monogram_16.c
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "monogram_16.h"
+
+#ifndef MONOGRAM_16
+#define MONOGRAM_16 1
+#endif
+
+#if MONOGRAM_16
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0021 "!" */
+ 0xFA,
+
+ /* U+0022 "\"" */
+ 0xB6, 0x80,
+
+ /* U+0023 "#" */
+ 0x57, 0xD4, 0xAF, 0xA8,
+
+ /* U+0024 "$" */
+ 0x23, 0xE8, 0xE2, 0xF8, 0x80,
+
+ /* U+0025 "%" */
+ 0x8C, 0x44, 0x44, 0x46, 0x20,
+
+ /* U+0026 "&" */
+ 0x64, 0xA4, 0xF9, 0x49, 0xA0,
+
+ /* U+0027 "'" */
+ 0xE0,
+
+ /* U+0028 "(" */
+ 0x6A, 0xA4,
+
+ /* U+0029 ")" */
+ 0x95, 0x58,
+
+ /* U+002A "*" */
+ 0x25, 0x5D, 0x52, 0x00,
+
+ /* U+002B "+" */
+ 0x21, 0x3E, 0x42, 0x00,
+
+ /* U+002C "," */
+ 0x58,
+
+ /* U+002D "-" */
+ 0xF8,
+
+ /* U+002E "." */
+ 0xC0,
+
+ /* U+002F "/" */
+ 0x08, 0x44, 0x44, 0x42, 0x00,
+
+ /* U+0030 "0" */
+ 0x74, 0x67, 0x5C, 0xC5, 0xC0,
+
+ /* U+0031 "1" */
+ 0x23, 0x08, 0x42, 0x13, 0xE0,
+
+ /* U+0032 "2" */
+ 0x74, 0x42, 0x22, 0x23, 0xE0,
+
+ /* U+0033 "3" */
+ 0x74, 0x42, 0x60, 0xC5, 0xC0,
+
+ /* U+0034 "4" */
+ 0x4A, 0x63, 0xF0, 0x84, 0x20,
+
+ /* U+0035 "5" */
+ 0xFC, 0x3C, 0x10, 0xC5, 0xC0,
+
+ /* U+0036 "6" */
+ 0x74, 0x21, 0xE8, 0xC5, 0xC0,
+
+ /* U+0037 "7" */
+ 0xF8, 0x42, 0x22, 0x10, 0x80,
+
+ /* U+0038 "8" */
+ 0x74, 0x62, 0xE8, 0xC5, 0xC0,
+
+ /* U+0039 "9" */
+ 0x74, 0x62, 0xF0, 0xC5, 0xC0,
+
+ /* U+003A ":" */
+ 0xCC,
+
+ /* U+003B ";" */
+ 0x50, 0x58,
+
+ /* U+003C "<" */
+ 0x1B, 0x20, 0xC1, 0x80,
+
+ /* U+003D "=" */
+ 0xF8, 0x3E,
+
+ /* U+003E ">" */
+ 0xC1, 0x82, 0x6C, 0x00,
+
+ /* U+003F "?" */
+ 0x74, 0x42, 0x22, 0x00, 0x80,
+
+ /* U+0040 "@" */
+ 0x74, 0xEB, 0x59, 0xC1, 0xC0,
+
+ /* U+0041 "A" */
+ 0x74, 0x63, 0x1F, 0xC6, 0x20,
+
+ /* U+0042 "B" */
+ 0xF4, 0x63, 0xE8, 0xC7, 0xC0,
+
+ /* U+0043 "C" */
+ 0x74, 0x61, 0x08, 0x45, 0xC0,
+
+ /* U+0044 "D" */
+ 0xF4, 0x63, 0x18, 0xC7, 0xC0,
+
+ /* U+0045 "E" */
+ 0xFC, 0x21, 0xE8, 0x43, 0xE0,
+
+ /* U+0046 "F" */
+ 0xFC, 0x21, 0xE8, 0x42, 0x00,
+
+ /* U+0047 "G" */
+ 0x74, 0x61, 0x78, 0xC5, 0xC0,
+
+ /* U+0048 "H" */
+ 0x8C, 0x63, 0xF8, 0xC6, 0x20,
+
+ /* U+0049 "I" */
+ 0xF9, 0x08, 0x42, 0x13, 0xE0,
+
+ /* U+004A "J" */
+ 0x08, 0x42, 0x18, 0xC5, 0xC0,
+
+ /* U+004B "K" */
+ 0x8C, 0xA9, 0x8A, 0x4A, 0x20,
+
+ /* U+004C "L" */
+ 0x84, 0x21, 0x08, 0x43, 0xE0,
+
+ /* U+004D "M" */
+ 0x8E, 0xEB, 0x18, 0xC6, 0x20,
+
+ /* U+004E "N" */
+ 0x8C, 0x73, 0x59, 0xC6, 0x20,
+
+ /* U+004F "O" */
+ 0x74, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0050 "P" */
+ 0xF4, 0x63, 0xE8, 0x42, 0x00,
+
+ /* U+0051 "Q" */
+ 0x74, 0x63, 0x18, 0xC5, 0xC3,
+
+ /* U+0052 "R" */
+ 0xF4, 0x63, 0xE8, 0xC6, 0x20,
+
+ /* U+0053 "S" */
+ 0x74, 0x60, 0xE0, 0xC5, 0xC0,
+
+ /* U+0054 "T" */
+ 0xF9, 0x08, 0x42, 0x10, 0x80,
+
+ /* U+0055 "U" */
+ 0x8C, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0056 "V" */
+ 0x8C, 0x63, 0x15, 0x28, 0x80,
+
+ /* U+0057 "W" */
+ 0x8C, 0x63, 0x1A, 0xEE, 0x20,
+
+ /* U+0058 "X" */
+ 0x8C, 0x54, 0x45, 0x46, 0x20,
+
+ /* U+0059 "Y" */
+ 0x8C, 0x54, 0x42, 0x10, 0x80,
+
+ /* U+005A "Z" */
+ 0xF8, 0x44, 0x44, 0x43, 0xE0,
+
+ /* U+005B "[" */
+ 0xEA, 0xAC,
+
+ /* U+005C "\\" */
+ 0x84, 0x10, 0x41, 0x04, 0x20,
+
+ /* U+005D "]" */
+ 0xD5, 0x5C,
+
+ /* U+005E "^" */
+ 0x22, 0xA2,
+
+ /* U+005F "_" */
+ 0xF8,
+
+ /* U+0060 "`" */
+ 0x90,
+
+ /* U+0061 "a" */
+ 0x7C, 0x63, 0x17, 0x80,
+
+ /* U+0062 "b" */
+ 0x84, 0x3D, 0x18, 0xC7, 0xC0,
+
+ /* U+0063 "c" */
+ 0x74, 0x61, 0x17, 0x00,
+
+ /* U+0064 "d" */
+ 0x08, 0x5F, 0x18, 0xC5, 0xE0,
+
+ /* U+0065 "e" */
+ 0x74, 0x7F, 0x07, 0x00,
+
+ /* U+0066 "f" */
+ 0x32, 0x51, 0xE4, 0x21, 0x00,
+
+ /* U+0067 "g" */
+ 0x7C, 0x63, 0x17, 0x85, 0xC0,
+
+ /* U+0068 "h" */
+ 0x84, 0x3D, 0x18, 0xC6, 0x20,
+
+ /* U+0069 "i" */
+ 0x20, 0x18, 0x42, 0x13, 0xE0,
+
+ /* U+006A "j" */
+ 0x08, 0x06, 0x10, 0x84, 0x31, 0x70,
+
+ /* U+006B "k" */
+ 0x84, 0x23, 0x2E, 0x4A, 0x20,
+
+ /* U+006C "l" */
+ 0xC2, 0x10, 0x84, 0x20, 0xE0,
+
+ /* U+006D "m" */
+ 0xF5, 0x6B, 0x5A, 0x80,
+
+ /* U+006E "n" */
+ 0xF4, 0x63, 0x18, 0x80,
+
+ /* U+006F "o" */
+ 0x74, 0x63, 0x17, 0x00,
+
+ /* U+0070 "p" */
+ 0xF4, 0x63, 0x1F, 0x42, 0x00,
+
+ /* U+0071 "q" */
+ 0x7C, 0x63, 0x17, 0x84, 0x20,
+
+ /* U+0072 "r" */
+ 0xB6, 0x61, 0x08, 0x00,
+
+ /* U+0073 "s" */
+ 0x7C, 0x1C, 0x1F, 0x00,
+
+ /* U+0074 "t" */
+ 0x42, 0x3C, 0x84, 0x20, 0xE0,
+
+ /* U+0075 "u" */
+ 0x8C, 0x63, 0x17, 0x80,
+
+ /* U+0076 "v" */
+ 0x8C, 0x62, 0xA2, 0x00,
+
+ /* U+0077 "w" */
+ 0x8C, 0x6B, 0x55, 0x00,
+
+ /* U+0078 "x" */
+ 0x8A, 0x88, 0xA8, 0x80,
+
+ /* U+0079 "y" */
+ 0x8C, 0x63, 0x17, 0x85, 0xC0,
+
+ /* U+007A "z" */
+ 0xF8, 0x88, 0x8F, 0x80,
+
+ /* U+007B "{" */
+ 0x29, 0x44, 0x88,
+
+ /* U+007C "|" */
+ 0xFE,
+
+ /* U+007D "}" */
+ 0x89, 0x14, 0xA0,
+
+ /* U+007E "~" */
+ 0x4D, 0x80,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 96, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 96, .box_w = 1, .box_h = 7, .ofs_x = 2, .ofs_y = 0} /* U+0021 */,
+ {.bitmap_index = 2, .adv_w = 96, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 4} /* U+0022 */,
+ {.bitmap_index = 4, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0023 */,
+ {.bitmap_index = 8, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0024 */,
+ {.bitmap_index = 13, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0025 */,
+ {.bitmap_index = 18, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0026 */,
+ {.bitmap_index = 23, .adv_w = 96, .box_w = 1, .box_h = 3, .ofs_x = 2, .ofs_y = 4} /* U+0027 */,
+ {.bitmap_index = 24, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 2, .ofs_y = 0} /* U+0028 */,
+ {.bitmap_index = 26, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0029 */,
+ {.bitmap_index = 28, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 1} /* U+002A */,
+ {.bitmap_index = 32, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+002B */,
+ {.bitmap_index = 36, .adv_w = 96, .box_w = 2, .box_h = 3, .ofs_x = 1, .ofs_y = -1} /* U+002C */,
+ {.bitmap_index = 37, .adv_w = 96, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = 3} /* U+002D */,
+ {.bitmap_index = 38, .adv_w = 96, .box_w = 1, .box_h = 2, .ofs_x = 2, .ofs_y = 0} /* U+002E */,
+ {.bitmap_index = 39, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+002F */,
+ {.bitmap_index = 44, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 49, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 54, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 59, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 64, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 69, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 74, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 79, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 84, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 89, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 94, .adv_w = 96, .box_w = 1, .box_h = 6, .ofs_x = 2, .ofs_y = 0} /* U+003A */,
+ {.bitmap_index = 95, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 1, .ofs_y = -1} /* U+003B */,
+ {.bitmap_index = 97, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+003C */,
+ {.bitmap_index = 101, .adv_w = 96, .box_w = 5, .box_h = 3, .ofs_x = 0, .ofs_y = 2} /* U+003D */,
+ {.bitmap_index = 103, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+003E */,
+ {.bitmap_index = 107, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+003F */,
+ {.bitmap_index = 112, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0040 */,
+ {.bitmap_index = 117, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0041 */,
+ {.bitmap_index = 122, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0042 */,
+ {.bitmap_index = 127, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0043 */,
+ {.bitmap_index = 132, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0044 */,
+ {.bitmap_index = 137, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0045 */,
+ {.bitmap_index = 142, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0046 */,
+ {.bitmap_index = 147, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0047 */,
+ {.bitmap_index = 152, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0048 */,
+ {.bitmap_index = 157, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0049 */,
+ {.bitmap_index = 162, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004A */,
+ {.bitmap_index = 167, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004B */,
+ {.bitmap_index = 172, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004C */,
+ {.bitmap_index = 177, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004D */,
+ {.bitmap_index = 182, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004E */,
+ {.bitmap_index = 187, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004F */,
+ {.bitmap_index = 192, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0050 */,
+ {.bitmap_index = 197, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -1} /* U+0051 */,
+ {.bitmap_index = 202, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0052 */,
+ {.bitmap_index = 207, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0053 */,
+ {.bitmap_index = 212, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0054 */,
+ {.bitmap_index = 217, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0055 */,
+ {.bitmap_index = 222, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0056 */,
+ {.bitmap_index = 227, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0057 */,
+ {.bitmap_index = 232, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0058 */,
+ {.bitmap_index = 237, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0059 */,
+ {.bitmap_index = 242, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005A */,
+ {.bitmap_index = 247, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 2, .ofs_y = 0} /* U+005B */,
+ {.bitmap_index = 249, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005C */,
+ {.bitmap_index = 254, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+005D */,
+ {.bitmap_index = 256, .adv_w = 96, .box_w = 5, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+005E */,
+ {.bitmap_index = 258, .adv_w = 96, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+005F */,
+ {.bitmap_index = 259, .adv_w = 96, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 5} /* U+0060 */,
+ {.bitmap_index = 260, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 264, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 269, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 273, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 278, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 282, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0066 */,
+ {.bitmap_index = 287, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0067 */,
+ {.bitmap_index = 292, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0068 */,
+ {.bitmap_index = 297, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0069 */,
+ {.bitmap_index = 302, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+006A */,
+ {.bitmap_index = 308, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006B */,
+ {.bitmap_index = 313, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006C */,
+ {.bitmap_index = 318, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006D */,
+ {.bitmap_index = 322, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006E */,
+ {.bitmap_index = 326, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006F */,
+ {.bitmap_index = 330, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0070 */,
+ {.bitmap_index = 335, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0071 */,
+ {.bitmap_index = 340, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0072 */,
+ {.bitmap_index = 344, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0073 */,
+ {.bitmap_index = 348, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0074 */,
+ {.bitmap_index = 353, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0075 */,
+ {.bitmap_index = 357, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0076 */,
+ {.bitmap_index = 361, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0077 */,
+ {.bitmap_index = 365, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0078 */,
+ {.bitmap_index = 369, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0079 */,
+ {.bitmap_index = 374, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+007A */,
+ {.bitmap_index = 378, .adv_w = 96, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+007B */,
+ {.bitmap_index = 381, .adv_w = 96, .box_w = 1, .box_h = 7, .ofs_x = 2, .ofs_y = 0} /* U+007C */,
+ {.bitmap_index = 382, .adv_w = 96, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+007D */,
+ {.bitmap_index = 385, .adv_w = 96, .box_w = 5, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+007E */
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 95, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 1,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_monogram_16 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 9,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* MONOGRAM_16 */
### src/ui/fonts/monogram_16.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_MONOGRAM_16_H
+#define TTF2LVGL_MONOGRAM_16_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_monogram_16;
+
+#endif /* TTF2LVGL_MONOGRAM_16_H */
### src/ui/fonts/monogram_16_bootloader.c
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * Size: 16 px
+ * Bpp: 1
+ * Opts: --dump --bpp 1 --size 16 --font src/ui/fonts/monogram.ttf --range 32,48-57,97-102 --name monogram_16 --output src/ui/fonts/monogram_16_bootloader.c
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "monogram_16_bootloader.h"
+
+#ifndef MONOGRAM_16
+#define MONOGRAM_16 1
+#endif
+
+#if MONOGRAM_16
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0030 "0" */
+ 0x74, 0x67, 0x5C, 0xC5, 0xC0,
+
+ /* U+0031 "1" */
+ 0x23, 0x08, 0x42, 0x13, 0xE0,
+
+ /* U+0032 "2" */
+ 0x74, 0x42, 0x22, 0x23, 0xE0,
+
+ /* U+0033 "3" */
+ 0x74, 0x42, 0x60, 0xC5, 0xC0,
+
+ /* U+0034 "4" */
+ 0x4A, 0x63, 0xF0, 0x84, 0x20,
+
+ /* U+0035 "5" */
+ 0xFC, 0x3C, 0x10, 0xC5, 0xC0,
+
+ /* U+0036 "6" */
+ 0x74, 0x21, 0xE8, 0xC5, 0xC0,
+
+ /* U+0037 "7" */
+ 0xF8, 0x42, 0x22, 0x10, 0x80,
+
+ /* U+0038 "8" */
+ 0x74, 0x62, 0xE8, 0xC5, 0xC0,
+
+ /* U+0039 "9" */
+ 0x74, 0x62, 0xF0, 0xC5, 0xC0,
+
+ /* U+0061 "a" */
+ 0x7C, 0x63, 0x17, 0x80,
+
+ /* U+0062 "b" */
+ 0x84, 0x3D, 0x18, 0xC7, 0xC0,
+
+ /* U+0063 "c" */
+ 0x74, 0x61, 0x17, 0x00,
+
+ /* U+0064 "d" */
+ 0x08, 0x5F, 0x18, 0xC5, 0xE0,
+
+ /* U+0065 "e" */
+ 0x74, 0x7F, 0x07, 0x00,
+
+ /* U+0066 "f" */
+ 0x32, 0x51, 0xE4, 0x21, 0x00,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 96, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 6, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 11, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 16, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 21, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 26, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 31, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 36, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 41, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 46, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 51, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 55, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 60, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 64, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 69, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 73, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0066 */
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 1, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 48, .range_length = 10, .glyph_id_start = 2,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 97, .range_length = 6, .glyph_id_start = 12,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 3,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_monogram_16 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 9,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* MONOGRAM_16 */
### src/ui/fonts/monogram_16_bootloader.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_MONOGRAM_16_BOOTLOADER_H
+#define TTF2LVGL_MONOGRAM_16_BOOTLOADER_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_monogram_16;
+
+#endif /* TTF2LVGL_MONOGRAM_16_BOOTLOADER_H */
### src/ui/fonts/password_12.c
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: Apache-2.0
+
+#include "regular_12.h"
+#include "lvgl.h"
+#include "password_12.h"
+
+#include <stdint.h>
+
+static const uint8_t glyph_bitmap[] = {
+ /* U+0020 " " rendered as a visible U-shaped space */
+ 0x83, 0x06, 0x0F, 0xF0,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 0, .adv_w = 112, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = -2},
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32,
+ .range_length = 1,
+ .glyph_id_start = 1,
+ .unicode_list = NULL,
+ .glyph_id_ofs_list = NULL,
+ .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 1,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_password_12 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 12,
+ .base_line = 3,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = &font_regular_12,
+ .user_data = NULL,
+};
### src/ui/fonts/password_12.h
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: Apache-2.0
+
+#ifndef UI_FONTS_PASSWORD_12_H
+#define UI_FONTS_PASSWORD_12_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_password_12;
+
+#endif /* UI_FONTS_PASSWORD_12_H */
### src/ui/fonts/password_9.c
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: Apache-2.0
+
+#include "regular_9.h"
+#include "lvgl.h"
+#include "password_9.h"
+
+#include <stdint.h>
+
+static const uint8_t glyph_bitmap[] = {
+ /* U+0020 " " rendered as a visible U-shaped space */
+ 0x8C, 0x7E,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 0, .adv_w = 112, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = -2},
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32,
+ .range_length = 1,
+ .glyph_id_start = 1,
+ .unicode_list = NULL,
+ .glyph_id_ofs_list = NULL,
+ .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 1,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_password_9 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 9,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = &font_regular_9,
+ .user_data = NULL,
+};
### src/ui/fonts/password_9.h
@@ -0,0 +1,8 @@
+#ifndef UI_FONTS_PASSWORD_9_H
+#define UI_FONTS_PASSWORD_9_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_password_9;
+
+#endif /* UI_FONTS_PASSWORD_9_H */
### src/ui/fonts/regular_11.c
@@ -0,0 +1,795 @@
+/*******************************************************************************
+ * Size: 11 px
+ * Bpp: 1
+ * Opts: --dump --bpp 1 --size 11 --dpi 72 --font /usr/share/fonts/truetype/msttcorefonts/Arial.ttf --range 32-126,161,167,170-171,176,186-187,191-194,196,198-207,209-212,214,217-220,223-226,228,230-239,241-244,246,249-252,255,338-339,376,8211-8212,8218,8222,8230,8249-8250,8364 --name regular_11 --output regular_11.c
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "regular_11.h"
+
+#ifndef REGULAR_11
+#define REGULAR_11 1
+#endif
+
+#if REGULAR_11
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0021 "!" */
+ 0xFD,
+
+ /* U+0022 "\"" */
+ 0xB6, 0x80,
+
+ /* U+0023 "#" */
+ 0x29, 0x7E, 0xA5, 0x7E, 0x94,
+
+ /* U+0024 "$" */
+ 0x75, 0x68, 0xE2, 0x96, 0xAE, 0x20,
+
+ /* U+0025 "%" */
+ 0x62, 0x4A, 0x25, 0x0D, 0x00, 0xB0, 0xA4, 0x52, 0x46,
+
+ /* U+0026 "&" */
+ 0x31, 0x24, 0x8C, 0x52, 0x38, 0x9D,
+
+ /* U+0027 "'" */
+ 0xE0,
+
+ /* U+0028 "(" */
+ 0x2A, 0x49, 0x24, 0x44,
+
+ /* U+0029 ")" */
+ 0x88, 0x92, 0x49, 0x50,
+
+ /* U+002A "*" */
+ 0x5D, 0x50,
+
+ /* U+002B "+" */
+ 0x21, 0x3E, 0x42, 0x00,
+
+ /* U+002C "," */
+ 0xE0,
+
+ /* U+002D "-" */
+ 0xE0,
+
+ /* U+002E "." */
+ 0x80,
+
+ /* U+002F "/" */
+ 0x25, 0x24, 0xA4,
+
+ /* U+0030 "0" */
+ 0x74, 0x63, 0x18, 0xC6, 0x2E,
+
+ /* U+0031 "1" */
+ 0x2E, 0x92, 0x49,
+
+ /* U+0032 "2" */
+ 0x74, 0x42, 0x11, 0x11, 0x1F,
+
+ /* U+0033 "3" */
+ 0x74, 0x42, 0x60, 0x86, 0x2E,
+
+ /* U+0034 "4" */
+ 0x11, 0x94, 0xA9, 0x7C, 0x42,
+
+ /* U+0035 "5" */
+ 0x7A, 0x21, 0xE0, 0x86, 0x2E,
+
+ /* U+0036 "6" */
+ 0x74, 0x61, 0xE8, 0xC6, 0x2E,
+
+ /* U+0037 "7" */
+ 0xF8, 0x84, 0x42, 0x21, 0x08,
+
+ /* U+0038 "8" */
+ 0x74, 0x62, 0xE8, 0xC6, 0x2E,
+
+ /* U+0039 "9" */
+ 0x74, 0x63, 0x17, 0x86, 0x2E,
+
+ /* U+003A ":" */
+ 0x84,
+
+ /* U+003B ";" */
+ 0x87,
+
+ /* U+003C "<" */
+ 0x0B, 0xA0, 0xE0, 0x80,
+
+ /* U+003D "=" */
+ 0xF8, 0x3E,
+
+ /* U+003E ">" */
+ 0x83, 0x82, 0xE8, 0x00,
+
+ /* U+003F "?" */
+ 0x74, 0x42, 0x22, 0x10, 0x04,
+
+ /* U+0040 "@" */
+ 0x1F, 0x18, 0x24, 0xD6, 0x4D, 0xA2, 0x68, 0x9A, 0x6A, 0x6C, 0x40, 0x4F,
+ 0xE0,
+
+ /* U+0041 "A" */
+ 0x10, 0x50, 0xA1, 0x44, 0x4F, 0xA0, 0xC1,
+
+ /* U+0042 "B" */
+ 0xFA, 0x18, 0x7E, 0x86, 0x18, 0x7E,
+
+ /* U+0043 "C" */
+ 0x39, 0x18, 0x20, 0x82, 0x04, 0x4E,
+
+ /* U+0044 "D" */
+ 0xF2, 0x28, 0x61, 0x86, 0x18, 0xBC,
+
+ /* U+0045 "E" */
+ 0xFC, 0x21, 0xF8, 0x42, 0x1F,
+
+ /* U+0046 "F" */
+ 0xFC, 0x21, 0xE8, 0x42, 0x10,
+
+ /* U+0047 "G" */
+ 0x38, 0x8A, 0x0C, 0x08, 0xF0, 0x51, 0x1C,
+
+ /* U+0048 "H" */
+ 0x86, 0x18, 0x7F, 0x86, 0x18, 0x61,
+
+ /* U+0049 "I" */
+ 0xFF,
+
+ /* U+004A "J" */
+ 0x11, 0x11, 0x19, 0x96,
+
+ /* U+004B "K" */
+ 0x86, 0x29, 0x2C, 0xD2, 0x28, 0xA1,
+
+ /* U+004C "L" */
+ 0x84, 0x21, 0x08, 0x42, 0x1F,
+
+ /* U+004D "M" */
+ 0x83, 0x8F, 0x1D, 0x5A, 0xB5, 0x64, 0xC9,
+
+ /* U+004E "N" */
+ 0x87, 0x1A, 0x69, 0x96, 0x58, 0xE1,
+
+ /* U+004F "O" */
+ 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x51, 0x1C,
+
+ /* U+0050 "P" */
+ 0xF4, 0x63, 0x1F, 0x42, 0x10,
+
+ /* U+0051 "Q" */
+ 0x38, 0x8A, 0x0C, 0x18, 0x33, 0x51, 0x1F,
+
+ /* U+0052 "R" */
+ 0xFA, 0x18, 0x7E, 0x92, 0x28, 0xA1,
+
+ /* U+0053 "S" */
+ 0x7A, 0x18, 0x18, 0x18, 0x18, 0x5E,
+
+ /* U+0054 "T" */
+ 0xF9, 0x08, 0x42, 0x10, 0x84,
+
+ /* U+0055 "U" */
+ 0x86, 0x18, 0x61, 0x86, 0x18, 0x5E,
+
+ /* U+0056 "V" */
+ 0x83, 0x05, 0x12, 0x22, 0x85, 0x04, 0x08,
+
+ /* U+0057 "W" */
+ 0x84, 0x31, 0x45, 0x29, 0x25, 0x25, 0x14, 0xA2, 0x88, 0x21, 0x04,
+
+ /* U+0058 "X" */
+ 0x85, 0x24, 0x8C, 0x31, 0x24, 0xA1,
+
+ /* U+0059 "Y" */
+ 0x82, 0x89, 0x11, 0x41, 0x02, 0x04, 0x08,
+
+ /* U+005A "Z" */
+ 0x7C, 0x21, 0x04, 0x20, 0x84, 0x3F,
+
+ /* U+005B "[" */
+ 0xEA, 0xAA, 0xB0,
+
+ /* U+005C "\\" */
+ 0x91, 0x24, 0x89,
+
+ /* U+005D "]" */
+ 0xD5, 0x55, 0x70,
+
+ /* U+005E "^" */
+ 0x22, 0x95, 0x10,
+
+ /* U+005F "_" */
+ 0xFC,
+
+ /* U+0060 "`" */
+ 0x90,
+
+ /* U+0061 "a" */
+ 0x74, 0x5F, 0x19, 0xF4,
+
+ /* U+0062 "b" */
+ 0x84, 0x2D, 0x98, 0xC7, 0x36,
+
+ /* U+0063 "c" */
+ 0x74, 0x61, 0x08, 0xB8,
+
+ /* U+0064 "d" */
+ 0x08, 0x5B, 0x38, 0xC6, 0x6D,
+
+ /* U+0065 "e" */
+ 0x74, 0x7F, 0x08, 0xB8,
+
+ /* U+0066 "f" */
+ 0x24, 0xE4, 0x44, 0x44,
+
+ /* U+0067 "g" */
+ 0x6C, 0xE3, 0x19, 0xB4, 0x3E,
+
+ /* U+0068 "h" */
+ 0x84, 0x2D, 0x98, 0xC6, 0x31,
+
+ /* U+0069 "i" */
+ 0xBF,
+
+ /* U+006A "j" */
+ 0x45, 0x55, 0xC0,
+
+ /* U+006B "k" */
+ 0x88, 0x9A, 0xCE, 0xA9,
+
+ /* U+006C "l" */
+ 0xFF,
+
+ /* U+006D "m" */
+ 0xBD, 0xA6, 0x4C, 0x99, 0x32, 0x40,
+
+ /* U+006E "n" */
+ 0xF4, 0x63, 0x18, 0xC4,
+
+ /* U+006F "o" */
+ 0x74, 0x63, 0x18, 0xB8,
+
+ /* U+0070 "p" */
+ 0xB6, 0x63, 0x1C, 0xDA, 0x10,
+
+ /* U+0071 "q" */
+ 0x6C, 0xE3, 0x19, 0xB4, 0x21,
+
+ /* U+0072 "r" */
+ 0xBA, 0x49, 0x00,
+
+ /* U+0073 "s" */
+ 0x74, 0x58, 0x28, 0xB8,
+
+ /* U+0074 "t" */
+ 0x4B, 0xA4, 0x93,
+
+ /* U+0075 "u" */
+ 0x8C, 0x63, 0x19, 0xB4,
+
+ /* U+0076 "v" */
+ 0x8C, 0x54, 0xA2, 0x10,
+
+ /* U+0077 "w" */
+ 0x88, 0xCA, 0x55, 0x4A, 0xA2, 0x21, 0x10,
+
+ /* U+0078 "x" */
+ 0x8A, 0x88, 0x45, 0x44,
+
+ /* U+0079 "y" */
+ 0x8C, 0x54, 0xA2, 0x10, 0x88,
+
+ /* U+007A "z" */
+ 0xF8, 0x88, 0x44, 0x7C,
+
+ /* U+007B "{" */
+ 0x29, 0x28, 0x92, 0x44,
+
+ /* U+007C "|" */
+ 0xFF, 0xC0,
+
+ /* U+007D "}" */
+ 0x89, 0x22, 0x92, 0x50,
+
+ /* U+007E "~" */
+ 0x07, 0x6C, 0x00,
+
+ /* U+00A1 "¡" */
+ 0xBF,
+
+ /* U+00A7 "§" */
+ 0x74, 0x51, 0xC9, 0x24, 0xA2, 0x8B, 0x80,
+
+ /* U+00AA "ª" */
+ 0xE7, 0xF0,
+
+ /* U+00AB "«" */
+ 0x2A, 0xA8, 0xA2, 0x80,
+
+ /* U+00B0 "°" */
+ 0xF7, 0x80,
+
+ /* U+00BA "º" */
+ 0x69, 0x96,
+
+ /* U+00BB "»" */
+ 0xA2, 0x8A, 0xAA, 0x00,
+
+ /* U+00BF "¿" */
+ 0x20, 0x08, 0x44, 0x42, 0x2E,
+
+ /* U+00C0 "À" */
+ 0x20, 0x20, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7D, 0x06, 0x08,
+
+ /* U+00C1 "Á" */
+ 0x08, 0x20, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7D, 0x06, 0x08,
+
+ /* U+00C2 "Â" */
+ 0x30, 0x50, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7D, 0x06, 0x08,
+
+ /* U+00C4 "Ä" */
+ 0x28, 0x00, 0x41, 0x42, 0x85, 0x11, 0x3E, 0x83, 0x04,
+
+ /* U+00C6 "Æ" */
+ 0x0F, 0xE1, 0x40, 0x48, 0x09, 0xF2, 0x20, 0x7C, 0x10, 0x82, 0x1F,
+
+ /* U+00C7 "Ç" */
+ 0x39, 0x18, 0x20, 0x82, 0x04, 0x4E, 0x10, 0x21, 0x80,
+
+ /* U+00C8 "È" */
+ 0x41, 0x01, 0xF8, 0x43, 0xF0, 0x84, 0x3E,
+
+ /* U+00C9 "É" */
+ 0x11, 0x01, 0xF8, 0x43, 0xF0, 0x84, 0x3E,
+
+ /* U+00CA "Ê" */
+ 0x22, 0x81, 0xF8, 0x43, 0xF0, 0x84, 0x3E,
+
+ /* U+00CB "Ë" */
+ 0x50, 0x3F, 0x08, 0x7E, 0x10, 0x87, 0xC0,
+
+ /* U+00CC "Ì" */
+ 0x91, 0x55, 0x54,
+
+ /* U+00CD "Í" */
+ 0x62, 0xAA, 0xA8,
+
+ /* U+00CE "Î" */
+ 0x22, 0x80, 0x42, 0x10, 0x84, 0x21, 0x08,
+
+ /* U+00CF "Ï" */
+ 0xA1, 0x24, 0x92, 0x48,
+
+ /* U+00D1 "Ñ" */
+ 0x29, 0x40, 0x21, 0xC6, 0x9A, 0x65, 0x96, 0x38, 0x40,
+
+ /* U+00D2 "Ò" */
+ 0x20, 0x20, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x82, 0x88, 0xE0,
+
+ /* U+00D3 "Ó" */
+ 0x08, 0x20, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x82, 0x88, 0xE0,
+
+ /* U+00D4 "Ô" */
+ 0x18, 0x68, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x82, 0x88, 0xE0,
+
+ /* U+00D6 "Ö" */
+ 0x28, 0x00, 0xE2, 0x28, 0x30, 0x60, 0xC1, 0x44, 0x70,
+
+ /* U+00D9 "Ù" */
+ 0x20, 0x40, 0x21, 0x86, 0x18, 0x61, 0x86, 0x17, 0x80,
+
+ /* U+00DA "Ú" */
+ 0x10, 0x80, 0x21, 0x86, 0x18, 0x61, 0x86, 0x17, 0x80,
+
+ /* U+00DB "Û" */
+ 0x21, 0x40, 0x21, 0x86, 0x18, 0x61, 0x86, 0x17, 0x80,
+
+ /* U+00DC "Ü" */
+ 0x28, 0x08, 0x61, 0x86, 0x18, 0x61, 0x85, 0xE0,
+
+ /* U+00DF "ß" */
+ 0x72, 0x28, 0xA4, 0x9A, 0x1A, 0x66,
+
+ /* U+00E0 "à" */
+ 0x20, 0x80, 0xE8, 0xBE, 0x33, 0xE8,
+
+ /* U+00E1 "á" */
+ 0x11, 0x00, 0xE8, 0xBE, 0x33, 0xE8,
+
+ /* U+00E2 "â" */
+ 0x32, 0x80, 0xE8, 0xBE, 0x33, 0xE8,
+
+ /* U+00E4 "ä" */
+ 0x50, 0x1D, 0x17, 0xC6, 0x7D,
+
+ /* U+00E6 "æ" */
+ 0x77, 0x44, 0x5F, 0xF1, 0x08, 0x8B, 0xB8,
+
+ /* U+00E7 "ç" */
+ 0x74, 0x61, 0x08, 0xB8, 0x82, 0x30,
+
+ /* U+00E8 "è" */
+ 0x41, 0x00, 0xE8, 0xFE, 0x11, 0x70,
+
+ /* U+00E9 "é" */
+ 0x11, 0x00, 0xE8, 0xFE, 0x11, 0x70,
+
+ /* U+00EA "ê" */
+ 0x32, 0x80, 0xE8, 0xFE, 0x11, 0x70,
+
+ /* U+00EB "ë" */
+ 0x50, 0x1D, 0x1F, 0xC2, 0x2E,
+
+ /* U+00EC "ì" */
+ 0x91, 0x55, 0x40,
+
+ /* U+00ED "í" */
+ 0x62, 0xAA, 0x80,
+
+ /* U+00EE "î" */
+ 0x65, 0x04, 0x44, 0x44, 0x40,
+
+ /* U+00EF "ï" */
+ 0xA1, 0x24, 0x92,
+
+ /* U+00F1 "ñ" */
+ 0x2A, 0x81, 0xE8, 0xC6, 0x31, 0x88,
+
+ /* U+00F2 "ò" */
+ 0x41, 0x00, 0xE8, 0xC6, 0x31, 0x70,
+
+ /* U+00F3 "ó" */
+ 0x11, 0x00, 0xE8, 0xC6, 0x31, 0x70,
+
+ /* U+00F4 "ô" */
+ 0x32, 0x80, 0xE8, 0xC6, 0x31, 0x70,
+
+ /* U+00F6 "ö" */
+ 0x50, 0x1D, 0x18, 0xC6, 0x2E,
+
+ /* U+00F9 "ù" */
+ 0x41, 0x01, 0x18, 0xC6, 0x33, 0x68,
+
+ /* U+00FA "ú" */
+ 0x11, 0x01, 0x18, 0xC6, 0x33, 0x68,
+
+ /* U+00FB "û" */
+ 0x22, 0x81, 0x18, 0xC6, 0x33, 0x68,
+
+ /* U+00FC "ü" */
+ 0x50, 0x23, 0x18, 0xC6, 0x6D,
+
+ /* U+00FF "ÿ" */
+ 0x50, 0x23, 0x15, 0x28, 0x84, 0x22, 0x00,
+
+ /* U+0152 "Œ" */
+ 0x77, 0xE3, 0x08, 0x42, 0x1F, 0x84, 0x21, 0x08, 0xC1, 0xDF,
+
+ /* U+0153 "œ" */
+ 0x77, 0x44, 0x63, 0xF1, 0x08, 0x8B, 0xB8,
+
+ /* U+0178 "Ÿ" */
+ 0x28, 0x02, 0x0A, 0x24, 0x45, 0x04, 0x08, 0x10, 0x20,
+
+ /* U+2013 "–" */
+ 0xFE,
+
+ /* U+2014 "—" */
+ 0xFF, 0xF0,
+
+ /* U+201A "‚" */
+ 0xE0,
+
+ /* U+201E "„" */
+ 0xB6, 0x80,
+
+ /* U+2026 "…" */
+ 0x92,
+
+ /* U+2039 "‹" */
+ 0x2A, 0x22,
+
+ /* U+203A "›" */
+ 0x88, 0xA8,
+
+ /* U+20AC "€" */
+ 0x3D, 0x0F, 0xD0, 0xFD, 0x02, 0x07,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 32, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0021 */,
+ {.bitmap_index = 2, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 5} /* U+0022 */,
+ {.bitmap_index = 4, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0023 */,
+ {.bitmap_index = 9, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -1} /* U+0024 */,
+ {.bitmap_index = 15, .adv_w = 160, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0025 */,
+ {.bitmap_index = 24, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0026 */,
+ {.bitmap_index = 30, .adv_w = 32, .box_w = 1, .box_h = 3, .ofs_x = 0, .ofs_y = 5} /* U+0027 */,
+ {.bitmap_index = 31, .adv_w = 64, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+0028 */,
+ {.bitmap_index = 35, .adv_w = 64, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+0029 */,
+ {.bitmap_index = 39, .adv_w = 64, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = 4} /* U+002A */,
+ {.bitmap_index = 41, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+002B */,
+ {.bitmap_index = 45, .adv_w = 48, .box_w = 1, .box_h = 3, .ofs_x = 1, .ofs_y = -2} /* U+002C */,
+ {.bitmap_index = 46, .adv_w = 64, .box_w = 3, .box_h = 1, .ofs_x = 0, .ofs_y = 2} /* U+002D */,
+ {.bitmap_index = 47, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+002E */,
+ {.bitmap_index = 48, .adv_w = 48, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+002F */,
+ {.bitmap_index = 51, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 56, .adv_w = 96, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 59, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 64, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 69, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 74, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 79, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 84, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 89, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 94, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 99, .adv_w = 48, .box_w = 1, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+003A */,
+ {.bitmap_index = 100, .adv_w = 48, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+003B */,
+ {.bitmap_index = 101, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+003C */,
+ {.bitmap_index = 105, .adv_w = 96, .box_w = 5, .box_h = 3, .ofs_x = 0, .ofs_y = 2} /* U+003D */,
+ {.bitmap_index = 107, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 1} /* U+003E */,
+ {.bitmap_index = 111, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+003F */,
+ {.bitmap_index = 116, .adv_w = 176, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+0040 */,
+ {.bitmap_index = 129, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0041 */,
+ {.bitmap_index = 136, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0042 */,
+ {.bitmap_index = 142, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0043 */,
+ {.bitmap_index = 148, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0044 */,
+ {.bitmap_index = 154, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0045 */,
+ {.bitmap_index = 159, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0046 */,
+ {.bitmap_index = 164, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0047 */,
+ {.bitmap_index = 171, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0048 */,
+ {.bitmap_index = 177, .adv_w = 32, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0049 */,
+ {.bitmap_index = 178, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004A */,
+ {.bitmap_index = 182, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004B */,
+ {.bitmap_index = 188, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004C */,
+ {.bitmap_index = 193, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004D */,
+ {.bitmap_index = 200, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004E */,
+ {.bitmap_index = 206, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+004F */,
+ {.bitmap_index = 213, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0050 */,
+ {.bitmap_index = 218, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0051 */,
+ {.bitmap_index = 225, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0052 */,
+ {.bitmap_index = 231, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0053 */,
+ {.bitmap_index = 237, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0054 */,
+ {.bitmap_index = 242, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0055 */,
+ {.bitmap_index = 248, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0056 */,
+ {.bitmap_index = 255, .adv_w = 176, .box_w = 11, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0057 */,
+ {.bitmap_index = 266, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0058 */,
+ {.bitmap_index = 272, .adv_w = 128, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0059 */,
+ {.bitmap_index = 279, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+005A */,
+ {.bitmap_index = 285, .adv_w = 48, .box_w = 2, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+005B */,
+ {.bitmap_index = 288, .adv_w = 48, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+005C */,
+ {.bitmap_index = 291, .adv_w = 48, .box_w = 2, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+005D */,
+ {.bitmap_index = 294, .adv_w = 80, .box_w = 5, .box_h = 4, .ofs_x = 0, .ofs_y = 4} /* U+005E */,
+ {.bitmap_index = 297, .adv_w = 96, .box_w = 6, .box_h = 1, .ofs_x = 0, .ofs_y = -2} /* U+005F */,
+ {.bitmap_index = 298, .adv_w = 64, .box_w = 2, .box_h = 2, .ofs_x = 0, .ofs_y = 6} /* U+0060 */,
+ {.bitmap_index = 299, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 303, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 308, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 312, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 317, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 321, .adv_w = 64, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0066 */,
+ {.bitmap_index = 325, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+0067 */,
+ {.bitmap_index = 330, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0068 */,
+ {.bitmap_index = 335, .adv_w = 32, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0069 */,
+ {.bitmap_index = 336, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -1} /* U+006A */,
+ {.bitmap_index = 339, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+006B */,
+ {.bitmap_index = 343, .adv_w = 32, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+006C */,
+ {.bitmap_index = 344, .adv_w = 128, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+006D */,
+ {.bitmap_index = 350, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+006E */,
+ {.bitmap_index = 354, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+006F */,
+ {.bitmap_index = 358, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+0070 */,
+ {.bitmap_index = 363, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+0071 */,
+ {.bitmap_index = 368, .adv_w = 64, .box_w = 3, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0072 */,
+ {.bitmap_index = 371, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0073 */,
+ {.bitmap_index = 375, .adv_w = 64, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0074 */,
+ {.bitmap_index = 378, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0075 */,
+ {.bitmap_index = 382, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0076 */,
+ {.bitmap_index = 386, .adv_w = 160, .box_w = 9, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0077 */,
+ {.bitmap_index = 393, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0078 */,
+ {.bitmap_index = 397, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+0079 */,
+ {.bitmap_index = 402, .adv_w = 96, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+007A */,
+ {.bitmap_index = 406, .adv_w = 64, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+007B */,
+ {.bitmap_index = 410, .adv_w = 32, .box_w = 1, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+007C */,
+ {.bitmap_index = 412, .adv_w = 64, .box_w = 3, .box_h = 10, .ofs_x = 1, .ofs_y = -2} /* U+007D */,
+ {.bitmap_index = 416, .adv_w = 96, .box_w = 5, .box_h = 4, .ofs_x = 0, .ofs_y = 2} /* U+007E */,
+ {.bitmap_index = 419, .adv_w = 32, .box_w = 1, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+00A1 */,
+ {.bitmap_index = 420, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+00A7 */,
+ {.bitmap_index = 427, .adv_w = 64, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = 4} /* U+00AA */,
+ {.bitmap_index = 429, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+00AB */,
+ {.bitmap_index = 433, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 5} /* U+00B0 */,
+ {.bitmap_index = 435, .adv_w = 80, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 4} /* U+00BA */,
+ {.bitmap_index = 437, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+00BB */,
+ {.bitmap_index = 441, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -2} /* U+00BF */,
+ {.bitmap_index = 446, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C0 */,
+ {.bitmap_index = 456, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C1 */,
+ {.bitmap_index = 466, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C2 */,
+ {.bitmap_index = 476, .adv_w = 128, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+00C4 */,
+ {.bitmap_index = 485, .adv_w = 176, .box_w = 11, .box_h = 8, .ofs_x = -1, .ofs_y = 0} /* U+00C6 */,
+ {.bitmap_index = 496, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = -3} /* U+00C7 */,
+ {.bitmap_index = 505, .adv_w = 96, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C8 */,
+ {.bitmap_index = 512, .adv_w = 96, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C9 */,
+ {.bitmap_index = 519, .adv_w = 96, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00CA */,
+ {.bitmap_index = 526, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+00CB */,
+ {.bitmap_index = 533, .adv_w = 32, .box_w = 2, .box_h = 11, .ofs_x = -1, .ofs_y = 0} /* U+00CC */,
+ {.bitmap_index = 536, .adv_w = 32, .box_w = 2, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00CD */,
+ {.bitmap_index = 539, .adv_w = 32, .box_w = 5, .box_h = 11, .ofs_x = -2, .ofs_y = 0} /* U+00CE */,
+ {.bitmap_index = 546, .adv_w = 32, .box_w = 3, .box_h = 10, .ofs_x = -1, .ofs_y = 0} /* U+00CF */,
+ {.bitmap_index = 550, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00D1 */,
+ {.bitmap_index = 559, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00D2 */,
+ {.bitmap_index = 569, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00D3 */,
+ {.bitmap_index = 579, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00D4 */,
+ {.bitmap_index = 589, .adv_w = 128, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+00D6 */,
+ {.bitmap_index = 598, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00D9 */,
+ {.bitmap_index = 607, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00DA */,
+ {.bitmap_index = 616, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00DB */,
+ {.bitmap_index = 625, .adv_w = 112, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+00DC */,
+ {.bitmap_index = 633, .adv_w = 112, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00DF */,
+ {.bitmap_index = 639, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00E0 */,
+ {.bitmap_index = 645, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00E1 */,
+ {.bitmap_index = 651, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00E2 */,
+ {.bitmap_index = 657, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E4 */,
+ {.bitmap_index = 662, .adv_w = 160, .box_w = 9, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+00E6 */,
+ {.bitmap_index = 669, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -3} /* U+00E7 */,
+ {.bitmap_index = 675, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00E8 */,
+ {.bitmap_index = 681, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00E9 */,
+ {.bitmap_index = 687, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00EA */,
+ {.bitmap_index = 693, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00EB */,
+ {.bitmap_index = 698, .adv_w = 32, .box_w = 2, .box_h = 9, .ofs_x = -1, .ofs_y = 0} /* U+00EC */,
+ {.bitmap_index = 701, .adv_w = 32, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00ED */,
+ {.bitmap_index = 704, .adv_w = 32, .box_w = 4, .box_h = 9, .ofs_x = -1, .ofs_y = 0} /* U+00EE */,
+ {.bitmap_index = 709, .adv_w = 32, .box_w = 3, .box_h = 8, .ofs_x = -1, .ofs_y = 0} /* U+00EF */,
+ {.bitmap_index = 712, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00F1 */,
+ {.bitmap_index = 718, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00F2 */,
+ {.bitmap_index = 724, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00F3 */,
+ {.bitmap_index = 730, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00F4 */,
+ {.bitmap_index = 736, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F6 */,
+ {.bitmap_index = 741, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00F9 */,
+ {.bitmap_index = 747, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00FA */,
+ {.bitmap_index = 753, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00FB */,
+ {.bitmap_index = 759, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00FC */,
+ {.bitmap_index = 764, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -2} /* U+00FF */,
+ {.bitmap_index = 771, .adv_w = 176, .box_w = 10, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+0152 */,
+ {.bitmap_index = 781, .adv_w = 160, .box_w = 9, .box_h = 6, .ofs_x = 0, .ofs_y = 0} /* U+0153 */,
+ {.bitmap_index = 788, .adv_w = 128, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+0178 */,
+ {.bitmap_index = 797, .adv_w = 96, .box_w = 7, .box_h = 1, .ofs_x = -1, .ofs_y = 2} /* U+2013 */,
+ {.bitmap_index = 798, .adv_w = 176, .box_w = 12, .box_h = 1, .ofs_x = -1, .ofs_y = 2} /* U+2014 */,
+ {.bitmap_index = 800, .adv_w = 32, .box_w = 1, .box_h = 3, .ofs_x = 0, .ofs_y = -2} /* U+201A */,
+ {.bitmap_index = 801, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = -2} /* U+201E */,
+ {.bitmap_index = 803, .adv_w = 176, .box_w = 7, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+2026 */,
+ {.bitmap_index = 804, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+2039 */,
+ {.bitmap_index = 806, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+203A */,
+ {.bitmap_index = 808, .adv_w = 96, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+20AC */
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 95, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 161, .range_length = 1, .glyph_id_start = 96,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 167, .range_length = 1, .glyph_id_start = 97,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 170, .range_length = 2, .glyph_id_start = 98,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 176, .range_length = 1, .glyph_id_start = 100,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 186, .range_length = 2, .glyph_id_start = 101,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 191, .range_length = 4, .glyph_id_start = 103,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 196, .range_length = 1, .glyph_id_start = 107,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 198, .range_length = 10, .glyph_id_start = 108,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 209, .range_length = 4, .glyph_id_start = 118,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 214, .range_length = 1, .glyph_id_start = 122,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 217, .range_length = 4, .glyph_id_start = 123,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 223, .range_length = 4, .glyph_id_start = 127,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 228, .range_length = 1, .glyph_id_start = 131,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 230, .range_length = 10, .glyph_id_start = 132,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 241, .range_length = 4, .glyph_id_start = 142,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 246, .range_length = 1, .glyph_id_start = 146,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 249, .range_length = 4, .glyph_id_start = 147,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 255, .range_length = 1, .glyph_id_start = 151,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 338, .range_length = 2, .glyph_id_start = 152,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 376, .range_length = 1, .glyph_id_start = 154,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8211, .range_length = 2, .glyph_id_start = 155,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8218, .range_length = 1, .glyph_id_start = 157,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8222, .range_length = 1, .glyph_id_start = 158,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8230, .range_length = 1, .glyph_id_start = 159,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8249, .range_length = 2, .glyph_id_start = 160,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8364, .range_length = 1, .glyph_id_start = 162,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 27,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_regular_11 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 10,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* REGULAR_11 */
### src/ui/fonts/regular_11.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_REGULAR_11_H
+#define TTF2LVGL_REGULAR_11_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_regular_11;
+
+#endif /* TTF2LVGL_REGULAR_11_H */
### src/ui/fonts/regular_12.c
@@ -0,0 +1,797 @@
+/*******************************************************************************
+ * Size: 12 px
+ * Bpp: 1
+ * Opts: --dump --bpp 1 --size 12 --dpi 72 --font /usr/share/fonts/truetype/msttcorefonts/Arial.ttf --range 32-126,161,167,170-171,176,186-187,191-194,196,198-207,209-212,214,217-220,223-226,228,230-239,241-244,246,249-252,255,338-339,376,8211-8212,8218,8222,8230,8249-8250,8364 --name regular_12 --output regular_12.c
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "regular_12.h"
+
+#ifndef REGULAR_12
+#define REGULAR_12 1
+#endif
+
+#if REGULAR_12
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0021 "!" */
+ 0xFE, 0x80,
+
+ /* U+0022 "\"" */
+ 0xB6, 0x80,
+
+ /* U+0023 "#" */
+ 0x14, 0x2B, 0xF9, 0x42, 0x9F, 0xCA, 0x28, 0x50,
+
+ /* U+0024 "$" */
+ 0x75, 0x69, 0x47, 0x16, 0xB5, 0x71, 0x00,
+
+ /* U+0025 "%" */
+ 0x62, 0x4A, 0x25, 0x13, 0x06, 0xB0, 0x64, 0x52, 0x29, 0x23, 0x00,
+
+ /* U+0026 "&" */
+ 0x30, 0x91, 0x22, 0x86, 0x12, 0xA2, 0x46, 0x72,
+
+ /* U+0027 "'" */
+ 0xE0,
+
+ /* U+0028 "(" */
+ 0x29, 0x49, 0x24, 0x48, 0x80,
+
+ /* U+0029 ")" */
+ 0x89, 0x12, 0x49, 0x4A, 0x00,
+
+ /* U+002A "*" */
+ 0x27, 0xC8, 0xA0,
+
+ /* U+002B "+" */
+ 0x21, 0x3E, 0x42, 0x00,
+
+ /* U+002C "," */
+ 0xE0,
+
+ /* U+002D "-" */
+ 0xE0,
+
+ /* U+002E "." */
+ 0x80,
+
+ /* U+002F "/" */
+ 0x25, 0x24, 0x94, 0x80,
+
+ /* U+0030 "0" */
+ 0x74, 0x63, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+0031 "1" */
+ 0x2E, 0x92, 0x49, 0x20,
+
+ /* U+0032 "2" */
+ 0x74, 0x42, 0x11, 0x08, 0x88, 0xF8,
+
+ /* U+0033 "3" */
+ 0x74, 0x42, 0x13, 0x04, 0x31, 0x70,
+
+ /* U+0034 "4" */
+ 0x11, 0x8C, 0xA5, 0x4B, 0xE2, 0x10,
+
+ /* U+0035 "5" */
+ 0x7A, 0x21, 0xE8, 0x84, 0x31, 0x70,
+
+ /* U+0036 "6" */
+ 0x74, 0x61, 0x6C, 0xC6, 0x31, 0x70,
+
+ /* U+0037 "7" */
+ 0xF8, 0x84, 0x42, 0x11, 0x08, 0x40,
+
+ /* U+0038 "8" */
+ 0x74, 0x63, 0x17, 0x46, 0x31, 0x70,
+
+ /* U+0039 "9" */
+ 0x74, 0x63, 0x19, 0xB4, 0x31, 0x70,
+
+ /* U+003A ":" */
+ 0x82,
+
+ /* U+003B ";" */
+ 0x83, 0x80,
+
+ /* U+003C "<" */
+ 0x0B, 0xA0, 0xE0, 0x80,
+
+ /* U+003D "=" */
+ 0xFC, 0x00, 0x3F,
+
+ /* U+003E ">" */
+ 0x83, 0x82, 0xE8, 0x00,
+
+ /* U+003F "?" */
+ 0x74, 0x62, 0x11, 0x10, 0x80, 0x20,
+
+ /* U+0040 "@" */
+ 0x0F, 0x06, 0x19, 0x01, 0x26, 0x99, 0x33, 0x44, 0x68, 0x8D, 0x12, 0x9F,
+ 0x88, 0x04, 0x83, 0x0F, 0x80,
+
+ /* U+0041 "A" */
+ 0x10, 0x50, 0xA1, 0x44, 0x4F, 0x91, 0x41, 0x82,
+
+ /* U+0042 "B" */
+ 0xFA, 0x18, 0x61, 0xFE, 0x18, 0x61, 0xF8,
+
+ /* U+0043 "C" */
+ 0x38, 0x8A, 0x0C, 0x08, 0x10, 0x20, 0xA2, 0x38,
+
+ /* U+0044 "D" */
+ 0xF9, 0x0A, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xF8,
+
+ /* U+0045 "E" */
+ 0xFE, 0x08, 0x20, 0xFE, 0x08, 0x20, 0xFC,
+
+ /* U+0046 "F" */
+ 0xFC, 0x21, 0x0F, 0x42, 0x10, 0x80,
+
+ /* U+0047 "G" */
+ 0x38, 0x8A, 0x0C, 0x08, 0xF0, 0x60, 0xA2, 0x38,
+
+ /* U+0048 "H" */
+ 0x83, 0x06, 0x0C, 0x1F, 0xF0, 0x60, 0xC1, 0x82,
+
+ /* U+0049 "I" */
+ 0xFF, 0x80,
+
+ /* U+004A "J" */
+ 0x08, 0x42, 0x10, 0x86, 0x31, 0x70,
+
+ /* U+004B "K" */
+ 0x83, 0x0A, 0x24, 0x8A, 0x1A, 0x22, 0x42, 0x82,
+
+ /* U+004C "L" */
+ 0x82, 0x08, 0x20, 0x82, 0x08, 0x20, 0xFC,
+
+ /* U+004D "M" */
+ 0x83, 0x8F, 0x1D, 0x5A, 0xB5, 0x6A, 0xC9, 0x92,
+
+ /* U+004E "N" */
+ 0x83, 0x86, 0x8D, 0x19, 0x31, 0x62, 0xC3, 0x82,
+
+ /* U+004F "O" */
+ 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x60, 0xA2, 0x38,
+
+ /* U+0050 "P" */
+ 0xFA, 0x18, 0x61, 0xFA, 0x08, 0x20, 0x80,
+
+ /* U+0051 "Q" */
+ 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x66, 0xA2, 0x3A, 0x00,
+
+ /* U+0052 "R" */
+ 0xFD, 0x06, 0x0C, 0x1F, 0xD1, 0x21, 0x42, 0x82,
+
+ /* U+0053 "S" */
+ 0x7A, 0x18, 0x60, 0x78, 0x18, 0x61, 0x78,
+
+ /* U+0054 "T" */
+ 0xFE, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10,
+
+ /* U+0055 "U" */
+ 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xA2, 0x38,
+
+ /* U+0056 "V" */
+ 0x83, 0x05, 0x12, 0x24, 0x45, 0x0A, 0x08, 0x10,
+
+ /* U+0057 "W" */
+ 0x84, 0x31, 0x46, 0x29, 0x25, 0x25, 0x14, 0xA2, 0x94, 0x51, 0x04, 0x20,
+ 0x80,
+
+ /* U+0058 "X" */
+ 0x82, 0x89, 0x11, 0x41, 0x05, 0x11, 0x22, 0x82,
+
+ /* U+0059 "Y" */
+ 0x82, 0x89, 0x11, 0x41, 0x02, 0x04, 0x08, 0x10,
+
+ /* U+005A "Z" */
+ 0x7E, 0x08, 0x20, 0x41, 0x04, 0x08, 0x20, 0xFE,
+
+ /* U+005B "[" */
+ 0xEA, 0xAA, 0xAC,
+
+ /* U+005C "\\" */
+ 0x91, 0x24, 0x91, 0x20,
+
+ /* U+005D "]" */
+ 0xD5, 0x55, 0x5C,
+
+ /* U+005E "^" */
+ 0x22, 0x94, 0xA8, 0x80,
+
+ /* U+005F "_" */
+ 0xFE,
+
+ /* U+0060 "`" */
+ 0x90,
+
+ /* U+0061 "a" */
+ 0x74, 0x42, 0xF8, 0xCD, 0xA0,
+
+ /* U+0062 "b" */
+ 0x84, 0x2D, 0x98, 0xC6, 0x39, 0xB0,
+
+ /* U+0063 "c" */
+ 0x69, 0x88, 0x89, 0x60,
+
+ /* U+0064 "d" */
+ 0x08, 0x5B, 0x38, 0xC6, 0x33, 0x68,
+
+ /* U+0065 "e" */
+ 0x74, 0x63, 0xF8, 0x45, 0xC0,
+
+ /* U+0066 "f" */
+ 0x24, 0xE4, 0x44, 0x44, 0x40,
+
+ /* U+0067 "g" */
+ 0x6C, 0xE3, 0x18, 0xCD, 0xA1, 0xF0,
+
+ /* U+0068 "h" */
+ 0x84, 0x2D, 0x98, 0xC6, 0x31, 0x88,
+
+ /* U+0069 "i" */
+ 0xBF, 0x80,
+
+ /* U+006A "j" */
+ 0x20, 0x92, 0x49, 0x25, 0x00,
+
+ /* U+006B "k" */
+ 0x84, 0x23, 0x2A, 0x72, 0x52, 0x88,
+
+ /* U+006C "l" */
+ 0xFF, 0x80,
+
+ /* U+006D "m" */
+ 0xB3, 0x66, 0x62, 0x31, 0x18, 0x8C, 0x46, 0x22,
+
+ /* U+006E "n" */
+ 0xB6, 0x63, 0x18, 0xC6, 0x20,
+
+ /* U+006F "o" */
+ 0x74, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0070 "p" */
+ 0xB6, 0x63, 0x18, 0xE6, 0xD0, 0x80,
+
+ /* U+0071 "q" */
+ 0x6C, 0xE3, 0x18, 0xCD, 0xA1, 0x08,
+
+ /* U+0072 "r" */
+ 0xBA, 0x49, 0x20,
+
+ /* U+0073 "s" */
+ 0x74, 0x60, 0xE0, 0xC5, 0xC0,
+
+ /* U+0074 "t" */
+ 0x4B, 0xA4, 0x92, 0x60,
+
+ /* U+0075 "u" */
+ 0x8C, 0x63, 0x18, 0xC5, 0xE0,
+
+ /* U+0076 "v" */
+ 0x8C, 0x54, 0xA5, 0x10, 0x80,
+
+ /* U+0077 "w" */
+ 0x88, 0xC4, 0x55, 0x4A, 0xA5, 0x51, 0x10, 0x88,
+
+ /* U+0078 "x" */
+ 0x8A, 0x94, 0x45, 0x2A, 0x20,
+
+ /* U+0079 "y" */
+ 0x8C, 0x54, 0xA5, 0x10, 0x84, 0x40,
+
+ /* U+007A "z" */
+ 0xF8, 0x84, 0x44, 0x23, 0xE0,
+
+ /* U+007B "{" */
+ 0x29, 0x25, 0x12, 0x48, 0x80,
+
+ /* U+007C "|" */
+ 0xFF, 0xE0,
+
+ /* U+007D "}" */
+ 0x89, 0x24, 0x52, 0x4A, 0x00,
+
+ /* U+007E "~" */
+ 0x01, 0x99, 0x80,
+
+ /* U+00A1 "¡" */
+ 0xBF, 0x80,
+
+ /* U+00A7 "§" */
+ 0x31, 0x24, 0x1C, 0x9A, 0x16, 0x4E, 0x0A, 0x27, 0x00,
+
+ /* U+00AA "ª" */
+ 0x71, 0xFF,
+
+ /* U+00AB "«" */
+ 0x2A, 0xA8, 0xA2, 0x80,
+
+ /* U+00B0 "°" */
+ 0xF7, 0x80,
+
+ /* U+00BA "º" */
+ 0x69, 0x96,
+
+ /* U+00BB "»" */
+ 0xA2, 0x8A, 0xAA, 0x00,
+
+ /* U+00BF "¿" */
+ 0x20, 0x08, 0x44, 0x42, 0x31, 0x70,
+
+ /* U+00C0 "À" */
+ 0x20, 0x20, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7C, 0x8A, 0x0C, 0x10,
+
+ /* U+00C1 "Á" */
+ 0x08, 0x20, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7C, 0x8A, 0x0C, 0x10,
+
+ /* U+00C2 "Â" */
+ 0x30, 0x50, 0x00, 0x82, 0x85, 0x0A, 0x22, 0x7C, 0x8A, 0x0C, 0x10,
+
+ /* U+00C4 "Ä" */
+ 0x28, 0x00, 0x41, 0x42, 0x85, 0x11, 0x3E, 0x45, 0x06, 0x08,
+
+ /* U+00C6 "Æ" */
+ 0x07, 0xF0, 0x90, 0x09, 0x01, 0x10, 0x11, 0xF3, 0xF0, 0x21, 0x04, 0x10,
+ 0x41, 0xF0,
+
+ /* U+00C7 "Ç" */
+ 0x38, 0x8A, 0x0C, 0x08, 0x10, 0x20, 0xA2, 0x38, 0x20, 0x21, 0xC0,
+
+ /* U+00C8 "È" */
+ 0x20, 0x40, 0x3F, 0x82, 0x08, 0x3F, 0x82, 0x08, 0x3F,
+
+ /* U+00C9 "É" */
+ 0x10, 0x80, 0x3F, 0x82, 0x08, 0x3F, 0x82, 0x08, 0x3F,
+
+ /* U+00CA "Ê" */
+ 0x21, 0x40, 0x3F, 0x82, 0x08, 0x3F, 0x82, 0x08, 0x3F,
+
+ /* U+00CB "Ë" */
+ 0x28, 0x0F, 0xE0, 0x82, 0x0F, 0xE0, 0x82, 0x0F, 0xC0,
+
+ /* U+00CC "Ì" */
+ 0x91, 0x55, 0x55,
+
+ /* U+00CD "Í" */
+ 0x62, 0xAA, 0xAA,
+
+ /* U+00CE "Î" */
+ 0x22, 0x80, 0x42, 0x10, 0x84, 0x21, 0x08, 0x40,
+
+ /* U+00CF "Ï" */
+ 0xA1, 0x24, 0x92, 0x49, 0x00,
+
+ /* U+00D1 "Ñ" */
+ 0x14, 0x50, 0x04, 0x1C, 0x34, 0x68, 0xC9, 0x8B, 0x16, 0x1C, 0x10,
+
+ /* U+00D2 "Ò" */
+ 0x20, 0x20, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00D3 "Ó" */
+ 0x08, 0x20, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00D4 "Ô" */
+ 0x18, 0x28, 0x01, 0xC4, 0x50, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00D6 "Ö" */
+ 0x28, 0x00, 0xE2, 0x28, 0x30, 0x60, 0xC1, 0x82, 0x88, 0xE0,
+
+ /* U+00D9 "Ù" */
+ 0x20, 0x20, 0x04, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00DA "Ú" */
+ 0x08, 0x20, 0x04, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00DB "Û" */
+ 0x10, 0x50, 0x04, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x05, 0x11, 0xC0,
+
+ /* U+00DC "Ü" */
+ 0x28, 0x02, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x82, 0x88, 0xE0,
+
+ /* U+00DF "ß" */
+ 0x72, 0x28, 0xA4, 0x92, 0x28, 0x69, 0x98,
+
+ /* U+00E0 "à" */
+ 0x20, 0x80, 0xE8, 0x85, 0xF1, 0x9B, 0x40,
+
+ /* U+00E1 "á" */
+ 0x11, 0x00, 0xE8, 0x85, 0xF1, 0x9B, 0x40,
+
+ /* U+00E2 "â" */
+ 0x33, 0x80, 0xE8, 0x85, 0xF1, 0x9B, 0x40,
+
+ /* U+00E4 "ä" */
+ 0x50, 0x1D, 0x10, 0xBE, 0x33, 0x68,
+
+ /* U+00E6 "æ" */
+ 0x77, 0x44, 0x4E, 0x39, 0xF8, 0x84, 0x45, 0xDC,
+
+ /* U+00E7 "ç" */
+ 0x69, 0x88, 0x89, 0x64, 0x2E,
+
+ /* U+00E8 "è" */
+ 0x41, 0x00, 0xE8, 0xC7, 0xF0, 0x8B, 0x80,
+
+ /* U+00E9 "é" */
+ 0x11, 0x00, 0xE8, 0xC7, 0xF0, 0x8B, 0x80,
+
+ /* U+00EA "ê" */
+ 0x33, 0x80, 0xE8, 0xC7, 0xF0, 0x8B, 0x80,
+
+ /* U+00EB "ë" */
+ 0x50, 0x1D, 0x18, 0xFE, 0x11, 0x70,
+
+ /* U+00EC "ì" */
+ 0x91, 0x55, 0x50,
+
+ /* U+00ED "í" */
+ 0x62, 0xAA, 0xA0,
+
+ /* U+00EE "î" */
+ 0x65, 0x02, 0x22, 0x22, 0x22,
+
+ /* U+00EF "ï" */
+ 0xA1, 0x24, 0x92, 0x40,
+
+ /* U+00F1 "ñ" */
+ 0x2A, 0x81, 0x6C, 0xC6, 0x31, 0x8C, 0x40,
+
+ /* U+00F2 "ò" */
+ 0x41, 0x00, 0xE8, 0xC6, 0x31, 0x8B, 0x80,
+
+ /* U+00F3 "ó" */
+ 0x11, 0x00, 0xE8, 0xC6, 0x31, 0x8B, 0x80,
+
+ /* U+00F4 "ô" */
+ 0x33, 0x80, 0xE8, 0xC6, 0x31, 0x8B, 0x80,
+
+ /* U+00F6 "ö" */
+ 0x50, 0x1D, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00F9 "ù" */
+ 0x41, 0x01, 0x18, 0xC6, 0x31, 0x8B, 0xC0,
+
+ /* U+00FA "ú" */
+ 0x11, 0x01, 0x18, 0xC6, 0x31, 0x8B, 0xC0,
+
+ /* U+00FB "û" */
+ 0x22, 0x81, 0x18, 0xC6, 0x31, 0x8B, 0xC0,
+
+ /* U+00FC "ü" */
+ 0x50, 0x23, 0x18, 0xC6, 0x31, 0x78,
+
+ /* U+00FF "ÿ" */
+ 0x50, 0x23, 0x15, 0x29, 0x44, 0x21, 0x10,
+
+ /* U+0152 "Œ" */
+ 0x77, 0xE3, 0x08, 0x42, 0x10, 0x87, 0xE1, 0x08, 0x42, 0x30, 0x77, 0xC0,
+
+ /* U+0153 "œ" */
+ 0x77, 0x44, 0x62, 0x31, 0xF8, 0x84, 0x45, 0xDC,
+
+ /* U+0178 "Ÿ" */
+ 0x28, 0x02, 0x0A, 0x24, 0x45, 0x04, 0x08, 0x10, 0x20, 0x40,
+
+ /* U+2013 "–" */
+ 0xFE,
+
+ /* U+2014 "—" */
+ 0xFF, 0xF0,
+
+ /* U+201A "‚" */
+ 0xE0,
+
+ /* U+201E "„" */
+ 0xB6, 0x80,
+
+ /* U+2026 "…" */
+ 0x88, 0x80,
+
+ /* U+2039 "‹" */
+ 0x2A, 0x22,
+
+ /* U+203A "›" */
+ 0x88, 0xA8,
+
+ /* U+20AC "€" */
+ 0x1E, 0x45, 0x07, 0xF4, 0x1F, 0xD0, 0x10, 0x1E,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0021 */,
+ {.bitmap_index = 3, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 6} /* U+0022 */,
+ {.bitmap_index = 5, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0023 */,
+ {.bitmap_index = 13, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = -1} /* U+0024 */,
+ {.bitmap_index = 20, .adv_w = 176, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0025 */,
+ {.bitmap_index = 31, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0026 */,
+ {.bitmap_index = 39, .adv_w = 32, .box_w = 1, .box_h = 3, .ofs_x = 1, .ofs_y = 6} /* U+0027 */,
+ {.bitmap_index = 40, .adv_w = 64, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = -2} /* U+0028 */,
+ {.bitmap_index = 45, .adv_w = 64, .box_w = 3, .box_h = 11, .ofs_x = 0, .ofs_y = -2} /* U+0029 */,
+ {.bitmap_index = 50, .adv_w = 80, .box_w = 5, .box_h = 4, .ofs_x = 0, .ofs_y = 5} /* U+002A */,
+ {.bitmap_index = 53, .adv_w = 112, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 2} /* U+002B */,
+ {.bitmap_index = 57, .adv_w = 48, .box_w = 1, .box_h = 3, .ofs_x = 1, .ofs_y = -2} /* U+002C */,
+ {.bitmap_index = 58, .adv_w = 64, .box_w = 3, .box_h = 1, .ofs_x = 0, .ofs_y = 3} /* U+002D */,
+ {.bitmap_index = 59, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+002E */,
+ {.bitmap_index = 60, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+002F */,
+ {.bitmap_index = 64, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 70, .adv_w = 112, .box_w = 3, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 74, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 80, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 86, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 92, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 98, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 104, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 110, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 116, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 122, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+003A */,
+ {.bitmap_index = 123, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+003B */,
+ {.bitmap_index = 125, .adv_w = 112, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 2} /* U+003C */,
+ {.bitmap_index = 129, .adv_w = 112, .box_w = 6, .box_h = 4, .ofs_x = 0, .ofs_y = 2} /* U+003D */,
+ {.bitmap_index = 132, .adv_w = 112, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 2} /* U+003E */,
+ {.bitmap_index = 136, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+003F */,
+ {.bitmap_index = 142, .adv_w = 192, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = -3} /* U+0040 */,
+ {.bitmap_index = 159, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0041 */,
+ {.bitmap_index = 167, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0042 */,
+ {.bitmap_index = 174, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0043 */,
+ {.bitmap_index = 182, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0044 */,
+ {.bitmap_index = 190, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0045 */,
+ {.bitmap_index = 197, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0046 */,
+ {.bitmap_index = 203, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0047 */,
+ {.bitmap_index = 211, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0048 */,
+ {.bitmap_index = 219, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0049 */,
+ {.bitmap_index = 221, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+004A */,
+ {.bitmap_index = 227, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+004B */,
+ {.bitmap_index = 235, .adv_w = 112, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+004C */,
+ {.bitmap_index = 242, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+004D */,
+ {.bitmap_index = 250, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+004E */,
+ {.bitmap_index = 258, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+004F */,
+ {.bitmap_index = 266, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0050 */,
+ {.bitmap_index = 273, .adv_w = 144, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = -1} /* U+0051 */,
+ {.bitmap_index = 282, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0052 */,
+ {.bitmap_index = 290, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0053 */,
+ {.bitmap_index = 297, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0054 */,
+ {.bitmap_index = 305, .adv_w = 144, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0055 */,
+ {.bitmap_index = 313, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0056 */,
+ {.bitmap_index = 321, .adv_w = 176, .box_w = 11, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0057 */,
+ {.bitmap_index = 334, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0058 */,
+ {.bitmap_index = 342, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0059 */,
+ {.bitmap_index = 350, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+005A */,
+ {.bitmap_index = 358, .adv_w = 48, .box_w = 2, .box_h = 11, .ofs_x = 1, .ofs_y = -2} /* U+005B */,
+ {.bitmap_index = 361, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+005C */,
+ {.bitmap_index = 365, .adv_w = 48, .box_w = 2, .box_h = 11, .ofs_x = 0, .ofs_y = -2} /* U+005D */,
+ {.bitmap_index = 368, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 4} /* U+005E */,
+ {.bitmap_index = 372, .adv_w = 112, .box_w = 7, .box_h = 1, .ofs_x = 0, .ofs_y = -2} /* U+005F */,
+ {.bitmap_index = 373, .adv_w = 64, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 7} /* U+0060 */,
+ {.bitmap_index = 374, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 379, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 385, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 389, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 395, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 400, .adv_w = 48, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0066 */,
+ {.bitmap_index = 405, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+0067 */,
+ {.bitmap_index = 411, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0068 */,
+ {.bitmap_index = 417, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0069 */,
+ {.bitmap_index = 419, .adv_w = 48, .box_w = 3, .box_h = 11, .ofs_x = -1, .ofs_y = -2} /* U+006A */,
+ {.bitmap_index = 424, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+006B */,
+ {.bitmap_index = 430, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+006C */,
+ {.bitmap_index = 432, .adv_w = 176, .box_w = 9, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+006D */,
+ {.bitmap_index = 440, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+006E */,
+ {.bitmap_index = 445, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+006F */,
+ {.bitmap_index = 450, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+0070 */,
+ {.bitmap_index = 456, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+0071 */,
+ {.bitmap_index = 462, .adv_w = 64, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0072 */,
+ {.bitmap_index = 465, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0073 */,
+ {.bitmap_index = 470, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+0074 */,
+ {.bitmap_index = 474, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0075 */,
+ {.bitmap_index = 479, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0076 */,
+ {.bitmap_index = 484, .adv_w = 144, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0077 */,
+ {.bitmap_index = 492, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0078 */,
+ {.bitmap_index = 497, .adv_w = 80, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+0079 */,
+ {.bitmap_index = 503, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+007A */,
+ {.bitmap_index = 508, .adv_w = 64, .box_w = 3, .box_h = 11, .ofs_x = 0, .ofs_y = -2} /* U+007B */,
+ {.bitmap_index = 513, .adv_w = 48, .box_w = 1, .box_h = 11, .ofs_x = 1, .ofs_y = -2} /* U+007C */,
+ {.bitmap_index = 515, .adv_w = 64, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = -2} /* U+007D */,
+ {.bitmap_index = 520, .adv_w = 112, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 2} /* U+007E */,
+ {.bitmap_index = 523, .adv_w = 48, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+00A1 */,
+ {.bitmap_index = 525, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = -2} /* U+00A7 */,
+ {.bitmap_index = 534, .adv_w = 64, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 5} /* U+00AA */,
+ {.bitmap_index = 536, .adv_w = 112, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 0} /* U+00AB */,
+ {.bitmap_index = 540, .adv_w = 80, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 6} /* U+00B0 */,
+ {.bitmap_index = 542, .adv_w = 64, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 5} /* U+00BA */,
+ {.bitmap_index = 544, .adv_w = 112, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 0} /* U+00BB */,
+ {.bitmap_index = 548, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+00BF */,
+ {.bitmap_index = 554, .adv_w = 112, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0} /* U+00C0 */,
+ {.bitmap_index = 565, .adv_w = 112, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0} /* U+00C1 */,
+ {.bitmap_index = 576, .adv_w = 112, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0} /* U+00C2 */,
+ {.bitmap_index = 587, .adv_w = 112, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00C4 */,
+ {.bitmap_index = 597, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = -1, .ofs_y = 0} /* U+00C6 */,
+ {.bitmap_index = 611, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3} /* U+00C7 */,
+ {.bitmap_index = 622, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00C8 */,
+ {.bitmap_index = 631, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00C9 */,
+ {.bitmap_index = 640, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00CA */,
+ {.bitmap_index = 649, .adv_w = 128, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0} /* U+00CB */,
+ {.bitmap_index = 658, .adv_w = 48, .box_w = 2, .box_h = 12, .ofs_x = 0, .ofs_y = 0} /* U+00CC */,
+ {.bitmap_index = 661, .adv_w = 48, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00CD */,
+ {.bitmap_index = 664, .adv_w = 48, .box_w = 5, .box_h = 12, .ofs_x = -1, .ofs_y = 0} /* U+00CE */,
+ {.bitmap_index = 672, .adv_w = 48, .box_w = 3, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+00CF */,
+ {.bitmap_index = 677, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00D1 */,
+ {.bitmap_index = 688, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00D2 */,
+ {.bitmap_index = 699, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00D3 */,
+ {.bitmap_index = 710, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00D4 */,
+ {.bitmap_index = 721, .adv_w = 144, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0} /* U+00D6 */,
+ {.bitmap_index = 731, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00D9 */,
+ {.bitmap_index = 742, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00DA */,
+ {.bitmap_index = 753, .adv_w = 144, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0} /* U+00DB */,
+ {.bitmap_index = 764, .adv_w = 144, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0} /* U+00DC */,
+ {.bitmap_index = 774, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00DF */,
+ {.bitmap_index = 781, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00E0 */,
+ {.bitmap_index = 788, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00E1 */,
+ {.bitmap_index = 795, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00E2 */,
+ {.bitmap_index = 802, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00E4 */,
+ {.bitmap_index = 808, .adv_w = 176, .box_w = 9, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+00E6 */,
+ {.bitmap_index = 816, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = -3} /* U+00E7 */,
+ {.bitmap_index = 821, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00E8 */,
+ {.bitmap_index = 828, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00E9 */,
+ {.bitmap_index = 835, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00EA */,
+ {.bitmap_index = 842, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00EB */,
+ {.bitmap_index = 848, .adv_w = 48, .box_w = 2, .box_h = 10, .ofs_x = 0, .ofs_y = 0} /* U+00EC */,
+ {.bitmap_index = 851, .adv_w = 48, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00ED */,
+ {.bitmap_index = 854, .adv_w = 48, .box_w = 4, .box_h = 10, .ofs_x = -1, .ofs_y = 0} /* U+00EE */,
+ {.bitmap_index = 859, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00EF */,
+ {.bitmap_index = 863, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00F1 */,
+ {.bitmap_index = 870, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00F2 */,
+ {.bitmap_index = 877, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00F3 */,
+ {.bitmap_index = 884, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00F4 */,
+ {.bitmap_index = 891, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00F6 */,
+ {.bitmap_index = 897, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00F9 */,
+ {.bitmap_index = 904, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00FA */,
+ {.bitmap_index = 911, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0} /* U+00FB */,
+ {.bitmap_index = 918, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00FC */,
+ {.bitmap_index = 924, .adv_w = 80, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = -2} /* U+00FF */,
+ {.bitmap_index = 931, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+0152 */,
+ {.bitmap_index = 943, .adv_w = 176, .box_w = 9, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0153 */,
+ {.bitmap_index = 951, .adv_w = 112, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = 0} /* U+0178 */,
+ {.bitmap_index = 961, .adv_w = 112, .box_w = 7, .box_h = 1, .ofs_x = 0, .ofs_y = 3} /* U+2013 */,
+ {.bitmap_index = 962, .adv_w = 192, .box_w = 12, .box_h = 1, .ofs_x = 0, .ofs_y = 3} /* U+2014 */,
+ {.bitmap_index = 964, .adv_w = 48, .box_w = 1, .box_h = 3, .ofs_x = 1, .ofs_y = -2} /* U+201A */,
+ {.bitmap_index = 965, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = -2} /* U+201E */,
+ {.bitmap_index = 967, .adv_w = 192, .box_w = 9, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+2026 */,
+ {.bitmap_index = 969, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+2039 */,
+ {.bitmap_index = 971, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 0} /* U+203A */,
+ {.bitmap_index = 973, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+20AC */
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 95, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 161, .range_length = 1, .glyph_id_start = 96,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 167, .range_length = 1, .glyph_id_start = 97,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 170, .range_length = 2, .glyph_id_start = 98,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 176, .range_length = 1, .glyph_id_start = 100,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 186, .range_length = 2, .glyph_id_start = 101,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 191, .range_length = 4, .glyph_id_start = 103,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 196, .range_length = 1, .glyph_id_start = 107,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 198, .range_length = 10, .glyph_id_start = 108,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 209, .range_length = 4, .glyph_id_start = 118,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 214, .range_length = 1, .glyph_id_start = 122,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 217, .range_length = 4, .glyph_id_start = 123,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 223, .range_length = 4, .glyph_id_start = 127,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 228, .range_length = 1, .glyph_id_start = 131,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 230, .range_length = 10, .glyph_id_start = 132,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 241, .range_length = 4, .glyph_id_start = 142,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 246, .range_length = 1, .glyph_id_start = 146,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 249, .range_length = 4, .glyph_id_start = 147,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 255, .range_length = 1, .glyph_id_start = 151,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 338, .range_length = 2, .glyph_id_start = 152,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 376, .range_length = 1, .glyph_id_start = 154,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8211, .range_length = 2, .glyph_id_start = 155,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8218, .range_length = 1, .glyph_id_start = 157,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8222, .range_length = 1, .glyph_id_start = 158,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8230, .range_length = 1, .glyph_id_start = 159,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8249, .range_length = 2, .glyph_id_start = 160,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8364, .range_length = 1, .glyph_id_start = 162,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 27,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_regular_12 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 12,
+ .base_line = 3,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* REGULAR_12 */
### src/ui/fonts/regular_12.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_REGULAR_12_H
+#define TTF2LVGL_REGULAR_12_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_regular_12;
+
+#endif /* TTF2LVGL_REGULAR_12_H */
### src/ui/fonts/regular_9.c
@@ -0,0 +1,794 @@
+/*******************************************************************************
+ * Size: 9 px
+ * Bpp: 1
+ * Opts: --dump --bpp 1 --size 9 --dpi 72 --font /usr/share/fonts/truetype/msttcorefonts/Arial.ttf --range 32-126,161,167,170-171,176,186-187,191-194,196,198-207,209-212,214,217-220,223-226,228,230-239,241-244,246,249-252,255,338-339,376,8211-8212,8218,8222,8230,8249-8250,8364 --name regular_9 --output regular_9.c
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "regular_9.h"
+
+#ifndef REGULAR_9
+#define REGULAR_9 1
+#endif
+
+#if REGULAR_9
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0021 "!" */
+ 0xFA,
+
+ /* U+0022 "\"" */
+ 0xB4,
+
+ /* U+0023 "#" */
+ 0x55, 0xF5, 0xFA, 0xA0,
+
+ /* U+0024 "$" */
+ 0x75, 0x68, 0xE2, 0xD5, 0xC4,
+
+ /* U+0025 "%" */
+ 0x4A, 0xC5, 0x04, 0x28, 0xD2, 0x80,
+
+ /* U+0026 "&" */
+ 0x31, 0x24, 0x9C, 0x96, 0x27, 0x40,
+
+ /* U+0027 "'" */
+ 0xC0,
+
+ /* U+0028 "(" */
+ 0x2A, 0x49, 0x22, 0x20,
+
+ /* U+0029 ")" */
+ 0x88, 0x92, 0x4A, 0x80,
+
+ /* U+002A "*" */
+ 0xEA, 0x80,
+
+ /* U+002B "+" */
+ 0x21, 0x3E, 0x42, 0x00,
+
+ /* U+002C "," */
+ 0xC0,
+
+ /* U+002D "-" */
+ 0xC0,
+
+ /* U+002E "." */
+ 0x80,
+
+ /* U+002F "/" */
+ 0x25, 0x25, 0x20,
+
+ /* U+0030 "0" */
+ 0x69, 0x99, 0x99, 0x60,
+
+ /* U+0031 "1" */
+ 0x75, 0x54,
+
+ /* U+0032 "2" */
+ 0x69, 0x12, 0x24, 0xF0,
+
+ /* U+0033 "3" */
+ 0x69, 0x12, 0x19, 0x60,
+
+ /* U+0034 "4" */
+ 0x11, 0x95, 0x2F, 0x88, 0x40,
+
+ /* U+0035 "5" */
+ 0x74, 0xE9, 0x19, 0x60,
+
+ /* U+0036 "6" */
+ 0x69, 0xE9, 0x99, 0x60,
+
+ /* U+0037 "7" */
+ 0xF1, 0x22, 0x44, 0x40,
+
+ /* U+0038 "8" */
+ 0x69, 0x96, 0x99, 0x60,
+
+ /* U+0039 "9" */
+ 0x69, 0x99, 0x79, 0x60,
+
+ /* U+003A ":" */
+ 0x88,
+
+ /* U+003B ";" */
+ 0x8C,
+
+ /* U+003C "<" */
+ 0x2A, 0x22,
+
+ /* U+003D "=" */
+ 0xF0, 0xF0,
+
+ /* U+003E ">" */
+ 0x88, 0xA8,
+
+ /* U+003F "?" */
+ 0x74, 0x42, 0x62, 0x00, 0x80,
+
+ /* U+0040 "@" */
+ 0x3C, 0x42, 0x95, 0xAD, 0xA9, 0xAA, 0xBC, 0x43, 0x3C,
+
+ /* U+0041 "A" */
+ 0x10, 0x51, 0x12, 0x27, 0xC8, 0x91, 0x00,
+
+ /* U+0042 "B" */
+ 0xE9, 0x9F, 0x99, 0xE0,
+
+ /* U+0043 "C" */
+ 0x74, 0x61, 0x08, 0x45, 0xC0,
+
+ /* U+0044 "D" */
+ 0xF4, 0x63, 0x18, 0xC7, 0xC0,
+
+ /* U+0045 "E" */
+ 0xFC, 0x21, 0xF8, 0x43, 0xE0,
+
+ /* U+0046 "F" */
+ 0xF8, 0x8E, 0x88, 0x80,
+
+ /* U+0047 "G" */
+ 0x74, 0x61, 0x38, 0xC5, 0xC0,
+
+ /* U+0048 "H" */
+ 0x8C, 0x63, 0xF8, 0xC6, 0x20,
+
+ /* U+0049 "I" */
+ 0xFE,
+
+ /* U+004A "J" */
+ 0x11, 0x11, 0x19, 0xE0,
+
+ /* U+004B "K" */
+ 0x8C, 0xA9, 0x8A, 0x4A, 0x20,
+
+ /* U+004C "L" */
+ 0x88, 0x88, 0x88, 0xF0,
+
+ /* U+004D "M" */
+ 0x83, 0x8F, 0x1D, 0x5A, 0xB5, 0x64, 0x80,
+
+ /* U+004E "N" */
+ 0x8E, 0x73, 0x59, 0xCE, 0x20,
+
+ /* U+004F "O" */
+ 0x74, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0050 "P" */
+ 0xF9, 0x9F, 0x88, 0x80,
+
+ /* U+0051 "Q" */
+ 0x74, 0x63, 0x18, 0xC9, 0xE0,
+
+ /* U+0052 "R" */
+ 0xF4, 0x63, 0xE9, 0x46, 0x20,
+
+ /* U+0053 "S" */
+ 0x69, 0x86, 0x19, 0x60,
+
+ /* U+0054 "T" */
+ 0xF9, 0x08, 0x42, 0x10, 0x80,
+
+ /* U+0055 "U" */
+ 0x8C, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0056 "V" */
+ 0x44, 0x89, 0x12, 0x22, 0x85, 0x04, 0x00,
+
+ /* U+0057 "W" */
+ 0x88, 0xCA, 0x55, 0x4A, 0xA5, 0x52, 0xA8, 0x88,
+
+ /* U+0058 "X" */
+ 0x8A, 0x94, 0x45, 0x2A, 0x20,
+
+ /* U+0059 "Y" */
+ 0x8A, 0x94, 0x42, 0x10, 0x80,
+
+ /* U+005A "Z" */
+ 0xFC, 0x21, 0x08, 0x42, 0x0F, 0xC0,
+
+ /* U+005B "[" */
+ 0xEA, 0xAA, 0xC0,
+
+ /* U+005C "\\" */
+ 0x91, 0x24, 0x48,
+
+ /* U+005D "]" */
+ 0xD5, 0x55, 0xC0,
+
+ /* U+005E "^" */
+ 0x56, 0x80,
+
+ /* U+005F "_" */
+ 0xF8,
+
+ /* U+0060 "`" */
+ 0x90,
+
+ /* U+0061 "a" */
+ 0xF1, 0x79, 0xF0,
+
+ /* U+0062 "b" */
+ 0x88, 0xE9, 0x99, 0xE0,
+
+ /* U+0063 "c" */
+ 0x69, 0x89, 0x60,
+
+ /* U+0064 "d" */
+ 0x11, 0x79, 0x99, 0x70,
+
+ /* U+0065 "e" */
+ 0x69, 0xF8, 0x70,
+
+ /* U+0066 "f" */
+ 0x2B, 0xA4, 0x90,
+
+ /* U+0067 "g" */
+ 0x79, 0x99, 0x79, 0x60,
+
+ /* U+0068 "h" */
+ 0x88, 0xE9, 0x99, 0x90,
+
+ /* U+0069 "i" */
+ 0xBE,
+
+ /* U+006A "j" */
+ 0x45, 0x55, 0x80,
+
+ /* U+006B "k" */
+ 0x88, 0x9A, 0xEA, 0x90,
+
+ /* U+006C "l" */
+ 0xFE,
+
+ /* U+006D "m" */
+ 0xFD, 0x26, 0x4C, 0x99, 0x20,
+
+ /* U+006E "n" */
+ 0xE9, 0x99, 0x90,
+
+ /* U+006F "o" */
+ 0x69, 0x99, 0x60,
+
+ /* U+0070 "p" */
+ 0xE9, 0x99, 0xE8, 0x80,
+
+ /* U+0071 "q" */
+ 0x79, 0x99, 0x71, 0x10,
+
+ /* U+0072 "r" */
+ 0xF2, 0x48,
+
+ /* U+0073 "s" */
+ 0x78, 0x61, 0xE0,
+
+ /* U+0074 "t" */
+ 0x09, 0xA4, 0x98,
+
+ /* U+0075 "u" */
+ 0x99, 0x99, 0x70,
+
+ /* U+0076 "v" */
+ 0x8A, 0x94, 0xA2, 0x00,
+
+ /* U+0077 "w" */
+ 0xAD, 0x6B, 0x55, 0x00,
+
+ /* U+0078 "x" */
+ 0x96, 0x46, 0x90,
+
+ /* U+0079 "y" */
+ 0x8A, 0x94, 0xA2, 0x11, 0x00,
+
+ /* U+007A "z" */
+ 0xE5, 0x4E,
+
+ /* U+007B "{" */
+ 0x69, 0x28, 0x92, 0x60,
+
+ /* U+007C "|" */
+ 0xFF,
+
+ /* U+007D "}" */
+ 0xC9, 0x22, 0x92, 0xC0,
+
+ /* U+007E "~" */
+ 0xDB,
+
+ /* U+00A1 "¡" */
+ 0xBE,
+
+ /* U+00A7 "§" */
+ 0xE9, 0x4A, 0x95, 0x29, 0x70,
+
+ /* U+00AA "ª" */
+ 0xEF, 0x80,
+
+ /* U+00AB "«" */
+ 0x2A, 0x94, 0x50,
+
+ /* U+00B0 "°" */
+ 0xF7, 0x80,
+
+ /* U+00BA "º" */
+ 0xF7, 0x80,
+
+ /* U+00BB "»" */
+ 0xA2, 0x95, 0x40,
+
+ /* U+00BF "¿" */
+ 0x20, 0x26, 0x89, 0x60,
+
+ /* U+00C0 "À" */
+ 0x10, 0x10, 0x41, 0x42, 0x88, 0x9F, 0x22, 0x82,
+
+ /* U+00C1 "Á" */
+ 0x08, 0x20, 0x41, 0x42, 0x88, 0x9F, 0x22, 0x82,
+
+ /* U+00C2 "Â" */
+ 0x18, 0x68, 0x41, 0x42, 0x88, 0x9F, 0x22, 0x82,
+
+ /* U+00C4 "Ä" */
+ 0x28, 0x20, 0xA1, 0x44, 0x4F, 0x91, 0x41,
+
+ /* U+00C6 "Æ" */
+ 0x0F, 0xC5, 0x01, 0x40, 0x9F, 0x3C, 0x11, 0x04, 0x7C,
+
+ /* U+00C7 "Ç" */
+ 0x74, 0x61, 0x08, 0x45, 0xC2, 0x11, 0x80,
+
+ /* U+00C8 "È" */
+ 0x20, 0xBF, 0x08, 0x7E, 0x10, 0xF8,
+
+ /* U+00C9 "É" */
+ 0x11, 0x3F, 0x08, 0x7E, 0x10, 0xF8,
+
+ /* U+00CA "Ê" */
+ 0x22, 0xBF, 0x08, 0x7E, 0x10, 0xF8,
+
+ /* U+00CB "Ë" */
+ 0x57, 0xE1, 0x0F, 0xC2, 0x1F,
+
+ /* U+00CC "Ì" */
+ 0x9A, 0xAA, 0x80,
+
+ /* U+00CD "Í" */
+ 0x65, 0x55, 0x40,
+
+ /* U+00CE "Î" */
+ 0x22, 0x84, 0x21, 0x08, 0x42, 0x10,
+
+ /* U+00CF "Ï" */
+ 0xA9, 0x24, 0x92,
+
+ /* U+00D1 "Ñ" */
+ 0x55, 0x23, 0x9C, 0xD6, 0x73, 0x88,
+
+ /* U+00D2 "Ò" */
+ 0x20, 0x9D, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00D3 "Ó" */
+ 0x11, 0x1D, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00D4 "Ô" */
+ 0x22, 0x9D, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00D6 "Ö" */
+ 0x53, 0xA3, 0x18, 0xC6, 0x2E,
+
+ /* U+00D9 "Ù" */
+ 0x41, 0x23, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00DA "Ú" */
+ 0x22, 0x23, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00DB "Û" */
+ 0x22, 0xA3, 0x18, 0xC6, 0x31, 0x70,
+
+ /* U+00DC "Ü" */
+ 0x54, 0x63, 0x18, 0xC6, 0x2E,
+
+ /* U+00DF "ß" */
+ 0x4A, 0xAC, 0xBD, 0xA0,
+
+ /* U+00E0 "à" */
+ 0x42, 0x0F, 0x17, 0x9F,
+
+ /* U+00E1 "á" */
+ 0x24, 0x0F, 0x17, 0x9F,
+
+ /* U+00E2 "â" */
+ 0x25, 0x0F, 0x17, 0x9F,
+
+ /* U+00E4 "ä" */
+ 0x50, 0xF1, 0x79, 0xF0,
+
+ /* U+00E6 "æ" */
+ 0xEC, 0x25, 0xFC, 0x8E, 0xE0,
+
+ /* U+00E7 "ç" */
+ 0x69, 0x89, 0x62, 0x26,
+
+ /* U+00E8 "è" */
+ 0x42, 0x06, 0x9F, 0x87,
+
+ /* U+00E9 "é" */
+ 0x24, 0x06, 0x9F, 0x87,
+
+ /* U+00EA "ê" */
+ 0x25, 0x06, 0x9F, 0x87,
+
+ /* U+00EB "ë" */
+ 0xA0, 0x69, 0xF8, 0x70,
+
+ /* U+00EC "ì" */
+ 0x92, 0xAA,
+
+ /* U+00ED "í" */
+ 0x61, 0x55,
+
+ /* U+00EE "î" */
+ 0x65, 0x04, 0x44, 0x44,
+
+ /* U+00EF "ï" */
+ 0xA1, 0x24, 0x90,
+
+ /* U+00F1 "ñ" */
+ 0x5A, 0x0E, 0x99, 0x99,
+
+ /* U+00F2 "ò" */
+ 0x42, 0x06, 0x99, 0x96,
+
+ /* U+00F3 "ó" */
+ 0x24, 0x06, 0x99, 0x96,
+
+ /* U+00F4 "ô" */
+ 0x25, 0x06, 0x99, 0x96,
+
+ /* U+00F6 "ö" */
+ 0xA0, 0x69, 0x99, 0x60,
+
+ /* U+00F9 "ù" */
+ 0x42, 0x09, 0x99, 0x97,
+
+ /* U+00FA "ú" */
+ 0x24, 0x09, 0x99, 0x97,
+
+ /* U+00FB "û" */
+ 0x22, 0x80, 0x94, 0xA5, 0x27,
+
+ /* U+00FC "ü" */
+ 0x50, 0x99, 0x99, 0x70,
+
+ /* U+00FF "ÿ" */
+ 0x50, 0x22, 0xA5, 0x28, 0x84, 0x40,
+
+ /* U+0152 "Œ" */
+ 0x7F, 0x88, 0x88, 0x8F, 0x88, 0x88, 0x7F,
+
+ /* U+0153 "œ" */
+ 0x76, 0x89, 0x8F, 0x88, 0x77,
+
+ /* U+0178 "Ÿ" */
+ 0x54, 0x54, 0xA2, 0x10, 0x84,
+
+ /* U+2013 "–" */
+ 0xF8,
+
+ /* U+2014 "—" */
+ 0xFF, 0x80,
+
+ /* U+201A "‚" */
+ 0xC0,
+
+ /* U+201E "„" */
+ 0xB4,
+
+ /* U+2026 "…" */
+ 0x92,
+
+ /* U+2039 "‹" */
+ 0x52, 0x20,
+
+ /* U+203A "›" */
+ 0x89, 0x40,
+
+ /* U+20AC "€" */
+ 0x3D, 0x0F, 0xD0, 0xFD, 0x03, 0xC0,
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0021 */,
+ {.bitmap_index = 2, .adv_w = 48, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0022 */,
+ {.bitmap_index = 3, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0023 */,
+ {.bitmap_index = 7, .adv_w = 80, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -1} /* U+0024 */,
+ {.bitmap_index = 12, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0025 */,
+ {.bitmap_index = 18, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0026 */,
+ {.bitmap_index = 24, .adv_w = 32, .box_w = 1, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0027 */,
+ {.bitmap_index = 25, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+0028 */,
+ {.bitmap_index = 29, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+0029 */,
+ {.bitmap_index = 33, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+002A */,
+ {.bitmap_index = 35, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+002B */,
+ {.bitmap_index = 39, .adv_w = 48, .box_w = 1, .box_h = 2, .ofs_x = 1, .ofs_y = -1} /* U+002C */,
+ {.bitmap_index = 40, .adv_w = 48, .box_w = 2, .box_h = 1, .ofs_x = 0, .ofs_y = 2} /* U+002D */,
+ {.bitmap_index = 41, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+002E */,
+ {.bitmap_index = 42, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+002F */,
+ {.bitmap_index = 45, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 49, .adv_w = 80, .box_w = 2, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 51, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 55, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 59, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 64, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 68, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 72, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 76, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 80, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 84, .adv_w = 48, .box_w = 1, .box_h = 5, .ofs_x = 1, .ofs_y = 0} /* U+003A */,
+ {.bitmap_index = 85, .adv_w = 48, .box_w = 1, .box_h = 6, .ofs_x = 1, .ofs_y = -1} /* U+003B */,
+ {.bitmap_index = 86, .adv_w = 80, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 1} /* U+003C */,
+ {.bitmap_index = 88, .adv_w = 80, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 2} /* U+003D */,
+ {.bitmap_index = 90, .adv_w = 80, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 1} /* U+003E */,
+ {.bitmap_index = 92, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+003F */,
+ {.bitmap_index = 97, .adv_w = 144, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+0040 */,
+ {.bitmap_index = 106, .adv_w = 96, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0041 */,
+ {.bitmap_index = 113, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0042 */,
+ {.bitmap_index = 117, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0043 */,
+ {.bitmap_index = 122, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0044 */,
+ {.bitmap_index = 127, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0045 */,
+ {.bitmap_index = 132, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0046 */,
+ {.bitmap_index = 136, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0047 */,
+ {.bitmap_index = 141, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0048 */,
+ {.bitmap_index = 146, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0049 */,
+ {.bitmap_index = 147, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004A */,
+ {.bitmap_index = 151, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004B */,
+ {.bitmap_index = 156, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004C */,
+ {.bitmap_index = 160, .adv_w = 112, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004D */,
+ {.bitmap_index = 167, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004E */,
+ {.bitmap_index = 172, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004F */,
+ {.bitmap_index = 177, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0050 */,
+ {.bitmap_index = 181, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0051 */,
+ {.bitmap_index = 186, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0052 */,
+ {.bitmap_index = 191, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0053 */,
+ {.bitmap_index = 195, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0054 */,
+ {.bitmap_index = 200, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0055 */,
+ {.bitmap_index = 205, .adv_w = 96, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0056 */,
+ {.bitmap_index = 212, .adv_w = 144, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0057 */,
+ {.bitmap_index = 220, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0058 */,
+ {.bitmap_index = 225, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0059 */,
+ {.bitmap_index = 230, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005A */,
+ {.bitmap_index = 236, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+005B */,
+ {.bitmap_index = 239, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005C */,
+ {.bitmap_index = 242, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+005D */,
+ {.bitmap_index = 245, .adv_w = 48, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+005E */,
+ {.bitmap_index = 247, .adv_w = 80, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = -2} /* U+005F */,
+ {.bitmap_index = 248, .adv_w = 48, .box_w = 2, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0060 */,
+ {.bitmap_index = 249, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 252, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 256, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 259, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 263, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 266, .adv_w = 64, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0066 */,
+ {.bitmap_index = 269, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0067 */,
+ {.bitmap_index = 273, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0068 */,
+ {.bitmap_index = 277, .adv_w = 32, .box_w = 1, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0069 */,
+ {.bitmap_index = 278, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+006A */,
+ {.bitmap_index = 281, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006B */,
+ {.bitmap_index = 285, .adv_w = 32, .box_w = 1, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006C */,
+ {.bitmap_index = 286, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006D */,
+ {.bitmap_index = 291, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006E */,
+ {.bitmap_index = 294, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006F */,
+ {.bitmap_index = 297, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0070 */,
+ {.bitmap_index = 301, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0071 */,
+ {.bitmap_index = 305, .adv_w = 48, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0072 */,
+ {.bitmap_index = 307, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0073 */,
+ {.bitmap_index = 310, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = -1, .ofs_y = 0} /* U+0074 */,
+ {.bitmap_index = 313, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0075 */,
+ {.bitmap_index = 316, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0076 */,
+ {.bitmap_index = 320, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0077 */,
+ {.bitmap_index = 324, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0078 */,
+ {.bitmap_index = 327, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0079 */,
+ {.bitmap_index = 332, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+007A */,
+ {.bitmap_index = 334, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+007B */,
+ {.bitmap_index = 338, .adv_w = 48, .box_w = 1, .box_h = 8, .ofs_x = 1, .ofs_y = -1} /* U+007C */,
+ {.bitmap_index = 339, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+007D */,
+ {.bitmap_index = 343, .adv_w = 80, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 2} /* U+007E */,
+ {.bitmap_index = 344, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = -2} /* U+00A1 */,
+ {.bitmap_index = 345, .adv_w = 80, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+00A7 */,
+ {.bitmap_index = 350, .adv_w = 48, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+00AA */,
+ {.bitmap_index = 352, .adv_w = 80, .box_w = 5, .box_h = 4, .ofs_x = 0, .ofs_y = 0} /* U+00AB */,
+ {.bitmap_index = 355, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 4} /* U+00B0 */,
+ {.bitmap_index = 357, .adv_w = 48, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+00BA */,
+ {.bitmap_index = 359, .adv_w = 80, .box_w = 5, .box_h = 4, .ofs_x = 0, .ofs_y = 0} /* U+00BB */,
+ {.bitmap_index = 362, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = -2} /* U+00BF */,
+ {.bitmap_index = 366, .adv_w = 96, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00C0 */,
+ {.bitmap_index = 374, .adv_w = 96, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00C1 */,
+ {.bitmap_index = 382, .adv_w = 96, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00C2 */,
+ {.bitmap_index = 390, .adv_w = 96, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00C4 */,
+ {.bitmap_index = 397, .adv_w = 144, .box_w = 10, .box_h = 7, .ofs_x = -1, .ofs_y = 0} /* U+00C6 */,
+ {.bitmap_index = 406, .adv_w = 112, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = -3} /* U+00C7 */,
+ {.bitmap_index = 413, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00C8 */,
+ {.bitmap_index = 419, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00C9 */,
+ {.bitmap_index = 425, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00CA */,
+ {.bitmap_index = 431, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 0} /* U+00CB */,
+ {.bitmap_index = 436, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00CC */,
+ {.bitmap_index = 439, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = 0} /* U+00CD */,
+ {.bitmap_index = 442, .adv_w = 48, .box_w = 5, .box_h = 9, .ofs_x = -2, .ofs_y = 0} /* U+00CE */,
+ {.bitmap_index = 448, .adv_w = 48, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00CF */,
+ {.bitmap_index = 451, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00D1 */,
+ {.bitmap_index = 457, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00D2 */,
+ {.bitmap_index = 463, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00D3 */,
+ {.bitmap_index = 469, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00D4 */,
+ {.bitmap_index = 475, .adv_w = 112, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 0} /* U+00D6 */,
+ {.bitmap_index = 480, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00D9 */,
+ {.bitmap_index = 486, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00DA */,
+ {.bitmap_index = 492, .adv_w = 112, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0} /* U+00DB */,
+ {.bitmap_index = 498, .adv_w = 112, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 0} /* U+00DC */,
+ {.bitmap_index = 503, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+00DF */,
+ {.bitmap_index = 507, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E0 */,
+ {.bitmap_index = 511, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E1 */,
+ {.bitmap_index = 515, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E2 */,
+ {.bitmap_index = 519, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+00E4 */,
+ {.bitmap_index = 523, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+00E6 */,
+ {.bitmap_index = 528, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = -3} /* U+00E7 */,
+ {.bitmap_index = 532, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E8 */,
+ {.bitmap_index = 536, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00E9 */,
+ {.bitmap_index = 540, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00EA */,
+ {.bitmap_index = 544, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+00EB */,
+ {.bitmap_index = 548, .adv_w = 32, .box_w = 2, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00EC */,
+ {.bitmap_index = 550, .adv_w = 32, .box_w = 2, .box_h = 8, .ofs_x = -1, .ofs_y = 0} /* U+00ED */,
+ {.bitmap_index = 552, .adv_w = 32, .box_w = 4, .box_h = 8, .ofs_x = -1, .ofs_y = 0} /* U+00EE */,
+ {.bitmap_index = 556, .adv_w = 32, .box_w = 3, .box_h = 7, .ofs_x = -1, .ofs_y = 0} /* U+00EF */,
+ {.bitmap_index = 559, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F1 */,
+ {.bitmap_index = 563, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F2 */,
+ {.bitmap_index = 567, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F3 */,
+ {.bitmap_index = 571, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F4 */,
+ {.bitmap_index = 575, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+00F6 */,
+ {.bitmap_index = 579, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00F9 */,
+ {.bitmap_index = 583, .adv_w = 80, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0} /* U+00FA */,
+ {.bitmap_index = 587, .adv_w = 80, .box_w = 5, .box_h = 8, .ofs_x = -1, .ofs_y = 0} /* U+00FB */,
+ {.bitmap_index = 592, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+00FC */,
+ {.bitmap_index = 596, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+00FF */,
+ {.bitmap_index = 602, .adv_w = 144, .box_w = 8, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0152 */,
+ {.bitmap_index = 609, .adv_w = 144, .box_w = 8, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0153 */,
+ {.bitmap_index = 614, .adv_w = 112, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 0} /* U+0178 */,
+ {.bitmap_index = 619, .adv_w = 80, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = 2} /* U+2013 */,
+ {.bitmap_index = 620, .adv_w = 144, .box_w = 9, .box_h = 1, .ofs_x = 0, .ofs_y = 2} /* U+2014 */,
+ {.bitmap_index = 622, .adv_w = 32, .box_w = 1, .box_h = 2, .ofs_x = 0, .ofs_y = -1} /* U+201A */,
+ {.bitmap_index = 623, .adv_w = 48, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = -1} /* U+201E */,
+ {.bitmap_index = 624, .adv_w = 144, .box_w = 7, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+2026 */,
+ {.bitmap_index = 625, .adv_w = 48, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = 0} /* U+2039 */,
+ {.bitmap_index = 627, .adv_w = 48, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = 0} /* U+203A */,
+ {.bitmap_index = 629, .adv_w = 80, .box_w = 6, .box_h = 7, .ofs_x = -1, .ofs_y = 0} /* U+20AC */
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 95, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 161, .range_length = 1, .glyph_id_start = 96,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 167, .range_length = 1, .glyph_id_start = 97,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 170, .range_length = 2, .glyph_id_start = 98,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 176, .range_length = 1, .glyph_id_start = 100,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 186, .range_length = 2, .glyph_id_start = 101,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 191, .range_length = 4, .glyph_id_start = 103,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 196, .range_length = 1, .glyph_id_start = 107,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 198, .range_length = 10, .glyph_id_start = 108,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 209, .range_length = 4, .glyph_id_start = 118,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 214, .range_length = 1, .glyph_id_start = 122,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 217, .range_length = 4, .glyph_id_start = 123,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 223, .range_length = 4, .glyph_id_start = 127,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 228, .range_length = 1, .glyph_id_start = 131,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 230, .range_length = 10, .glyph_id_start = 132,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 241, .range_length = 4, .glyph_id_start = 142,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 246, .range_length = 1, .glyph_id_start = 146,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 249, .range_length = 4, .glyph_id_start = 147,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 255, .range_length = 1, .glyph_id_start = 151,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 338, .range_length = 2, .glyph_id_start = 152,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 376, .range_length = 1, .glyph_id_start = 154,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8211, .range_length = 2, .glyph_id_start = 155,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8218, .range_length = 1, .glyph_id_start = 157,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8222, .range_length = 1, .glyph_id_start = 158,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8230, .range_length = 1, .glyph_id_start = 159,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8249, .range_length = 2, .glyph_id_start = 160,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY},
+ {.range_start = 8364, .range_length = 1, .glyph_id_start = 162,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 27,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_regular_9 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 9,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* REGULAR_9 */
### src/ui/fonts/regular_9.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_REGULAR_9_H
+#define TTF2LVGL_REGULAR_9_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_regular_9;
+
+#endif /* TTF2LVGL_REGULAR_9_H */
### src/ui/fonts/regular_9_bootloader.c
@@ -0,0 +1,449 @@
+/*******************************************************************************
+ * Size: 9 px
+ * Bpp: 1
+ * Opts: bootloader subset of regular_9.c, range 32-126
+ ******************************************************************************/
+
+#ifdef __has_include
+ #if __has_include("lvgl.h")
+ #ifndef LV_LVGL_H_INCLUDE_SIMPLE
+ #define LV_LVGL_H_INCLUDE_SIMPLE
+ #endif
+ #endif
+#endif
+
+#ifdef LV_LVGL_H_INCLUDE_SIMPLE
+ #include "lvgl.h"
+#else
+ #include "lvgl/lvgl.h"
+#endif
+
+#include "regular_9_bootloader.h"
+
+#ifndef REGULAR_9
+#define REGULAR_9 1
+#endif
+
+#if REGULAR_9
+
+static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
+ /* U+0020 "\u0020" */
+ 0x00,
+
+ /* U+0021 "!" */
+ 0xFA,
+
+ /* U+0022 "\"" */
+ 0xB4,
+
+ /* U+0023 "#" */
+ 0x55, 0xF5, 0xFA, 0xA0,
+
+ /* U+0024 "$" */
+ 0x75, 0x68, 0xE2, 0xD5, 0xC4,
+
+ /* U+0025 "%" */
+ 0x4A, 0xC5, 0x04, 0x28, 0xD2, 0x80,
+
+ /* U+0026 "&" */
+ 0x31, 0x24, 0x9C, 0x96, 0x27, 0x40,
+
+ /* U+0027 "'" */
+ 0xC0,
+
+ /* U+0028 "(" */
+ 0x2A, 0x49, 0x22, 0x20,
+
+ /* U+0029 ")" */
+ 0x88, 0x92, 0x4A, 0x80,
+
+ /* U+002A "*" */
+ 0xEA, 0x80,
+
+ /* U+002B "+" */
+ 0x21, 0x3E, 0x42, 0x00,
+
+ /* U+002C "," */
+ 0xC0,
+
+ /* U+002D "-" */
+ 0xC0,
+
+ /* U+002E "." */
+ 0x80,
+
+ /* U+002F "/" */
+ 0x25, 0x25, 0x20,
+
+ /* U+0030 "0" */
+ 0x69, 0x99, 0x99, 0x60,
+
+ /* U+0031 "1" */
+ 0x75, 0x54,
+
+ /* U+0032 "2" */
+ 0x69, 0x12, 0x24, 0xF0,
+
+ /* U+0033 "3" */
+ 0x69, 0x12, 0x19, 0x60,
+
+ /* U+0034 "4" */
+ 0x11, 0x95, 0x2F, 0x88, 0x40,
+
+ /* U+0035 "5" */
+ 0x74, 0xE9, 0x19, 0x60,
+
+ /* U+0036 "6" */
+ 0x69, 0xE9, 0x99, 0x60,
+
+ /* U+0037 "7" */
+ 0xF1, 0x22, 0x44, 0x40,
+
+ /* U+0038 "8" */
+ 0x69, 0x96, 0x99, 0x60,
+
+ /* U+0039 "9" */
+ 0x69, 0x99, 0x79, 0x60,
+
+ /* U+003A ":" */
+ 0x88,
+
+ /* U+003B ";" */
+ 0x8C,
+
+ /* U+003C "<" */
+ 0x2A, 0x22,
+
+ /* U+003D "=" */
+ 0xF0, 0xF0,
+
+ /* U+003E ">" */
+ 0x88, 0xA8,
+
+ /* U+003F "?" */
+ 0x74, 0x42, 0x62, 0x00, 0x80,
+
+ /* U+0040 "@" */
+ 0x3C, 0x42, 0x95, 0xAD, 0xA9, 0xAA, 0xBC, 0x43, 0x3C,
+
+ /* U+0041 "A" */
+ 0x10, 0x51, 0x12, 0x27, 0xC8, 0x91, 0x00,
+
+ /* U+0042 "B" */
+ 0xE9, 0x9F, 0x99, 0xE0,
+
+ /* U+0043 "C" */
+ 0x74, 0x61, 0x08, 0x45, 0xC0,
+
+ /* U+0044 "D" */
+ 0xF4, 0x63, 0x18, 0xC7, 0xC0,
+
+ /* U+0045 "E" */
+ 0xFC, 0x21, 0xF8, 0x43, 0xE0,
+
+ /* U+0046 "F" */
+ 0xF8, 0x8E, 0x88, 0x80,
+
+ /* U+0047 "G" */
+ 0x74, 0x61, 0x38, 0xC5, 0xC0,
+
+ /* U+0048 "H" */
+ 0x8C, 0x63, 0xF8, 0xC6, 0x20,
+
+ /* U+0049 "I" */
+ 0xFE,
+
+ /* U+004A "J" */
+ 0x11, 0x11, 0x19, 0xE0,
+
+ /* U+004B "K" */
+ 0x8C, 0xA9, 0x8A, 0x4A, 0x20,
+
+ /* U+004C "L" */
+ 0x88, 0x88, 0x88, 0xF0,
+
+ /* U+004D "M" */
+ 0x83, 0x8F, 0x1D, 0x5A, 0xB5, 0x64, 0x80,
+
+ /* U+004E "N" */
+ 0x8E, 0x73, 0x59, 0xCE, 0x20,
+
+ /* U+004F "O" */
+ 0x74, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0050 "P" */
+ 0xF9, 0x9F, 0x88, 0x80,
+
+ /* U+0051 "Q" */
+ 0x74, 0x63, 0x18, 0xC9, 0xE0,
+
+ /* U+0052 "R" */
+ 0xF4, 0x63, 0xE9, 0x46, 0x20,
+
+ /* U+0053 "S" */
+ 0x69, 0x86, 0x19, 0x60,
+
+ /* U+0054 "T" */
+ 0xF9, 0x08, 0x42, 0x10, 0x80,
+
+ /* U+0055 "U" */
+ 0x8C, 0x63, 0x18, 0xC5, 0xC0,
+
+ /* U+0056 "V" */
+ 0x44, 0x89, 0x12, 0x22, 0x85, 0x04, 0x00,
+
+ /* U+0057 "W" */
+ 0x88, 0xCA, 0x55, 0x4A, 0xA5, 0x52, 0xA8, 0x88,
+
+ /* U+0058 "X" */
+ 0x8A, 0x94, 0x45, 0x2A, 0x20,
+
+ /* U+0059 "Y" */
+ 0x8A, 0x94, 0x42, 0x10, 0x80,
+
+ /* U+005A "Z" */
+ 0xFC, 0x21, 0x08, 0x42, 0x0F, 0xC0,
+
+ /* U+005B "[" */
+ 0xEA, 0xAA, 0xC0,
+
+ /* U+005C "\\" */
+ 0x91, 0x24, 0x48,
+
+ /* U+005D "]" */
+ 0xD5, 0x55, 0xC0,
+
+ /* U+005E "^" */
+ 0x56, 0x80,
+
+ /* U+005F "_" */
+ 0xF8,
+
+ /* U+0060 "`" */
+ 0x90,
+
+ /* U+0061 "a" */
+ 0xF1, 0x79, 0xF0,
+
+ /* U+0062 "b" */
+ 0x88, 0xE9, 0x99, 0xE0,
+
+ /* U+0063 "c" */
+ 0x69, 0x89, 0x60,
+
+ /* U+0064 "d" */
+ 0x11, 0x79, 0x99, 0x70,
+
+ /* U+0065 "e" */
+ 0x69, 0xF8, 0x70,
+
+ /* U+0066 "f" */
+ 0x2B, 0xA4, 0x90,
+
+ /* U+0067 "g" */
+ 0x79, 0x99, 0x79, 0x60,
+
+ /* U+0068 "h" */
+ 0x88, 0xE9, 0x99, 0x90,
+
+ /* U+0069 "i" */
+ 0xBE,
+
+ /* U+006A "j" */
+ 0x45, 0x55, 0x80,
+
+ /* U+006B "k" */
+ 0x88, 0x9A, 0xEA, 0x90,
+
+ /* U+006C "l" */
+ 0xFE,
+
+ /* U+006D "m" */
+ 0xFD, 0x26, 0x4C, 0x99, 0x20,
+
+ /* U+006E "n" */
+ 0xE9, 0x99, 0x90,
+
+ /* U+006F "o" */
+ 0x69, 0x99, 0x60,
+
+ /* U+0070 "p" */
+ 0xE9, 0x99, 0xE8, 0x80,
+
+ /* U+0071 "q" */
+ 0x79, 0x99, 0x71, 0x10,
+
+ /* U+0072 "r" */
+ 0xF2, 0x48,
+
+ /* U+0073 "s" */
+ 0x78, 0x61, 0xE0,
+
+ /* U+0074 "t" */
+ 0x09, 0xA4, 0x98,
+
+ /* U+0075 "u" */
+ 0x99, 0x99, 0x70,
+
+ /* U+0076 "v" */
+ 0x8A, 0x94, 0xA2, 0x00,
+
+ /* U+0077 "w" */
+ 0xAD, 0x6B, 0x55, 0x00,
+
+ /* U+0078 "x" */
+ 0x96, 0x46, 0x90,
+
+ /* U+0079 "y" */
+ 0x8A, 0x94, 0xA2, 0x11, 0x00,
+
+ /* U+007A "z" */
+ 0xE5, 0x4E,
+
+ /* U+007B "{" */
+ 0x69, 0x28, 0x92, 0x60,
+
+ /* U+007C "|" */
+ 0xFF,
+
+ /* U+007D "}" */
+ 0xC9, 0x22, 0x92, 0xC0,
+
+ /* U+007E "~" */
+ 0xDB,
+
+};
+
+static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
+ {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
+ {.bitmap_index = 0, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0} /* U+0020 */,
+ {.bitmap_index = 1, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0021 */,
+ {.bitmap_index = 2, .adv_w = 48, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0022 */,
+ {.bitmap_index = 3, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0023 */,
+ {.bitmap_index = 7, .adv_w = 80, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = -1} /* U+0024 */,
+ {.bitmap_index = 12, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0025 */,
+ {.bitmap_index = 18, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0026 */,
+ {.bitmap_index = 24, .adv_w = 32, .box_w = 1, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0027 */,
+ {.bitmap_index = 25, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+0028 */,
+ {.bitmap_index = 29, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+0029 */,
+ {.bitmap_index = 33, .adv_w = 64, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+002A */,
+ {.bitmap_index = 35, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+002B */,
+ {.bitmap_index = 39, .adv_w = 48, .box_w = 1, .box_h = 2, .ofs_x = 1, .ofs_y = -1} /* U+002C */,
+ {.bitmap_index = 40, .adv_w = 48, .box_w = 2, .box_h = 1, .ofs_x = 0, .ofs_y = 2} /* U+002D */,
+ {.bitmap_index = 41, .adv_w = 48, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 0} /* U+002E */,
+ {.bitmap_index = 42, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+002F */,
+ {.bitmap_index = 45, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0030 */,
+ {.bitmap_index = 49, .adv_w = 80, .box_w = 2, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0031 */,
+ {.bitmap_index = 51, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0032 */,
+ {.bitmap_index = 55, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0033 */,
+ {.bitmap_index = 59, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0034 */,
+ {.bitmap_index = 64, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0035 */,
+ {.bitmap_index = 68, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0036 */,
+ {.bitmap_index = 72, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0037 */,
+ {.bitmap_index = 76, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0038 */,
+ {.bitmap_index = 80, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0039 */,
+ {.bitmap_index = 84, .adv_w = 48, .box_w = 1, .box_h = 5, .ofs_x = 1, .ofs_y = 0} /* U+003A */,
+ {.bitmap_index = 85, .adv_w = 48, .box_w = 1, .box_h = 6, .ofs_x = 1, .ofs_y = -1} /* U+003B */,
+ {.bitmap_index = 86, .adv_w = 80, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 1} /* U+003C */,
+ {.bitmap_index = 88, .adv_w = 80, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 2} /* U+003D */,
+ {.bitmap_index = 90, .adv_w = 80, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 1} /* U+003E */,
+ {.bitmap_index = 92, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+003F */,
+ {.bitmap_index = 97, .adv_w = 144, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+0040 */,
+ {.bitmap_index = 106, .adv_w = 96, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0041 */,
+ {.bitmap_index = 113, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0042 */,
+ {.bitmap_index = 117, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0043 */,
+ {.bitmap_index = 122, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0044 */,
+ {.bitmap_index = 127, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0045 */,
+ {.bitmap_index = 132, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0046 */,
+ {.bitmap_index = 136, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0047 */,
+ {.bitmap_index = 141, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0048 */,
+ {.bitmap_index = 146, .adv_w = 48, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0049 */,
+ {.bitmap_index = 147, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004A */,
+ {.bitmap_index = 151, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004B */,
+ {.bitmap_index = 156, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004C */,
+ {.bitmap_index = 160, .adv_w = 112, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+004D */,
+ {.bitmap_index = 167, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004E */,
+ {.bitmap_index = 172, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+004F */,
+ {.bitmap_index = 177, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0050 */,
+ {.bitmap_index = 181, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0051 */,
+ {.bitmap_index = 186, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0052 */,
+ {.bitmap_index = 191, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0053 */,
+ {.bitmap_index = 195, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0054 */,
+ {.bitmap_index = 200, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0055 */,
+ {.bitmap_index = 205, .adv_w = 96, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0056 */,
+ {.bitmap_index = 212, .adv_w = 144, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0057 */,
+ {.bitmap_index = 220, .adv_w = 80, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0058 */,
+ {.bitmap_index = 225, .adv_w = 112, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0} /* U+0059 */,
+ {.bitmap_index = 230, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005A */,
+ {.bitmap_index = 236, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = -2} /* U+005B */,
+ {.bitmap_index = 239, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+005C */,
+ {.bitmap_index = 242, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+005D */,
+ {.bitmap_index = 245, .adv_w = 48, .box_w = 3, .box_h = 3, .ofs_x = 0, .ofs_y = 4} /* U+005E */,
+ {.bitmap_index = 247, .adv_w = 80, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = -2} /* U+005F */,
+ {.bitmap_index = 248, .adv_w = 48, .box_w = 2, .box_h = 2, .ofs_x = 0, .ofs_y = 5} /* U+0060 */,
+ {.bitmap_index = 249, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0061 */,
+ {.bitmap_index = 252, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0062 */,
+ {.bitmap_index = 256, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0063 */,
+ {.bitmap_index = 259, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0064 */,
+ {.bitmap_index = 263, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0065 */,
+ {.bitmap_index = 266, .adv_w = 64, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0066 */,
+ {.bitmap_index = 269, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0067 */,
+ {.bitmap_index = 273, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0068 */,
+ {.bitmap_index = 277, .adv_w = 32, .box_w = 1, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+0069 */,
+ {.bitmap_index = 278, .adv_w = 48, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+006A */,
+ {.bitmap_index = 281, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006B */,
+ {.bitmap_index = 285, .adv_w = 32, .box_w = 1, .box_h = 7, .ofs_x = 0, .ofs_y = 0} /* U+006C */,
+ {.bitmap_index = 286, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006D */,
+ {.bitmap_index = 291, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006E */,
+ {.bitmap_index = 294, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+006F */,
+ {.bitmap_index = 297, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0070 */,
+ {.bitmap_index = 301, .adv_w = 80, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0071 */,
+ {.bitmap_index = 305, .adv_w = 48, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0072 */,
+ {.bitmap_index = 307, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0073 */,
+ {.bitmap_index = 310, .adv_w = 48, .box_w = 3, .box_h = 7, .ofs_x = -1, .ofs_y = 0} /* U+0074 */,
+ {.bitmap_index = 313, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0075 */,
+ {.bitmap_index = 316, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0076 */,
+ {.bitmap_index = 320, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0077 */,
+ {.bitmap_index = 324, .adv_w = 80, .box_w = 4, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+0078 */,
+ {.bitmap_index = 327, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -2} /* U+0079 */,
+ {.bitmap_index = 332, .adv_w = 64, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = 0} /* U+007A */,
+ {.bitmap_index = 334, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+007B */,
+ {.bitmap_index = 338, .adv_w = 48, .box_w = 1, .box_h = 8, .ofs_x = 1, .ofs_y = -1} /* U+007C */,
+ {.bitmap_index = 339, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2} /* U+007D */,
+ {.bitmap_index = 343, .adv_w = 80, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 2} /* U+007E */,
+};
+
+static const lv_font_fmt_txt_cmap_t cmaps[] = {
+ {.range_start = 32, .range_length = 95, .glyph_id_start = 1,
+ .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0,
+ .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}
+};
+
+static const lv_font_fmt_txt_dsc_t font_dsc = {
+ .glyph_bitmap = glyph_bitmap,
+ .glyph_dsc = glyph_dsc,
+ .cmaps = cmaps,
+ .kern_dsc = NULL,
+ .kern_scale = 0,
+ .cmap_num = 1,
+ .bpp = 1,
+ .kern_classes = 0,
+ .bitmap_format = 0,
+ .stride = 0,
+};
+
+const UG_FONT font_regular_9 = {
+ .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
+ .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
+ .line_height = 9,
+ .base_line = 2,
+ .subpx = LV_FONT_SUBPX_NONE,
+ .underline_position = -1,
+ .underline_thickness = 0,
+ .static_bitmap = 0,
+ .dsc = &font_dsc,
+ .fallback = NULL,
+ .user_data = NULL,
+};
+
+#endif /* REGULAR_9 */
### src/ui/fonts/regular_9_bootloader.h
@@ -0,0 +1,8 @@
+#ifndef TTF2LVGL_REGULAR_9_BOOTLOADER_H
+#define TTF2LVGL_REGULAR_9_BOOTLOADER_H
+
+#include <ugui.h>
+
+extern const UG_FONT font_regular_9;
+
+#endif /* TTF2LVGL_REGULAR_9_BOOTLOADER_H */
### src/ui/fonts/regular_fonts.h
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: Apache-2.0
+
+#ifndef _REGULAR_FONTS_H_
+#define _REGULAR_FONTS_H_
+
+#include "regular_11.h"
+#include "regular_12.h"
+#include "regular_9.h"
+#include "monogram_16.h"
+
+#endifWhy this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.