diff --git a/examples/demo/include/fonts_noto_sans_numeric_80.c b/examples/demo/include/fonts_noto_sans_numeric_80.c new file mode 100644 index 0000000..eb2f1d5 --- /dev/null +++ b/examples/demo/include/fonts_noto_sans_numeric_80.c @@ -0,0 +1,828 @@ +/** + * Generated by https://littlevgl.com/ttf-font-to-c-array from NotoSans-regular + */ + +#include "lvgl/lvgl.h" + +/******************************************************************************* + * Size: 80 px + * Bpp: 2 + * Opts: + ******************************************************************************/ + +#ifndef NOTO_SANS_NUMERIC_80 +#define NOTO_SANS_NUMERIC_80 1 +#endif + +#if NOTO_SANS_NUMERIC_80 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+30 "0" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xff, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf8, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xd0, 0x1, 0xbf, 0xff, 0xf4, 0x0, 0x0, 0x2f, + 0xff, 0xf4, 0x0, 0x0, 0x2f, 0xff, 0xf0, 0x0, + 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xe0, 0x0, 0xb, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xc0, 0x0, 0x3f, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x80, 0x1, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0xf, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, + 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0xf8, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xf0, 0xb, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xd0, 0x3f, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x80, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xfe, 0x7, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xfc, 0x1f, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xf0, 0xbf, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xd2, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0x4f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xfe, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xf8, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xe3, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x8f, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xf3, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xcf, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0xfc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xf3, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0x8f, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xfe, 0x3f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xf8, 0xbf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xd2, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0x47, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, 0x1f, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, + 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xc0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0x3, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xff, 0xf8, 0xb, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xd0, 0x1f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xff, 0xfc, 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xd0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x3, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, + 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xd0, 0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, 0x1, + 0xff, 0xff, 0x0, 0x0, 0x1f, 0xff, 0xf4, 0x0, + 0x0, 0x2f, 0xff, 0xf0, 0x0, 0x0, 0x2f, 0xff, + 0xfe, 0x40, 0x1b, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xaf, 0xff, 0x90, 0x0, 0x0, + 0x0, + + /* U+31 "1" */ + 0x0, 0x0, 0x0, 0x1, 0xaa, 0x80, 0x0, 0x0, + 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xd0, 0x0, 0x0, 0x1f, 0xff, 0xfd, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xd0, 0x0, 0x3, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd0, 0x0, + 0x7f, 0xff, 0xff, 0xfd, 0x0, 0x2f, 0xff, 0xf7, + 0xff, 0xd0, 0xf, 0xff, 0xfc, 0x7f, 0xfd, 0x7, + 0xff, 0xff, 0x7, 0xff, 0xd2, 0xff, 0xff, 0x80, + 0x7f, 0xfd, 0xbf, 0xff, 0xe0, 0x7, 0xff, 0xd3, + 0xff, 0xf4, 0x0, 0x7f, 0xfd, 0x1f, 0xfd, 0x0, + 0x7, 0xff, 0xd0, 0xbf, 0x0, 0x0, 0x7f, 0xfd, + 0x3, 0x80, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, + 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, + 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, + 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xfd, + + /* U+32 "2" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x0, 0x3, 0xff, 0xff, 0xfe, + 0x40, 0x1, 0xff, 0xff, 0xfc, 0x0, 0xf, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf4, 0x0, + 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xf0, 0x0, 0x1f, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xd0, 0x0, 0x2e, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xfa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xa4, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + + /* U+33 "3" */ + 0x0, 0x0, 0x0, 0x6b, 0xff, 0xfe, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x3, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x2, 0xff, 0xff, 0xfe, 0x40, 0x0, + 0x6f, 0xff, 0xff, 0x40, 0x3, 0xff, 0xfd, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0x0, 0x3, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x0, + 0x7, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xf8, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xbf, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xfe, + 0x40, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6b, 0xff, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xc1, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfd, 0x7, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0xf0, 0x1f, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x1b, + 0xff, 0xff, 0x40, 0x7f, 0xff, 0xe9, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0xf8, 0x1, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd0, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xbf, 0xff, 0xfe, 0x90, 0x0, 0x0, 0x0, 0x0, + + /* U+34 "4" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfe, 0xbf, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xfc, 0xbf, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xf8, 0xbf, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf0, + 0xbf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xe0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xc0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0x40, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xfe, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xf0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xe0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, + 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xf0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xd0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x80, + 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0xf, 0xff, + 0x80, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0xbf, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0xb, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x1f, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x3f, 0xff, 0x55, 0x55, 0x55, 0x55, + 0x55, 0xff, 0xfd, 0x55, 0x54, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + + /* U+35 "5" */ + 0x0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x0, 0x3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfd, 0x5a, + 0xff, 0xff, 0x94, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, + 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xa5, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xf4, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xfc, 0xf, 0x80, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xfd, 0x3, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xfe, + 0x0, 0xff, 0xff, 0xe5, 0x0, 0x6, 0xff, 0xff, + 0xff, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x2f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x6f, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x16, 0xff, 0xff, 0xe9, 0x0, 0x0, + 0x0, 0x0, + + /* U+36 "6" */ + 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f, 0xff, 0xfe, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xb, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x50, 0x0, 0x0, 0x1f, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0x0, 0x0, 0x6f, 0xff, 0xe4, + 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0xbf, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x3f, 0xff, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x3, 0xff, 0xe0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x3f, + 0xfe, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x7, 0xff, 0xe3, 0xff, 0xff, 0xaa, 0xff, 0xff, + 0xff, 0x40, 0x7f, 0xfe, 0xff, 0xf9, 0x0, 0x0, + 0x6f, 0xff, 0xfc, 0x7, 0xff, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xe0, 0xbf, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xb, 0xff, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf8, + 0xbf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xcb, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xfd, 0xbf, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xdb, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xfe, 0x7f, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf7, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x7f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xf3, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x3f, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xf3, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x2f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xf1, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xfe, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xe0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xfd, 0xb, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x3f, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, + 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x40, 0xf, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xf0, 0x0, 0xbf, 0xff, 0x80, 0x0, + 0x0, 0x3, 0xff, 0xfd, 0x0, 0x3, 0xff, 0xff, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xc0, 0x0, 0xf, + 0xff, 0xff, 0x40, 0x6, 0xff, 0xff, 0xf0, 0x0, + 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x40, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xbf, 0xfe, 0x90, 0x0, 0x0, + 0x0, + + /* U+37 "7" */ + 0x15, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, + 0x55, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xfe, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+38 "8" */ + 0x0, 0x0, 0x0, 0x6, 0xff, 0xfe, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x7f, 0xff, 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xc0, 0x0, 0x3, 0xff, 0xff, 0x90, 0x0, + 0x7, 0xff, 0xff, 0xc0, 0x0, 0x3f, 0xff, 0xf0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0x80, 0x0, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, + 0xb, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0xfd, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xf8, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xf0, 0x3, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0xf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xf0, 0x3, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0xb, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfd, 0x0, + 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xf0, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0x80, 0x0, 0xbf, 0xff, 0x40, 0x0, + 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0xff, 0xff, + 0x80, 0x0, 0x0, 0x2f, 0xff, 0xc0, 0x0, 0x0, + 0xff, 0xff, 0xc0, 0x0, 0x3, 0xff, 0xfd, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xe0, 0x0, 0xbf, 0xff, + 0xd0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf8, 0x2f, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, + 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xd0, 0x0, + 0x0, 0xf, 0xff, 0xfe, 0x0, 0x1b, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0x0, 0x2, + 0xff, 0xff, 0xe0, 0x0, 0xf, 0xff, 0xf8, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xe0, 0x0, 0xbf, 0xff, + 0x40, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xd0, 0x7, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0xc0, 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0x80, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xb, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, 0x3f, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf4, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xe3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0x8f, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x3f, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8, 0xff, + 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xe3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0x4b, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfd, 0x1f, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x3f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, + 0xbf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xfc, 0x0, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xe0, 0x1, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x2f, 0xff, 0xff, 0x0, 0x2, 0xff, 0xff, + 0xff, 0xea, 0xbf, 0xff, 0xff, 0xf0, 0x0, 0x2, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, + 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xaf, 0xff, 0xf9, 0x40, 0x0, 0x0, 0x0, + + /* U+39 "9" */ + 0x0, 0x0, 0x0, 0x1b, 0xff, 0xe5, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0xff, 0xff, 0xf9, 0x0, 0x1b, 0xff, + 0xff, 0x0, 0x0, 0x3f, 0xff, 0xf4, 0x0, 0x0, + 0xf, 0xff, 0xfc, 0x0, 0x7, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0xe0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x0, 0x1f, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf8, + 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xc0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xfe, 0x7, 0xff, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xf0, 0xbf, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xb, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf4, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0x8f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xcf, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfc, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xdf, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xfd, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xdb, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xfe, 0x7f, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe3, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x3f, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xe1, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xfe, 0xf, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xe0, 0x0, + 0x0, 0xb, 0xff, 0xff, 0xfd, 0x3, 0xff, 0xff, + 0xe4, 0x0, 0x1b, 0xff, 0xeb, 0xff, 0xd0, 0xf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xbf, 0xfd, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb, + 0xff, 0xc0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0x80, 0xff, 0xfc, 0x0, 0x1, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0xf, 0xff, 0xc0, 0x0, 0x1, 0xbf, + 0xff, 0xff, 0x90, 0x0, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x16, 0xa5, 0x0, 0x0, 0xf, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1b, 0xff, 0xff, 0x40, 0x0, 0x0, 0x94, + 0x0, 0x0, 0x6f, 0xff, 0xff, 0xd0, 0x0, 0x0, + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1b, 0xff, 0xff, 0x94, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+3A ":" */ + 0x2, 0xfe, 0x0, 0x3f, 0xff, 0x42, 0xff, 0xff, + 0xf, 0xff, 0xfd, 0x3f, 0xff, 0xf8, 0xff, 0xff, + 0xe3, 0xff, 0xff, 0x8f, 0xff, 0xfd, 0x2f, 0xff, + 0xf0, 0x3f, 0xff, 0x40, 0x1f, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xe0, + 0x3, 0xff, 0xf4, 0x2f, 0xff, 0xf0, 0xff, 0xff, + 0xd3, 0xff, 0xff, 0x8f, 0xff, 0xfe, 0x3f, 0xff, + 0xf8, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x3, 0xff, + 0xf4, 0x2, 0xfe, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +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 = 732, .box_w = 39, .box_h = 60, .ofs_x = 3, .ofs_y = -1}, + {.bitmap_index = 585, .adv_w = 732, .box_w = 22, .box_h = 58, .ofs_x = 7, .ofs_y = 0}, + {.bitmap_index = 904, .adv_w = 732, .box_w = 39, .box_h = 59, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 1480, .adv_w = 732, .box_w = 39, .box_h = 59, .ofs_x = 3, .ofs_y = -1}, + {.bitmap_index = 2056, .adv_w = 732, .box_w = 44, .box_h = 58, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2694, .adv_w = 732, .box_w = 37, .box_h = 59, .ofs_x = 5, .ofs_y = -1}, + {.bitmap_index = 3240, .adv_w = 732, .box_w = 38, .box_h = 59, .ofs_x = 4, .ofs_y = -1}, + {.bitmap_index = 3801, .adv_w = 732, .box_w = 39, .box_h = 58, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 4367, .adv_w = 732, .box_w = 39, .box_h = 59, .ofs_x = 3, .ofs_y = -1}, + {.bitmap_index = 4943, .adv_w = 732, .box_w = 38, .box_h = 59, .ofs_x = 4, .ofs_y = -1}, + {.bitmap_index = 5504, .adv_w = 343, .box_w = 11, .box_h = 45, .ofs_x = 5, .ofs_y = -1} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 48, .range_length = 11, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 1, + .bpp = 2, + .kern_classes = 0, + .bitmap_format = 0 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t noto_sans_numeric_80 = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 60, /*The maximum line height required by the font*/ + .base_line = 1, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if NOTO_SANS_NUMERIC_80*/ + diff --git a/examples/demo/lv_conf.h b/examples/demo/include/lv_conf.h similarity index 99% rename from examples/demo/lv_conf.h rename to examples/demo/include/lv_conf.h index d8e9e57..71d6237 100644 --- a/examples/demo/lv_conf.h +++ b/examples/demo/include/lv_conf.h @@ -20,8 +20,8 @@ *====================*/ /* Maximal horizontal and vertical resolution to support by the library.*/ -#define LV_HOR_RES_MAX (480) -#define LV_VER_RES_MAX (320) +#define LV_HOR_RES_MAX (240) +#define LV_VER_RES_MAX (240) /* Color depth: * - 1: 1 byte per pixel @@ -51,7 +51,7 @@ /* Default display refresh period. * Can be changed in the display driver (`lv_disp_drv_t`).*/ -#define LV_DISP_DEF_REFR_PERIOD 1 /*[ms]*/ +#define LV_DISP_DEF_REFR_PERIOD 100 /*[ms]*/ /* Dot Per Inch: used to initialize default sizes. * E.g. a button with width = LV_DPI / 2 -> half inch wide diff --git a/examples/demo/include/noto_sans_numeric_80.h b/examples/demo/include/noto_sans_numeric_80.h new file mode 100644 index 0000000..7994f36 --- /dev/null +++ b/examples/demo/include/noto_sans_numeric_80.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2018 Koen Zandberg + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +#ifndef _APP_FONTS_NOTO_SANS_NUMERIC_80_H +#define _APP_FONTS_NOTO_SANS_NUMERIC_80_H + +#include "lvgl/lvgl.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +extern lv_font_t noto_sans_numeric_80; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/examples/demo/src/main.rs b/examples/demo/src/main.rs index 5f5b2ed..83bcd31 100644 --- a/examples/demo/src/main.rs +++ b/examples/demo/src/main.rs @@ -1,5 +1,6 @@ use lvgl_sys; use lvgl; +use lvgl::{Object, Style}; use sdl2::event::Event; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; @@ -13,7 +14,7 @@ fn main() -> Result<(), String> { let sdl_context = sdl2::init()?; let video_subsystem = sdl_context.video()?; let mut framebuffer = [ - [Color::from((255, 255, 255)); lvgl_sys::LV_VER_RES_MAX as usize]; + [Color::from((0, 0, 0)); lvgl_sys::LV_VER_RES_MAX as usize]; lvgl_sys::LV_HOR_RES_MAX as usize ]; @@ -30,7 +31,7 @@ fn main() -> Result<(), String> { let mut canvas = window.into_canvas().build().map_err(|e| e.to_string())?; - canvas.set_draw_color(Color::RGB(255, 255, 255)); + canvas.set_draw_color(Color::RGB(0, 0, 0)); canvas.clear(); canvas.present(); @@ -57,12 +58,34 @@ fn main() -> Result<(), String> { // Create screen and widgets let mut screen = display_driver.get_active_screen(); - let mut button = lvgl::Button::new(&mut screen); - button.set_pos(50, 50); - button.set_size(250, 50); + // let mut button = lvgl::Button::new(&mut screen); + // button.set_pos(50, 50); + // button.set_size(100, 50); + // + // let mut label = lvgl::Label::new(&mut button); + // label.set_text("Hello Mundo!\0"); - let mut label = lvgl::Label::new(&mut button); - label.set_text("Hello Mundo!\0"); + let mut time = lvgl::Label::new(&mut screen); + time.set_text("20:46\0"); + time.set_width(240); + time.set_height(200); + + // let mut style_time = Style::default(); + // style_time.text.font = unsafe { + // Some(¬o_sans_numeric_80) + // }; + //time.set_style(style_time); + + let mut native_style: lvgl_sys::lv_style_t; + unsafe { + native_style = MaybeUninit::::uninit().assume_init(); + lvgl_sys::lv_style_copy(&mut native_style, &lvgl_sys::lv_style_pretty); + native_style.text.font = ¬o_sans_numeric_80; + } + + time.set_style(&mut native_style); + time.set_label_align(lvgl::LabelAlign::Center); + time.set_align(&mut screen, lvgl::Align::Center, 0, -30); let mut event_pump = sdl_context.event_pump()?; 'running: loop { @@ -89,6 +112,11 @@ fn main() -> Result<(), String> { Ok(()) } +extern "C" { + pub static mut noto_sans_numeric_80: lvgl_sys::lv_font_t; +} + +#[allow(dead_code)] struct DisplayDriver where F: FnMut(Vec, Vec), @@ -136,7 +164,7 @@ where } } - fn get_active_screen(&mut self) -> lvgl::Object { + fn get_active_screen(&mut self) -> lvgl::ObjectX { lvgl::display::get_active_screen() } } diff --git a/lvgl-sys/build.rs b/lvgl-sys/build.rs index 9cb998a..b7dd261 100644 --- a/lvgl-sys/build.rs +++ b/lvgl-sys/build.rs @@ -52,6 +52,7 @@ fn main() { add_c_files(&mut cfg, vendor_src.join("lv_misc")); add_c_files(&mut cfg, vendor_src.join("lv_objx")); add_c_files(&mut cfg, vendor_src.join("lv_themes")); + add_c_files(&mut cfg, &lv_config_dir); cfg.define("LV_CONF_INCLUDE_SIMPLE", Some("1")) .include(&vendor_src) diff --git a/lvgl-sys/src/bindings.rs b/lvgl-sys/src/bindings.rs index cfc2100..bbe39f1 100644 --- a/lvgl-sys/src/bindings.rs +++ b/lvgl-sys/src/bindings.rs @@ -171,14 +171,14 @@ pub const SIG_ATOMIC_MAX: u32 = 2147483647; pub const SIZE_MAX: i32 = -1; pub const WINT_MIN: u32 = 0; pub const WINT_MAX: u32 = 4294967295; -pub const LV_HOR_RES_MAX: u32 = 480; -pub const LV_VER_RES_MAX: u32 = 320; +pub const LV_HOR_RES_MAX: u32 = 240; +pub const LV_VER_RES_MAX: u32 = 240; pub const LV_COLOR_DEPTH: u32 = 32; pub const LV_COLOR_16_SWAP: u32 = 0; pub const LV_COLOR_SCREEN_TRANSP: u32 = 0; pub const LV_INDEXED_CHROMA: u32 = 1; pub const LV_ANTIALIAS: u32 = 1; -pub const LV_DISP_DEF_REFR_PERIOD: u32 = 1; +pub const LV_DISP_DEF_REFR_PERIOD: u32 = 100; pub const LV_DPI: u32 = 100; pub const LV_MEM_CUSTOM: u32 = 0; pub const LV_MEM_SIZE: u32 = 131072; diff --git a/lvgl/src/display.rs b/lvgl/src/display.rs index ac6781e..43dea41 100644 --- a/lvgl/src/display.rs +++ b/lvgl/src/display.rs @@ -1,7 +1,7 @@ use crate::objx::ObjectX; use core::ptr; -pub fn get_active_screen() -> ObjectX { +pub fn get_active_screen() -> ObjectX<'static> { let raw = unsafe { ptr::NonNull::new_unchecked(lvgl_sys::lv_disp_get_scr_act(ptr::null_mut())) }; ObjectX::new(raw) diff --git a/lvgl/src/objx.rs b/lvgl/src/objx.rs index 0d5cac4..f112f18 100644 --- a/lvgl/src/objx.rs +++ b/lvgl/src/objx.rs @@ -1,28 +1,30 @@ use core::ptr; use cty; use lvgl_sys; +use core::mem; -pub trait Container { +pub trait NativeObject { fn raw(&self) -> ptr::NonNull; } -pub struct ObjectX { +pub struct ObjectX<'a> { raw: ptr::NonNull, + style: Option>, } -impl ObjectX { +impl<'a> ObjectX<'a> { pub(crate) fn new(raw: ptr::NonNull) -> Self { - Self { raw } + Self { raw, style: None } } } -impl Container for ObjectX { +impl<'a> NativeObject for ObjectX<'a> { fn raw(&self) -> ptr::NonNull { unsafe { ptr::NonNull::new_unchecked(self.raw.as_ptr()) } } } -pub trait Object: Container { +pub trait Object: NativeObject { fn set_pos(&mut self, x: i16, y: i16) { unsafe { lvgl_sys::lv_obj_set_pos( @@ -55,35 +57,35 @@ pub trait Object: Container { } } - fn set_object_align( + fn set_align( &mut self, base: &mut C, - align: ObjectAlign, + align: Align, x_mod: i32, y_mod: i32, - ) where C: Container { + ) where C: NativeObject { let align = match align { - ObjectAlign::Center => lvgl_sys::LV_ALIGN_CENTER, - ObjectAlign::InTopLeft => lvgl_sys::LV_ALIGN_IN_TOP_LEFT, - ObjectAlign::InTopMid => lvgl_sys::LV_ALIGN_IN_TOP_MID, - ObjectAlign::InTopRight => lvgl_sys::LV_ALIGN_IN_TOP_RIGHT, - ObjectAlign::InBottomLeft => lvgl_sys::LV_ALIGN_IN_BOTTOM_LEFT, - ObjectAlign::InBottomMid => lvgl_sys::LV_ALIGN_IN_BOTTOM_MID, - ObjectAlign::InBottomRight => lvgl_sys::LV_ALIGN_IN_BOTTOM_RIGHT, - ObjectAlign::InLeftMid => lvgl_sys::LV_ALIGN_IN_LEFT_MID, - ObjectAlign::InRightMid => lvgl_sys::LV_ALIGN_IN_RIGHT_MID, - ObjectAlign::OutTopLeft => lvgl_sys::LV_ALIGN_OUT_TOP_LEFT, - ObjectAlign::OutTopMid => lvgl_sys::LV_ALIGN_OUT_TOP_MID, - ObjectAlign::OutTopRight => lvgl_sys::LV_ALIGN_OUT_TOP_RIGHT, - ObjectAlign::OutBottomLeft => lvgl_sys::LV_ALIGN_OUT_BOTTOM_LEFT, - ObjectAlign::OutBottomMid => lvgl_sys::LV_ALIGN_OUT_BOTTOM_MID, - ObjectAlign::OutBottomRight => lvgl_sys::LV_ALIGN_OUT_BOTTOM_RIGHT, - ObjectAlign::OutLeftTop => lvgl_sys::LV_ALIGN_OUT_LEFT_TOP, - ObjectAlign::OutLeftMid => lvgl_sys::LV_ALIGN_OUT_LEFT_MID, - ObjectAlign::OutLeftBottom => lvgl_sys::LV_ALIGN_OUT_LEFT_BOTTOM, - ObjectAlign::OutRightTop => lvgl_sys::LV_ALIGN_OUT_RIGHT_TOP, - ObjectAlign::OutRightMid => lvgl_sys::LV_ALIGN_OUT_RIGHT_MID, - ObjectAlign::OutRightBottom => lvgl_sys::LV_ALIGN_OUT_RIGHT_BOTTOM, + Align::Center => lvgl_sys::LV_ALIGN_CENTER, + Align::InTopLeft => lvgl_sys::LV_ALIGN_IN_TOP_LEFT, + Align::InTopMid => lvgl_sys::LV_ALIGN_IN_TOP_MID, + Align::InTopRight => lvgl_sys::LV_ALIGN_IN_TOP_RIGHT, + Align::InBottomLeft => lvgl_sys::LV_ALIGN_IN_BOTTOM_LEFT, + Align::InBottomMid => lvgl_sys::LV_ALIGN_IN_BOTTOM_MID, + Align::InBottomRight => lvgl_sys::LV_ALIGN_IN_BOTTOM_RIGHT, + Align::InLeftMid => lvgl_sys::LV_ALIGN_IN_LEFT_MID, + Align::InRightMid => lvgl_sys::LV_ALIGN_IN_RIGHT_MID, + Align::OutTopLeft => lvgl_sys::LV_ALIGN_OUT_TOP_LEFT, + Align::OutTopMid => lvgl_sys::LV_ALIGN_OUT_TOP_MID, + Align::OutTopRight => lvgl_sys::LV_ALIGN_OUT_TOP_RIGHT, + Align::OutBottomLeft => lvgl_sys::LV_ALIGN_OUT_BOTTOM_LEFT, + Align::OutBottomMid => lvgl_sys::LV_ALIGN_OUT_BOTTOM_MID, + Align::OutBottomRight => lvgl_sys::LV_ALIGN_OUT_BOTTOM_RIGHT, + Align::OutLeftTop => lvgl_sys::LV_ALIGN_OUT_LEFT_TOP, + Align::OutLeftMid => lvgl_sys::LV_ALIGN_OUT_LEFT_MID, + Align::OutLeftBottom => lvgl_sys::LV_ALIGN_OUT_LEFT_BOTTOM, + Align::OutRightTop => lvgl_sys::LV_ALIGN_OUT_RIGHT_TOP, + Align::OutRightMid => lvgl_sys::LV_ALIGN_OUT_RIGHT_MID, + Align::OutRightBottom => lvgl_sys::LV_ALIGN_OUT_RIGHT_BOTTOM, } as lvgl_sys::lv_align_t; unsafe { lvgl_sys::lv_obj_align( @@ -95,25 +97,35 @@ pub trait Object: Container { ); } } + + //fn set_style(&mut self, style: Style<'static>); + fn set_style(&mut self, style: &mut lvgl_sys::lv_style_t); } macro_rules! define_object { ($item:ident) => { - pub struct $item { - core: ObjectX, + pub struct $item<'a> { + core: ObjectX<'a>, } - impl Container for $item { + impl<'a> NativeObject for $item<'a> { fn raw(&self) -> ptr::NonNull { self.core.raw() } } - impl Object for $item {} + impl<'a> Object for $item<'a> { + fn set_style(&mut self, style: &mut lvgl_sys::lv_style_t) { + unsafe { + lvgl_sys::lv_obj_set_style(self.raw().as_mut(), style); + }; + //self.core.style = Some(style); + } + } } } -pub enum ObjectAlign { +pub enum Align { Center, InTopLeft, InTopMid, @@ -139,8 +151,8 @@ pub enum ObjectAlign { define_object!(Button); -impl Button { - pub fn new(parent: &mut C) -> Self where C: Container { +impl<'a> Button<'a> { + pub fn new(parent: &mut C) -> Self where C: NativeObject { let raw = unsafe { let ptr = lvgl_sys::lv_btn_create(parent.raw().as_mut(), ptr::null_mut()); ptr::NonNull::new_unchecked(ptr) @@ -159,8 +171,8 @@ pub enum LabelAlign { define_object!(Label); -impl Label { - pub fn new(parent: &mut C) -> Self where C: Container { +impl<'a> Label<'a> { + pub fn new(parent: &mut C) -> Self where C: NativeObject { let raw = unsafe { let ptr = lvgl_sys::lv_label_create(parent.raw().as_mut(), ptr::null_mut()); ptr::NonNull::new_unchecked(ptr) @@ -178,7 +190,7 @@ impl Label { } } - pub fn set_align(&mut self, align: LabelAlign) { + pub fn set_label_align(&mut self, align: LabelAlign) { let align = match align { LabelAlign::Left => lvgl_sys::LV_LABEL_ALIGN_LEFT, LabelAlign::Center => lvgl_sys::LV_LABEL_ALIGN_CENTER, @@ -190,3 +202,39 @@ impl Label { } } } + +pub enum Themes { + Pretty, +} + +#[derive(Default)] +pub struct Style<'a> { + raw: Option, + pub text: TextStyle<'a>, +} + +#[derive(Default)] +pub struct TextStyle<'a> { + pub font: Option<&'a lvgl_sys::lv_font_t>, +} + +impl<'a> Style<'a> { + fn raw(&mut self) -> *const lvgl_sys::lv_style_t { + match self.raw { + Some(mut native_pointer) => unsafe { + &mut native_pointer + } + None => unsafe { + // TODO: Create the native struct and save to self + let mut native_style = mem::MaybeUninit::::uninit().assume_init(); + lvgl_sys::lv_style_copy(&mut native_style, &lvgl_sys::lv_style_pretty); + if let Some(text_font) = self.text.font { + native_style.text.font = text_font; + } + self.raw = Some(native_style); + &mut self.raw.unwrap() + } + } + } +} +