1+ /**
2+ ** The original 3x5 font is licensed under the 3-clause BSD license:
3+ **
4+ ** Copyright 1999 Brian J. Swetland
5+ ** Copyright 1999 Vassilii Khachaturov
6+ ** Portions (of vt100.c/vt100.h) copyright Dan Marks
7+ **
8+ ** All rights reserved.
9+ **
10+ ** Redistribution and use in source and binary forms, with or without
11+ ** modification, are permitted provided that the following conditions
12+ ** are met:
13+ ** 1. Redistributions of source code must retain the above copyright
14+ ** notice, this list of conditions, and the following disclaimer.
15+ ** 2. Redistributions in binary form must reproduce the above copyright
16+ ** notice, this list of conditions, and the following disclaimer in the
17+ ** documentation and/or other materials provided with the distribution.
18+ ** 3. The name of the authors may not be used to endorse or promote products
19+ ** derived from this software without specific prior written permission.
20+ **
21+ ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22+ ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23+ ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24+ ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26+ ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27+ ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28+ ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+ ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30+ ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+ **
32+ ** Modifications to Tom Thumb for improved readability are from Robey Pointer,
33+ ** see:
34+ ** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
35+ **
36+ ** The original author does not have any objection to relicensing of Robey
37+ ** Pointer's modifications (in this file) in a more permissive license. See
38+ ** the discussion at the above blog, and also here:
39+ ** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license
40+ **
41+ ** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font,
42+ ** with the help of this Python script:
43+ ** https://gist.github.com/skelliam/322d421f028545f16f6d
44+ ** William Skellenger (williamj@skellenger.net)
45+ ** Twitter: @skelliam
46+ **
47+ */
48+
49+ static const unsigned char clear_3x5 [] PROGMEM = {
50+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0x20 space */
51+ 0x80 , 0x80 , 0x80 , 0x00 , 0x80 , /* 0x21 exclam */
52+ 0xA0 , 0xA0 , 0x00 , 0x00 , 0x00 , /* 0x22 quotedbl */
53+ 0xA0 , 0xE0 , 0xA0 , 0xE0 , 0xA0 , /* 0x23 numbersign */
54+ 0x60 , 0xC0 , 0x60 , 0xC0 , 0x40 , /* 0x24 dollar */
55+ 0x80 , 0x20 , 0x40 , 0x80 , 0x20 , /* 0x25 percent */
56+ 0xC0 , 0xC0 , 0xE0 , 0xA0 , 0x60 , /* 0x26 ampersand */
57+ 0x80 , 0x80 , 0x00 , 0x00 , 0x00 , /* 0x27 quotesingle */
58+ 0x40 , 0x80 , 0x80 , 0x80 , 0x40 , /* 0x28 parenleft */
59+ 0x80 , 0x40 , 0x40 , 0x40 , 0x80 , /* 0x29 parenright */
60+ 0xA0 , 0x40 , 0xA0 , 0x00 , 0x00 , /* 0x2A asterisk */
61+ 0x40 , 0xE0 , 0x40 , 0x00 , 0x00 , /* 0x2B plus */
62+ 0x40 , 0x80 , 0x00 , 0x00 , 0x00 , /* 0x2C comma */
63+ 0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0x2D hyphen */
64+ 0x80 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0x2E period */
65+ 0x20 , 0x20 , 0x40 , 0x80 , 0x80 , /* 0x2F slash */
66+ 0xE0 , 0xA0 , 0xA0 , 0xA0 , 0xE0 , /* 0x30 zero */
67+ 0x40 , 0xC0 , 0x40 , 0x40 , 0xE0 , /* 0x31 one */
68+ 0xE0 , 0x20 , 0xE0 , 0x80 , 0xE0 , /* 0x32 two */
69+ 0xE0 , 0x20 , 0xE0 , 0x20 , 0xE0 , /* 0x33 three */
70+ 0xA0 , 0xA0 , 0xE0 , 0x20 , 0x20 , /* 0x34 four */
71+ 0xE0 , 0x80 , 0xE0 , 0x20 , 0xE0 , /* 0x35 five */
72+ 0xE0 , 0x80 , 0xE0 , 0xA0 , 0xE0 , /* 0x36 six */
73+ 0xE0 , 0x20 , 0x20 , 0x20 , 0x20 , /* 0x37 seven */
74+ 0xE0 , 0xA0 , 0xE0 , 0xA0 , 0xE0 , /* 0x38 eight */
75+ 0xE0 , 0xA0 , 0xE0 , 0x20 , 0xE0 , /* 0x39 nine */
76+ 0x00 , 0x40 , 0x00 , 0x40 , 0x00 , /* 0x3A colon */
77+ 0x40 , 0x00 , 0x40 , 0x80 , 0x00 , /* 0x3B semicolon */
78+ 0x20 , 0x40 , 0x80 , 0x40 , 0x20 , /* 0x3C less */
79+ 0xE0 , 0x00 , 0xE0 , 0x00 , 0x00 , /* 0x3D equal */
80+ 0x80 , 0x40 , 0x20 , 0x40 , 0x80 , /* 0x3E greater */
81+ 0xE0 , 0x20 , 0x40 , 0x00 , 0x40 , /* 0x3F question */
82+ 0x40 , 0xA0 , 0xE0 , 0x80 , 0x60 , /* 0x40 at */
83+ 0x40 , 0xA0 , 0xE0 , 0xA0 , 0xA0 , /* 0x41 A */
84+ 0xC0 , 0xA0 , 0xC0 , 0xA0 , 0xC0 , /* 0x42 B */
85+ 0x60 , 0x80 , 0x80 , 0x80 , 0x60 , /* 0x43 C */
86+ 0xC0 , 0xA0 , 0xA0 , 0xA0 , 0xC0 , /* 0x44 D */
87+ 0xE0 , 0x80 , 0xE0 , 0x80 , 0xE0 , /* 0x45 E */
88+ 0xE0 , 0x80 , 0xE0 , 0x80 , 0x80 , /* 0x46 F */
89+ 0x60 , 0x80 , 0xE0 , 0xA0 , 0x60 , /* 0x47 G */
90+ 0xA0 , 0xA0 , 0xE0 , 0xA0 , 0xA0 , /* 0x48 H */
91+ 0xE0 , 0x40 , 0x40 , 0x40 , 0xE0 , /* 0x49 I */
92+ 0x20 , 0x20 , 0x20 , 0xA0 , 0x40 , /* 0x4A J */
93+ 0xA0 , 0xA0 , 0xC0 , 0xA0 , 0xA0 , /* 0x4B K */
94+ 0x80 , 0x80 , 0x80 , 0x80 , 0xE0 , /* 0x4C L */
95+ 0xA0 , 0xE0 , 0xE0 , 0xA0 , 0xA0 , /* 0x4D M */
96+ 0xA0 , 0xE0 , 0xE0 , 0xE0 , 0xA0 , /* 0x4E N */
97+ 0x40 , 0xA0 , 0xA0 , 0xA0 , 0x40 , /* 0x4F O */
98+ 0xC0 , 0xA0 , 0xC0 , 0x80 , 0x80 , /* 0x50 P */
99+ 0x40 , 0xA0 , 0xA0 , 0xE0 , 0x60 , /* 0x51 Q */
100+ 0xC0 , 0xA0 , 0xE0 , 0xC0 , 0xA0 , /* 0x52 R */
101+ 0x60 , 0x80 , 0x40 , 0x20 , 0xC0 , /* 0x53 S */
102+ 0xE0 , 0x40 , 0x40 , 0x40 , 0x40 , /* 0x54 T */
103+ 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0x60 , /* 0x55 U */
104+ 0xA0 , 0xA0 , 0xA0 , 0x40 , 0x40 , /* 0x56 V */
105+ 0xA0 , 0xA0 , 0xE0 , 0xE0 , 0xA0 , /* 0x57 W */
106+ 0xA0 , 0xA0 , 0x40 , 0xA0 , 0xA0 , /* 0x58 X */
107+ 0xA0 , 0xA0 , 0x40 , 0x40 , 0x40 , /* 0x59 Y */
108+ 0xE0 , 0x20 , 0x40 , 0x80 , 0xE0 , /* 0x5A Z */
109+ 0xE0 , 0x80 , 0x80 , 0x80 , 0xE0 , /* 0x5B bracketleft */
110+ 0x80 , 0x40 , 0x20 , 0x00 , 0x00 , /* 0x5C backslash */
111+ 0xE0 , 0x20 , 0x20 , 0x20 , 0xE0 , /* 0x5D bracketright */
112+ 0x40 , 0xA0 , 0x00 , 0x00 , 0x00 , /* 0x5E asciicircum */
113+ 0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0x5F underscore */
114+ 0x80 , 0x40 , 0x00 , 0x00 , 0x00 , /* 0x60 grave */
115+ 0xC0 , 0x60 , 0xA0 , 0xE0 , 0x00 , /* 0x61 a */
116+ 0x80 , 0xC0 , 0xA0 , 0xA0 , 0xC0 , /* 0x62 b */
117+ 0x60 , 0x80 , 0x80 , 0x60 , 0x00 , /* 0x63 c */
118+ 0x20 , 0x60 , 0xA0 , 0xA0 , 0x60 , /* 0x64 d */
119+ 0x60 , 0xA0 , 0xC0 , 0x60 , 0x00 , /* 0x65 e */
120+ 0x20 , 0x40 , 0xE0 , 0x40 , 0x40 , /* 0x66 f */
121+ 0x60 , 0xA0 , 0xE0 , 0x20 , 0x40 , /* 0x67 g */
122+ 0x80 , 0xC0 , 0xA0 , 0xA0 , 0xA0 , /* 0x68 h */
123+ 0x80 , 0x00 , 0x80 , 0x80 , 0x80 , /* 0x69 i */
124+ 0x20 , 0x00 , 0x20 , 0xA0 , 0x40 , /* 0x6A j */
125+ 0x80 , 0xA0 , 0xC0 , 0xC0 , 0xA0 , /* 0x6B k */
126+ 0xC0 , 0x40 , 0x40 , 0x40 , 0xE0 , /* 0x6C l */
127+ 0xE0 , 0xE0 , 0xE0 , 0xA0 , 0x00 , /* 0x6D m */
128+ 0xC0 , 0xA0 , 0xA0 , 0xA0 , 0x00 , /* 0x6E n */
129+ 0x40 , 0xA0 , 0xA0 , 0x40 , 0x00 , /* 0x6F o */
130+ 0xC0 , 0xA0 , 0xA0 , 0xC0 , 0x80 , /* 0x70 p */
131+ 0x60 , 0xA0 , 0xA0 , 0x60 , 0x20 , /* 0x71 q */
132+ 0x40 , 0x80 , 0x80 , 0x80 , 0x00 , /* 0x72 r */
133+ 0x60 , 0xC0 , 0x60 , 0xC0 , 0x00 , /* 0x73 s */
134+ 0x40 , 0xE0 , 0x40 , 0x40 , 0x60 , /* 0x74 t */
135+ 0xA0 , 0xA0 , 0xA0 , 0x60 , 0x00 , /* 0x75 u */
136+ 0xA0 , 0xA0 , 0xE0 , 0x40 , 0x00 , /* 0x76 v */
137+ 0xA0 , 0xE0 , 0xE0 , 0xE0 , 0x00 , /* 0x77 w */
138+ 0xA0 , 0x40 , 0x40 , 0xA0 , 0x00 , /* 0x78 x */
139+ 0xA0 , 0xA0 , 0x60 , 0x20 , 0x40 , /* 0x79 y */
140+ 0xE0 , 0x60 , 0xC0 , 0xE0 , 0x00 , /* 0x7A z */
141+ 0x60 , 0x40 , 0x80 , 0x40 , 0x60 , /* 0x7B braceleft */
142+ 0x80 , 0x80 , 0x00 , 0x80 , 0x80 , /* 0x7C bar */
143+ 0xC0 , 0x40 , 0x20 , 0x40 , 0xC0 , /* 0x7D braceright */
144+ 0x60 , 0xC0 , 0x00 , 0x00 , 0x00 , /* 0x7E asciitilde */
145+ 0x80 , 0x00 , 0x80 , 0x80 , 0x80 , /* 0xA1 exclamdown */
146+ 0x40 , 0xE0 , 0x80 , 0xE0 , 0x40 , /* 0xA2 cent */
147+ 0x60 , 0x40 , 0xE0 , 0x40 , 0xE0 , /* 0xA3 sterling */
148+ 0xA0 , 0x40 , 0xE0 , 0x40 , 0xA0 , /* 0xA4 currency */
149+ 0xA0 , 0xA0 , 0x40 , 0xE0 , 0x40 , /* 0xA5 yen */
150+ 0x80 , 0x80 , 0x00 , 0x80 , 0x80 , /* 0xA6 brokenbar */
151+ 0x60 , 0x40 , 0xA0 , 0x40 , 0xC0 , /* 0xA7 section */
152+ 0xA0 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0xA8 dieresis */
153+ 0x60 , 0x80 , 0x60 , 0x00 , 0x00 , /* 0xA9 copyright */
154+ 0x60 , 0xA0 , 0xE0 , 0x00 , 0xE0 , /* 0xAA ordfeminine */
155+ 0x40 , 0x80 , 0x40 , 0x00 , 0x00 , /* 0xAB guillemotleft */
156+ 0xE0 , 0x20 , 0x00 , 0x00 , 0x00 , /* 0xAC logicalnot */
157+ 0xC0 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0xAD softhyphen */
158+ 0xC0 , 0xC0 , 0xA0 , 0x00 , 0x00 , /* 0xAE registered */
159+ 0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , /* 0xAF macron */
160+ 0x40 , 0xA0 , 0x40 , 0x00 , 0x00 , /* 0xB0 degree */
161+ 0x40 , 0xE0 , 0x40 , 0x00 , 0xE0 , /* 0xB1 plusminus */
162+ 0xC0 , 0x40 , 0x60 , 0x00 , 0x00 , /* 0xB2 twosuperior */
163+ 0xE0 , 0x60 , 0xE0 , 0x00 , 0x00 , /* 0xB3 threesuperior */
164+ 0x40 , 0x80 , 0x00 , 0x00 , 0x00 , /* 0xB4 acute */
165+ 0xA0 , 0xA0 , 0xA0 , 0xC0 , 0x80 , /* 0xB5 mu */
166+ 0x60 , 0xA0 , 0x60 , 0x60 , 0x60 , /* 0xB6 paragraph */
167+ 0xE0 , 0xE0 , 0xE0 , 0x00 , 0x00 , /* 0xB7 periodcentered */
168+ 0x40 , 0x20 , 0xC0 , 0x00 , 0x00 , /* 0xB8 cedilla */
169+ 0x80 , 0x80 , 0x80 , 0x00 , 0x00 , /* 0xB9 onesuperior */
170+ 0x40 , 0xA0 , 0x40 , 0x00 , 0xE0 , /* 0xBA ordmasculine */
171+ 0x80 , 0x40 , 0x80 , 0x00 , 0x00 , /* 0xBB guillemotright */
172+ 0x80 , 0x80 , 0x00 , 0x60 , 0x20 , /* 0xBC onequarter */
173+ 0x80 , 0x80 , 0x00 , 0xC0 , 0x60 , /* 0xBD onehalf */
174+ 0xC0 , 0xC0 , 0x00 , 0x60 , 0x20 , /* 0xBE threequarters */
175+ 0x40 , 0x00 , 0x40 , 0x80 , 0xE0 , /* 0xBF questiondown */
176+ 0x40 , 0x20 , 0x40 , 0xE0 , 0xA0 , /* 0xC0 Agrave */
177+ 0x40 , 0x80 , 0x40 , 0xE0 , 0xA0 , /* 0xC1 Aacute */
178+ 0xE0 , 0x00 , 0x40 , 0xE0 , 0xA0 , /* 0xC2 Acircumflex */
179+ 0x60 , 0xC0 , 0x40 , 0xE0 , 0xA0 , /* 0xC3 Atilde */
180+ 0xA0 , 0x40 , 0xA0 , 0xE0 , 0xA0 , /* 0xC4 Adieresis */
181+ 0xC0 , 0xC0 , 0xA0 , 0xE0 , 0xA0 , /* 0xC5 Aring */
182+ 0x60 , 0xC0 , 0xE0 , 0xC0 , 0xE0 , /* 0xC6 AE */
183+ 0x60 , 0x80 , 0x60 , 0x20 , 0x40 , /* 0xC7 Ccedilla */
184+ 0x40 , 0x20 , 0xE0 , 0xC0 , 0xE0 , /* 0xC8 Egrave */
185+ 0x40 , 0x80 , 0xE0 , 0xC0 , 0xE0 , /* 0xC9 Eacute */
186+ 0xE0 , 0x00 , 0xE0 , 0xC0 , 0xE0 , /* 0xCA Ecircumflex */
187+ 0xA0 , 0x00 , 0xE0 , 0xC0 , 0xE0 , /* 0xCB Edieresis */
188+ 0x40 , 0x20 , 0xE0 , 0x40 , 0xE0 , /* 0xCC Igrave */
189+ 0x40 , 0x80 , 0xE0 , 0x40 , 0xE0 , /* 0xCD Iacute */
190+ 0xE0 , 0x00 , 0xE0 , 0x40 , 0xE0 , /* 0xCE Icircumflex */
191+ 0xA0 , 0x00 , 0xE0 , 0x40 , 0xE0 , /* 0xCF Idieresis */
192+ 0xC0 , 0xA0 , 0xE0 , 0xA0 , 0xC0 , /* 0xD0 Eth */
193+ 0xC0 , 0x60 , 0xA0 , 0xE0 , 0xA0 , /* 0xD1 Ntilde */
194+ 0x40 , 0x20 , 0xE0 , 0xA0 , 0xE0 , /* 0xD2 Ograve */
195+ 0x40 , 0x80 , 0xE0 , 0xA0 , 0xE0 , /* 0xD3 Oacute */
196+ 0xE0 , 0x00 , 0xE0 , 0xA0 , 0xE0 , /* 0xD4 Ocircumflex */
197+ 0xC0 , 0x60 , 0xE0 , 0xA0 , 0xE0 , /* 0xD5 Otilde */
198+ 0xA0 , 0x00 , 0xE0 , 0xA0 , 0xE0 , /* 0xD6 Odieresis */
199+ 0xA0 , 0x40 , 0xA0 , 0x00 , 0x00 , /* 0xD7 multiply */
200+ 0x60 , 0xA0 , 0xE0 , 0xA0 , 0xC0 , /* 0xD8 Oslash */
201+ 0x80 , 0x40 , 0xA0 , 0xA0 , 0xE0 , /* 0xD9 Ugrave */
202+ 0x20 , 0x40 , 0xA0 , 0xA0 , 0xE0 , /* 0xDA Uacute */
203+ 0xE0 , 0x00 , 0xA0 , 0xA0 , 0xE0 , /* 0xDB Ucircumflex */
204+ 0xA0 , 0x00 , 0xA0 , 0xA0 , 0xE0 , /* 0xDC Udieresis */
205+ 0x20 , 0x40 , 0xA0 , 0xE0 , 0x40 , /* 0xDD Yacute */
206+ 0x80 , 0xE0 , 0xA0 , 0xE0 , 0x80 , /* 0xDE Thorn */
207+ 0x60 , 0xA0 , 0xC0 , 0xC0 , 0x80 , /* 0xDF germandbls */
208+ 0x40 , 0x20 , 0x60 , 0xA0 , 0xE0 , /* 0xE0 agrave */
209+ 0x40 , 0x80 , 0x60 , 0xA0 , 0xE0 , /* 0xE1 aacute */
210+ 0xE0 , 0x00 , 0x60 , 0xA0 , 0xE0 , /* 0xE2 acircumflex */
211+ 0x60 , 0xC0 , 0x60 , 0xA0 , 0xE0 , /* 0xE3 atilde */
212+ 0xA0 , 0x00 , 0x60 , 0xA0 , 0xE0 , /* 0xE4 adieresis */
213+ 0x60 , 0x60 , 0x60 , 0xA0 , 0xE0 , /* 0xE5 aring */
214+ 0x60 , 0xE0 , 0xE0 , 0xC0 , 0x00 , /* 0xE6 ae */
215+ 0x60 , 0x80 , 0x60 , 0x20 , 0x40 , /* 0xE7 ccedilla */
216+ 0x40 , 0x20 , 0x60 , 0xE0 , 0x60 , /* 0xE8 egrave */
217+ 0x40 , 0x80 , 0x60 , 0xE0 , 0x60 , /* 0xE9 eacute */
218+ 0xE0 , 0x00 , 0x60 , 0xE0 , 0x60 , /* 0xEA ecircumflex */
219+ 0xA0 , 0x00 , 0x60 , 0xE0 , 0x60 , /* 0xEB edieresis */
220+ 0x80 , 0x40 , 0x80 , 0x80 , 0x80 , /* 0xEC igrave */
221+ 0x40 , 0x80 , 0x40 , 0x40 , 0x40 , /* 0xED iacute */
222+ 0xE0 , 0x00 , 0x40 , 0x40 , 0x40 , /* 0xEE icircumflex */
223+ 0xA0 , 0x00 , 0x40 , 0x40 , 0x40 , /* 0xEF idieresis */
224+ 0x60 , 0xC0 , 0x60 , 0xA0 , 0x60 , /* 0xF0 eth */
225+ 0xC0 , 0x60 , 0xC0 , 0xA0 , 0xA0 , /* 0xF1 ntilde */
226+ 0x40 , 0x20 , 0x40 , 0xA0 , 0x40 , /* 0xF2 ograve */
227+ 0x40 , 0x80 , 0x40 , 0xA0 , 0x40 , /* 0xF3 oacute */
228+ 0xE0 , 0x00 , 0x40 , 0xA0 , 0x40 , /* 0xF4 ocircumflex */
229+ 0xC0 , 0x60 , 0x40 , 0xA0 , 0x40 , /* 0xF5 otilde */
230+ 0xA0 , 0x00 , 0x40 , 0xA0 , 0x40 , /* 0xF6 odieresis */
231+ 0x40 , 0x00 , 0xE0 , 0x00 , 0x40 , /* 0xF7 divide */
232+ };
0 commit comments