diff options
Diffstat (limited to 'gdisp/src/gdisp_inc_fonts.c')
-rw-r--r-- | gdisp/src/gdisp_inc_fonts.c | 631 |
1 files changed, 631 insertions, 0 deletions
diff --git a/gdisp/src/gdisp_inc_fonts.c b/gdisp/src/gdisp_inc_fonts.c new file mode 100644 index 00000000..b8ade615 --- /dev/null +++ b/gdisp/src/gdisp_inc_fonts.c @@ -0,0 +1,631 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011,2012 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/RT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + --- + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes ChibiOS/RT, without being obliged to provide + the source code for any proprietary components. See the file exception.txt + for full details of how and when the exception can be applied. +*/ +/* + Concepts and parts of this file have been contributed by: + Joel Bodenmann aka Tectu -> Maintainer + Andrew Hannam aka inmarket -> framework + Badger -> console implementation and FSMC + Abhishek -> font rendering + Ben William -> fastMath and lcdDrawEllipse() + Dongxu Li aka dxli -> lcdDrawEllipse() filled option +*/ + +/* + Font tables included into gdisp.c +*/ + +/* Offset building macros */ +#define OFFSETOF(b,a) (((uint8_t*)(b)) - ((uint8_t*)(a))) +#define FOD(f,nn) OFFSETOF(&f, f##_Data##nn) +#define FOD_0T3(f,n) FOD(f,n##0),FOD(f,n##1),FOD(f,n##2),FOD(f,n##3) +#define FOD_4T7(f,n) FOD(f,n##4),FOD(f,n##5),FOD(f,n##6),FOD(f,n##7) +#define FOD_8TB(f,n) FOD(f,n##8),FOD(f,n##9),FOD(f,n##A),FOD(f,n##B) +#define FOD_CTF(f,n) FOD(f,n##C),FOD(f,n##D),FOD(f,n##E),FOD(f,n##F) +#define FOD_0T7(f,n) FOD_0T3(f,n),FOD_4T7(f,n) +#define FOD_8TF(f,n) FOD_0T3(f,n),FOD_4T7(f,n) +#define FOD_0TF(f,n) FOD_0T7(f,n),FOD_8TF(f,n) +#define FOD_0TE(f,n) FOD_0T7(f,n),FOD_8TB(f,n),FOD(f,n##C),FOD(f,n##D),FOD(f,n##E) + +/* fontSmall - for side buttons */ +#if 1 + const struct font fontSmall = { + 11, 0, 14, 2, 2, 12, ' ', '~', + OFFSETOF(fontSmall_Widths, &fontSmall), OFFSETOF(fontSmall_Offsets, &fontSmall) + } + static const uint16_t fontSmall_Offsets[] = { + FOD_0TF(fontSmall,2), FOD_0TF(fontSmall,3), FOD_0TF(fontSmall,4), + FOD_0TF(fontSmall,5), FOD_0TF(fontSmall,6), FOD_0TE(fontSmall,7) + } + static const uint8_t fontSmall_Widths[] = { + 2, 3, 6, 8, 7, 9, 7, 3, 4, 4, 5, 7, 4, 4, 3, 6, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 4, 6, 7, 6, 7, + 12, 8, 7, 8, 8, 7, 7, 8, 8, 3, 5, 8, 7, 9, 8, 8, + 8, 8, 8, 7, 7, 8, 8, 12, 8, 8, 8, 4, 6, 4, 7, 7, + 4, 7, 7, 7, 7, 7, 4, 7, 7, 3, 3, 7, 3, 9, 7, 7, + 7, 7, 4, 6, 4, 7, 7, 9, 6, 6, 6, 5, 3, 5, 8 + } + static const fontcolumn_t fontSmall_Data20[] = {0x0000, 0x0000} + static const fontcolumn_t fontSmall_Data21[] = {0x0000, 0x017F, 0x017F} + static const fontcolumn_t fontSmall_Data22[] = {0x0000, 0x0007, 0x0007, 0x0000, 0x0007, 0x0007} + static const fontcolumn_t fontSmall_Data23[] = {0x0000, 0x0044, 0x01FF, 0x01FF, 0x0044, 0x01FF, 0x01FF, 0x0044} + static const fontcolumn_t fontSmall_Data24[] = {0x0000, 0x008C, 0x019E, 0x03FF, 0x03FF, 0x01E6, 0x00C4} + static const fontcolumn_t fontSmall_Data25[] = { + 0x0000, 0x0082, 0x00C7, 0x0065, 0x00B7, 0x01DA, 0x014C, 0x01C6, + 0x0082} + static const fontcolumn_t fontSmall_Data26[] = {0x0000, 0x00E6, 0x01FF, 0x013F, 0x01E6, 0x01E0, 0x0120} + static const fontcolumn_t fontSmall_Data27[] = {0x0000, 0x0007, 0x0007} + static const fontcolumn_t fontSmall_Data28[] = {0x0000, 0x03FE, 0x07FF, 0x0401} + static const fontcolumn_t fontSmall_Data29[] = {0x0000, 0x0401, 0x07FF, 0x03FE} + static const fontcolumn_t fontSmall_Data2A[] = {0x0000, 0x000A, 0x000E, 0x000E, 0x000A} + static const fontcolumn_t fontSmall_Data2B[] = {0x0000, 0x0020, 0x0020, 0x00F8, 0x00F8, 0x0020, 0x0020} + static const fontcolumn_t fontSmall_Data2C[] = {0x0000, 0x0200, 0x0300, 0x0100} + static const fontcolumn_t fontSmall_Data2D[] = {0x0000, 0x0020, 0x0020, 0x0020} + static const fontcolumn_t fontSmall_Data2E[] = {0x0000, 0x0100, 0x0100} + static const fontcolumn_t fontSmall_Data2F[] = {0x0000, 0x0180, 0x01E0, 0x0078, 0x001F, 0x0007} + static const fontcolumn_t fontSmall_Data30[] = {0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x01FF, 0x00FE} + static const fontcolumn_t fontSmall_Data31[] = {0x0000, 0x0002, 0x0002, 0x01FF, 0x01FF, 0x0000, 0x0000} + static const fontcolumn_t fontSmall_Data32[] = {0x0000, 0x0182, 0x01C3, 0x0161, 0x0131, 0x011F, 0x010E} + static const fontcolumn_t fontSmall_Data33[] = {0x0000, 0x0082, 0x0183, 0x0111, 0x0111, 0x01FF, 0x00EE} + static const fontcolumn_t fontSmall_Data34[] = {0x0000, 0x0060, 0x0078, 0x005E, 0x01FF, 0x01FF, 0x0040} + static const fontcolumn_t fontSmall_Data35[] = {0x0000, 0x009F, 0x019F, 0x0109, 0x0109, 0x01F9, 0x00F1} + static const fontcolumn_t fontSmall_Data36[] = {0x0000, 0x00FE, 0x01FF, 0x0111, 0x0111, 0x01F3, 0x00E2} + static const fontcolumn_t fontSmall_Data37[] = {0x0000, 0x0001, 0x01C1, 0x01F1, 0x003D, 0x000F, 0x0003} + static const fontcolumn_t fontSmall_Data38[] = {0x0000, 0x00EE, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE} + static const fontcolumn_t fontSmall_Data39[] = {0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01FF, 0x00FE} + static const fontcolumn_t fontSmall_Data3A[] = {0x0000, 0x0108, 0x0108} + static const fontcolumn_t fontSmall_Data3B[] = {0x0000, 0x0200, 0x0308, 0x0108} + static const fontcolumn_t fontSmall_Data3C[] = {0x0000, 0x0020, 0x0070, 0x00D8, 0x018C, 0x0104} + static const fontcolumn_t fontSmall_Data3D[] = {0x0000, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050} + static const fontcolumn_t fontSmall_Data3E[] = {0x0000, 0x0104, 0x018C, 0x00D8, 0x0070, 0x0020} + static const fontcolumn_t fontSmall_Data3F[] = {0x0000, 0x0002, 0x0003, 0x0161, 0x0171, 0x001F, 0x000E} + static const fontcolumn_t fontSmall_Data40[] = { + 0x0000, 0x0078, 0x01FE, 0x0186, 0x0333, 0x0279, 0x0249, 0x0279, + 0x027B, 0x0246, 0x007E, 0x0078} + static const fontcolumn_t fontSmall_Data41[] = {0x0180, 0x01F0, 0x007C, 0x004F, 0x004F, 0x007C, 0x01F0, 0x0180} + static const fontcolumn_t fontSmall_Data42[] = {0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE} + static const fontcolumn_t fontSmall_Data43[] = {0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x0183, 0x0082} + static const fontcolumn_t fontSmall_Data44[] = {0x0000, 0x01FF, 0x01FF, 0x0101, 0x0101, 0x0183, 0x00FE, 0x007C} + static const fontcolumn_t fontSmall_Data45[] = {0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x0111, 0x0101} + static const fontcolumn_t fontSmall_Data46[] = {0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x0001} + static const fontcolumn_t fontSmall_Data47[] = {0x0000, 0x00FE, 0x01FF, 0x0101, 0x0111, 0x0191, 0x01F3, 0x01F2} + static const fontcolumn_t fontSmall_Data48[] = {0x0000, 0x01FF, 0x01FF, 0x0010, 0x0010, 0x0010, 0x01FF, 0x01FF} + static const fontcolumn_t fontSmall_Data49[] = {0x0000, 0x01FF, 0x01FF} + static const fontcolumn_t fontSmall_Data4A[] = {0x00C0, 0x01C0, 0x0100, 0x01FF, 0x00FF} + static const fontcolumn_t fontSmall_Data4B[] = {0x0000, 0x01FF, 0x01FF, 0x003C, 0x0066, 0x00C3, 0x0181, 0x0100} + static const fontcolumn_t fontSmall_Data4C[] = {0x0000, 0x01FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x0100} + static const fontcolumn_t fontSmall_Data4D[] = { + 0x0000, 0x01FF, 0x01FF, 0x003C, 0x00F0, 0x00F0, 0x003C, 0x01FF, + 0x01FF} + static const fontcolumn_t fontSmall_Data4E[] = {0x0000, 0x01FF, 0x01FF, 0x001E, 0x0038, 0x00E0, 0x01FF, 0x01FF} + static const fontcolumn_t fontSmall_Data4F[] = {0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x01FF, 0x00FE} + static const fontcolumn_t fontSmall_Data50[] = {0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x001F, 0x000E} + static const fontcolumn_t fontSmall_Data51[] = {0x0000, 0x00FE, 0x01FF, 0x0101, 0x0141, 0x01C1, 0x03FF, 0x02FE} + static const fontcolumn_t fontSmall_Data52[] = {0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x01FF, 0x01EE} + static const fontcolumn_t fontSmall_Data53[] = {0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01F3, 0x00E2} + static const fontcolumn_t fontSmall_Data54[] = {0x0000, 0x0001, 0x0001, 0x01FF, 0x01FF, 0x0001, 0x0001} + static const fontcolumn_t fontSmall_Data55[] = {0x0000, 0x00FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x01FF, 0x00FF} + static const fontcolumn_t fontSmall_Data56[] = {0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x001F, 0x0003} + static const fontcolumn_t fontSmall_Data57[] = { + 0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x007C, 0x01E0, + 0x01E0, 0x007C, 0x001F, 0x0003} + static const fontcolumn_t fontSmall_Data58[] = {0x0183, 0x01C7, 0x006C, 0x0038, 0x0038, 0x006C, 0x01C7, 0x0183} + static const fontcolumn_t fontSmall_Data59[] = {0x0003, 0x0007, 0x000C, 0x01F8, 0x01F8, 0x000C, 0x0007, 0x0003} + static const fontcolumn_t fontSmall_Data5A[] = {0x0181, 0x01C1, 0x0161, 0x0131, 0x0119, 0x010D, 0x0107, 0x0103} + static const fontcolumn_t fontSmall_Data5B[] = {0x0000, 0x07FF, 0x07FF, 0x0401} + static const fontcolumn_t fontSmall_Data5C[] = {0x0000, 0x0007, 0x001F, 0x0078, 0x01E0, 0x0180} + static const fontcolumn_t fontSmall_Data5D[] = {0x0000, 0x0401, 0x07FF, 0x07FF} + static const fontcolumn_t fontSmall_Data5E[] = {0x0000, 0x0002, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002} + static const fontcolumn_t fontSmall_Data5F[] = {0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400} + static const fontcolumn_t fontSmall_Data60[] = {0x0000, 0x0001, 0x0003, 0x0002} + static const fontcolumn_t fontSmall_Data61[] = {0x0000, 0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0} + static const fontcolumn_t fontSmall_Data62[] = {0x0000, 0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontSmall_Data63[] = {0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x0198, 0x0090} + static const fontcolumn_t fontSmall_Data64[] = {0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF} + static const fontcolumn_t fontSmall_Data65[] = {0x0000, 0x00F0, 0x01F8, 0x0128, 0x0128, 0x01B8, 0x00B0} + static const fontcolumn_t fontSmall_Data66[] = {0x0000, 0x01FE, 0x01FF, 0x0009} + static const fontcolumn_t fontSmall_Data67[] = {0x0000, 0x04F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8} + static const fontcolumn_t fontSmall_Data68[] = {0x0000, 0x01FF, 0x01FF, 0x0018, 0x0008, 0x01F8, 0x01F0} + static const fontcolumn_t fontSmall_Data69[] = {0x0000, 0x01F9, 0x01F9} + static const fontcolumn_t fontSmall_Data6A[] = {0x0000, 0x07F9, 0x07F9} + static const fontcolumn_t fontSmall_Data6B[] = {0x0000, 0x01FF, 0x01FF, 0x0070, 0x00D8, 0x0188, 0x0100} + static const fontcolumn_t fontSmall_Data6C[] = {0x0000, 0x01FF, 0x01FF} + static const fontcolumn_t fontSmall_Data6D[] = { + 0x0000, 0x01F8, 0x01F8, 0x0008, 0x01F8, 0x01F8, 0x0008, 0x01F8, + 0x01F0} + static const fontcolumn_t fontSmall_Data6E[] = {0x0000, 0x01F8, 0x01F8, 0x0018, 0x0008, 0x01F8, 0x01F0} + static const fontcolumn_t fontSmall_Data6F[] = {0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontSmall_Data70[] = {0x0000, 0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontSmall_Data71[] = {0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8} + static const fontcolumn_t fontSmall_Data72[] = {0x0000, 0x01F8, 0x01F8, 0x0008} + static const fontcolumn_t fontSmall_Data73[] = {0x0000, 0x0090, 0x01B8, 0x0168, 0x01D8, 0x0090} + static const fontcolumn_t fontSmall_Data74[] = {0x0000, 0x00FE, 0x01FE, 0x0108} + static const fontcolumn_t fontSmall_Data75[] = {0x0000, 0x00F8, 0x01F8, 0x0100, 0x0180, 0x01F8, 0x01F8} + static const fontcolumn_t fontSmall_Data76[] = {0x0000, 0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018} + static const fontcolumn_t fontSmall_Data77[] = { + 0x0000, 0x0078, 0x01F8, 0x01E0, 0x0078, 0x0078, 0x01E0, 0x01F8, + 0x0078} + static const fontcolumn_t fontSmall_Data78[] = {0x0000, 0x0198, 0x01F8, 0x0060, 0x01F8, 0x0198} + static const fontcolumn_t fontSmall_Data79[] = {0x0400, 0x0478, 0x07F8, 0x0380, 0x00F8, 0x0078} + static const fontcolumn_t fontSmall_Data7A[] = {0x0000, 0x0188, 0x01C8, 0x0168, 0x0138, 0x0118} + static const fontcolumn_t fontSmall_Data7B[] = {0x0000, 0x0010, 0x01FF, 0x03EF, 0x0200} + static const fontcolumn_t fontSmall_Data7C[] = {0x0000, 0x03FF, 0x03FF} + static const fontcolumn_t fontSmall_Data7D[] = {0x0000, 0x0200, 0x03EF, 0x01FF, 0x0010} + static const fontcolumn_t fontSmall_Data7E[] = {0x0000, 0x0004, 0x0006, 0x0002, 0x0006, 0x0004, 0x0006, 0x0002} +#endif + +/* fontLarger - Tahoma, 11, Bold */ +#if 1 + const struct font fontLarger = { + 12, 1, 13, 2, 2, 13, ' ', '~', + OFFSETOF(fontLarger_Widths, &fontLarger), OFFSETOF(fontLarger_Offsets, &fontLarger) + } + static const uint16_t fontLarger_Offsets[] = { + FOD_0TF(fontLarger,2), FOD_0TF(fontLarger,3), FOD_0TF(fontLarger,4), + FOD_0TF(fontLarger,5), FOD_0TF(fontLarger,6), FOD_0TE(fontLarger,7) + } + static const uint8_t fontLarger_Widths[] = { + 2, 3, 5, 8, 7, 13, 8, 2, 4, 4, 7, 8, 3, 4, 3, 5, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 9, 8, 9, 6, + 9, 8, 7, 7, 8, 6, 5, 7, 8, 4, 5, 7, 6, 10, 7, 8, + 7, 8, 8, 7, 6, 7, 7, 11, 7, 6, 6, 4, 5, 4, 9, 8, + 5, 6, 7, 5, 7, 6, 5, 7, 7, 2, 3, 6, 2, 10, 7, 7, + 7, 7, 4, 5, 5, 7, 6, 10, 6, 6, 5, 6, 4, 6, 9 + } + static const fontcolumn_t fontLarger_Data20[] = {0x0000, 0x0000} + static const fontcolumn_t fontLarger_Data21[] = {0x0000, 0x037E, 0x037E} + static const fontcolumn_t fontLarger_Data22[] = {0x0007, 0x0007, 0x0000, 0x0007, 0x0007} + static const fontcolumn_t fontLarger_Data23[] = {0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018} + static const fontcolumn_t fontLarger_Data24[] = {0x0118, 0x023C, 0x0264, 0x0FFF, 0x0264, 0x03C4, 0x0188} + static const fontcolumn_t fontLarger_Data25[] = { + 0x001C, 0x003E, 0x0022, 0x023E, 0x011C, 0x00C0, 0x0020, 0x0018, + 0x01C4, 0x03E2, 0x0220, 0x03E0, 0x01C0} + static const fontcolumn_t fontLarger_Data26[] = {0x01CC, 0x03FE, 0x0232, 0x0272, 0x03DE, 0x018C, 0x03E0, 0x0260} + static const fontcolumn_t fontLarger_Data27[] = {0x0007, 0x0007} + static const fontcolumn_t fontLarger_Data28[] = {0x01F8, 0x07FE, 0x0E07, 0x0801} + static const fontcolumn_t fontLarger_Data29[] = {0x0801, 0x0E07, 0x07FE, 0x01F8} + static const fontcolumn_t fontLarger_Data2A[] = {0x0000, 0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A} + static const fontcolumn_t fontLarger_Data2B[] = {0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020} + static const fontcolumn_t fontLarger_Data2C[] = {0x0000, 0x0F00, 0x0700} + static const fontcolumn_t fontLarger_Data2D[] = {0x0020, 0x0020, 0x0020, 0x0020} + static const fontcolumn_t fontLarger_Data2E[] = {0x0000, 0x0300, 0x0300} + static const fontcolumn_t fontLarger_Data2F[] = {0x0C00, 0x0380, 0x0060, 0x001C, 0x0003} + static const fontcolumn_t fontLarger_Data30[] = {0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC} + static const fontcolumn_t fontLarger_Data31[] = {0x0000, 0x0204, 0x0204, 0x03FE, 0x03FE, 0x0200, 0x0200} + static const fontcolumn_t fontLarger_Data32[] = {0x0204, 0x0302, 0x0382, 0x02C2, 0x0262, 0x023E, 0x021C} + static const fontcolumn_t fontLarger_Data33[] = {0x0104, 0x0202, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC} + static const fontcolumn_t fontLarger_Data34[] = {0x0060, 0x0050, 0x0048, 0x0044, 0x03FE, 0x03FE, 0x0040} + static const fontcolumn_t fontLarger_Data35[] = {0x0100, 0x021E, 0x021E, 0x0212, 0x0212, 0x03F2, 0x01E2} + static const fontcolumn_t fontLarger_Data36[] = {0x01F8, 0x03FC, 0x0216, 0x0212, 0x0212, 0x03F2, 0x01E0} + static const fontcolumn_t fontLarger_Data37[] = {0x0002, 0x0002, 0x0382, 0x03E2, 0x007A, 0x001E, 0x0006} + static const fontcolumn_t fontLarger_Data38[] = {0x01DC, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC} + static const fontcolumn_t fontLarger_Data39[] = {0x003C, 0x027E, 0x0242, 0x0242, 0x0342, 0x01FE, 0x00FC} + static const fontcolumn_t fontLarger_Data3A[] = {0x0000, 0x0318, 0x0318} + static const fontcolumn_t fontLarger_Data3B[] = {0x0000, 0x0F18, 0x0718} + static const fontcolumn_t fontLarger_Data3C[] = { + 0x0000, 0x0060, 0x0060, 0x0090, 0x0090, 0x0108, 0x0108, 0x0204, + 0x0204} + static const fontcolumn_t fontLarger_Data3D[] = {0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090} + static const fontcolumn_t fontLarger_Data3E[] = { + 0x0000, 0x0204, 0x0204, 0x0108, 0x0108, 0x0090, 0x0090, 0x0060, + 0x0060} + static const fontcolumn_t fontLarger_Data3F[] = {0x0004, 0x0002, 0x0362, 0x0372, 0x001E, 0x000C} + static const fontcolumn_t fontLarger_Data40[] = { + 0x01F8, 0x0204, 0x04F2, 0x05FA, 0x050A, 0x04FA, 0x05FA, 0x0104, + 0x00F8} + static const fontcolumn_t fontLarger_Data41[] = {0x0380, 0x03F0, 0x00FC, 0x008E, 0x008E, 0x00FC, 0x03F0, 0x0380} + static const fontcolumn_t fontLarger_Data42[] = {0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC} + static const fontcolumn_t fontLarger_Data43[] = {0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x018C} + static const fontcolumn_t fontLarger_Data44[] = {0x03FE, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0306, 0x01FC, 0x00F8} + static const fontcolumn_t fontLarger_Data45[] = {0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x0222} + static const fontcolumn_t fontLarger_Data46[] = {0x03FE, 0x03FE, 0x0022, 0x0022, 0x0022} + static const fontcolumn_t fontLarger_Data47[] = {0x01FC, 0x03FE, 0x0202, 0x0202, 0x0222, 0x03E2, 0x03EC} + static const fontcolumn_t fontLarger_Data48[] = {0x03FE, 0x03FE, 0x0020, 0x0020, 0x0020, 0x0020, 0x03FE, 0x03FE} + static const fontcolumn_t fontLarger_Data49[] = {0x0202, 0x03FE, 0x03FE, 0x0202} + static const fontcolumn_t fontLarger_Data4A[] = {0x0200, 0x0202, 0x0202, 0x03FE, 0x01FE} + static const fontcolumn_t fontLarger_Data4B[] = {0x03FE, 0x03FE, 0x0070, 0x00D8, 0x018C, 0x0306, 0x0202} + static const fontcolumn_t fontLarger_Data4C[] = {0x03FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x0200} + static const fontcolumn_t fontLarger_Data4D[] = { + 0x03FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x0030, 0x0018, 0x000C, + 0x03FE, 0x03FE} + static const fontcolumn_t fontLarger_Data4E[] = {0x03FE, 0x000E, 0x001C, 0x0070, 0x01E0, 0x0380, 0x03FE} + static const fontcolumn_t fontLarger_Data4F[] = {0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC} + static const fontcolumn_t fontLarger_Data50[] = {0x03FE, 0x03FE, 0x0042, 0x0042, 0x0042, 0x007E, 0x003C} + static const fontcolumn_t fontLarger_Data51[] = {0x01FC, 0x03FE, 0x0202, 0x0202, 0x0602, 0x0E02, 0x0BFE, 0x09FC} + static const fontcolumn_t fontLarger_Data52[] = {0x03FE, 0x03FE, 0x0022, 0x0062, 0x00E2, 0x01BE, 0x031C, 0x0200} + static const fontcolumn_t fontLarger_Data53[] = {0x019C, 0x023E, 0x0222, 0x0222, 0x0222, 0x03E2, 0x01CC} + static const fontcolumn_t fontLarger_Data54[] = {0x0002, 0x0002, 0x03FE, 0x03FE, 0x0002, 0x0002} + static const fontcolumn_t fontLarger_Data55[] = {0x01FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x03FE, 0x01FE} + static const fontcolumn_t fontLarger_Data56[] = {0x000E, 0x007E, 0x03F0, 0x0380, 0x03F0, 0x007E, 0x000E} + static const fontcolumn_t fontLarger_Data57[] = { + 0x001E, 0x00FE, 0x03E0, 0x03E0, 0x00FC, 0x000E, 0x00FC, 0x03E0, + 0x03E0, 0x00FE, 0x001E} + static const fontcolumn_t fontLarger_Data58[] = {0x0306, 0x038E, 0x00F8, 0x0070, 0x00F8, 0x038E, 0x0306} + static const fontcolumn_t fontLarger_Data59[] = {0x000E, 0x003E, 0x03F0, 0x03F0, 0x003E, 0x000E} + static const fontcolumn_t fontLarger_Data5A[] = {0x0382, 0x03C2, 0x0262, 0x0232, 0x021E, 0x020E} + static const fontcolumn_t fontLarger_Data5B[] = {0x0FFF, 0x0FFF, 0x0801, 0x0801} + static const fontcolumn_t fontLarger_Data5C[] = {0x0003, 0x001C, 0x0060, 0x0380, 0x0C00} + static const fontcolumn_t fontLarger_Data5D[] = {0x0801, 0x0801, 0x0FFF, 0x0FFF} + static const fontcolumn_t fontLarger_Data5E[] = { + 0x0000, 0x0010, 0x0008, 0x0004, 0x0002, 0x0002, 0x0004, 0x0008, + 0x0010} + static const fontcolumn_t fontLarger_Data5F[] = {0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800} + static const fontcolumn_t fontLarger_Data60[] = {0x0000, 0x0000, 0x0001, 0x0003, 0x0002} + static const fontcolumn_t fontLarger_Data61[] = {0x0180, 0x03D0, 0x0248, 0x0248, 0x03F8, 0x03F0} + static const fontcolumn_t fontLarger_Data62[] = {0x03FF, 0x03FF, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0} + static const fontcolumn_t fontLarger_Data63[] = {0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208} + static const fontcolumn_t fontLarger_Data64[] = {0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x03FF, 0x03FF} + static const fontcolumn_t fontLarger_Data65[] = {0x01F0, 0x03F8, 0x0248, 0x0248, 0x0278, 0x0170} + static const fontcolumn_t fontLarger_Data66[] = {0x0008, 0x03FE, 0x03FF, 0x0009, 0x0001} + static const fontcolumn_t fontLarger_Data67[] = {0x01F0, 0x0BF8, 0x0A08, 0x0A08, 0x0908, 0x0FF8, 0x07F8} + static const fontcolumn_t fontLarger_Data68[] = {0x03FF, 0x03FF, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0} + static const fontcolumn_t fontLarger_Data69[] = {0x03FA, 0x03FA} + static const fontcolumn_t fontLarger_Data6A[] = {0x0808, 0x0FFA, 0x07FA} + static const fontcolumn_t fontLarger_Data6B[] = {0x03FF, 0x03FF, 0x00E0, 0x01B0, 0x0318, 0x0208} + static const fontcolumn_t fontLarger_Data6C[] = {0x03FF, 0x03FF} + static const fontcolumn_t fontLarger_Data6D[] = { + 0x03F8, 0x03F8, 0x0008, 0x0008, 0x03F8, 0x03F0, 0x0008, 0x0008, + 0x03F8, 0x03F0} + static const fontcolumn_t fontLarger_Data6E[] = {0x03F8, 0x03F8, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0} + static const fontcolumn_t fontLarger_Data6F[] = {0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208, 0x03F8, 0x01F0} + static const fontcolumn_t fontLarger_Data70[] = {0x0FF8, 0x0FF8, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0} + static const fontcolumn_t fontLarger_Data71[] = {0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x0FF8, 0x0FF8} + static const fontcolumn_t fontLarger_Data72[] = {0x03F8, 0x03F8, 0x0010, 0x0018} + static const fontcolumn_t fontLarger_Data73[] = {0x0130, 0x0278, 0x0248, 0x03C8, 0x0190} + static const fontcolumn_t fontLarger_Data74[] = {0x0008, 0x01FE, 0x03FE, 0x0208, 0x0208} + static const fontcolumn_t fontLarger_Data75[] = {0x01F8, 0x03F8, 0x0200, 0x0200, 0x0100, 0x03F8, 0x03F8} + static const fontcolumn_t fontLarger_Data76[] = {0x0038, 0x00F8, 0x03C0, 0x03C0, 0x00F8, 0x0038} + static const fontcolumn_t fontLarger_Data77[] = { + 0x0018, 0x00F8, 0x03E0, 0x0380, 0x00F8, 0x00F8, 0x0380, 0x03E0, + 0x00F8, 0x0018} + static const fontcolumn_t fontLarger_Data78[] = {0x0318, 0x03B8, 0x00E0, 0x00E0, 0x03B8, 0x0318} + static const fontcolumn_t fontLarger_Data79[] = {0x0038, 0x0CF8, 0x0FC0, 0x03C0, 0x00F8, 0x0038} + static const fontcolumn_t fontLarger_Data7A[] = {0x0388, 0x03C8, 0x0268, 0x0238, 0x0218} + static const fontcolumn_t fontLarger_Data7B[] = {0x0020, 0x0020, 0x07FE, 0x0FDF, 0x0801, 0x0801} + static const fontcolumn_t fontLarger_Data7C[] = {0x0000, 0x0000, 0x0FFF, 0x0FFF} + static const fontcolumn_t fontLarger_Data7D[] = {0x0801, 0x0801, 0x0FDF, 0x07FE, 0x0020, 0x0020} + static const fontcolumn_t fontLarger_Data7E[] = { + 0x00E0, 0x0030, 0x0030, 0x0030, 0x0060, 0x00C0, 0x00C0, 0x00C0, + 0x0070} +#endif + +/* fontUI1 - UI Font 1 Medium Bold */ +#if 1 + const struct font fontUI1 = { + 13, 0, 15, 2, 3, 13, ' ', '~', + OFFSETOF(fontUI1_Widths, &fontUI1), OFFSETOF(fontUI1_Offsets, &fontName) + } + static const uint16_t fontUI1_Offsets[] = { + FOD_0TF(fontUI1,2), FOD_0TF(fontUI1,3), FOD_0TF(fontUI1,4), + FOD_0TF(fontUI1,5), FOD_0TF(fontUI1,6), FOD_0TE(fontUI1,7) + } + static const uint8_t fontUI1_Widths[] = { + 3, 3, 6, 8, 7, 13, 9, 3, 5, 5, 6, 8, 3, 5, 3, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 8, 8, 8, 6, + 10, 8, 7, 7, 8, 7, 7, 8, 8, 5, 5, 7, 7, 9, 8, 8, + 7, 8, 8, 7, 8, 8, 7, 11, 7, 7, 7, 5, 7, 5, 9, 8, + 5, 7, 7, 6, 7, 7, 5, 7, 7, 3, 4, 7, 3, 11, 7, 7, + 7, 7, 6, 6, 5, 7, 7, 9, 7, 7, 6, 7, 4, 7, 8 + } + static const fontcolumn_t fontUI1_Data20[] = {0x0000, 0x0000, 0x0000} + static const fontcolumn_t fontUI1_Data21[] = {0x0000, 0x02FC, 0x02FC} + static const fontcolumn_t fontUI1_Data22[] = {0x0000, 0x000E, 0x000E, 0x0000, 0x000E, 0x000E} + static const fontcolumn_t fontUI1_Data23[] = {0x0000, 0x0080, 0x0390, 0x00F0, 0x039C, 0x00F0, 0x009C, 0x0010} + static const fontcolumn_t fontUI1_Data24[] = {0x0000, 0x0130, 0x0278, 0x0FC8, 0x027E, 0x03C8, 0x0190} + static const fontcolumn_t fontUI1_Data25[] = { + 0x0000, 0x0038, 0x007C, 0x0044, 0x007C, 0x0338, 0x00C0, 0x0030, + 0x01CC, 0x03E0, 0x0220, 0x03E0, 0x01C0} + static const fontcolumn_t fontUI1_Data26[] = { + 0x0000, 0x01D8, 0x03FC, 0x0224, 0x027C, 0x02D8, 0x0180, 0x0360, + 0x0220} + static const fontcolumn_t fontUI1_Data27[] = {0x0000, 0x000E, 0x000E} + static const fontcolumn_t fontUI1_Data28[] = {0x0000, 0x01F0, 0x07FC, 0x0E0E, 0x0802} + static const fontcolumn_t fontUI1_Data29[] = {0x0000, 0x0802, 0x0E0E, 0x07FC, 0x01F0} + static const fontcolumn_t fontUI1_Data2A[] = {0x0000, 0x0014, 0x0008, 0x003E, 0x0008, 0x0014} + static const fontcolumn_t fontUI1_Data2B[] = {0x0000, 0x0040, 0x0040, 0x0040, 0x03F8, 0x0040, 0x0040, 0x0040} + static const fontcolumn_t fontUI1_Data2C[] = {0x0000, 0x0F00, 0x0700} + static const fontcolumn_t fontUI1_Data2D[] = {0x0000, 0x0040, 0x0040, 0x0040, 0x0040} + static const fontcolumn_t fontUI1_Data2E[] = {0x0000, 0x0300, 0x0300} + static const fontcolumn_t fontUI1_Data2F[] = {0x0000, 0x0C00, 0x0F00, 0x03E0, 0x00F8, 0x001E, 0x0006} + static const fontcolumn_t fontUI1_Data30[] = {0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x03FC, 0x01F8} + static const fontcolumn_t fontUI1_Data31[] = {0x0000, 0x0000, 0x0208, 0x03FC, 0x03FC, 0x0200, 0x0000} + static const fontcolumn_t fontUI1_Data32[] = {0x0000, 0x0308, 0x038C, 0x02C4, 0x0264, 0x023C, 0x0218} + static const fontcolumn_t fontUI1_Data33[] = {0x0000, 0x0108, 0x030C, 0x0224, 0x0224, 0x03FC, 0x01D8} + static const fontcolumn_t fontUI1_Data34[] = {0x0000, 0x00C0, 0x00A0, 0x0090, 0x03F8, 0x03FC, 0x0080} + static const fontcolumn_t fontUI1_Data35[] = {0x0000, 0x0100, 0x033C, 0x023C, 0x0224, 0x03E4, 0x01C4} + static const fontcolumn_t fontUI1_Data36[] = {0x0000, 0x01F0, 0x03F8, 0x022C, 0x0224, 0x03E4, 0x01C0} + static const fontcolumn_t fontUI1_Data37[] = {0x0000, 0x0004, 0x0304, 0x03C4, 0x00F4, 0x003C, 0x000C} + static const fontcolumn_t fontUI1_Data38[] = {0x0000, 0x01D8, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8} + static const fontcolumn_t fontUI1_Data39[] = {0x0000, 0x0038, 0x027C, 0x0244, 0x0344, 0x01FC, 0x00F8} + static const fontcolumn_t fontUI1_Data3A[] = {0x0000, 0x0330, 0x0330} + static const fontcolumn_t fontUI1_Data3B[] = {0x0000, 0x0F30, 0x0730} + static const fontcolumn_t fontUI1_Data3C[] = {0x0000, 0x0040, 0x00A0, 0x00A0, 0x0110, 0x0110, 0x0208, 0x0208} + static const fontcolumn_t fontUI1_Data3D[] = {0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090} + static const fontcolumn_t fontUI1_Data3E[] = {0x0000, 0x0208, 0x0208, 0x0110, 0x0110, 0x00A0, 0x00A0, 0x0040} + static const fontcolumn_t fontUI1_Data3F[] = {0x0000, 0x0008, 0x02C4, 0x02E4, 0x003C, 0x0018} + static const fontcolumn_t fontUI1_Data40[] = { + 0x0000, 0x01F0, 0x0208, 0x04E4, 0x05F4, 0x0514, 0x05F4, 0x05F4, + 0x0104, 0x00F8} + static const fontcolumn_t fontUI1_Data41[] = {0x0000, 0x0380, 0x03F0, 0x00FC, 0x008C, 0x00FC, 0x03F0, 0x0380} + static const fontcolumn_t fontUI1_Data42[] = {0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8} + static const fontcolumn_t fontUI1_Data43[] = {0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x0108} + static const fontcolumn_t fontUI1_Data44[] = {0x0000, 0x03FC, 0x03FC, 0x0204, 0x0204, 0x030C, 0x01F8, 0x00F0} + static const fontcolumn_t fontUI1_Data45[] = {0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x0224, 0x0224} + static const fontcolumn_t fontUI1_Data46[] = {0x0000, 0x03FC, 0x03FC, 0x0024, 0x0024, 0x0024, 0x0024} + static const fontcolumn_t fontUI1_Data47[] = {0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0244, 0x03C4, 0x03C8} + static const fontcolumn_t fontUI1_Data48[] = {0x0000, 0x03FC, 0x03FC, 0x0020, 0x0020, 0x0020, 0x03FC, 0x03FC} + static const fontcolumn_t fontUI1_Data49[] = {0x0000, 0x0204, 0x03FC, 0x03FC, 0x0204} + static const fontcolumn_t fontUI1_Data4A[] = {0x0200, 0x0204, 0x0204, 0x03FC, 0x01FC} + static const fontcolumn_t fontUI1_Data4B[] = {0x0000, 0x03FC, 0x03FC, 0x00F0, 0x0198, 0x030C, 0x0204} + static const fontcolumn_t fontUI1_Data4C[] = {0x0000, 0x03FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x0200} + static const fontcolumn_t fontUI1_Data4D[] = { + 0x0000, 0x03FC, 0x001C, 0x0038, 0x0070, 0x0020, 0x0010, 0x03F8, + 0x03FC} + static const fontcolumn_t fontUI1_Data4E[] = {0x0000, 0x03FC, 0x0018, 0x0030, 0x0060, 0x00C0, 0x0180, 0x03FC} + static const fontcolumn_t fontUI1_Data4F[] = {0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x03FC, 0x01F8} + static const fontcolumn_t fontUI1_Data50[] = {0x0000, 0x03FC, 0x03FC, 0x0044, 0x0044, 0x007C, 0x0038} + static const fontcolumn_t fontUI1_Data51[] = {0x0000, 0x01F8, 0x03FC, 0x0204, 0x0604, 0x0E04, 0x0BFC, 0x09F8} + static const fontcolumn_t fontUI1_Data52[] = {0x0000, 0x03FC, 0x03FC, 0x0044, 0x00C4, 0x01FC, 0x0338, 0x0200} + static const fontcolumn_t fontUI1_Data53[] = {0x0000, 0x0138, 0x027C, 0x0264, 0x0264, 0x03E4, 0x01C8} + static const fontcolumn_t fontUI1_Data54[] = {0x0004, 0x0004, 0x0004, 0x03FC, 0x03FC, 0x0004, 0x0004, 0x0004} + static const fontcolumn_t fontUI1_Data55[] = {0x0000, 0x01FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x03FC, 0x01FC} + static const fontcolumn_t fontUI1_Data56[] = {0x0000, 0x001C, 0x00FC, 0x03E0, 0x03E0, 0x00FC, 0x001C} + static const fontcolumn_t fontUI1_Data57[] = { + 0x0000, 0x001C, 0x00FC, 0x03E0, 0x03C0, 0x007C, 0x007C, 0x03C0, + 0x03E0, 0x00FC, 0x001C} + static const fontcolumn_t fontUI1_Data58[] = {0x0000, 0x030C, 0x039C, 0x00F0, 0x00F0, 0x039C, 0x030C} + static const fontcolumn_t fontUI1_Data59[] = {0x0000, 0x000C, 0x003C, 0x03F0, 0x03F0, 0x003C, 0x000C} + static const fontcolumn_t fontUI1_Data5A[] = {0x0000, 0x0384, 0x03C4, 0x02E4, 0x0274, 0x023C, 0x021C} + static const fontcolumn_t fontUI1_Data5B[] = {0x0000, 0x0FFE, 0x0FFE, 0x0802, 0x0802} + static const fontcolumn_t fontUI1_Data5C[] = {0x0000, 0x0006, 0x001E, 0x00F8, 0x03E0, 0x0F00, 0x0C00} + static const fontcolumn_t fontUI1_Data5D[] = {0x0000, 0x0802, 0x0802, 0x0FFE, 0x0FFE} + static const fontcolumn_t fontUI1_Data5E[] = { + 0x0000, 0x0020, 0x0030, 0x0018, 0x000C, 0x000C, 0x0018, 0x0030, + 0x0020} + static const fontcolumn_t fontUI1_Data5F[] = {0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800} + static const fontcolumn_t fontUI1_Data60[] = {0x0000, 0x0000, 0x0002, 0x0006, 0x0004} + static const fontcolumn_t fontUI1_Data61[] = {0x0000, 0x0180, 0x03D0, 0x0250, 0x0250, 0x03F0, 0x03E0} + static const fontcolumn_t fontUI1_Data62[] = {0x0000, 0x03FE, 0x03FE, 0x0210, 0x0210, 0x03F0, 0x01E0} + static const fontcolumn_t fontUI1_Data63[] = {0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0210} + static const fontcolumn_t fontUI1_Data64[] = {0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03FE, 0x03FE} + static const fontcolumn_t fontUI1_Data65[] = {0x0000, 0x01E0, 0x03F0, 0x0250, 0x0250, 0x0270, 0x0160} + static const fontcolumn_t fontUI1_Data66[] = {0x0010, 0x03FC, 0x03FE, 0x0012, 0x0012} + static const fontcolumn_t fontUI1_Data67[] = {0x0000, 0x01E0, 0x0BF0, 0x0A10, 0x0A10, 0x0FF0, 0x07F0} + static const fontcolumn_t fontUI1_Data68[] = {0x0000, 0x03FE, 0x03FE, 0x0010, 0x0010, 0x03F0, 0x03E0} + static const fontcolumn_t fontUI1_Data69[] = {0x0000, 0x03F4, 0x03F4} + static const fontcolumn_t fontUI1_Data6A[] = {0x0800, 0x0810, 0x0FF4, 0x07F4} + static const fontcolumn_t fontUI1_Data6B[] = {0x0000, 0x03FE, 0x03FE, 0x00C0, 0x01E0, 0x0330, 0x0210} + static const fontcolumn_t fontUI1_Data6C[] = {0x0000, 0x03FE, 0x03FE} + static const fontcolumn_t fontUI1_Data6D[] = { + 0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0, 0x0010, + 0x0010, 0x03F0, 0x03E0} + static const fontcolumn_t fontUI1_Data6E[] = {0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0} + static const fontcolumn_t fontUI1_Data6F[] = {0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03F0, 0x01E0} + static const fontcolumn_t fontUI1_Data70[] = {0x0000, 0x0FF0, 0x0FF0, 0x0210, 0x0210, 0x03F0, 0x01E0} + static const fontcolumn_t fontUI1_Data71[] = {0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0FF0, 0x0FF0} + static const fontcolumn_t fontUI1_Data72[] = {0x0000, 0x03F0, 0x03F0, 0x0020, 0x0030, 0x0030} + static const fontcolumn_t fontUI1_Data73[] = {0x0000, 0x0260, 0x02F0, 0x02D0, 0x03D0, 0x0190} + static const fontcolumn_t fontUI1_Data74[] = {0x0010, 0x01FC, 0x03FC, 0x0210, 0x0210} + static const fontcolumn_t fontUI1_Data75[] = {0x0000, 0x01F0, 0x03F0, 0x0200, 0x0200, 0x03F0, 0x03F0} + static const fontcolumn_t fontUI1_Data76[] = {0x0000, 0x0070, 0x01F0, 0x0380, 0x0380, 0x01F0, 0x0070} + static const fontcolumn_t fontUI1_Data77[] = { + 0x0000, 0x00F0, 0x03F0, 0x0300, 0x00F0, 0x00F0, 0x0300, 0x03F0, + 0x00F0} + static const fontcolumn_t fontUI1_Data78[] = {0x0000, 0x0330, 0x03F0, 0x00C0, 0x00C0, 0x03F0, 0x0330} + static const fontcolumn_t fontUI1_Data79[] = {0x0000, 0x0030, 0x0CF0, 0x0FC0, 0x03C0, 0x00F0, 0x0030} + static const fontcolumn_t fontUI1_Data7A[] = {0x0000, 0x0310, 0x0390, 0x02D0, 0x0270, 0x0230} + static const fontcolumn_t fontUI1_Data7B[] = {0x0000, 0x0040, 0x0040, 0x07FC, 0x0FBE, 0x0802, 0x0802} + static const fontcolumn_t fontUI1_Data7C[] = {0x0000, 0x0000, 0x0FFE, 0x0FFE} + static const fontcolumn_t fontUI1_Data7D[] = {0x0000, 0x0802, 0x0802, 0x0FBE, 0x07FC, 0x0040, 0x0040} + static const fontcolumn_t fontUI1_Data7E[] = {0x0000, 0x01C0, 0x0020, 0x0020, 0x00C0, 0x0100, 0x0100, 0x00E0} +#endif + +/* fontUI1 - UI Font 2 Medium Bold */ +#if 1 + const struct font fontUI2 = { + 11, 1, 13, 2, 2, 12, ' ', '~', + OFFSETOF(fontUI2_Widths, &fontUI2), OFFSETOF(fontUI2_Offsets, &fontUI2) + } + static const uint16_t fontUI2_Offsets[] = { + FOD_0TF(fontUI2,2), FOD_0TF(fontUI2,3), FOD_0TF(fontUI2,4), + FOD_0TF(fontUI2,5), FOD_0TF(fontUI2,6), FOD_0TE(fontUI2,7) + } + static const uint8_t fontUI2_Widths[] = { + 2, 2, 5, 8, 6, 12, 8, 2, 4, 4, 6, 8, 2, 4, 2, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 8, 8, 8, 5, + 9, 7, 6, 6, 7, 5, 5, 7, 7, 4, 5, 6, 5, 9, 6, 7, + 6, 7, 7, 6, 6, 7, 6, 10, 6, 6, 6, 4, 5, 4, 7, 7, + 4, 6, 6, 5, 6, 6, 4, 6, 6, 2, 3, 6, 2, 10, 6, 6, + 6, 6, 4, 5, 4, 6, 6, 8, 6, 6, 5, 6, 4, 6, 8 + } + static const fontcolumn_t fontUI2_Data20[] = {0x0000, 0x0000} + static const fontcolumn_t fontUI2_Data21[] = {0x017E, 0x017E} + static const fontcolumn_t fontUI2_Data22[] = {0x0007, 0x0007, 0x0000, 0x0007, 0x0007} + static const fontcolumn_t fontUI2_Data23[] = {0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018} + static const fontcolumn_t fontUI2_Data24[] = {0x0098, 0x013C, 0x07E4, 0x013F, 0x01E4, 0x00C8} + static const fontcolumn_t fontUI2_Data25[] = { + 0x001C, 0x003E, 0x0022, 0x003E, 0x019C, 0x0060, 0x0018, 0x00E6, + 0x01F0, 0x0110, 0x01F0, 0x00E0} + static const fontcolumn_t fontUI2_Data26[] = {0x00EC, 0x01FE, 0x0112, 0x013E, 0x016C, 0x00C0, 0x01B0, 0x0110} + static const fontcolumn_t fontUI2_Data27[] = {0x0007, 0x0007} + static const fontcolumn_t fontUI2_Data28[] = {0x00F8, 0x03FE, 0x0707, 0x0401} + static const fontcolumn_t fontUI2_Data29[] = {0x0401, 0x0707, 0x03FE, 0x00F8} + static const fontcolumn_t fontUI2_Data2A[] = {0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A} + static const fontcolumn_t fontUI2_Data2B[] = {0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020} + static const fontcolumn_t fontUI2_Data2C[] = {0x0780, 0x0380} + static const fontcolumn_t fontUI2_Data2D[] = {0x0020, 0x0020, 0x0020, 0x0020} + static const fontcolumn_t fontUI2_Data2E[] = {0x0180, 0x0180} + static const fontcolumn_t fontUI2_Data2F[] = {0x0600, 0x0180, 0x0070, 0x000C, 0x0003} + static const fontcolumn_t fontUI2_Data30[] = {0x00FC, 0x01FE, 0x0102, 0x0102, 0x01FE, 0x00FC} + static const fontcolumn_t fontUI2_Data31[] = {0x0000, 0x0104, 0x01FE, 0x01FE, 0x0100, 0x0000} + static const fontcolumn_t fontUI2_Data32[] = {0x0184, 0x01C6, 0x0162, 0x0132, 0x011E, 0x010C} + static const fontcolumn_t fontUI2_Data33[] = {0x0084, 0x0186, 0x0112, 0x0112, 0x01FE, 0x00EC} + static const fontcolumn_t fontUI2_Data34[] = {0x0060, 0x0050, 0x0048, 0x01FC, 0x01FE, 0x0040} + static const fontcolumn_t fontUI2_Data35[] = {0x0080, 0x019E, 0x011E, 0x0112, 0x01F2, 0x00E2} + static const fontcolumn_t fontUI2_Data36[] = {0x00FC, 0x01FE, 0x0112, 0x0112, 0x01F2, 0x00E0} + static const fontcolumn_t fontUI2_Data37[] = {0x0002, 0x0002, 0x01C2, 0x01FA, 0x003E, 0x0006} + static const fontcolumn_t fontUI2_Data38[] = {0x00EC, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC} + static const fontcolumn_t fontUI2_Data39[] = {0x001C, 0x013E, 0x0122, 0x0122, 0x01FE, 0x00FC} + static const fontcolumn_t fontUI2_Data3A[] = {0x0198, 0x0198} + static const fontcolumn_t fontUI2_Data3B[] = {0x0798, 0x0398} + static const fontcolumn_t fontUI2_Data3C[] = {0x0000, 0x0020, 0x0050, 0x0050, 0x0088, 0x0088, 0x0104, 0x0104} + static const fontcolumn_t fontUI2_Data3D[] = {0x0000, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048} + static const fontcolumn_t fontUI2_Data3E[] = {0x0000, 0x0104, 0x0104, 0x0088, 0x0088, 0x0050, 0x0050, 0x0020} + static const fontcolumn_t fontUI2_Data3F[] = {0x0004, 0x0162, 0x0172, 0x001E, 0x000C} + static const fontcolumn_t fontUI2_Data40[] = { + 0x00F8, 0x0104, 0x0272, 0x02FA, 0x028A, 0x027A, 0x02FA, 0x0084, + 0x0078} + static const fontcolumn_t fontUI2_Data41[] = {0x01C0, 0x01F8, 0x007E, 0x0046, 0x007E, 0x01F8, 0x01C0} + static const fontcolumn_t fontUI2_Data42[] = {0x01FE, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC} + static const fontcolumn_t fontUI2_Data43[] = {0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x0102} + static const fontcolumn_t fontUI2_Data44[] = {0x01FE, 0x01FE, 0x0102, 0x0102, 0x0186, 0x00FC, 0x0078} + static const fontcolumn_t fontUI2_Data45[] = {0x01FE, 0x01FE, 0x0112, 0x0112, 0x0112} + static const fontcolumn_t fontUI2_Data46[] = {0x01FE, 0x01FE, 0x0012, 0x0012, 0x0012} + static const fontcolumn_t fontUI2_Data47[] = {0x00FC, 0x01FE, 0x0102, 0x0102, 0x0122, 0x01E2, 0x01E2} + static const fontcolumn_t fontUI2_Data48[] = {0x01FE, 0x01FE, 0x0010, 0x0010, 0x0010, 0x01FE, 0x01FE} + static const fontcolumn_t fontUI2_Data49[] = {0x0102, 0x01FE, 0x01FE, 0x0102} + static const fontcolumn_t fontUI2_Data4A[] = {0x0100, 0x0102, 0x0102, 0x01FE, 0x00FE} + static const fontcolumn_t fontUI2_Data4B[] = {0x01FE, 0x01FE, 0x0078, 0x00CC, 0x0186, 0x0102} + static const fontcolumn_t fontUI2_Data4C[] = {0x01FE, 0x01FE, 0x0100, 0x0100, 0x0100} + static const fontcolumn_t fontUI2_Data4D[] = { + 0x01FE, 0x000E, 0x001C, 0x0038, 0x0030, 0x0018, 0x000C, 0x01FE, + 0x01FE} + static const fontcolumn_t fontUI2_Data4E[] = {0x01FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x01FE} + static const fontcolumn_t fontUI2_Data4F[] = {0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x01FE, 0x00FC} + static const fontcolumn_t fontUI2_Data50[] = {0x01FE, 0x01FE, 0x0022, 0x0022, 0x003E, 0x001C} + static const fontcolumn_t fontUI2_Data51[] = {0x00FC, 0x01FE, 0x0102, 0x0302, 0x0702, 0x05FE, 0x04FC} + static const fontcolumn_t fontUI2_Data52[] = {0x01FE, 0x01FE, 0x0022, 0x0062, 0x00FE, 0x019C, 0x0100} + static const fontcolumn_t fontUI2_Data53[] = {0x011C, 0x013E, 0x0132, 0x0132, 0x01F2, 0x00E2} + static const fontcolumn_t fontUI2_Data54[] = {0x0002, 0x0002, 0x01FE, 0x01FE, 0x0002, 0x0002} + static const fontcolumn_t fontUI2_Data55[] = {0x00FE, 0x01FE, 0x0100, 0x0100, 0x0100, 0x01FE, 0x00FE} + static const fontcolumn_t fontUI2_Data56[] = {0x000E, 0x007E, 0x01F0, 0x01F0, 0x007E, 0x000E} + static const fontcolumn_t fontUI2_Data57[] = { + 0x000E, 0x007E, 0x01F0, 0x01E0, 0x003E, 0x003E, 0x01E0, 0x01F0, + 0x007E, 0x000E} + static const fontcolumn_t fontUI2_Data58[] = {0x0186, 0x01CE, 0x0078, 0x0078, 0x01CE, 0x0186} + static const fontcolumn_t fontUI2_Data59[] = {0x0006, 0x001E, 0x01F8, 0x01F8, 0x001E, 0x0006} + static const fontcolumn_t fontUI2_Data5A[] = {0x01C2, 0x01E2, 0x0172, 0x013A, 0x011E, 0x010E} + static const fontcolumn_t fontUI2_Data5B[] = {0x07FF, 0x07FF, 0x0401, 0x0401} + static const fontcolumn_t fontUI2_Data5C[] = {0x0003, 0x000C, 0x0070, 0x0180, 0x0600} + static const fontcolumn_t fontUI2_Data5D[] = {0x0401, 0x0401, 0x07FF, 0x07FF} + static const fontcolumn_t fontUI2_Data5E[] = {0x0010, 0x0008, 0x0004, 0x0002, 0x0004, 0x0008, 0x0010} + static const fontcolumn_t fontUI2_Data5F[] = {0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400} + static const fontcolumn_t fontUI2_Data60[] = {0x0000, 0x0001, 0x0003, 0x0002} + static const fontcolumn_t fontUI2_Data61[] = {0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0} + static const fontcolumn_t fontUI2_Data62[] = {0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontUI2_Data63[] = {0x00F0, 0x01F8, 0x0108, 0x0108, 0x0108} + static const fontcolumn_t fontUI2_Data64[] = {0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF} + static const fontcolumn_t fontUI2_Data65[] = {0x00F0, 0x01F8, 0x0128, 0x0128, 0x0138, 0x0130} + static const fontcolumn_t fontUI2_Data66[] = {0x01FE, 0x01FF, 0x0009, 0x0001} + static const fontcolumn_t fontUI2_Data67[] = {0x00F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8} + static const fontcolumn_t fontUI2_Data68[] = {0x01FF, 0x01FF, 0x0008, 0x0008, 0x01F8, 0x01F0} + static const fontcolumn_t fontUI2_Data69[] = {0x01FA, 0x01FA} + static const fontcolumn_t fontUI2_Data6A[] = {0x0408, 0x07FA, 0x03FA} + static const fontcolumn_t fontUI2_Data6B[] = {0x01FF, 0x01FF, 0x0060, 0x00F0, 0x0198, 0x0108} + static const fontcolumn_t fontUI2_Data6C[] = {0x01FF, 0x01FF} + static const fontcolumn_t fontUI2_Data6D[] = { + 0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0, 0x0008, 0x0008, + 0x01F8, 0x01F0} + static const fontcolumn_t fontUI2_Data6E[] = {0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0} + static const fontcolumn_t fontUI2_Data6F[] = {0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontUI2_Data70[] = {0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0} + static const fontcolumn_t fontUI2_Data71[] = {0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8} + static const fontcolumn_t fontUI2_Data72[] = {0x01F8, 0x01F8, 0x0010, 0x0018} + static const fontcolumn_t fontUI2_Data73[] = {0x0130, 0x0178, 0x0168, 0x01E8, 0x00C8} + static const fontcolumn_t fontUI2_Data74[] = {0x00FE, 0x01FE, 0x0108, 0x0108} + static const fontcolumn_t fontUI2_Data75[] = {0x00F8, 0x01F8, 0x0100, 0x0100, 0x01F8, 0x01F8} + static const fontcolumn_t fontUI2_Data76[] = {0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018} + static const fontcolumn_t fontUI2_Data77[] = {0x0078, 0x01F8, 0x01C0, 0x0078, 0x0078, 0x01C0, 0x01F8, 0x0078} + static const fontcolumn_t fontUI2_Data78[] = {0x0198, 0x01F8, 0x0060, 0x0060, 0x01F8, 0x0198} + static const fontcolumn_t fontUI2_Data79[] = {0x0018, 0x0678, 0x07E0, 0x01E0, 0x0078, 0x0018} + static const fontcolumn_t fontUI2_Data7A[] = {0x0188, 0x01C8, 0x0168, 0x0138, 0x0118} + static const fontcolumn_t fontUI2_Data7B[] = {0x0020, 0x0020, 0x03FE, 0x07DF, 0x0401, 0x0401} + static const fontcolumn_t fontUI2_Data7C[] = {0x0000, 0x0000, 0x07FF, 0x07FF} + static const fontcolumn_t fontUI2_Data7D[] = {0x0401, 0x0401, 0x07DF, 0x03FE, 0x0020, 0x0020} + static const fontcolumn_t fontUI2_Data7E[] = {0x0060, 0x0010, 0x0010, 0x0030, 0x0060, 0x0040, 0x0040, 0x0030} +#endif + +/* + fontLargeNumbers: + Large numbers font, height = 16 (including the decenders) + Characters include: 0 - 9, -, +, ., %, :, Space, Comma +*/ +#if 1 + const struct font fontLargeNumbers = { + 16, 2, 21, 1, 3, 15, 0x25, 0x3A, + OFFSETOF(fontLargeNumbers_Widths, &fontLargeNumbers), OFFSETOF(fontLargeNumbers_Offsets, &fontLargeNumbers) + } + static const uint16_t fontLargeNumbers_Offsets[] = { + FOD(f,25), FOD(f,ZW), FOD(f,ZW), FOD(f,ZW), FOD(f,ZW), FOD(f,ZW), FOD(f,2B), FOD(f,2C), + FOD(f,2D), FOD(f,2E), FOD(f,ZW), FOD(f,30), FOD(f,31), FOD(f,32), FOD(f,33), FOD(f,34), + FOD(f,35), FOD(f,36), FOD(f,37), FOD(f,38), FOD(f,39), FOD(f,3A) + } + static const uint8_t fontLargeNumbers_Widths[] = { + 15, 0, 0, 0, 0, 0, 11, 3, 6, 3, 0, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 4 + } + static const fontcolumn_t fontLargeNumbers_DataZW[] = {0} + static const fontcolumn_t fontLargeNumbers_Data25[] = { + 0x007E, 0x00FF, 0x00C3, 0x80C3, 0xE0FF, 0x7C7E, 0x1F00, 0x07C0, + 0x00F0, 0x7E3E, 0xFF0F, 0xC303, 0xC300, 0xFF00, 0x7E00} + static const fontcolumn_t fontLargeNumbers_Data2B[] = { + 0x01C0, 0x01C0, 0x01C0, 0x01C0, 0x1FFC, 0x1FFC, 0x1FFC, 0x01C0, + 0x01C0, 0x01C0, 0x01C0} + static const fontcolumn_t fontLargeNumbers_Data2C[] = {0x7000, 0x7000, 0xF000} + static const fontcolumn_t fontLargeNumbers_Data2D[] = {0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700} + static const fontcolumn_t fontLargeNumbers_Data2E[] = {0x7000, 0x7000, 0x7000} + static const fontcolumn_t fontLargeNumbers_Data30[] = { + 0x0FF8, 0x3FFE, 0x3FFE, 0x7007, 0x6003, 0x6003, 0x7007, 0x3FFE, + 0x3FFE, 0x0FF8} + static const fontcolumn_t fontLargeNumbers_Data31[] = { + 0x0000, 0x0070, 0x0038, 0x0038, 0x001C, 0x7FFF, 0x7FFF, 0x7FFF, + 0x0000, 0x0000} + static const fontcolumn_t fontLargeNumbers_Data32[] = { + 0x600C, 0x700E, 0x7C0F, 0x7E07, 0x6F03, 0x6783, 0x63C7, 0x61FF, + 0x60FE, 0x603C} + static const fontcolumn_t fontLargeNumbers_Data33[] = { + 0x180C, 0x380E, 0x780F, 0x70C3, 0x60C3, 0x60E3, 0x71FF, 0x3FFE, + 0x3F3C, 0x0E00} + static const fontcolumn_t fontLargeNumbers_Data34[] = { + 0x0F00, 0x0DC0, 0x0CE0, 0x0C38, 0x0C1E, 0x7FFF, 0x7FFF, 0x7FFF, + 0x0C00, 0x0C00} + static const fontcolumn_t fontLargeNumbers_Data35[] = { + 0x18C0, 0x38FC, 0x78FF, 0x707F, 0x6063, 0x6063, 0x70E3, 0x3FE3, + 0x3FC3, 0x0F80} + static const fontcolumn_t fontLargeNumbers_Data36[] = { + 0x0FF8, 0x3FFE, 0x3FFE, 0x70C7, 0x6063, 0x6063, 0x70E7, 0x3FEF, + 0x3FC6, 0x0F04} + static const fontcolumn_t fontLargeNumbers_Data37[] = { + 0x0003, 0x0003, 0x7803, 0x7F03, 0x7FC3, 0x07F3, 0x00FB, 0x003F, + 0x000F, 0x0007} + static const fontcolumn_t fontLargeNumbers_Data38[] = { + 0x1E1C, 0x3F3E, 0x7FFF, 0x71E7, 0x60C3, 0x60C3, 0x71E7, 0x7FFF, + 0x3F3E, 0x1E1C} + static const fontcolumn_t fontLargeNumbers_Data39[] = { + 0x1078, 0x39FE, 0x7BFE, 0x7387, 0x6303, 0x6303, 0x7187, 0x3FFE, + 0x3FFE, 0x0FF8} + static const fontcolumn_t fontLargeNumbers_Data3A[] = {0x0000, 0x0E38, 0x0E38, 0x0E38} + #endif |