| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471 |
- /**
- ** The original 3x5 font is licensed under the 3-clause BSD license:
- **
- ** Copyright 1999 Brian J. Swetland
- ** Copyright 1999 Vassilii Khachaturov
- ** Portions (of vt100.c/vt100.h) copyright Dan Marks
- **
- ** All rights reserved.
- **
- ** Redistribution and use in source and binary forms, with or without
- ** modification, are permitted provided that the following conditions
- ** are met:
- ** 1. Redistributions of source code must retain the above copyright
- ** notice, this list of conditions, and the following disclaimer.
- ** 2. Redistributions in binary form must reproduce the above copyright
- ** notice, this list of conditions, and the following disclaimer in the
- ** documentation and/or other materials provided with the distribution.
- ** 3. The name of the authors may not be used to endorse or promote products
- ** derived from this software without specific prior written permission.
- **
- ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- **
- ** Modifications to Tom Thumb for improved readability are from Robey Pointer,
- ** see:
- ** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
- **
- ** The original author does not have any objection to relicensing of Robey
- ** Pointer's modifications (in this file) in a more permissive license. See
- ** the discussion at the above blog, and also here:
- ** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license
- **
- ** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font,
- ** with the help of this Python script:
- ** https://gist.github.com/skelliam/322d421f028545f16f6d
- ** William Skellenger (williamj@skellenger.net)
- ** Twitter: @skelliam
- **
- */
- #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 */
- #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) */
- };
- /* {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 */
- #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) */
- };
- const GFXfont TomThumb PROGMEM = {(uint8_t *)TomThumbBitmaps,
- (GFXglyph *)TomThumbGlyphs, 0x20, 0x7E, 6};
|