From 252860a44bc586d182a93d2625d79b2c70c262b5 Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Thu, 9 Jan 2020 16:10:17 +0100 Subject: [PATCH 1/7] Bitmaps now compressed, to fix the bounding box problem, because non-compressed the calculated text width were wrong. --- Fonts/TomThumb.h | 846 ++++++++++++++++++++++++----------------------- 1 file changed, 426 insertions(+), 420 deletions(-) diff --git a/Fonts/TomThumb.h b/Fonts/TomThumb.h index 8bc4339..092886b 100644 --- a/Fonts/TomThumb.h +++ b/Fonts/TomThumb.h @@ -4,7 +4,7 @@ ** 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 @@ -28,13 +28,13 @@ ** 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, +** +** 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 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 ** @@ -43,429 +43,435 @@ ** 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 */ - 0x80, 0x80, 0x80, 0x00, 0x80, /* 0x21 exclam */ - 0xA0, 0xA0, /* 0x22 quotedbl */ - 0xA0, 0xE0, 0xA0, 0xE0, 0xA0, /* 0x23 numbersign */ - 0x60, 0xC0, 0x60, 0xC0, 0x40, /* 0x24 dollar */ - 0x80, 0x20, 0x40, 0x80, 0x20, /* 0x25 percent */ - 0xC0, 0xC0, 0xE0, 0xA0, 0x60, /* 0x26 ampersand */ - 0x80, 0x80, /* 0x27 quotesingle */ - 0x40, 0x80, 0x80, 0x80, 0x40, /* 0x28 parenleft */ - 0x80, 0x40, 0x40, 0x40, 0x80, /* 0x29 parenright */ - 0xA0, 0x40, 0xA0, /* 0x2A asterisk */ - 0x40, 0xE0, 0x40, /* 0x2B plus */ - 0x40, 0x80, /* 0x2C comma */ - 0xE0, /* 0x2D hyphen */ - 0x80, /* 0x2E period */ - 0x20, 0x20, 0x40, 0x80, 0x80, /* 0x2F slash */ - 0x60, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x30 zero */ - 0x40, 0xC0, 0x40, 0x40, 0x40, /* 0x31 one */ - 0xC0, 0x20, 0x40, 0x80, 0xE0, /* 0x32 two */ - 0xC0, 0x20, 0x40, 0x20, 0xC0, /* 0x33 three */ - 0xA0, 0xA0, 0xE0, 0x20, 0x20, /* 0x34 four */ - 0xE0, 0x80, 0xC0, 0x20, 0xC0, /* 0x35 five */ - 0x60, 0x80, 0xE0, 0xA0, 0xE0, /* 0x36 six */ - 0xE0, 0x20, 0x40, 0x80, 0x80, /* 0x37 seven */ - 0xE0, 0xA0, 0xE0, 0xA0, 0xE0, /* 0x38 eight */ - 0xE0, 0xA0, 0xE0, 0x20, 0xC0, /* 0x39 nine */ - 0x80, 0x00, 0x80, /* 0x3A colon */ - 0x40, 0x00, 0x40, 0x80, /* 0x3B semicolon */ - 0x20, 0x40, 0x80, 0x40, 0x20, /* 0x3C less */ - 0xE0, 0x00, 0xE0, /* 0x3D equal */ - 0x80, 0x40, 0x20, 0x40, 0x80, /* 0x3E greater */ - 0xE0, 0x20, 0x40, 0x00, 0x40, /* 0x3F question */ - 0x40, 0xA0, 0xE0, 0x80, 0x60, /* 0x40 at */ - 0x40, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x41 A */ - 0xC0, 0xA0, 0xC0, 0xA0, 0xC0, /* 0x42 B */ - 0x60, 0x80, 0x80, 0x80, 0x60, /* 0x43 C */ - 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x44 D */ - 0xE0, 0x80, 0xE0, 0x80, 0xE0, /* 0x45 E */ - 0xE0, 0x80, 0xE0, 0x80, 0x80, /* 0x46 F */ - 0x60, 0x80, 0xE0, 0xA0, 0x60, /* 0x47 G */ - 0xA0, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x48 H */ - 0xE0, 0x40, 0x40, 0x40, 0xE0, /* 0x49 I */ - 0x20, 0x20, 0x20, 0xA0, 0x40, /* 0x4A J */ - 0xA0, 0xA0, 0xC0, 0xA0, 0xA0, /* 0x4B K */ - 0x80, 0x80, 0x80, 0x80, 0xE0, /* 0x4C L */ - 0xA0, 0xE0, 0xE0, 0xA0, 0xA0, /* 0x4D M */ - 0xA0, 0xE0, 0xE0, 0xE0, 0xA0, /* 0x4E N */ - 0x40, 0xA0, 0xA0, 0xA0, 0x40, /* 0x4F O */ - 0xC0, 0xA0, 0xC0, 0x80, 0x80, /* 0x50 P */ - 0x40, 0xA0, 0xA0, 0xE0, 0x60, /* 0x51 Q */ - 0xC0, 0xA0, 0xE0, 0xC0, 0xA0, /* 0x52 R */ - 0x60, 0x80, 0x40, 0x20, 0xC0, /* 0x53 S */ - 0xE0, 0x40, 0x40, 0x40, 0x40, /* 0x54 T */ - 0xA0, 0xA0, 0xA0, 0xA0, 0x60, /* 0x55 U */ - 0xA0, 0xA0, 0xA0, 0x40, 0x40, /* 0x56 V */ - 0xA0, 0xA0, 0xE0, 0xE0, 0xA0, /* 0x57 W */ - 0xA0, 0xA0, 0x40, 0xA0, 0xA0, /* 0x58 X */ - 0xA0, 0xA0, 0x40, 0x40, 0x40, /* 0x59 Y */ - 0xE0, 0x20, 0x40, 0x80, 0xE0, /* 0x5A Z */ - 0xE0, 0x80, 0x80, 0x80, 0xE0, /* 0x5B bracketleft */ - 0x80, 0x40, 0x20, /* 0x5C backslash */ - 0xE0, 0x20, 0x20, 0x20, 0xE0, /* 0x5D bracketright */ - 0x40, 0xA0, /* 0x5E asciicircum */ - 0xE0, /* 0x5F underscore */ - 0x80, 0x40, /* 0x60 grave */ - 0xC0, 0x60, 0xA0, 0xE0, /* 0x61 a */ - 0x80, 0xC0, 0xA0, 0xA0, 0xC0, /* 0x62 b */ - 0x60, 0x80, 0x80, 0x60, /* 0x63 c */ - 0x20, 0x60, 0xA0, 0xA0, 0x60, /* 0x64 d */ - 0x60, 0xA0, 0xC0, 0x60, /* 0x65 e */ - 0x20, 0x40, 0xE0, 0x40, 0x40, /* 0x66 f */ - 0x60, 0xA0, 0xE0, 0x20, 0x40, /* 0x67 g */ - 0x80, 0xC0, 0xA0, 0xA0, 0xA0, /* 0x68 h */ - 0x80, 0x00, 0x80, 0x80, 0x80, /* 0x69 i */ - 0x20, 0x00, 0x20, 0x20, 0xA0, 0x40, /* 0x6A j */ - 0x80, 0xA0, 0xC0, 0xC0, 0xA0, /* 0x6B k */ - 0xC0, 0x40, 0x40, 0x40, 0xE0, /* 0x6C l */ - 0xE0, 0xE0, 0xE0, 0xA0, /* 0x6D m */ - 0xC0, 0xA0, 0xA0, 0xA0, /* 0x6E n */ - 0x40, 0xA0, 0xA0, 0x40, /* 0x6F o */ - 0xC0, 0xA0, 0xA0, 0xC0, 0x80, /* 0x70 p */ - 0x60, 0xA0, 0xA0, 0x60, 0x20, /* 0x71 q */ - 0x60, 0x80, 0x80, 0x80, /* 0x72 r */ - 0x60, 0xC0, 0x60, 0xC0, /* 0x73 s */ - 0x40, 0xE0, 0x40, 0x40, 0x60, /* 0x74 t */ - 0xA0, 0xA0, 0xA0, 0x60, /* 0x75 u */ - 0xA0, 0xA0, 0xE0, 0x40, /* 0x76 v */ - 0xA0, 0xE0, 0xE0, 0xE0, /* 0x77 w */ - 0xA0, 0x40, 0x40, 0xA0, /* 0x78 x */ - 0xA0, 0xA0, 0x60, 0x20, 0x40, /* 0x79 y */ - 0xE0, 0x60, 0xC0, 0xE0, /* 0x7A z */ - 0x60, 0x40, 0x80, 0x40, 0x60, /* 0x7B braceleft */ - 0x80, 0x80, 0x00, 0x80, 0x80, /* 0x7C bar */ - 0xC0, 0x40, 0x20, 0x40, 0xC0, /* 0x7D braceright */ - 0x60, 0xC0, /* 0x7E asciitilde */ + 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) - 0x80, 0x00, 0x80, 0x80, 0x80, /* 0xA1 exclamdown */ - 0x40, 0xE0, 0x80, 0xE0, 0x40, /* 0xA2 cent */ - 0x60, 0x40, 0xE0, 0x40, 0xE0, /* 0xA3 sterling */ - 0xA0, 0x40, 0xE0, 0x40, 0xA0, /* 0xA4 currency */ - 0xA0, 0xA0, 0x40, 0xE0, 0x40, /* 0xA5 yen */ - 0x80, 0x80, 0x00, 0x80, 0x80, /* 0xA6 brokenbar */ - 0x60, 0x40, 0xA0, 0x40, 0xC0, /* 0xA7 section */ - 0xA0, /* 0xA8 dieresis */ - 0x60, 0x80, 0x60, /* 0xA9 copyright */ - 0x60, 0xA0, 0xE0, 0x00, 0xE0, /* 0xAA ordfeminine */ - 0x40, 0x80, 0x40, /* 0xAB guillemotleft */ - 0xE0, 0x20, /* 0xAC logicalnot */ - 0xC0, /* 0xAD softhyphen */ - 0xC0, 0xC0, 0xA0, /* 0xAE registered */ - 0xE0, /* 0xAF macron */ - 0x40, 0xA0, 0x40, /* 0xB0 degree */ - 0x40, 0xE0, 0x40, 0x00, 0xE0, /* 0xB1 plusminus */ - 0xC0, 0x40, 0x60, /* 0xB2 twosuperior */ - 0xE0, 0x60, 0xE0, /* 0xB3 threesuperior */ - 0x40, 0x80, /* 0xB4 acute */ - 0xA0, 0xA0, 0xA0, 0xC0, 0x80, /* 0xB5 mu */ - 0x60, 0xA0, 0x60, 0x60, 0x60, /* 0xB6 paragraph */ - 0xE0, 0xE0, 0xE0, /* 0xB7 periodcentered */ - 0x40, 0x20, 0xC0, /* 0xB8 cedilla */ - 0x80, 0x80, 0x80, /* 0xB9 onesuperior */ - 0x40, 0xA0, 0x40, 0x00, 0xE0, /* 0xBA ordmasculine */ - 0x80, 0x40, 0x80, /* 0xBB guillemotright */ - 0x80, 0x80, 0x00, 0x60, 0x20, /* 0xBC onequarter */ - 0x80, 0x80, 0x00, 0xC0, 0x60, /* 0xBD onehalf */ - 0xC0, 0xC0, 0x00, 0x60, 0x20, /* 0xBE threequarters */ - 0x40, 0x00, 0x40, 0x80, 0xE0, /* 0xBF questiondown */ - 0x40, 0x20, 0x40, 0xE0, 0xA0, /* 0xC0 Agrave */ - 0x40, 0x80, 0x40, 0xE0, 0xA0, /* 0xC1 Aacute */ - 0xE0, 0x00, 0x40, 0xE0, 0xA0, /* 0xC2 Acircumflex */ - 0x60, 0xC0, 0x40, 0xE0, 0xA0, /* 0xC3 Atilde */ - 0xA0, 0x40, 0xA0, 0xE0, 0xA0, /* 0xC4 Adieresis */ - 0xC0, 0xC0, 0xA0, 0xE0, 0xA0, /* 0xC5 Aring */ - 0x60, 0xC0, 0xE0, 0xC0, 0xE0, /* 0xC6 AE */ - 0x60, 0x80, 0x80, 0x60, 0x20, 0x40, /* 0xC7 Ccedilla */ - 0x40, 0x20, 0xE0, 0xC0, 0xE0, /* 0xC8 Egrave */ - 0x40, 0x80, 0xE0, 0xC0, 0xE0, /* 0xC9 Eacute */ - 0xE0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCA Ecircumflex */ - 0xA0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCB Edieresis */ - 0x40, 0x20, 0xE0, 0x40, 0xE0, /* 0xCC Igrave */ - 0x40, 0x80, 0xE0, 0x40, 0xE0, /* 0xCD Iacute */ - 0xE0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCE Icircumflex */ - 0xA0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCF Idieresis */ - 0xC0, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD0 Eth */ - 0xC0, 0x60, 0xA0, 0xE0, 0xA0, /* 0xD1 Ntilde */ - 0x40, 0x20, 0xE0, 0xA0, 0xE0, /* 0xD2 Ograve */ - 0x40, 0x80, 0xE0, 0xA0, 0xE0, /* 0xD3 Oacute */ - 0xE0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD4 Ocircumflex */ - 0xC0, 0x60, 0xE0, 0xA0, 0xE0, /* 0xD5 Otilde */ - 0xA0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD6 Odieresis */ - 0xA0, 0x40, 0xA0, /* 0xD7 multiply */ - 0x60, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD8 Oslash */ - 0x80, 0x40, 0xA0, 0xA0, 0xE0, /* 0xD9 Ugrave */ - 0x20, 0x40, 0xA0, 0xA0, 0xE0, /* 0xDA Uacute */ - 0xE0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDB Ucircumflex */ - 0xA0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDC Udieresis */ - 0x20, 0x40, 0xA0, 0xE0, 0x40, /* 0xDD Yacute */ - 0x80, 0xE0, 0xA0, 0xE0, 0x80, /* 0xDE Thorn */ - 0x60, 0xA0, 0xC0, 0xA0, 0xC0, 0x80, /* 0xDF germandbls */ - 0x40, 0x20, 0x60, 0xA0, 0xE0, /* 0xE0 agrave */ - 0x40, 0x80, 0x60, 0xA0, 0xE0, /* 0xE1 aacute */ - 0xE0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE2 acircumflex */ - 0x60, 0xC0, 0x60, 0xA0, 0xE0, /* 0xE3 atilde */ - 0xA0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE4 adieresis */ - 0x60, 0x60, 0x60, 0xA0, 0xE0, /* 0xE5 aring */ - 0x60, 0xE0, 0xE0, 0xC0, /* 0xE6 ae */ - 0x60, 0x80, 0x60, 0x20, 0x40, /* 0xE7 ccedilla */ - 0x40, 0x20, 0x60, 0xE0, 0x60, /* 0xE8 egrave */ - 0x40, 0x80, 0x60, 0xE0, 0x60, /* 0xE9 eacute */ - 0xE0, 0x00, 0x60, 0xE0, 0x60, /* 0xEA ecircumflex */ - 0xA0, 0x00, 0x60, 0xE0, 0x60, /* 0xEB edieresis */ - 0x80, 0x40, 0x80, 0x80, 0x80, /* 0xEC igrave */ - 0x40, 0x80, 0x40, 0x40, 0x40, /* 0xED iacute */ - 0xE0, 0x00, 0x40, 0x40, 0x40, /* 0xEE icircumflex */ - 0xA0, 0x00, 0x40, 0x40, 0x40, /* 0xEF idieresis */ - 0x60, 0xC0, 0x60, 0xA0, 0x60, /* 0xF0 eth */ - 0xC0, 0x60, 0xC0, 0xA0, 0xA0, /* 0xF1 ntilde */ - 0x40, 0x20, 0x40, 0xA0, 0x40, /* 0xF2 ograve */ - 0x40, 0x80, 0x40, 0xA0, 0x40, /* 0xF3 oacute */ - 0xE0, 0x00, 0x40, 0xA0, 0x40, /* 0xF4 ocircumflex */ - 0xC0, 0x60, 0x40, 0xA0, 0x40, /* 0xF5 otilde */ - 0xA0, 0x00, 0x40, 0xA0, 0x40, /* 0xF6 odieresis */ - 0x40, 0x00, 0xE0, 0x00, 0x40, /* 0xF7 divide */ - 0x60, 0xE0, 0xA0, 0xC0, /* 0xF8 oslash */ - 0x80, 0x40, 0xA0, 0xA0, 0x60, /* 0xF9 ugrave */ - 0x20, 0x40, 0xA0, 0xA0, 0x60, /* 0xFA uacute */ - 0xE0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFB ucircumflex */ - 0xA0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFC udieresis */ - 0x20, 0x40, 0xA0, 0x60, 0x20, 0x40, /* 0xFD yacute */ - 0x80, 0xC0, 0xA0, 0xC0, 0x80, /* 0xFE thorn */ - 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x40, /* 0xFF ydieresis */ - 0x00, /* 0x11D gcircumflex */ - 0x60, 0xC0, 0xE0, 0xC0, 0x60, /* 0x152 OE */ - 0x60, 0xE0, 0xC0, 0xE0, /* 0x153 oe */ - 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x160 Scaron */ - 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x161 scaron */ - 0xA0, 0x00, 0xA0, 0x40, 0x40, /* 0x178 Ydieresis */ - 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17D Zcaron */ - 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17E zcaron */ - 0x00, /* 0xEA4 uni0EA4 */ - 0x00, /* 0x13A0 uni13A0 */ - 0x80, /* 0x2022 bullet */ - 0xA0, /* 0x2026 ellipsis */ - 0x60, 0xE0, 0xE0, 0xC0, 0x60, /* 0x20AC Euro */ - 0xE0, 0xA0, 0xA0, 0xA0, 0xE0, /* 0xFFFD uniFFFD */ -#endif /* (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, 8, 1, 2, 0, -5}, /* 0x20 space */ - {1, 8, 5, 2, 0, -5}, /* 0x21 exclam */ - {6, 8, 2, 4, 0, -5}, /* 0x22 quotedbl */ - {8, 8, 5, 4, 0, -5}, /* 0x23 numbersign */ - {13, 8, 5, 4, 0, -5}, /* 0x24 dollar */ - {18, 8, 5, 4, 0, -5}, /* 0x25 percent */ - {23, 8, 5, 4, 0, -5}, /* 0x26 ampersand */ - {28, 8, 2, 2, 0, -5}, /* 0x27 quotesingle */ - {30, 8, 5, 3, 0, -5}, /* 0x28 parenleft */ - {35, 8, 5, 3, 0, -5}, /* 0x29 parenright */ - {40, 8, 3, 4, 0, -5}, /* 0x2A asterisk */ - {43, 8, 3, 4, 0, -4}, /* 0x2B plus */ - {46, 8, 2, 3, 0, -2}, /* 0x2C comma */ - {48, 8, 1, 4, 0, -3}, /* 0x2D hyphen */ - {49, 8, 1, 2, 0, -1}, /* 0x2E period */ - {50, 8, 5, 4, 0, -5}, /* 0x2F slash */ - {55, 8, 5, 4, 0, -5}, /* 0x30 zero */ - {60, 8, 5, 3, 0, -5}, /* 0x31 one */ - {65, 8, 5, 4, 0, -5}, /* 0x32 two */ - {70, 8, 5, 4, 0, -5}, /* 0x33 three */ - {75, 8, 5, 4, 0, -5}, /* 0x34 four */ - {80, 8, 5, 4, 0, -5}, /* 0x35 five */ - {85, 8, 5, 4, 0, -5}, /* 0x36 six */ - {90, 8, 5, 4, 0, -5}, /* 0x37 seven */ - {95, 8, 5, 4, 0, -5}, /* 0x38 eight */ - {100, 8, 5, 4, 0, -5}, /* 0x39 nine */ - {105, 8, 3, 2, 0, -4}, /* 0x3A colon */ - {108, 8, 4, 3, 0, -4}, /* 0x3B semicolon */ - {112, 8, 5, 4, 0, -5}, /* 0x3C less */ - {117, 8, 3, 4, 0, -4}, /* 0x3D equal */ - {120, 8, 5, 4, 0, -5}, /* 0x3E greater */ - {125, 8, 5, 4, 0, -5}, /* 0x3F question */ - {130, 8, 5, 4, 0, -5}, /* 0x40 at */ - {135, 8, 5, 4, 0, -5}, /* 0x41 A */ - {140, 8, 5, 4, 0, -5}, /* 0x42 B */ - {145, 8, 5, 4, 0, -5}, /* 0x43 C */ - {150, 8, 5, 4, 0, -5}, /* 0x44 D */ - {155, 8, 5, 4, 0, -5}, /* 0x45 E */ - {160, 8, 5, 4, 0, -5}, /* 0x46 F */ - {165, 8, 5, 4, 0, -5}, /* 0x47 G */ - {170, 8, 5, 4, 0, -5}, /* 0x48 H */ - {175, 8, 5, 4, 0, -5}, /* 0x49 I */ - {180, 8, 5, 4, 0, -5}, /* 0x4A J */ - {185, 8, 5, 4, 0, -5}, /* 0x4B K */ - {190, 8, 5, 4, 0, -5}, /* 0x4C L */ - {195, 8, 5, 4, 0, -5}, /* 0x4D M */ - {200, 8, 5, 4, 0, -5}, /* 0x4E N */ - {205, 8, 5, 4, 0, -5}, /* 0x4F O */ - {210, 8, 5, 4, 0, -5}, /* 0x50 P */ - {215, 8, 5, 4, 0, -5}, /* 0x51 Q */ - {220, 8, 5, 4, 0, -5}, /* 0x52 R */ - {225, 8, 5, 4, 0, -5}, /* 0x53 S */ - {230, 8, 5, 4, 0, -5}, /* 0x54 T */ - {235, 8, 5, 4, 0, -5}, /* 0x55 U */ - {240, 8, 5, 4, 0, -5}, /* 0x56 V */ - {245, 8, 5, 4, 0, -5}, /* 0x57 W */ - {250, 8, 5, 4, 0, -5}, /* 0x58 X */ - {255, 8, 5, 4, 0, -5}, /* 0x59 Y */ - {260, 8, 5, 4, 0, -5}, /* 0x5A Z */ - {265, 8, 5, 4, 0, -5}, /* 0x5B bracketleft */ - {270, 8, 3, 4, 0, -4}, /* 0x5C backslash */ - {273, 8, 5, 4, 0, -5}, /* 0x5D bracketright */ - {278, 8, 2, 4, 0, -5}, /* 0x5E asciicircum */ - {280, 8, 1, 4, 0, -1}, /* 0x5F underscore */ - {281, 8, 2, 3, 0, -5}, /* 0x60 grave */ - {283, 8, 4, 4, 0, -4}, /* 0x61 a */ - {287, 8, 5, 4, 0, -5}, /* 0x62 b */ - {292, 8, 4, 4, 0, -4}, /* 0x63 c */ - {296, 8, 5, 4, 0, -5}, /* 0x64 d */ - {301, 8, 4, 4, 0, -4}, /* 0x65 e */ - {305, 8, 5, 4, 0, -5}, /* 0x66 f */ - {310, 8, 5, 4, 0, -4}, /* 0x67 g */ - {315, 8, 5, 4, 0, -5}, /* 0x68 h */ - {320, 8, 5, 2, 0, -5}, /* 0x69 i */ - {325, 8, 6, 4, 0, -5}, /* 0x6A j */ - {331, 8, 5, 4, 0, -5}, /* 0x6B k */ - {336, 8, 5, 4, 0, -5}, /* 0x6C l */ - {341, 8, 4, 4, 0, -4}, /* 0x6D m */ - {345, 8, 4, 4, 0, -4}, /* 0x6E n */ - {349, 8, 4, 4, 0, -4}, /* 0x6F o */ - {353, 8, 5, 4, 0, -4}, /* 0x70 p */ - {358, 8, 5, 4, 0, -4}, /* 0x71 q */ - {363, 8, 4, 4, 0, -4}, /* 0x72 r */ - {367, 8, 4, 4, 0, -4}, /* 0x73 s */ - {371, 8, 5, 4, 0, -5}, /* 0x74 t */ - {376, 8, 4, 4, 0, -4}, /* 0x75 u */ - {380, 8, 4, 4, 0, -4}, /* 0x76 v */ - {384, 8, 4, 4, 0, -4}, /* 0x77 w */ - {388, 8, 4, 4, 0, -4}, /* 0x78 x */ - {392, 8, 5, 4, 0, -4}, /* 0x79 y */ - {397, 8, 4, 4, 0, -4}, /* 0x7A z */ - {401, 8, 5, 4, 0, -5}, /* 0x7B braceleft */ - {406, 8, 5, 2, 0, -5}, /* 0x7C bar */ - {411, 8, 5, 4, 0, -5}, /* 0x7D braceright */ - {416, 8, 2, 4, 0, -5}, /* 0x7E asciitilde */ + { 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) - {418, 8, 5, 2, 0, -5}, /* 0xA1 exclamdown */ - {423, 8, 5, 4, 0, -5}, /* 0xA2 cent */ - {428, 8, 5, 4, 0, -5}, /* 0xA3 sterling */ - {433, 8, 5, 4, 0, -5}, /* 0xA4 currency */ - {438, 8, 5, 4, 0, -5}, /* 0xA5 yen */ - {443, 8, 5, 2, 0, -5}, /* 0xA6 brokenbar */ - {448, 8, 5, 4, 0, -5}, /* 0xA7 section */ - {453, 8, 1, 4, 0, -5}, /* 0xA8 dieresis */ - {454, 8, 3, 4, 0, -5}, /* 0xA9 copyright */ - {457, 8, 5, 4, 0, -5}, /* 0xAA ordfeminine */ - {462, 8, 3, 3, 0, -5}, /* 0xAB guillemotleft */ - {465, 8, 2, 4, 0, -4}, /* 0xAC logicalnot */ - {467, 8, 1, 3, 0, -3}, /* 0xAD softhyphen */ - {468, 8, 3, 4, 0, -5}, /* 0xAE registered */ - {471, 8, 1, 4, 0, -5}, /* 0xAF macron */ - {472, 8, 3, 4, 0, -5}, /* 0xB0 degree */ - {475, 8, 5, 4, 0, -5}, /* 0xB1 plusminus */ - {480, 8, 3, 4, 0, -5}, /* 0xB2 twosuperior */ - {483, 8, 3, 4, 0, -5}, /* 0xB3 threesuperior */ - {486, 8, 2, 3, 0, -5}, /* 0xB4 acute */ - {488, 8, 5, 4, 0, -5}, /* 0xB5 mu */ - {493, 8, 5, 4, 0, -5}, /* 0xB6 paragraph */ - {498, 8, 3, 4, 0, -4}, /* 0xB7 periodcentered */ - {501, 8, 3, 4, 0, -3}, /* 0xB8 cedilla */ - {504, 8, 3, 2, 0, -5}, /* 0xB9 onesuperior */ - {507, 8, 5, 4, 0, -5}, /* 0xBA ordmasculine */ - {512, 8, 3, 3, 0, -5}, /* 0xBB guillemotright */ - {515, 8, 5, 4, 0, -5}, /* 0xBC onequarter */ - {520, 8, 5, 4, 0, -5}, /* 0xBD onehalf */ - {525, 8, 5, 4, 0, -5}, /* 0xBE threequarters */ - {530, 8, 5, 4, 0, -5}, /* 0xBF questiondown */ - {535, 8, 5, 4, 0, -5}, /* 0xC0 Agrave */ - {540, 8, 5, 4, 0, -5}, /* 0xC1 Aacute */ - {545, 8, 5, 4, 0, -5}, /* 0xC2 Acircumflex */ - {550, 8, 5, 4, 0, -5}, /* 0xC3 Atilde */ - {555, 8, 5, 4, 0, -5}, /* 0xC4 Adieresis */ - {560, 8, 5, 4, 0, -5}, /* 0xC5 Aring */ - {565, 8, 5, 4, 0, -5}, /* 0xC6 AE */ - {570, 8, 6, 4, 0, -5}, /* 0xC7 Ccedilla */ - {576, 8, 5, 4, 0, -5}, /* 0xC8 Egrave */ - {581, 8, 5, 4, 0, -5}, /* 0xC9 Eacute */ - {586, 8, 5, 4, 0, -5}, /* 0xCA Ecircumflex */ - {591, 8, 5, 4, 0, -5}, /* 0xCB Edieresis */ - {596, 8, 5, 4, 0, -5}, /* 0xCC Igrave */ - {601, 8, 5, 4, 0, -5}, /* 0xCD Iacute */ - {606, 8, 5, 4, 0, -5}, /* 0xCE Icircumflex */ - {611, 8, 5, 4, 0, -5}, /* 0xCF Idieresis */ - {616, 8, 5, 4, 0, -5}, /* 0xD0 Eth */ - {621, 8, 5, 4, 0, -5}, /* 0xD1 Ntilde */ - {626, 8, 5, 4, 0, -5}, /* 0xD2 Ograve */ - {631, 8, 5, 4, 0, -5}, /* 0xD3 Oacute */ - {636, 8, 5, 4, 0, -5}, /* 0xD4 Ocircumflex */ - {641, 8, 5, 4, 0, -5}, /* 0xD5 Otilde */ - {646, 8, 5, 4, 0, -5}, /* 0xD6 Odieresis */ - {651, 8, 3, 4, 0, -4}, /* 0xD7 multiply */ - {654, 8, 5, 4, 0, -5}, /* 0xD8 Oslash */ - {659, 8, 5, 4, 0, -5}, /* 0xD9 Ugrave */ - {664, 8, 5, 4, 0, -5}, /* 0xDA Uacute */ - {669, 8, 5, 4, 0, -5}, /* 0xDB Ucircumflex */ - {674, 8, 5, 4, 0, -5}, /* 0xDC Udieresis */ - {679, 8, 5, 4, 0, -5}, /* 0xDD Yacute */ - {684, 8, 5, 4, 0, -5}, /* 0xDE Thorn */ - {689, 8, 6, 4, 0, -5}, /* 0xDF germandbls */ - {695, 8, 5, 4, 0, -5}, /* 0xE0 agrave */ - {700, 8, 5, 4, 0, -5}, /* 0xE1 aacute */ - {705, 8, 5, 4, 0, -5}, /* 0xE2 acircumflex */ - {710, 8, 5, 4, 0, -5}, /* 0xE3 atilde */ - {715, 8, 5, 4, 0, -5}, /* 0xE4 adieresis */ - {720, 8, 5, 4, 0, -5}, /* 0xE5 aring */ - {725, 8, 4, 4, 0, -4}, /* 0xE6 ae */ - {729, 8, 5, 4, 0, -4}, /* 0xE7 ccedilla */ - {734, 8, 5, 4, 0, -5}, /* 0xE8 egrave */ - {739, 8, 5, 4, 0, -5}, /* 0xE9 eacute */ - {744, 8, 5, 4, 0, -5}, /* 0xEA ecircumflex */ - {749, 8, 5, 4, 0, -5}, /* 0xEB edieresis */ - {754, 8, 5, 3, 0, -5}, /* 0xEC igrave */ - {759, 8, 5, 3, 0, -5}, /* 0xED iacute */ - {764, 8, 5, 4, 0, -5}, /* 0xEE icircumflex */ - {769, 8, 5, 4, 0, -5}, /* 0xEF idieresis */ - {774, 8, 5, 4, 0, -5}, /* 0xF0 eth */ - {779, 8, 5, 4, 0, -5}, /* 0xF1 ntilde */ - {784, 8, 5, 4, 0, -5}, /* 0xF2 ograve */ - {789, 8, 5, 4, 0, -5}, /* 0xF3 oacute */ - {794, 8, 5, 4, 0, -5}, /* 0xF4 ocircumflex */ - {799, 8, 5, 4, 0, -5}, /* 0xF5 otilde */ - {804, 8, 5, 4, 0, -5}, /* 0xF6 odieresis */ - {809, 8, 5, 4, 0, -5}, /* 0xF7 divide */ - {814, 8, 4, 4, 0, -4}, /* 0xF8 oslash */ - {818, 8, 5, 4, 0, -5}, /* 0xF9 ugrave */ - {823, 8, 5, 4, 0, -5}, /* 0xFA uacute */ - {828, 8, 5, 4, 0, -5}, /* 0xFB ucircumflex */ - {833, 8, 5, 4, 0, -5}, /* 0xFC udieresis */ - {838, 8, 6, 4, 0, -5}, /* 0xFD yacute */ - {844, 8, 5, 4, 0, -4}, /* 0xFE thorn */ - {849, 8, 6, 4, 0, -5}, /* 0xFF ydieresis */ - {855, 8, 1, 2, 0, -1}, /* 0x11D gcircumflex */ - {856, 8, 5, 4, 0, -5}, /* 0x152 OE */ - {861, 8, 4, 4, 0, -4}, /* 0x153 oe */ - {865, 8, 5, 4, 0, -5}, /* 0x160 Scaron */ - {870, 8, 5, 4, 0, -5}, /* 0x161 scaron */ - {875, 8, 5, 4, 0, -5}, /* 0x178 Ydieresis */ - {880, 8, 5, 4, 0, -5}, /* 0x17D Zcaron */ - {885, 8, 5, 4, 0, -5}, /* 0x17E zcaron */ - {890, 8, 1, 2, 0, -1}, /* 0xEA4 uni0EA4 */ - {891, 8, 1, 2, 0, -1}, /* 0x13A0 uni13A0 */ - {892, 8, 1, 2, 0, -3}, /* 0x2022 bullet */ - {893, 8, 1, 4, 0, -1}, /* 0x2026 ellipsis */ - {894, 8, 5, 4, 0, -5}, /* 0x20AC Euro */ - {899, 8, 5, 4, 0, -5}, /* 0xFFFD uniFFFD */ -#endif /* (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}; +const GFXfont TomThumb PROGMEM = { + (uint8_t *)TomThumbBitmaps, + (GFXglyph *)TomThumbGlyphs, + 0x20, 0x7E, 6 }; From 6e64137007c9ec65925546fb95ca925b9ad8fa6c Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Thu, 9 Jan 2020 19:10:52 +0100 Subject: [PATCH 2/7] Trailing spaces removed. --- Fonts/TomThumb.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Fonts/TomThumb.h b/Fonts/TomThumb.h index 092886b..b39f1b6 100644 --- a/Fonts/TomThumb.h +++ b/Fonts/TomThumb.h @@ -4,7 +4,7 @@ ** 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 @@ -28,13 +28,13 @@ ** 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, +** +** 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 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 ** @@ -43,7 +43,7 @@ ** 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) From 8b8027195c37e10ebbff723d11a7f3a504ee1042 Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Thu, 9 Jan 2020 19:25:29 +0100 Subject: [PATCH 3/7] BDF to Adafruit font converter script added. The script was changed from the original to output the font bitmaps in compressed format. --- fontconvert/bdf2adafruit.py | 135 ++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 fontconvert/bdf2adafruit.py diff --git a/fontconvert/bdf2adafruit.py b/fontconvert/bdf2adafruit.py new file mode 100644 index 0000000..bbaf9fd --- /dev/null +++ b/fontconvert/bdf2adafruit.py @@ -0,0 +1,135 @@ +#!/usr/bin/python2 + +# MIT License. + +# Copyright (c) 2016 William Skellenger +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +# This small script is designed to mostly take a BDF file and convert it to a +# format that can largely be cut/pasted as an Adafruit-format font. +# It was written in an hour or so and did what I needed it to do. +# I used it for one file. Maybe it bombs on other files. +# William Skellenger, Feb 2016 +# (email: williamj@skellenger.net) +# (Twitter: @skelliam) +# +# Usage: bdf2adafruit.py > out.txt +# +# Once you have out.txt you can cut/paste the contents into a new font +# header file as part of the Adafruit GFX library. + +import sys + +myfile = open(sys.argv[1]) + +processing = 0 +getting_rows = 0 + +chars = [] +bitmapData = [] + +class Glyph: + encoding = -1 + rows = [] + comment = "" + offset = -1 + width = 0 + height = 0 + advance = 0 + xoffs = 0 + yoffs = 0 + def __init__(self, comment): + self.comment = comment + self.rows = [] + +for line in myfile.readlines(): + if 'STARTCHAR' in line: + processing = 1 + vals = line.split() + g = Glyph(vals[1]) + #g.width = 8 #in this example always 8 bits wide + elif 'ENDCHAR' in line: + dataByteCompressed = 0 + dataByteCompressedIndex = 8 + g.height = len(bitmapData) + for value in bitmapData: + bitIndex = 0 + while bitIndex < g.width: + bit = (value >> (7 - bitIndex)) & 0x01 + dataByteCompressed |= bit << (dataByteCompressedIndex - 1) + dataByteCompressedIndex -= 1 + if dataByteCompressedIndex == 0: + dataByteCompressedIndex = 8 + g.rows.append(dataByteCompressed) + dataByteCompressed = 0 + bitIndex += 1 + if 8 != dataByteCompressedIndex: + g.rows.append(dataByteCompressed) + + chars.append(g) #append the completed glyph into list + processing = 0 + getting_rows = 0 + bitmapData.clear() + + if processing: + if 'ENCODING' in line: + vals = line.split() + g.encoding = int(vals[1]) + elif 'DWIDTH' in line: + vals = line.split() + #g.advance = int(vals[1]) #cursor advance seems to be the first number in DWIDTH + elif 'BBX' in line: + vals = line.split() + g.xoffs = 0 + g.yoffs = -(int(vals[2]) + int(vals[4])) + g.advance = (int(vals[1]) + 1) #x bounding box + 1 + g.width = int(vals[1]) + elif 'BITMAP' in line: + getting_rows = 1 + elif getting_rows: + #g.rows.append(int(line, 16)) #append pixel rows into glyph's list of rows + bitmapData.append(int(line, 16)) + +print + +i=0 +for char in chars: + char.offset = i + print("\t", end='') + num = 3 + for row in char.rows: + if num != 3: + print(" ", end = '') + print("0x%02X," %(row), end = ''), + i+=1 + num-=1 + + if num == 1: + print("\t\t", end = '') + if num == 2: + print("\t\t\t", end = '') + print("\t/* 0x%02X %s */" %(char.encoding, char.comment)) + +for char in chars: + # offset, bit-width, bit-height, advance cursor, x offset, y offset + print("\t{ %d, %d, %d, %d, %d, %d }, /* 0x%02X %s */" %( + char.offset, char.width, char.height, + char.advance, char.xoffs, char.yoffs, + char.encoding, char.comment)) From e0796d9af32b5063aaaa606c1230caf2083d5691 Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Thu, 9 Jan 2020 19:26:24 +0100 Subject: [PATCH 4/7] Trailing spaces removed. --- fontconvert/bdf2adafruit.py | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/fontconvert/bdf2adafruit.py b/fontconvert/bdf2adafruit.py index bbaf9fd..9d9ee8a 100644 --- a/fontconvert/bdf2adafruit.py +++ b/fontconvert/bdf2adafruit.py @@ -3,23 +3,23 @@ # MIT License. # Copyright (c) 2016 William Skellenger -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included +# +# The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # This small script is designed to mostly take a BDF file and convert it to a @@ -32,7 +32,7 @@ # # Usage: bdf2adafruit.py > out.txt # -# Once you have out.txt you can cut/paste the contents into a new font +# Once you have out.txt you can cut/paste the contents into a new font # header file as part of the Adafruit GFX library. import sys @@ -54,7 +54,7 @@ class Glyph: height = 0 advance = 0 xoffs = 0 - yoffs = 0 + yoffs = 0 def __init__(self, comment): self.comment = comment self.rows = [] @@ -107,7 +107,7 @@ for line in myfile.readlines(): #g.rows.append(int(line, 16)) #append pixel rows into glyph's list of rows bitmapData.append(int(line, 16)) -print +print i=0 for char in chars: @@ -128,8 +128,8 @@ for char in chars: print("\t/* 0x%02X %s */" %(char.encoding, char.comment)) for char in chars: - # offset, bit-width, bit-height, advance cursor, x offset, y offset + # offset, bit-width, bit-height, advance cursor, x offset, y offset print("\t{ %d, %d, %d, %d, %d, %d }, /* 0x%02X %s */" %( - char.offset, char.width, char.height, - char.advance, char.xoffs, char.yoffs, + char.offset, char.width, char.height, + char.advance, char.xoffs, char.yoffs, char.encoding, char.comment)) From 686857c1505ad61dd8c584ed59ba3729de951f18 Mon Sep 17 00:00:00 2001 From: Andreas Merkle Date: Tue, 14 Jan 2020 19:23:15 +0100 Subject: [PATCH 5/7] Fix CI clang build. --- Fonts/TomThumb.h | 414 +++++++++++++++++++++++------------------------ 1 file changed, 206 insertions(+), 208 deletions(-) diff --git a/Fonts/TomThumb.h b/Fonts/TomThumb.h index b39f1b6..d214ad2 100644 --- a/Fonts/TomThumb.h +++ b/Fonts/TomThumb.h @@ -52,211 +52,211 @@ #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 */ + 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 */ + 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) */ }; @@ -471,7 +471,5 @@ const GFXglyph TomThumbGlyphs[] PROGMEM = { #endif /* (TOMTHUMB_USE_EXTENDED) */ }; -const GFXfont TomThumb PROGMEM = { - (uint8_t *)TomThumbBitmaps, - (GFXglyph *)TomThumbGlyphs, - 0x20, 0x7E, 6 }; +const GFXfont TomThumb PROGMEM = {(uint8_t *)TomThumbBitmaps, + (GFXglyph *)TomThumbGlyphs, 0x20, 0x7E, 6}; From 47493cf4e623b3142fb79a133a309d76d9428cc4 Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Tue, 14 Jan 2020 19:23:15 +0100 Subject: [PATCH 6/7] Fix CI clang build. --- Fonts/TomThumb.h | 829 +++++++++++++++++++++++------------------------ 1 file changed, 413 insertions(+), 416 deletions(-) diff --git a/Fonts/TomThumb.h b/Fonts/TomThumb.h index b39f1b6..e4bc7cb 100644 --- a/Fonts/TomThumb.h +++ b/Fonts/TomThumb.h @@ -52,426 +52,423 @@ #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 */ + 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) */ - }; - + 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 */ + {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) */ + {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 }; +const GFXfont TomThumb PROGMEM = {(uint8_t *)TomThumbBitmaps, + (GFXglyph *)TomThumbGlyphs, 0x20, 0x7E, 6}; From fb8ec8558042f55e8f905f9efcd0ebb439b95327 Mon Sep 17 00:00:00 2001 From: BlueAndi Date: Tue, 14 Jan 2020 20:01:34 +0100 Subject: [PATCH 7/7] Fix CI clang stuff. --- Fonts/TomThumb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fonts/TomThumb.h b/Fonts/TomThumb.h index e4bc7cb..08b2080 100644 --- a/Fonts/TomThumb.h +++ b/Fonts/TomThumb.h @@ -258,7 +258,7 @@ const uint8_t TomThumbBitmaps[] PROGMEM = { 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 = {