David Prentice / ADA_GFX_kbv_R1107

Dependents:   TFT_Touch_botao_v1 TFT_Touch_exemplo5_git_touch TESTE_1 TFT_Touch_exemplo6_git_touch_button_3_ ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TomThumb.h Source File

TomThumb.h

00001 /**
00002 ** The original 3x5 font is licensed under the 3-clause BSD license:
00003 **
00004 ** Copyright 1999 Brian J. Swetland
00005 ** Copyright 1999 Vassilii Khachaturov
00006 ** Portions (of vt100.c/vt100.h) copyright Dan Marks
00007 **
00008 ** All rights reserved.
00009 **
00010 ** Redistribution and use in source and binary forms, with or without
00011 ** modification, are permitted provided that the following conditions
00012 ** are met:
00013 ** 1. Redistributions of source code must retain the above copyright
00014 **    notice, this list of conditions, and the following disclaimer.
00015 ** 2. Redistributions in binary form must reproduce the above copyright
00016 **    notice, this list of conditions, and the following disclaimer in the
00017 **    documentation and/or other materials provided with the distribution.
00018 ** 3. The name of the authors may not be used to endorse or promote products
00019 **    derived from this software without specific prior written permission.
00020 **
00021 ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00022 ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00023 ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00024 ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00025 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00026 ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00027 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00028 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00029 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00030 ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031 **
00032 ** Modifications to Tom Thumb for improved readability are from Robey Pointer,
00033 ** see:
00034 ** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
00035 **
00036 ** The original author does not have any objection to relicensing of Robey
00037 ** Pointer's modifications (in this file) in a more permissive license.  See
00038 ** the discussion at the above blog, and also here:
00039 ** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license
00040 **
00041 ** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font,
00042 ** with the help of this Python script:
00043 ** https://gist.github.com/skelliam/322d421f028545f16f6d
00044 ** William Skellenger (williamj@skellenger.net)
00045 ** Twitter: @skelliam
00046 **
00047 */
00048 
00049 #define TOMTHUMB_USE_EXTENDED 0
00050 
00051 const uint8_t TomThumbBitmaps[] PROGMEM = {
00052     0x00,                               /* 0x20 space */
00053     0x80, 0x80, 0x80, 0x00, 0x80,       /* 0x21 exclam */
00054     0xA0, 0xA0,                         /* 0x22 quotedbl */
00055     0xA0, 0xE0, 0xA0, 0xE0, 0xA0,       /* 0x23 numbersign */
00056     0x60, 0xC0, 0x60, 0xC0, 0x40,       /* 0x24 dollar */
00057     0x80, 0x20, 0x40, 0x80, 0x20,       /* 0x25 percent */
00058     0xC0, 0xC0, 0xE0, 0xA0, 0x60,       /* 0x26 ampersand */
00059     0x80, 0x80,                         /* 0x27 quotesingle */
00060     0x40, 0x80, 0x80, 0x80, 0x40,       /* 0x28 parenleft */
00061     0x80, 0x40, 0x40, 0x40, 0x80,       /* 0x29 parenright */
00062     0xA0, 0x40, 0xA0,                   /* 0x2A asterisk */
00063     0x40, 0xE0, 0x40,                   /* 0x2B plus */
00064     0x40, 0x80,                         /* 0x2C comma */
00065     0xE0,                               /* 0x2D hyphen */
00066     0x80,                               /* 0x2E period */
00067     0x20, 0x20, 0x40, 0x80, 0x80,       /* 0x2F slash */
00068     0x60, 0xA0, 0xA0, 0xA0, 0xC0,       /* 0x30 zero */
00069     0x40, 0xC0, 0x40, 0x40, 0x40,       /* 0x31 one */
00070     0xC0, 0x20, 0x40, 0x80, 0xE0,       /* 0x32 two */
00071     0xC0, 0x20, 0x40, 0x20, 0xC0,       /* 0x33 three */
00072     0xA0, 0xA0, 0xE0, 0x20, 0x20,       /* 0x34 four */
00073     0xE0, 0x80, 0xC0, 0x20, 0xC0,       /* 0x35 five */
00074     0x60, 0x80, 0xE0, 0xA0, 0xE0,       /* 0x36 six */
00075     0xE0, 0x20, 0x40, 0x80, 0x80,       /* 0x37 seven */
00076     0xE0, 0xA0, 0xE0, 0xA0, 0xE0,       /* 0x38 eight */
00077     0xE0, 0xA0, 0xE0, 0x20, 0xC0,       /* 0x39 nine */
00078     0x80, 0x00, 0x80,                   /* 0x3A colon */
00079     0x40, 0x00, 0x40, 0x80,             /* 0x3B semicolon */
00080     0x20, 0x40, 0x80, 0x40, 0x20,       /* 0x3C less */
00081     0xE0, 0x00, 0xE0,                   /* 0x3D equal */
00082     0x80, 0x40, 0x20, 0x40, 0x80,       /* 0x3E greater */
00083     0xE0, 0x20, 0x40, 0x00, 0x40,       /* 0x3F question */
00084     0x40, 0xA0, 0xE0, 0x80, 0x60,       /* 0x40 at */
00085     0x40, 0xA0, 0xE0, 0xA0, 0xA0,       /* 0x41 A */
00086     0xC0, 0xA0, 0xC0, 0xA0, 0xC0,       /* 0x42 B */
00087     0x60, 0x80, 0x80, 0x80, 0x60,       /* 0x43 C */
00088     0xC0, 0xA0, 0xA0, 0xA0, 0xC0,       /* 0x44 D */
00089     0xE0, 0x80, 0xE0, 0x80, 0xE0,       /* 0x45 E */
00090     0xE0, 0x80, 0xE0, 0x80, 0x80,       /* 0x46 F */
00091     0x60, 0x80, 0xE0, 0xA0, 0x60,       /* 0x47 G */
00092     0xA0, 0xA0, 0xE0, 0xA0, 0xA0,       /* 0x48 H */
00093     0xE0, 0x40, 0x40, 0x40, 0xE0,       /* 0x49 I */
00094     0x20, 0x20, 0x20, 0xA0, 0x40,       /* 0x4A J */
00095     0xA0, 0xA0, 0xC0, 0xA0, 0xA0,       /* 0x4B K */
00096     0x80, 0x80, 0x80, 0x80, 0xE0,       /* 0x4C L */
00097     0xA0, 0xE0, 0xE0, 0xA0, 0xA0,       /* 0x4D M */
00098     0xA0, 0xE0, 0xE0, 0xE0, 0xA0,       /* 0x4E N */
00099     0x40, 0xA0, 0xA0, 0xA0, 0x40,       /* 0x4F O */
00100     0xC0, 0xA0, 0xC0, 0x80, 0x80,       /* 0x50 P */
00101     0x40, 0xA0, 0xA0, 0xE0, 0x60,       /* 0x51 Q */
00102     0xC0, 0xA0, 0xE0, 0xC0, 0xA0,       /* 0x52 R */
00103     0x60, 0x80, 0x40, 0x20, 0xC0,       /* 0x53 S */
00104     0xE0, 0x40, 0x40, 0x40, 0x40,       /* 0x54 T */
00105     0xA0, 0xA0, 0xA0, 0xA0, 0x60,       /* 0x55 U */
00106     0xA0, 0xA0, 0xA0, 0x40, 0x40,       /* 0x56 V */
00107     0xA0, 0xA0, 0xE0, 0xE0, 0xA0,       /* 0x57 W */
00108     0xA0, 0xA0, 0x40, 0xA0, 0xA0,       /* 0x58 X */
00109     0xA0, 0xA0, 0x40, 0x40, 0x40,       /* 0x59 Y */
00110     0xE0, 0x20, 0x40, 0x80, 0xE0,       /* 0x5A Z */
00111     0xE0, 0x80, 0x80, 0x80, 0xE0,       /* 0x5B bracketleft */
00112     0x80, 0x40, 0x20,                   /* 0x5C backslash */
00113     0xE0, 0x20, 0x20, 0x20, 0xE0,       /* 0x5D bracketright */
00114     0x40, 0xA0,                         /* 0x5E asciicircum */
00115     0xE0,                               /* 0x5F underscore */
00116     0x80, 0x40,                         /* 0x60 grave */
00117     0xC0, 0x60, 0xA0, 0xE0,             /* 0x61 a */
00118     0x80, 0xC0, 0xA0, 0xA0, 0xC0,       /* 0x62 b */
00119     0x60, 0x80, 0x80, 0x60,             /* 0x63 c */
00120     0x20, 0x60, 0xA0, 0xA0, 0x60,       /* 0x64 d */
00121     0x60, 0xA0, 0xC0, 0x60,             /* 0x65 e */
00122     0x20, 0x40, 0xE0, 0x40, 0x40,       /* 0x66 f */
00123     0x60, 0xA0, 0xE0, 0x20, 0x40,       /* 0x67 g */
00124     0x80, 0xC0, 0xA0, 0xA0, 0xA0,       /* 0x68 h */
00125     0x80, 0x00, 0x80, 0x80, 0x80,       /* 0x69 i */
00126     0x20, 0x00, 0x20, 0x20, 0xA0, 0x40, /* 0x6A j */
00127     0x80, 0xA0, 0xC0, 0xC0, 0xA0,       /* 0x6B k */
00128     0xC0, 0x40, 0x40, 0x40, 0xE0,       /* 0x6C l */
00129     0xE0, 0xE0, 0xE0, 0xA0,             /* 0x6D m */
00130     0xC0, 0xA0, 0xA0, 0xA0,             /* 0x6E n */
00131     0x40, 0xA0, 0xA0, 0x40,             /* 0x6F o */
00132     0xC0, 0xA0, 0xA0, 0xC0, 0x80,       /* 0x70 p */
00133     0x60, 0xA0, 0xA0, 0x60, 0x20,       /* 0x71 q */
00134     0x60, 0x80, 0x80, 0x80,             /* 0x72 r */
00135     0x60, 0xC0, 0x60, 0xC0,             /* 0x73 s */
00136     0x40, 0xE0, 0x40, 0x40, 0x60,       /* 0x74 t */
00137     0xA0, 0xA0, 0xA0, 0x60,             /* 0x75 u */
00138     0xA0, 0xA0, 0xE0, 0x40,             /* 0x76 v */
00139     0xA0, 0xE0, 0xE0, 0xE0,             /* 0x77 w */
00140     0xA0, 0x40, 0x40, 0xA0,             /* 0x78 x */
00141     0xA0, 0xA0, 0x60, 0x20, 0x40,       /* 0x79 y */
00142     0xE0, 0x60, 0xC0, 0xE0,             /* 0x7A z */
00143     0x60, 0x40, 0x80, 0x40, 0x60,       /* 0x7B braceleft */
00144     0x80, 0x80, 0x00, 0x80, 0x80,       /* 0x7C bar */
00145     0xC0, 0x40, 0x20, 0x40, 0xC0,       /* 0x7D braceright */
00146     0x60, 0xC0,                         /* 0x7E asciitilde */
00147 #if (TOMTHUMB_USE_EXTENDED)
00148     0x80, 0x00, 0x80, 0x80, 0x80,       /* 0xA1 exclamdown */
00149     0x40, 0xE0, 0x80, 0xE0, 0x40,       /* 0xA2 cent */
00150     0x60, 0x40, 0xE0, 0x40, 0xE0,       /* 0xA3 sterling */
00151     0xA0, 0x40, 0xE0, 0x40, 0xA0,       /* 0xA4 currency */
00152     0xA0, 0xA0, 0x40, 0xE0, 0x40,       /* 0xA5 yen */
00153     0x80, 0x80, 0x00, 0x80, 0x80,       /* 0xA6 brokenbar */
00154     0x60, 0x40, 0xA0, 0x40, 0xC0,       /* 0xA7 section */
00155     0xA0,                               /* 0xA8 dieresis */
00156     0x60, 0x80, 0x60,                   /* 0xA9 copyright */
00157     0x60, 0xA0, 0xE0, 0x00, 0xE0,       /* 0xAA ordfeminine */
00158     0x40, 0x80, 0x40,                   /* 0xAB guillemotleft */
00159     0xE0, 0x20,                         /* 0xAC logicalnot */
00160     0xC0,                               /* 0xAD softhyphen */
00161     0xC0, 0xC0, 0xA0,                   /* 0xAE registered */
00162     0xE0,                               /* 0xAF macron */
00163     0x40, 0xA0, 0x40,                   /* 0xB0 degree */
00164     0x40, 0xE0, 0x40, 0x00, 0xE0,       /* 0xB1 plusminus */
00165     0xC0, 0x40, 0x60,                   /* 0xB2 twosuperior */
00166     0xE0, 0x60, 0xE0,                   /* 0xB3 threesuperior */
00167     0x40, 0x80,                         /* 0xB4 acute */
00168     0xA0, 0xA0, 0xA0, 0xC0, 0x80,       /* 0xB5 mu */
00169     0x60, 0xA0, 0x60, 0x60, 0x60,       /* 0xB6 paragraph */
00170     0xE0, 0xE0, 0xE0,                   /* 0xB7 periodcentered */
00171     0x40, 0x20, 0xC0,                   /* 0xB8 cedilla */
00172     0x80, 0x80, 0x80,                   /* 0xB9 onesuperior */
00173     0x40, 0xA0, 0x40, 0x00, 0xE0,       /* 0xBA ordmasculine */
00174     0x80, 0x40, 0x80,                   /* 0xBB guillemotright */
00175     0x80, 0x80, 0x00, 0x60, 0x20,       /* 0xBC onequarter */
00176     0x80, 0x80, 0x00, 0xC0, 0x60,       /* 0xBD onehalf */
00177     0xC0, 0xC0, 0x00, 0x60, 0x20,       /* 0xBE threequarters */
00178     0x40, 0x00, 0x40, 0x80, 0xE0,       /* 0xBF questiondown */
00179     0x40, 0x20, 0x40, 0xE0, 0xA0,       /* 0xC0 Agrave */
00180     0x40, 0x80, 0x40, 0xE0, 0xA0,       /* 0xC1 Aacute */
00181     0xE0, 0x00, 0x40, 0xE0, 0xA0,       /* 0xC2 Acircumflex */
00182     0x60, 0xC0, 0x40, 0xE0, 0xA0,       /* 0xC3 Atilde */
00183     0xA0, 0x40, 0xA0, 0xE0, 0xA0,       /* 0xC4 Adieresis */
00184     0xC0, 0xC0, 0xA0, 0xE0, 0xA0,       /* 0xC5 Aring */
00185     0x60, 0xC0, 0xE0, 0xC0, 0xE0,       /* 0xC6 AE */
00186     0x60, 0x80, 0x80, 0x60, 0x20, 0x40, /* 0xC7 Ccedilla */
00187     0x40, 0x20, 0xE0, 0xC0, 0xE0,       /* 0xC8 Egrave */
00188     0x40, 0x80, 0xE0, 0xC0, 0xE0,       /* 0xC9 Eacute */
00189     0xE0, 0x00, 0xE0, 0xC0, 0xE0,       /* 0xCA Ecircumflex */
00190     0xA0, 0x00, 0xE0, 0xC0, 0xE0,       /* 0xCB Edieresis */
00191     0x40, 0x20, 0xE0, 0x40, 0xE0,       /* 0xCC Igrave */
00192     0x40, 0x80, 0xE0, 0x40, 0xE0,       /* 0xCD Iacute */
00193     0xE0, 0x00, 0xE0, 0x40, 0xE0,       /* 0xCE Icircumflex */
00194     0xA0, 0x00, 0xE0, 0x40, 0xE0,       /* 0xCF Idieresis */
00195     0xC0, 0xA0, 0xE0, 0xA0, 0xC0,       /* 0xD0 Eth */
00196     0xC0, 0x60, 0xA0, 0xE0, 0xA0,       /* 0xD1 Ntilde */
00197     0x40, 0x20, 0xE0, 0xA0, 0xE0,       /* 0xD2 Ograve */
00198     0x40, 0x80, 0xE0, 0xA0, 0xE0,       /* 0xD3 Oacute */
00199     0xE0, 0x00, 0xE0, 0xA0, 0xE0,       /* 0xD4 Ocircumflex */
00200     0xC0, 0x60, 0xE0, 0xA0, 0xE0,       /* 0xD5 Otilde */
00201     0xA0, 0x00, 0xE0, 0xA0, 0xE0,       /* 0xD6 Odieresis */
00202     0xA0, 0x40, 0xA0,                   /* 0xD7 multiply */
00203     0x60, 0xA0, 0xE0, 0xA0, 0xC0,       /* 0xD8 Oslash */
00204     0x80, 0x40, 0xA0, 0xA0, 0xE0,       /* 0xD9 Ugrave */
00205     0x20, 0x40, 0xA0, 0xA0, 0xE0,       /* 0xDA Uacute */
00206     0xE0, 0x00, 0xA0, 0xA0, 0xE0,       /* 0xDB Ucircumflex */
00207     0xA0, 0x00, 0xA0, 0xA0, 0xE0,       /* 0xDC Udieresis */
00208     0x20, 0x40, 0xA0, 0xE0, 0x40,       /* 0xDD Yacute */
00209     0x80, 0xE0, 0xA0, 0xE0, 0x80,       /* 0xDE Thorn */
00210     0x60, 0xA0, 0xC0, 0xA0, 0xC0, 0x80, /* 0xDF germandbls */
00211     0x40, 0x20, 0x60, 0xA0, 0xE0,       /* 0xE0 agrave */
00212     0x40, 0x80, 0x60, 0xA0, 0xE0,       /* 0xE1 aacute */
00213     0xE0, 0x00, 0x60, 0xA0, 0xE0,       /* 0xE2 acircumflex */
00214     0x60, 0xC0, 0x60, 0xA0, 0xE0,       /* 0xE3 atilde */
00215     0xA0, 0x00, 0x60, 0xA0, 0xE0,       /* 0xE4 adieresis */
00216     0x60, 0x60, 0x60, 0xA0, 0xE0,       /* 0xE5 aring */
00217     0x60, 0xE0, 0xE0, 0xC0,             /* 0xE6 ae */
00218     0x60, 0x80, 0x60, 0x20, 0x40,       /* 0xE7 ccedilla */
00219     0x40, 0x20, 0x60, 0xE0, 0x60,       /* 0xE8 egrave */
00220     0x40, 0x80, 0x60, 0xE0, 0x60,       /* 0xE9 eacute */
00221     0xE0, 0x00, 0x60, 0xE0, 0x60,       /* 0xEA ecircumflex */
00222     0xA0, 0x00, 0x60, 0xE0, 0x60,       /* 0xEB edieresis */
00223     0x80, 0x40, 0x80, 0x80, 0x80,       /* 0xEC igrave */
00224     0x40, 0x80, 0x40, 0x40, 0x40,       /* 0xED iacute */
00225     0xE0, 0x00, 0x40, 0x40, 0x40,       /* 0xEE icircumflex */
00226     0xA0, 0x00, 0x40, 0x40, 0x40,       /* 0xEF idieresis */
00227     0x60, 0xC0, 0x60, 0xA0, 0x60,       /* 0xF0 eth */
00228     0xC0, 0x60, 0xC0, 0xA0, 0xA0,       /* 0xF1 ntilde */
00229     0x40, 0x20, 0x40, 0xA0, 0x40,       /* 0xF2 ograve */
00230     0x40, 0x80, 0x40, 0xA0, 0x40,       /* 0xF3 oacute */
00231     0xE0, 0x00, 0x40, 0xA0, 0x40,       /* 0xF4 ocircumflex */
00232     0xC0, 0x60, 0x40, 0xA0, 0x40,       /* 0xF5 otilde */
00233     0xA0, 0x00, 0x40, 0xA0, 0x40,       /* 0xF6 odieresis */
00234     0x40, 0x00, 0xE0, 0x00, 0x40,       /* 0xF7 divide */
00235     0x60, 0xE0, 0xA0, 0xC0,             /* 0xF8 oslash */
00236     0x80, 0x40, 0xA0, 0xA0, 0x60,       /* 0xF9 ugrave */
00237     0x20, 0x40, 0xA0, 0xA0, 0x60,       /* 0xFA uacute */
00238     0xE0, 0x00, 0xA0, 0xA0, 0x60,       /* 0xFB ucircumflex */
00239     0xA0, 0x00, 0xA0, 0xA0, 0x60,       /* 0xFC udieresis */
00240     0x20, 0x40, 0xA0, 0x60, 0x20, 0x40, /* 0xFD yacute */
00241     0x80, 0xC0, 0xA0, 0xC0, 0x80,       /* 0xFE thorn */
00242     0xA0, 0x00, 0xA0, 0x60, 0x20, 0x40, /* 0xFF ydieresis */
00243     0x00,                               /* 0x11D gcircumflex */
00244     0x60, 0xC0, 0xE0, 0xC0, 0x60,       /* 0x152 OE */
00245     0x60, 0xE0, 0xC0, 0xE0,             /* 0x153 oe */
00246     0xA0, 0x60, 0xC0, 0x60, 0xC0,       /* 0x160 Scaron */
00247     0xA0, 0x60, 0xC0, 0x60, 0xC0,       /* 0x161 scaron */
00248     0xA0, 0x00, 0xA0, 0x40, 0x40,       /* 0x178 Ydieresis */
00249     0xA0, 0xE0, 0x60, 0xC0, 0xE0,       /* 0x17D Zcaron */
00250     0xA0, 0xE0, 0x60, 0xC0, 0xE0,       /* 0x17E zcaron */
00251     0x00,                               /* 0xEA4 uni0EA4 */
00252     0x00,                               /* 0x13A0 uni13A0 */
00253     0x80,                               /* 0x2022 bullet */
00254     0xA0,                               /* 0x2026 ellipsis */
00255     0x60, 0xE0, 0xE0, 0xC0, 0x60,       /* 0x20AC Euro */
00256     0xE0, 0xA0, 0xA0, 0xA0, 0xE0,       /* 0xFFFD uniFFFD */
00257 #endif                                  /* (TOMTHUMB_USE_EXTENDED)  */
00258 };
00259 
00260 /* {offset, width, height, advance cursor, x offset, y offset} */
00261 const GFXglyph TomThumbGlyphs[] PROGMEM = {
00262     {0, 8, 1, 2, 0, -5},   /* 0x20 space */
00263     {1, 8, 5, 2, 0, -5},   /* 0x21 exclam */
00264     {6, 8, 2, 4, 0, -5},   /* 0x22 quotedbl */
00265     {8, 8, 5, 4, 0, -5},   /* 0x23 numbersign */
00266     {13, 8, 5, 4, 0, -5},  /* 0x24 dollar */
00267     {18, 8, 5, 4, 0, -5},  /* 0x25 percent */
00268     {23, 8, 5, 4, 0, -5},  /* 0x26 ampersand */
00269     {28, 8, 2, 2, 0, -5},  /* 0x27 quotesingle */
00270     {30, 8, 5, 3, 0, -5},  /* 0x28 parenleft */
00271     {35, 8, 5, 3, 0, -5},  /* 0x29 parenright */
00272     {40, 8, 3, 4, 0, -5},  /* 0x2A asterisk */
00273     {43, 8, 3, 4, 0, -4},  /* 0x2B plus */
00274     {46, 8, 2, 3, 0, -2},  /* 0x2C comma */
00275     {48, 8, 1, 4, 0, -3},  /* 0x2D hyphen */
00276     {49, 8, 1, 2, 0, -1},  /* 0x2E period */
00277     {50, 8, 5, 4, 0, -5},  /* 0x2F slash */
00278     {55, 8, 5, 4, 0, -5},  /* 0x30 zero */
00279     {60, 8, 5, 3, 0, -5},  /* 0x31 one */
00280     {65, 8, 5, 4, 0, -5},  /* 0x32 two */
00281     {70, 8, 5, 4, 0, -5},  /* 0x33 three */
00282     {75, 8, 5, 4, 0, -5},  /* 0x34 four */
00283     {80, 8, 5, 4, 0, -5},  /* 0x35 five */
00284     {85, 8, 5, 4, 0, -5},  /* 0x36 six */
00285     {90, 8, 5, 4, 0, -5},  /* 0x37 seven */
00286     {95, 8, 5, 4, 0, -5},  /* 0x38 eight */
00287     {100, 8, 5, 4, 0, -5}, /* 0x39 nine */
00288     {105, 8, 3, 2, 0, -4}, /* 0x3A colon */
00289     {108, 8, 4, 3, 0, -4}, /* 0x3B semicolon */
00290     {112, 8, 5, 4, 0, -5}, /* 0x3C less */
00291     {117, 8, 3, 4, 0, -4}, /* 0x3D equal */
00292     {120, 8, 5, 4, 0, -5}, /* 0x3E greater */
00293     {125, 8, 5, 4, 0, -5}, /* 0x3F question */
00294     {130, 8, 5, 4, 0, -5}, /* 0x40 at */
00295     {135, 8, 5, 4, 0, -5}, /* 0x41 A */
00296     {140, 8, 5, 4, 0, -5}, /* 0x42 B */
00297     {145, 8, 5, 4, 0, -5}, /* 0x43 C */
00298     {150, 8, 5, 4, 0, -5}, /* 0x44 D */
00299     {155, 8, 5, 4, 0, -5}, /* 0x45 E */
00300     {160, 8, 5, 4, 0, -5}, /* 0x46 F */
00301     {165, 8, 5, 4, 0, -5}, /* 0x47 G */
00302     {170, 8, 5, 4, 0, -5}, /* 0x48 H */
00303     {175, 8, 5, 4, 0, -5}, /* 0x49 I */
00304     {180, 8, 5, 4, 0, -5}, /* 0x4A J */
00305     {185, 8, 5, 4, 0, -5}, /* 0x4B K */
00306     {190, 8, 5, 4, 0, -5}, /* 0x4C L */
00307     {195, 8, 5, 4, 0, -5}, /* 0x4D M */
00308     {200, 8, 5, 4, 0, -5}, /* 0x4E N */
00309     {205, 8, 5, 4, 0, -5}, /* 0x4F O */
00310     {210, 8, 5, 4, 0, -5}, /* 0x50 P */
00311     {215, 8, 5, 4, 0, -5}, /* 0x51 Q */
00312     {220, 8, 5, 4, 0, -5}, /* 0x52 R */
00313     {225, 8, 5, 4, 0, -5}, /* 0x53 S */
00314     {230, 8, 5, 4, 0, -5}, /* 0x54 T */
00315     {235, 8, 5, 4, 0, -5}, /* 0x55 U */
00316     {240, 8, 5, 4, 0, -5}, /* 0x56 V */
00317     {245, 8, 5, 4, 0, -5}, /* 0x57 W */
00318     {250, 8, 5, 4, 0, -5}, /* 0x58 X */
00319     {255, 8, 5, 4, 0, -5}, /* 0x59 Y */
00320     {260, 8, 5, 4, 0, -5}, /* 0x5A Z */
00321     {265, 8, 5, 4, 0, -5}, /* 0x5B bracketleft */
00322     {270, 8, 3, 4, 0, -4}, /* 0x5C backslash */
00323     {273, 8, 5, 4, 0, -5}, /* 0x5D bracketright */
00324     {278, 8, 2, 4, 0, -5}, /* 0x5E asciicircum */
00325     {280, 8, 1, 4, 0, -1}, /* 0x5F underscore */
00326     {281, 8, 2, 3, 0, -5}, /* 0x60 grave */
00327     {283, 8, 4, 4, 0, -4}, /* 0x61 a */
00328     {287, 8, 5, 4, 0, -5}, /* 0x62 b */
00329     {292, 8, 4, 4, 0, -4}, /* 0x63 c */
00330     {296, 8, 5, 4, 0, -5}, /* 0x64 d */
00331     {301, 8, 4, 4, 0, -4}, /* 0x65 e */
00332     {305, 8, 5, 4, 0, -5}, /* 0x66 f */
00333     {310, 8, 5, 4, 0, -4}, /* 0x67 g */
00334     {315, 8, 5, 4, 0, -5}, /* 0x68 h */
00335     {320, 8, 5, 2, 0, -5}, /* 0x69 i */
00336     {325, 8, 6, 4, 0, -5}, /* 0x6A j */
00337     {331, 8, 5, 4, 0, -5}, /* 0x6B k */
00338     {336, 8, 5, 4, 0, -5}, /* 0x6C l */
00339     {341, 8, 4, 4, 0, -4}, /* 0x6D m */
00340     {345, 8, 4, 4, 0, -4}, /* 0x6E n */
00341     {349, 8, 4, 4, 0, -4}, /* 0x6F o */
00342     {353, 8, 5, 4, 0, -4}, /* 0x70 p */
00343     {358, 8, 5, 4, 0, -4}, /* 0x71 q */
00344     {363, 8, 4, 4, 0, -4}, /* 0x72 r */
00345     {367, 8, 4, 4, 0, -4}, /* 0x73 s */
00346     {371, 8, 5, 4, 0, -5}, /* 0x74 t */
00347     {376, 8, 4, 4, 0, -4}, /* 0x75 u */
00348     {380, 8, 4, 4, 0, -4}, /* 0x76 v */
00349     {384, 8, 4, 4, 0, -4}, /* 0x77 w */
00350     {388, 8, 4, 4, 0, -4}, /* 0x78 x */
00351     {392, 8, 5, 4, 0, -4}, /* 0x79 y */
00352     {397, 8, 4, 4, 0, -4}, /* 0x7A z */
00353     {401, 8, 5, 4, 0, -5}, /* 0x7B braceleft */
00354     {406, 8, 5, 2, 0, -5}, /* 0x7C bar */
00355     {411, 8, 5, 4, 0, -5}, /* 0x7D braceright */
00356     {416, 8, 2, 4, 0, -5}, /* 0x7E asciitilde */
00357 #if (TOMTHUMB_USE_EXTENDED)
00358     {418, 8, 5, 2, 0, -5}, /* 0xA1 exclamdown */
00359     {423, 8, 5, 4, 0, -5}, /* 0xA2 cent */
00360     {428, 8, 5, 4, 0, -5}, /* 0xA3 sterling */
00361     {433, 8, 5, 4, 0, -5}, /* 0xA4 currency */
00362     {438, 8, 5, 4, 0, -5}, /* 0xA5 yen */
00363     {443, 8, 5, 2, 0, -5}, /* 0xA6 brokenbar */
00364     {448, 8, 5, 4, 0, -5}, /* 0xA7 section */
00365     {453, 8, 1, 4, 0, -5}, /* 0xA8 dieresis */
00366     {454, 8, 3, 4, 0, -5}, /* 0xA9 copyright */
00367     {457, 8, 5, 4, 0, -5}, /* 0xAA ordfeminine */
00368     {462, 8, 3, 3, 0, -5}, /* 0xAB guillemotleft */
00369     {465, 8, 2, 4, 0, -4}, /* 0xAC logicalnot */
00370     {467, 8, 1, 3, 0, -3}, /* 0xAD softhyphen */
00371     {468, 8, 3, 4, 0, -5}, /* 0xAE registered */
00372     {471, 8, 1, 4, 0, -5}, /* 0xAF macron */
00373     {472, 8, 3, 4, 0, -5}, /* 0xB0 degree */
00374     {475, 8, 5, 4, 0, -5}, /* 0xB1 plusminus */
00375     {480, 8, 3, 4, 0, -5}, /* 0xB2 twosuperior */
00376     {483, 8, 3, 4, 0, -5}, /* 0xB3 threesuperior */
00377     {486, 8, 2, 3, 0, -5}, /* 0xB4 acute */
00378     {488, 8, 5, 4, 0, -5}, /* 0xB5 mu */
00379     {493, 8, 5, 4, 0, -5}, /* 0xB6 paragraph */
00380     {498, 8, 3, 4, 0, -4}, /* 0xB7 periodcentered */
00381     {501, 8, 3, 4, 0, -3}, /* 0xB8 cedilla */
00382     {504, 8, 3, 2, 0, -5}, /* 0xB9 onesuperior */
00383     {507, 8, 5, 4, 0, -5}, /* 0xBA ordmasculine */
00384     {512, 8, 3, 3, 0, -5}, /* 0xBB guillemotright */
00385     {515, 8, 5, 4, 0, -5}, /* 0xBC onequarter */
00386     {520, 8, 5, 4, 0, -5}, /* 0xBD onehalf */
00387     {525, 8, 5, 4, 0, -5}, /* 0xBE threequarters */
00388     {530, 8, 5, 4, 0, -5}, /* 0xBF questiondown */
00389     {535, 8, 5, 4, 0, -5}, /* 0xC0 Agrave */
00390     {540, 8, 5, 4, 0, -5}, /* 0xC1 Aacute */
00391     {545, 8, 5, 4, 0, -5}, /* 0xC2 Acircumflex */
00392     {550, 8, 5, 4, 0, -5}, /* 0xC3 Atilde */
00393     {555, 8, 5, 4, 0, -5}, /* 0xC4 Adieresis */
00394     {560, 8, 5, 4, 0, -5}, /* 0xC5 Aring */
00395     {565, 8, 5, 4, 0, -5}, /* 0xC6 AE */
00396     {570, 8, 6, 4, 0, -5}, /* 0xC7 Ccedilla */
00397     {576, 8, 5, 4, 0, -5}, /* 0xC8 Egrave */
00398     {581, 8, 5, 4, 0, -5}, /* 0xC9 Eacute */
00399     {586, 8, 5, 4, 0, -5}, /* 0xCA Ecircumflex */
00400     {591, 8, 5, 4, 0, -5}, /* 0xCB Edieresis */
00401     {596, 8, 5, 4, 0, -5}, /* 0xCC Igrave */
00402     {601, 8, 5, 4, 0, -5}, /* 0xCD Iacute */
00403     {606, 8, 5, 4, 0, -5}, /* 0xCE Icircumflex */
00404     {611, 8, 5, 4, 0, -5}, /* 0xCF Idieresis */
00405     {616, 8, 5, 4, 0, -5}, /* 0xD0 Eth */
00406     {621, 8, 5, 4, 0, -5}, /* 0xD1 Ntilde */
00407     {626, 8, 5, 4, 0, -5}, /* 0xD2 Ograve */
00408     {631, 8, 5, 4, 0, -5}, /* 0xD3 Oacute */
00409     {636, 8, 5, 4, 0, -5}, /* 0xD4 Ocircumflex */
00410     {641, 8, 5, 4, 0, -5}, /* 0xD5 Otilde */
00411     {646, 8, 5, 4, 0, -5}, /* 0xD6 Odieresis */
00412     {651, 8, 3, 4, 0, -4}, /* 0xD7 multiply */
00413     {654, 8, 5, 4, 0, -5}, /* 0xD8 Oslash */
00414     {659, 8, 5, 4, 0, -5}, /* 0xD9 Ugrave */
00415     {664, 8, 5, 4, 0, -5}, /* 0xDA Uacute */
00416     {669, 8, 5, 4, 0, -5}, /* 0xDB Ucircumflex */
00417     {674, 8, 5, 4, 0, -5}, /* 0xDC Udieresis */
00418     {679, 8, 5, 4, 0, -5}, /* 0xDD Yacute */
00419     {684, 8, 5, 4, 0, -5}, /* 0xDE Thorn */
00420     {689, 8, 6, 4, 0, -5}, /* 0xDF germandbls */
00421     {695, 8, 5, 4, 0, -5}, /* 0xE0 agrave */
00422     {700, 8, 5, 4, 0, -5}, /* 0xE1 aacute */
00423     {705, 8, 5, 4, 0, -5}, /* 0xE2 acircumflex */
00424     {710, 8, 5, 4, 0, -5}, /* 0xE3 atilde */
00425     {715, 8, 5, 4, 0, -5}, /* 0xE4 adieresis */
00426     {720, 8, 5, 4, 0, -5}, /* 0xE5 aring */
00427     {725, 8, 4, 4, 0, -4}, /* 0xE6 ae */
00428     {729, 8, 5, 4, 0, -4}, /* 0xE7 ccedilla */
00429     {734, 8, 5, 4, 0, -5}, /* 0xE8 egrave */
00430     {739, 8, 5, 4, 0, -5}, /* 0xE9 eacute */
00431     {744, 8, 5, 4, 0, -5}, /* 0xEA ecircumflex */
00432     {749, 8, 5, 4, 0, -5}, /* 0xEB edieresis */
00433     {754, 8, 5, 3, 0, -5}, /* 0xEC igrave */
00434     {759, 8, 5, 3, 0, -5}, /* 0xED iacute */
00435     {764, 8, 5, 4, 0, -5}, /* 0xEE icircumflex */
00436     {769, 8, 5, 4, 0, -5}, /* 0xEF idieresis */
00437     {774, 8, 5, 4, 0, -5}, /* 0xF0 eth */
00438     {779, 8, 5, 4, 0, -5}, /* 0xF1 ntilde */
00439     {784, 8, 5, 4, 0, -5}, /* 0xF2 ograve */
00440     {789, 8, 5, 4, 0, -5}, /* 0xF3 oacute */
00441     {794, 8, 5, 4, 0, -5}, /* 0xF4 ocircumflex */
00442     {799, 8, 5, 4, 0, -5}, /* 0xF5 otilde */
00443     {804, 8, 5, 4, 0, -5}, /* 0xF6 odieresis */
00444     {809, 8, 5, 4, 0, -5}, /* 0xF7 divide */
00445     {814, 8, 4, 4, 0, -4}, /* 0xF8 oslash */
00446     {818, 8, 5, 4, 0, -5}, /* 0xF9 ugrave */
00447     {823, 8, 5, 4, 0, -5}, /* 0xFA uacute */
00448     {828, 8, 5, 4, 0, -5}, /* 0xFB ucircumflex */
00449     {833, 8, 5, 4, 0, -5}, /* 0xFC udieresis */
00450     {838, 8, 6, 4, 0, -5}, /* 0xFD yacute */
00451     {844, 8, 5, 4, 0, -4}, /* 0xFE thorn */
00452     {849, 8, 6, 4, 0, -5}, /* 0xFF ydieresis */
00453     {855, 8, 1, 2, 0, -1}, /* 0x11D gcircumflex */
00454     {856, 8, 5, 4, 0, -5}, /* 0x152 OE */
00455     {861, 8, 4, 4, 0, -4}, /* 0x153 oe */
00456     {865, 8, 5, 4, 0, -5}, /* 0x160 Scaron */
00457     {870, 8, 5, 4, 0, -5}, /* 0x161 scaron */
00458     {875, 8, 5, 4, 0, -5}, /* 0x178 Ydieresis */
00459     {880, 8, 5, 4, 0, -5}, /* 0x17D Zcaron */
00460     {885, 8, 5, 4, 0, -5}, /* 0x17E zcaron */
00461     {890, 8, 1, 2, 0, -1}, /* 0xEA4 uni0EA4 */
00462     {891, 8, 1, 2, 0, -1}, /* 0x13A0 uni13A0 */
00463     {892, 8, 1, 2, 0, -3}, /* 0x2022 bullet */
00464     {893, 8, 1, 4, 0, -1}, /* 0x2026 ellipsis */
00465     {894, 8, 5, 4, 0, -5}, /* 0x20AC Euro */
00466     {899, 8, 5, 4, 0, -5}, /* 0xFFFD uniFFFD */
00467 #endif                     /* (TOMTHUMB_USE_EXTENDED) */
00468 };
00469 
00470 const GFXfont TomThumb PROGMEM = {(uint8_t *)TomThumbBitmaps,
00471                                   (GFXglyph *)TomThumbGlyphs, 0x20, 0x7E, 6};
00472