mirror of
https://codeberg.org/mclemens/ubitxv6.git
synced 2024-09-05 11:34:18 -04:00
472 lines
23 KiB
C
472 lines
23 KiB
C
|
/**
|
||
|
** 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};
|