/******************************************************************************* * Size: 16 px * Bpp: 1 * Opts: --bpp 1 --size 16 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz --format lvgl -o notomedium16.c ******************************************************************************/ #ifdef LV_LVGL_H_INCLUDE_SIMPLE #include "lvgl.h" #else #include "lvgl/lvgl.h" #endif #ifndef NOTOMEDIUM16 #define NOTOMEDIUM16 1 #endif #if NOTOMEDIUM16 /*----------------- * BITMAPS *----------------*/ /*Store the image of the glyphs*/ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { /* U+002E "." */ 0xf0, /* U+0030 "0" */ 0x1c, 0x31, 0x98, 0xd8, 0x3c, 0x1e, 0xf, 0x7, 0x83, 0xc1, 0xb1, 0x98, 0xc7, 0xc0, /* U+0031 "1" */ 0xf8, 0xc6, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x30, /* U+0032 "2" */ 0x7c, 0xc6, 0x3, 0x3, 0x3, 0x7, 0xe, 0x1c, 0x38, 0x30, 0x60, 0xff, /* U+0033 "3" */ 0x7f, 0x1, 0x81, 0x80, 0x80, 0xc0, 0xf0, 0x1c, 0x3, 0x1, 0x80, 0xd0, 0xcf, 0xc0, /* U+0034 "4" */ 0x6, 0x3, 0x80, 0xc0, 0x60, 0x30, 0xc, 0xc6, 0x33, 0xc, 0xff, 0xc0, 0xc0, 0x30, 0xc, /* U+0035 "5" */ 0x3f, 0x30, 0x18, 0xc, 0x6, 0x3, 0xf0, 0xc, 0x3, 0x1, 0x80, 0xf0, 0xcf, 0xc0, /* U+0036 "6" */ 0x1f, 0x18, 0x98, 0x18, 0xc, 0x6, 0xf3, 0x8d, 0xc3, 0xc1, 0xb0, 0xd8, 0xc3, 0xc0, /* U+0037 "7" */ 0xff, 0xe0, 0xb0, 0xc0, 0x40, 0x60, 0x30, 0x10, 0x18, 0xc, 0x4, 0x6, 0x2, 0x0, /* U+0038 "8" */ 0x3e, 0x71, 0xb0, 0x78, 0x36, 0x31, 0xf1, 0x8d, 0x83, 0xc1, 0xe0, 0xd8, 0xc7, 0xc0, /* U+0039 "9" */ 0x3c, 0x31, 0xb0, 0x58, 0x3c, 0x1b, 0x1c, 0xf6, 0x3, 0x1, 0x81, 0x91, 0x8f, 0x80, /* U+0041 "A" */ 0x6, 0x0, 0xe0, 0xf, 0x0, 0x90, 0x19, 0x81, 0x18, 0x30, 0x83, 0xc, 0x7f, 0xc6, 0x6, 0x40, 0x6c, 0x3, /* U+0042 "B" */ 0xfe, 0x30, 0xcc, 0x1b, 0x6, 0xc1, 0xb0, 0xcf, 0xf3, 0x6, 0xc0, 0xf0, 0x3c, 0x1f, 0xfc, /* U+0043 "C" */ 0xf, 0x86, 0x19, 0x81, 0x70, 0xc, 0x1, 0x80, 0x30, 0x6, 0x0, 0xe0, 0xc, 0x8, 0xc3, 0x7, 0xc0, /* U+0044 "D" */ 0xff, 0x18, 0x33, 0x3, 0x60, 0x3c, 0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0x1b, 0x6, 0x7f, 0x80, /* U+0045 "E" */ 0xff, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0xfd, 0x80, 0xc0, 0x60, 0x30, 0x1f, 0xf0, /* U+0046 "F" */ 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, /* U+0047 "G" */ 0x1f, 0x8c, 0x36, 0x3, 0x0, 0xc0, 0x30, 0xc, 0xf, 0x3, 0xc0, 0xd8, 0x33, 0xc, 0x7e, /* U+0048 "H" */ 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3f, 0xff, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, /* U+0049 "I" */ 0xff, 0xff, 0xff, /* U+004A "J" */ 0x7e, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, 0xf, 0x33, 0xc0, /* U+004B "K" */ 0xc0, 0xb0, 0x6c, 0x33, 0x18, 0xcc, 0x36, 0xf, 0xc3, 0x98, 0xc7, 0x30, 0xcc, 0x1b, 0x3, /* U+004C "L" */ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, /* U+004D "M" */ 0xc0, 0x3c, 0x3, 0xe0, 0x7e, 0x7, 0xd0, 0xbd, 0x9b, 0xc9, 0x3c, 0xf3, 0xc6, 0x3c, 0x63, 0xc0, 0x3c, 0x3, /* U+004E "N" */ 0xc0, 0xf8, 0x3e, 0xf, 0xc3, 0xd8, 0xf3, 0x3c, 0xcf, 0x1b, 0xc3, 0xf0, 0x7c, 0x1f, 0x3, /* U+004F "O" */ 0xf, 0x83, 0xc, 0x60, 0x6c, 0x6, 0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x76, 0x6, 0x30, 0xc1, 0xf8, /* U+0050 "P" */ 0xfe, 0x61, 0xb0, 0x78, 0x3c, 0x1e, 0xf, 0xd, 0xfc, 0xc0, 0x60, 0x30, 0x18, 0x0, /* U+0051 "Q" */ 0xf, 0x83, 0xc, 0x60, 0x64, 0x6, 0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x76, 0x6, 0x30, 0xc1, 0xf8, 0x3, 0x10, 0xf, /* U+0052 "R" */ 0xfe, 0x61, 0xb0, 0x78, 0x3c, 0x1e, 0xf, 0xd, 0xfc, 0xc6, 0x61, 0x30, 0xd8, 0x30, /* U+0053 "S" */ 0x3f, 0x30, 0xb0, 0x18, 0xe, 0x3, 0xf0, 0xfc, 0x7, 0x1, 0x80, 0xf0, 0xcf, 0xc0, /* U+0054 "T" */ 0xff, 0x86, 0x3, 0x1, 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, /* U+0055 "U" */ 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xd0, 0x26, 0x18, 0xfc, /* U+0056 "V" */ 0xc0, 0x28, 0xd, 0x81, 0x30, 0x63, 0xc, 0x61, 0x4, 0x60, 0xc8, 0x1b, 0x1, 0xe0, 0x38, 0x3, 0x0, /* U+0057 "W" */ 0x81, 0x81, 0x60, 0xc1, 0xb0, 0x70, 0xc8, 0x78, 0x46, 0x24, 0x23, 0x13, 0x30, 0x99, 0x90, 0x48, 0x48, 0x34, 0x2c, 0x1e, 0x1e, 0x6, 0x6, 0x3, 0x3, 0x0, /* U+0058 "X" */ 0x60, 0xcc, 0x10, 0xc6, 0xd, 0x80, 0xe0, 0x1c, 0x3, 0x80, 0xd0, 0x13, 0x6, 0x31, 0x83, 0x20, 0x60, /* U+0059 "Y" */ 0xc0, 0x70, 0x36, 0x18, 0x84, 0x33, 0x6, 0x81, 0xe0, 0x30, 0xc, 0x3, 0x0, 0xc0, 0x30, /* U+005A "Z" */ 0xff, 0x81, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x1f, 0xf0, /* U+0061 "a" */ 0x7c, 0x46, 0x3, 0x3, 0x7f, 0xc3, 0xc3, 0xc7, 0x7b, /* U+0062 "b" */ 0xc0, 0x60, 0x30, 0x1b, 0xce, 0x36, 0xf, 0x7, 0x83, 0xc1, 0xe0, 0xf8, 0xdb, 0xc0, /* U+0063 "c" */ 0x3e, 0x63, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x63, 0x1e, /* U+0064 "d" */ 0x1, 0x80, 0xc0, 0x67, 0xb6, 0x3e, 0xf, 0x7, 0x83, 0xc1, 0xe0, 0xd8, 0xe7, 0xb0, /* U+0065 "e" */ 0x3c, 0x66, 0xc3, 0xc1, 0xff, 0xc0, 0xc0, 0x62, 0x3e, /* U+0066 "f" */ 0x3d, 0x86, 0x3e, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, /* U+0067 "g" */ 0x3d, 0xb1, 0xf0, 0x78, 0x3c, 0x1e, 0xf, 0x6, 0xc7, 0x3d, 0x80, 0xd0, 0xcf, 0xc0, /* U+0068 "h" */ 0xc0, 0xc0, 0xc0, 0xde, 0xe6, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, /* U+0069 "i" */ 0xf3, 0xff, 0xff, /* U+006A "j" */ 0x18, 0xc0, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x31, 0x8f, 0xc0, /* U+006B "k" */ 0xc0, 0x60, 0x30, 0x18, 0x6c, 0x66, 0x63, 0x61, 0xf8, 0xec, 0x63, 0x30, 0xd8, 0x20, /* U+006C "l" */ 0xff, 0xff, 0xff, /* U+006D "m" */ 0xde, 0xf3, 0x9e, 0x6c, 0x30, 0xf0, 0xc3, 0xc3, 0xf, 0xc, 0x3c, 0x30, 0xf0, 0xc3, 0xc3, 0xc, /* U+006E "n" */ 0xde, 0xe6, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, /* U+006F "o" */ 0x3e, 0x31, 0xb0, 0x78, 0x3c, 0x1e, 0xf, 0x6, 0xc6, 0x3e, 0x0, /* U+0070 "p" */ 0xde, 0x71, 0xb0, 0x78, 0x3c, 0x1e, 0xf, 0x7, 0xc6, 0xde, 0x60, 0x30, 0x18, 0x0, /* U+0071 "q" */ 0x3d, 0xb1, 0xf0, 0x78, 0x3c, 0x1e, 0xf, 0x6, 0xc7, 0x3d, 0x80, 0xc0, 0x60, 0x30, /* U+0072 "r" */ 0xdf, 0x31, 0x8c, 0x63, 0x18, 0xc0, /* U+0073 "s" */ 0x7d, 0x8b, 0x7, 0x7, 0xc3, 0xc1, 0xc3, 0xfc, /* U+0074 "t" */ 0x61, 0x8f, 0x98, 0x61, 0x86, 0x18, 0x61, 0x83, 0xc0, /* U+0075 "u" */ 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x67, 0x7b, /* U+0076 "v" */ 0xc1, 0xa0, 0x98, 0xcc, 0x62, 0x21, 0xb0, 0x50, 0x38, 0x18, 0x0, /* U+0077 "w" */ 0xc3, 0x5, 0xc, 0x34, 0x38, 0x99, 0xa2, 0x24, 0x98, 0x93, 0x43, 0xc5, 0x6, 0x1c, 0x18, 0x60, /* U+0078 "x" */ 0x43, 0x31, 0xd, 0x83, 0x81, 0x80, 0xe0, 0xd8, 0xc6, 0x43, 0x0, /* U+0079 "y" */ 0xc1, 0xa0, 0x98, 0xcc, 0x42, 0x21, 0xb0, 0x50, 0x38, 0x8, 0xc, 0x24, 0x1e, 0x0, /* U+007A "z" */ 0xfe, 0xc, 0x30, 0xc1, 0x6, 0x18, 0x60, 0xfe, /* U+00B0 "°" */ 0x76, 0xe3, 0x1d, 0xb8, /* U+00E9 "é" */ 0xc, 0x18, 0x0, 0x3c, 0x66, 0xc3, 0xc1, 0xff, 0xc0, 0xc0, 0x62, 0x3e }; /*--------------------- * 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 = 58, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 1, .adv_w = 171, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 15, .adv_w = 95, .box_w = 5, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 23, .adv_w = 147, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 35, .adv_w = 146, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 49, .adv_w = 171, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 64, .adv_w = 147, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 78, .adv_w = 158, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 92, .adv_w = 153, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 106, .adv_w = 165, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 120, .adv_w = 158, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 134, .adv_w = 187, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 152, .adv_w = 194, .box_w = 10, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 167, .adv_w = 185, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 184, .adv_w = 211, .box_w = 11, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 201, .adv_w = 172, .box_w = 9, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 215, .adv_w = 163, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 227, .adv_w = 198, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 242, .adv_w = 208, .box_w = 10, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 257, .adv_w = 79, .box_w = 2, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 260, .adv_w = 131, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 271, .adv_w = 184, .box_w = 10, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 286, .adv_w = 152, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 298, .adv_w = 244, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 316, .adv_w = 208, .box_w = 10, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 331, .adv_w = 215, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 349, .adv_w = 185, .box_w = 9, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 363, .adv_w = 215, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 384, .adv_w = 186, .box_w = 9, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 398, .adv_w = 159, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 412, .adv_w = 150, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 426, .adv_w = 202, .box_w = 10, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, {.bitmap_index = 441, .adv_w = 182, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 458, .adv_w = 288, .box_w = 17, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 484, .adv_w = 172, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 501, .adv_w = 166, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 516, .adv_w = 168, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 530, .adv_w = 153, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 539, .adv_w = 175, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 553, .adv_w = 146, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 562, .adv_w = 175, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 576, .adv_w = 157, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 585, .adv_w = 90, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 594, .adv_w = 177, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, {.bitmap_index = 608, .adv_w = 174, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 620, .adv_w = 71, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 623, .adv_w = 73, .box_w = 5, .box_h = 15, .ofs_x = -2, .ofs_y = -3}, {.bitmap_index = 633, .adv_w = 158, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 647, .adv_w = 71, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 650, .adv_w = 271, .box_w = 14, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 666, .adv_w = 174, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 675, .adv_w = 163, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 686, .adv_w = 175, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, {.bitmap_index = 700, .adv_w = 175, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, {.bitmap_index = 714, .adv_w = 105, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 720, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 728, .adv_w = 106, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 737, .adv_w = 173, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 746, .adv_w = 143, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 757, .adv_w = 230, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 773, .adv_w = 141, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 784, .adv_w = 143, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, {.bitmap_index = 798, .adv_w = 133, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, {.bitmap_index = 806, .adv_w = 107, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 6}, {.bitmap_index = 810, .adv_w = 157, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0} }; /*--------------------- * CHARACTER MAPPING *--------------------*/ static const uint8_t glyph_id_ofs_list_0[] = { 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; static const uint16_t unicode_list_3[] = { 0x0, 0x39 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { .range_start = 46, .range_length = 12, .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 12, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL }, { .range_start = 65, .range_length = 26, .glyph_id_start = 12, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { .range_start = 97, .range_length = 26, .glyph_id_start = 38, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { .range_start = 176, .range_length = 58, .glyph_id_start = 64, .unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; /*----------------- * KERNING *----------------*/ /*Map glyph_ids to kern left classes*/ static const uint8_t kern_left_class_mapping[] = { 0, 1, 2, 0, 3, 4, 5, 6, 7, 8, 9, 2, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 17, 17, 13, 21, 13, 22, 23, 24, 18, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 29, 35, 35, 36, 32, 29, 29, 30, 30, 37, 38, 39, 40, 35, 41, 41, 42, 41, 43, 44, 33 }; /*Map glyph_ids to kern right classes*/ static const uint8_t kern_right_class_mapping[] = { 0, 1, 2, 3, 4, 5, 6, 7, 2, 8, 9, 10, 11, 12, 13, 12, 12, 12, 13, 12, 12, 14, 12, 12, 12, 12, 13, 12, 13, 12, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 24, 24, 0, 24, 23, 25, 26, 23, 23, 27, 27, 24, 27, 24, 27, 28, 29, 30, 31, 31, 32, 31, 33, 34, 24 }; /*Kern values between classes*/ static const int8_t kern_class_values[] = { 0, -3, -3, 3, 3, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -3, 0, -1, -1, -3, 0, 0, -2, 0, 0, -2, 0, 0, -6, 0, -5, 0, -6, -8, -8, -5, 0, 0, 0, 0, -2, 0, 0, 3, 0, 2, -3, 0, 1, 3, -1, 0, 0, 0, -5, 0, -1, 0, 0, 1, 0, 0, 3, 0, -2, 0, -3, 0, -4, 0, 0, 0, -3, 0, 0, 0, 0, 0, -1, 1, -2, -2, 0, 0, 0, 0, -1, -1, 0, -3, -3, 0, 0, 1, 0, 0, 0, 0, -2, 0, -3, -3, -3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -2, -3, 0, -4, 5, 0, -6, -1, -3, 0, -1, -12, 3, -2, 0, 0, 3, 1, -2, -13, 0, -14, -2, -22, -2, 7, 0, 3, 0, 0, 0, 0, 1, 0, -5, -3, 0, -8, 0, 0, 0, -1, -1, 0, -1, -3, 0, 0, 0, 0, 0, -3, 0, -3, 0, -2, -3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, -3, 0, -3, -2, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, -4, 0, -5, -13, -5, 3, 0, -2, -17, -5, 0, -5, 0, -16, 0, -5, -7, -2, 0, 0, 1, -1, 2, -2, -10, 0, -13, -6, -5, -6, -8, -3, -7, -1, -5, -7, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -3, 0, -4, -6, -6, -1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 1, -2, 0, 0, 8, -2, -11, 0, 3, -4, 0, -13, -1, -3, 3, 0, -3, 4, 0, -9, -4, -9, -8, -11, 0, 0, 0, -1, 0, 0, 0, -1, -1, -3, -7, -8, -1, -24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -1, -3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -2, -1, -7, -3, 0, -3, -3, -4, 0, -4, 0, -1, -2, -1, -2, -4, -3, 0, -2, 0, -6, 0, 0, 0, -5, 0, -4, 0, -4, -4, 3, -5, 0, -3, -3, -3, 0, 0, 0, 0, 0, -3, 0, 0, -4, 0, -3, 0, -6, -6, -8, -2, 0, 0, 0, 0, 20, 0, 0, 1, 0, 0, -3, 0, 3, 3, -4, 0, -2, -3, -8, -2, -2, -2, -1, 0, 0, -1, 0, 0, 0, 0, -3, -2, -2, 0, -2, 0, -2, 0, 0, 0, -2, -3, -2, -2, -3, -2, 0, -3, -3, 4, 0, 0, -12, -4, 3, -4, 2, -8, 0, -2, -4, -1, 1, 0, 0, -4, 0, 0, -5, 0, -4, -3, -4, -3, -3, 0, -4, 1, -5, -4, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, -3, 0, 0, -3, -3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -2, 0, 0, 0, -6, 5, 1, -2, -12, 0, 0, -6, -3, -7, 0, -6, 0, -4, -11, -3, -10, -10, -12, 0, -3, 0, -6, -3, -1, -3, -4, -7, -5, -9, -10, -6, -3, 8, -6, -9, 0, 1, -8, 0, -13, -2, -3, 1, 0, -3, 0, -2, -17, -3, -13, -3, -19, 0, 1, 0, -2, 0, 0, 0, 0, -1, -2, -10, -2, 0, -17, -7, 0, 0, -1, -4, -8, -3, 0, -2, 0, -12, -3, 0, -8, 0, -8, -2, -4, -6, -3, -4, -4, 0, -3, -5, -3, -5, 0, 1, 0, -2, -8, 0, 5, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, -5, -3, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 5, 0, -3, 0, -2, 3, 0, -3, 0, -3, 0, 0, 0, 0, 0, -3, 0, 0, -3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, -4, -8, -5, 10, 5, 3, -22, -2, 5, -3, 0, -9, 0, -3, -3, -2, 3, -3, -2, -8, -2, 0, -7, 0, -14, -3, 7, -3, -10, 1, -3, -8, -8, -3, 10, -9, -6, 8, 0, 1, -19, -2, 3, -4, -2, -9, -4, -6, -4, -4, -2, 0, 0, -6, -5, -3, -14, 0, -14, -4, 0, -9, -15, -1, -8, -4, -8, -7, 7, 0, -8, 3, 0, 0, -14, 0, -3, -6, -4, -8, -6, -6, 0, -3, -8, -3, -6, -5, -8, -3, -4, 0, -8, -3, 0, -3, -5, -6, -7, -7, -10, -3, -5, -9, -8, 8, -3, 1, -24, -5, 5, -6, -4, -11, -3, -8, -3, -4, -2, -3, -5, -8, -1, 0, -17, 0, -15, -6, 6, -10, -17, -5, -9, -11, -13, -8, 5, 5, -5, 5, 0, 0, -8, -1, 0, -1, 0, 0, 0, -2, 0, 0, 0, 0, 0, -3, 0, 0, 1, 0, -3, 0, 0, 0, 0, -2, -2, -3, 0, 0, 0, 0, 0, -6, -1, 0, 0, 0, -6, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, -5, -3, 0, -7, -3, -6, 0, 0, -7, 0, -3, -3, 0, 0, 0, 0, -21, -5, -10, -3, -9, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -4, -5, -2, -4, 5, -2, -6, -2, -4, -5, 0, -3, -1, -2, 0, 0, -1, 0, 0, -23, -2, -4, 0, -6, 0, 0, -2, -2, 0, 0, 0, 0, 2, 0, -2, -4, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -7, -3, -5, 0, 0, -7, 0, -3, 0, 0, 0, 0, 0, -25, 0, -5, -9, -13, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, -3, -4, -1, -4, -3, 3, 13, 4, 6, -7, 3, 11, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, 20, 11, 20, 0, 0, 0, 3, 0, 0, 9, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -22, -3, -2, -10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 2, 5, 3, -8, 0, -1, -2, 3, 0, 0, 0, 0, 0, -6, 0, -2, -2, -5, 0, -3, 0, -6, -2, 0, -2, -4, 0, -3, -7, -5, -3, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -22, -3, -2, -10, -13, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, -3, 1, -2, 1, -2, -7, 1, 6, 1, 2, -10, -3, -6, 0, -4, -10, -5, -7, -11, -10, 0, -2, -2, -3, -2, 0, -2, -1, 4, 0, 4, -2, 0, 8, 0, 0, -2, -3, -3, 0, 0, -7, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, -3, 3, -4, -5, -2, 0, -7, -2, -6, -2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, -3, 0, -3, 0, 0, -1, -8, 2, 3, 3, -1, -7, 2, 4, 2, 8, -7, 0, -2, 0, -2, -10, 0, 0, -8, -7, 0, -4, 0, -4, 0, -4, 0, -2, 4, 0, -2, -8, -3, 9, 0, -3, 2, 0, 0, -8, 0, -2, -1, 0, 0, 0, -2, 0, -2, -10, -3, -6, 0, -8, 0, -3, 0, -5, 0, 2, 0, -3, 0, -3, -8, 0, -3, 3, 1, 0, -3, -2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 1, 0, -3, -3, 0, 0, -16, 1, 11, 8, 4, -10, 2, 11, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /*Collect the kern class' data in one place*/ static const lv_font_fmt_txt_kern_classes_t kern_classes = { .class_pair_values = kern_class_values, .left_class_mapping = kern_left_class_mapping, .right_class_mapping = kern_right_class_mapping, .left_class_cnt = 44, .right_class_cnt = 34, }; /*-------------------- * ALL CUSTOM DATA *--------------------*/ #if LVGL_VERSION_MAJOR == 8 /*Store all the custom data of the font*/ static lv_font_fmt_txt_glyph_cache_t cache; #endif #if LVGL_VERSION_MAJOR >= 8 static const lv_font_fmt_txt_dsc_t font_dsc = { #else static lv_font_fmt_txt_dsc_t font_dsc = { #endif .glyph_bitmap = glyph_bitmap, .glyph_dsc = glyph_dsc, .cmaps = cmaps, .kern_dsc = &kern_classes, .kern_scale = 16, .cmap_num = 4, .bpp = 1, .kern_classes = 1, .bitmap_format = 0, #if LVGL_VERSION_MAJOR == 8 .cache = &cache #endif }; /*----------------- * PUBLIC FONT *----------------*/ /*Initialize a public general font descriptor*/ #if LVGL_VERSION_MAJOR >= 8 const lv_font_t notomedium16 = { #else lv_font_t notomedium16 = { #endif .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 = 15, /*The maximum line height required by the font*/ .base_line = 3, /*Baseline measured from the bottom of the line*/ #if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) .subpx = LV_FONT_SUBPX_NONE, #endif #if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 .underline_position = -1, .underline_thickness = 1, #endif .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ #if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 .fallback = NULL, #endif .user_data = NULL, }; #endif /*#if NOTOMEDIUM16*/