Files
clawdmeter/firmware/src/font_styrene_12.c
T
Hermann Björgvin HaraldssonandClaude Opus 4.6 2611c70881 Initial commit: Claude Usage Tracker for Panlee SC01 Plus
Physical desk monitor that displays Claude Code usage limits (5-hour session
and 7-day weekly utilization) on an ESP32-S3 touchscreen via USB serial.

Firmware: LVGL 9 dashboard with LovyanGFX on SC01 Plus, Anthropic brand
colors and custom fonts (Tiempos, Styrene B, DejaVu Sans Mono), Claude
spinner animation with rotating status words.

Daemon: Pure bash script that reads the Claude Code OAuth token, makes a
minimal Haiku API call, extracts usage from rate-limit response headers,
and sends JSON to the ESP32 over serial. Uses inotifywait for instant
USB plug/unplug detection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 02:37:11 +00:00

1623 lines
40 KiB
C

/*******************************************************************************
* Size: 12 px
* Bpp: 4
* Opts: --font /home/hermann/Documents/Code/Personal/claude-usage-monitor-sc01-plus/assets/StyreneB-Regular.otf -r 0x20-0x7E --size 12 --format lvgl --bpp 4 --no-compress -o /home/hermann/Documents/Code/Personal/claude-usage-monitor-sc01-plus/firmware/src/font_styrene_12.c --lv-include lvgl.h
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl.h"
#endif
#ifndef FONT_STYRENE_12
#define FONT_STYRENE_12 1
#endif
#if FONT_STYRENE_12
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
/* U+0021 "!" */
0x88, 0x88, 0x88, 0x88, 0x88, 0x55, 0x77, 0xab,
/* U+0022 "\"" */
0xc3, 0x86, 0xc3, 0x86, 0xc3, 0x86, 0x71, 0x53,
/* U+0023 "#" */
0x0, 0x6, 0x80, 0x77, 0x0, 0x0, 0xb3, 0xc,
0x20, 0x9, 0xdf, 0xdd, 0xfd, 0x70, 0x5, 0x90,
0x68, 0x0, 0x0, 0xa4, 0xb, 0x30, 0x8, 0xdf,
0xdd, 0xfd, 0x80, 0x4, 0xa0, 0x59, 0x0, 0x0,
0x95, 0xa, 0x40, 0x0,
/* U+0024 "$" */
0x0, 0x4, 0x0, 0x0, 0x0, 0xd1, 0x0, 0x2,
0xaf, 0xc3, 0x0, 0xc8, 0x17, 0xe0, 0xf, 0x40,
0x6, 0x0, 0x9e, 0x61, 0x0, 0x0, 0x5c, 0xf6,
0x0, 0x0, 0x4, 0xf2, 0xf, 0x30, 0xf, 0x30,
0xad, 0x8b, 0xd0, 0x0, 0x5e, 0x70, 0x0, 0x0,
0xd1, 0x0,
/* U+0025 "%" */
0x6, 0xee, 0x60, 0x0, 0xd4, 0x0, 0xe, 0x11,
0xe1, 0x9, 0x80, 0x0, 0xe, 0x21, 0xe1, 0x5c,
0x0, 0x0, 0x5, 0xdd, 0x52, 0xd1, 0x0, 0x0,
0x0, 0x0, 0xd, 0x44, 0xcd, 0x70, 0x0, 0x0,
0x98, 0xe, 0x31, 0xd3, 0x0, 0x5, 0xb0, 0xe,
0x10, 0xc3, 0x0, 0x2d, 0x10, 0x4, 0xcc, 0x80,
/* U+0026 "&" */
0x0, 0x8d, 0xd6, 0x0, 0x0, 0x4, 0xe0, 0x3f,
0x0, 0x0, 0x1, 0xe5, 0x8b, 0x0, 0x0, 0x0,
0x9f, 0xb0, 0x6, 0x70, 0xb, 0xb3, 0xe6, 0x5e,
0x10, 0x3f, 0x10, 0x2e, 0xe2, 0x0, 0x2f, 0x20,
0x5e, 0xd7, 0x0, 0x6, 0xed, 0xb2, 0x1d, 0x70,
/* U+0027 "'" */
0xc3, 0xc3, 0xc3, 0x72,
/* U+0028 "(" */
0xb, 0x32, 0xc0, 0x87, 0xb, 0x30, 0xd1, 0xe,
0x10, 0xd1, 0xb, 0x30, 0x77, 0x2, 0xc0, 0xb,
0x30,
/* U+0029 ")" */
0xd, 0x10, 0x8, 0x70, 0x3, 0xc0, 0x0, 0xe0,
0x0, 0xd1, 0x0, 0xc2, 0x0, 0xd1, 0x0, 0xe0,
0x3, 0xc0, 0x8, 0x60, 0xd, 0x10,
/* U+002A "*" */
0x0, 0x84, 0x0, 0x39, 0xb9, 0xb0, 0x3, 0xec,
0x10, 0x9, 0x6a, 0x50, 0x2, 0x0, 0x10,
/* U+002B "+" */
0x0, 0x12, 0x0, 0x0, 0x5, 0x90, 0x0, 0x0,
0x59, 0x0, 0xe, 0xef, 0xfe, 0xe3, 0x0, 0x59,
0x0, 0x0, 0x5, 0x90, 0x0, 0x0, 0x59, 0x0,
0x0,
/* U+002C "," */
0xa, 0x40, 0xe7, 0x6, 0x60, 0x93, 0xd, 0x0,
/* U+002D "-" */
0xee, 0xed, 0x11, 0x11,
/* U+002E "." */
0xa4, 0xe7,
/* U+002F "/" */
0x0, 0xa, 0x40, 0x0, 0xe0, 0x0, 0x4b, 0x0,
0x9, 0x60, 0x0, 0xe1, 0x0, 0x3c, 0x0, 0x7,
0x70, 0x0, 0xc2, 0x0, 0x1d, 0x0, 0x6, 0x90,
0x0,
/* U+0030 "0" */
0x8, 0xef, 0xb2, 0x7, 0xd2, 0x1a, 0xc0, 0xc7,
0x0, 0x2f, 0x1d, 0x50, 0x0, 0xf1, 0xd5, 0x0,
0xf, 0x1c, 0x70, 0x2, 0xf1, 0x8d, 0x21, 0xac,
0x0, 0x9e, 0xfb, 0x20,
/* U+0031 "1" */
0x2, 0xbd, 0x4d, 0x9d, 0x10, 0x4d, 0x0, 0x4d,
0x0, 0x4d, 0x0, 0x4d, 0x0, 0x4d, 0x0, 0x4d,
/* U+0032 "2" */
0x2, 0xcf, 0xd5, 0x0, 0xd9, 0x25, 0xf2, 0xf,
0x10, 0xd, 0x50, 0x0, 0x2, 0xf2, 0x0, 0x2,
0xe5, 0x0, 0x3, 0xe5, 0x0, 0x4, 0xe5, 0x0,
0x1, 0xff, 0xff, 0xfe,
/* U+0033 "3" */
0x2, 0xbf, 0xe9, 0x0, 0xd9, 0x13, 0xe7, 0x0,
0x0, 0x1d, 0x50, 0x8, 0xef, 0xb0, 0x0, 0x11,
0x4d, 0x80, 0x50, 0x0, 0x6c, 0xe, 0x92, 0x3c,
0x90, 0x3b, 0xfe, 0x90,
/* U+0034 "4" */
0x0, 0x0, 0xbf, 0x0, 0x0, 0xb, 0x9f, 0x0,
0x0, 0xa8, 0x2f, 0x0, 0x9, 0x80, 0x2f, 0x0,
0x6f, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x2f, 0x0,
0x0, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x2f, 0x0,
/* U+0035 "5" */
0x9, 0xff, 0xff, 0x90, 0x97, 0x0, 0x0, 0x9,
0xbc, 0xd8, 0x0, 0x9b, 0x35, 0xd8, 0x0, 0x0,
0x6, 0xd0, 0x82, 0x0, 0x5d, 0xb, 0xb2, 0x2c,
0x80, 0x1a, 0xee, 0x90,
/* U+0036 "6" */
0x0, 0x3, 0xd2, 0x0, 0x1, 0xb1, 0x0, 0x0,
0xce, 0xea, 0x10, 0x8a, 0x11, 0xc9, 0xe, 0x10,
0x5, 0xe1, 0xf3, 0x0, 0x5e, 0xd, 0xb2, 0x2c,
0x80, 0x2b, 0xee, 0x80,
/* U+0037 "7" */
0x3f, 0xff, 0xff, 0xb0, 0x0, 0x0, 0xd5, 0x0,
0x0, 0x7c, 0x0, 0x0, 0x1e, 0x30, 0x0, 0xa,
0x90, 0x0, 0x3, 0xe1, 0x0, 0x0, 0xd6, 0x0,
0x0, 0x6d, 0x0, 0x0,
/* U+0038 "8" */
0x2, 0xbf, 0xfc, 0x20, 0xc, 0xa1, 0x19, 0xc0,
0xa, 0x90, 0x8, 0xa0, 0x1, 0xdf, 0xfe, 0x10,
0xa, 0xb3, 0x3a, 0xb0, 0xf, 0x40, 0x3, 0xf0,
0xd, 0xa1, 0x1a, 0xd0, 0x2, 0xbf, 0xfb, 0x20,
/* U+0039 "9" */
0x2, 0xbe, 0xea, 0x10, 0xda, 0x23, 0xca, 0x1f,
0x20, 0x4, 0xe0, 0xe9, 0x12, 0xac, 0x3, 0xcf,
0xef, 0x60, 0x0, 0xd, 0xa0, 0x0, 0x9, 0xc0,
0x0, 0x6, 0xe1, 0x0,
/* U+003A ":" */
0xe8, 0x95, 0x0, 0x0, 0x95, 0xe8,
/* U+003B ";" */
0xe, 0x80, 0x95, 0x0, 0x0, 0x0, 0x9, 0x50,
0xe8, 0x5, 0x70, 0x84, 0xd, 0x0,
/* U+003C "<" */
0x0, 0x0, 0x1, 0x0, 0x6, 0xd7, 0x28, 0xe9,
0x30, 0xfc, 0x10, 0x0, 0x28, 0xe9, 0x20, 0x0,
0x6, 0xd7, 0x0, 0x0, 0x1,
/* U+003D "=" */
0xde, 0xee, 0xee, 0x50, 0x0, 0x0, 0x0, 0xde,
0xee, 0xee, 0x50,
/* U+003E ">" */
0x10, 0x0, 0x0, 0xcb, 0x40, 0x0, 0x4, 0xbd,
0x60, 0x0, 0x4, 0xfa, 0x5, 0xbd, 0x60, 0xcb,
0x40, 0x0, 0x10, 0x0, 0x0,
/* U+003F "?" */
0x4, 0xdf, 0xc2, 0xe, 0x60, 0x9b, 0x9, 0x0,
0x7a, 0x0, 0x7, 0xd2, 0x0, 0xba, 0x10, 0x0,
0x50, 0x0, 0x1, 0xa2, 0x0, 0x2, 0xf3, 0x0,
/* U+0040 "@" */
0x0, 0x2, 0xad, 0xdc, 0x92, 0x0, 0x0, 0x7d,
0x40, 0x0, 0x5d, 0x50, 0x3, 0xd0, 0x0, 0x0,
0x2, 0xd1, 0xc, 0x40, 0x5e, 0xd9, 0xb0, 0x95,
0xf, 0x1, 0xf4, 0x1e, 0x80, 0x77, 0x2d, 0x4,
0xd0, 0xb, 0x50, 0x96, 0xf, 0x2, 0xf2, 0x2f,
0x43, 0xe1, 0xc, 0x40, 0x6d, 0xb6, 0xdc, 0x30,
0x4, 0xd0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x7d,
0x51, 0x0, 0x4c, 0x80, 0x0, 0x2, 0x9c, 0xdd,
0xa3, 0x0,
/* U+0041 "A" */
0x0, 0x4, 0xf3, 0x0, 0x0, 0x0, 0xbd, 0xa0,
0x0, 0x0, 0x2e, 0x2f, 0x10, 0x0, 0x9, 0x80,
0xa8, 0x0, 0x1, 0xf1, 0x3, 0xe0, 0x0, 0x7f,
0xee, 0xef, 0x60, 0xe, 0x41, 0x11, 0x6d, 0x6,
0xc0, 0x0, 0x0, 0xe4,
/* U+0042 "B" */
0xaf, 0xff, 0xfd, 0x40, 0xa7, 0x0, 0x19, 0xd0,
0xa7, 0x0, 0x7, 0xc0, 0xaf, 0xee, 0xfe, 0x20,
0xa8, 0x11, 0x3a, 0xc0, 0xa7, 0x0, 0x2, 0xf1,
0xa7, 0x0, 0x29, 0xe0, 0xaf, 0xff, 0xfc, 0x30,
/* U+0043 "C" */
0x0, 0x4c, 0xfd, 0x70, 0x5, 0xf6, 0x24, 0xd9,
0xd, 0x70, 0x0, 0x26, 0xf, 0x20, 0x0, 0x0,
0xf, 0x20, 0x0, 0x0, 0xd, 0x70, 0x0, 0x26,
0x5, 0xf6, 0x24, 0xd8, 0x0, 0x4c, 0xfd, 0x70,
/* U+0044 "D" */
0xaf, 0xff, 0xc6, 0x0, 0xa8, 0x1, 0x4d, 0x90,
0xa7, 0x0, 0x2, 0xf3, 0xa7, 0x0, 0x0, 0xc6,
0xa7, 0x0, 0x0, 0xc6, 0xa7, 0x0, 0x2, 0xf3,
0xa8, 0x1, 0x5d, 0x90, 0xaf, 0xff, 0xc6, 0x0,
/* U+0045 "E" */
0xaf, 0xff, 0xff, 0x6a, 0x80, 0x0, 0x0, 0xa7,
0x0, 0x0, 0xa, 0xfe, 0xe6, 0x0, 0xa8, 0x11,
0x0, 0xa, 0x70, 0x0, 0x0, 0xa8, 0x0, 0x0,
0xa, 0xff, 0xff, 0xfe,
/* U+0046 "F" */
0xaf, 0xff, 0xff, 0xca, 0x81, 0x11, 0x10, 0xa7,
0x0, 0x0, 0xa, 0xfe, 0xe8, 0x0, 0xa8, 0x11,
0x10, 0xa, 0x70, 0x0, 0x0, 0xa7, 0x0, 0x0,
0xa, 0x70, 0x0, 0x0,
/* U+0047 "G" */
0x0, 0x3b, 0xfd, 0x90, 0x0, 0x4f, 0x62, 0x4b,
0xb0, 0xd, 0x70, 0x0, 0x2, 0x0, 0xf2, 0x9,
0xee, 0xe3, 0xf, 0x20, 0x11, 0x1d, 0x30, 0xd7,
0x0, 0x0, 0xd3, 0x4, 0xf7, 0x22, 0x5e, 0x30,
0x3, 0xbe, 0xeb, 0x50,
/* U+0048 "H" */
0xa7, 0x0, 0x0, 0xc5, 0xa7, 0x0, 0x0, 0xc5,
0xa7, 0x0, 0x0, 0xc5, 0xaf, 0xee, 0xee, 0xf5,
0xa8, 0x11, 0x11, 0xd5, 0xa7, 0x0, 0x0, 0xc5,
0xa7, 0x0, 0x0, 0xc5, 0xa7, 0x0, 0x0, 0xc5,
/* U+0049 "I" */
0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7,
/* U+004A "J" */
0x0, 0x0, 0xc5, 0x0, 0x0, 0xc5, 0x0, 0x0,
0xc5, 0xa2, 0x0, 0xc5, 0xe3, 0x0, 0xc5, 0xe4,
0x0, 0xd5, 0xbb, 0x26, 0xf2, 0x2b, 0xfd, 0x60,
/* U+004B "K" */
0xa7, 0x0, 0x1c, 0xb0, 0xa7, 0x2, 0xd9, 0x0,
0xa7, 0x3e, 0x60, 0x0, 0xac, 0xe4, 0x0, 0x0,
0xab, 0xf7, 0x0, 0x0, 0xa7, 0x3e, 0x90, 0x0,
0xa7, 0x1, 0xcb, 0x10, 0xa7, 0x0, 0xa, 0xd2,
/* U+004C "L" */
0xa7, 0x0, 0x0, 0xa, 0x70, 0x0, 0x0, 0xa7,
0x0, 0x0, 0xa, 0x70, 0x0, 0x0, 0xa7, 0x0,
0x0, 0xa, 0x70, 0x0, 0x0, 0xa8, 0x11, 0x11,
0xa, 0xff, 0xff, 0xfa,
/* U+004D "M" */
0xaf, 0x40, 0x0, 0xd, 0xf1, 0xad, 0xb0, 0x0,
0x4c, 0xf1, 0xa7, 0xf2, 0x0, 0xa6, 0xf1, 0xa6,
0x98, 0x1, 0xe0, 0xf1, 0xa6, 0x2e, 0x7, 0x80,
0xf1, 0xa6, 0xc, 0x6e, 0x20, 0xf1, 0xa6, 0x5,
0xfb, 0x0, 0xf1, 0xa6, 0x0, 0xe4, 0x0, 0xf1,
/* U+004E "N" */
0xaf, 0x20, 0x0, 0xa6, 0xad, 0xd0, 0x0, 0xa6,
0xa7, 0xb9, 0x0, 0xa6, 0xa6, 0x1d, 0x50, 0xa6,
0xa6, 0x3, 0xe2, 0xa6, 0xa6, 0x0, 0x6d, 0xb6,
0xa6, 0x0, 0x9, 0xf6, 0xa6, 0x0, 0x0, 0xc6,
/* U+004F "O" */
0x0, 0x4c, 0xfd, 0x80, 0x0, 0x5f, 0x61, 0x3c,
0xa0, 0xd, 0x60, 0x0, 0x1f, 0x30, 0xf2, 0x0,
0x0, 0xc6, 0xf, 0x20, 0x0, 0xc, 0x60, 0xd6,
0x0, 0x1, 0xf3, 0x5, 0xf6, 0x13, 0xca, 0x0,
0x4, 0xcf, 0xd8, 0x0,
/* U+0050 "P" */
0xaf, 0xff, 0xfc, 0x3a, 0x80, 0x2, 0xad, 0xa7,
0x0, 0x8, 0xda, 0xfe, 0xef, 0xe4, 0xa8, 0x11,
0x10, 0xa, 0x70, 0x0, 0x0, 0xa7, 0x0, 0x0,
0xa, 0x70, 0x0, 0x0,
/* U+0051 "Q" */
0x0, 0x4c, 0xfd, 0x80, 0x0, 0x5f, 0x61, 0x3c,
0xb0, 0xd, 0x60, 0x0, 0x1f, 0x30, 0xf2, 0x0,
0x0, 0xc6, 0xf, 0x20, 0x0, 0xc, 0x70, 0xd6,
0x0, 0x1, 0xf3, 0x5, 0xf6, 0x13, 0xcb, 0x0,
0x4, 0xcf, 0xfa, 0x0, 0x0, 0x0, 0x7, 0xe3,
0x0, 0x0, 0x0, 0x4, 0x70,
/* U+0052 "R" */
0xaf, 0xff, 0xfc, 0x30, 0xa8, 0x0, 0x2a, 0xd0,
0xa7, 0x0, 0x8, 0xc0, 0xaf, 0xee, 0xfd, 0x40,
0xa8, 0x12, 0xe6, 0x0, 0xa7, 0x0, 0x5e, 0x0,
0xa7, 0x0, 0xc, 0x80, 0xa7, 0x0, 0x3, 0xf1,
/* U+0053 "S" */
0x3, 0xbf, 0xeb, 0x30, 0xe, 0x92, 0x17, 0xf2,
0xf, 0x40, 0x0, 0x0, 0x6, 0xdc, 0x95, 0x0,
0x0, 0x2, 0x59, 0xe3, 0x15, 0x0, 0x0, 0xb8,
0xd, 0xa3, 0x15, 0xe5, 0x1, 0x9d, 0xfd, 0x70,
/* U+0054 "T" */
0x8f, 0xff, 0xff, 0xff, 0x30, 0x0, 0x4e, 0x0,
0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x0, 0x3e,
0x0, 0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x0,
0x3e, 0x0, 0x0, 0x0, 0x3, 0xe0, 0x0, 0x0,
0x0, 0x3e, 0x0, 0x0,
/* U+0055 "U" */
0xb7, 0x0, 0x0, 0xe3, 0xb7, 0x0, 0x0, 0xe3,
0xb7, 0x0, 0x0, 0xe3, 0xb7, 0x0, 0x0, 0xe3,
0xb7, 0x0, 0x0, 0xe3, 0x99, 0x0, 0x1, 0xf1,
0x3f, 0x62, 0x3c, 0xb0, 0x4, 0xcf, 0xe9, 0x10,
/* U+0056 "V" */
0x5e, 0x0, 0x0, 0xf, 0x30, 0xe5, 0x0, 0x6,
0xc0, 0x7, 0xc0, 0x0, 0xd5, 0x0, 0x1f, 0x30,
0x3e, 0x0, 0x0, 0x99, 0xa, 0x70, 0x0, 0x2,
0xf2, 0xf1, 0x0, 0x0, 0xb, 0xea, 0x0, 0x0,
0x0, 0x4f, 0x30, 0x0,
/* U+0057 "W" */
0x5e, 0x0, 0x6, 0xf0, 0x0, 0x4c, 0xf, 0x30,
0xb, 0xf5, 0x0, 0x97, 0xa, 0x80, 0x1f, 0x8a,
0x0, 0xe2, 0x5, 0xd0, 0x6a, 0x2f, 0x3, 0xd0,
0x0, 0xf3, 0xb5, 0xc, 0x58, 0x80, 0x0, 0xa9,
0xf0, 0x7, 0xad, 0x30, 0x0, 0x5f, 0xa0, 0x1,
0xfe, 0x0, 0x0, 0xf, 0x50, 0x0, 0xc9, 0x0,
/* U+0058 "X" */
0xc, 0xa0, 0x0, 0x3f, 0x30, 0x1, 0xe8, 0x2,
0xe5, 0x0, 0x0, 0x3f, 0x6d, 0x70, 0x0, 0x0,
0x5, 0xfa, 0x0, 0x0, 0x0, 0xa, 0xee, 0x20,
0x0, 0x0, 0x7d, 0x19, 0xd0, 0x0, 0x5, 0xe2,
0x0, 0xbb, 0x0, 0x3f, 0x40, 0x0, 0xd, 0x90,
/* U+0059 "Y" */
0x7e, 0x10, 0x0, 0x9b, 0x0, 0xba, 0x0, 0x4e,
0x10, 0x1, 0xe5, 0x1e, 0x50, 0x0, 0x5, 0xeb,
0x90, 0x0, 0x0, 0xa, 0xe0, 0x0, 0x0, 0x0,
0x6b, 0x0, 0x0, 0x0, 0x6, 0xb0, 0x0, 0x0,
0x0, 0x6b, 0x0, 0x0,
/* U+005A "Z" */
0x3f, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x1a, 0xc0,
0x0, 0x0, 0x6d, 0x10, 0x0, 0x4, 0xe2, 0x0,
0x0, 0x2e, 0x50, 0x0, 0x0, 0xd7, 0x0, 0x0,
0xa, 0xb1, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff,
/* U+005B "[" */
0x9c, 0xc3, 0xa3, 0x0, 0xa3, 0x0, 0xa3, 0x0,
0xa3, 0x0, 0xa3, 0x0, 0xa3, 0x0, 0xa3, 0x0,
0xa3, 0x0, 0xa3, 0x0, 0x9d, 0xc3,
/* U+005C "\\" */
0x5a, 0x0, 0x0, 0xe0, 0x0, 0xb, 0x30, 0x0,
0x68, 0x0, 0x1, 0xd0, 0x0, 0xd, 0x20, 0x0,
0x87, 0x0, 0x3, 0xc0, 0x0, 0xe, 0x10, 0x0,
0x96,
/* U+005D "]" */
0x8c, 0xd3, 0x0, 0xa3, 0x0, 0xa3, 0x0, 0xa3,
0x0, 0xa3, 0x0, 0xa3, 0x0, 0xa3, 0x0, 0xa3,
0x0, 0xa3, 0x0, 0xa3, 0x9c, 0xe3,
/* U+005E "^" */
0x0, 0x7, 0x0, 0x0, 0x6, 0xf6, 0x0, 0x0,
0xd8, 0xd0, 0x0, 0x4c, 0xd, 0x40, 0xb, 0x50,
0x6b, 0x2, 0xe0, 0x0, 0xe3,
/* U+005F "_" */
0x6e, 0xee, 0xee, 0xd0,
/* U+0060 "`" */
0x4d, 0x0, 0xa7,
/* U+0061 "a" */
0x3, 0xdd, 0x8f, 0x10, 0xe6, 0x7, 0xf1, 0x2f,
0x0, 0x1f, 0x12, 0xf0, 0x1, 0xf1, 0xe, 0x50,
0x7f, 0x10, 0x3d, 0xd8, 0xf1,
/* U+0062 "b" */
0xe2, 0x0, 0x0, 0xe2, 0x0, 0x0, 0xe2, 0x0,
0x0, 0xe7, 0xde, 0x70, 0xeb, 0x13, 0xf3, 0xe4,
0x0, 0xa8, 0xe4, 0x0, 0xa8, 0xeb, 0x13, 0xf3,
0xe8, 0xde, 0x70,
/* U+0063 "c" */
0x2, 0xcf, 0xb2, 0xd, 0x71, 0x8a, 0x3f, 0x0,
0x0, 0x3f, 0x0, 0x0, 0xd, 0x70, 0x7a, 0x2,
0xcf, 0xb2,
/* U+0064 "d" */
0x0, 0x0, 0xd, 0x30, 0x0, 0x0, 0xd3, 0x0,
0x0, 0xd, 0x30, 0x3c, 0xe8, 0xd3, 0xe, 0x70,
0x7f, 0x32, 0xf0, 0x0, 0xf3, 0x2f, 0x0, 0xe,
0x30, 0xe6, 0x5, 0xf3, 0x3, 0xcd, 0x9d, 0x30,
/* U+0065 "e" */
0x3, 0xce, 0xb2, 0x0, 0xe4, 0x7, 0xc0, 0x3f,
0xdd, 0xde, 0x3, 0xf0, 0x0, 0x0, 0xd, 0x70,
0x4a, 0x0, 0x2c, 0xfd, 0x30,
/* U+0066 "f" */
0x0, 0x6e, 0xff, 0x0, 0xf, 0x40, 0x0, 0x1,
0xf0, 0x0, 0x9, 0xff, 0xff, 0x0, 0x1, 0xf0,
0x0, 0x0, 0x1f, 0x0, 0x0, 0x1, 0xf0, 0x0,
0x0, 0x1f, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x0,
/* U+0067 "g" */
0x3, 0xcd, 0x8e, 0x20, 0xe6, 0x6, 0xf2, 0x2f,
0x0, 0xf, 0x22, 0xf1, 0x1, 0xf2, 0xe, 0x80,
0x8f, 0x20, 0x3d, 0xe7, 0xe2, 0x0, 0x0, 0x1f,
0x10, 0xa4, 0x7, 0xd0, 0x5, 0xdf, 0xc3, 0x0,
/* U+0068 "h" */
0xe3, 0x0, 0x0, 0xe3, 0x0, 0x0, 0xe3, 0x0,
0x0, 0xe7, 0xde, 0x50, 0xeb, 0x16, 0xf1, 0xe4,
0x0, 0xe3, 0xe3, 0x0, 0xd3, 0xe3, 0x0, 0xd3,
0xe3, 0x0, 0xd3,
/* U+0069 "i" */
0xe3, 0x92, 0x0, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
0xe3,
/* U+006A "j" */
0x0, 0xe, 0x30, 0x0, 0x92, 0x0, 0x0, 0x0,
0x0, 0xd3, 0x0, 0xd, 0x30, 0x0, 0xd3, 0x0,
0xd, 0x30, 0x0, 0xd3, 0x0, 0xd, 0x30, 0x0,
0xe3, 0x0, 0x2f, 0x22, 0xff, 0x90,
/* U+006B "k" */
0xe2, 0x0, 0x0, 0xe2, 0x0, 0x0, 0xe2, 0x0,
0x0, 0xe2, 0x9, 0xc1, 0xe2, 0xab, 0x0, 0xed,
0xb0, 0x0, 0xea, 0xe2, 0x0, 0xe2, 0x7e, 0x20,
0xe2, 0x6, 0xe2,
/* U+006C "l" */
0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3,
0xd3,
/* U+006D "m" */
0xe8, 0xdd, 0x46, 0xed, 0x40, 0xea, 0x17, 0xfa,
0x17, 0xf0, 0xe4, 0x0, 0xf3, 0x0, 0xf2, 0xe3,
0x0, 0xe2, 0x0, 0xe2, 0xe3, 0x0, 0xe2, 0x0,
0xe2, 0xe3, 0x0, 0xe2, 0x0, 0xe2,
/* U+006E "n" */
0xe7, 0xde, 0x60, 0xeb, 0x16, 0xf1, 0xe4, 0x0,
0xe3, 0xe3, 0x0, 0xd3, 0xe3, 0x0, 0xd3, 0xe3,
0x0, 0xd3,
/* U+006F "o" */
0x2, 0xcf, 0xc2, 0x0, 0xd7, 0x7, 0xd0, 0x3f,
0x0, 0xf, 0x33, 0xf0, 0x0, 0xf3, 0xd, 0x70,
0x7d, 0x0, 0x2c, 0xfc, 0x20,
/* U+0070 "p" */
0xe7, 0xde, 0x70, 0xeb, 0x13, 0xf3, 0xe4, 0x0,
0xa8, 0xe4, 0x0, 0xa8, 0xeb, 0x13, 0xf3, 0xe8,
0xde, 0x70, 0xe2, 0x0, 0x0, 0xe2, 0x0, 0x0,
0xe2, 0x0, 0x0,
/* U+0071 "q" */
0x3, 0xcd, 0x9d, 0x30, 0xe6, 0x5, 0xf3, 0x2f,
0x0, 0xe, 0x32, 0xf0, 0x0, 0xf3, 0xe, 0x70,
0x7f, 0x30, 0x3c, 0xe8, 0xd3, 0x0, 0x0, 0xd,
0x30, 0x0, 0x0, 0xd3, 0x0, 0x0, 0xd, 0x30,
/* U+0072 "r" */
0xe8, 0xef, 0x5e, 0xb2, 0x10, 0xe4, 0x0, 0xe,
0x30, 0x0, 0xe3, 0x0, 0xe, 0x30, 0x0,
/* U+0073 "s" */
0x7, 0xde, 0xa1, 0x2f, 0x10, 0x64, 0xd, 0xb8,
0x40, 0x0, 0x47, 0xd8, 0x2b, 0x20, 0x8b, 0x6,
0xdf, 0xc3,
/* U+0074 "t" */
0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x9f, 0xff,
0xf2, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1,
0xf0, 0x0, 0x0, 0xe4, 0x0, 0x0, 0x6d, 0xf2,
/* U+0075 "u" */
0xe2, 0x0, 0xf1, 0xe2, 0x0, 0xf1, 0xe2, 0x0,
0xf1, 0xe3, 0x0, 0xf1, 0xba, 0x27, 0xe0, 0x2c,
0xfd, 0x30,
/* U+0076 "v" */
0x8b, 0x0, 0x3e, 0x1, 0xf1, 0x9, 0x80, 0xa,
0x70, 0xe1, 0x0, 0x4d, 0x6b, 0x0, 0x0, 0xde,
0x40, 0x0, 0x7, 0xe0, 0x0,
/* U+0077 "w" */
0x7a, 0x0, 0xb9, 0x0, 0xd3, 0x2f, 0x1, 0xee,
0x3, 0xd0, 0xc, 0x56, 0x8c, 0x48, 0x80, 0x7,
0xac, 0x37, 0x9d, 0x30, 0x2, 0xfd, 0x1, 0xfd,
0x0, 0x0, 0xc8, 0x0, 0xc8, 0x0,
/* U+0078 "x" */
0x5e, 0x20, 0x5d, 0x10, 0x8c, 0x3e, 0x30, 0x0,
0xbf, 0x50, 0x0, 0xb, 0xf6, 0x0, 0x8, 0xc3,
0xf3, 0x5, 0xe1, 0x6, 0xe1,
/* U+0079 "y" */
0x8a, 0x0, 0x3e, 0x2, 0xf1, 0x8, 0x80, 0xb,
0x60, 0xe2, 0x0, 0x5c, 0x4c, 0x0, 0x0, 0xed,
0x60, 0x0, 0x9, 0xf1, 0x0, 0x0, 0x7a, 0x0,
0x0, 0xc, 0x40, 0x0, 0x2, 0xe0, 0x0, 0x0,
/* U+007A "z" */
0x4f, 0xff, 0xfb, 0x0, 0x0, 0x4e, 0x20, 0x0,
0x2e, 0x40, 0x0, 0xc, 0x70, 0x0, 0xa, 0xa0,
0x0, 0x4, 0xff, 0xff, 0xf2,
/* U+007B "{" */
0x2, 0xac, 0x60, 0x88, 0x0, 0x7, 0x70, 0x0,
0x59, 0x0, 0x5, 0x90, 0x6, 0xf3, 0x0, 0x5,
0x90, 0x0, 0x59, 0x0, 0x7, 0x70, 0x0, 0x88,
0x0, 0x2, 0xad, 0x60,
/* U+007C "|" */
0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
0x86, 0x86, 0x86,
/* U+007D "}" */
0x8c, 0x90, 0x0, 0xb, 0x50, 0x0, 0xa4, 0x0,
0xc, 0x20, 0x0, 0xc2, 0x0, 0x5, 0xf4, 0x0,
0xc2, 0x0, 0xc, 0x20, 0x0, 0xa4, 0x0, 0xb,
0x50, 0x9d, 0x90, 0x0,
/* U+007E "~" */
0x5d, 0x90, 0x7, 0x7c, 0x5b, 0x80, 0x88, 0xe2,
0x1e, 0x49, 0x7e, 0x20, 0x4f, 0xe2, 0x10, 0x0,
0x0, 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 = 51, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 0, .adv_w = 65, .box_w = 2, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 8, .adv_w = 90, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 16, .adv_w = 142, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 52, .adv_w = 115, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 94, .adv_w = 195, .box_w = 12, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 142, .adv_w = 150, .box_w = 10, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 182, .adv_w = 55, .box_w = 2, .box_h = 4, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 186, .adv_w = 68, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 203, .adv_w = 68, .box_w = 4, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 225, .adv_w = 92, .box_w = 6, .box_h = 5, .ofs_x = 0, .ofs_y = 4},
{.bitmap_index = 240, .adv_w = 132, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 265, .adv_w = 56, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 273, .adv_w = 95, .box_w = 4, .box_h = 2, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 277, .adv_w = 56, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 279, .adv_w = 79, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 304, .adv_w = 133, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 332, .adv_w = 85, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 348, .adv_w = 119, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 376, .adv_w = 123, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 404, .adv_w = 132, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 436, .adv_w = 125, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 464, .adv_w = 126, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 492, .adv_w = 119, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 520, .adv_w = 129, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 552, .adv_w = 126, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 580, .adv_w = 58, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 586, .adv_w = 58, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 600, .adv_w = 123, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 621, .adv_w = 135, .box_w = 7, .box_h = 3, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 632, .adv_w = 123, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 653, .adv_w = 104, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 677, .adv_w = 198, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 743, .adv_w = 143, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 779, .adv_w = 144, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 811, .adv_w = 140, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 843, .adv_w = 150, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 875, .adv_w = 134, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 903, .adv_w = 132, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 931, .adv_w = 149, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 967, .adv_w = 155, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 999, .adv_w = 61, .box_w = 2, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1007, .adv_w = 122, .box_w = 6, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1031, .adv_w = 139, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1063, .adv_w = 130, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1091, .adv_w = 183, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1131, .adv_w = 156, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1163, .adv_w = 150, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1199, .adv_w = 139, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1227, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1272, .adv_w = 144, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1304, .adv_w = 135, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1336, .adv_w = 139, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1372, .adv_w = 152, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1404, .adv_w = 142, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1440, .adv_w = 200, .box_w = 12, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1488, .adv_w = 151, .box_w = 10, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1528, .adv_w = 132, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1564, .adv_w = 136, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1596, .adv_w = 73, .box_w = 4, .box_h = 11, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 1618, .adv_w = 79, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1643, .adv_w = 73, .box_w = 4, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1665, .adv_w = 112, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 3},
{.bitmap_index = 1686, .adv_w = 120, .box_w = 7, .box_h = 1, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1690, .adv_w = 115, .box_w = 3, .box_h = 2, .ofs_x = 2, .ofs_y = 7},
{.bitmap_index = 1693, .adv_w = 115, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1714, .adv_w = 117, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1741, .adv_w = 104, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1759, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1791, .adv_w = 109, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1812, .adv_w = 87, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1844, .adv_w = 117, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 1876, .adv_w = 117, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1903, .adv_w = 53, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1912, .adv_w = 53, .box_w = 5, .box_h = 12, .ofs_x = -2, .ofs_y = -3},
{.bitmap_index = 1942, .adv_w = 107, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1969, .adv_w = 54, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1978, .adv_w = 180, .box_w = 10, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2008, .adv_w = 117, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2026, .adv_w = 112, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2047, .adv_w = 117, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 2074, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2106, .adv_w = 92, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2121, .adv_w = 103, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2139, .adv_w = 92, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2163, .adv_w = 115, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2181, .adv_w = 103, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2202, .adv_w = 155, .box_w = 10, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2232, .adv_w = 106, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2253, .adv_w = 103, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2285, .adv_w = 107, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2306, .adv_w = 77, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 2334, .adv_w = 62, .box_w = 2, .box_h = 11, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 2345, .adv_w = 77, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 2373, .adv_w = 138, .box_w = 7, .box_h = 5, .ofs_x = 1, .ofs_y = 2}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
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
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
3, 21,
3, 23,
4, 18,
4, 21,
4, 23,
4, 34,
4, 43,
4, 66,
4, 68,
4, 69,
4, 70,
4, 72,
4, 80,
4, 82,
4, 87,
4, 88,
4, 90,
7, 18,
7, 24,
7, 53,
7, 55,
7, 56,
7, 57,
7, 58,
8, 21,
8, 23,
9, 75,
10, 13,
10, 15,
11, 13,
11, 15,
11, 21,
11, 23,
11, 34,
11, 43,
11, 66,
11, 68,
11, 69,
11, 70,
11, 72,
11, 80,
11, 82,
12, 18,
12, 20,
12, 24,
12, 26,
12, 34,
12, 53,
12, 55,
12, 56,
12, 57,
12, 58,
13, 11,
13, 18,
13, 24,
13, 26,
13, 36,
13, 40,
13, 48,
13, 50,
13, 53,
13, 54,
13, 55,
13, 56,
13, 58,
13, 71,
13, 75,
13, 85,
13, 86,
13, 87,
13, 88,
13, 90,
14, 18,
14, 24,
14, 34,
14, 53,
14, 55,
14, 56,
14, 57,
14, 58,
14, 59,
15, 11,
15, 18,
15, 24,
15, 26,
15, 36,
15, 40,
15, 48,
15, 50,
15, 53,
15, 54,
15, 55,
15, 56,
15, 58,
15, 71,
15, 85,
15, 86,
15, 87,
15, 88,
15, 90,
16, 16,
16, 21,
16, 23,
16, 34,
16, 43,
16, 53,
16, 66,
16, 68,
16, 69,
16, 70,
16, 72,
16, 78,
16, 79,
16, 80,
16, 81,
16, 82,
16, 83,
16, 84,
16, 86,
17, 24,
19, 21,
20, 24,
21, 3,
21, 6,
21, 8,
21, 18,
21, 19,
21, 24,
21, 26,
21, 32,
22, 18,
22, 22,
22, 24,
22, 26,
23, 3,
23, 6,
23, 8,
23, 11,
23, 18,
23, 22,
23, 23,
23, 24,
23, 25,
23, 26,
23, 32,
23, 61,
24, 4,
24, 7,
24, 12,
24, 13,
24, 14,
24, 15,
24, 16,
24, 17,
24, 21,
24, 22,
24, 23,
24, 25,
24, 27,
24, 28,
24, 30,
24, 33,
25, 24,
25, 25,
25, 26,
26, 4,
26, 7,
26, 13,
26, 15,
26, 16,
26, 20,
26, 21,
26, 22,
26, 23,
26, 24,
26, 25,
26, 26,
27, 24,
27, 53,
27, 55,
27, 56,
27, 58,
28, 24,
28, 53,
28, 55,
28, 56,
28, 58,
28, 75,
31, 18,
31, 24,
31, 26,
33, 18,
33, 20,
33, 24,
33, 34,
33, 53,
33, 55,
33, 56,
33, 57,
33, 58,
34, 11,
34, 12,
34, 14,
34, 32,
34, 33,
34, 36,
34, 40,
34, 43,
34, 48,
34, 50,
34, 53,
34, 54,
34, 55,
34, 56,
34, 58,
34, 61,
34, 71,
34, 85,
34, 87,
34, 88,
34, 90,
35, 34,
35, 36,
35, 40,
35, 48,
35, 50,
35, 53,
35, 55,
35, 56,
35, 58,
36, 34,
36, 36,
36, 40,
36, 48,
36, 50,
37, 13,
37, 15,
37, 18,
37, 20,
37, 22,
37, 24,
37, 32,
37, 34,
37, 53,
37, 55,
37, 56,
37, 57,
37, 58,
37, 59,
38, 12,
38, 14,
38, 16,
38, 34,
38, 36,
38, 40,
38, 43,
38, 48,
38, 50,
38, 54,
38, 71,
38, 85,
38, 87,
38, 88,
38, 90,
39, 7,
39, 12,
39, 13,
39, 14,
39, 15,
39, 16,
39, 27,
39, 28,
39, 33,
39, 34,
39, 36,
39, 40,
39, 43,
39, 48,
39, 50,
39, 58,
39, 61,
39, 66,
39, 68,
39, 69,
39, 70,
39, 71,
39, 72,
39, 78,
39, 79,
39, 80,
39, 81,
39, 82,
39, 83,
39, 84,
39, 85,
39, 86,
39, 87,
39, 88,
39, 89,
39, 90,
39, 91,
40, 34,
40, 36,
40, 40,
40, 48,
40, 50,
40, 53,
40, 55,
40, 56,
40, 57,
40, 58,
40, 66,
40, 68,
40, 69,
40, 70,
40, 72,
40, 80,
40, 82,
40, 84,
43, 34,
44, 7,
44, 12,
44, 14,
44, 32,
44, 33,
44, 36,
44, 40,
44, 43,
44, 48,
44, 50,
44, 52,
44, 54,
44, 55,
44, 56,
44, 58,
44, 66,
44, 68,
44, 69,
44, 70,
44, 71,
44, 72,
44, 80,
44, 82,
44, 84,
44, 85,
44, 86,
44, 87,
44, 88,
44, 90,
45, 11,
45, 12,
45, 14,
45, 16,
45, 32,
45, 33,
45, 36,
45, 40,
45, 43,
45, 48,
45, 50,
45, 52,
45, 53,
45, 54,
45, 55,
45, 56,
45, 58,
45, 61,
45, 71,
45, 75,
45, 84,
45, 85,
45, 87,
45, 88,
45, 90,
48, 13,
48, 15,
48, 18,
48, 20,
48, 22,
48, 24,
48, 32,
48, 34,
48, 53,
48, 55,
48, 56,
48, 57,
48, 58,
48, 59,
49, 7,
49, 12,
49, 13,
49, 14,
49, 15,
49, 16,
49, 33,
49, 34,
49, 43,
49, 52,
49, 53,
49, 57,
49, 66,
49, 68,
49, 69,
49, 70,
49, 72,
49, 78,
49, 79,
49, 80,
49, 81,
49, 82,
49, 83,
49, 84,
49, 85,
49, 86,
49, 91,
50, 13,
50, 15,
50, 18,
50, 20,
50, 22,
50, 24,
50, 32,
50, 34,
50, 53,
50, 55,
50, 56,
50, 57,
50, 58,
50, 59,
50, 75,
51, 7,
51, 12,
51, 14,
51, 32,
51, 33,
51, 43,
51, 53,
51, 56,
51, 58,
51, 68,
51, 70,
51, 80,
52, 32,
52, 34,
52, 53,
52, 55,
52, 56,
52, 57,
52, 58,
52, 71,
52, 85,
53, 7,
53, 12,
53, 13,
53, 14,
53, 15,
53, 16,
53, 27,
53, 28,
53, 33,
53, 34,
53, 36,
53, 40,
53, 43,
53, 48,
53, 50,
53, 58,
53, 61,
53, 66,
53, 68,
53, 69,
53, 70,
53, 71,
53, 72,
53, 78,
53, 79,
53, 80,
53, 81,
53, 82,
53, 83,
53, 84,
53, 85,
53, 86,
53, 87,
53, 88,
53, 89,
53, 90,
53, 91,
54, 13,
54, 15,
54, 16,
54, 34,
55, 7,
55, 12,
55, 13,
55, 14,
55, 15,
55, 16,
55, 27,
55, 28,
55, 32,
55, 33,
55, 34,
55, 36,
55, 40,
55, 43,
55, 48,
55, 50,
55, 66,
55, 68,
55, 69,
55, 70,
55, 71,
55, 72,
55, 78,
55, 79,
55, 80,
55, 81,
55, 82,
55, 83,
55, 84,
55, 85,
55, 86,
55, 87,
55, 88,
55, 89,
55, 90,
55, 91,
56, 7,
56, 12,
56, 13,
56, 14,
56, 15,
56, 16,
56, 27,
56, 28,
56, 32,
56, 33,
56, 34,
56, 36,
56, 40,
56, 43,
56, 48,
56, 50,
56, 66,
56, 68,
56, 69,
56, 70,
56, 71,
56, 72,
56, 78,
56, 79,
56, 80,
56, 81,
56, 82,
56, 83,
56, 84,
56, 85,
56, 86,
56, 87,
56, 88,
56, 89,
56, 90,
56, 91,
57, 12,
57, 14,
57, 32,
57, 33,
57, 36,
57, 40,
57, 43,
57, 48,
57, 50,
57, 52,
57, 66,
57, 69,
57, 71,
57, 72,
57, 82,
57, 85,
57, 86,
57, 87,
57, 88,
57, 90,
58, 7,
58, 12,
58, 13,
58, 14,
58, 15,
58, 16,
58, 27,
58, 28,
58, 32,
58, 33,
58, 34,
58, 36,
58, 40,
58, 43,
58, 48,
58, 50,
58, 53,
58, 66,
58, 68,
58, 69,
58, 70,
58, 71,
58, 72,
58, 78,
58, 79,
58, 80,
58, 81,
58, 82,
58, 83,
58, 84,
58, 85,
58, 86,
58, 87,
58, 88,
58, 89,
58, 90,
58, 91,
59, 12,
59, 32,
59, 33,
59, 36,
59, 40,
59, 43,
59, 48,
59, 50,
59, 53,
59, 56,
59, 61,
59, 71,
59, 85,
59, 87,
59, 88,
59, 90,
60, 75,
61, 18,
61, 26,
61, 53,
61, 54,
61, 55,
61, 56,
61, 58,
67, 11,
67, 32,
67, 61,
67, 71,
67, 85,
67, 89,
68, 61,
69, 67,
69, 73,
69, 76,
69, 77,
70, 11,
70, 61,
70, 89,
71, 2,
71, 3,
71, 8,
71, 10,
71, 11,
71, 13,
71, 15,
71, 32,
71, 61,
71, 62,
71, 66,
71, 67,
71, 68,
71, 69,
71, 70,
71, 72,
71, 73,
71, 74,
71, 75,
71, 76,
71, 77,
71, 80,
71, 82,
71, 94,
72, 75,
73, 11,
73, 32,
73, 61,
73, 71,
73, 85,
73, 87,
73, 88,
73, 90,
75, 75,
76, 12,
76, 14,
76, 33,
76, 66,
76, 68,
76, 69,
76, 70,
76, 72,
76, 80,
76, 82,
76, 84,
77, 67,
77, 73,
77, 76,
77, 77,
78, 11,
78, 32,
78, 61,
78, 71,
78, 85,
78, 87,
78, 88,
78, 90,
79, 11,
79, 32,
79, 61,
79, 71,
79, 85,
79, 87,
79, 88,
79, 90,
80, 11,
80, 32,
80, 61,
80, 71,
80, 85,
80, 89,
81, 11,
81, 32,
81, 61,
81, 71,
81, 85,
81, 89,
82, 75,
83, 13,
83, 15,
83, 66,
83, 68,
83, 69,
83, 70,
83, 72,
83, 80,
83, 82,
84, 11,
84, 32,
84, 61,
84, 85,
84, 87,
84, 88,
84, 90,
85, 61,
85, 71,
85, 85,
86, 13,
86, 15,
87, 13,
87, 15,
88, 13,
88, 15,
89, 66,
89, 68,
89, 69,
89, 70,
89, 72,
89, 80,
89, 82,
90, 13,
90, 15,
91, 61,
91, 66,
91, 68,
91, 69,
91, 70,
91, 71,
91, 72,
91, 80,
91, 82,
91, 85,
91, 86,
92, 75,
94, 13,
94, 15
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-1, -2, 1, -2, -1, -7, -1, -2,
-2, -2, -2, -2, -2, -2, 1, 1,
1, -1, -3, -11, -12, -11, -1, -13,
-1, -2, 15, -1, -1, -28, -28, -2,
-2, -15, -6, -2, -2, -2, -2, -2,
-2, -2, -3, -1, -3, -1, -2, -12,
-10, -9, -3, -12, -28, -13, -3, -10,
-3, -3, -3, -3, -17, -1, -18, -17,
-17, -8, 14, -9, -1, -8, -8, -8,
-2, -3, -2, -13, -8, -7, -6, -13,
-1, -28, -13, -3, -10, -3, -3, -3,
-3, -17, -1, -18, -17, -17, -8, -9,
-1, -8, -8, -8, -26, -3, -1, -7,
-5, 1, -3, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, -2, -2, -3,
-2, -2, -1, -3, -1, -4, -3, -4,
-4, -1, -3, -1, -1, -3, -1, -4,
-1, -2, -7, -2, -1, -5, -1, -5,
-1, -1, -3, -1, -4, -15, -6, -15,
-7, -1, -9, -1, -8, -1, -1, -1,
-2, -3, -2, -1, -1, -2, -1, -10,
-10, -1, -3, -3, -1, -4, -3, -1,
-1, -1, -4, -4, -2, -4, -1, -4,
-4, -2, -4, 14, -3, -3, -1, -1,
-1, -5, -6, -6, -5, -4, -5, -7,
-15, -2, -2, -8, -1, -4, -4, -1,
-4, -4, -13, -2, -11, -9, -12, -7,
-6, -5, -4, -4, -4, -1, 1, 1,
1, 1, -1, -1, -1, -3, -1, -1,
-1, -1, -1, -3, -3, -1, -2, -1,
-2, -1, -4, -4, -3, -2, -3, -5,
-1, -2, -4, 1, 1, -2, -2, -1,
-2, -2, -1, -3, -1, -3, -3, -3,
-9, -15, -20, -15, -20, -11, -4, -4,
-11, -17, -5, -5, -26, -5, -5, 1,
1, -18, -16, -18, -16, -5, -18, -11,
-11, -16, -11, -18, -11, -12, -1, -10,
-8, -8, -6, -8, -7, -1, 1, 1,
1, 1, -2, -3, -2, -1, -3, 1,
1, 1, 1, 1, 1, 1, 2, -2,
-2, -7, -12, -1, -3, -4, -4, -4,
-4, -4, -1, -1, -1, -1, -1, -3,
-2, -3, -2, -4, -3, -2, -3, 1,
-3, -2, -6, -6, -6, -18, -10, -10,
1, -8, -2, -4, -4, -2, -4, -4,
-1, -21, -3, -18, -15, -24, -12, -8,
4, 1, -6, -6, -6, -6, -3, -3,
-1, -2, -1, -2, -1, -4, -4, -3,
-2, -3, -5, -1, -7, -2, -23, -2,
-23, -9, -3, -13, -9, -1, -1, -2,
-7, -7, -7, -7, -7, -3, -3, -7,
-3, -7, -3, -3, 1, -3, -1, -3,
-3, -1, -2, -1, -2, -1, -4, -4,
-3, -2, -3, -5, -1, 7, -1, -2,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -3, -3, -2, -1,
-4, -2, -2, -5, -12, -17, -13, -17,
-9, -4, -4, -8, -13, -4, -4, -20,
-4, -4, 1, 1, -15, -15, -15, -15,
-7, -15, -11, -11, -15, -11, -15, -11,
-13, -2, -11, -9, -9, -7, -9, -7,
-1, -1, -1, -2, -6, -10, -18, -8,
-18, -7, -4, -4, -1, -6, -10, -2,
-2, -10, -2, -2, -9, -9, -9, -9,
-4, -9, -7, -7, -9, -7, -9, -7,
-6, -2, -7, -4, -4, -4, -4, -4,
-5, -9, -17, -7, -17, -6, -2, -2,
-1, -5, -8, -1, -1, -9, -1, -1,
-7, -7, -7, -7, -3, -7, -6, -6,
-7, -6, -7, -6, -7, -2, -7, -3,
-3, -1, -3, -4, -3, -6, -1, -3,
-3, -3, -3, -3, -3, -1, -2, -2,
-3, -2, -2, -3, -2, -1, -1, -1,
-7, -12, -17, -13, -17, -10, -4, -4,
-1, -8, -12, -4, -4, -13, -4, -4,
1, -13, -13, -13, -13, -7, -13, -10,
-10, -13, -10, -13, -10, -12, -5, -10,
-9, -9, -6, -9, -6, -2, -1, -1,
-2, -2, -1, -2, -2, -1, -1, -2,
-2, -2, -1, -1, -1, 21, -3, -2,
-7, -1, -6, -5, -10, -2, -2, -3,
-1, -1, -1, -1, 1, 1, 1, 1,
-2, -2, -1, 6, 13, 13, 10, 14,
-10, -10, 7, 13, 13, -1, 3, -1,
-1, -1, -1, 3, 2, 3, 3, 3,
-1, -1, 13, 6, -2, -3, -4, -3,
-3, -1, -1, -1, 11, -3, -3, -2,
-1, -1, -1, -1, -1, -1, -1, -1,
1, 1, 1, 1, -2, -3, -4, -3,
-3, -1, -1, -1, -2, -3, -4, -3,
-3, -1, -1, -1, -2, -2, -3, -1,
-1, -1, -2, -2, -3, -1, -1, -1,
12, -19, -19, -1, -1, -1, -1, -1,
-1, -1, -1, -2, -2, -1, -1, -1,
-1, -1, -4, -4, -1, -1, -8, -8,
-8, -8, -1, -1, -1, -1, -1, -1,
-1, -8, -8, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 21, -2,
-2
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 785,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
#endif
static const lv_font_fmt_txt_dsc_t font_dsc = {
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
const lv_font_t font_styrene_12 = {
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,
.release_glyph = NULL,
.line_height = 14,
.base_line = 3,
.subpx = LV_FONT_SUBPX_NONE,
.kerning = 0,
.static_bitmap = 0,
.underline_position = 0,
.underline_thickness = 1,
.dsc = &font_dsc,
.fallback = NULL,
.user_data = NULL,
};
#endif /*#if FONT_STYRENE_12*/