aboutsummaryrefslogtreecommitdiff
path: root/main/Fonts/TomThumb.h
diff options
context:
space:
mode:
authorgamerdonkey2024-09-14 14:48:59 -0500
committergamerdonkey2024-09-14 14:48:59 -0500
commit35ff74c9be46e16030d1184a506451e1d3805c25 (patch)
tree0ee143a6a3ddf74ee985165cb10a1c44d9b8377f /main/Fonts/TomThumb.h
parent5d3f7c6d67dd70b644c5527b07b72f03459413dd (diff)
downloadesp32-inova-led-controller-35ff74c9be46e16030d1184a506451e1d3805c25.tar.gz
esp32-inova-led-controller-35ff74c9be46e16030d1184a506451e1d3805c25.tar.bz2
esp32-inova-led-controller-35ff74c9be46e16030d1184a506451e1d3805c25.zip
First attempt at integrating Adafruit_GFX and converting to C++
Diffstat (limited to 'main/Fonts/TomThumb.h')
-rw-r--r--main/Fonts/TomThumb.h477
1 files changed, 477 insertions, 0 deletions
diff --git a/main/Fonts/TomThumb.h b/main/Fonts/TomThumb.h
new file mode 100644
index 0000000..2155500
--- /dev/null
+++ b/main/Fonts/TomThumb.h
@@ -0,0 +1,477 @@
+#pragma once
+#include <Adafruit_GFX.h>
+
+/**
+** The original 3x5 font is licensed under the 3-clause BSD license:
+**
+** Copyright 1999 Brian J. Swetland
+** Copyright 1999 Vassilii Khachaturov
+** Portions (of vt100.c/vt100.h) copyright Dan Marks
+**
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions
+** are met:
+** 1. Redistributions of source code must retain the above copyright
+** notice, this list of conditions, and the following disclaimer.
+** 2. Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions, and the following disclaimer in the
+** documentation and/or other materials provided with the distribution.
+** 3. The name of the authors may not be used to endorse or promote products
+** derived from this software without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+** Modifications to Tom Thumb for improved readability are from Robey Pointer,
+** see:
+** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
+**
+** The original author does not have any objection to relicensing of Robey
+** Pointer's modifications (in this file) in a more permissive license. See
+** the discussion at the above blog, and also here:
+** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license
+**
+** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font,
+** with the help of this Python script:
+** https://gist.github.com/skelliam/322d421f028545f16f6d
+** William Skellenger (williamj@skellenger.net)
+** Twitter: @skelliam
+**
+** Jan 09, 2020: Bitmaps now compressed, to fix the bounding box problem,
+** because non-compressed the calculated text width were wrong.
+** Andreas Merkle (web@blue-andi.de)
+*/
+
+#define TOMTHUMB_USE_EXTENDED 0
+
+const uint8_t TomThumbBitmaps[] PROGMEM = {
+ 0x00, /* 0x20 space */
+ 0xE8, /* 0x21 exclam */
+ 0xB4, /* 0x22 quotedbl */
+ 0xBE, 0xFA, /* 0x23 numbersign */
+ 0x79, 0xE4, /* 0x24 dollar */
+ 0x85, 0x42, /* 0x25 percent */
+ 0xDB, 0xD6, /* 0x26 ampersand */
+ 0xC0, /* 0x27 quotesingle */
+ 0x6A, 0x40, /* 0x28 parenleft */
+ 0x95, 0x80, /* 0x29 parenright */
+ 0xAA, 0x80, /* 0x2A asterisk */
+ 0x5D, 0x00, /* 0x2B plus */
+ 0x60, /* 0x2C comma */
+ 0xE0, /* 0x2D hyphen */
+ 0x80, /* 0x2E period */
+ 0x25, 0x48, /* 0x2F slash */
+ 0x76, 0xDC, /* 0x30 zero */
+ 0x75, 0x40, /* 0x31 one */
+ 0xC5, 0x4E, /* 0x32 two */
+ 0xC5, 0x1C, /* 0x33 three */
+ 0xB7, 0x92, /* 0x34 four */
+ 0xF3, 0x1C, /* 0x35 five */
+ 0x73, 0xDE, /* 0x36 six */
+ 0xE5, 0x48, /* 0x37 seven */
+ 0xF7, 0xDE, /* 0x38 eight */
+ 0xF7, 0x9C, /* 0x39 nine */
+ 0xA0, /* 0x3A colon */
+ 0x46, /* 0x3B semicolon */
+ 0x2A, 0x22, /* 0x3C less */
+ 0xE3, 0x80, /* 0x3D equal */
+ 0x88, 0xA8, /* 0x3E greater */
+ 0xE5, 0x04, /* 0x3F question */
+ 0x57, 0xC6, /* 0x40 at */
+ 0x57, 0xDA, /* 0x41 A */
+ 0xD7, 0x5C, /* 0x42 B */
+ 0x72, 0x46, /* 0x43 C */
+ 0xD6, 0xDC, /* 0x44 D */
+ 0xF3, 0xCE, /* 0x45 E */
+ 0xF3, 0xC8, /* 0x46 F */
+ 0x73, 0xD6, /* 0x47 G */
+ 0xB7, 0xDA, /* 0x48 H */
+ 0xE9, 0x2E, /* 0x49 I */
+ 0x24, 0xD4, /* 0x4A J */
+ 0xB7, 0x5A, /* 0x4B K */
+ 0x92, 0x4E, /* 0x4C L */
+ 0xBF, 0xDA, /* 0x4D M */
+ 0xBF, 0xFA, /* 0x4E N */
+ 0x56, 0xD4, /* 0x4F O */
+ 0xD7, 0x48, /* 0x50 P */
+ 0x56, 0xF6, /* 0x51 Q */
+ 0xD7, 0xEA, /* 0x52 R */
+ 0x71, 0x1C, /* 0x53 S */
+ 0xE9, 0x24, /* 0x54 T */
+ 0xB6, 0xD6, /* 0x55 U */
+ 0xB6, 0xA4, /* 0x56 V */
+ 0xB7, 0xFA, /* 0x57 W */
+ 0xB5, 0x5A, /* 0x58 X */
+ 0xB5, 0x24, /* 0x59 Y */
+ 0xE5, 0x4E, /* 0x5A Z */
+ 0xF2, 0x4E, /* 0x5B bracketleft */
+ 0x88, 0x80, /* 0x5C backslash */
+ 0xE4, 0x9E, /* 0x5D bracketright */
+ 0x54, /* 0x5E asciicircum */
+ 0xE0, /* 0x5F underscore */
+ 0x90, /* 0x60 grave */
+ 0xCE, 0xF0, /* 0x61 a */
+ 0x9A, 0xDC, /* 0x62 b */
+ 0x72, 0x30, /* 0x63 c */
+ 0x2E, 0xD6, /* 0x64 d */
+ 0x77, 0x30, /* 0x65 e */
+ 0x2B, 0xA4, /* 0x66 f */
+ 0x77, 0x94, /* 0x67 g */
+ 0x9A, 0xDA, /* 0x68 h */
+ 0xB8, /* 0x69 i */
+ 0x20, 0x9A, 0x80, /* 0x6A j */
+ 0x97, 0x6A, /* 0x6B k */
+ 0xC9, 0x2E, /* 0x6C l */
+ 0xFF, 0xD0, /* 0x6D m */
+ 0xD6, 0xD0, /* 0x6E n */
+ 0x56, 0xA0, /* 0x6F o */
+ 0xD6, 0xE8, /* 0x70 p */
+ 0x76, 0xB2, /* 0x71 q */
+ 0x72, 0x40, /* 0x72 r */
+ 0x79, 0xE0, /* 0x73 s */
+ 0x5D, 0x26, /* 0x74 t */
+ 0xB6, 0xB0, /* 0x75 u */
+ 0xB7, 0xA0, /* 0x76 v */
+ 0xBF, 0xF0, /* 0x77 w */
+ 0xA9, 0x50, /* 0x78 x */
+ 0xB5, 0x94, /* 0x79 y */
+ 0xEF, 0x70, /* 0x7A z */
+ 0x6A, 0x26, /* 0x7B braceleft */
+ 0xD8, /* 0x7C bar */
+ 0xC8, 0xAC, /* 0x7D braceright */
+ 0x78, /* 0x7E asciitilde */
+#if (TOMTHUMB_USE_EXTENDED)
+ 0xB8, /* 0xA1 exclamdown */
+ 0x5E, 0x74, /* 0xA2 cent */
+ 0x6B, 0xAE, /* 0xA3 sterling */
+ 0xAB, 0xAA, /* 0xA4 currency */
+ 0xB5, 0x74, /* 0xA5 yen */
+ 0xD8, /* 0xA6 brokenbar */
+ 0x6A, 0xAC, /* 0xA7 section */
+ 0xA0, /* 0xA8 dieresis */
+ 0x71, 0x80, /* 0xA9 copyright */
+ 0x77, 0x8E, /* 0xAA ordfeminine */
+ 0x64, /* 0xAB guillemotleft */
+ 0xE4, /* 0xAC logicalnot */
+ 0xC0, /* 0xAD softhyphen */
+ 0xDA, 0x80, /* 0xAE registered */
+ 0xE0, /* 0xAF macron */
+ 0x55, 0x00, /* 0xB0 degree */
+ 0x5D, 0x0E, /* 0xB1 plusminus */
+ 0xC9, 0x80, /* 0xB2 twosuperior */
+ 0xEF, 0x80, /* 0xB3 threesuperior */
+ 0x60, /* 0xB4 acute */
+ 0xB6, 0xE8, /* 0xB5 mu */
+ 0x75, 0xB6, /* 0xB6 paragraph */
+ 0xFF, 0x80, /* 0xB7 periodcentered */
+ 0x47, 0x00, /* 0xB8 cedilla */
+ 0xE0, /* 0xB9 onesuperior */
+ 0x55, 0x0E, /* 0xBA ordmasculine */
+ 0x98, /* 0xBB guillemotright */
+ 0x90, 0x32, /* 0xBC onequarter */
+ 0x90, 0x66, /* 0xBD onehalf */
+ 0xD8, 0x32, /* 0xBE threequarters */
+ 0x41, 0x4E, /* 0xBF questiondown */
+ 0x45, 0x7A, /* 0xC0 Agrave */
+ 0x51, 0x7A, /* 0xC1 Aacute */
+ 0xE1, 0x7A, /* 0xC2 Acircumflex */
+ 0x79, 0x7A, /* 0xC3 Atilde */
+ 0xAA, 0xFA, /* 0xC4 Adieresis */
+ 0xDA, 0xFA, /* 0xC5 Aring */
+ 0x7B, 0xEE, /* 0xC6 AE */
+ 0x72, 0x32, 0x80, /* 0xC7 Ccedilla */
+ 0x47, 0xEE, /* 0xC8 Egrave */
+ 0x53, 0xEE, /* 0xC9 Eacute */
+ 0xE3, 0xEE, /* 0xCA Ecircumflex */
+ 0xA3, 0xEE, /* 0xCB Edieresis */
+ 0x47, 0xAE, /* 0xCC Igrave */
+ 0x53, 0xAE, /* 0xCD Iacute */
+ 0xE3, 0xAE, /* 0xCE Icircumflex */
+ 0xA3, 0xAE, /* 0xCF Idieresis */
+ 0xD7, 0xDC, /* 0xD0 Eth */
+ 0xCE, 0xFA, /* 0xD1 Ntilde */
+ 0x47, 0xDE, /* 0xD2 Ograve */
+ 0x53, 0xDE, /* 0xD3 Oacute */
+ 0xE3, 0xDE, /* 0xD4 Ocircumflex */
+ 0xCF, 0xDE, /* 0xD5 Otilde */
+ 0xA3, 0xDE, /* 0xD6 Odieresis */
+ 0xAA, 0x80, /* 0xD7 multiply */
+ 0x77, 0xDC, /* 0xD8 Oslash */
+ 0x8A, 0xDE, /* 0xD9 Ugrave */
+ 0x2A, 0xDE, /* 0xDA Uacute */
+ 0xE2, 0xDE, /* 0xDB Ucircumflex */
+ 0xA2, 0xDE, /* 0xDC Udieresis */
+ 0x2A, 0xF4, /* 0xDD Yacute */
+ 0x9E, 0xF8, /* 0xDE Thorn */
+ 0x77, 0x5D, 0x00, /* 0xDF germandbls */
+ 0x45, 0xDE, /* 0xE0 agrave */
+ 0x51, 0xDE, /* 0xE1 aacute */
+ 0xE1, 0xDE, /* 0xE2 acircumflex */
+ 0x79, 0xDE, /* 0xE3 atilde */
+ 0xA1, 0xDE, /* 0xE4 adieresis */
+ 0x6D, 0xDE, /* 0xE5 aring */
+ 0x7F, 0xE0, /* 0xE6 ae */
+ 0x71, 0x94, /* 0xE7 ccedilla */
+ 0x45, 0xF6, /* 0xE8 egrave */
+ 0x51, 0xF6, /* 0xE9 eacute */
+ 0xE1, 0xF6, /* 0xEA ecircumflex */
+ 0xA1, 0xF6, /* 0xEB edieresis */
+ 0x9A, 0x80, /* 0xEC igrave */
+ 0x65, 0x40, /* 0xED iacute */
+ 0xE1, 0x24, /* 0xEE icircumflex */
+ 0xA1, 0x24, /* 0xEF idieresis */
+ 0x79, 0xD6, /* 0xF0 eth */
+ 0xCF, 0x5A, /* 0xF1 ntilde */
+ 0x45, 0x54, /* 0xF2 ograve */
+ 0x51, 0x54, /* 0xF3 oacute */
+ 0xE1, 0x54, /* 0xF4 ocircumflex */
+ 0xCD, 0x54, /* 0xF5 otilde */
+ 0xA1, 0x54, /* 0xF6 odieresis */
+ 0x43, 0x84, /* 0xF7 divide */
+ 0x7E, 0xE0, /* 0xF8 oslash */
+ 0x8A, 0xD6, /* 0xF9 ugrave */
+ 0x2A, 0xD6, /* 0xFA uacute */
+ 0xE2, 0xD6, /* 0xFB ucircumflex */
+ 0xA2, 0xD6, /* 0xFC udieresis */
+ 0x2A, 0xB2, 0x80, /* 0xFD yacute */
+ 0x9A, 0xE8, /* 0xFE thorn */
+ 0xA2, 0xB2, 0x80, /* 0xFF ydieresis */
+ 0x00, /* 0x11D gcircumflex */
+ 0x7B, 0xE6, /* 0x152 OE */
+ 0x7F, 0x70, /* 0x153 oe */
+ 0xAF, 0x3C, /* 0x160 Scaron */
+ 0xAF, 0x3C, /* 0x161 scaron */
+ 0xA2, 0xA4, /* 0x178 Ydieresis */
+ 0xBD, 0xEE, /* 0x17D Zcaron */
+ 0xBD, 0xEE, /* 0x17E zcaron */
+ 0x00, /* 0xEA4 uni0EA4 */
+ 0x00, /* 0x13A0 uni13A0 */
+ 0x80, /* 0x2022 bullet */
+ 0xA0, /* 0x2026 ellipsis */
+ 0x7F, 0xE6, /* 0x20AC Euro */
+ 0xEA, 0xAA, 0xE0, /* 0xFFFD uniFFFD */
+#endif /* (TOMTHUMB_USE_EXTENDED) */
+};
+
+/* {offset, width, height, advance cursor, x offset, y offset} */
+const GFXglyph TomThumbGlyphs[] PROGMEM = {
+ {0, 1, 1, 2, 0, -5}, /* 0x20 space */
+ {1, 1, 5, 2, 0, -5}, /* 0x21 exclam */
+ {2, 3, 2, 4, 0, -5}, /* 0x22 quotedbl */
+ {3, 3, 5, 4, 0, -5}, /* 0x23 numbersign */
+ {5, 3, 5, 4, 0, -5}, /* 0x24 dollar */
+ {7, 3, 5, 4, 0, -5}, /* 0x25 percent */
+ {9, 3, 5, 4, 0, -5}, /* 0x26 ampersand */
+ {11, 1, 2, 2, 0, -5}, /* 0x27 quotesingle */
+ {12, 2, 5, 3, 0, -5}, /* 0x28 parenleft */
+ {14, 2, 5, 3, 0, -5}, /* 0x29 parenright */
+ {16, 3, 3, 4, 0, -5}, /* 0x2A asterisk */
+ {18, 3, 3, 4, 0, -4}, /* 0x2B plus */
+ {20, 2, 2, 3, 0, -2}, /* 0x2C comma */
+ {21, 3, 1, 4, 0, -3}, /* 0x2D hyphen */
+ {22, 1, 1, 2, 0, -1}, /* 0x2E period */
+ {23, 3, 5, 4, 0, -5}, /* 0x2F slash */
+ {25, 3, 5, 4, 0, -5}, /* 0x30 zero */
+ {27, 2, 5, 3, 0, -5}, /* 0x31 one */
+ {29, 3, 5, 4, 0, -5}, /* 0x32 two */
+ {31, 3, 5, 4, 0, -5}, /* 0x33 three */
+ {33, 3, 5, 4, 0, -5}, /* 0x34 four */
+ {35, 3, 5, 4, 0, -5}, /* 0x35 five */
+ {37, 3, 5, 4, 0, -5}, /* 0x36 six */
+ {39, 3, 5, 4, 0, -5}, /* 0x37 seven */
+ {41, 3, 5, 4, 0, -5}, /* 0x38 eight */
+ {43, 3, 5, 4, 0, -5}, /* 0x39 nine */
+ {45, 1, 3, 2, 0, -4}, /* 0x3A colon */
+ {46, 2, 4, 3, 0, -4}, /* 0x3B semicolon */
+ {47, 3, 5, 4, 0, -5}, /* 0x3C less */
+ {49, 3, 3, 4, 0, -4}, /* 0x3D equal */
+ {51, 3, 5, 4, 0, -5}, /* 0x3E greater */
+ {53, 3, 5, 4, 0, -5}, /* 0x3F question */
+ {55, 3, 5, 4, 0, -5}, /* 0x40 at */
+ {57, 3, 5, 4, 0, -5}, /* 0x41 A */
+ {59, 3, 5, 4, 0, -5}, /* 0x42 B */
+ {61, 3, 5, 4, 0, -5}, /* 0x43 C */
+ {63, 3, 5, 4, 0, -5}, /* 0x44 D */
+ {65, 3, 5, 4, 0, -5}, /* 0x45 E */
+ {67, 3, 5, 4, 0, -5}, /* 0x46 F */
+ {69, 3, 5, 4, 0, -5}, /* 0x47 G */
+ {71, 3, 5, 4, 0, -5}, /* 0x48 H */
+ {73, 3, 5, 4, 0, -5}, /* 0x49 I */
+ {75, 3, 5, 4, 0, -5}, /* 0x4A J */
+ {77, 3, 5, 4, 0, -5}, /* 0x4B K */
+ {79, 3, 5, 4, 0, -5}, /* 0x4C L */
+ {81, 3, 5, 4, 0, -5}, /* 0x4D M */
+ {83, 3, 5, 4, 0, -5}, /* 0x4E N */
+ {85, 3, 5, 4, 0, -5}, /* 0x4F O */
+ {87, 3, 5, 4, 0, -5}, /* 0x50 P */
+ {89, 3, 5, 4, 0, -5}, /* 0x51 Q */
+ {91, 3, 5, 4, 0, -5}, /* 0x52 R */
+ {93, 3, 5, 4, 0, -5}, /* 0x53 S */
+ {95, 3, 5, 4, 0, -5}, /* 0x54 T */
+ {97, 3, 5, 4, 0, -5}, /* 0x55 U */
+ {99, 3, 5, 4, 0, -5}, /* 0x56 V */
+ {101, 3, 5, 4, 0, -5}, /* 0x57 W */
+ {103, 3, 5, 4, 0, -5}, /* 0x58 X */
+ {105, 3, 5, 4, 0, -5}, /* 0x59 Y */
+ {107, 3, 5, 4, 0, -5}, /* 0x5A Z */
+ {109, 3, 5, 4, 0, -5}, /* 0x5B bracketleft */
+ {111, 3, 3, 4, 0, -4}, /* 0x5C backslash */
+ {113, 3, 5, 4, 0, -5}, /* 0x5D bracketright */
+ {115, 3, 2, 4, 0, -5}, /* 0x5E asciicircum */
+ {116, 3, 1, 4, 0, -1}, /* 0x5F underscore */
+ {117, 2, 2, 3, 0, -5}, /* 0x60 grave */
+ {118, 3, 4, 4, 0, -4}, /* 0x61 a */
+ {120, 3, 5, 4, 0, -5}, /* 0x62 b */
+ {122, 3, 4, 4, 0, -4}, /* 0x63 c */
+ {124, 3, 5, 4, 0, -5}, /* 0x64 d */
+ {126, 3, 4, 4, 0, -4}, /* 0x65 e */
+ {128, 3, 5, 4, 0, -5}, /* 0x66 f */
+ {130, 3, 5, 4, 0, -4}, /* 0x67 g */
+ {132, 3, 5, 4, 0, -5}, /* 0x68 h */
+ {134, 1, 5, 2, 0, -5}, /* 0x69 i */
+ {135, 3, 6, 4, 0, -5}, /* 0x6A j */
+ {138, 3, 5, 4, 0, -5}, /* 0x6B k */
+ {140, 3, 5, 4, 0, -5}, /* 0x6C l */
+ {142, 3, 4, 4, 0, -4}, /* 0x6D m */
+ {144, 3, 4, 4, 0, -4}, /* 0x6E n */
+ {146, 3, 4, 4, 0, -4}, /* 0x6F o */
+ {148, 3, 5, 4, 0, -4}, /* 0x70 p */
+ {150, 3, 5, 4, 0, -4}, /* 0x71 q */
+ {152, 3, 4, 4, 0, -4}, /* 0x72 r */
+ {154, 3, 4, 4, 0, -4}, /* 0x73 s */
+ {156, 3, 5, 4, 0, -5}, /* 0x74 t */
+ {158, 3, 4, 4, 0, -4}, /* 0x75 u */
+ {160, 3, 4, 4, 0, -4}, /* 0x76 v */
+ {162, 3, 4, 4, 0, -4}, /* 0x77 w */
+ {164, 3, 4, 4, 0, -4}, /* 0x78 x */
+ {166, 3, 5, 4, 0, -4}, /* 0x79 y */
+ {168, 3, 4, 4, 0, -4}, /* 0x7A z */
+ {170, 3, 5, 4, 0, -5}, /* 0x7B braceleft */
+ {172, 1, 5, 2, 0, -5}, /* 0x7C bar */
+ {173, 3, 5, 4, 0, -5}, /* 0x7D braceright */
+ {175, 3, 2, 4, 0, -5}, /* 0x7E asciitilde */
+#if (TOMTHUMB_USE_EXTENDED)
+ {176, 1, 5, 2, 0, -5}, /* 0xA1 exclamdown */
+ {177, 3, 5, 4, 0, -5}, /* 0xA2 cent */
+ {179, 3, 5, 4, 0, -5}, /* 0xA3 sterling */
+ {181, 3, 5, 4, 0, -5}, /* 0xA4 currency */
+ {183, 3, 5, 4, 0, -5}, /* 0xA5 yen */
+ {185, 1, 5, 2, 0, -5}, /* 0xA6 brokenbar */
+ {186, 3, 5, 4, 0, -5}, /* 0xA7 section */
+ {188, 3, 1, 4, 0, -5}, /* 0xA8 dieresis */
+ {189, 3, 3, 4, 0, -5}, /* 0xA9 copyright */
+ {191, 3, 5, 4, 0, -5}, /* 0xAA ordfeminine */
+ {193, 2, 3, 3, 0, -5}, /* 0xAB guillemotleft */
+ {194, 3, 2, 4, 0, -4}, /* 0xAC logicalnot */
+ {195, 2, 1, 3, 0, -3}, /* 0xAD softhyphen */
+ {196, 3, 3, 4, 0, -5}, /* 0xAE registered */
+ {198, 3, 1, 4, 0, -5}, /* 0xAF macron */
+ {199, 3, 3, 4, 0, -5}, /* 0xB0 degree */
+ {201, 3, 5, 4, 0, -5}, /* 0xB1 plusminus */
+ {203, 3, 3, 4, 0, -5}, /* 0xB2 twosuperior */
+ {205, 3, 3, 4, 0, -5}, /* 0xB3 threesuperior */
+ {207, 2, 2, 3, 0, -5}, /* 0xB4 acute */
+ {208, 3, 5, 4, 0, -5}, /* 0xB5 mu */
+ {210, 3, 5, 4, 0, -5}, /* 0xB6 paragraph */
+ {212, 3, 3, 4, 0, -4}, /* 0xB7 periodcentered */
+ {214, 3, 3, 4, 0, -3}, /* 0xB8 cedilla */
+ {216, 1, 3, 2, 0, -5}, /* 0xB9 onesuperior */
+ {217, 3, 5, 4, 0, -5}, /* 0xBA ordmasculine */
+ {219, 2, 3, 3, 0, -5}, /* 0xBB guillemotright */
+ {220, 3, 5, 4, 0, -5}, /* 0xBC onequarter */
+ {222, 3, 5, 4, 0, -5}, /* 0xBD onehalf */
+ {224, 3, 5, 4, 0, -5}, /* 0xBE threequarters */
+ {226, 3, 5, 4, 0, -5}, /* 0xBF questiondown */
+ {228, 3, 5, 4, 0, -5}, /* 0xC0 Agrave */
+ {230, 3, 5, 4, 0, -5}, /* 0xC1 Aacute */
+ {232, 3, 5, 4, 0, -5}, /* 0xC2 Acircumflex */
+ {234, 3, 5, 4, 0, -5}, /* 0xC3 Atilde */
+ {236, 3, 5, 4, 0, -5}, /* 0xC4 Adieresis */
+ {238, 3, 5, 4, 0, -5}, /* 0xC5 Aring */
+ {240, 3, 5, 4, 0, -5}, /* 0xC6 AE */
+ {242, 3, 6, 4, 0, -5}, /* 0xC7 Ccedilla */
+ {245, 3, 5, 4, 0, -5}, /* 0xC8 Egrave */
+ {247, 3, 5, 4, 0, -5}, /* 0xC9 Eacute */
+ {249, 3, 5, 4, 0, -5}, /* 0xCA Ecircumflex */
+ {251, 3, 5, 4, 0, -5}, /* 0xCB Edieresis */
+ {253, 3, 5, 4, 0, -5}, /* 0xCC Igrave */
+ {255, 3, 5, 4, 0, -5}, /* 0xCD Iacute */
+ {257, 3, 5, 4, 0, -5}, /* 0xCE Icircumflex */
+ {259, 3, 5, 4, 0, -5}, /* 0xCF Idieresis */
+ {261, 3, 5, 4, 0, -5}, /* 0xD0 Eth */
+ {263, 3, 5, 4, 0, -5}, /* 0xD1 Ntilde */
+ {265, 3, 5, 4, 0, -5}, /* 0xD2 Ograve */
+ {267, 3, 5, 4, 0, -5}, /* 0xD3 Oacute */
+ {269, 3, 5, 4, 0, -5}, /* 0xD4 Ocircumflex */
+ {271, 3, 5, 4, 0, -5}, /* 0xD5 Otilde */
+ {273, 3, 5, 4, 0, -5}, /* 0xD6 Odieresis */
+ {275, 3, 3, 4, 0, -4}, /* 0xD7 multiply */
+ {277, 3, 5, 4, 0, -5}, /* 0xD8 Oslash */
+ {279, 3, 5, 4, 0, -5}, /* 0xD9 Ugrave */
+ {281, 3, 5, 4, 0, -5}, /* 0xDA Uacute */
+ {283, 3, 5, 4, 0, -5}, /* 0xDB Ucircumflex */
+ {285, 3, 5, 4, 0, -5}, /* 0xDC Udieresis */
+ {287, 3, 5, 4, 0, -5}, /* 0xDD Yacute */
+ {289, 3, 5, 4, 0, -5}, /* 0xDE Thorn */
+ {291, 3, 6, 4, 0, -5}, /* 0xDF germandbls */
+ {294, 3, 5, 4, 0, -5}, /* 0xE0 agrave */
+ {296, 3, 5, 4, 0, -5}, /* 0xE1 aacute */
+ {298, 3, 5, 4, 0, -5}, /* 0xE2 acircumflex */
+ {300, 3, 5, 4, 0, -5}, /* 0xE3 atilde */
+ {302, 3, 5, 4, 0, -5}, /* 0xE4 adieresis */
+ {304, 3, 5, 4, 0, -5}, /* 0xE5 aring */
+ {306, 3, 4, 4, 0, -4}, /* 0xE6 ae */
+ {308, 3, 5, 4, 0, -4}, /* 0xE7 ccedilla */
+ {310, 3, 5, 4, 0, -5}, /* 0xE8 egrave */
+ {312, 3, 5, 4, 0, -5}, /* 0xE9 eacute */
+ {314, 3, 5, 4, 0, -5}, /* 0xEA ecircumflex */
+ {316, 3, 5, 4, 0, -5}, /* 0xEB edieresis */
+ {318, 2, 5, 3, 0, -5}, /* 0xEC igrave */
+ {320, 2, 5, 3, 0, -5}, /* 0xED iacute */
+ {322, 3, 5, 4, 0, -5}, /* 0xEE icircumflex */
+ {324, 3, 5, 4, 0, -5}, /* 0xEF idieresis */
+ {326, 3, 5, 4, 0, -5}, /* 0xF0 eth */
+ {328, 3, 5, 4, 0, -5}, /* 0xF1 ntilde */
+ {330, 3, 5, 4, 0, -5}, /* 0xF2 ograve */
+ {332, 3, 5, 4, 0, -5}, /* 0xF3 oacute */
+ {334, 3, 5, 4, 0, -5}, /* 0xF4 ocircumflex */
+ {336, 3, 5, 4, 0, -5}, /* 0xF5 otilde */
+ {338, 3, 5, 4, 0, -5}, /* 0xF6 odieresis */
+ {340, 3, 5, 4, 0, -5}, /* 0xF7 divide */
+ {342, 3, 4, 4, 0, -4}, /* 0xF8 oslash */
+ {344, 3, 5, 4, 0, -5}, /* 0xF9 ugrave */
+ {346, 3, 5, 4, 0, -5}, /* 0xFA uacute */
+ {348, 3, 5, 4, 0, -5}, /* 0xFB ucircumflex */
+ {350, 3, 5, 4, 0, -5}, /* 0xFC udieresis */
+ {352, 3, 6, 4, 0, -5}, /* 0xFD yacute */
+ {355, 3, 5, 4, 0, -4}, /* 0xFE thorn */
+ {357, 3, 6, 4, 0, -5}, /* 0xFF ydieresis */
+ {360, 1, 1, 2, 0, -1}, /* 0x11D gcircumflex */
+ {361, 3, 5, 4, 0, -5}, /* 0x152 OE */
+ {363, 3, 4, 4, 0, -4}, /* 0x153 oe */
+ {365, 3, 5, 4, 0, -5}, /* 0x160 Scaron */
+ {367, 3, 5, 4, 0, -5}, /* 0x161 scaron */
+ {369, 3, 5, 4, 0, -5}, /* 0x178 Ydieresis */
+ {371, 3, 5, 4, 0, -5}, /* 0x17D Zcaron */
+ {373, 3, 5, 4, 0, -5}, /* 0x17E zcaron */
+ {375, 1, 1, 2, 0, -1}, /* 0xEA4 uni0EA4 */
+ {376, 1, 1, 2, 0, -1}, /* 0x13A0 uni13A0 */
+ {377, 1, 1, 2, 0, -3}, /* 0x2022 bullet */
+ {378, 3, 1, 4, 0, -1}, /* 0x2026 ellipsis */
+ {379, 3, 5, 4, 0, -5}, /* 0x20AC Euro */
+ {381, 4, 5, 5, 0, -5}, /* 0xFFFD uniFFFD */
+#endif /* (TOMTHUMB_USE_EXTENDED) */
+};
+
+const GFXfont TomThumb PROGMEM = {(uint8_t *)TomThumbBitmaps,
+ (GFXglyph *)TomThumbGlyphs, 0x20, 0x7E, 6};