From 17d37d5ca5d28dffc3282fee645049fd75d3f126 Mon Sep 17 00:00:00 2001 From: Diego Miguel Date: Sat, 26 Feb 2022 20:43:33 +0100 Subject: Add Infineat watchface to settings --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index df4ca7f9..2fcdc29e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -424,6 +424,7 @@ list(APPEND SOURCE_FILES displayapp/icons/bg_clock.c displayapp/screens/WatchFaceAnalog.cpp displayapp/screens/WatchFaceDigital.cpp + displayapp/screens/WatchFaceInfineat.cpp displayapp/screens/WatchFaceTerminal.cpp displayapp/screens/WatchFacePineTimeStyle.cpp -- cgit v1.2.3-70-g09d2 From da2cf8e913c5e60ec445a22e2b37f78e91ef6a85 Mon Sep 17 00:00:00 2001 From: Diego Miguel Date: Wed, 2 Mar 2022 00:18:40 +0100 Subject: Add 'Bebas Neue' and 'Teko' fonts --- src/CMakeLists.txt | 2 + src/displayapp/fonts/BebasNeue-Regular.ttf | Bin 0 -> 60576 bytes src/displayapp/fonts/BebasNeue_OFL.txt | 93 ++++ src/displayapp/fonts/Teko-Light.ttf | Bin 0 -> 279608 bytes src/displayapp/fonts/Teko_OFL.txt | 93 ++++ src/displayapp/fonts/bebas_neue_120.c | 659 +++++++++++++++++++++++++++++ src/displayapp/fonts/teko_28.c | 445 +++++++++++++++++++ src/libs/lv_conf.h | 4 +- 8 files changed, 1295 insertions(+), 1 deletion(-) create mode 100644 src/displayapp/fonts/BebasNeue-Regular.ttf create mode 100644 src/displayapp/fonts/BebasNeue_OFL.txt create mode 100644 src/displayapp/fonts/Teko-Light.ttf create mode 100644 src/displayapp/fonts/Teko_OFL.txt create mode 100644 src/displayapp/fonts/bebas_neue_120.c create mode 100644 src/displayapp/fonts/teko_28.c (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2fcdc29e..78c925ad 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -477,6 +477,8 @@ list(APPEND SOURCE_FILES displayapp/LittleVgl.cpp displayapp/lv_pinetime_theme.c + displayapp/fonts/bebas_neue_120.c + displayapp/fonts/teko_28.c systemtask/SystemTask.cpp systemtask/SystemMonitor.cpp diff --git a/src/displayapp/fonts/BebasNeue-Regular.ttf b/src/displayapp/fonts/BebasNeue-Regular.ttf new file mode 100644 index 00000000..76e22b8b Binary files /dev/null and b/src/displayapp/fonts/BebasNeue-Regular.ttf differ diff --git a/src/displayapp/fonts/BebasNeue_OFL.txt b/src/displayapp/fonts/BebasNeue_OFL.txt new file mode 100644 index 00000000..da957148 --- /dev/null +++ b/src/displayapp/fonts/BebasNeue_OFL.txt @@ -0,0 +1,93 @@ +Copyright © 2010 by Dharma Type. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/displayapp/fonts/Teko-Light.ttf b/src/displayapp/fonts/Teko-Light.ttf new file mode 100644 index 00000000..679f0137 Binary files /dev/null and b/src/displayapp/fonts/Teko-Light.ttf differ diff --git a/src/displayapp/fonts/Teko_OFL.txt b/src/displayapp/fonts/Teko_OFL.txt new file mode 100644 index 00000000..6dd80965 --- /dev/null +++ b/src/displayapp/fonts/Teko_OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2014, Indian Type Foundry (info@indiantypefoundry.com). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/displayapp/fonts/bebas_neue_120.c b/src/displayapp/fonts/bebas_neue_120.c new file mode 100644 index 00000000..3938a2e5 --- /dev/null +++ b/src/displayapp/fonts/bebas_neue_120.c @@ -0,0 +1,659 @@ +/******************************************************************************* + * Size: 120 px + * Bpp: 1 + * Opts: + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef BEBAS_NEUE_120 +#define BEBAS_NEUE_120 1 +#endif + +#if BEBAS_NEUE_120 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+0030 "0" */ + 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, + 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, + 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, + 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, + 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, + 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, + 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x81, 0xff, + 0xfe, 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xfc, + 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xfc, + 0x0, 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0x3f, 0xfe, + 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xff, 0x81, + 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, + 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, + 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, + 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, + 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, + 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, + + /* U+0031 "1" */ + 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x7, 0xfc, 0x0, + 0x1, 0xff, 0x80, 0x0, 0x3f, 0xf0, 0x0, 0xf, + 0xfe, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x7f, 0xf8, + 0x0, 0x1f, 0xff, 0x0, 0xf, 0xff, 0xe0, 0x3, + 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, + 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, + 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, + 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, + 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, + 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, + 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, + 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, + 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, 0x3f, 0xfe, + 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, + 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, + 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, + 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, + 0x1, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, + 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, + 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, 0x3f, + 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, + 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, + 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, + 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, + 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, + 0x80, 0x1, 0xff, 0xf0, + + /* U+0032 "2" */ + 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, + 0xe0, 0x0, 0x1, 0xff, 0xff, 0xf0, 0x0, 0xf, + 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8, + 0x0, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff, + 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x1f, + 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, 0xf8, 0x3f, 0xff, 0xcf, + 0xff, 0xc0, 0x1f, 0xff, 0x9f, 0xff, 0x0, 0x1f, + 0xff, 0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xf8, + 0x0, 0x7f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, + 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, 0xc0, 0x1, + 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, + 0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff, + 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, 0xff, + 0xe0, 0x1, 0xff, 0xff, 0xff, 0xc0, 0x3, 0xff, + 0xef, 0xff, 0x80, 0x7, 0xff, 0xc0, 0x0, 0x0, + 0xf, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, 0x0, + 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x1, 0xff, + 0xf8, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, + 0xf, 0xff, 0xc0, 0x0, 0x0, 0x1f, 0xff, 0x80, + 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1, 0xff, + 0xfc, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, + 0xf, 0xff, 0xc0, 0x0, 0x0, 0x3f, 0xff, 0x80, + 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0x1, 0xff, + 0xf8, 0x0, 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, + 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x7f, 0xff, 0x0, + 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x7, 0xff, + 0xf8, 0x0, 0x0, 0x1f, 0xff, 0xe0, 0x0, 0x0, + 0x7f, 0xff, 0x80, 0x0, 0x1, 0xff, 0xfe, 0x0, + 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0xf, 0xff, + 0xe0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, + 0xff, 0xfe, 0x0, 0x0, 0x1, 0xff, 0xf8, 0x0, + 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x1f, 0xff, + 0xc0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, + 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0, 0xf, 0xff, + 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, + 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, + 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, + 0xc0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0, + 0x1f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, + 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, + 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, + 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xc0, + + /* U+0033 "3" */ + 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, + 0xe0, 0x0, 0x1, 0xff, 0xff, 0xf0, 0x0, 0xf, + 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8, + 0x0, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff, + 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x1f, + 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0xff, 0xf8, 0x3f, 0xff, 0xcf, + 0xff, 0xc0, 0x1f, 0xff, 0x9f, 0xff, 0x0, 0x1f, + 0xff, 0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xf8, + 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, + 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, 0xc0, 0x1, + 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, + 0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff, + 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, + 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, + 0x7, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, + 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0xff, + 0xfc, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, + 0xf, 0xff, 0xe0, 0x0, 0x3f, 0xff, 0xff, 0x80, + 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, + 0xf8, 0x0, 0x1, 0xff, 0xff, 0xe0, 0x0, 0x3, + 0xff, 0xff, 0x0, 0x0, 0x7, 0xff, 0xfc, 0x0, + 0x0, 0xf, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, + 0xfe, 0x0, 0x0, 0x3f, 0xff, 0xfe, 0x0, 0x0, + 0x7f, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, 0xfe, + 0x0, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x3, + 0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, + 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, + 0x7, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, + 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x1f, + 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, + 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, + 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, 0xff, 0xfe, + 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, + 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, + 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, + 0xff, 0xff, 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, + 0x1f, 0xff, 0xbf, 0xfe, 0x0, 0x3f, 0xfe, 0x7f, + 0xfe, 0x0, 0xff, 0xfc, 0xff, 0xff, 0x7, 0xff, + 0xf9, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0x83, + 0xff, 0xff, 0xff, 0xfe, 0x7, 0xff, 0xff, 0xff, + 0xfc, 0x7, 0xff, 0xff, 0xff, 0xf0, 0x7, 0xff, + 0xff, 0xff, 0xc0, 0x7, 0xff, 0xff, 0xff, 0x0, + 0x7, 0xff, 0xff, 0xfc, 0x0, 0x3, 0xff, 0xff, + 0xf0, 0x0, 0x1, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x7f, 0xf0, 0x0, 0x0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xc0, 0x0, 0x0, 0x3, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0x80, 0x0, 0x0, 0xf, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, + 0xc0, 0x0, 0x0, 0x1f, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x7f, 0xff, 0xfc, 0x0, + 0x0, 0x7, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x3f, + 0xff, 0xff, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf8, + 0x0, 0x0, 0x1f, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0xff, 0xff, 0xfe, 0x0, 0x0, 0xf, 0xff, 0xff, + 0xf0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x80, 0x0, + 0x3, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x3f, 0xfb, + 0xff, 0xe0, 0x0, 0x1, 0xff, 0xdf, 0xff, 0x0, + 0x0, 0x1f, 0xfc, 0xff, 0xf8, 0x0, 0x0, 0xff, + 0xe7, 0xff, 0xc0, 0x0, 0xf, 0xff, 0x3f, 0xfe, + 0x0, 0x0, 0x7f, 0xf1, 0xff, 0xf0, 0x0, 0x3, + 0xff, 0x8f, 0xff, 0x80, 0x0, 0x3f, 0xf8, 0x7f, + 0xfc, 0x0, 0x1, 0xff, 0xc3, 0xff, 0xe0, 0x0, + 0x1f, 0xfe, 0x1f, 0xff, 0x0, 0x0, 0xff, 0xe0, + 0xff, 0xf8, 0x0, 0x7, 0xff, 0x7, 0xff, 0xc0, + 0x0, 0x7f, 0xf8, 0x3f, 0xfe, 0x0, 0x3, 0xff, + 0x81, 0xff, 0xf0, 0x0, 0x3f, 0xfc, 0xf, 0xff, + 0x80, 0x1, 0xff, 0xc0, 0x7f, 0xfc, 0x0, 0x1f, + 0xfe, 0x3, 0xff, 0xe0, 0x0, 0xff, 0xf0, 0x1f, + 0xff, 0x0, 0x7, 0xff, 0x0, 0xff, 0xf8, 0x0, + 0x7f, 0xf8, 0x7, 0xff, 0xc0, 0x3, 0xff, 0x80, + 0x3f, 0xfe, 0x0, 0x3f, 0xfc, 0x1, 0xff, 0xf0, + 0x1, 0xff, 0xe0, 0xf, 0xff, 0x80, 0xf, 0xfe, + 0x0, 0x7f, 0xfc, 0x0, 0xff, 0xf0, 0x3, 0xff, + 0xe0, 0x7, 0xff, 0x0, 0x1f, 0xff, 0x0, 0x7f, + 0xf8, 0x0, 0xff, 0xf8, 0x3, 0xff, 0xc0, 0x7, + 0xff, 0xc0, 0x3f, 0xfc, 0x0, 0x3f, 0xfe, 0x1, + 0xff, 0xe0, 0x1, 0xff, 0xf0, 0xf, 0xff, 0x0, + 0xf, 0xff, 0x80, 0xff, 0xf0, 0x0, 0x7f, 0xfc, + 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x3f, + 0xfe, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x3, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, + 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8, + 0x0, + + /* U+0035 "5" */ + 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, + 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, + 0x87, 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, + 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x3f, + 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xff, 0xc3, 0xff, 0xc0, 0x0, 0x0, 0x7, + 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0, + 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfc, + 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1, + 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, + 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, + 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, + 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, + 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0xf0, 0x1f, 0xe0, 0x3, 0xff, 0xe0, 0xff, 0xf8, + 0x7, 0xff, 0xc7, 0xff, 0xf8, 0xf, 0xff, 0x9f, + 0xff, 0xf8, 0x1f, 0xff, 0x7f, 0xff, 0xf8, 0x3f, + 0xfe, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, + 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xe7, + 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, + 0xff, 0xbf, 0xff, 0xe0, 0xff, 0xff, 0x7f, 0xff, + 0x0, 0x7f, 0xff, 0xff, 0xfc, 0x0, 0x7f, 0xff, + 0xff, 0xf8, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, + 0xff, 0xff, 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, + 0x80, 0x3, 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, + 0xff, 0xfe, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, + 0x1f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, + 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, + 0x3, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, + 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x1f, + 0xff, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xf0, + 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, + 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, + 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, 0xff, 0xfe, + 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, + 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, + 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, + 0xff, 0xff, 0x80, 0xf, 0xff, 0xdf, 0xff, 0x0, + 0x1f, 0xff, 0x3f, 0xff, 0x0, 0x7f, 0xfe, 0x7f, + 0xff, 0x83, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, + 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0x3, + 0xff, 0xff, 0xff, 0xfe, 0x3, 0xff, 0xff, 0xff, + 0xf8, 0x3, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, + 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xfe, 0x0, + 0x1, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xff, + 0x80, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, + + /* U+0036 "6" */ + 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x1f, 0xff, + 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, + 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, + 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, + 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf8, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, + 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, + 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x81, 0xff, + 0xfe, 0x7f, 0xff, 0x0, 0x7f, 0xfe, 0x7f, 0xfe, + 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, + 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0xff, 0xf8, 0x7, 0xfc, 0x0, + 0xff, 0xf8, 0x1f, 0xff, 0x0, 0xff, 0xf8, 0x7f, + 0xff, 0xc0, 0xff, 0xf8, 0xff, 0xff, 0xe0, 0xff, + 0xf9, 0xff, 0xff, 0xf0, 0xff, 0xfb, 0xff, 0xff, + 0xf8, 0xff, 0xfb, 0xff, 0xff, 0xf8, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0xff, 0x81, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x7f, + 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xff, 0xfc, + 0x0, 0x3f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xfc, + 0x0, 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0x3f, 0xfe, + 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xff, 0x81, + 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, + 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, + 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0xf, 0xff, + 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, + 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, + 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, + 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, + + /* U+0037 "7" */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x1f, + 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, + 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, + 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, + 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, + 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf8, + 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x1, + 0xff, 0xf0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, + 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x3, 0xff, + 0xe0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, + 0x7, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, + 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0x7, + 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, + 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, + 0x80, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, + 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x3f, + 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, + 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfe, + 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, + 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, + 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, + 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, + 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, + 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, + 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, + 0xe0, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0, + 0x7, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0, + 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0xf, + 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, + 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, + 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x3f, + 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, + 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xfc, + 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, + 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, + 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, + 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xf0, + 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x3, + 0xff, 0xe0, 0x0, 0x0, + + /* U+0038 "8" */ + 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, + 0xfe, 0x0, 0x0, 0xf, 0xff, 0xff, 0xc0, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x1f, + 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, + 0xf8, 0xf, 0xff, 0xff, 0xff, 0xfc, 0xf, 0xff, + 0xff, 0xff, 0xff, 0x7, 0xff, 0xff, 0xff, 0xff, + 0x87, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xfc, + 0xf, 0xff, 0xf1, 0xff, 0xf8, 0x1, 0xff, 0xf8, + 0xff, 0xf8, 0x0, 0x7f, 0xfc, 0xff, 0xfc, 0x0, + 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0xbf, + 0xfe, 0x0, 0x7, 0xff, 0xdf, 0xff, 0x0, 0x3, + 0xff, 0xef, 0xff, 0x80, 0x1, 0xff, 0xf7, 0xff, + 0xc0, 0x0, 0xff, 0xfb, 0xff, 0xe0, 0x0, 0x7f, + 0xfd, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0x7f, 0xfc, 0x0, 0xf, 0xff, + 0xbf, 0xfe, 0x0, 0x7, 0xff, 0xdf, 0xff, 0x0, + 0x3, 0xff, 0xef, 0xff, 0x80, 0x1, 0xff, 0xf7, + 0xff, 0xc0, 0x0, 0xff, 0xfb, 0xff, 0xe0, 0x0, + 0x7f, 0xf8, 0xff, 0xf0, 0x0, 0x3f, 0xfc, 0x7f, + 0xfc, 0x0, 0x3f, 0xfe, 0x3f, 0xfe, 0x0, 0x1f, + 0xff, 0xf, 0xff, 0x80, 0x1f, 0xff, 0x7, 0xff, + 0xf0, 0x3f, 0xff, 0x81, 0xff, 0xff, 0xff, 0xff, + 0x80, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, + 0xff, 0xff, 0x80, 0xf, 0xff, 0xff, 0xff, 0x80, + 0x3, 0xff, 0xff, 0xff, 0x80, 0x0, 0x7f, 0xff, + 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0xff, 0xff, 0xff, + 0xfe, 0x0, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0x7f, 0xff, 0x83, 0xff, 0xfc, 0x3f, 0xff, + 0x0, 0x7f, 0xff, 0x3f, 0xff, 0x0, 0x1f, 0xff, + 0x9f, 0xff, 0x0, 0x7, 0xff, 0xcf, 0xff, 0x80, + 0x3, 0xff, 0xef, 0xff, 0x80, 0x0, 0xff, 0xff, + 0xff, 0xc0, 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, + 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x7, + 0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, 0xff, + 0x0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, + 0xff, 0xff, 0xc0, 0x0, 0x7f, 0xff, 0xff, 0xe0, + 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, + 0x7, 0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, + 0xff, 0x0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, + 0xff, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, + 0xf0, 0x0, 0x7f, 0xfe, 0xff, 0xfc, 0x0, 0x7f, + 0xfe, 0x7f, 0xff, 0x0, 0x7f, 0xff, 0x3f, 0xff, + 0xe0, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xc7, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, + 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, + 0xff, 0xf0, 0x7, 0xff, 0xff, 0xff, 0xf0, 0x1, + 0xff, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, 0xff, + 0xe0, 0x0, 0xf, 0xff, 0xff, 0xe0, 0x0, 0x1, + 0xff, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xfe, 0x0, + 0x0, + + /* U+0039 "9" */ + 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, + 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, + 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, + 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, + 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, + 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, + 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x81, 0xff, + 0xfe, 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xfc, + 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, + 0x0, 0x1f, 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xff, + 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xff, 0xfe, 0x0, + 0x7f, 0xff, 0x7f, 0xff, 0x81, 0xff, 0xff, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0xff, 0xdf, 0xff, 0x1f, 0xff, 0xff, + 0xdf, 0xff, 0xf, 0xff, 0xff, 0x9f, 0xff, 0x7, + 0xff, 0xff, 0x1f, 0xff, 0x3, 0xff, 0xfe, 0x1f, + 0xff, 0x0, 0xff, 0xf8, 0x1f, 0xff, 0x0, 0x3f, + 0xe0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, + 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, + 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, + 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, + 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, + 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, + 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xfc, + 0x0, 0x3f, 0xfe, 0x7f, 0xfc, 0x0, 0x7f, 0xfe, + 0x7f, 0xfe, 0x0, 0xff, 0xfe, 0x7f, 0xff, 0x81, + 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, + 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, + 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, + 0xff, 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf0, + 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, + 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, + 0x0, 0x0, 0x3, 0xff, 0xc0, 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 = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, + {.bitmap_index = 430, .adv_w = 768, .box_w = 27, .box_h = 84, .ofs_x = 10, .ofs_y = 0}, + {.bitmap_index = 714, .adv_w = 768, .box_w = 39, .box_h = 85, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 1129, .adv_w = 768, .box_w = 39, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, + {.bitmap_index = 1549, .adv_w = 768, .box_w = 45, .box_h = 84, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2022, .adv_w = 768, .box_w = 39, .box_h = 85, .ofs_x = 5, .ofs_y = -1}, + {.bitmap_index = 2437, .adv_w = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, + {.bitmap_index = 2867, .adv_w = 768, .box_w = 40, .box_h = 84, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 3287, .adv_w = 768, .box_w = 41, .box_h = 86, .ofs_x = 3, .ofs_y = -1}, + {.bitmap_index = 3728, .adv_w = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .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 = 10, .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 + *--------------------*/ + +#if LV_VERSION_CHECK(8, 0, 0) +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +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 = NULL, + .kern_scale = 0, + .cmap_num = 1, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LV_VERSION_CHECK(8, 0, 0) + .cache = &cache +#endif +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LV_VERSION_CHECK(8, 0, 0) +const lv_font_t bebas_neue_120 = { +#else +lv_font_t bebas_neue_120 = { +#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 = 86, /*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 +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -5, + .underline_thickness = 10, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if BEBAS_NEUE_120*/ + diff --git a/src/displayapp/fonts/teko_28.c b/src/displayapp/fonts/teko_28.c new file mode 100644 index 00000000..cfa40eeb --- /dev/null +++ b/src/displayapp/fonts/teko_28.c @@ -0,0 +1,445 @@ +/******************************************************************************* + * Size: 28 px + * Bpp: 1 + * Opts: + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef TEKO_28 +#define TEKO_28 1 +#endif + +#if TEKO_28 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+0030 "0" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0031 "1" */ + 0xf3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x33, + + /* U+0032 "2" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x60, 0xc1, 0x86, 0xc, + 0x38, 0x61, 0xc3, 0x6, 0x18, 0x30, 0xc1, 0xfc, + + /* U+0033 "3" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x60, 0xc1, 0x83, 0x3c, + 0xc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0034 "4" */ + 0x6, 0x6, 0x3, 0x1, 0x81, 0x80, 0xc0, 0xe0, + 0x60, 0x30, 0x31, 0x98, 0xcc, 0x6c, 0x37, 0xfc, + 0xc, 0x6, 0x3, 0x1, 0x80, + + /* U+0035 "5" */ + 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x7e, 0x6, + 0xc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0036 "6" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf0, 0x60, 0xfd, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0037 "7" */ + 0xfe, 0xc, 0x38, 0x60, 0xc1, 0x86, 0xc, 0x18, + 0x30, 0xc1, 0x83, 0x6, 0x18, 0x30, 0x60, 0xc0, + + /* U+0038 "8" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0x7d, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0039 "9" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, + 0xfc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0041 "A" */ + 0x1c, 0xe, 0x7, 0x82, 0xc3, 0x61, 0xb0, 0xd8, + 0x64, 0x33, 0x19, 0x88, 0xcc, 0x67, 0xf3, 0x9, + 0x86, 0xc3, 0x61, 0xe0, 0xc0, + + /* U+0042 "B" */ + 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xfe, + + /* U+0043 "C" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0xc1, + 0x83, 0x6, 0xc, 0x18, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0044 "D" */ + 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xfe, + + /* U+0045 "E" */ + 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xfd, + 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0xfc, + + /* U+0046 "F" */ + 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xfd, + 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x80, + + /* U+0047 "G" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0xc1, + 0x9f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0048 "H" */ + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, + + /* U+0049 "I" */ + 0xff, 0xff, 0xff, 0xff, 0xf0, + + /* U+004A "J" */ + 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, + 0xc, 0x18, 0x30, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+004B "K" */ + 0xc3, 0xc6, 0xc6, 0xce, 0xcc, 0xcc, 0xd8, 0xd8, + 0xf0, 0xf0, 0xd8, 0xd8, 0xcc, 0xcc, 0xcc, 0xc6, + 0xc6, 0xc3, + + /* U+004C "L" */ + 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xc, + 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xf0, + + /* U+004D "M" */ + 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xfc, 0xff, + 0x3f, 0x4b, 0xd2, 0xf7, 0xbd, 0xef, 0x33, 0xcc, + 0xf3, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x30, + + /* U+004E "N" */ + 0xe3, 0xe3, 0xe3, 0xe3, 0xf3, 0xf3, 0xd3, 0xd3, + 0xdb, 0xdb, 0xcb, 0xcb, 0xcf, 0xcf, 0xc7, 0xc7, + 0xc7, 0xc3, + + /* U+004F "O" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0050 "P" */ + 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0xfb, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x80, + + /* U+0051 "Q" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + 0x30, 0x60, 0x60, + + /* U+0052 "R" */ + 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, + 0xc6, 0xfc, 0xc8, 0xcc, 0xcc, 0xcc, 0xc6, 0xc6, + 0xc6, 0xc3, + + /* U+0053 "S" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0x7c, + 0xc, 0x18, 0x30, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0054 "T" */ + 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, + + /* U+0055 "U" */ + 0xc7, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, + + /* U+0056 "V" */ + 0xc1, 0xe0, 0xd0, 0xcc, 0x66, 0x33, 0x19, 0x8c, + 0xc6, 0x62, 0x13, 0xd, 0x86, 0xc3, 0x61, 0xb0, + 0xd8, 0x28, 0x1c, 0xe, 0x0, + + /* U+0057 "W" */ + 0xc3, 0x87, 0x87, 0xd, 0x8e, 0x1b, 0x1c, 0x36, + 0x38, 0x4c, 0x59, 0x98, 0xb3, 0x31, 0x66, 0x66, + 0xcc, 0x4d, 0x98, 0xd9, 0x31, 0xb2, 0x43, 0x44, + 0x86, 0x8f, 0xd, 0x1e, 0x1e, 0x3c, 0x1c, 0x78, + 0x38, 0x70, + + /* U+0058 "X" */ + 0x61, 0xb1, 0x98, 0xc6, 0x63, 0x61, 0xb0, 0x78, + 0x38, 0xc, 0xe, 0x7, 0x2, 0xc3, 0x61, 0x99, + 0x8c, 0xc6, 0x61, 0xe0, 0xc0, + + /* U+0059 "Y" */ + 0xc3, 0xc3, 0xc3, 0x42, 0x66, 0x66, 0x66, 0x24, + 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, + + /* U+005A "Z" */ + 0xfe, 0xc, 0x18, 0x60, 0xc1, 0x6, 0xc, 0x10, + 0x60, 0xc1, 0x6, 0xc, 0x10, 0x60, 0xc1, 0xfc, + + /* U+0061 "a" */ + 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x6f, 0xc0, + + /* U+0062 "b" */ + 0xc1, 0x83, 0x6, 0xc, 0x1f, 0xb1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, + 0xf0, + + /* U+0063 "c" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x18, 0x30, 0x60, 0xc1, + 0x83, 0x1e, 0x3c, 0x6f, 0x80, + + /* U+0064 "d" */ + 0x6, 0xc, 0x18, 0x30, 0x6f, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8d, + 0xf8, + + /* U+0065 "e" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xff, 0xe0, 0xc1, + 0x83, 0x1e, 0x3c, 0x6f, 0x80, + + /* U+0066 "f" */ + 0x3b, 0x18, 0xc6, 0x7d, 0x8c, 0x63, 0x18, 0xc6, + 0x31, 0x8c, 0x63, 0x18, + + /* U+0067 "g" */ + 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x6f, 0xc1, 0x83, 0x7, 0xf8, + + /* U+0068 "h" */ + 0xc1, 0x83, 0x6, 0xc, 0x1f, 0xb1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, + 0x18, + + /* U+0069 "i" */ + 0xc0, 0x3f, 0xff, 0xff, 0xfc, + + /* U+006A "j" */ + 0x60, 0x0, 0xdb, 0x6d, 0xb6, 0xdb, 0x6d, 0xb6, + 0xf0, + + /* U+006B "k" */ + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc7, 0xc6, 0xc6, + 0xcc, 0xcc, 0xd8, 0xd8, 0xd8, 0xd8, 0xcc, 0xcc, + 0xc6, 0xc6, 0xc7, + + /* U+006C "l" */ + 0xff, 0xff, 0xff, 0xff, 0xfc, + + /* U+006D "m" */ + 0xff, 0xec, 0x63, 0xc6, 0x3c, 0x63, 0xc6, 0x3c, + 0x63, 0xc6, 0x3c, 0x63, 0xc6, 0x3c, 0x63, 0xc6, + 0x3c, 0x63, 0xc6, 0x3c, 0x63, + + /* U+006E "n" */ + 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x78, 0xc0, + + /* U+006F "o" */ + 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x6f, 0x80, + + /* U+0070 "p" */ + 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x7f, 0xb0, 0x60, 0xc1, 0x80, + + /* U+0071 "q" */ + 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x6f, 0xc1, 0x83, 0x6, 0xc, + + /* U+0072 "r" */ + 0xff, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x31, 0x8c, + 0x60, + + /* U+0073 "s" */ + 0x7b, 0x3c, 0xf3, 0xc3, 0xc, 0x1f, 0xc, 0x30, + 0xf3, 0xcd, 0xe0, + + /* U+0074 "t" */ + 0x63, 0x19, 0xf6, 0x31, 0x8c, 0x63, 0x18, 0xc6, + 0x31, 0x8c, 0x38, + + /* U+0075 "u" */ + 0xc7, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, + 0x8f, 0x1e, 0x3c, 0x6f, 0xc0, + + /* U+0076 "v" */ + 0xc3, 0xc6, 0x46, 0x66, 0x66, 0x66, 0x66, 0x64, + 0x6c, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, + + /* U+0077 "w" */ + 0xc3, 0xf, 0xe, 0x34, 0x78, 0xd9, 0xe2, 0x67, + 0x99, 0x9e, 0x66, 0x69, 0x99, 0x26, 0x24, 0xd8, + 0xf3, 0x43, 0xcf, 0xf, 0x3c, 0x3c, 0xf0, 0xf1, + 0xc0, + + /* U+0078 "x" */ + 0x63, 0x31, 0x8d, 0x86, 0xc3, 0x40, 0xe0, 0x60, + 0x38, 0x1c, 0x1b, 0xd, 0x8c, 0xc6, 0x36, 0x18, + + /* U+0079 "y" */ + 0xc3, 0xc3, 0xc2, 0xc6, 0x66, 0x66, 0x66, 0x66, + 0x64, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x8, 0x18, + 0x18, 0x70, + + /* U+007A "z" */ + 0xfc, 0x30, 0x86, 0x18, 0x43, 0xc, 0x21, 0x84, + 0x10, 0xc3, 0xf0 +}; + + +/*--------------------- + * 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 = 162, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 16, .adv_w = 95, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 25, .adv_w = 130, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 41, .adv_w = 144, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 57, .adv_w = 146, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 78, .adv_w = 144, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 94, .adv_w = 158, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 110, .adv_w = 115, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 126, .adv_w = 161, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 142, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 158, .adv_w = 154, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 179, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 197, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 213, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 231, .adv_w = 141, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 247, .adv_w = 136, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 263, .adv_w = 157, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 279, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 297, .adv_w = 89, .box_w = 2, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 302, .adv_w = 135, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 318, .adv_w = 155, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 336, .adv_w = 121, .box_w = 6, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 350, .adv_w = 213, .box_w = 10, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 373, .adv_w = 169, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 391, .adv_w = 161, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 407, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 423, .adv_w = 161, .box_w = 7, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 442, .adv_w = 163, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 460, .adv_w = 146, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 476, .adv_w = 125, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 494, .adv_w = 163, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 510, .adv_w = 143, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 531, .adv_w = 246, .box_w = 15, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 565, .adv_w = 150, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 586, .adv_w = 143, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 604, .adv_w = 122, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 620, .adv_w = 147, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 633, .adv_w = 147, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 650, .adv_w = 146, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 663, .adv_w = 147, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 680, .adv_w = 148, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 693, .adv_w = 88, .box_w = 5, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 705, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 721, .adv_w = 149, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 738, .adv_w = 71, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 743, .adv_w = 71, .box_w = 3, .box_h = 23, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 752, .adv_w = 146, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 771, .adv_w = 71, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 776, .adv_w = 225, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 797, .adv_w = 149, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 810, .adv_w = 152, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 823, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 839, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 855, .adv_w = 95, .box_w = 5, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 864, .adv_w = 133, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 875, .adv_w = 88, .box_w = 5, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 886, .adv_w = 149, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 899, .adv_w = 125, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 913, .adv_w = 227, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 938, .adv_w = 141, .box_w = 9, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 954, .adv_w = 138, .box_w = 8, .box_h = 18, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 972, .adv_w = 119, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 48, .range_length = 10, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 65, .range_length = 26, .glyph_id_start = 11, + .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 = 37, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LV_VERSION_CHECK(8, 0, 0) +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +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 = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LV_VERSION_CHECK(8, 0, 0) + .cache = &cache +#endif +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LV_VERSION_CHECK(8, 0, 0) +const lv_font_t teko_28 = { +#else +lv_font_t teko_28 = { +#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 = 23, /*The maximum line height required by the font*/ + .base_line = 4, /*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 = -2, + .underline_thickness = 1, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if TEKO_28*/ + diff --git a/src/libs/lv_conf.h b/src/libs/lv_conf.h index 73109c5a..7cabcdba 100644 --- a/src/libs/lv_conf.h +++ b/src/libs/lv_conf.h @@ -418,7 +418,9 @@ typedef void* lv_indev_drv_user_data_t; /*Type of user data in the in LV_FONT_DECLARE(jetbrains_mono_42) \ LV_FONT_DECLARE(jetbrains_mono_76) \ LV_FONT_DECLARE(open_sans_light) \ - LV_FONT_DECLARE(lv_font_sys_48) + LV_FONT_DECLARE(lv_font_sys_48) \ + LV_FONT_DECLARE(bebas_neue_120) \ + LV_FONT_DECLARE(teko_28) /* Enable it if you have fonts with a lot of characters. * The limit depends on the font size, font face and bpp -- cgit v1.2.3-70-g09d2 From be16ef0d56c471dc905c10e8708a107285639d0b Mon Sep 17 00:00:00 2001 From: Diego Miguel Date: Wed, 2 Mar 2022 00:34:39 +0100 Subject: Update BLE controller in Infineat watchface --- src/CMakeLists.txt | 1 + src/displayapp/screens/WatchFaceInfineat.cpp | 3 ++- src/displayapp/screens/WatchFaceInfineat.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 78c925ad..8b038cde 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -422,6 +422,7 @@ list(APPEND SOURCE_FILES ## Watch faces displayapp/icons/bg_clock.c + displayapp/icons/logo_pine.c displayapp/screens/WatchFaceAnalog.cpp displayapp/screens/WatchFaceDigital.cpp displayapp/screens/WatchFaceInfineat.cpp diff --git a/src/displayapp/screens/WatchFaceInfineat.cpp b/src/displayapp/screens/WatchFaceInfineat.cpp index 4d9ec1e6..5ca7d70d 100644 --- a/src/displayapp/screens/WatchFaceInfineat.cpp +++ b/src/displayapp/screens/WatchFaceInfineat.cpp @@ -428,8 +428,9 @@ void WatchFaceInfineat::Refresh() { } bleState = bleController.IsConnected(); + bleRadioEnabled = bleController.IsRadioEnabled(); if (bleState.IsUpdated()) { - lv_label_set_text(bleIcon, BleIcon::GetIcon(bleState.Get())); + lv_label_set_text(bleIcon, BleIcon::GetIcon(bleRadioEnabled.Get(), bleState.Get())); lv_obj_align(bleIcon, labelDate, LV_ALIGN_OUT_BOTTOM_MID, 0, 3); } diff --git a/src/displayapp/screens/WatchFaceInfineat.h b/src/displayapp/screens/WatchFaceInfineat.h index 66a29784..77730062 100644 --- a/src/displayapp/screens/WatchFaceInfineat.h +++ b/src/displayapp/screens/WatchFaceInfineat.h @@ -48,6 +48,7 @@ namespace Pinetime { DirtyValue batteryPercentRemaining {}; DirtyValue powerPresent {}; DirtyValue bleState {}; + DirtyValue bleRadioEnabled {}; DirtyValue> currentDateTime {}; DirtyValue motionSensorOk {}; DirtyValue stepCount {}; -- cgit v1.2.3-70-g09d2 From b561e7f3d0a232d57231869f0c69120741324b0f Mon Sep 17 00:00:00 2001 From: Diego Miguel Date: Sat, 5 Mar 2022 01:12:44 +0100 Subject: Implement CheckboxList screen --- src/CMakeLists.txt | 2 + src/displayapp/screens/CheckboxList.cpp | 115 ++++++++++++++++++++++++++++++++ src/displayapp/screens/CheckboxList.h | 49 ++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 src/displayapp/screens/CheckboxList.cpp create mode 100644 src/displayapp/screens/CheckboxList.h (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8b038cde..819ad072 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -396,6 +396,7 @@ list(APPEND SOURCE_FILES displayapp/screens/Motion.cpp displayapp/screens/FlashLight.cpp displayapp/screens/List.cpp + displayapp/screens/CheckboxList.cpp displayapp/screens/BatteryInfo.cpp displayapp/screens/Steps.cpp displayapp/screens/Timer.cpp @@ -604,6 +605,7 @@ set(INCLUDE_FILES displayapp/screens/FirmwareUpdate.h displayapp/screens/FirmwareValidation.h displayapp/screens/ApplicationList.h + displayapp/screens/CheckboxList.h displayapp/Apps.h displayapp/screens/Notifications.h displayapp/screens/HeartRate.h diff --git a/src/displayapp/screens/CheckboxList.cpp b/src/displayapp/screens/CheckboxList.cpp new file mode 100644 index 00000000..4da7826c --- /dev/null +++ b/src/displayapp/screens/CheckboxList.cpp @@ -0,0 +1,115 @@ +#include "displayapp/screens/CheckboxList.h" +#include "displayapp/DisplayApp.h" +#include "displayapp/screens/Styles.h" +#include "displayapp/screens/Symbols.h" + +using namespace Pinetime::Applications::Screens; + +namespace { + static void event_handler(lv_obj_t* obj, lv_event_t event) { + CheckboxList* screen = static_cast(obj->user_data); + screen->UpdateSelected(obj, event); + } + +} + +CheckboxList::CheckboxList(const uint8_t screenID, + const uint8_t numScreens, + DisplayApp* app, + Controllers::Settings& settingsController, + const char* optionsTitle, + const char* optionsSymbol, + void (Controllers::Settings::*SetOptionIndex)(uint8_t), + uint8_t (Controllers::Settings::*GetOptionIndex )() const, + std::array options) + : Screen(app), screenID {screenID}, settingsController {settingsController}, + SetOptionIndex {SetOptionIndex}, GetOptionIndex {GetOptionIndex}, + options {options} { + + settingsController.SetWatchfacesMenu(screenID); + + // Set the background to Black + lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + + if (numScreens > 1) { + pageIndicatorBasePoints[0].x = LV_HOR_RES - 1; + pageIndicatorBasePoints[0].y = 0; + pageIndicatorBasePoints[1].x = LV_HOR_RES - 1; + pageIndicatorBasePoints[1].y = LV_VER_RES; + + pageIndicatorBase = lv_line_create(lv_scr_act(), NULL); + lv_obj_set_style_local_line_width(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3); + lv_obj_set_style_local_line_color(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x111111)); + lv_line_set_points(pageIndicatorBase, pageIndicatorBasePoints, 2); + + const uint16_t indicatorSize = LV_VER_RES / numScreens; + const uint16_t indicatorPos = indicatorSize * screenID; + + pageIndicatorPoints[0].x = LV_HOR_RES - 1; + pageIndicatorPoints[0].y = indicatorPos; + pageIndicatorPoints[1].x = LV_HOR_RES - 1; + pageIndicatorPoints[1].y = indicatorPos + indicatorSize; + + pageIndicator = lv_line_create(lv_scr_act(), NULL); + lv_obj_set_style_local_line_width(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3); + lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY); + lv_line_set_points(pageIndicator, pageIndicatorPoints, 2); + } + + lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr); + + lv_obj_set_style_local_bg_opa(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); + lv_obj_set_style_local_pad_all(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 10); + lv_obj_set_style_local_pad_inner(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 5); + lv_obj_set_style_local_border_width(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 0); + + lv_obj_set_pos(container1, 10, 60); + lv_obj_set_width(container1, LV_HOR_RES - 20); + lv_obj_set_height(container1, LV_VER_RES - 50); + lv_cont_set_layout(container1, LV_LAYOUT_COLUMN_LEFT); + + lv_obj_t* title = lv_label_create(lv_scr_act(), nullptr); + lv_label_set_text_static(title, optionsTitle); + lv_label_set_align(title, LV_LABEL_ALIGN_CENTER); + lv_obj_align(title, lv_scr_act(), LV_ALIGN_IN_TOP_MID, 10, 15); + + lv_obj_t* icon = lv_label_create(lv_scr_act(), nullptr); + lv_obj_set_style_local_text_color(icon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE); + lv_label_set_text_static(icon, optionsSymbol); + lv_label_set_align(icon, LV_LABEL_ALIGN_CENTER); + lv_obj_align(icon, title, LV_ALIGN_OUT_LEFT_MID, -10, 0); + + for (unsigned int i = 0; i < options.size(); i++) { + if (strcmp(options[i], "")) { + cbOption[i] = lv_checkbox_create(container1, nullptr); + lv_checkbox_set_text(cbOption[i], options[i]); + cbOption[i]->user_data = this; + lv_obj_set_event_cb(cbOption[i], event_handler); + SetRadioButtonStyle(cbOption[i]); + + if (static_cast((settingsController.*GetOptionIndex)() - MAXLISTITEMS*screenID) == i) { + lv_checkbox_set_checked(cbOption[i], true); + } + } + } +} + +CheckboxList::~CheckboxList() { + lv_obj_clean(lv_scr_act()); + settingsController.SaveSettings(); +} + +void CheckboxList::UpdateSelected(lv_obj_t* object, lv_event_t event) { + if (event == LV_EVENT_VALUE_CHANGED) { + for (unsigned int i = 0; i < options.size(); i++) { + if (strcmp(options[i], "")) { + if (object == cbOption[i]) { + lv_checkbox_set_checked(cbOption[i], true); + (settingsController.*SetOptionIndex)(MAXLISTITEMS*screenID + i); + } else { + lv_checkbox_set_checked(cbOption[i], false); + } + } + } + } +} diff --git a/src/displayapp/screens/CheckboxList.h b/src/displayapp/screens/CheckboxList.h new file mode 100644 index 00000000..6660acde --- /dev/null +++ b/src/displayapp/screens/CheckboxList.h @@ -0,0 +1,49 @@ +#pragma once + +#include +#include +#include +#include "displayapp/screens/Screen.h" +#include "displayapp/Apps.h" +#include "components/settings/Settings.h" + +#define MAXLISTITEMS 4 + +namespace Pinetime { + namespace Applications { + namespace Screens { + class CheckboxList : public Screen { + public: + CheckboxList(const uint8_t screenID, + const uint8_t numScreens, + DisplayApp* app, + Controllers::Settings& settingsController, + const char* optionsTitle, + const char* optionsSymbol, + void (Controllers::Settings::*SetOptionIndex)(uint8_t), + uint8_t (Controllers::Settings::*GetOptionIndex)() const, + std::array options); + + ~CheckboxList() override; + + void UpdateSelected(lv_obj_t* object, lv_event_t event); + + private: + const uint8_t screenID; + Controllers::Settings& settingsController; + const char* optionsTitle; + const char* optionsSymbol; + void (Controllers::Settings::*SetOptionIndex)(uint8_t); + uint8_t (Controllers::Settings::*GetOptionIndex)() const; + std::array options; + + lv_obj_t* cbOption[MAXLISTITEMS]; + + lv_point_t pageIndicatorBasePoints[2]; + lv_point_t pageIndicatorPoints[2]; + lv_obj_t* pageIndicatorBase; + lv_obj_t* pageIndicator; + }; + } + } +} -- cgit v1.2.3-70-g09d2 From f6f6f9507f0424398d71183da8f78f1aa1482334 Mon Sep 17 00:00:00 2001 From: Diego Miguel Date: Mon, 21 Mar 2022 10:34:35 +0100 Subject: Use existing fonts in Infineat watchface --- src/CMakeLists.txt | 2 - src/displayapp/fonts/BebasNeue-Regular.ttf | Bin 60576 -> 0 bytes src/displayapp/fonts/BebasNeue_OFL.txt | 93 ---- src/displayapp/fonts/Teko-Light.ttf | Bin 279608 -> 0 bytes src/displayapp/fonts/Teko_OFL.txt | 93 ---- src/displayapp/fonts/bebas_neue_120.c | 659 --------------------------- src/displayapp/fonts/teko_28.c | 453 ------------------ src/displayapp/screens/WatchFaceInfineat.cpp | 49 +- src/displayapp/screens/WatchFaceInfineat.h | 4 +- src/libs/lv_conf.h | 4 +- 10 files changed, 36 insertions(+), 1321 deletions(-) delete mode 100644 src/displayapp/fonts/BebasNeue-Regular.ttf delete mode 100644 src/displayapp/fonts/BebasNeue_OFL.txt delete mode 100644 src/displayapp/fonts/Teko-Light.ttf delete mode 100644 src/displayapp/fonts/Teko_OFL.txt delete mode 100644 src/displayapp/fonts/bebas_neue_120.c delete mode 100644 src/displayapp/fonts/teko_28.c (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 819ad072..3467013d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -479,8 +479,6 @@ list(APPEND SOURCE_FILES displayapp/LittleVgl.cpp displayapp/lv_pinetime_theme.c - displayapp/fonts/bebas_neue_120.c - displayapp/fonts/teko_28.c systemtask/SystemTask.cpp systemtask/SystemMonitor.cpp diff --git a/src/displayapp/fonts/BebasNeue-Regular.ttf b/src/displayapp/fonts/BebasNeue-Regular.ttf deleted file mode 100644 index 76e22b8b..00000000 Binary files a/src/displayapp/fonts/BebasNeue-Regular.ttf and /dev/null differ diff --git a/src/displayapp/fonts/BebasNeue_OFL.txt b/src/displayapp/fonts/BebasNeue_OFL.txt deleted file mode 100644 index da957148..00000000 --- a/src/displayapp/fonts/BebasNeue_OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright © 2010 by Dharma Type. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/displayapp/fonts/Teko-Light.ttf b/src/displayapp/fonts/Teko-Light.ttf deleted file mode 100644 index 679f0137..00000000 Binary files a/src/displayapp/fonts/Teko-Light.ttf and /dev/null differ diff --git a/src/displayapp/fonts/Teko_OFL.txt b/src/displayapp/fonts/Teko_OFL.txt deleted file mode 100644 index 6dd80965..00000000 --- a/src/displayapp/fonts/Teko_OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright (c) 2014, Indian Type Foundry (info@indiantypefoundry.com). - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/displayapp/fonts/bebas_neue_120.c b/src/displayapp/fonts/bebas_neue_120.c deleted file mode 100644 index 3938a2e5..00000000 --- a/src/displayapp/fonts/bebas_neue_120.c +++ /dev/null @@ -1,659 +0,0 @@ -/******************************************************************************* - * Size: 120 px - * Bpp: 1 - * Opts: - ******************************************************************************/ - -#ifdef LV_LVGL_H_INCLUDE_SIMPLE -#include "lvgl.h" -#else -#include "lvgl/lvgl.h" -#endif - -#ifndef BEBAS_NEUE_120 -#define BEBAS_NEUE_120 1 -#endif - -#if BEBAS_NEUE_120 - -/*----------------- - * BITMAPS - *----------------*/ - -/*Store the image of the glyphs*/ -static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { - /* U+0030 "0" */ - 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, - 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, - 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, - 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, - 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, - 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, - 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, - 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x81, 0xff, - 0xfe, 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xfc, - 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xfc, - 0x0, 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0x3f, 0xfe, - 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xff, 0x81, - 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, - 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, - 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0xf, 0xff, - 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, - 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, - 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, - 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, - 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, - - /* U+0031 "1" */ - 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x7, 0xfc, 0x0, - 0x1, 0xff, 0x80, 0x0, 0x3f, 0xf0, 0x0, 0xf, - 0xfe, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x7f, 0xf8, - 0x0, 0x1f, 0xff, 0x0, 0xf, 0xff, 0xe0, 0x3, - 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, - 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, - 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, - 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, - 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, - 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, - 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, - 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, - 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, 0x3f, 0xfe, - 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, - 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, - 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, - 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, - 0x1, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, - 0xff, 0xc0, 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, - 0xf, 0xff, 0x80, 0x1, 0xff, 0xf0, 0x0, 0x3f, - 0xfe, 0x0, 0x7, 0xff, 0xc0, 0x0, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0x0, 0x3, 0xff, 0xe0, 0x0, - 0x7f, 0xfc, 0x0, 0xf, 0xff, 0x80, 0x1, 0xff, - 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x7, 0xff, 0xc0, - 0x0, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0x0, 0x3, - 0xff, 0xe0, 0x0, 0x7f, 0xfc, 0x0, 0xf, 0xff, - 0x80, 0x1, 0xff, 0xf0, - - /* U+0032 "2" */ - 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, - 0xe0, 0x0, 0x1, 0xff, 0xff, 0xf0, 0x0, 0xf, - 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8, - 0x0, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff, - 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x1f, - 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, - 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, - 0xff, 0xff, 0xe7, 0xff, 0xf8, 0x3f, 0xff, 0xcf, - 0xff, 0xc0, 0x1f, 0xff, 0x9f, 0xff, 0x0, 0x1f, - 0xff, 0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xf8, - 0x0, 0x7f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, - 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, 0xc0, 0x1, - 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, - 0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff, - 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, 0xff, - 0xe0, 0x1, 0xff, 0xff, 0xff, 0xc0, 0x3, 0xff, - 0xef, 0xff, 0x80, 0x7, 0xff, 0xc0, 0x0, 0x0, - 0xf, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, 0x0, - 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x1, 0xff, - 0xf8, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, - 0xf, 0xff, 0xc0, 0x0, 0x0, 0x1f, 0xff, 0x80, - 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1, 0xff, - 0xfc, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, - 0xf, 0xff, 0xc0, 0x0, 0x0, 0x3f, 0xff, 0x80, - 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0x1, 0xff, - 0xf8, 0x0, 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, - 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x7f, 0xff, 0x0, - 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x7, 0xff, - 0xf8, 0x0, 0x0, 0x1f, 0xff, 0xe0, 0x0, 0x0, - 0x7f, 0xff, 0x80, 0x0, 0x1, 0xff, 0xfe, 0x0, - 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0xf, 0xff, - 0xe0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, - 0xff, 0xfe, 0x0, 0x0, 0x1, 0xff, 0xf8, 0x0, - 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x1f, 0xff, - 0xc0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, - 0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, - 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0, 0xf, 0xff, - 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, - 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, - 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, - 0xc0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0, - 0x1f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, - 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, - 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, - 0xfb, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, - 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, - 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfb, - 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, - 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xc0, - - /* U+0033 "3" */ - 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, - 0xe0, 0x0, 0x1, 0xff, 0xff, 0xf0, 0x0, 0xf, - 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8, - 0x0, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff, - 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x1f, - 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, - 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, - 0xff, 0xff, 0xe7, 0xff, 0xf8, 0x3f, 0xff, 0xcf, - 0xff, 0xc0, 0x1f, 0xff, 0x9f, 0xff, 0x0, 0x1f, - 0xff, 0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xf8, - 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, - 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, 0xc0, 0x1, - 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, - 0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff, - 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, - 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, - 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, - 0x7, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, - 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0xff, - 0xfc, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, - 0xf, 0xff, 0xe0, 0x0, 0x3f, 0xff, 0xff, 0x80, - 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, - 0xf8, 0x0, 0x1, 0xff, 0xff, 0xe0, 0x0, 0x3, - 0xff, 0xff, 0x0, 0x0, 0x7, 0xff, 0xfc, 0x0, - 0x0, 0xf, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, - 0xfe, 0x0, 0x0, 0x3f, 0xff, 0xfe, 0x0, 0x0, - 0x7f, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, 0xfe, - 0x0, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x3, - 0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, - 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, - 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, - 0x7, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, - 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x1f, - 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, - 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, - 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, - 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, 0xff, 0xfe, - 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, - 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, - 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, - 0xff, 0xff, 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, - 0x1f, 0xff, 0xbf, 0xfe, 0x0, 0x3f, 0xfe, 0x7f, - 0xfe, 0x0, 0xff, 0xfc, 0xff, 0xff, 0x7, 0xff, - 0xf9, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, - 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0x83, - 0xff, 0xff, 0xff, 0xfe, 0x7, 0xff, 0xff, 0xff, - 0xfc, 0x7, 0xff, 0xff, 0xff, 0xf0, 0x7, 0xff, - 0xff, 0xff, 0xc0, 0x7, 0xff, 0xff, 0xff, 0x0, - 0x7, 0xff, 0xff, 0xfc, 0x0, 0x3, 0xff, 0xff, - 0xf0, 0x0, 0x1, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x7f, 0xf0, 0x0, 0x0, - - /* U+0034 "4" */ - 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, - 0xf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x7f, 0xff, - 0x0, 0x0, 0x0, 0x7, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0x3f, 0xff, 0xc0, 0x0, 0x0, 0x3, 0xff, - 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf0, 0x0, - 0x0, 0x0, 0xff, 0xff, 0x80, 0x0, 0x0, 0xf, - 0xff, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, - 0x0, 0x0, 0x7, 0xff, 0xff, 0x0, 0x0, 0x0, - 0x3f, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, - 0xc0, 0x0, 0x0, 0x1f, 0xff, 0xfe, 0x0, 0x0, - 0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xf, 0xff, - 0xff, 0x80, 0x0, 0x0, 0x7f, 0xff, 0xfc, 0x0, - 0x0, 0x7, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x3f, - 0xff, 0xff, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf8, - 0x0, 0x0, 0x1f, 0xff, 0xff, 0xc0, 0x0, 0x0, - 0xff, 0xff, 0xfe, 0x0, 0x0, 0xf, 0xff, 0xff, - 0xf0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x80, 0x0, - 0x3, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x3f, 0xfb, - 0xff, 0xe0, 0x0, 0x1, 0xff, 0xdf, 0xff, 0x0, - 0x0, 0x1f, 0xfc, 0xff, 0xf8, 0x0, 0x0, 0xff, - 0xe7, 0xff, 0xc0, 0x0, 0xf, 0xff, 0x3f, 0xfe, - 0x0, 0x0, 0x7f, 0xf1, 0xff, 0xf0, 0x0, 0x3, - 0xff, 0x8f, 0xff, 0x80, 0x0, 0x3f, 0xf8, 0x7f, - 0xfc, 0x0, 0x1, 0xff, 0xc3, 0xff, 0xe0, 0x0, - 0x1f, 0xfe, 0x1f, 0xff, 0x0, 0x0, 0xff, 0xe0, - 0xff, 0xf8, 0x0, 0x7, 0xff, 0x7, 0xff, 0xc0, - 0x0, 0x7f, 0xf8, 0x3f, 0xfe, 0x0, 0x3, 0xff, - 0x81, 0xff, 0xf0, 0x0, 0x3f, 0xfc, 0xf, 0xff, - 0x80, 0x1, 0xff, 0xc0, 0x7f, 0xfc, 0x0, 0x1f, - 0xfe, 0x3, 0xff, 0xe0, 0x0, 0xff, 0xf0, 0x1f, - 0xff, 0x0, 0x7, 0xff, 0x0, 0xff, 0xf8, 0x0, - 0x7f, 0xf8, 0x7, 0xff, 0xc0, 0x3, 0xff, 0x80, - 0x3f, 0xfe, 0x0, 0x3f, 0xfc, 0x1, 0xff, 0xf0, - 0x1, 0xff, 0xe0, 0xf, 0xff, 0x80, 0xf, 0xfe, - 0x0, 0x7f, 0xfc, 0x0, 0xff, 0xf0, 0x3, 0xff, - 0xe0, 0x7, 0xff, 0x0, 0x1f, 0xff, 0x0, 0x7f, - 0xf8, 0x0, 0xff, 0xf8, 0x3, 0xff, 0xc0, 0x7, - 0xff, 0xc0, 0x3f, 0xfc, 0x0, 0x3f, 0xfe, 0x1, - 0xff, 0xe0, 0x1, 0xff, 0xf0, 0xf, 0xff, 0x0, - 0xf, 0xff, 0x80, 0xff, 0xf0, 0x0, 0x7f, 0xfc, - 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x3f, - 0xfe, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, - 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x0, - 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x3, 0xff, 0xe0, - 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, - 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7, 0xff, - 0xc0, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, - 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xf, - 0xff, 0x80, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, - 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0, - 0x1f, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8, - 0x0, - - /* U+0035 "5" */ - 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, - 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, - 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, - 0x87, 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, - 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x3f, - 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, - 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, - 0xff, 0xff, 0xc3, 0xff, 0xc0, 0x0, 0x0, 0x7, - 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0, - 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfc, - 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1, - 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, - 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, - 0x80, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, - 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, - 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, - 0xf0, 0x1f, 0xe0, 0x3, 0xff, 0xe0, 0xff, 0xf8, - 0x7, 0xff, 0xc7, 0xff, 0xf8, 0xf, 0xff, 0x9f, - 0xff, 0xf8, 0x1f, 0xff, 0x7f, 0xff, 0xf8, 0x3f, - 0xfe, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, - 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, - 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xe7, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, - 0xff, 0xbf, 0xff, 0xe0, 0xff, 0xff, 0x7f, 0xff, - 0x0, 0x7f, 0xff, 0xff, 0xfc, 0x0, 0x7f, 0xff, - 0xff, 0xf8, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, - 0xff, 0xff, 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, - 0x80, 0x3, 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, - 0xff, 0xfe, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, - 0x1f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, - 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, - 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, - 0x3, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, - 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x1f, - 0xff, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xf0, - 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, - 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, - 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, 0xff, 0xfe, - 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, - 0x7f, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, - 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, - 0xff, 0xff, 0x80, 0xf, 0xff, 0xdf, 0xff, 0x0, - 0x1f, 0xff, 0x3f, 0xff, 0x0, 0x7f, 0xfe, 0x7f, - 0xff, 0x83, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, - 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0x3, - 0xff, 0xff, 0xff, 0xfe, 0x3, 0xff, 0xff, 0xff, - 0xf8, 0x3, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, - 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xfe, 0x0, - 0x1, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xff, - 0x80, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, - - /* U+0036 "6" */ - 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x1f, 0xff, - 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, - 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, - 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, - 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf8, - 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, - 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, - 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x81, 0xff, - 0xfe, 0x7f, 0xff, 0x0, 0x7f, 0xfe, 0x7f, 0xfe, - 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, - 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, - 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, - 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, - 0x0, 0x0, 0x0, 0xff, 0xf8, 0x7, 0xfc, 0x0, - 0xff, 0xf8, 0x1f, 0xff, 0x0, 0xff, 0xf8, 0x7f, - 0xff, 0xc0, 0xff, 0xf8, 0xff, 0xff, 0xe0, 0xff, - 0xf9, 0xff, 0xff, 0xf0, 0xff, 0xfb, 0xff, 0xff, - 0xf8, 0xff, 0xfb, 0xff, 0xff, 0xf8, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, - 0xff, 0x81, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x7f, - 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xff, 0xfc, - 0x0, 0x3f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xfc, - 0x0, 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0x3f, 0xfe, - 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xff, 0x81, - 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, - 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, - 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0xf, 0xff, - 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, - 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, - 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, - 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, - 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, - - /* U+0037 "7" */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x1f, - 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, - 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, - 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, - 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, - 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, - 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, - 0x0, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf8, - 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x1, - 0xff, 0xf0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, - 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x3, 0xff, - 0xe0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, - 0x7, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0xc0, - 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0x7, - 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, - 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, - 0x80, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, - 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, - 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x3f, - 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, - 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfe, - 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, - 0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, - 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, - 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, - 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, - 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, - 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, - 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, - 0xe0, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0, - 0x7, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0, - 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0xf, - 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0x80, 0x0, - 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, - 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, - 0x3f, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, - 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x3f, - 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, - 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0xfc, - 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, - 0xff, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, - 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, - 0xf8, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, - 0x1, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xf0, - 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x3, - 0xff, 0xe0, 0x0, 0x0, - - /* U+0038 "8" */ - 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, - 0xfe, 0x0, 0x0, 0xf, 0xff, 0xff, 0xc0, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x1f, - 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, - 0xf8, 0xf, 0xff, 0xff, 0xff, 0xfc, 0xf, 0xff, - 0xff, 0xff, 0xff, 0x7, 0xff, 0xff, 0xff, 0xff, - 0x87, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xfc, - 0xf, 0xff, 0xf1, 0xff, 0xf8, 0x1, 0xff, 0xf8, - 0xff, 0xf8, 0x0, 0x7f, 0xfc, 0xff, 0xfc, 0x0, - 0x3f, 0xff, 0x7f, 0xfc, 0x0, 0xf, 0xff, 0xbf, - 0xfe, 0x0, 0x7, 0xff, 0xdf, 0xff, 0x0, 0x3, - 0xff, 0xef, 0xff, 0x80, 0x1, 0xff, 0xf7, 0xff, - 0xc0, 0x0, 0xff, 0xfb, 0xff, 0xe0, 0x0, 0x7f, - 0xfd, 0xff, 0xf0, 0x0, 0x3f, 0xfe, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0x7f, 0xfc, 0x0, 0xf, 0xff, - 0xbf, 0xfe, 0x0, 0x7, 0xff, 0xdf, 0xff, 0x0, - 0x3, 0xff, 0xef, 0xff, 0x80, 0x1, 0xff, 0xf7, - 0xff, 0xc0, 0x0, 0xff, 0xfb, 0xff, 0xe0, 0x0, - 0x7f, 0xf8, 0xff, 0xf0, 0x0, 0x3f, 0xfc, 0x7f, - 0xfc, 0x0, 0x3f, 0xfe, 0x3f, 0xfe, 0x0, 0x1f, - 0xff, 0xf, 0xff, 0x80, 0x1f, 0xff, 0x7, 0xff, - 0xf0, 0x3f, 0xff, 0x81, 0xff, 0xff, 0xff, 0xff, - 0x80, 0xff, 0xff, 0xff, 0xff, 0x80, 0x3f, 0xff, - 0xff, 0xff, 0x80, 0xf, 0xff, 0xff, 0xff, 0x80, - 0x3, 0xff, 0xff, 0xff, 0x80, 0x0, 0x7f, 0xff, - 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, - 0xff, 0xff, 0xff, 0xf8, 0x0, 0xff, 0xff, 0xff, - 0xfe, 0x0, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, - 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, - 0xf8, 0x7f, 0xff, 0x83, 0xff, 0xfc, 0x3f, 0xff, - 0x0, 0x7f, 0xff, 0x3f, 0xff, 0x0, 0x1f, 0xff, - 0x9f, 0xff, 0x0, 0x7, 0xff, 0xcf, 0xff, 0x80, - 0x3, 0xff, 0xef, 0xff, 0x80, 0x0, 0xff, 0xff, - 0xff, 0xc0, 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, - 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x7, - 0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, 0xff, - 0x0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, 0xff, - 0xff, 0xff, 0xc0, 0x0, 0x7f, 0xff, 0xff, 0xe0, - 0x0, 0x3f, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, - 0x7, 0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, - 0xff, 0x0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, - 0xff, 0xff, 0xff, 0xe0, 0x0, 0xff, 0xff, 0xff, - 0xf0, 0x0, 0x7f, 0xfe, 0xff, 0xfc, 0x0, 0x7f, - 0xfe, 0x7f, 0xff, 0x0, 0x7f, 0xff, 0x3f, 0xff, - 0xe0, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, - 0xc7, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, - 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xe0, - 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, - 0xff, 0xf0, 0x7, 0xff, 0xff, 0xff, 0xf0, 0x1, - 0xff, 0xff, 0xff, 0xf0, 0x0, 0x7f, 0xff, 0xff, - 0xe0, 0x0, 0xf, 0xff, 0xff, 0xe0, 0x0, 0x1, - 0xff, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xfe, 0x0, - 0x0, - - /* U+0039 "9" */ - 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xff, - 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x1, - 0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, - 0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, - 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0, - 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, - 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x7f, - 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x81, 0xff, - 0xfe, 0x7f, 0xfe, 0x0, 0x7f, 0xfe, 0x7f, 0xfc, - 0x0, 0x3f, 0xfe, 0xff, 0xfc, 0x0, 0x3f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, - 0x0, 0x1f, 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xff, - 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xff, 0xfe, 0x0, - 0x7f, 0xff, 0x7f, 0xff, 0x81, 0xff, 0xff, 0x7f, - 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, - 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, - 0x1f, 0xff, 0xff, 0xdf, 0xff, 0x1f, 0xff, 0xff, - 0xdf, 0xff, 0xf, 0xff, 0xff, 0x9f, 0xff, 0x7, - 0xff, 0xff, 0x1f, 0xff, 0x3, 0xff, 0xfe, 0x1f, - 0xff, 0x0, 0xff, 0xf8, 0x1f, 0xff, 0x0, 0x3f, - 0xe0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, - 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, - 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, - 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0x1f, - 0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, - 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, - 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, - 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, - 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xf8, 0x0, 0x1f, - 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xfc, - 0x0, 0x3f, 0xfe, 0x7f, 0xfc, 0x0, 0x7f, 0xfe, - 0x7f, 0xfe, 0x0, 0xff, 0xfe, 0x7f, 0xff, 0x81, - 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x3f, - 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, - 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, - 0xff, 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf0, - 0x7, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, - 0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0, - 0x7f, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0xf8, - 0x0, 0x0, 0x3, 0xff, 0xc0, 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 = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, - {.bitmap_index = 430, .adv_w = 768, .box_w = 27, .box_h = 84, .ofs_x = 10, .ofs_y = 0}, - {.bitmap_index = 714, .adv_w = 768, .box_w = 39, .box_h = 85, .ofs_x = 5, .ofs_y = 0}, - {.bitmap_index = 1129, .adv_w = 768, .box_w = 39, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, - {.bitmap_index = 1549, .adv_w = 768, .box_w = 45, .box_h = 84, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2022, .adv_w = 768, .box_w = 39, .box_h = 85, .ofs_x = 5, .ofs_y = -1}, - {.bitmap_index = 2437, .adv_w = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .ofs_y = -1}, - {.bitmap_index = 2867, .adv_w = 768, .box_w = 40, .box_h = 84, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 3287, .adv_w = 768, .box_w = 41, .box_h = 86, .ofs_x = 3, .ofs_y = -1}, - {.bitmap_index = 3728, .adv_w = 768, .box_w = 40, .box_h = 86, .ofs_x = 4, .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 = 10, .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 - *--------------------*/ - -#if LV_VERSION_CHECK(8, 0, 0) -/*Store all the custom data of the font*/ -static lv_font_fmt_txt_glyph_cache_t cache; -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 = NULL, - .kern_scale = 0, - .cmap_num = 1, - .bpp = 1, - .kern_classes = 0, - .bitmap_format = 0, -#if LV_VERSION_CHECK(8, 0, 0) - .cache = &cache -#endif -}; - - -/*----------------- - * PUBLIC FONT - *----------------*/ - -/*Initialize a public general font descriptor*/ -#if LV_VERSION_CHECK(8, 0, 0) -const lv_font_t bebas_neue_120 = { -#else -lv_font_t bebas_neue_120 = { -#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 = 86, /*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 -#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 - .underline_position = -5, - .underline_thickness = 10, -#endif - .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ -}; - - - -#endif /*#if BEBAS_NEUE_120*/ - diff --git a/src/displayapp/fonts/teko_28.c b/src/displayapp/fonts/teko_28.c deleted file mode 100644 index e72d7ddb..00000000 --- a/src/displayapp/fonts/teko_28.c +++ /dev/null @@ -1,453 +0,0 @@ -/******************************************************************************* - * Size: 28 px - * Bpp: 1 - * Opts: - ******************************************************************************/ - -#ifdef LV_LVGL_H_INCLUDE_SIMPLE -#include "lvgl.h" -#else -#include "lvgl/lvgl.h" -#endif - -#ifndef TEKO_28 -#define TEKO_28 1 -#endif - -#if TEKO_28 - -/*----------------- - * BITMAPS - *----------------*/ - -/*Store the image of the glyphs*/ -static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { - /* U+0020 " " */ - 0x0, - - /* U+0030 "0" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0031 "1" */ - 0xf3, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, - - /* U+0032 "2" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x60, 0xc1, 0x86, 0xc, - 0x38, 0x61, 0xc3, 0x6, 0x18, 0x30, 0xc1, 0xfc, - - /* U+0033 "3" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x60, 0xc1, 0x83, 0x3c, - 0xc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0034 "4" */ - 0x6, 0x6, 0x3, 0x1, 0x81, 0x80, 0xc0, 0xe0, - 0x60, 0x30, 0x31, 0x98, 0xcc, 0x6c, 0x37, 0xfc, - 0xc, 0x6, 0x3, 0x1, 0x80, - - /* U+0035 "5" */ - 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x7e, 0x6, - 0xc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0036 "6" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf0, 0x60, 0xfd, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0037 "7" */ - 0xfe, 0xc, 0x38, 0x60, 0xc1, 0x86, 0xc, 0x18, - 0x30, 0xc1, 0x83, 0x6, 0x18, 0x30, 0x60, 0xc0, - - /* U+0038 "8" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0x7d, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0039 "9" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, - 0xfc, 0x18, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0041 "A" */ - 0x1c, 0xe, 0x7, 0x82, 0xc3, 0x61, 0xb0, 0xd8, - 0x64, 0x33, 0x19, 0x88, 0xcc, 0x67, 0xf3, 0x9, - 0x86, 0xc3, 0x61, 0xe0, 0xc0, - - /* U+0042 "B" */ - 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xc3, 0xfe, - - /* U+0043 "C" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0xc1, - 0x83, 0x6, 0xc, 0x18, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0044 "D" */ - 0xfe, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xc3, 0xfe, - - /* U+0045 "E" */ - 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xfd, - 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0xfc, - - /* U+0046 "F" */ - 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xfd, - 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x80, - - /* U+0047 "G" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0xc1, - 0x9f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0048 "H" */ - 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, - 0xc3, 0xc3, - - /* U+0049 "I" */ - 0xff, 0xff, 0xff, 0xff, 0xf0, - - /* U+004A "J" */ - 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, - 0xc, 0x18, 0x30, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+004B "K" */ - 0xc3, 0xc6, 0xc6, 0xce, 0xcc, 0xcc, 0xd8, 0xd8, - 0xf0, 0xf0, 0xd8, 0xd8, 0xcc, 0xcc, 0xcc, 0xc6, - 0xc6, 0xc3, - - /* U+004C "L" */ - 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xc, - 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xf0, - - /* U+004D "M" */ - 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xfc, 0xff, - 0x3f, 0x4b, 0xd2, 0xf7, 0xbd, 0xef, 0x33, 0xcc, - 0xf3, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x30, - - /* U+004E "N" */ - 0xe3, 0xe3, 0xe3, 0xe3, 0xf3, 0xf3, 0xd3, 0xd3, - 0xdb, 0xdb, 0xcb, 0xcb, 0xcf, 0xcf, 0xc7, 0xc7, - 0xc7, 0xc3, - - /* U+004F "O" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0050 "P" */ - 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0xfb, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x80, - - /* U+0051 "Q" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - 0x30, 0x60, 0x60, - - /* U+0052 "R" */ - 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, - 0xc6, 0xfc, 0xc8, 0xcc, 0xcc, 0xcc, 0xc6, 0xc6, - 0xc6, 0xc3, - - /* U+0053 "S" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0x30, 0x60, 0x7c, - 0xc, 0x18, 0x30, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0054 "T" */ - 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, - - /* U+0055 "U" */ - 0xc7, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc6, 0xf8, - - /* U+0056 "V" */ - 0xc1, 0xe0, 0xd0, 0xcc, 0x66, 0x33, 0x19, 0x8c, - 0xc6, 0x62, 0x13, 0xd, 0x86, 0xc3, 0x61, 0xb0, - 0xd8, 0x28, 0x1c, 0xe, 0x0, - - /* U+0057 "W" */ - 0xc3, 0x87, 0x87, 0xd, 0x8e, 0x1b, 0x1c, 0x36, - 0x38, 0x4c, 0x59, 0x98, 0xb3, 0x31, 0x66, 0x66, - 0xcc, 0x4d, 0x98, 0xd9, 0x31, 0xb2, 0x43, 0x44, - 0x86, 0x8f, 0xd, 0x1e, 0x1e, 0x3c, 0x1c, 0x78, - 0x38, 0x70, - - /* U+0058 "X" */ - 0x61, 0xb1, 0x98, 0xc6, 0x63, 0x61, 0xb0, 0x78, - 0x38, 0xc, 0xe, 0x7, 0x2, 0xc3, 0x61, 0x99, - 0x8c, 0xc6, 0x61, 0xe0, 0xc0, - - /* U+0059 "Y" */ - 0xc3, 0xc3, 0xc3, 0x42, 0x66, 0x66, 0x66, 0x24, - 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, - - /* U+005A "Z" */ - 0xfe, 0xc, 0x18, 0x60, 0xc1, 0x6, 0xc, 0x10, - 0x60, 0xc1, 0x6, 0xc, 0x10, 0x60, 0xc1, 0xfc, - - /* U+0061 "a" */ - 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x6f, 0xc0, - - /* U+0062 "b" */ - 0xc1, 0x83, 0x6, 0xc, 0x1f, 0xb1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, - 0xf0, - - /* U+0063 "c" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x18, 0x30, 0x60, 0xc1, - 0x83, 0x1e, 0x3c, 0x6f, 0x80, - - /* U+0064 "d" */ - 0x6, 0xc, 0x18, 0x30, 0x6f, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8d, - 0xf8, - - /* U+0065 "e" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xff, 0xe0, 0xc1, - 0x83, 0x1e, 0x3c, 0x6f, 0x80, - - /* U+0066 "f" */ - 0x3b, 0x18, 0xc6, 0x7d, 0x8c, 0x63, 0x18, 0xc6, - 0x31, 0x8c, 0x63, 0x18, - - /* U+0067 "g" */ - 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x6f, 0xc1, 0x83, 0x7, 0xf8, - - /* U+0068 "h" */ - 0xc1, 0x83, 0x6, 0xc, 0x1f, 0xb1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, - 0x18, - - /* U+0069 "i" */ - 0xc0, 0x3f, 0xff, 0xff, 0xfc, - - /* U+006A "j" */ - 0x60, 0x0, 0xdb, 0x6d, 0xb6, 0xdb, 0x6d, 0xb6, - 0xf0, - - /* U+006B "k" */ - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc7, 0xc6, 0xc6, - 0xcc, 0xcc, 0xd8, 0xd8, 0xd8, 0xd8, 0xcc, 0xcc, - 0xc6, 0xc6, 0xc7, - - /* U+006C "l" */ - 0xff, 0xff, 0xff, 0xff, 0xfc, - - /* U+006D "m" */ - 0xff, 0xec, 0x63, 0xc6, 0x3c, 0x63, 0xc6, 0x3c, - 0x63, 0xc6, 0x3c, 0x63, 0xc6, 0x3c, 0x63, 0xc6, - 0x3c, 0x63, 0xc6, 0x3c, 0x63, - - /* U+006E "n" */ - 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x78, 0xc0, - - /* U+006F "o" */ - 0x7d, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x6f, 0x80, - - /* U+0070 "p" */ - 0xfd, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x7f, 0xb0, 0x60, 0xc1, 0x80, - - /* U+0071 "q" */ - 0x7f, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x6f, 0xc1, 0x83, 0x6, 0xc, - - /* U+0072 "r" */ - 0xff, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x31, 0x8c, - 0x60, - - /* U+0073 "s" */ - 0x7b, 0x3c, 0xf3, 0xc3, 0xc, 0x1f, 0xc, 0x30, - 0xf3, 0xcd, 0xe0, - - /* U+0074 "t" */ - 0x63, 0x19, 0xf6, 0x31, 0x8c, 0x63, 0x18, 0xc6, - 0x31, 0x8c, 0x38, - - /* U+0075 "u" */ - 0xc7, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, - 0x8f, 0x1e, 0x3c, 0x6f, 0xc0, - - /* U+0076 "v" */ - 0xc3, 0xc6, 0x46, 0x66, 0x66, 0x66, 0x66, 0x64, - 0x6c, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, - - /* U+0077 "w" */ - 0xc3, 0xf, 0xe, 0x34, 0x78, 0xd9, 0xe2, 0x67, - 0x99, 0x9e, 0x66, 0x69, 0x99, 0x26, 0x24, 0xd8, - 0xf3, 0x43, 0xcf, 0xf, 0x3c, 0x3c, 0xf0, 0xf1, - 0xc0, - - /* U+0078 "x" */ - 0x63, 0x31, 0x8d, 0x86, 0xc3, 0x40, 0xe0, 0x60, - 0x38, 0x1c, 0x1b, 0xd, 0x8c, 0xc6, 0x36, 0x18, - - /* U+0079 "y" */ - 0xc3, 0xc3, 0xc2, 0xc6, 0x66, 0x66, 0x66, 0x66, - 0x64, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x8, 0x18, - 0x18, 0x70, - - /* U+007A "z" */ - 0xfc, 0x30, 0x86, 0x18, 0x43, 0xc, 0x21, 0x84, - 0x10, 0xc3, 0xf0 -}; - - -/*--------------------- - * 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 = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1, .adv_w = 162, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 17, .adv_w = 95, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 26, .adv_w = 130, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 42, .adv_w = 144, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 58, .adv_w = 146, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 79, .adv_w = 144, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 95, .adv_w = 158, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 111, .adv_w = 115, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 127, .adv_w = 161, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 143, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 159, .adv_w = 154, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 180, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 198, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 214, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 232, .adv_w = 141, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 248, .adv_w = 136, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 264, .adv_w = 157, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 280, .adv_w = 171, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 298, .adv_w = 89, .box_w = 2, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 303, .adv_w = 135, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 319, .adv_w = 155, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 337, .adv_w = 121, .box_w = 6, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 351, .adv_w = 213, .box_w = 10, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 374, .adv_w = 169, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 392, .adv_w = 161, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 408, .adv_w = 155, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 424, .adv_w = 161, .box_w = 7, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 443, .adv_w = 163, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 461, .adv_w = 146, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 477, .adv_w = 125, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 495, .adv_w = 163, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 511, .adv_w = 143, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 532, .adv_w = 246, .box_w = 15, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 566, .adv_w = 150, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 587, .adv_w = 143, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 605, .adv_w = 122, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 621, .adv_w = 147, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 634, .adv_w = 147, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 651, .adv_w = 146, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 664, .adv_w = 147, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 681, .adv_w = 148, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 694, .adv_w = 88, .box_w = 5, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 706, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 722, .adv_w = 149, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 739, .adv_w = 71, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 744, .adv_w = 71, .box_w = 3, .box_h = 23, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 753, .adv_w = 146, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 772, .adv_w = 71, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 777, .adv_w = 225, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 798, .adv_w = 149, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 811, .adv_w = 152, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 824, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 840, .adv_w = 147, .box_w = 7, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 856, .adv_w = 95, .box_w = 5, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 865, .adv_w = 133, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 876, .adv_w = 88, .box_w = 5, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 887, .adv_w = 149, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 900, .adv_w = 125, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 914, .adv_w = 227, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 939, .adv_w = 141, .box_w = 9, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 955, .adv_w = 138, .box_w = 8, .box_h = 18, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 973, .adv_w = 119, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = 0} -}; - -/*--------------------- - * CHARACTER MAPPING - *--------------------*/ - - - -/*Collect the unicode lists and glyph_id offsets*/ -static const lv_font_fmt_txt_cmap_t cmaps[] = -{ - { - .range_start = 32, .range_length = 1, .glyph_id_start = 1, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 48, .range_length = 10, .glyph_id_start = 2, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 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 - } -}; - - - -/*-------------------- - * ALL CUSTOM DATA - *--------------------*/ - -#if LV_VERSION_CHECK(8, 0, 0) -/*Store all the custom data of the font*/ -static lv_font_fmt_txt_glyph_cache_t cache; -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 = NULL, - .kern_scale = 0, - .cmap_num = 4, - .bpp = 1, - .kern_classes = 0, - .bitmap_format = 0, -#if LV_VERSION_CHECK(8, 0, 0) - .cache = &cache -#endif -}; - - -/*----------------- - * PUBLIC FONT - *----------------*/ - -/*Initialize a public general font descriptor*/ -#if LV_VERSION_CHECK(8, 0, 0) -const lv_font_t teko_28 = { -#else -lv_font_t teko_28 = { -#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 = 23, /*The maximum line height required by the font*/ - .base_line = 4, /*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 = -2, - .underline_thickness = 1, -#endif - .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ -}; - - - -#endif /*#if TEKO_28*/ - diff --git a/src/displayapp/screens/WatchFaceInfineat.cpp b/src/displayapp/screens/WatchFaceInfineat.cpp index c6429111..dfd29f9f 100644 --- a/src/displayapp/screens/WatchFaceInfineat.cpp +++ b/src/displayapp/screens/WatchFaceInfineat.cpp @@ -159,37 +159,49 @@ WatchFaceInfineat::WatchFaceInfineat(DisplayApp* app, timeContainer = lv_obj_create(lv_scr_act(), nullptr); lv_obj_set_style_local_bg_opa(timeContainer, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); - lv_obj_set_size(timeContainer, 185, 185); - lv_obj_align(timeContainer, lv_scr_act(), LV_ALIGN_CENTER, 0, -10); + lv_obj_set_size(timeContainer, 110, 145); + lv_obj_align(timeContainer, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); labelHour = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(labelHour, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &bebas_neue_120); + lv_obj_set_style_local_text_font(labelHour, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); lv_label_set_text(labelHour, "01"); - lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 5); labelMinutes = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(labelMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &bebas_neue_120); + lv_obj_set_style_local_text_font(labelMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); lv_label_set_text(labelMinutes, "00"); lv_obj_align(labelMinutes, timeContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); labelTimeAmPm = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(labelTimeAmPm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &teko_28); + lv_obj_set_style_local_text_font(labelTimeAmPm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); lv_label_set_text(labelTimeAmPm, ""); + lv_obj_align(labelTimeAmPm, timeContainer, LV_ALIGN_OUT_RIGHT_TOP, 0, 15); - labelDate = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_color(labelDate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); - lv_obj_set_style_local_text_font(labelDate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &teko_28); - lv_obj_align(labelDate, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, -1, 0); - lv_label_set_text(labelDate, "Mon 01"); + dateContainer = lv_obj_create(lv_scr_act(), nullptr); + lv_obj_set_style_local_bg_opa(dateContainer, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); + lv_obj_set_size(dateContainer, 40, 50); + lv_obj_align(dateContainer, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 5); + + labelDateDay = lv_label_create(lv_scr_act(), nullptr); + lv_obj_set_style_local_text_color(labelDateDay, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); + lv_obj_set_style_local_text_font(labelDateDay, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + lv_obj_align(labelDateDay, dateContainer, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_label_set_text(labelDateDay, "Mon"); + + labelDateNum = lv_label_create(lv_scr_act(), nullptr); + lv_obj_set_style_local_text_color(labelDateNum, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); + lv_obj_set_style_local_text_font(labelDateNum, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + lv_obj_align(labelDateNum, dateContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + lv_label_set_text(labelDateNum, "01"); bleIcon = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(bleIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); lv_label_set_text(bleIcon, Symbols::bluetooth); - lv_obj_align(bleIcon, labelDate, LV_ALIGN_OUT_BOTTOM_MID, 0, 3); + lv_obj_align(bleIcon, dateContainer, LV_ALIGN_OUT_BOTTOM_MID, 0, 7); stepValue = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); - lv_obj_set_style_local_text_font(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &teko_28); + lv_obj_set_style_local_text_font(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, 10, 0); lv_label_set_text(stepValue, "0"); @@ -432,13 +444,16 @@ void WatchFaceInfineat::Refresh() { if (settingsController.GetClockType() == Controllers::Settings::ClockType::H12) { lv_label_set_text(labelTimeAmPm, ampmChar); - lv_obj_align(labelTimeAmPm, labelHour, LV_ALIGN_OUT_RIGHT_TOP, 5, 20); + lv_obj_align(labelTimeAmPm, timeContainer, LV_ALIGN_OUT_RIGHT_TOP, 0, 10); + lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 5); + lv_obj_align(labelMinutes, timeContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); } if ((year != currentYear) || (month != currentMonth) || (dayOfWeek != currentDayOfWeek) || (day != currentDay)) { - lv_label_set_text_fmt(labelDate, "%s %02d", dateTimeController.DayOfWeekShortToStringLow(), day); - lv_obj_align(labelDate, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 0); - lv_obj_set_size(labelDate, 5, 5); + lv_label_set_text_fmt(labelDateDay, "%s", dateTimeController.DayOfWeekShortToStringLow()); + lv_label_set_text_fmt(labelDateNum, "%02d", day); + lv_obj_align(labelDateDay, dateContainer, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_obj_align(labelDateNum, dateContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); currentYear = year; currentMonth = month; diff --git a/src/displayapp/screens/WatchFaceInfineat.h b/src/displayapp/screens/WatchFaceInfineat.h index c7e21379..da9d9964 100644 --- a/src/displayapp/screens/WatchFaceInfineat.h +++ b/src/displayapp/screens/WatchFaceInfineat.h @@ -93,7 +93,9 @@ namespace Pinetime { lv_obj_t* labelHour; lv_obj_t* labelMinutes; lv_obj_t* labelTimeAmPm; - lv_obj_t* labelDate; + lv_obj_t* dateContainer; + lv_obj_t* labelDateDay; + lv_obj_t* labelDateNum; lv_obj_t* bleIcon; lv_obj_t* stepIcon; lv_obj_t* stepValue; diff --git a/src/libs/lv_conf.h b/src/libs/lv_conf.h index 7cabcdba..73109c5a 100644 --- a/src/libs/lv_conf.h +++ b/src/libs/lv_conf.h @@ -418,9 +418,7 @@ typedef void* lv_indev_drv_user_data_t; /*Type of user data in the in LV_FONT_DECLARE(jetbrains_mono_42) \ LV_FONT_DECLARE(jetbrains_mono_76) \ LV_FONT_DECLARE(open_sans_light) \ - LV_FONT_DECLARE(lv_font_sys_48) \ - LV_FONT_DECLARE(bebas_neue_120) \ - LV_FONT_DECLARE(teko_28) + LV_FONT_DECLARE(lv_font_sys_48) /* Enable it if you have fonts with a lot of characters. * The limit depends on the font size, font face and bpp -- cgit v1.2.3-70-g09d2 From 4cf73fc169ec1f95abd9d50d5cad08538f7b947c Mon Sep 17 00:00:00 2001 From: Jean-François Milants Date: Sun, 11 Sep 2022 16:22:28 +0200 Subject: Infineat : Add support for external resources, and read the images and fonts from the ilesystem --- src/CMakeLists.txt | 1 - src/displayapp/DisplayApp.cpp | 9 +- src/displayapp/DisplayApp.h | 4 +- src/displayapp/fonts/jetbrains_mono_bold_20.c | 1344 ------------------------- src/displayapp/icons/logo_pine.c | 59 -- src/displayapp/screens/Clock.cpp | 7 +- src/displayapp/screens/Clock.h | 4 +- src/displayapp/screens/Symbols.h | 1 - src/displayapp/screens/WatchFaceInfineat.cpp | 93 +- src/displayapp/screens/WatchFaceInfineat.h | 8 +- src/main.cpp | 3 +- src/resources/fonts.json | 2 +- src/resources/images.json | 2 +- 13 files changed, 92 insertions(+), 1445 deletions(-) delete mode 100644 src/displayapp/fonts/jetbrains_mono_bold_20.c delete mode 100644 src/displayapp/icons/logo_pine.c (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0846b95c..8755579b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -425,7 +425,6 @@ list(APPEND SOURCE_FILES ## Watch faces displayapp/icons/bg_clock.c - displayapp/icons/logo_pine.c displayapp/screens/WatchFaceAnalog.cpp displayapp/screens/WatchFaceDigital.cpp displayapp/screens/WatchFaceInfineat.cpp diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 29684466..0d4d7ca9 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -75,7 +75,8 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, Pinetime::Controllers::TimerController& timerController, Pinetime::Controllers::AlarmController& alarmController, Pinetime::Controllers::BrightnessController& brightnessController, - Pinetime::Controllers::TouchHandler& touchHandler) + Pinetime::Controllers::TouchHandler& touchHandler, + Pinetime::Controllers::FS& filesystem) : lcd {lcd}, lvgl {lvgl}, touchPanel {touchPanel}, @@ -91,7 +92,8 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, timerController {timerController}, alarmController {alarmController}, brightnessController {brightnessController}, - touchHandler {touchHandler} { + touchHandler {touchHandler}, + filesystem{filesystem} { } void DisplayApp::Start(System::BootErrors error) { @@ -324,7 +326,8 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) notificationManager, settingsController, heartRateController, - motionController); + motionController, + filesystem); break; case Apps::Error: diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 43972232..ae605114 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -62,7 +62,8 @@ namespace Pinetime { Pinetime::Controllers::TimerController& timerController, Pinetime::Controllers::AlarmController& alarmController, Pinetime::Controllers::BrightnessController& brightnessController, - Pinetime::Controllers::TouchHandler& touchHandler); + Pinetime::Controllers::TouchHandler& touchHandler, + Pinetime::Controllers::FS& filesystem); void Start(System::BootErrors error); void PushMessage(Display::Messages msg); @@ -90,6 +91,7 @@ namespace Pinetime { Pinetime::Controllers::AlarmController& alarmController; Pinetime::Controllers::BrightnessController& brightnessController; Pinetime::Controllers::TouchHandler& touchHandler; + Pinetime::Controllers::FS& filesystem; Pinetime::Controllers::FirmwareValidator validator; diff --git a/src/displayapp/fonts/jetbrains_mono_bold_20.c b/src/displayapp/fonts/jetbrains_mono_bold_20.c deleted file mode 100644 index 50c442dd..00000000 --- a/src/displayapp/fonts/jetbrains_mono_bold_20.c +++ /dev/null @@ -1,1344 +0,0 @@ -/******************************************************************************* - * Size: 20 px - * Bpp: 1 - * Opts: - ******************************************************************************/ - -#ifdef LV_LVGL_H_INCLUDE_SIMPLE -#include "lvgl.h" -#else -#include "lvgl/lvgl.h" -#endif - -#ifndef JETBRAINS_MONO_BOLD_20 -#define JETBRAINS_MONO_BOLD_20 1 -#endif - -#if JETBRAINS_MONO_BOLD_20 - -/*----------------- - * BITMAPS - *----------------*/ - -/*Store the image of the glyphs*/ -static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { - /* U+0020 " " */ - 0x0, - - /* U+0021 "!" */ - 0xff, 0xff, 0xff, 0xfc, 0xf, 0xc0, - - /* U+0022 "\"" */ - 0xef, 0xdf, 0xbf, 0x7e, 0xfd, 0xc0, - - /* U+0023 "#" */ - 0x8, 0xc3, 0x18, 0x62, 0x3f, 0xf7, 0xfe, 0x23, - 0xc, 0x61, 0x88, 0xff, 0xdf, 0xf8, 0x8c, 0x11, - 0x86, 0x30, 0xc4, 0x0, - - /* U+0024 "$" */ - 0x8, 0x2, 0x0, 0x81, 0xfc, 0x7f, 0xba, 0x7e, - 0x9f, 0xa0, 0xf8, 0x1f, 0x83, 0xf8, 0x3f, 0x9, - 0xfa, 0x7e, 0x9d, 0xfe, 0x7f, 0x2, 0x0, 0x80, - 0x20, - - /* U+0025 "%" */ - 0x78, 0x3f, 0xc6, 0xcc, 0xcc, 0xcc, 0xfd, 0x87, - 0xb0, 0x6, 0x0, 0x7e, 0xf, 0xf1, 0xb3, 0x33, - 0x33, 0x33, 0x63, 0xfc, 0x1e, - - /* U+0026 "&" */ - 0x1e, 0xf, 0xe1, 0x8e, 0x30, 0x6, 0x0, 0x60, - 0x1e, 0x7, 0xe6, 0xed, 0xdc, 0xf3, 0x9e, 0x73, - 0xcf, 0xfc, 0xf9, 0x80, - - /* U+0027 "'" */ - 0xff, 0xff, 0xc0, - - /* U+0028 "(" */ - 0x2, 0x1c, 0x79, 0xc7, 0x1e, 0x38, 0x70, 0xe1, - 0xc3, 0x87, 0xe, 0x1c, 0x3c, 0x38, 0x3c, 0x3c, - 0x38, - - /* U+0029 ")" */ - 0x1, 0xc3, 0xc3, 0xc1, 0xc3, 0xc3, 0x87, 0xe, - 0x1c, 0x38, 0x70, 0xe1, 0xc7, 0xe, 0x79, 0xe3, - 0x0, - - /* U+002A "*" */ - 0xc, 0x3, 0x8, 0xc7, 0xb7, 0x7f, 0x83, 0x1, - 0xe0, 0xcc, 0x73, 0x80, 0x0, - - /* U+002B "+" */ - 0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1, - 0xc0, 0x70, 0x1c, 0x0, - - /* U+002C "," */ - 0x7b, 0x9c, 0xce, 0x60, - - /* U+002D "-" */ - 0xff, 0xf0, - - /* U+002E "." */ - 0xff, 0xf0, - - /* U+002F "/" */ - 0x1, 0xc0, 0x60, 0x38, 0xe, 0x3, 0x1, 0xc0, - 0x70, 0x18, 0xe, 0x3, 0x1, 0xc0, 0x70, 0x18, - 0xe, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0, - - /* U+0030 "0" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f, - 0xdf, 0xf7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0031 "1" */ - 0x1e, 0x3f, 0x3f, 0x99, 0xc8, 0xe0, 0x70, 0x38, - 0x1c, 0xe, 0x7, 0x3, 0x81, 0xcf, 0xff, 0xfc, - - /* U+0032 "2" */ - 0x3e, 0x3f, 0xbd, 0xfc, 0x70, 0x38, 0x1c, 0x1c, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0xf, 0xff, 0xfc, - - /* U+0033 "3" */ - 0x7f, 0x9f, 0xe0, 0x30, 0x18, 0xc, 0x7, 0xc1, - 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0034 "4" */ - 0x7, 0x7, 0x3, 0x83, 0x83, 0x83, 0xc1, 0xcf, - 0xe7, 0xe3, 0xff, 0xff, 0xe0, 0x70, 0x38, 0x1c, - - /* U+0035 "5" */ - 0x7f, 0x9f, 0xe7, 0x1, 0xc0, 0x77, 0x1f, 0xe7, - 0x3c, 0x7, 0x1, 0xc0, 0x77, 0x1d, 0xcf, 0x7f, - 0x87, 0xc0, - - /* U+0036 "6" */ - 0xe, 0x3, 0x1, 0xc0, 0x60, 0x38, 0x1d, 0xc7, - 0xfb, 0xcf, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0x80, - - /* U+0037 "7" */ - 0xff, 0xff, 0xfe, 0x1f, 0x86, 0x3, 0x80, 0xe0, - 0x30, 0x1c, 0x6, 0x3, 0x80, 0xc0, 0x70, 0x1c, - 0xe, 0x0, - - /* U+0038 "8" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xdc, 0xe3, - 0xf0, 0xfc, 0x73, 0xb8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0039 "9" */ - 0x1e, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f, - 0x3d, 0xfe, 0x3b, 0x81, 0xc0, 0x60, 0x38, 0xc, - 0x7, 0x0, - - /* U+003A ":" */ - 0xff, 0x80, 0x0, 0xff, 0x80, - - /* U+003B ";" */ - 0x7b, 0xde, 0x0, 0x0, 0x0, 0x3, 0xdc, 0xe6, - 0x73, 0x0, - - /* U+003C "<" */ - 0x0, 0x81, 0xc3, 0xe7, 0xcf, 0x6, 0x3, 0xc0, - 0x7c, 0xf, 0x81, 0xc0, 0x20, - - /* U+003D "=" */ - 0xff, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xfe, - - /* U+003E ">" */ - 0x80, 0x70, 0x3e, 0x7, 0xc0, 0xf8, 0xc, 0x1e, - 0x3c, 0xf8, 0x70, 0x20, 0x0, - - /* U+003F "?" */ - 0xfc, 0xfe, 0xf, 0x7, 0x7, 0xf, 0x3e, 0x3c, - 0x30, 0x30, 0x0, 0x0, 0x70, 0x70, - - /* U+0040 "@" */ - 0x1f, 0x7, 0xf9, 0xc3, 0x70, 0x3c, 0x7, 0x8e, - 0xf3, 0xfe, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe6, - 0x3c, 0xff, 0x8e, 0xf8, 0x3, 0x80, 0x3e, 0x3, - 0xc0, - - /* U+0041 "A" */ - 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3, - 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1, - 0xf0, 0x30, - - /* U+0042 "B" */ - 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xef, - 0xe3, 0xfc, 0xe3, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0xc0, - - /* U+0043 "C" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, - 0x3, 0x80, 0xe0, 0x38, 0xe, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0044 "D" */ - 0xfe, 0x7f, 0xb9, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0xff, 0xf7, 0xf0, - - /* U+0045 "E" */ - 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0xfd, - 0xfe, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc, - - /* U+0046 "F" */ - 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0xff, - 0xff, 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x0, - - /* U+0047 "G" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, - 0x7f, 0x9f, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0048 "H" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff, - 0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, - - /* U+0049 "I" */ - 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff, - - /* U+004A "J" */ - 0x1f, 0xc7, 0xf0, 0x1c, 0x7, 0x1, 0xc0, 0x70, - 0x1c, 0x7, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+004B "K" */ - 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf, - 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1, - 0xf8, 0x70, - - /* U+004C "L" */ - 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, - 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc, - - /* U+004D "M" */ - 0xf3, 0xfc, 0xfd, 0x3f, 0xcf, 0xff, 0xff, 0xfe, - 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, - 0xf8, 0x70, - - /* U+004E "N" */ - 0xe1, 0xf0, 0xfc, 0x7e, 0x3f, 0x9e, 0xcf, 0x67, - 0x9b, 0xcd, 0xe6, 0xf1, 0xf8, 0xfc, 0x7e, 0x1c, - - /* U+004F "O" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, - - /* U+0050 "P" */ - 0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff, - 0xfb, 0xfc, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, - 0x38, 0x0, - - /* U+0051 "Q" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e, - 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0x80, 0x70, 0xe, 0x3, 0x80, 0x70, - - /* U+0052 "R" */ - 0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff, - 0xfb, 0xf8, 0xe6, 0x39, 0xce, 0x33, 0x8e, 0xe3, - 0xb8, 0x70, - - /* U+0053 "S" */ - 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0xe0, 0x3e, 0x7, - 0xf0, 0xfe, 0x3, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0054 "T" */ - 0xff, 0xff, 0xf0, 0xe0, 0x38, 0xe, 0x3, 0x80, - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, - 0x3, 0x80, - - /* U+0055 "U" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, - - /* U+0056 "V" */ - 0xc0, 0xf8, 0x7e, 0x1d, 0x86, 0x61, 0x9c, 0xe7, - 0x38, 0xcc, 0x33, 0xe, 0xc3, 0xf0, 0x78, 0x1e, - 0x7, 0x80, - - /* U+0057 "W" */ - 0xce, 0x79, 0xcf, 0x29, 0xe5, 0x3c, 0xa7, 0xd5, - 0xda, 0xb3, 0x56, 0x7b, 0xcf, 0x79, 0xef, 0x38, - 0xe7, 0x1c, 0xe3, 0x80, - - /* U+0058 "X" */ - 0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81, - 0xe0, 0x78, 0x1e, 0xf, 0xc3, 0x31, 0xce, 0xe1, - 0xf8, 0x70, - - /* U+0059 "Y" */ - 0xe0, 0xfc, 0x1d, 0xc7, 0x38, 0xe3, 0xb8, 0x77, - 0x6, 0xc0, 0xf8, 0xe, 0x1, 0xc0, 0x38, 0x7, - 0x0, 0xe0, 0x1c, 0x0, - - /* U+005A "Z" */ - 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0x70, 0x70, 0x70, - 0x38, 0x38, 0x38, 0x1c, 0x1c, 0xf, 0xff, 0xfc, - - /* U+005B "[" */ - 0xff, 0xfe, 0x38, 0xe3, 0x8e, 0x38, 0xe3, 0x8e, - 0x38, 0xe3, 0x8e, 0x38, 0xff, 0xf0, - - /* U+005C "\\" */ - 0xe0, 0x18, 0x7, 0x1, 0xc0, 0x30, 0xe, 0x3, - 0x80, 0x60, 0x1c, 0x3, 0x0, 0xe0, 0x38, 0x6, - 0x1, 0xc0, 0x70, 0xc, 0x3, 0x80, 0x60, 0x1c, - - /* U+005D "]" */ - 0xff, 0xf1, 0xc7, 0x1c, 0x71, 0xc7, 0x1c, 0x71, - 0xc7, 0x1c, 0x71, 0xc7, 0xff, 0xf0, - - /* U+005E "^" */ - 0xc, 0x7, 0x81, 0xe0, 0xfc, 0x33, 0x1c, 0xe6, - 0x19, 0x86, - - /* U+005F "_" */ - 0xff, 0xff, 0xf0, - - /* U+0060 "`" */ - 0xe3, 0x8c, - - /* U+0061 "a" */ - 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, - 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc, - - /* U+0062 "b" */ - 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7f, 0xf7, 0x70, - - /* U+0063 "c" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, - 0x3, 0x87, 0xf3, 0xdf, 0xe3, 0xf0, - - /* U+0064 "d" */ - 0x3, 0x81, 0xc0, 0xe7, 0x77, 0xff, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf9, 0xdc, - - /* U+0065 "e" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81, - 0xc0, 0xe3, 0xbf, 0x8f, 0x80, - - /* U+0066 "f" */ - 0xf, 0xc7, 0xf1, 0xc0, 0x70, 0xff, 0xff, 0xf1, - 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c, - 0x7, 0x0, - - /* U+0067 "g" */ - 0x3b, 0xbf, 0xfd, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xf7, 0xbf, 0xce, 0xe0, 0x70, 0x39, 0xf8, - 0xf8, - - /* U+0068 "h" */ - 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, - - /* U+0069 "i" */ - 0x1c, 0x7, 0x1, 0xc0, 0x0, 0x0, 0x3f, 0xf, - 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c, - 0x7, 0xf, 0xff, 0xff, - - /* U+006A "j" */ - 0x7, 0x7, 0x7, 0x0, 0xff, 0xff, 0x7, 0x7, - 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, - 0xf, 0xfe, 0xfc, - - /* U+006B "k" */ - 0xe0, 0x38, 0xe, 0x3, 0x87, 0xe3, 0xb8, 0xee, - 0x73, 0xf8, 0xfe, 0x39, 0xce, 0x33, 0x8e, 0xe1, - 0xb8, 0x70, - - /* U+006C "l" */ - 0xfe, 0x1f, 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, - 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, - 0x0, 0x7e, 0x7, 0xc0, - - /* U+006D "m" */ - 0xd9, 0xbf, 0xfc, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, - 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcc, - - /* U+006E "n" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, - - /* U+006F "o" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, - - /* U+0070 "p" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3, - 0x80, - - /* U+0071 "q" */ - 0x3b, 0xbf, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0xce, 0xe0, 0x70, 0x38, 0x1c, - 0xe, - - /* U+0072 "r" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x3, 0x81, - 0xc0, 0xe0, 0x70, 0x38, 0x0, - - /* U+0073 "s" */ - 0x1f, 0x1f, 0xf7, 0x1d, 0xc0, 0x7c, 0xf, 0xe0, - 0x3c, 0x7, 0x71, 0xdf, 0xf3, 0xf0, - - /* U+0074 "t" */ - 0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1, - 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1f, - 0xc3, 0xf0, - - /* U+0075 "u" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, - - /* U+0076 "v" */ - 0xc0, 0xf8, 0x7e, 0x1d, 0x86, 0x73, 0x8c, 0xc3, - 0x30, 0xfc, 0x1e, 0x7, 0x81, 0xe0, - - /* U+0077 "w" */ - 0xc6, 0x36, 0x66, 0x66, 0x66, 0xf6, 0x6f, 0x66, - 0x96, 0x69, 0x62, 0x94, 0x29, 0x43, 0x9c, 0x39, - 0xc0, - - /* U+0078 "x" */ - 0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81, - 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c, - - /* U+0079 "y" */ - 0xe0, 0xf8, 0x76, 0x19, 0xce, 0x73, 0x8c, 0xc3, - 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c, - 0x6, 0x3, 0x80, - - /* U+007A "z" */ - 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0x7f, 0xff, 0xe0, - - /* U+007B "{" */ - 0x7, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38, - 0x1c, 0xfc, 0x7e, 0x3, 0x81, 0xc0, 0xe0, 0x70, - 0x30, 0x1c, 0xf, 0x83, 0xc0, - - /* U+007C "|" */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - - /* U+007D "}" */ - 0xf0, 0x7c, 0xe, 0x7, 0x3, 0x81, 0xc0, 0xe0, - 0x70, 0x1f, 0x8f, 0xce, 0x7, 0x3, 0x81, 0xc0, - 0x60, 0x70, 0xf8, 0x78, 0x0, - - /* U+007E "~" */ - 0x78, 0xff, 0x3c, 0xcf, 0x3f, 0xc7, 0x80, - - /* U+0410 "А" */ - 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3, - 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1, - 0xf0, 0x30, - - /* U+0411 "Б" */ - 0xff, 0xbf, 0xee, 0x3, 0x80, 0xe0, 0x3f, 0xcf, - 0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0xc0, - - /* U+0412 "В" */ - 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xef, - 0xe3, 0xfc, 0xe3, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0xc0, - - /* U+0413 "Г" */ - 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0x81, - 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x0, - - /* U+0414 "Д" */ - 0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73, - 0x8e, 0x71, 0xce, 0x39, 0xc7, 0x38, 0xe7, 0x38, - 0xef, 0xff, 0xff, 0xf8, 0x3f, 0x7, 0xe0, 0xe0, - - /* U+0415 "Е" */ - 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0xfd, - 0xfe, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc, - - /* U+0416 "Ж" */ - 0xe6, 0x76, 0x66, 0x66, 0x67, 0x66, 0x36, 0xc3, - 0x6c, 0x3f, 0xc3, 0x6c, 0x36, 0xc7, 0x6e, 0x66, - 0x66, 0x66, 0x66, 0x6c, 0x63, - - /* U+0417 "З" */ - 0x3f, 0x1f, 0xef, 0x1f, 0x87, 0x1, 0xc7, 0xc1, - 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f, - 0x8f, 0x80, - - /* U+0418 "И" */ - 0xc3, 0xe3, 0xf1, 0xf8, 0xfc, 0xde, 0x6f, 0x37, - 0xb3, 0xd9, 0xfc, 0xfc, 0x7e, 0x3e, 0x1f, 0xc, - - /* U+0419 "Й" */ - 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0x1f, - 0x8f, 0xc7, 0xe7, 0xf3, 0x79, 0xbd, 0x9e, 0xcf, - 0xe7, 0xe3, 0xf1, 0xf8, 0xf8, 0x60, - - /* U+041A "К" */ - 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf, - 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1, - 0xf8, 0x70, - - /* U+041B "Л" */ - 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73, - 0x9c, 0xe7, 0x39, 0xce, 0x73, 0x9d, 0xe7, 0xf1, - 0xf8, 0x70, - - /* U+041C "М" */ - 0xf3, 0xfc, 0xfd, 0x3f, 0xcf, 0xff, 0xff, 0xfe, - 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, - 0xf8, 0x70, - - /* U+041D "Н" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff, - 0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, - - /* U+041E "О" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, - - /* U+041F "П" */ - 0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c, - - /* U+0420 "Р" */ - 0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff, - 0xfb, 0xfc, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, - 0x38, 0x0, - - /* U+0421 "С" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, - 0x3, 0x80, 0xe0, 0x38, 0xe, 0x1f, 0xcf, 0x7f, - 0x8f, 0xc0, - - /* U+0422 "Т" */ - 0xff, 0xff, 0xf0, 0xe0, 0x38, 0xe, 0x3, 0x80, - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, - 0x3, 0x80, - - /* U+0423 "У" */ - 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3, - 0xb0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c, - 0x6, 0x0, - - /* U+0424 "Ф" */ - 0xc, 0xf, 0xc7, 0xfb, 0xb7, 0xcc, 0xf3, 0x3c, - 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f, - 0x8f, 0xc0, 0xc0, 0x30, - - /* U+0425 "Х" */ - 0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81, - 0xe0, 0x78, 0x1e, 0xf, 0xc3, 0x31, 0xce, 0xe1, - 0xf8, 0x70, - - /* U+0426 "Ц" */ - 0xe3, 0xb8, 0xee, 0x3b, 0x8e, 0xe3, 0xb8, 0xee, - 0x3b, 0x8e, 0xe3, 0xb8, 0xee, 0x3b, 0x8e, 0xff, - 0xff, 0xf0, 0x1c, 0x7, 0x1, 0xc0, - - /* U+0427 "Ч" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xff, 0x3f, 0x81, 0xc0, 0xe0, 0x70, 0x38, 0x1c, - - /* U+0428 "Ш" */ - 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, - 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xff, - 0xff, 0xf0, - - /* U+0429 "Щ" */ - 0xcc, 0xd9, 0x9b, 0x33, 0x66, 0x6c, 0xcd, 0x99, - 0xb3, 0x36, 0x66, 0xcc, 0xd9, 0x9b, 0x33, 0x66, - 0x6f, 0xff, 0xff, 0xc0, 0x18, 0x3, - - /* U+042A "Ъ" */ - 0xfc, 0xf, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, - 0xfc, 0x1f, 0xe1, 0xcf, 0x1c, 0x71, 0xc7, 0x1c, - 0x71, 0xcf, 0x1f, 0xe1, 0xfc, - - /* U+042B "Ы" */ - 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xfe, 0x3f, - 0xcf, 0x3b, 0xc6, 0xf1, 0xbc, 0x6f, 0x3b, 0xfc, - 0xfe, 0x30, - - /* U+042C "Ь" */ - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x3f, 0xcf, - 0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff, - 0xbf, 0x80, - - /* U+042D "Э" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x70, 0x38, 0x1c, 0x7e, - 0x3f, 0x3, 0x81, 0xf8, 0xfc, 0x77, 0xf1, 0xf0, - - /* U+042E "Ю" */ - 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xcc, 0xff, 0x3f, - 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcf, - 0xf1, 0xe0, - - /* U+042F "Я" */ - 0x3f, 0xdf, 0xff, 0x1f, 0x87, 0xe1, 0xfc, 0x77, - 0xfc, 0x7f, 0x19, 0xce, 0x73, 0x1d, 0xc7, 0x71, - 0xf8, 0x70, - - /* U+0430 "а" */ - 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe, - 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc, - - /* U+0431 "б" */ - 0x1f, 0x3f, 0x9c, 0x1c, 0xe, 0xe7, 0xfb, 0x9f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xfe, 0xf7, 0xf1, 0xf0, - - /* U+0432 "в" */ - 0xff, 0x3f, 0xee, 0x3b, 0x8e, 0xfe, 0x3f, 0xee, - 0x1f, 0x87, 0xe1, 0xff, 0xef, 0xf0, - - /* U+0433 "г" */ - 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, - - /* U+0434 "д" */ - 0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73, - 0x8e, 0x71, 0xce, 0x71, 0xdf, 0xff, 0xff, 0xf0, - 0x7e, 0xf, 0xc1, 0xc0, - - /* U+0435 "е" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81, - 0xc0, 0xe3, 0xbf, 0x8f, 0x80, - - /* U+0436 "ж" */ - 0xe6, 0x76, 0x66, 0x66, 0x63, 0x6c, 0x36, 0xc3, - 0xfc, 0x36, 0xc3, 0x6e, 0x66, 0x66, 0x66, 0xe6, - 0x70, - - /* U+0437 "з" */ - 0x3f, 0x1f, 0xfe, 0x1c, 0x7, 0x1f, 0x7, 0xe0, - 0x1c, 0x7, 0xe1, 0xdf, 0xe3, 0xf0, - - /* U+0438 "и" */ - 0xc3, 0xe3, 0xf1, 0xf9, 0xfc, 0xde, 0xef, 0x67, - 0xb3, 0xf1, 0xf8, 0xf8, 0x60, - - /* U+0439 "й" */ - 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0x1f, - 0x8f, 0xcf, 0xe6, 0xf7, 0x7b, 0x3f, 0x9f, 0x8f, - 0xc7, 0xc3, - - /* U+043A "к" */ - 0xe1, 0xf8, 0xee, 0x3b, 0x9c, 0xfe, 0x3f, 0x8e, - 0x73, 0x8c, 0xe3, 0xb8, 0x6e, 0x1c, - - /* U+043B "л" */ - 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73, - 0x9c, 0xe7, 0x39, 0xfc, 0x7e, 0x1c, - - /* U+043C "м" */ - 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd, - 0xef, 0x33, 0xc0, 0xf0, 0x3c, 0xc, - - /* U+043D "н" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7f, 0xff, 0xff, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, - - /* U+043E "о" */ - 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xbf, 0x8f, 0x80, - - /* U+043F "п" */ - 0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xf1, 0xf8, 0xe0, - - /* U+0440 "р" */ - 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, - 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3, - 0x80, - - /* U+0441 "с" */ - 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe, - 0x3, 0x87, 0xf3, 0xdf, 0xe3, 0xf0, - - /* U+0442 "т" */ - 0xff, 0xff, 0xf0, 0xe0, 0x38, 0xe, 0x3, 0x80, - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, - - /* U+0443 "у" */ - 0xe0, 0xf8, 0x76, 0x19, 0xce, 0x73, 0x8c, 0xc3, - 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c, - 0x6, 0x3, 0x80, - - /* U+0444 "ф" */ - 0xc, 0x3, 0x0, 0xc0, 0xfc, 0x7f, 0xbb, 0x7c, - 0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f, - 0x8f, 0xc0, 0xc0, 0x30, 0xc, 0x3, 0x0, - - /* U+0445 "х" */ - 0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81, - 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c, - - /* U+0446 "ц" */ - 0xe3, 0xb8, 0xee, 0x3b, 0x8e, 0xe3, 0xb8, 0xee, - 0x3b, 0x8e, 0xe3, 0xbf, 0xff, 0xfc, 0x7, 0x1, - 0xc0, 0x70, - - /* U+0447 "ч" */ - 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0xfd, 0xfe, - 0x7, 0x3, 0x81, 0xc0, 0xe0, - - /* U+0448 "ш" */ - 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c, - 0xcf, 0x33, 0xcc, 0xff, 0xff, 0xfc, - - /* U+0449 "щ" */ - 0xcc, 0xd9, 0x9b, 0x33, 0x66, 0x6c, 0xcd, 0x99, - 0xb3, 0x36, 0x66, 0xcc, 0xdf, 0xff, 0xff, 0x80, - 0x30, 0x6, - - /* U+044A "ъ" */ - 0xfc, 0xf, 0xc0, 0x1c, 0x1, 0xc0, 0x1f, 0xc1, - 0xfe, 0x1c, 0x71, 0xc7, 0x1c, 0x71, 0xfe, 0x1f, - 0xc0, - - /* U+044B "ы" */ - 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xf8, 0xff, 0x3c, - 0xef, 0x1b, 0xc6, 0xff, 0x3f, 0x8c, - - /* U+044C "ь" */ - 0xe0, 0x38, 0xe, 0x3, 0x80, 0xff, 0x3f, 0xee, - 0x1f, 0x87, 0xe1, 0xff, 0xef, 0xf0, - - /* U+044D "э" */ - 0x1f, 0x1f, 0xe6, 0x3c, 0x7, 0xf, 0xc3, 0xf0, - 0x1d, 0x87, 0x73, 0xdf, 0xe1, 0xf0, - - /* U+044E "ю" */ - 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xfc, 0xff, 0x3c, - 0xcf, 0x33, 0xcc, 0xf3, 0xfc, 0x78, - - /* U+044F "я" */ - 0x3f, 0xbf, 0xf8, 0xfc, 0x7e, 0x3b, 0xfc, 0xfe, - 0x77, 0x33, 0xb9, 0xf8, 0xe0, - - /* U+F001 "" */ - 0x0, 0x0, 0x70, 0x0, 0x7f, 0x0, 0x3f, 0xf0, - 0x1f, 0xff, 0x7, 0xff, 0xf0, 0x7f, 0xff, 0x7, - 0xfc, 0x70, 0x7e, 0x7, 0x7, 0x0, 0x70, 0x70, - 0x7, 0x7, 0x0, 0x70, 0x70, 0x7, 0x7, 0x0, - 0x70, 0x70, 0x7f, 0x7, 0xf, 0xf7, 0xf0, 0xff, - 0xff, 0x7, 0xef, 0xf0, 0x10, 0xff, 0x0, 0x3, - 0xc0, 0x0, - - /* U+F015 "" */ - 0x0, 0x38, 0xe0, 0x0, 0xf9, 0xc0, 0x3, 0xfb, - 0x80, 0x1e, 0x3f, 0x0, 0x79, 0x3e, 0x1, 0xe7, - 0x3c, 0xf, 0x9f, 0xbc, 0x3c, 0xff, 0x9e, 0xf3, - 0xff, 0x9e, 0xcf, 0xff, 0x98, 0x3f, 0xff, 0x80, - 0x7f, 0xff, 0x0, 0xfc, 0x7e, 0x1, 0xf8, 0xfc, - 0x3, 0xf1, 0xf8, 0x7, 0xe3, 0xf0, 0xf, 0xc7, - 0xe0, - - /* U+F017 "" */ - 0x3, 0xf8, 0x1, 0xff, 0xc0, 0x7f, 0xfc, 0x1f, - 0xff, 0xc7, 0xf1, 0xfc, 0xfe, 0x3f, 0x9f, 0xc7, - 0xf7, 0xf8, 0xff, 0xff, 0x1f, 0xff, 0xe3, 0xff, - 0xfc, 0x3f, 0xff, 0x83, 0xff, 0xfc, 0x7e, 0xff, - 0xcf, 0x9f, 0xff, 0xf1, 0xff, 0xfc, 0x1f, 0xff, - 0x1, 0xff, 0xc0, 0x1f, 0xf0, 0x0, 0x70, 0x0, - - /* U+F024 "" */ - 0x70, 0x0, 0xf, 0x80, 0x0, 0xf9, 0x0, 0xf, - 0xff, 0xf, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0x7f, - 0xff, 0xf7, 0xff, 0xff, 0x7f, 0xff, 0xf7, 0xff, - 0xff, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0x7f, 0xff, - 0xf7, 0xff, 0xff, 0x7f, 0xff, 0xe7, 0x0, 0xf8, - 0x70, 0x0, 0x7, 0x0, 0x0, 0x70, 0x0, 0x7, - 0x0, 0x0, - - /* U+F027 "" */ - 0x0, 0xc0, 0x3, 0x80, 0xf, 0x0, 0x3e, 0xf, - 0xfc, 0x9f, 0xf9, 0xbf, 0xf1, 0xff, 0xe3, 0xff, - 0xc7, 0xff, 0x9b, 0xff, 0x20, 0x3e, 0x0, 0x3c, - 0x0, 0x38, 0x0, 0x30, 0x0, - - /* U+F028 "" */ - 0x0, 0x0, 0x40, 0x0, 0x0, 0xc0, 0x3, 0x0, - 0xc0, 0xe, 0x18, 0xc0, 0x3c, 0x39, 0xc0, 0xf8, - 0x39, 0xbf, 0xf2, 0x33, 0xff, 0xe6, 0x33, 0xff, - 0xc6, 0x67, 0xff, 0x8c, 0xcf, 0xff, 0x19, 0x9f, - 0xfe, 0x63, 0x3f, 0xfc, 0x8c, 0xe0, 0xf8, 0x39, - 0x80, 0xf0, 0xe7, 0x0, 0xe1, 0x8c, 0x0, 0xc0, - 0x30, 0x0, 0x0, 0xc0, 0x0, 0x1, 0x0, - - /* U+F029 "" */ - 0xff, 0x3f, 0xff, 0xcf, 0xfe, 0x73, 0x9f, 0x9c, - 0xe7, 0xe7, 0x39, 0xff, 0xcf, 0xff, 0xf3, 0xfc, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf3, - 0xcf, 0xfc, 0xff, 0xff, 0x3f, 0xf9, 0xcf, 0xfe, - 0x73, 0xbf, 0xfc, 0xe0, 0xff, 0x3a, 0xc0, - - /* U+F03A "" */ - 0xf0, 0x0, 0xf, 0x3f, 0xff, 0xf3, 0xff, 0xff, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0xf, 0x0, 0x0, 0xf3, 0xff, 0xff, 0x3f, - 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xf, 0x0, 0x0, 0xf3, 0xff, 0xff, 0x3f, 0xff, - 0xf0, 0x0, 0x0, - - /* U+F048 "" */ - 0xe0, 0x3f, 0x3, 0xf8, 0x3f, 0xc3, 0xfe, 0x3f, - 0xf3, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfb, 0xff, 0xcf, 0xfe, 0x3f, 0xf0, 0xff, 0x83, - 0xfc, 0xf, 0xe0, 0x38, - - /* U+F04B "" */ - 0x0, 0x0, 0x3c, 0x0, 0xf, 0xc0, 0x3, 0xfc, - 0x0, 0xff, 0x80, 0x3f, 0xf8, 0xf, 0xff, 0x83, - 0xff, 0xf8, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x8f, - 0xff, 0x83, 0xff, 0x80, 0xff, 0x80, 0x3f, 0xc0, - 0xf, 0xc0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, - - /* U+F04C "" */ - 0x7e, 0x1f, 0xbf, 0xcf, 0xff, 0xf3, 0xff, 0xfc, - 0xff, 0xff, 0x3f, 0xff, 0xcf, 0xff, 0xf3, 0xff, - 0xfc, 0xff, 0xff, 0x3f, 0xff, 0xcf, 0xff, 0xf3, - 0xff, 0xfc, 0xff, 0xff, 0x3f, 0xff, 0xcf, 0xff, - 0xf3, 0xff, 0xfc, 0xff, 0x7e, 0x1f, 0x80, - - /* U+F04D "" */ - 0x7f, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x80, - - /* U+F051 "" */ - 0xe0, 0x3f, 0x81, 0xfe, 0xf, 0xf8, 0x7f, 0xe3, - 0xff, 0x9f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xef, 0xfe, 0x7f, 0xe3, 0xfe, 0x1f, 0xe0, - 0xfe, 0x7, 0xe0, 0x38, - - /* U+F069 "" */ - 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, - 0x70, 0x6, 0xe, 0xc, 0xf1, 0xc7, 0x9f, 0xbb, - 0xf1, 0xff, 0xfc, 0xf, 0xfe, 0x0, 0x7f, 0x0, - 0xf, 0xe0, 0x7, 0xff, 0x3, 0xff, 0xf8, 0xfd, - 0xdf, 0x9e, 0x38, 0xf3, 0x7, 0x6, 0x0, 0xe0, - 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0x70, 0x0, - - /* U+F06E "" */ - 0x0, 0xfe, 0x0, 0xf, 0xff, 0x80, 0x3e, 0xf, - 0x80, 0xf8, 0xf, 0x83, 0xe3, 0x8f, 0x8f, 0x87, - 0x8f, 0xbf, 0x1f, 0x9f, 0xfe, 0xff, 0x3f, 0xfd, - 0xfe, 0x7e, 0xf9, 0xf8, 0xf8, 0xf9, 0xe3, 0xe0, - 0xf8, 0xf, 0x80, 0xf8, 0x3e, 0x0, 0xff, 0xf0, - 0x0, 0x3f, 0x80, 0x0, - - /* U+F095 "" */ - 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7, 0xf0, - 0x0, 0x7f, 0x0, 0x7, 0xf0, 0x0, 0xff, 0x0, - 0x7, 0xf0, 0x0, 0x3e, 0x0, 0x1, 0xe0, 0x0, - 0x3e, 0x0, 0x3, 0xc0, 0x0, 0x7c, 0x0, 0xf, - 0x81, 0xc1, 0xf0, 0x7e, 0x3e, 0xf, 0xff, 0xc0, - 0xff, 0xf8, 0xf, 0xff, 0x0, 0x7f, 0xc0, 0x7, - 0xf0, 0x0, 0x0, 0x0, 0x0, - - /* U+F111 "" */ - 0x3, 0xf8, 0x1, 0xff, 0xc0, 0x7f, 0xfc, 0x1f, - 0xff, 0xc7, 0xff, 0xfc, 0xff, 0xff, 0xbf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, - 0xff, 0x9f, 0xff, 0xf1, 0xff, 0xfc, 0x1f, 0xff, - 0x1, 0xff, 0xc0, 0xf, 0xe0, 0x0, - - /* U+F129 "" */ - 0x3c, 0x7e, 0x7e, 0x7e, 0x3c, 0x0, 0x0, 0xfc, - 0xfc, 0xfc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, - 0xff, 0xff, 0xff, - - /* U+F185 "" */ - 0x0, 0x60, 0x0, 0x6, 0x0, 0x0, 0xf0, 0x1, - 0xcf, 0x38, 0x1f, 0xff, 0x81, 0xf0, 0xf8, 0xc, - 0xf3, 0x1, 0xdf, 0xb8, 0x7b, 0xfd, 0xef, 0xbf, - 0xdf, 0x7b, 0xfd, 0xe1, 0x9f, 0x98, 0xc, 0xf3, - 0x0, 0xc0, 0x30, 0x1f, 0xf, 0x81, 0xff, 0xf8, - 0x1c, 0xf3, 0x80, 0xf, 0x0, 0x0, 0x60, 0x0, - 0x6, 0x0, - - /* U+F1E6 "" */ - 0x18, 0x30, 0x70, 0x70, 0xe0, 0xe1, 0xc1, 0xc3, - 0x83, 0x80, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x7f, - 0xfc, 0xff, 0xf9, 0xff, 0xf1, 0xff, 0xc3, 0xff, - 0x83, 0xfe, 0x3, 0xf8, 0x1, 0xc0, 0x3, 0x80, - 0x7, 0x0, 0xe, 0x0, - - /* U+F1FC "" */ - 0x0, 0x0, 0xf0, 0x0, 0x1f, 0x0, 0x3, 0xf0, - 0x0, 0x7e, 0x0, 0xf, 0xe0, 0x3, 0xfc, 0x0, - 0x7f, 0xc0, 0xf, 0xf8, 0x0, 0xff, 0x80, 0x1f, - 0xf0, 0x0, 0xfe, 0x0, 0xf, 0xe0, 0xe, 0x7c, - 0x1, 0xf8, 0x0, 0x9f, 0xc0, 0xf, 0xfc, 0x0, - 0x7f, 0xc0, 0x7, 0xf8, 0x0, 0x1f, 0x0, 0x0, - - /* U+F201 "" */ - 0x40, 0x0, 0x7, 0x0, 0x0, 0x38, 0x1, 0xf9, - 0xc0, 0x7, 0xce, 0x18, 0x1e, 0x71, 0xe1, 0xf3, - 0x9f, 0x9d, 0x9d, 0xff, 0xc4, 0xe6, 0x7c, 0x7, - 0x1, 0xc0, 0x38, 0x0, 0x1, 0xc0, 0x0, 0xe, - 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, - - /* U+F21E "" */ - 0x1e, 0x7, 0x83, 0xf9, 0xfe, 0x7f, 0xff, 0xef, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xfc, - 0xf7, 0xf7, 0xd6, 0x3e, 0x79, 0x6b, 0xe0, 0x34, - 0x80, 0x1f, 0x9f, 0x80, 0xf9, 0xf0, 0x7, 0xfe, - 0x0, 0x3f, 0xc0, 0x1, 0xf8, 0x0, 0xf, 0x0, - 0x0, 0x60, 0x0, - - /* U+F240 "" */ - 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0, - 0x1, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x7f, - 0x7f, 0xff, 0x9f, 0xbf, 0xff, 0xcf, 0xdf, 0xff, - 0xef, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0, - - /* U+F241 "" */ - 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0, - 0x1, 0xfd, 0xff, 0xe0, 0xfe, 0xff, 0xf0, 0x7f, - 0x7f, 0xf8, 0x1f, 0xbf, 0xfc, 0xf, 0xdf, 0xfe, - 0xf, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0, - - /* U+F242 "" */ - 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0, - 0x1, 0xfd, 0xfe, 0x0, 0xfe, 0xff, 0x0, 0x7f, - 0x7f, 0x80, 0x1f, 0xbf, 0xc0, 0xf, 0xdf, 0xe0, - 0xf, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0, - - /* U+F243 "" */ - 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0, - 0x1, 0xfd, 0xf0, 0x0, 0xfe, 0xf8, 0x0, 0x7f, - 0x7c, 0x0, 0x1f, 0xbe, 0x0, 0xf, 0xdf, 0x0, - 0xf, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0, - - /* U+F244 "" */ - 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0, - 0x1, 0xfc, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x7f, - 0x0, 0x0, 0x1f, 0x80, 0x0, 0xf, 0xc0, 0x0, - 0xf, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff, - 0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0, - - /* U+F252 "" */ - 0xff, 0xff, 0xff, 0xfd, 0x80, 0x33, 0x80, 0xe7, - 0xff, 0xc7, 0xff, 0xf, 0xfe, 0xf, 0xf8, 0xf, - 0xe0, 0xf, 0x80, 0x7f, 0xc0, 0xe3, 0x83, 0x83, - 0x86, 0x3, 0x1f, 0xff, 0x3f, 0xfe, 0x7f, 0xfd, - 0xff, 0xff, 0xff, 0xf8, - - /* U+F293 "" */ - 0x7, 0xe0, 0x3f, 0xe0, 0xfb, 0xe3, 0xf3, 0xe7, - 0xe3, 0xdf, 0xd3, 0xf9, 0xb3, 0xf9, 0x4f, 0xf8, - 0x3f, 0xf8, 0xff, 0xf1, 0xff, 0xc1, 0xff, 0x29, - 0xfc, 0xd9, 0xff, 0xa7, 0xbf, 0x1e, 0x7e, 0x7c, - 0x7d, 0xf0, 0x7f, 0xe0, 0x7f, 0x0, - - /* U+F294 "" */ - 0x0, 0x0, 0x80, 0x18, 0x3, 0x80, 0x78, 0x8d, - 0xb9, 0x9b, 0xb6, 0x3f, 0x83, 0xe0, 0x38, 0x7, - 0x81, 0xf8, 0x6d, 0x99, 0x9a, 0x36, 0x7, 0x80, - 0xe0, 0x18, 0x2, 0x0, 0x0, - - /* U+F2F2 "" */ - 0x7, 0xe0, 0x7, 0xe0, 0x1, 0x80, 0x3, 0xc0, - 0xf, 0xf2, 0x1f, 0xff, 0x3e, 0x7e, 0x7e, 0x7e, - 0xfe, 0x7e, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, - 0xfe, 0x7f, 0xff, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, - 0x3f, 0xfc, 0x1f, 0xf8, 0x7, 0xe0, - - /* U+F3DD "" */ - 0x40, 0x0, 0x40, 0x70, 0x0, 0x7e, 0x3c, 0x0, - 0x3f, 0x8f, 0x80, 0x1f, 0x81, 0xe0, 0x1f, 0xc0, - 0x78, 0xf, 0xe0, 0x1e, 0x7, 0xf0, 0x3, 0xc1, - 0xf8, 0x0, 0xf0, 0x78, 0x0, 0x3c, 0x3c, 0x0, - 0xf, 0xbe, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x7e, - 0x0, 0x1c, 0x1f, 0x0, 0x7f, 0x3, 0xc0, 0x3f, - 0xf0, 0xf0, 0x1f, 0xfc, 0x3c, 0xf, 0xfe, 0x7, - 0x87, 0xfe, 0x1, 0xe3, 0xf8, 0x0, 0x70, 0x80, - 0x0, 0x10, - - /* U+F3FD "" */ - 0x0, 0xfe, 0x0, 0x7, 0xff, 0x0, 0x3f, 0xbf, - 0x80, 0xfe, 0x2f, 0x83, 0xfe, 0xcf, 0x8f, 0x3f, - 0x27, 0x9e, 0x7e, 0x4f, 0x3f, 0xfc, 0xfe, 0xff, - 0xf3, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xcf, 0xff, - 0xfe, 0x3f, 0xfe, 0x78, 0x3c, 0xff, 0xf0, 0x7f, - 0xdf, 0xe0, 0xff, 0x3f, 0xff, 0xfe, 0x3f, 0xff, - 0xf8, - - /* U+F45D "" */ - 0x0, 0x10, 0x0, 0xf, 0xe0, 0x3, 0xff, 0x80, - 0x7f, 0xfc, 0xf, 0xff, 0xe0, 0xff, 0xfe, 0x7, - 0xff, 0xe2, 0x3f, 0xff, 0x31, 0xff, 0xf3, 0x8f, - 0xff, 0x3e, 0x7f, 0xf3, 0xf3, 0xc2, 0x1f, 0x90, - 0x0, 0xfc, 0x3c, 0x1f, 0xe7, 0xe3, 0xfe, 0xff, - 0x7e, 0xef, 0xff, 0xc6, 0xff, 0x78, 0x7, 0xe3, - 0x0, 0x3c, - - /* U+F54B "" */ - 0x0, 0xf, 0xf8, 0x1, 0xdf, 0xff, 0x1, 0xef, - 0xff, 0xc0, 0xf7, 0xff, 0xf0, 0x7b, 0xff, 0xf8, - 0x1d, 0xff, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x3, - 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x7, 0xf8, 0x0, 0xf, 0xfe, - 0x3, 0xbf, 0xff, 0x83, 0xdf, 0xff, 0xc1, 0xef, - 0xff, 0xe0, 0xf7, 0xff, 0xe0, 0x3b, 0xff, 0xe0, - 0x0, 0x7f, 0xc0, 0x0, - - /* U+F560 "" */ - 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0xf, 0x0, - 0x1, 0xf0, 0x8, 0x3e, 0x1, 0xc7, 0xc4, 0x1e, - 0xf8, 0xe1, 0xff, 0x1f, 0xf, 0xe3, 0xf0, 0x7c, - 0x7e, 0x23, 0x8f, 0xc7, 0x11, 0xf8, 0xf8, 0x3f, - 0xf, 0xc7, 0xe0, 0x7e, 0xfc, 0x3, 0xff, 0x80, - 0x1f, 0xf0, 0x0, 0xfe, 0x0, 0x7, 0xc0, 0x0, - 0x38, 0x0, 0x1, 0x0, 0x0, - - /* U+F569 "" */ - 0x0, 0x0, 0x4, 0x0, 0x0, 0x3c, 0x0, 0x0, - 0xf0, 0x0, 0x7, 0xc0, 0x1f, 0xfe, 0x3, 0xff, - 0xfe, 0xf, 0x87, 0xfe, 0x38, 0x3e, 0xe, 0xc0, - 0xf8, 0x7, 0x81, 0xc0, 0xf, 0x0, 0x0, 0x1f, - 0x80, 0x0, 0xff, 0xe0, 0xf, 0xff, 0xff, 0xff, - 0xf9, 0xff, 0xf3, 0xf3, 0xe3, 0xe7, 0xe7, 0xc7, - 0xce, 0xcf, 0x8f, 0x98, 0x9f, 0x1f, 0x20, 0x3e, - 0x3e, 0x0, 0x4, 0x60, 0x0, - - /* U+F59F "" */ - 0x0, 0x78, 0x0, 0x7, 0xf8, 0x0, 0x1f, 0xe0, - 0x0, 0xff, 0xc0, 0x3, 0xff, 0x0, 0xf, 0xfc, - 0x0, 0x3f, 0xf0, 0x47, 0x7f, 0x87, 0x7d, 0xfe, - 0x7f, 0xf3, 0xf3, 0xff, 0xc7, 0x8f, 0xff, 0x5c, - 0xbf, 0xfd, 0xb6, 0xff, 0xf6, 0x1b, 0xff, 0xdf, - 0xef, 0xff, 0x7f, 0xbf, 0xfd, 0xfe, 0xff, 0xf7, - 0xfb, 0xff, 0x3, 0xef, 0x30, 0x1, 0xb0, - - /* U+F5A0 "" */ - 0x0, 0x78, 0x0, 0x7, 0xf8, 0x0, 0x1f, 0xe0, - 0x0, 0xf3, 0xc0, 0x3, 0x87, 0x0, 0xf, 0x3c, - 0x0, 0x9f, 0xe1, 0xcf, 0x7f, 0x9f, 0xfc, 0xfc, - 0xff, 0xf1, 0xe3, 0xff, 0xd7, 0xaf, 0xff, 0x4d, - 0xbf, 0xfd, 0x86, 0xff, 0xf7, 0xfb, 0xff, 0xdf, - 0xef, 0xff, 0x7f, 0xbf, 0xfd, 0xfe, 0xff, 0xc0, - 0xfb, 0xcc, 0x0, 0x6c, 0x0, - - /* U+F6A9 "" */ - 0x0, 0xc0, 0x0, 0x1c, 0x0, 0x3, 0xc0, 0x0, - 0x7c, 0x0, 0xff, 0xc6, 0x2f, 0xfc, 0x77, 0xff, - 0xc7, 0xef, 0xfc, 0x3c, 0xff, 0xc7, 0xef, 0xfc, - 0x77, 0xff, 0xc6, 0x20, 0x7c, 0x0, 0x3, 0xc0, - 0x0, 0x1c, 0x0, 0x0, 0xc0, 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 = 192, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1, .adv_w = 192, .box_w = 3, .box_h = 14, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 7, .adv_w = 192, .box_w = 7, .box_h = 6, .ofs_x = 3, .ofs_y = 8}, - {.bitmap_index = 13, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 33, .adv_w = 192, .box_w = 10, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 58, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 79, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 99, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8}, - {.bitmap_index = 102, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2}, - {.bitmap_index = 119, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 136, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, - {.bitmap_index = 149, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2}, - {.bitmap_index = 161, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -4}, - {.bitmap_index = 165, .adv_w = 192, .box_w = 6, .box_h = 2, .ofs_x = 3, .ofs_y = 5}, - {.bitmap_index = 167, .adv_w = 192, .box_w = 4, .box_h = 3, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 169, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 193, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 211, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 227, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 243, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 261, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 277, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 295, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 313, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 331, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 349, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 367, .adv_w = 192, .box_w = 3, .box_h = 11, .ofs_x = 4, .ofs_y = 0}, - {.bitmap_index = 372, .adv_w = 192, .box_w = 5, .box_h = 15, .ofs_x = 3, .ofs_y = -4}, - {.bitmap_index = 382, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, - {.bitmap_index = 395, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3}, - {.bitmap_index = 403, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1}, - {.bitmap_index = 416, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 430, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 455, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 473, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 491, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 509, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 525, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 541, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 557, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 575, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 591, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 605, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 623, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 641, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 657, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 675, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 691, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 707, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 725, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 748, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 766, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 784, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 802, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 818, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 836, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 856, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 874, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 894, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 910, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 4, .ofs_y = -2}, - {.bitmap_index = 924, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 948, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 3, .ofs_y = -2}, - {.bitmap_index = 962, .adv_w = 192, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 7}, - {.bitmap_index = 972, .adv_w = 192, .box_w = 10, .box_h = 2, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 975, .adv_w = 192, .box_w = 5, .box_h = 3, .ofs_x = 3, .ofs_y = 13}, - {.bitmap_index = 977, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 991, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1007, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1021, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1037, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1050, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1068, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1085, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1101, .adv_w = 192, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1121, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1140, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1158, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1178, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1192, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1205, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1218, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 1235, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1252, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1265, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1279, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1297, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1310, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1324, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1341, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1355, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 1374, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1387, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 1408, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2}, - {.bitmap_index = 1415, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2}, - {.bitmap_index = 1436, .adv_w = 192, .box_w = 10, .box_h = 5, .ofs_x = 1, .ofs_y = 5}, - {.bitmap_index = 1443, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1461, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1479, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1497, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1513, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 1537, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1553, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1574, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1592, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1608, .adv_w = 192, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1630, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1648, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1666, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1684, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1700, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1716, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1732, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1750, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1768, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1786, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1804, .adv_w = 192, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1}, - {.bitmap_index = 1824, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1842, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 2, .ofs_y = -3}, - {.bitmap_index = 1864, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1880, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1898, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 1920, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1941, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1959, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1977, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1993, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2011, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2029, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2043, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2059, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2073, .adv_w = 192, .box_w = 8, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2084, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 2104, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2117, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2134, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2148, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2161, .adv_w = 192, .box_w = 9, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2179, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2193, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2207, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2221, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2234, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2247, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2260, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4}, - {.bitmap_index = 2277, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2291, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2305, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 2324, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 2347, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2361, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = -3}, - {.bitmap_index = 2379, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2392, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2406, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 2424, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2441, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2455, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2469, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2483, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2497, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2510, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2560, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2609, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2657, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2707, .adv_w = 240, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2736, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 2791, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2830, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2873, .adv_w = 280, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 2901, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2949, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2988, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3027, .adv_w = 280, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = -1}, - {.bitmap_index = 3055, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3103, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3147, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3200, .adv_w = 320, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3246, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3265, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3315, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3351, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3399, .adv_w = 320, .box_w = 21, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3439, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3482, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3520, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3558, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3596, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3634, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1}, - {.bitmap_index = 3672, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3708, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 3746, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3775, .adv_w = 280, .box_w = 16, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, - {.bitmap_index = 3813, .adv_w = 400, .box_w = 25, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 3879, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 3928, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 3978, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4038, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 4091, .adv_w = 360, .box_w = 23, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 4152, .adv_w = 360, .box_w = 22, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4207, .adv_w = 360, .box_w = 22, .box_h = 19, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 4260, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0} -}; - -/*--------------------- - * CHARACTER MAPPING - *--------------------*/ - -static const uint16_t unicode_list_2[] = { - 0x0, 0x14, 0x16, 0x23, 0x26, 0x27, 0x28, 0x39, - 0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x68, 0x6d, 0x94, - 0x110, 0x128, 0x184, 0x1e5, 0x1fb, 0x200, 0x21d, 0x23f, - 0x240, 0x241, 0x242, 0x243, 0x251, 0x292, 0x293, 0x2f1, - 0x3dc, 0x3fc, 0x45c, 0x54a, 0x55f, 0x568, 0x59e, 0x59f, - 0x6a8 -}; - -/*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 - }, - { - .range_start = 1040, .range_length = 64, .glyph_id_start = 96, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 61441, .range_length = 1705, .glyph_id_start = 160, - .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 41, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY - } -}; - - - -/*-------------------- - * ALL CUSTOM DATA - *--------------------*/ - -#if LV_VERSION_CHECK(8, 0, 0) -/*Store all the custom data of the font*/ -static lv_font_fmt_txt_glyph_cache_t cache; -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 = NULL, - .kern_scale = 0, - .cmap_num = 3, - .bpp = 1, - .kern_classes = 0, - .bitmap_format = 0, -#if LV_VERSION_CHECK(8, 0, 0) - .cache = &cache -#endif -}; - - -/*----------------- - * PUBLIC FONT - *----------------*/ - -/*Initialize a public general font descriptor*/ -#if LV_VERSION_CHECK(8, 0, 0) -const lv_font_t jetbrains_mono_bold_20 = { -#else -lv_font_t jetbrains_mono_bold_20 = { -#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 = 23, /*The maximum line height required by the font*/ - .base_line = 4, /*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 = -3, - .underline_thickness = 1, -#endif - .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ -}; - - - -#endif /*#if JETBRAINS_MONO_BOLD_20*/ - diff --git a/src/displayapp/icons/logo_pine.c b/src/displayapp/icons/logo_pine.c deleted file mode 100644 index 9694eca2..00000000 --- a/src/displayapp/icons/logo_pine.c +++ /dev/null @@ -1,59 +0,0 @@ -#if defined(LV_LVGL_H_INCLUDE_SIMPLE) -#include "lvgl.h" -#else -#include "lvgl/lvgl.h" -#endif - - -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_LOGO_PINE -#define LV_ATTRIBUTE_IMG_LOGO_PINE -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_LOGO_PINE uint8_t logo_pine_map[] = { - /*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe4, 0x1a, 0x41, 0xe8, 0x9c, 0x5a, 0xab, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc3, 0x14, 0x10, 0x82, 0xd5, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xd9, 0x63, 0x2c, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa2, 0x0e, 0x10, 0x82, 0xcb, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xd0, 0x5a, 0xeb, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc3, 0x0b, 0x10, 0x82, 0x4b, 0x00, 0x00, 0x01, 0x20, 0xe4, 0x09, 0x10, 0xa2, 0x60, 0x10, 0x82, 0xc9, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xc9, 0x5a, 0xeb, 0x60, 0x5a, 0xab, 0x09, 0x00, 0x00, 0x01, 0x5a, 0xcb, 0x4b, 0x73, 0xae, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x5a, 0x10, 0x82, 0xff, 0x10, 0x82, 0xd5, 0x10, 0xa2, 0x62, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x39, 0xc7, 0x17, 0x00, 0x00, 0x00, 0x73, 0x6e, 0x07, 0x5a, 0xcb, 0x62, 0x5a, 0xcb, 0xd5, 0x5a, 0xcb, 0xff, 0x5a, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0xb2, 0x10, 0x82, 0xff, 0x10, 0x82, 0xd7, 0x10, 0x82, 0x65, 0x00, 0x00, 0x07, 0x20, 0xe4, 0x09, 0x39, 0xc7, 0x45, 0x5a, 0xab, 0x09, 0x73, 0x6e, 0x07, 0x5a, 0xcb, 0x65, 0x5a, 0xcb, 0xd7, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x11, 0x10, 0x82, 0xbd, 0x10, 0x82, 0x55, 0x00, 0x00, 0x03, 0x08, 0x61, 0x17, 0x10, 0x82, 0x80, 0x10, 0x82, 0xeb, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xf0, 0x5a, 0xcb, 0x91, 0x5a, 0xeb, 0x1c, 0x00, 0x00, 0x01, 0x5a, 0xcb, 0x44, 0x5a, 0xcb, 0xad, 0x62, 0xec, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0xa3, 0x30, 0x10, 0x82, 0xa0, 0x10, 0x82, 0xf9, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xf9, 0x5a, 0xcb, 0xa0, 0x5a, 0xab, 0x30, 0x00, 0x00, 0x00, 0x5a, 0xab, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x22, 0x10, 0x82, 0xbd, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xbd, 0x5a, 0xeb, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xc4, 0x10, 0x82, 0x55, 0x00, 0x00, 0x04, 0x10, 0x82, 0x2f, 0x10, 0x82, 0x99, 0x10, 0x82, 0xf6, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xf9, 0x5a, 0xcb, 0xaa, 0x5a, 0xab, 0x36, 0xff, 0xff, 0x02, 0x5a, 0xcb, 0x44, 0x5a, 0xcb, 0xb3, 0x5a, 0xcb, 0x4c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xde, 0x10, 0x82, 0x74, 0x10, 0x82, 0x12, 0x18, 0xa3, 0x18, 0x10, 0x82, 0x83, 0x10, 0x82, 0xeb, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xeb, 0x5a, 0xcb, 0x83, 0x5a, 0xab, 0x18, 0x5a, 0xab, 0x12, 0x5a, 0xeb, 0x74, 0x5a, 0xcb, 0xde, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x4e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xf5, 0x10, 0x82, 0x9b, 0x10, 0x82, 0x2f, 0x20, 0xe4, 0x09, 0x10, 0x82, 0x65, 0x41, 0xe8, 0x98, 0x5a, 0xcb, 0x65, 0x5a, 0xab, 0x09, 0x62, 0xec, 0x2f, 0x5a, 0xcb, 0x9b, 0x5a, 0xcb, 0xf5, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x4e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xca, 0x18, 0xc3, 0x2e, 0x00, 0x00, 0x00, 0x31, 0xa6, 0x0a, 0x00, 0x00, 0x00, 0x63, 0x0c, 0x2e, 0x5a, 0xcb, 0xca, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x4e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xf9, 0x10, 0x82, 0xaa, 0x10, 0x82, 0x44, 0x00, 0x00, 0x00, 0x10, 0x82, 0x33, 0x10, 0x82, 0xa2, 0x42, 0x08, 0xbd, 0x5a, 0xcb, 0xb3, 0x5a, 0xcb, 0x3b, 0x00, 0x00, 0x00, 0x5a, 0xab, 0x33, 0x5a, 0xcb, 0x99, 0x5a, 0xcb, 0xf6, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x4e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x4e, 0x10, 0x82, 0xff, 0x10, 0x82, 0xe4, 0x10, 0x82, 0x7c, 0x18, 0xc3, 0x16, 0x00, 0x00, 0x02, 0x10, 0xa2, 0x51, 0x10, 0x82, 0xc4, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xc4, 0x5a, 0xcb, 0x51, 0xff, 0xff, 0x02, 0x6b, 0x4d, 0x16, 0x5a, 0xcb, 0x7c, 0x5a, 0xcb, 0xe4, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x4e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x18, 0xa3, 0x30, 0x10, 0x82, 0x55, 0x00, 0x00, 0x04, 0x31, 0xa6, 0x0a, 0x10, 0x82, 0x69, 0x10, 0x82, 0xda, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xda, 0x5a, 0xcb, 0x69, 0x6b, 0x4d, 0x0a, 0x84, 0x10, 0x04, 0x5a, 0xcb, 0x55, 0x5a, 0xab, 0x30, 0x00, 0x00, 0x00, - 0x18, 0xc3, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc3, 0x14, 0x10, 0x82, 0xc8, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xc8, 0x5a, 0xcb, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x0c, 0x2e, - 0x10, 0x82, 0x96, 0x10, 0x82, 0xcd, 0x10, 0x82, 0x66, 0x18, 0xc3, 0x0b, 0x00, 0x00, 0x02, 0x10, 0xa2, 0x4d, 0x10, 0x82, 0xc4, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xcc, 0x5a, 0xcb, 0x5e, 0x84, 0x10, 0x04, 0x73, 0x6e, 0x07, 0x5a, 0xcb, 0x55, 0x5a, 0xcb, 0xc5, 0x5a, 0xcb, 0x95, - 0x10, 0x62, 0x27, 0x10, 0x82, 0xfd, 0x10, 0x82, 0xff, 0x10, 0x82, 0xee, 0x10, 0x82, 0x8d, 0x10, 0x82, 0x24, 0x00, 0x00, 0x00, 0x10, 0x82, 0x3b, 0x10, 0x82, 0xae, 0x10, 0x82, 0xfd, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xfd, 0x5a, 0xcb, 0xae, 0x5a, 0xcb, 0x3b, 0x00, 0x00, 0x00, 0x5a, 0xab, 0x24, 0x5a, 0xcb, 0x8d, 0x5a, 0xcb, 0xee, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xfd, 0x5a, 0xab, 0x27, - 0x00, 0x00, 0x00, 0x10, 0x82, 0xb3, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xfe, 0x10, 0x82, 0xbb, 0x10, 0x82, 0x55, 0x00, 0x00, 0x04, 0x10, 0x82, 0x22, 0x10, 0x82, 0x91, 0x42, 0x08, 0xb6, 0x5a, 0xcb, 0xa2, 0x5a, 0xcb, 0x29, 0xff, 0xff, 0x02, 0x5a, 0xcb, 0x44, 0x5a, 0xcb, 0xaa, 0x5a, 0xcb, 0xfc, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xb2, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x82, 0x42, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xcc, 0x20, 0xe4, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xcb, 0x1a, 0x5a, 0xcb, 0xcc, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x62, 0xec, 0x42, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0xd0, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xdd, 0x10, 0x82, 0x6c, 0x18, 0xc3, 0x0b, 0x10, 0xa2, 0x0e, 0x10, 0x82, 0x76, 0x41, 0xe8, 0xa6, 0x5a, 0xcb, 0x76, 0x5a, 0xeb, 0x0e, 0x73, 0xae, 0x0b, 0x5a, 0xcb, 0x6c, 0x5a, 0xcb, 0xdd, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x5f, 0x10, 0x82, 0xff, 0x10, 0x82, 0xc8, 0x10, 0x82, 0x55, 0x00, 0x00, 0x03, 0x08, 0x61, 0x17, 0x10, 0x82, 0x86, 0x10, 0x82, 0xef, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xef, 0x5a, 0xcb, 0x86, 0x63, 0x2c, 0x17, 0x5a, 0xab, 0x03, 0x5a, 0xcb, 0x55, 0x5a, 0xcb, 0xc8, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x10, 0x82, 0x3c, 0x00, 0x00, 0x00, 0x10, 0x82, 0x22, 0x10, 0x82, 0x96, 0x10, 0x82, 0xf7, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xf7, 0x5a, 0xcb, 0x96, 0x5a, 0xeb, 0x22, 0x00, 0x00, 0x00, 0x5a, 0xab, 0x3c, 0x73, 0x6e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe4, 0x1a, 0x10, 0x82, 0xc4, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xc4, 0x5a, 0xcb, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa2, 0x40, 0x10, 0x82, 0xb7, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x10, 0x82, 0xff, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xff, 0x5a, 0xcb, 0xb7, 0x5a, 0xeb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc3, 0x2e, 0x10, 0x82, 0xa2, 0x10, 0x82, 0xfb, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0xfd, 0x5a, 0xcb, 0xb3, 0x5a, 0xeb, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, 0x5d, 0x42, 0x08, 0xc0, 0x5a, 0xeb, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa2, 0x52, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa2, 0x52, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa2, 0x52, 0x42, 0x08, 0xc0, 0x5a, 0xcb, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -const lv_img_dsc_t logo_pine = { - .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 23, - .header.h = 31, - .data_size = 713 * LV_IMG_PX_SIZE_ALPHA_BYTE, - .data = logo_pine_map, -}; diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index e9e03df0..bb29d6a4 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -23,7 +23,8 @@ Clock::Clock(DisplayApp* app, Controllers::NotificationManager& notificatioManager, Controllers::Settings& settingsController, Controllers::HeartRateController& heartRateController, - Controllers::MotionController& motionController) + Controllers::MotionController& motionController, + Controllers::FS& fs) : Screen(app), dateTimeController {dateTimeController}, batteryController {batteryController}, @@ -32,6 +33,7 @@ Clock::Clock(DisplayApp* app, settingsController {settingsController}, heartRateController {heartRateController}, motionController {motionController}, + fs{fs}, screen {[this, &settingsController]() { switch (settingsController.GetClockFace()) { case 0: @@ -115,5 +117,6 @@ std::unique_ptr Clock::WatchFaceInfineatScreen() { bleController, notificatioManager, settingsController, - motionController); + motionController, + fs); } diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index c80aeeb3..0cdc6028 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -28,7 +28,8 @@ namespace Pinetime { Controllers::NotificationManager& notificatioManager, Controllers::Settings& settingsController, Controllers::HeartRateController& heartRateController, - Controllers::MotionController& motionController); + Controllers::MotionController& motionController, + Controllers::FS& fs); ~Clock() override; bool OnTouchEvent(TouchEvents event) override; @@ -42,6 +43,7 @@ namespace Pinetime { Controllers::Settings& settingsController; Controllers::HeartRateController& heartRateController; Controllers::MotionController& motionController; + Controllers::FS& fs; std::unique_ptr screen; std::unique_ptr WatchFaceDigitalScreen(); diff --git a/src/displayapp/screens/Symbols.h b/src/displayapp/screens/Symbols.h index c7bf1e59..1180ec6f 100644 --- a/src/displayapp/screens/Symbols.h +++ b/src/displayapp/screens/Symbols.h @@ -38,7 +38,6 @@ namespace Pinetime { static constexpr const char* eye = "\xEF\x81\xAE"; static constexpr const char* home = "\xEF\x80\x95"; static constexpr const char* sleep = "\xEE\xBD\x84"; - static constexpr const char* circle = "\xEF\x84\x91"; // lv_font_sys_48.c static constexpr const char* settings = "\xEE\xA2\xB8"; diff --git a/src/displayapp/screens/WatchFaceInfineat.cpp b/src/displayapp/screens/WatchFaceInfineat.cpp index cdb7cdbd..a685bb54 100644 --- a/src/displayapp/screens/WatchFaceInfineat.cpp +++ b/src/displayapp/screens/WatchFaceInfineat.cpp @@ -20,15 +20,14 @@ namespace { } } -LV_IMG_DECLARE(logo_pine); - WatchFaceInfineat::WatchFaceInfineat(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, Controllers::Ble& bleController, Controllers::NotificationManager& notificationManager, Controllers::Settings& settingsController, - Controllers::MotionController& motionController) + Controllers::MotionController& motionController, + Controllers::FS& fs) : Screen(app), currentDateTime {{}}, dateTimeController {dateTimeController}, @@ -37,6 +36,14 @@ WatchFaceInfineat::WatchFaceInfineat(DisplayApp* app, notificationManager {notificationManager}, settingsController {settingsController}, motionController {motionController} { + lfs_file f = {}; + if(fs.FileOpen(&f, "/fonts/teko.bin", LFS_O_RDONLY) >= 0) { + font_teko = lv_font_load("F:/fonts/teko.bin"); + } + + if(fs.FileOpen(&f, "/fonts/bebas.bin", LFS_O_RDONLY) >= 0) { + font_bebas = lv_font_load("F:/fonts/bebas.bin"); + } // Black background covering the whole screen background = lv_obj_create(lv_scr_act(), nullptr); @@ -138,7 +145,7 @@ WatchFaceInfineat::WatchFaceInfineat(DisplayApp* app, lv_line_set_points(line8, line8Points, 2); logoPine = lv_img_create(lv_scr_act(), nullptr); - lv_img_set_src(logoPine, &logo_pine); + lv_img_set_src(logoPine, "F:/images/pine_small.bin"); lv_obj_set_pos(logoPine, 15, 106); lv_style_init(&lineBatteryStyle); @@ -174,49 +181,76 @@ WatchFaceInfineat::WatchFaceInfineat(DisplayApp* app, timeContainer = lv_obj_create(lv_scr_act(), nullptr); lv_obj_set_style_local_bg_opa(timeContainer, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); - lv_obj_set_size(timeContainer, 110, 145); - lv_obj_align(timeContainer, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); + if(font_bebas != nullptr) { + lv_obj_set_size(timeContainer, 185, 185); + lv_obj_align(timeContainer, lv_scr_act(), LV_ALIGN_CENTER, 0, -10); + } else { + lv_obj_set_size(timeContainer, 110, 145); + lv_obj_align(timeContainer, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); + } labelHour = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_font(labelHour, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); lv_label_set_text(labelHour, "01"); - lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 5); + if(font_bebas != nullptr) { + lv_obj_set_style_local_text_font(labelHour, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, font_bebas); + lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 0); + } + else { + lv_obj_set_style_local_text_font(labelHour, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); + lv_obj_align(labelHour, timeContainer, LV_ALIGN_IN_TOP_MID, 0, 5); + } labelMinutes = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(labelMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); + if(font_bebas != nullptr) { + lv_obj_set_style_local_text_font(labelMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, font_bebas); + } + else { + lv_obj_set_style_local_text_font(labelMinutes, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_extrabold_compressed); + } lv_label_set_text(labelMinutes, "00"); lv_obj_align(labelMinutes, timeContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); labelTimeAmPm = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(labelTimeAmPm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + if(font_teko != nullptr) { + lv_obj_set_style_local_text_font(labelTimeAmPm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, font_teko); + } + else { + lv_obj_set_style_local_text_font(labelTimeAmPm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + } + lv_label_set_text(labelTimeAmPm, ""); lv_obj_align(labelTimeAmPm, timeContainer, LV_ALIGN_OUT_RIGHT_TOP, 0, 15); dateContainer = lv_obj_create(lv_scr_act(), nullptr); lv_obj_set_style_local_bg_opa(dateContainer, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP); - lv_obj_set_size(dateContainer, 40, 50); + lv_obj_set_size(dateContainer, 60, 30); lv_obj_align(dateContainer, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 5); - labelDateDay = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_color(labelDateDay, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); - lv_obj_set_style_local_text_font(labelDateDay, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); - lv_obj_align(labelDateDay, dateContainer, LV_ALIGN_IN_TOP_MID, 0, 0); - lv_label_set_text(labelDateDay, "Mon"); - - labelDateNum = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_color(labelDateNum, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); - lv_obj_set_style_local_text_font(labelDateNum, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); - lv_obj_align(labelDateNum, dateContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); - lv_label_set_text(labelDateNum, "01"); + labelDate = lv_label_create(lv_scr_act(), nullptr); + lv_obj_set_style_local_text_color(labelDate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); + if(font_teko != nullptr) { + lv_obj_set_style_local_text_font(labelDate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, font_teko); + } + else { + lv_obj_set_style_local_text_font(labelDate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + } + lv_obj_align(labelDate, dateContainer, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_label_set_text(labelDate, "Mon 01"); bleIcon = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(bleIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); lv_label_set_text(bleIcon, Symbols::bluetooth); - lv_obj_align(bleIcon, dateContainer, LV_ALIGN_OUT_BOTTOM_MID, 0, 7); + lv_obj_align(bleIcon, dateContainer, LV_ALIGN_OUT_BOTTOM_MID, 0, 0); stepValue = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x999999)); - lv_obj_set_style_local_text_font(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + if(font_teko != nullptr) { + lv_obj_set_style_local_text_font(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, font_teko); + } + else { + lv_obj_set_style_local_text_font(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20); + } lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, 10, 0); lv_label_set_text(stepValue, "0"); @@ -294,6 +328,13 @@ WatchFaceInfineat::~WatchFaceInfineat() { lv_style_reset(&line8Style); lv_style_reset(&lineBatteryStyle); + if (font_bebas != nullptr) { + lv_font_free(font_bebas); + } + if(font_teko != nullptr) { + lv_font_free(font_teko); + } + lv_obj_clean(lv_scr_act()); } @@ -459,10 +500,8 @@ void WatchFaceInfineat::Refresh() { } if ((year != currentYear) || (month != currentMonth) || (dayOfWeek != currentDayOfWeek) || (day != currentDay)) { - lv_label_set_text_fmt(labelDateDay, "%s", dateTimeController.DayOfWeekShortToStringLow()); - lv_label_set_text_fmt(labelDateNum, "%02d", day); - lv_obj_align(labelDateDay, dateContainer, LV_ALIGN_IN_TOP_MID, 0, 0); - lv_obj_align(labelDateNum, dateContainer, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + lv_label_set_text_fmt(labelDate, "%s %02d", dateTimeController.DayOfWeekShortToStringLow(), day); + lv_obj_realign(labelDate); currentYear = year; currentMonth = month; diff --git a/src/displayapp/screens/WatchFaceInfineat.h b/src/displayapp/screens/WatchFaceInfineat.h index 9541f2ad..c71dfca3 100644 --- a/src/displayapp/screens/WatchFaceInfineat.h +++ b/src/displayapp/screens/WatchFaceInfineat.h @@ -27,7 +27,8 @@ namespace Pinetime { Controllers::Ble& bleController, Controllers::NotificationManager& notificationManager, Controllers::Settings& settingsController, - Controllers::MotionController& motionController); + Controllers::MotionController& motionController, + Controllers::FS& fs); ~WatchFaceInfineat() override; @@ -101,8 +102,7 @@ namespace Pinetime { lv_obj_t* labelMinutes; lv_obj_t* labelTimeAmPm; lv_obj_t* dateContainer; - lv_obj_t* labelDateDay; - lv_obj_t* labelDateNum; + lv_obj_t* labelDate; lv_obj_t* bleIcon; lv_obj_t* stepIcon; lv_obj_t* stepValue; @@ -137,6 +137,8 @@ namespace Pinetime { void ToggleBatteryIndicatorColor(bool showSideCover); lv_task_t* taskRefresh; + lv_font_t* font_teko = nullptr; + lv_font_t* font_bebas = nullptr; }; } } diff --git a/src/main.cpp b/src/main.cpp index 109971bc..ad7a07dc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -131,7 +131,8 @@ Pinetime::Applications::DisplayApp displayApp(lcd, timerController, alarmController, brightnessController, - touchHandler); + touchHandler, + fs); Pinetime::System::SystemTask systemTask(spi, lcd, diff --git a/src/resources/fonts.json b/src/resources/fonts.json index 55882c3d..a270e6a2 100644 --- a/src/resources/fonts.json +++ b/src/resources/fonts.json @@ -3,7 +3,7 @@ "sources": [ { "file": "fonts/Teko-Light.ttf", - "symbols": "0123456789:/amp" + "symbols": "0123456789:/ampMonTueWdhFriSt " } ], "bpp": 1, diff --git a/src/resources/images.json b/src/resources/images.json index 764747ca..db2ccab0 100644 --- a/src/resources/images.json +++ b/src/resources/images.json @@ -1,7 +1,7 @@ { "pine_small" : { "sources": "images/pine_logo.png", - "color_format": "CF_TRUE_COLOR", + "color_format": "CF_TRUE_COLOR_ALPHA", "output_format": "bin", "binary_format": "ARGB8565_RBSWAP", "target_path": "/images/" -- cgit v1.2.3-70-g09d2