filters: Fix the laplace filter (it's not separable, gah)
[gfxprim.git] / libs / text / GP_DefaultFont.c
blob52b66083da3868cac0232aed5088f378840d79d5
1 /*****************************************************************************
2 * This file is part of gfxprim library. *
3 * *
4 * Gfxprim is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Lesser General Public *
6 * License as published by the Free Software Foundation; either *
7 * version 2.1 of the License, or (at your option) any later version. *
8 * *
9 * Gfxprim is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
12 * Lesser General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU Lesser General Public *
15 * License along with gfxprim; if not, write to the Free Software *
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
17 * Boston, MA 02110-1301 USA *
18 * *
19 * Copyright (C) 2009-2010 Jiri "BlueBear" Dluhos *
20 * <jiri.bluebear.dluhos@gmail.com> *
21 * *
22 * Copyright (C) 2009-2011 Cyril Hrubis <metan@ucw.cz> *
23 * *
24 *****************************************************************************/
26 #include "GP_Font.h"
28 static int8_t default_console_glyphs[] = {
29 /* ' ' */ 7, 11, 0, 9, 8,
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31 /* '!' */ 7, 11, 0, 9, 8,
32 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x00, 0x00,
33 /* '"' */ 7, 11, 0, 9, 8,
34 0x24, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35 /* '#' */ 7, 11, 0, 9, 8,
36 0x00, 0x14, 0x14, 0x7e, 0x28, 0x28, 0xfc, 0x50, 0x50, 0x00, 0x00,
37 /* '$' */ 7, 11, 0, 9, 8,
38 0x10, 0x7c, 0x92, 0x90, 0x7c, 0x12, 0x92, 0x7c, 0x10, 0x00, 0x00,
39 /* '%' */ 7, 11, 0, 9, 8,
40 0x61, 0x92, 0x94, 0x68, 0x10, 0x2c, 0x52, 0x92, 0x0c, 0x00, 0x00,
41 /* '&' */ 7, 11, 0, 9, 8,
42 0x30, 0x48, 0x48, 0x30, 0x56, 0x88, 0x88, 0x88, 0x76, 0x00, 0x00,
43 /* ''' */ 7, 11, 0, 9, 8,
44 0x0c, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45 /* '(' */ 7, 11, 0, 9, 8,
46 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00,
47 /* ')' */ 7, 11, 0, 9, 8,
48 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00,
49 /* '*' */ 7, 11, 0, 9, 8,
50 0x00, 0x10, 0x54, 0x54, 0x38, 0x54, 0x54, 0x10, 0x00, 0x00, 0x00,
51 /* '+' */ 7, 11, 0, 9, 8,
52 0x00, 0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
53 /* ',' */ 7, 11, 0, 9, 8,
54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, 0x00,
55 /* '-' */ 7, 11, 0, 9, 8,
56 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 /* '.' */ 7, 11, 0, 9, 8,
58 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
59 /* '/' */ 7, 11, 0, 9, 8,
60 0x00, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
61 /* '0' */ 7, 11, 0, 9, 8,
62 0x78, 0x84, 0x8c, 0x94, 0xb4, 0xa4, 0xc4, 0x84, 0x78, 0x00, 0x00,
63 /* '1' */ 7, 11, 0, 9, 8,
64 0x10, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00,
65 /* '2' */ 7, 11, 0, 9, 8,
66 0x78, 0x84, 0x84, 0x04, 0x18, 0x60, 0x80, 0x80, 0xfc, 0x00, 0x00,
67 /* '3' */ 7, 11, 0, 9, 8,
68 0x78, 0x84, 0x84, 0x04, 0x18, 0x04, 0x84, 0x84, 0x78, 0x00, 0x00,
69 /* '4' */ 7, 11, 0, 9, 8,
70 0x18, 0x28, 0x48, 0x48, 0x88, 0xfc, 0x08, 0x08, 0x08, 0x00, 0x00,
71 /* '5' */ 7, 11, 0, 9, 8,
72 0xfc, 0x80, 0x80, 0xf8, 0x04, 0x04, 0x84, 0x84, 0x78, 0x00, 0x00,
73 /* '6' */ 7, 11, 0, 9, 8,
74 0x78, 0x80, 0x80, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00,
75 /* '7' */ 7, 11, 0, 9, 8,
76 0xfc, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
77 /* '8' */ 7, 11, 0, 9, 8,
78 0x78, 0x84, 0x84, 0x84, 0x78, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00,
79 /* '9' */ 7, 11, 0, 9, 8,
80 0x78, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x04, 0x04, 0x78, 0x00, 0x00,
81 /* ':' */ 7, 11, 0, 9, 8,
82 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
83 /* ';' */ 7, 11, 0, 9, 8,
84 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x08, 0x10, 0x00,
85 /* '<' */ 7, 11, 0, 9, 8,
86 0x00, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00,
87 /* '=' */ 7, 11, 0, 9, 8,
88 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00,
89 /* '>' */ 7, 11, 0, 9, 8,
90 0x00, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00,
91 /* '?' */ 7, 11, 0, 9, 8,
92 0x7c, 0x82, 0x82, 0x02, 0x0c, 0x10, 0x10, 0x00, 0x10, 0x00, 0x00,
93 /* '@' */ 8, 11, 0, 9, 8,
94 0x3e, 0x41, 0x9d, 0xa5, 0xa5, 0xa5, 0x9e, 0x41, 0x3e, 0x00, 0x00,
95 /* 'A' */ 7, 11, 0, 9, 8,
96 0x7c, 0x82, 0x82, 0x82, 0xfe, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
97 /* 'B' */ 7, 11, 0, 9, 8,
98 0xfc, 0x82, 0x82, 0x82, 0xfc, 0x82, 0x82, 0x82, 0xfc, 0x00, 0x00,
99 /* 'C' */ 7, 11, 0, 9, 8,
100 0x7c, 0x82, 0x80, 0x80, 0x80, 0x80, 0x80, 0x82, 0x7c, 0x00, 0x00,
101 /* 'D' */ 7, 11, 0, 9, 8,
102 0xf8, 0x84, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0xf8, 0x00, 0x00,
103 /* 'E' */ 7, 11, 0, 9, 8,
104 0xfe, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0xfe, 0x00, 0x00,
105 /* 'F' */ 7, 11, 0, 9, 8,
106 0xfe, 0x80, 0x80, 0x80, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
107 /* 'G' */ 7, 11, 0, 9, 8,
108 0x7c, 0x82, 0x80, 0x80, 0x80, 0x9e, 0x82, 0x82, 0x7c, 0x00, 0x00,
109 /* 'H' */ 7, 11, 0, 9, 8,
110 0x82, 0x82, 0x82, 0x82, 0xfe, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
111 /* 'I' */ 7, 11, 0, 9, 8,
112 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00,
113 /* 'J' */ 7, 11, 0, 9, 8,
114 0x7e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x7c, 0x00, 0x00,
115 /* 'K' */ 7, 11, 0, 9, 8,
116 0x82, 0x84, 0x88, 0x90, 0xe0, 0x90, 0x88, 0x84, 0x82, 0x00, 0x00,
117 /* 'L' */ 7, 11, 0, 9, 8,
118 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfe, 0x00, 0x00,
119 /* 'M' */ 7, 11, 0, 9, 8,
120 0x82, 0xc6, 0xaa, 0x92, 0x82, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
121 /* 'N' */ 7, 11, 0, 9, 8,
122 0x82, 0xc2, 0xa2, 0xa2, 0x92, 0x8a, 0x8a, 0x86, 0x82, 0x00, 0x00,
123 /* 'O' */ 7, 11, 0, 9, 8,
124 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c, 0x00, 0x00,
125 /* 'P' */ 7, 11, 0, 9, 8,
126 0xfc, 0x82, 0x82, 0x82, 0x82, 0xfc, 0x80, 0x80, 0x80, 0x00, 0x00,
127 /* 'Q' */ 7, 11, 0, 9, 8,
128 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x9a, 0x84, 0x7a, 0x00, 0x00,
129 /* 'R' */ 7, 11, 0, 9, 8,
130 0xfc, 0x82, 0x82, 0x82, 0x82, 0xfc, 0x88, 0x84, 0x82, 0x00, 0x00,
131 /* 'S' */ 7, 11, 0, 9, 8,
132 0x7c, 0x82, 0x80, 0x80, 0x7c, 0x02, 0x02, 0x82, 0x7c, 0x00, 0x00,
133 /* 'T' */ 7, 11, 0, 9, 8,
134 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
135 /* 'U' */ 7, 11, 0, 9, 8,
136 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c, 0x00, 0x00,
137 /* 'V' */ 7, 11, 0, 9, 8,
138 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00,
139 /* 'W' */ 7, 11, 0, 9, 8,
140 0x82, 0x82, 0x82, 0x82, 0x92, 0x92, 0x92, 0xaa, 0x44, 0x00, 0x00,
141 /* 'X' */ 7, 11, 0, 9, 8,
142 0x82, 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82, 0x82, 0x00, 0x00,
143 /* 'Y' */ 7, 11, 0, 9, 8,
144 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
145 /* 'Z' */ 7, 11, 0, 9, 8,
146 0xfe, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0xfe, 0x00, 0x00,
147 /* '[' */ 7, 11, 0, 9, 8,
148 0x3c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x00, 0x00,
149 /* '\' */ 7, 11, 0, 9, 8,
150 0x00, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00,
151 /* ']' */ 7, 11, 0, 9, 8,
152 0x1e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1e, 0x00, 0x00,
153 /* '^' */ 7, 11, 0, 9, 8,
154 0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 /* '_' */ 7, 11, 0, 9, 8,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00,
157 /* '`' */ 7, 11, 0, 9, 8,
158 0x30, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 /* 'a' */ 7, 11, 0, 9, 8,
160 0x00, 0x00, 0x3c, 0x02, 0x02, 0x3e, 0x42, 0x42, 0x3e, 0x00, 0x00,
161 /* 'b' */ 7, 11, 0, 9, 8,
162 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00,
163 /* 'c' */ 7, 11, 0, 9, 8,
164 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00,
165 /* 'd' */ 7, 11, 0, 9, 8,
166 0x02, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00,
167 /* 'e' */ 7, 11, 0, 9, 8,
168 0x00, 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3e, 0x00, 0x00,
169 /* 'f' */ 7, 11, 0, 9, 8,
170 0x1e, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
171 /* 'g' */ 7, 11, 0, 9, 8,
172 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c,
173 /* 'h' */ 7, 11, 0, 9, 8,
174 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00,
175 /* 'i' */ 7, 11, 0, 9, 8,
176 0x08, 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3e, 0x00, 0x00,
177 /* 'j' */ 7, 11, 0, 9, 8,
178 0x08, 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x70,
179 /* 'k' */ 7, 11, 0, 9, 8,
180 0x40, 0x40, 0x42, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x00, 0x00,
181 /* 'l' */ 7, 11, 0, 9, 8,
182 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0e, 0x00, 0x00,
183 /* 'm' */ 7, 11, 0, 9, 8,
184 0x00, 0x00, 0xfc, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x00, 0x00,
185 /* 'n' */ 7, 11, 0, 9, 8,
186 0x00, 0x00, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00,
187 /* 'o' */ 7, 11, 0, 9, 8,
188 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00,
189 /* 'p' */ 7, 11, 0, 9, 8,
190 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x40,
191 /* 'q' */ 7, 11, 0, 9, 8,
192 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02,
193 /* 'r' */ 7, 11, 0, 9, 8,
194 0x00, 0x00, 0x5e, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
195 /* 's' */ 7, 11, 0, 9, 8,
196 0x00, 0x00, 0x7c, 0x80, 0x80, 0x7c, 0x02, 0x02, 0x7c, 0x00, 0x00,
197 /* 't' */ 7, 11, 0, 9, 8,
198 0x00, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0e, 0x00, 0x00,
199 /* 'u' */ 7, 11, 0, 9, 8,
200 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00,
201 /* 'v' */ 7, 11, 0, 9, 8,
202 0x00, 0x00, 0x42, 0x42, 0x42, 0x24, 0x24, 0x24, 0x18, 0x00, 0x00,
203 /* 'w' */ 7, 11, 0, 9, 8,
204 0x00, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00,
205 /* 'x' */ 7, 11, 0, 9, 8,
206 0x00, 0x00, 0x42, 0x42, 0x24, 0x18, 0x24, 0x42, 0x42, 0x00, 0x00,
207 /* 'y' */ 7, 11, 0, 9, 8,
208 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c,
209 /* 'z' */ 7, 11, 0, 9, 8,
210 0x00, 0x00, 0x7e, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00,
211 /* '{' */ 7, 11, 0, 9, 8,
212 0x0c, 0x10, 0x10, 0x10, 0x60, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00,
213 /* '|' */ 7, 11, 0, 9, 8,
214 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
215 /* '}' */ 7, 11, 0, 9, 8,
216 0x30, 0x08, 0x08, 0x08, 0x06, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
217 /* '~' */ 7, 11, 0, 9, 8,
218 0x32, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 struct GP_FontFace GP_DefaultConsoleFont = {
222 .family_name = "Gfxprim",
223 .style_name = "Mono",
224 .charset = GP_CHARSET_7BIT,
225 .ascend = 9,
226 .descend = 2,
227 .max_glyph_width = 8,
228 .max_glyph_advance = 8,
229 .glyph_bitmap_format = GP_FONT_BITMAP_1BPP,
230 .glyphs = default_console_glyphs,
231 .glyph_offsets = {16},
234 static uint8_t default_proportional_glyphs[] = {
235 /* ' ' */ 6, 11, 0, 9, 7,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237 /* '!' */ 4, 11, 0, 9, 6,
238 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00,
239 /* '"' */ 8, 11, 0, 9, 9,
240 0x24, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 /* '#' */ 8, 11, 0, 9, 9,
242 0x00, 0x12, 0x12, 0x7f, 0x24, 0x24, 0xfe, 0x48, 0x48, 0x00, 0x00,
243 /* '$' */ 7, 11, 0, 9, 8,
244 0x10, 0x7c, 0x92, 0x90, 0x7c, 0x12, 0x92, 0x7c, 0x10, 0x00, 0x00,
245 /* '%' */ 7, 11, 0, 9, 8,
246 0x61, 0x92, 0x94, 0x68, 0x10, 0x2c, 0x52, 0x92, 0x0c, 0x00, 0x00,
247 /* '&' */ 7, 11, 0, 9, 8,
248 0x30, 0x48, 0x48, 0x30, 0x56, 0x88, 0x88, 0x88, 0x76, 0x00, 0x00,
249 /* ''' */ 4, 11, 0, 9, 5,
250 0x30, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
251 /* '(' */ 2, 11, 0, 9, 4,
252 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x00,
253 /* ')' */ 2, 11, 0, 9, 4,
254 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00,
255 /* '*' */ 5, 11, 0, 9, 6,
256 0x00, 0x20, 0xa8, 0xa8, 0x70, 0xa8, 0xa8, 0x20, 0x00, 0x00, 0x00,
257 /* '+' */ 7, 11, 0, 9, 8,
258 0x00, 0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
259 /* ',' */ 4, 11, 0, 9, 6,
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x40, 0x00,
261 /* '-' */ 4, 11, 0, 9, 6,
262 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
263 /* '.' */ 4, 11, 0, 9, 6,
264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
265 /* '/' */ 5, 11, 0, 9, 6,
266 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00,
267 /* '0' */ 6, 11, 0, 9, 7,
268 0x78, 0x84, 0x8c, 0x94, 0xb4, 0xa4, 0xc4, 0x84, 0x78, 0x00, 0x00,
269 /* '1' */ 6, 11, 0, 9, 7,
270 0x20, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xf8, 0x00, 0x00,
271 /* '2' */ 6, 11, 0, 9, 7,
272 0x78, 0x84, 0x84, 0x04, 0x18, 0x60, 0x80, 0x80, 0xfc, 0x00, 0x00,
273 /* '3' */ 6, 11, 0, 9, 7,
274 0x78, 0x84, 0x84, 0x04, 0x18, 0x04, 0x84, 0x84, 0x78, 0x00, 0x00,
275 /* '4' */ 6, 11, 0, 9, 7,
276 0x18, 0x28, 0x48, 0x48, 0x88, 0xfc, 0x08, 0x08, 0x08, 0x00, 0x00,
277 /* '5' */ 6, 11, 0, 9, 7,
278 0xfc, 0x80, 0x80, 0xf8, 0x04, 0x04, 0x84, 0x84, 0x78, 0x00, 0x00,
279 /* '6' */ 6, 11, 0, 9, 7,
280 0x78, 0x80, 0x80, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00,
281 /* '7' */ 6, 11, 0, 9, 7,
282 0xfc, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
283 /* '8' */ 6, 11, 0, 9, 7,
284 0x78, 0x84, 0x84, 0x84, 0x78, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00,
285 /* '9' */ 6, 11, 0, 9, 7,
286 0x78, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x04, 0x04, 0x78, 0x00, 0x00,
287 /* ':' */ 4, 11, 0, 9, 5,
288 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
289 /* ';' */ 4, 11, 0, 9, 5,
290 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x60, 0x20, 0x40, 0x00,
291 /* '<' */ 4, 11, 0, 9, 6,
292 0x00, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00,
293 /* '=' */ 5, 11, 0, 9, 6,
294 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
295 /* '>' */ 4, 11, 0, 9, 6,
296 0x00, 0x80, 0x40, 0x20, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
297 /* '?' */ 7, 11, 0, 9, 8,
298 0x7c, 0x82, 0x82, 0x02, 0x0c, 0x10, 0x10, 0x00, 0x10, 0x00, 0x00,
299 /* '@' */ 8, 11, 0, 9, 9,
300 0x3e, 0x41, 0x9d, 0xa5, 0xa5, 0xa5, 0x9e, 0x41, 0x3e, 0x00, 0x00,
301 /* 'A' */ 7, 11, 0, 9, 8,
302 0x7c, 0x82, 0x82, 0x82, 0xfe, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
303 /* 'B' */ 7, 11, 0, 9, 8,
304 0xfc, 0x82, 0x82, 0x82, 0xfc, 0x82, 0x82, 0x82, 0xfc, 0x00, 0x00,
305 /* 'C' */ 7, 11, 0, 9, 8,
306 0x7c, 0x82, 0x80, 0x80, 0x80, 0x80, 0x80, 0x82, 0x7c, 0x00, 0x00,
307 /* 'D' */ 7, 11, 0, 9, 8,
308 0xf8, 0x84, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0xf8, 0x00, 0x00,
309 /* 'E' */ 7, 11, 0, 9, 8,
310 0xfe, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0xfe, 0x00, 0x00,
311 /* 'F' */ 7, 11, 0, 9, 8,
312 0xfe, 0x80, 0x80, 0x80, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
313 /* 'G' */ 7, 11, 0, 9, 8,
314 0x7c, 0x82, 0x80, 0x80, 0x80, 0x9e, 0x82, 0x82, 0x7c, 0x00, 0x00,
315 /* 'H' */ 7, 11, 0, 9, 8,
316 0x82, 0x82, 0x82, 0x82, 0xfe, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
317 /* 'I' */ 1, 11, 0, 9, 2,
318 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
319 /* 'J' */ 7, 11, 0, 9, 8,
320 0x7e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x7c, 0x00, 0x00,
321 /* 'K' */ 7, 11, 0, 9, 8,
322 0x82, 0x84, 0x88, 0x90, 0xe0, 0x90, 0x88, 0x84, 0x82, 0x00, 0x00,
323 /* 'L' */ 6, 11, 0, 9, 7,
324 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00,
325 /* 'M' */ 7, 11, 0, 9, 8,
326 0x82, 0xc6, 0xaa, 0x92, 0x82, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00,
327 /* 'N' */ 7, 11, 0, 9, 8,
328 0x82, 0xc2, 0xa2, 0xa2, 0x92, 0x8a, 0x8a, 0x86, 0x82, 0x00, 0x00,
329 /* 'O' */ 7, 11, 0, 9, 8,
330 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c, 0x00, 0x00,
331 /* 'P' */ 7, 11, 0, 9, 8,
332 0xfc, 0x82, 0x82, 0x82, 0x82, 0xfc, 0x80, 0x80, 0x80, 0x00, 0x00,
333 /* 'Q' */ 7, 11, 0, 9, 8,
334 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x9a, 0x84, 0x7a, 0x00, 0x00,
335 /* 'R' */ 7, 11, 0, 9, 8,
336 0xfc, 0x82, 0x82, 0x82, 0x82, 0xfc, 0x88, 0x84, 0x82, 0x00, 0x00,
337 /* 'S' */ 7, 11, 0, 9, 8,
338 0x7c, 0x82, 0x80, 0x80, 0x7c, 0x02, 0x02, 0x82, 0x7c, 0x00, 0x00,
339 /* 'T' */ 7, 11, 0, 9, 8,
340 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
341 /* 'U' */ 7, 11, 0, 9, 8,
342 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c, 0x00, 0x00,
343 /* 'V' */ 7, 11, 0, 9, 8,
344 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00,
345 /* 'W' */ 7, 11, 0, 9, 8,
346 0x82, 0x82, 0x82, 0x82, 0x92, 0x92, 0x92, 0xaa, 0x44, 0x00, 0x00,
347 /* 'X' */ 7, 11, 0, 9, 8,
348 0x82, 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82, 0x82, 0x00, 0x00,
349 /* 'Y' */ 7, 11, 0, 9, 8,
350 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
351 /* 'Z' */ 7, 11, 0, 9, 8,
352 0xfe, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0xfe, 0x00, 0x00,
353 /* '[' */ 3, 11, 0, 9, 4,
354 0xe0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xe0, 0x00, 0x00,
355 /* '\' */ 5, 11, 0, 9, 6,
356 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00,
357 /* ']' */ 3, 11, 0, 9, 4,
358 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00,
359 /* '^' */ 8, 11, 0, 9, 9,
360 0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
361 /* '_' */ 8, 11, 0, 9, 9,
362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00,
363 /* '`' */ 2, 11, 0, 9, 3,
364 0xc0, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
365 /* 'a' */ 6, 11, 0, 9, 7,
366 0x00, 0x00, 0x78, 0x04, 0x04, 0x7c, 0x84, 0x84, 0x7c, 0x00, 0x00,
367 /* 'b' */ 6, 11, 0, 9, 7,
368 0x80, 0x80, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x84, 0xf8, 0x00, 0x00,
369 /* 'c' */ 6, 11, 0, 9, 7,
370 0x00, 0x00, 0x78, 0x84, 0x80, 0x80, 0x80, 0x84, 0x78, 0x00, 0x00,
371 /* 'd' */ 6, 11, 0, 9, 7,
372 0x04, 0x04, 0x7c, 0x84, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x00, 0x00,
373 /* 'e' */ 6, 11, 0, 9, 7,
374 0x00, 0x00, 0x78, 0x84, 0x84, 0xfc, 0x80, 0x80, 0x7c, 0x00, 0x00,
375 /* 'f' */ 6, 11, 0, 9, 7,
376 0x1e, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
377 /* 'g' */ 6, 11, 0, 9, 7,
378 0x00, 0x00, 0x7c, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x04, 0x04, 0x78,
379 /* 'h' */ 6, 11, 0, 9, 7,
380 0x80, 0x80, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00,
381 /* 'i' */ 2, 11, 0, 9, 4,
382 0x40, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
383 /* 'j' */ 3, 11, 0, 9, 4,
384 0x20, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0,
385 /* 'k' */ 7, 11, 0, 9, 8,
386 0x40, 0x40, 0x42, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x00, 0x00,
387 /* 'l' */ 4, 11, 0, 9, 5,
388 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x30, 0x00, 0x00,
389 /* 'm' */ 7, 11, 0, 9, 8,
390 0x00, 0x00, 0xfc, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x00, 0x00,
391 /* 'n' */ 6, 11, 0, 9, 7,
392 0x00, 0x00, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00,
393 /* 'o' */ 6, 11, 0, 9, 7,
394 0x00, 0x00, 0x78, 0x84, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00,
395 /* 'p' */ 6, 11, 0, 9, 7,
396 0x00, 0x00, 0xf8, 0x84, 0x84, 0x84, 0x84, 0x84, 0xf8, 0x80, 0x80,
397 /* 'q' */ 6, 11, 0, 9, 7,
398 0x00, 0x00, 0x7c, 0x84, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x04, 0x04,
399 /* 'r' */ 5, 11, 0, 9, 6,
400 0x00, 0x00, 0xb8, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
401 /* 's' */ 7, 11, 0, 9, 8,
402 0x00, 0x00, 0x7c, 0x80, 0x80, 0x7c, 0x02, 0x02, 0x7c, 0x00, 0x00,
403 /* 't' */ 6, 11, 0, 9, 7,
404 0x00, 0x20, 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1c, 0x00, 0x00,
405 /* 'u' */ 6, 11, 0, 9, 7,
406 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x00, 0x00,
407 /* 'v' */ 6, 11, 0, 9, 7,
408 0x00, 0x00, 0x84, 0x84, 0x84, 0x48, 0x48, 0x48, 0x30, 0x00, 0x00,
409 /* 'w' */ 7, 11, 0, 9, 8,
410 0x00, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00,
411 /* 'x' */ 6, 11, 0, 9, 7,
412 0x00, 0x00, 0x84, 0x84, 0x48, 0x30, 0x48, 0x84, 0x84, 0x00, 0x00,
413 /* 'y' */ 6, 11, 0, 9, 7,
414 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x04, 0x04, 0x78,
415 /* 'z' */ 6, 11, 0, 9, 7,
416 0x00, 0x00, 0xfc, 0x08, 0x10, 0x20, 0x40, 0x80, 0xfc, 0x00, 0x00,
417 /* '{' */ 5, 11, 0, 9, 6,
418 0x18, 0x20, 0x20, 0x20, 0xc0, 0x20, 0x20, 0x20, 0x18, 0x00, 0x00,
419 /* '|' */ 1, 11, 0, 9, 2,
420 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
421 /* '}' */ 5, 11, 0, 9, 6,
422 0xc0, 0x20, 0x20, 0x20, 0x18, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00,
423 /* '~' */ 6, 11, 0, 9, 7,
424 0x64, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
427 struct GP_FontFace GP_DefaultProportionalFont = {
428 .family_name = "Gfxprim",
429 .style_name = "Proportional",
430 .charset = GP_CHARSET_7BIT,
431 .ascend = 9,
432 .descend = 2,
433 .max_glyph_width = 9,
434 .max_glyph_advance = 9,
435 .glyph_bitmap_format = GP_FONT_BITMAP_1BPP,
436 .glyphs = default_proportional_glyphs,
437 .glyph_offsets = {16},