aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/console')
-rw-r--r--drivers/video/console/Kconfig191
-rw-r--r--drivers/video/console/Makefile43
-rw-r--r--drivers/video/console/bitblit.c405
-rw-r--r--drivers/video/console/dummycon.c80
-rw-r--r--drivers/video/console/fbcon.c2814
-rw-r--r--drivers/video/console/fbcon.h170
-rw-r--r--drivers/video/console/font_6x11.c3351
-rw-r--r--drivers/video/console/font_8x16.c4631
-rw-r--r--drivers/video/console/font_8x8.c2583
-rw-r--r--drivers/video/console/font_acorn_8x8.c276
-rw-r--r--drivers/video/console/font_mini_4x6.c2158
-rw-r--r--drivers/video/console/font_pearl_8x8.c2587
-rw-r--r--drivers/video/console/font_sun12x22.c6220
-rw-r--r--drivers/video/console/font_sun8x16.c275
-rw-r--r--drivers/video/console/fonts.c139
-rw-r--r--drivers/video/console/mdacon.c603
-rw-r--r--drivers/video/console/newport_con.c745
-rw-r--r--drivers/video/console/prom.uni11
-rw-r--r--drivers/video/console/promcon.c599
-rw-r--r--drivers/video/console/sticon.c392
-rw-r--r--drivers/video/console/sticore.c1088
-rw-r--r--drivers/video/console/tileblit.c148
-rw-r--r--drivers/video/console/vgacon.c1103
23 files changed, 30612 insertions, 0 deletions
diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
new file mode 100644
index 000000000000..ccf55811d24f
--- /dev/null
+++ b/drivers/video/console/Kconfig
@@ -0,0 +1,191 @@
1#
2# Video configuration
3#
4
5menu "Console display driver support"
6
7config VGA_CONSOLE
8 bool "VGA text console" if EMBEDDED || !X86
9 depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC32 && !SPARC64 && !M68K && !PARISC
10 default y
11 help
12 Saying Y here will allow you to use Linux in text mode through a
13 display that complies with the generic VGA standard. Virtually
14 everyone wants that.
15
16 The program SVGATextMode can be used to utilize SVGA video cards to
17 their full potential in text mode. Download it from
18 <ftp://ibiblio.org/pub/Linux/utils/console/>.
19
20 Say Y.
21
22# if [ "$CONFIG_PCI" = "y" -a "$CONFIG_VGA_CONSOLE" = "y" ]; then
23# bool ' Allow VGA on any bus?' CONFIG_VGA_HOSE
24# if [ "$CONFIG_VGA_HOSE" = "y" ]; then
25# define_bool CONFIG_DUMMY_CONSOLE y
26# fi
27# fi
28
29config VIDEO_SELECT
30 bool "Video mode selection support"
31 depends on (X86 || X86_64) && VGA_CONSOLE
32 ---help---
33 This enables support for text mode selection on kernel startup. If
34 you want to take advantage of some high-resolution text mode your
35 card's BIOS offers, but the traditional Linux utilities like
36 SVGATextMode don't, you can say Y here and set the mode using the
37 "vga=" option from your boot loader (lilo or loadlin) or set
38 "vga=ask" which brings up a video mode menu on kernel startup. (Try
39 "man bootparam" or see the documentation of your boot loader about
40 how to pass options to the kernel.)
41
42 Read the file <file:Documentation/svga.txt> for more information
43 about the Video mode selection support. If unsure, say N.
44
45config MDA_CONSOLE
46 depends on !M68K && !PARISC && ISA
47 tristate "MDA text console (dual-headed) (EXPERIMENTAL)"
48 ---help---
49 Say Y here if you have an old MDA or monochrome Hercules graphics
50 adapter in your system acting as a second head ( = video card). You
51 will then be able to use two monitors with your Linux system. Do not
52 say Y here if your MDA card is the primary card in your system; the
53 normal VGA driver will handle it.
54
55 To compile this driver as a module, choose M here: the
56 module will be called mdacon.
57
58 If unsure, say N.
59
60config SGI_NEWPORT_CONSOLE
61 tristate "SGI Newport Console support"
62 depends on SGI_IP22
63 help
64 Say Y here if you want the console on the Newport aka XL graphics
65 card of your Indy. Most people say Y here.
66
67# bool 'IODC console' CONFIG_IODC_CONSOLE
68
69config PROM_CONSOLE
70 bool "PROM console"
71 depends on SPARC32 || SPARC64
72 help
73 Say Y to build a console driver for Sun machines that uses the
74 terminal emulation built into their console PROMS.
75
76config DUMMY_CONSOLE
77 bool
78 depends on PROM_CONSOLE!=y || VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y
79 default y
80
81config DUMMY_CONSOLE_COLUMNS
82 int "Initial number of console screen columns"
83 depends on PARISC && DUMMY_CONSOLE
84 default "160"
85 help
86 The default value is 160, which should fit a 1280x1024 monitor.
87 Select 80 if you use a 640x480 resolution by default.
88
89config DUMMY_CONSOLE_ROWS
90 int "Initial number of console screen rows"
91 depends on PARISC && DUMMY_CONSOLE
92 default "64"
93 help
94 The default value is 64, which should fit a 1280x1024 monitor.
95 Select 25 if you use a 640x480 resolution by default.
96
97config FRAMEBUFFER_CONSOLE
98 tristate "Framebuffer Console support"
99 depends on FB
100 select CRC32
101
102config STI_CONSOLE
103 tristate "STI text console"
104 depends on PARISC
105 default y
106 help
107 The STI console is the builtin display/keyboard on HP-PARISC
108 machines. Say Y here to build support for it into your kernel.
109 The alternative is to use your primary serial port as a console.
110
111config FONTS
112 bool "Select compiled-in fonts"
113 depends on FRAMEBUFFER_CONSOLE
114 help
115 Say Y here if you would like to use fonts other than the default
116 your frame buffer console usually use.
117
118 Note that the answer to this question won't directly affect the
119 kernel: saying N will just cause the configurator to skip all
120 the questions about foreign fonts.
121
122 If unsure, say N (the default choices are safe).
123
124config FONT_8x8
125 bool "VGA 8x8 font" if FONTS
126 depends on FRAMEBUFFER_CONSOLE
127 default y if !SPARC32 && !SPARC64 && !FONTS
128 help
129 This is the "high resolution" font for the VGA frame buffer (the one
130 provided by the text console 80x50 (and higher) modes).
131
132 Note that this is a poor quality font. The VGA 8x16 font is quite a
133 lot more readable.
134
135 Given the resolution provided by the frame buffer device, answer N
136 here is safe.
137
138config FONT_8x16
139 bool "VGA 8x16 font" if FONTS
140 depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE=y
141 default y if !SPARC32 && !SPARC64 && !FONTS
142 help
143 This is the "high resolution" font for the VGA frame buffer (the one
144 provided by the VGA text console 80x25 mode.
145
146 If unsure, say Y.
147
148config FONT_6x11
149 bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
150 depends on FRAMEBUFFER_CONSOLE
151 default y if !SPARC32 && !SPARC64 && !FONTS && MAC
152 help
153 Small console font with Macintosh-style high-half glyphs. Some Mac
154 framebuffer drivers don't support this one at all.
155
156config FONT_PEARL_8x8
157 bool "Pearl (old m68k) console 8x8 font" if FONTS
158 depends on FRAMEBUFFER_CONSOLE
159 default y if !SPARC32 && !SPARC64 && !FONTS && AMIGA
160 help
161 Small console font with PC-style control-character and high-half
162 glyphs.
163
164config FONT_ACORN_8x8
165 bool "Acorn console 8x8 font" if FONTS
166 depends on FRAMEBUFFER_CONSOLE
167 default y if !SPARC32 && !SPARC64 && !FONTS && ARM && ARCH_ACORN
168 help
169 Small console font with PC-style control characters and high-half
170 glyphs.
171
172config FONT_MINI_4x6
173 bool "Mini 4x6 font"
174 depends on !SPARC32 && !SPARC64 && FONTS
175
176config FONT_SUN8x16
177 bool "Sparc console 8x16 font"
178 depends on FRAMEBUFFER_CONSOLE && (!SPARC32 && !SPARC64 && FONTS || SPARC32 || SPARC64)
179 help
180 This is the high resolution console font for Sun machines. Say Y.
181
182config FONT_SUN12x22
183 bool "Sparc console 12x22 font (not supported by all drivers)"
184 depends on FRAMEBUFFER_CONSOLE && (!SPARC32 && !SPARC64 && FONTS || SPARC32 || SPARC64)
185 help
186 This is the high resolution console font for Sun machines with very
187 big letters (like the letters used in the SPARC PROM). If the
188 standard font is unreadable for you, say Y, otherwise say N.
189
190endmenu
191
diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile
new file mode 100644
index 000000000000..33516447f9f2
--- /dev/null
+++ b/drivers/video/console/Makefile
@@ -0,0 +1,43 @@
1# Makefile for the Linux graphics to console drivers.
2# 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net>
3# Rewritten to use lists instead of if-statements.
4
5# Font handling
6font-objs := fonts.o
7
8font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
9font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
10font-objs-$(CONFIG_FONT_8x8) += font_8x8.o
11font-objs-$(CONFIG_FONT_8x16) += font_8x16.o
12font-objs-$(CONFIG_FONT_6x11) += font_6x11.o
13font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
14font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
15font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
16
17font-objs += $(font-objs-y)
18
19# Each configuration option enables a list of files.
20
21obj-$(CONFIG_DUMMY_CONSOLE) += dummycon.o
22obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
23obj-$(CONFIG_PROM_CONSOLE) += promcon.o promcon_tbl.o
24obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
25obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
26obj-$(CONFIG_MDA_CONSOLE) += mdacon.o
27obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o
28ifeq ($(CONFIG_FB_TILEBLITTING),y)
29obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o
30endif
31
32obj-$(CONFIG_FB_STI) += sticore.o font.o
33
34# Targets that kbuild needs to know about
35targets := promcon_tbl.c
36
37quiet_cmd_conmakehash = CNMKHSH $@
38 cmd_conmakehash = scripts/conmakehash $< | \
39 sed -e '/\#include <[^>]*>/p' -e 's/types/init/' \
40 -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@
41
42$(obj)/promcon_tbl.c: $(src)/prom.uni
43 $(call cmd,conmakehash)
diff --git a/drivers/video/console/bitblit.c b/drivers/video/console/bitblit.c
new file mode 100644
index 000000000000..b28a4b0e395e
--- /dev/null
+++ b/drivers/video/console/bitblit.c
@@ -0,0 +1,405 @@
1/*
2 * linux/drivers/video/console/bitblit.c -- BitBlitting Operation
3 *
4 * Originally from the 'accel_*' routines in drivers/video/console/fbcon.c
5 *
6 * Copyright (C) 2004 Antonino Daplas <adaplas @pol.net>
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file COPYING in the main directory of this archive for
10 * more details.
11 */
12
13#include <linux/config.h>
14#include <linux/module.h>
15#include <linux/string.h>
16#include <linux/fb.h>
17#include <linux/vt_kern.h>
18#include <linux/console.h>
19#include <asm/types.h>
20#include "fbcon.h"
21
22/*
23 * Accelerated handlers.
24 */
25#define FBCON_ATTRIBUTE_UNDERLINE 1
26#define FBCON_ATTRIBUTE_REVERSE 2
27#define FBCON_ATTRIBUTE_BOLD 4
28
29static inline int real_y(struct display *p, int ypos)
30{
31 int rows = p->vrows;
32
33 ypos += p->yscroll;
34 return ypos < rows ? ypos : ypos - rows;
35}
36
37
38static inline int get_attribute(struct fb_info *info, u16 c)
39{
40 int attribute = 0;
41
42 if (fb_get_color_depth(&info->var) == 1) {
43 if (attr_underline(c))
44 attribute |= FBCON_ATTRIBUTE_UNDERLINE;
45 if (attr_reverse(c))
46 attribute |= FBCON_ATTRIBUTE_REVERSE;
47 if (attr_bold(c))
48 attribute |= FBCON_ATTRIBUTE_BOLD;
49 }
50
51 return attribute;
52}
53
54static inline void update_attr(u8 *dst, u8 *src, int attribute,
55 struct vc_data *vc)
56{
57 int i, offset = (vc->vc_font.height < 10) ? 1 : 2;
58 int width = (vc->vc_font.width + 7) >> 3;
59 unsigned int cellsize = vc->vc_font.height * width;
60 u8 c;
61
62 offset = cellsize - (offset * width);
63 for (i = 0; i < cellsize; i++) {
64 c = src[i];
65 if (attribute & FBCON_ATTRIBUTE_UNDERLINE && i >= offset)
66 c = 0xff;
67 if (attribute & FBCON_ATTRIBUTE_BOLD)
68 c |= c >> 1;
69 if (attribute & FBCON_ATTRIBUTE_REVERSE)
70 c = ~c;
71 dst[i] = c;
72 }
73}
74
75static void bit_bmove(struct vc_data *vc, struct fb_info *info, int sy,
76 int sx, int dy, int dx, int height, int width)
77{
78 struct fb_copyarea area;
79
80 area.sx = sx * vc->vc_font.width;
81 area.sy = sy * vc->vc_font.height;
82 area.dx = dx * vc->vc_font.width;
83 area.dy = dy * vc->vc_font.height;
84 area.height = height * vc->vc_font.height;
85 area.width = width * vc->vc_font.width;
86
87 info->fbops->fb_copyarea(info, &area);
88}
89
90static void bit_clear(struct vc_data *vc, struct fb_info *info, int sy,
91 int sx, int height, int width)
92{
93 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
94 struct fb_fillrect region;
95
96 region.color = attr_bgcol_ec(bgshift, vc);
97 region.dx = sx * vc->vc_font.width;
98 region.dy = sy * vc->vc_font.height;
99 region.width = width * vc->vc_font.width;
100 region.height = height * vc->vc_font.height;
101 region.rop = ROP_COPY;
102
103 info->fbops->fb_fillrect(info, &region);
104}
105
106static void bit_putcs(struct vc_data *vc, struct fb_info *info,
107 const unsigned short *s, int count, int yy, int xx,
108 int fg, int bg)
109{
110 void (*move_unaligned)(struct fb_info *info, struct fb_pixmap *buf,
111 u8 *dst, u32 d_pitch, u8 *src, u32 idx,
112 u32 height, u32 shift_high, u32 shift_low,
113 u32 mod);
114 void (*move_aligned)(struct fb_info *info, struct fb_pixmap *buf,
115 u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
116 u32 height);
117 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
118 unsigned int width = (vc->vc_font.width + 7) >> 3;
119 unsigned int cellsize = vc->vc_font.height * width;
120 unsigned int maxcnt = info->pixmap.size/cellsize;
121 unsigned int scan_align = info->pixmap.scan_align - 1;
122 unsigned int buf_align = info->pixmap.buf_align - 1;
123 unsigned int shift_low = 0, mod = vc->vc_font.width % 8;
124 unsigned int shift_high = 8, pitch, cnt, size, k;
125 unsigned int idx = vc->vc_font.width >> 3;
126 unsigned int attribute = get_attribute(info, scr_readw(s));
127 struct fb_image image;
128 u8 *src, *dst, *buf = NULL;
129
130 if (attribute) {
131 buf = kmalloc(cellsize, GFP_KERNEL);
132 if (!buf)
133 return;
134 }
135
136 image.fg_color = fg;
137 image.bg_color = bg;
138
139 image.dx = xx * vc->vc_font.width;
140 image.dy = yy * vc->vc_font.height;
141 image.height = vc->vc_font.height;
142 image.depth = 1;
143
144 if (info->pixmap.outbuf && info->pixmap.inbuf) {
145 move_aligned = fb_iomove_buf_aligned;
146 move_unaligned = fb_iomove_buf_unaligned;
147 } else {
148 move_aligned = fb_sysmove_buf_aligned;
149 move_unaligned = fb_sysmove_buf_unaligned;
150 }
151 while (count) {
152 if (count > maxcnt)
153 cnt = k = maxcnt;
154 else
155 cnt = k = count;
156
157 image.width = vc->vc_font.width * cnt;
158 pitch = ((image.width + 7) >> 3) + scan_align;
159 pitch &= ~scan_align;
160 size = pitch * image.height + buf_align;
161 size &= ~buf_align;
162 dst = fb_get_buffer_offset(info, &info->pixmap, size);
163 image.data = dst;
164 if (mod) {
165 while (k--) {
166 src = vc->vc_font.data + (scr_readw(s++)&
167 charmask)*cellsize;
168
169 if (attribute) {
170 update_attr(buf, src, attribute, vc);
171 src = buf;
172 }
173
174 move_unaligned(info, &info->pixmap, dst, pitch,
175 src, idx, image.height,
176 shift_high, shift_low, mod);
177 shift_low += mod;
178 dst += (shift_low >= 8) ? width : width - 1;
179 shift_low &= 7;
180 shift_high = 8 - shift_low;
181 }
182 } else {
183 while (k--) {
184 src = vc->vc_font.data + (scr_readw(s++)&
185 charmask)*cellsize;
186
187 if (attribute) {
188 update_attr(buf, src, attribute, vc);
189 src = buf;
190 }
191
192 move_aligned(info, &info->pixmap, dst, pitch,
193 src, idx, image.height);
194 dst += width;
195 }
196 }
197 info->fbops->fb_imageblit(info, &image);
198 image.dx += cnt * vc->vc_font.width;
199 count -= cnt;
200 }
201
202 /* buf is always NULL except when in monochrome mode, so in this case
203 it's a gain to check buf against NULL even though kfree() handles
204 NULL pointers just fine */
205 if (unlikely(buf))
206 kfree(buf);
207}
208
209static void bit_clear_margins(struct vc_data *vc, struct fb_info *info,
210 int bottom_only)
211{
212 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
213 unsigned int cw = vc->vc_font.width;
214 unsigned int ch = vc->vc_font.height;
215 unsigned int rw = info->var.xres - (vc->vc_cols*cw);
216 unsigned int bh = info->var.yres - (vc->vc_rows*ch);
217 unsigned int rs = info->var.xres - rw;
218 unsigned int bs = info->var.yres - bh;
219 struct fb_fillrect region;
220
221 region.color = attr_bgcol_ec(bgshift, vc);
222 region.rop = ROP_COPY;
223
224 if (rw && !bottom_only) {
225 region.dx = info->var.xoffset + rs;
226 region.dy = 0;
227 region.width = rw;
228 region.height = info->var.yres_virtual;
229 info->fbops->fb_fillrect(info, &region);
230 }
231
232 if (bh) {
233 region.dx = info->var.xoffset;
234 region.dy = info->var.yoffset + bs;
235 region.width = rs;
236 region.height = bh;
237 info->fbops->fb_fillrect(info, &region);
238 }
239}
240
241static void bit_cursor(struct vc_data *vc, struct fb_info *info,
242 struct display *p, int mode, int softback_lines, int fg, int bg)
243{
244 struct fb_cursor cursor;
245 struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par;
246 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
247 int w = (vc->vc_font.width + 7) >> 3, c;
248 int y = real_y(p, vc->vc_y);
249 int attribute, use_sw = (vc->vc_cursor_type & 0x10);
250 char *src;
251
252 cursor.set = 0;
253
254 if (softback_lines) {
255 if (y + softback_lines >= vc->vc_rows) {
256 mode = CM_ERASE;
257 ops->cursor_flash = 0;
258 return;
259 } else
260 y += softback_lines;
261 }
262
263 c = scr_readw((u16 *) vc->vc_pos);
264 attribute = get_attribute(info, c);
265 src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height));
266
267 if (ops->cursor_state.image.data != src ||
268 ops->cursor_reset) {
269 ops->cursor_state.image.data = src;
270 cursor.set |= FB_CUR_SETIMAGE;
271 }
272
273 if (attribute) {
274 u8 *dst;
275
276 dst = kmalloc(w * vc->vc_font.height, GFP_ATOMIC);
277 if (!dst)
278 return;
279 kfree(ops->cursor_data);
280 ops->cursor_data = dst;
281 update_attr(dst, src, attribute, vc);
282 src = dst;
283 }
284
285 if (ops->cursor_state.image.fg_color != fg ||
286 ops->cursor_state.image.bg_color != bg ||
287 ops->cursor_reset) {
288 ops->cursor_state.image.fg_color = fg;
289 ops->cursor_state.image.bg_color = bg;
290 cursor.set |= FB_CUR_SETCMAP;
291 }
292
293 if ((ops->cursor_state.image.dx != (vc->vc_font.width * vc->vc_x)) ||
294 (ops->cursor_state.image.dy != (vc->vc_font.height * y)) ||
295 ops->cursor_reset) {
296 ops->cursor_state.image.dx = vc->vc_font.width * vc->vc_x;
297 ops->cursor_state.image.dy = vc->vc_font.height * y;
298 cursor.set |= FB_CUR_SETPOS;
299 }
300
301 if (ops->cursor_state.image.height != vc->vc_font.height ||
302 ops->cursor_state.image.width != vc->vc_font.width ||
303 ops->cursor_reset) {
304 ops->cursor_state.image.height = vc->vc_font.height;
305 ops->cursor_state.image.width = vc->vc_font.width;
306 cursor.set |= FB_CUR_SETSIZE;
307 }
308
309 if (ops->cursor_state.hot.x || ops->cursor_state.hot.y ||
310 ops->cursor_reset) {
311 ops->cursor_state.hot.x = cursor.hot.y = 0;
312 cursor.set |= FB_CUR_SETHOT;
313 }
314
315 if (cursor.set & FB_CUR_SETSIZE ||
316 vc->vc_cursor_type != p->cursor_shape ||
317 ops->cursor_state.mask == NULL ||
318 ops->cursor_reset) {
319 char *mask = kmalloc(w*vc->vc_font.height, GFP_ATOMIC);
320 int cur_height, size, i = 0;
321 u8 msk = 0xff;
322
323 if (!mask)
324 return;
325
326 kfree(ops->cursor_state.mask);
327 ops->cursor_state.mask = mask;
328
329 p->cursor_shape = vc->vc_cursor_type;
330 cursor.set |= FB_CUR_SETSHAPE;
331
332 switch (p->cursor_shape & CUR_HWMASK) {
333 case CUR_NONE:
334 cur_height = 0;
335 break;
336 case CUR_UNDERLINE:
337 cur_height = (vc->vc_font.height < 10) ? 1 : 2;
338 break;
339 case CUR_LOWER_THIRD:
340 cur_height = vc->vc_font.height/3;
341 break;
342 case CUR_LOWER_HALF:
343 cur_height = vc->vc_font.height >> 1;
344 break;
345 case CUR_TWO_THIRDS:
346 cur_height = (vc->vc_font.height << 1)/3;
347 break;
348 case CUR_BLOCK:
349 default:
350 cur_height = vc->vc_font.height;
351 break;
352 }
353 size = (vc->vc_font.height - cur_height) * w;
354 while (size--)
355 mask[i++] = ~msk;
356 size = cur_height * w;
357 while (size--)
358 mask[i++] = msk;
359 }
360
361 switch (mode) {
362 case CM_ERASE:
363 ops->cursor_state.enable = 0;
364 break;
365 case CM_DRAW:
366 case CM_MOVE:
367 default:
368 ops->cursor_state.enable = (use_sw) ? 0 : 1;
369 break;
370 }
371
372 cursor.image.data = src;
373 cursor.image.fg_color = ops->cursor_state.image.fg_color;
374 cursor.image.bg_color = ops->cursor_state.image.bg_color;
375 cursor.image.dx = ops->cursor_state.image.dx;
376 cursor.image.dy = ops->cursor_state.image.dy;
377 cursor.image.height = ops->cursor_state.image.height;
378 cursor.image.width = ops->cursor_state.image.width;
379 cursor.hot.x = ops->cursor_state.hot.x;
380 cursor.hot.y = ops->cursor_state.hot.y;
381 cursor.mask = ops->cursor_state.mask;
382 cursor.enable = ops->cursor_state.enable;
383 cursor.image.depth = 1;
384 cursor.rop = ROP_XOR;
385
386 info->fbops->fb_cursor(info, &cursor);
387
388 ops->cursor_reset = 0;
389}
390
391void fbcon_set_bitops(struct fbcon_ops *ops)
392{
393 ops->bmove = bit_bmove;
394 ops->clear = bit_clear;
395 ops->putcs = bit_putcs;
396 ops->clear_margins = bit_clear_margins;
397 ops->cursor = bit_cursor;
398}
399
400EXPORT_SYMBOL(fbcon_set_bitops);
401
402MODULE_AUTHOR("Antonino Daplas <adaplas@pol.net>");
403MODULE_DESCRIPTION("Bit Blitting Operation");
404MODULE_LICENSE("GPL");
405
diff --git a/drivers/video/console/dummycon.c b/drivers/video/console/dummycon.c
new file mode 100644
index 000000000000..1ecda91e5a9c
--- /dev/null
+++ b/drivers/video/console/dummycon.c
@@ -0,0 +1,80 @@
1/*
2 * linux/drivers/video/dummycon.c -- A dummy console driver
3 *
4 * To be used if there's no other console driver (e.g. for plain VGA text)
5 * available, usually until fbcon takes console over.
6 */
7
8#include <linux/types.h>
9#include <linux/kdev_t.h>
10#include <linux/tty.h>
11#include <linux/console.h>
12#include <linux/vt_kern.h>
13#include <linux/init.h>
14#include <linux/module.h>
15
16/*
17 * Dummy console driver
18 */
19
20#if defined(__arm__)
21#define DUMMY_COLUMNS ORIG_VIDEO_COLS
22#define DUMMY_ROWS ORIG_VIDEO_LINES
23#elif defined(__hppa__)
24/* set by Kconfig. Use 80x25 for 640x480 and 160x64 for 1280x1024 */
25#include <linux/config.h>
26#define DUMMY_COLUMNS CONFIG_DUMMY_CONSOLE_COLUMNS
27#define DUMMY_ROWS CONFIG_DUMMY_CONSOLE_ROWS
28#else
29#define DUMMY_COLUMNS 80
30#define DUMMY_ROWS 25
31#endif
32
33static const char *dummycon_startup(void)
34{
35 return "dummy device";
36}
37
38static void dummycon_init(struct vc_data *vc, int init)
39{
40 vc->vc_can_do_color = 1;
41 if (init) {
42 vc->vc_cols = DUMMY_COLUMNS;
43 vc->vc_rows = DUMMY_ROWS;
44 } else
45 vc_resize(vc, DUMMY_COLUMNS, DUMMY_ROWS);
46}
47
48static int dummycon_dummy(void)
49{
50 return 0;
51}
52
53#define DUMMY (void *)dummycon_dummy
54
55/*
56 * The console `switch' structure for the dummy console
57 *
58 * Most of the operations are dummies.
59 */
60
61const struct consw dummy_con = {
62 .owner = THIS_MODULE,
63 .con_startup = dummycon_startup,
64 .con_init = dummycon_init,
65 .con_deinit = DUMMY,
66 .con_clear = DUMMY,
67 .con_putc = DUMMY,
68 .con_putcs = DUMMY,
69 .con_cursor = DUMMY,
70 .con_scroll = DUMMY,
71 .con_bmove = DUMMY,
72 .con_switch = DUMMY,
73 .con_blank = DUMMY,
74 .con_font_set = DUMMY,
75 .con_font_get = DUMMY,
76 .con_font_default = DUMMY,
77 .con_font_copy = DUMMY,
78 .con_set_palette = DUMMY,
79 .con_scrolldelta = DUMMY,
80};
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
new file mode 100644
index 000000000000..59e3b4b4e7e3
--- /dev/null
+++ b/drivers/video/console/fbcon.c
@@ -0,0 +1,2814 @@
1/*
2 * linux/drivers/video/fbcon.c -- Low level frame buffer based console driver
3 *
4 * Copyright (C) 1995 Geert Uytterhoeven
5 *
6 *
7 * This file is based on the original Amiga console driver (amicon.c):
8 *
9 * Copyright (C) 1993 Hamish Macdonald
10 * Greg Harp
11 * Copyright (C) 1994 David Carter [carter@compsci.bristol.ac.uk]
12 *
13 * with work by William Rucklidge (wjr@cs.cornell.edu)
14 * Geert Uytterhoeven
15 * Jes Sorensen (jds@kom.auc.dk)
16 * Martin Apel
17 *
18 * and on the original Atari console driver (atacon.c):
19 *
20 * Copyright (C) 1993 Bjoern Brauel
21 * Roman Hodek
22 *
23 * with work by Guenther Kelleter
24 * Martin Schaller
25 * Andreas Schwab
26 *
27 * Hardware cursor support added by Emmanuel Marty (core@ggi-project.org)
28 * Smart redraw scrolling, arbitrary font width support, 512char font support
29 * and software scrollback added by
30 * Jakub Jelinek (jj@ultra.linux.cz)
31 *
32 * Random hacking by Martin Mares <mj@ucw.cz>
33 *
34 * 2001 - Documented with DocBook
35 * - Brad Douglas <brad@neruo.com>
36 *
37 * The low level operations for the various display memory organizations are
38 * now in separate source files.
39 *
40 * Currently the following organizations are supported:
41 *
42 * o afb Amiga bitplanes
43 * o cfb{2,4,8,16,24,32} Packed pixels
44 * o ilbm Amiga interleaved bitplanes
45 * o iplan2p[248] Atari interleaved bitplanes
46 * o mfb Monochrome
47 * o vga VGA characters/attributes
48 *
49 * To do:
50 *
51 * - Implement 16 plane mode (iplan2p16)
52 *
53 *
54 * This file is subject to the terms and conditions of the GNU General Public
55 * License. See the file COPYING in the main directory of this archive for
56 * more details.
57 */
58
59#undef FBCONDEBUG
60
61#include <linux/config.h>
62#include <linux/module.h>
63#include <linux/types.h>
64#include <linux/sched.h>
65#include <linux/fs.h>
66#include <linux/kernel.h>
67#include <linux/delay.h> /* MSch: for IRQ probe */
68#include <linux/tty.h>
69#include <linux/console.h>
70#include <linux/string.h>
71#include <linux/kd.h>
72#include <linux/slab.h>
73#include <linux/fb.h>
74#include <linux/vt_kern.h>
75#include <linux/selection.h>
76#include <linux/font.h>
77#include <linux/smp.h>
78#include <linux/init.h>
79#include <linux/interrupt.h>
80#include <linux/crc32.h> /* For counting font checksums */
81#include <asm/irq.h>
82#include <asm/system.h>
83#include <asm/uaccess.h>
84#ifdef CONFIG_ATARI
85#include <asm/atariints.h>
86#endif
87#ifdef CONFIG_MAC
88#include <asm/macints.h>
89#endif
90#if defined(__mc68000__) || defined(CONFIG_APUS)
91#include <asm/machdep.h>
92#include <asm/setup.h>
93#endif
94
95#include "fbcon.h"
96
97#ifdef FBCONDEBUG
98# define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , ## args)
99#else
100# define DPRINTK(fmt, args...)
101#endif
102
103enum {
104 FBCON_LOGO_CANSHOW = -1, /* the logo can be shown */
105 FBCON_LOGO_DRAW = -2, /* draw the logo to a console */
106 FBCON_LOGO_DONTSHOW = -3 /* do not show the logo */
107};
108
109struct display fb_display[MAX_NR_CONSOLES];
110static signed char con2fb_map[MAX_NR_CONSOLES];
111static signed char con2fb_map_boot[MAX_NR_CONSOLES];
112static int logo_height;
113static int logo_lines;
114/* logo_shown is an index to vc_cons when >= 0; otherwise follows FBCON_LOGO
115 enums. */
116static int logo_shown = FBCON_LOGO_CANSHOW;
117/* Software scrollback */
118static int fbcon_softback_size = 32768;
119static unsigned long softback_buf, softback_curr;
120static unsigned long softback_in;
121static unsigned long softback_top, softback_end;
122static int softback_lines;
123/* console mappings */
124static int first_fb_vc;
125static int last_fb_vc = MAX_NR_CONSOLES - 1;
126static int fbcon_is_default = 1;
127/* font data */
128static char fontname[40];
129
130/* current fb_info */
131static int info_idx = -1;
132
133static const struct consw fb_con;
134
135#define CM_SOFTBACK (8)
136
137#define advance_row(p, delta) (unsigned short *)((unsigned long)(p) + (delta) * vc->vc_size_row)
138
139static void fbcon_free_font(struct display *);
140static int fbcon_set_origin(struct vc_data *);
141
142#define CURSOR_DRAW_DELAY (1)
143
144/* # VBL ints between cursor state changes */
145#define ARM_CURSOR_BLINK_RATE (10)
146#define ATARI_CURSOR_BLINK_RATE (42)
147#define MAC_CURSOR_BLINK_RATE (32)
148#define DEFAULT_CURSOR_BLINK_RATE (20)
149
150static int vbl_cursor_cnt;
151
152#define divides(a, b) ((!(a) || (b)%(a)) ? 0 : 1)
153
154/*
155 * Interface used by the world
156 */
157
158static const char *fbcon_startup(void);
159static void fbcon_init(struct vc_data *vc, int init);
160static void fbcon_deinit(struct vc_data *vc);
161static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height,
162 int width);
163static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos);
164static void fbcon_putcs(struct vc_data *vc, const unsigned short *s,
165 int count, int ypos, int xpos);
166static void fbcon_clear_margins(struct vc_data *vc, int bottom_only);
167static void fbcon_cursor(struct vc_data *vc, int mode);
168static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir,
169 int count);
170static void fbcon_bmove(struct vc_data *vc, int sy, int sx, int dy, int dx,
171 int height, int width);
172static int fbcon_switch(struct vc_data *vc);
173static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch);
174static int fbcon_set_palette(struct vc_data *vc, unsigned char *table);
175static int fbcon_scrolldelta(struct vc_data *vc, int lines);
176
177/*
178 * Internal routines
179 */
180static __inline__ int real_y(struct display *p, int ypos);
181static __inline__ void ywrap_up(struct vc_data *vc, int count);
182static __inline__ void ywrap_down(struct vc_data *vc, int count);
183static __inline__ void ypan_up(struct vc_data *vc, int count);
184static __inline__ void ypan_down(struct vc_data *vc, int count);
185static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int sx,
186 int dy, int dx, int height, int width, u_int y_break);
187static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
188 struct vc_data *vc);
189static void fbcon_preset_disp(struct fb_info *info, struct fb_var_screeninfo *var,
190 int unit);
191static void fbcon_redraw_move(struct vc_data *vc, struct display *p,
192 int line, int count, int dy);
193
194#ifdef CONFIG_MAC
195/*
196 * On the Macintoy, there may or may not be a working VBL int. We need to probe
197 */
198static int vbl_detected;
199
200static irqreturn_t fb_vbl_detect(int irq, void *dummy, struct pt_regs *fp)
201{
202 vbl_detected++;
203 return IRQ_HANDLED;
204}
205#endif
206
207static inline int fbcon_is_inactive(struct vc_data *vc, struct fb_info *info)
208{
209 struct fbcon_ops *ops = info->fbcon_par;
210
211 return (info->state != FBINFO_STATE_RUNNING ||
212 vc->vc_mode != KD_TEXT || ops->graphics);
213}
214
215static inline int get_color(struct vc_data *vc, struct fb_info *info,
216 u16 c, int is_fg)
217{
218 int depth = fb_get_color_depth(&info->var);
219 int color = 0;
220
221 if (console_blanked) {
222 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
223
224 c = vc->vc_video_erase_char & charmask;
225 }
226
227 if (depth != 1)
228 color = (is_fg) ? attr_fgcol((vc->vc_hi_font_mask) ? 9 : 8, c)
229 : attr_bgcol((vc->vc_hi_font_mask) ? 13 : 12, c);
230
231 switch (depth) {
232 case 1:
233 {
234 /* 0 or 1 */
235 int fg = (info->fix.visual != FB_VISUAL_MONO01) ? 1 : 0;
236 int bg = (info->fix.visual != FB_VISUAL_MONO01) ? 0 : 1;
237
238 if (console_blanked)
239 fg = bg;
240
241 color = (is_fg) ? fg : bg;
242 break;
243 }
244 case 2:
245 /*
246 * Scale down 16-colors to 4 colors. Default 4-color palette
247 * is grayscale.
248 */
249 color /= 4;
250 break;
251 case 3:
252 /*
253 * Last 8 entries of default 16-color palette is a more intense
254 * version of the first 8 (i.e., same chrominance, different
255 * luminance).
256 */
257 color &= 7;
258 break;
259 }
260
261
262 return color;
263}
264
265static void fb_flashcursor(void *private)
266{
267 struct fb_info *info = private;
268 struct fbcon_ops *ops = info->fbcon_par;
269 struct display *p;
270 struct vc_data *vc = NULL;
271 int c;
272 int mode;
273
274 if (ops->currcon != -1)
275 vc = vc_cons[ops->currcon].d;
276
277 if (!vc || !CON_IS_VISIBLE(vc) ||
278 fbcon_is_inactive(vc, info) ||
279 registered_fb[con2fb_map[vc->vc_num]] != info)
280 return;
281 acquire_console_sem();
282 p = &fb_display[vc->vc_num];
283 c = scr_readw((u16 *) vc->vc_pos);
284 mode = (!ops->cursor_flash || ops->cursor_state.enable) ?
285 CM_ERASE : CM_DRAW;
286 ops->cursor(vc, info, p, mode, softback_lines, get_color(vc, info, c, 1),
287 get_color(vc, info, c, 0));
288 release_console_sem();
289}
290
291#if (defined(__arm__) && defined(IRQ_VSYNCPULSE)) || defined(CONFIG_ATARI) || defined(CONFIG_MAC)
292static int cursor_blink_rate;
293static irqreturn_t fb_vbl_handler(int irq, void *dev_id, struct pt_regs *fp)
294{
295 struct fb_info *info = dev_id;
296
297 if (vbl_cursor_cnt && --vbl_cursor_cnt == 0) {
298 schedule_work(&info->queue);
299 vbl_cursor_cnt = cursor_blink_rate;
300 }
301 return IRQ_HANDLED;
302}
303#endif
304
305static void cursor_timer_handler(unsigned long dev_addr)
306{
307 struct fb_info *info = (struct fb_info *) dev_addr;
308 struct fbcon_ops *ops = info->fbcon_par;
309
310 schedule_work(&info->queue);
311 mod_timer(&ops->cursor_timer, jiffies + HZ/5);
312}
313
314#ifndef MODULE
315static int __init fb_console_setup(char *this_opt)
316{
317 char *options;
318 int i, j;
319
320 if (!this_opt || !*this_opt)
321 return 0;
322
323 while ((options = strsep(&this_opt, ",")) != NULL) {
324 if (!strncmp(options, "font:", 5))
325 strcpy(fontname, options + 5);
326
327 if (!strncmp(options, "scrollback:", 11)) {
328 options += 11;
329 if (*options) {
330 fbcon_softback_size = simple_strtoul(options, &options, 0);
331 if (*options == 'k' || *options == 'K') {
332 fbcon_softback_size *= 1024;
333 options++;
334 }
335 if (*options != ',')
336 return 0;
337 options++;
338 } else
339 return 0;
340 }
341
342 if (!strncmp(options, "map:", 4)) {
343 options += 4;
344 if (*options)
345 for (i = 0, j = 0; i < MAX_NR_CONSOLES; i++) {
346 if (!options[j])
347 j = 0;
348 con2fb_map_boot[i] =
349 (options[j++]-'0') % FB_MAX;
350 }
351 return 0;
352 }
353
354 if (!strncmp(options, "vc:", 3)) {
355 options += 3;
356 if (*options)
357 first_fb_vc = simple_strtoul(options, &options, 10) - 1;
358 if (first_fb_vc < 0)
359 first_fb_vc = 0;
360 if (*options++ == '-')
361 last_fb_vc = simple_strtoul(options, &options, 10) - 1;
362 fbcon_is_default = 0;
363 }
364 }
365 return 0;
366}
367
368__setup("fbcon=", fb_console_setup);
369#endif
370
371static int search_fb_in_map(int idx)
372{
373 int i, retval = 0;
374
375 for (i = 0; i < MAX_NR_CONSOLES; i++) {
376 if (con2fb_map[i] == idx)
377 retval = 1;
378 }
379 return retval;
380}
381
382static int search_for_mapped_con(void)
383{
384 int i, retval = 0;
385
386 for (i = 0; i < MAX_NR_CONSOLES; i++) {
387 if (con2fb_map[i] != -1)
388 retval = 1;
389 }
390 return retval;
391}
392
393static int fbcon_takeover(int show_logo)
394{
395 int err, i;
396
397 if (!num_registered_fb)
398 return -ENODEV;
399
400 if (!show_logo)
401 logo_shown = FBCON_LOGO_DONTSHOW;
402
403 for (i = first_fb_vc; i <= last_fb_vc; i++)
404 con2fb_map[i] = info_idx;
405
406 err = take_over_console(&fb_con, first_fb_vc, last_fb_vc,
407 fbcon_is_default);
408 if (err) {
409 for (i = first_fb_vc; i <= last_fb_vc; i++) {
410 con2fb_map[i] = -1;
411 }
412 info_idx = -1;
413 }
414
415 return err;
416}
417
418static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
419 int cols, int rows, int new_cols, int new_rows)
420{
421 /* Need to make room for the logo */
422 int cnt, erase = vc->vc_video_erase_char, step;
423 unsigned short *save = NULL, *r, *q;
424
425 /*
426 * remove underline attribute from erase character
427 * if black and white framebuffer.
428 */
429 if (fb_get_color_depth(&info->var) == 1)
430 erase &= ~0x400;
431 logo_height = fb_prepare_logo(info);
432 logo_lines = (logo_height + vc->vc_font.height - 1) /
433 vc->vc_font.height;
434 q = (unsigned short *) (vc->vc_origin +
435 vc->vc_size_row * rows);
436 step = logo_lines * cols;
437 for (r = q - logo_lines * cols; r < q; r++)
438 if (scr_readw(r) != vc->vc_video_erase_char)
439 break;
440 if (r != q && new_rows >= rows + logo_lines) {
441 save = kmalloc(logo_lines * new_cols * 2, GFP_KERNEL);
442 if (save) {
443 int i = cols < new_cols ? cols : new_cols;
444 scr_memsetw(save, erase, logo_lines * new_cols * 2);
445 r = q - step;
446 for (cnt = 0; cnt < logo_lines; cnt++, r += i)
447 scr_memcpyw(save + cnt * new_cols, r, 2 * i);
448 r = q;
449 }
450 }
451 if (r == q) {
452 /* We can scroll screen down */
453 r = q - step - cols;
454 for (cnt = rows - logo_lines; cnt > 0; cnt--) {
455 scr_memcpyw(r + step, r, vc->vc_size_row);
456 r -= cols;
457 }
458 if (!save) {
459 vc->vc_y += logo_lines;
460 vc->vc_pos += logo_lines * vc->vc_size_row;
461 }
462 }
463 scr_memsetw((unsigned short *) vc->vc_origin,
464 erase,
465 vc->vc_size_row * logo_lines);
466
467 if (CON_IS_VISIBLE(vc) && vc->vc_mode == KD_TEXT) {
468 fbcon_clear_margins(vc, 0);
469 update_screen(vc);
470 }
471
472 if (save) {
473 q = (unsigned short *) (vc->vc_origin +
474 vc->vc_size_row *
475 rows);
476 scr_memcpyw(q, save, logo_lines * new_cols * 2);
477 vc->vc_y += logo_lines;
478 vc->vc_pos += logo_lines * vc->vc_size_row;
479 kfree(save);
480 }
481
482 if (logo_lines > vc->vc_bottom) {
483 logo_shown = FBCON_LOGO_CANSHOW;
484 printk(KERN_INFO
485 "fbcon_init: disable boot-logo (boot-logo bigger than screen).\n");
486 } else if (logo_shown != FBCON_LOGO_DONTSHOW) {
487 logo_shown = FBCON_LOGO_DRAW;
488 vc->vc_top = logo_lines;
489 }
490}
491
492#ifdef CONFIG_FB_TILEBLITTING
493static void set_blitting_type(struct vc_data *vc, struct fb_info *info,
494 struct display *p)
495{
496 struct fbcon_ops *ops = info->fbcon_par;
497
498 if ((info->flags & FBINFO_MISC_TILEBLITTING))
499 fbcon_set_tileops(vc, info, p, ops);
500 else
501 fbcon_set_bitops(ops);
502}
503#else
504static void set_blitting_type(struct vc_data *vc, struct fb_info *info,
505 struct display *p)
506{
507 struct fbcon_ops *ops = info->fbcon_par;
508
509 info->flags &= ~FBINFO_MISC_TILEBLITTING;
510 fbcon_set_bitops(ops);
511}
512#endif /* CONFIG_MISC_TILEBLITTING */
513
514
515static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
516 int unit, int oldidx)
517{
518 struct fbcon_ops *ops = NULL;
519 int err = 0;
520
521 if (!try_module_get(info->fbops->owner))
522 err = -ENODEV;
523
524 if (!err && info->fbops->fb_open &&
525 info->fbops->fb_open(info, 0))
526 err = -ENODEV;
527
528 if (!err) {
529 ops = kmalloc(sizeof(struct fbcon_ops), GFP_KERNEL);
530 if (!ops)
531 err = -ENOMEM;
532 }
533
534 if (!err) {
535 memset(ops, 0, sizeof(struct fbcon_ops));
536 info->fbcon_par = ops;
537 set_blitting_type(vc, info, NULL);
538 }
539
540 if (err) {
541 con2fb_map[unit] = oldidx;
542 module_put(info->fbops->owner);
543 }
544
545 return err;
546}
547
548static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
549 struct fb_info *newinfo, int unit,
550 int oldidx, int found)
551{
552 struct fbcon_ops *ops = oldinfo->fbcon_par;
553 int err = 0;
554
555 if (oldinfo->fbops->fb_release &&
556 oldinfo->fbops->fb_release(oldinfo, 0)) {
557 con2fb_map[unit] = oldidx;
558 if (!found && newinfo->fbops->fb_release)
559 newinfo->fbops->fb_release(newinfo, 0);
560 if (!found)
561 module_put(newinfo->fbops->owner);
562 err = -ENODEV;
563 }
564
565 if (!err) {
566 if (oldinfo->queue.func == fb_flashcursor)
567 del_timer_sync(&ops->cursor_timer);
568
569 kfree(ops->cursor_state.mask);
570 kfree(ops->cursor_data);
571 kfree(oldinfo->fbcon_par);
572 oldinfo->fbcon_par = NULL;
573 module_put(oldinfo->fbops->owner);
574 }
575
576 return err;
577}
578
579static void con2fb_init_newinfo(struct fb_info *info)
580{
581 if (!info->queue.func || info->queue.func == fb_flashcursor) {
582 struct fbcon_ops *ops = info->fbcon_par;
583
584 if (!info->queue.func)
585 INIT_WORK(&info->queue, fb_flashcursor, info);
586
587 init_timer(&ops->cursor_timer);
588 ops->cursor_timer.function = cursor_timer_handler;
589 ops->cursor_timer.expires = jiffies + HZ / 5;
590 ops->cursor_timer.data = (unsigned long ) info;
591 add_timer(&ops->cursor_timer);
592 }
593}
594
595static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
596 int unit, int show_logo)
597{
598 struct fbcon_ops *ops = info->fbcon_par;
599
600 ops->currcon = fg_console;
601
602 if (info->fbops->fb_set_par && !(ops->flags & FBCON_FLAGS_INIT))
603 info->fbops->fb_set_par(info);
604
605 ops->flags |= FBCON_FLAGS_INIT;
606 ops->graphics = 0;
607
608 if (vc)
609 fbcon_set_disp(info, &info->var, vc);
610 else
611 fbcon_preset_disp(info, &info->var, unit);
612
613 if (show_logo) {
614 struct vc_data *fg_vc = vc_cons[fg_console].d;
615 struct fb_info *fg_info =
616 registered_fb[con2fb_map[fg_console]];
617
618 fbcon_prepare_logo(fg_vc, fg_info, fg_vc->vc_cols,
619 fg_vc->vc_rows, fg_vc->vc_cols,
620 fg_vc->vc_rows);
621 }
622
623 update_screen(vc_cons[fg_console].d);
624}
625
626/**
627 * set_con2fb_map - map console to frame buffer device
628 * @unit: virtual console number to map
629 * @newidx: frame buffer index to map virtual console to
630 * @user: user request
631 *
632 * Maps a virtual console @unit to a frame buffer device
633 * @newidx.
634 */
635static int set_con2fb_map(int unit, int newidx, int user)
636{
637 struct vc_data *vc = vc_cons[unit].d;
638 int oldidx = con2fb_map[unit];
639 struct fb_info *info = registered_fb[newidx];
640 struct fb_info *oldinfo = NULL;
641 int found, err = 0;
642
643 if (oldidx == newidx)
644 return 0;
645
646 if (!info)
647 err = -EINVAL;
648
649 if (!err && !search_for_mapped_con()) {
650 info_idx = newidx;
651 return fbcon_takeover(0);
652 }
653
654 if (oldidx != -1)
655 oldinfo = registered_fb[oldidx];
656
657 found = search_fb_in_map(newidx);
658
659 acquire_console_sem();
660 con2fb_map[unit] = newidx;
661 if (!err && !found)
662 err = con2fb_acquire_newinfo(vc, info, unit, oldidx);
663
664
665 /*
666 * If old fb is not mapped to any of the consoles,
667 * fbcon should release it.
668 */
669 if (!err && oldinfo && !search_fb_in_map(oldidx))
670 err = con2fb_release_oldinfo(vc, oldinfo, info, unit, oldidx,
671 found);
672
673 if (!err) {
674 int show_logo = (fg_console == 0 && !user &&
675 logo_shown != FBCON_LOGO_DONTSHOW);
676
677 if (!found)
678 con2fb_init_newinfo(info);
679 con2fb_map_boot[unit] = newidx;
680 con2fb_init_display(vc, info, unit, show_logo);
681 }
682
683 release_console_sem();
684 return err;
685}
686
687/*
688 * Low Level Operations
689 */
690/* NOTE: fbcon cannot be __init: it may be called from take_over_console later */
691static int var_to_display(struct display *disp,
692 struct fb_var_screeninfo *var,
693 struct fb_info *info)
694{
695 disp->xres_virtual = var->xres_virtual;
696 disp->yres_virtual = var->yres_virtual;
697 disp->bits_per_pixel = var->bits_per_pixel;
698 disp->grayscale = var->grayscale;
699 disp->nonstd = var->nonstd;
700 disp->accel_flags = var->accel_flags;
701 disp->height = var->height;
702 disp->width = var->width;
703 disp->red = var->red;
704 disp->green = var->green;
705 disp->blue = var->blue;
706 disp->transp = var->transp;
707 disp->rotate = var->rotate;
708 disp->mode = fb_match_mode(var, &info->modelist);
709 if (disp->mode == NULL)
710 /* This should not happen */
711 return -EINVAL;
712 return 0;
713}
714
715static void display_to_var(struct fb_var_screeninfo *var,
716 struct display *disp)
717{
718 fb_videomode_to_var(var, disp->mode);
719 var->xres_virtual = disp->xres_virtual;
720 var->yres_virtual = disp->yres_virtual;
721 var->bits_per_pixel = disp->bits_per_pixel;
722 var->grayscale = disp->grayscale;
723 var->nonstd = disp->nonstd;
724 var->accel_flags = disp->accel_flags;
725 var->height = disp->height;
726 var->width = disp->width;
727 var->red = disp->red;
728 var->green = disp->green;
729 var->blue = disp->blue;
730 var->transp = disp->transp;
731 var->rotate = disp->rotate;
732}
733
734static const char *fbcon_startup(void)
735{
736 const char *display_desc = "frame buffer device";
737 struct display *p = &fb_display[fg_console];
738 struct vc_data *vc = vc_cons[fg_console].d;
739 struct font_desc *font = NULL;
740 struct module *owner;
741 struct fb_info *info = NULL;
742 struct fbcon_ops *ops;
743 int rows, cols;
744 int irqres;
745
746 irqres = 1;
747 /*
748 * If num_registered_fb is zero, this is a call for the dummy part.
749 * The frame buffer devices weren't initialized yet.
750 */
751 if (!num_registered_fb || info_idx == -1)
752 return display_desc;
753 /*
754 * Instead of blindly using registered_fb[0], we use info_idx, set by
755 * fb_console_init();
756 */
757 info = registered_fb[info_idx];
758 if (!info)
759 return NULL;
760
761 owner = info->fbops->owner;
762 if (!try_module_get(owner))
763 return NULL;
764 if (info->fbops->fb_open && info->fbops->fb_open(info, 0)) {
765 module_put(owner);
766 return NULL;
767 }
768
769 ops = kmalloc(sizeof(struct fbcon_ops), GFP_KERNEL);
770 if (!ops) {
771 module_put(owner);
772 return NULL;
773 }
774
775 memset(ops, 0, sizeof(struct fbcon_ops));
776 ops->currcon = -1;
777 ops->graphics = 1;
778 info->fbcon_par = ops;
779 set_blitting_type(vc, info, NULL);
780
781 if (info->fix.type != FB_TYPE_TEXT) {
782 if (fbcon_softback_size) {
783 if (!softback_buf) {
784 softback_buf =
785 (unsigned long)
786 kmalloc(fbcon_softback_size,
787 GFP_KERNEL);
788 if (!softback_buf) {
789 fbcon_softback_size = 0;
790 softback_top = 0;
791 }
792 }
793 } else {
794 if (softback_buf) {
795 kfree((void *) softback_buf);
796 softback_buf = 0;
797 softback_top = 0;
798 }
799 }
800 if (softback_buf)
801 softback_in = softback_top = softback_curr =
802 softback_buf;
803 softback_lines = 0;
804 }
805
806 /* Setup default font */
807 if (!p->fontdata) {
808 if (!fontname[0] || !(font = find_font(fontname)))
809 font = get_default_font(info->var.xres,
810 info->var.yres);
811 vc->vc_font.width = font->width;
812 vc->vc_font.height = font->height;
813 vc->vc_font.data = p->fontdata = font->data;
814 vc->vc_font.charcount = 256; /* FIXME Need to support more fonts */
815 }
816
817 cols = info->var.xres / vc->vc_font.width;
818 rows = info->var.yres / vc->vc_font.height;
819 vc_resize(vc, cols, rows);
820
821 DPRINTK("mode: %s\n", info->fix.id);
822 DPRINTK("visual: %d\n", info->fix.visual);
823 DPRINTK("res: %dx%d-%d\n", info->var.xres,
824 info->var.yres,
825 info->var.bits_per_pixel);
826
827#ifdef CONFIG_ATARI
828 if (MACH_IS_ATARI) {
829 cursor_blink_rate = ATARI_CURSOR_BLINK_RATE;
830 irqres =
831 request_irq(IRQ_AUTO_4, fb_vbl_handler,
832 IRQ_TYPE_PRIO, "framebuffer vbl",
833 info);
834 }
835#endif /* CONFIG_ATARI */
836
837#ifdef CONFIG_MAC
838 /*
839 * On a Macintoy, the VBL interrupt may or may not be active.
840 * As interrupt based cursor is more reliable and race free, we
841 * probe for VBL interrupts.
842 */
843 if (MACH_IS_MAC) {
844 int ct = 0;
845 /*
846 * Probe for VBL: set temp. handler ...
847 */
848 irqres = request_irq(IRQ_MAC_VBL, fb_vbl_detect, 0,
849 "framebuffer vbl", info);
850 vbl_detected = 0;
851
852 /*
853 * ... and spin for 20 ms ...
854 */
855 while (!vbl_detected && ++ct < 1000)
856 udelay(20);
857
858 if (ct == 1000)
859 printk
860 ("fbcon_startup: No VBL detected, using timer based cursor.\n");
861
862 free_irq(IRQ_MAC_VBL, fb_vbl_detect);
863
864 if (vbl_detected) {
865 /*
866 * interrupt based cursor ok
867 */
868 cursor_blink_rate = MAC_CURSOR_BLINK_RATE;
869 irqres =
870 request_irq(IRQ_MAC_VBL, fb_vbl_handler, 0,
871 "framebuffer vbl", info);
872 } else {
873 /*
874 * VBL not detected: fall through, use timer based cursor
875 */
876 irqres = 1;
877 }
878 }
879#endif /* CONFIG_MAC */
880
881#if defined(__arm__) && defined(IRQ_VSYNCPULSE)
882 cursor_blink_rate = ARM_CURSOR_BLINK_RATE;
883 irqres = request_irq(IRQ_VSYNCPULSE, fb_vbl_handler, SA_SHIRQ,
884 "framebuffer vbl", info);
885#endif
886 /* Initialize the work queue. If the driver provides its
887 * own work queue this means it will use something besides
888 * default timer to flash the cursor. */
889 if (!info->queue.func) {
890 INIT_WORK(&info->queue, fb_flashcursor, info);
891
892 init_timer(&ops->cursor_timer);
893 ops->cursor_timer.function = cursor_timer_handler;
894 ops->cursor_timer.expires = jiffies + HZ / 5;
895 ops->cursor_timer.data = (unsigned long ) info;
896 add_timer(&ops->cursor_timer);
897 }
898 return display_desc;
899}
900
901static void fbcon_init(struct vc_data *vc, int init)
902{
903 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
904 struct fbcon_ops *ops;
905 struct vc_data **default_mode = vc->vc_display_fg;
906 struct vc_data *svc = *default_mode;
907 struct display *t, *p = &fb_display[vc->vc_num];
908 int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256;
909 int cap = info->flags;
910
911 if (info_idx == -1 || info == NULL)
912 return;
913 if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
914 (info->fix.type == FB_TYPE_TEXT))
915 logo = 0;
916
917 info->var.xoffset = info->var.yoffset = p->yscroll = 0; /* reset wrap/pan */
918
919 if (var_to_display(p, &info->var, info))
920 return;
921
922 /* If we are not the first console on this
923 fb, copy the font from that console */
924 t = &fb_display[svc->vc_num];
925 if (!vc->vc_font.data) {
926 vc->vc_font.data = p->fontdata = t->fontdata;
927 vc->vc_font.width = (*default_mode)->vc_font.width;
928 vc->vc_font.height = (*default_mode)->vc_font.height;
929 p->userfont = t->userfont;
930 if (p->userfont)
931 REFCOUNT(p->fontdata)++;
932 }
933 if (p->userfont)
934 charcnt = FNTCHARCNT(p->fontdata);
935 vc->vc_can_do_color = (fb_get_color_depth(&info->var) != 1);
936 vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
937 if (charcnt == 256) {
938 vc->vc_hi_font_mask = 0;
939 } else {
940 vc->vc_hi_font_mask = 0x100;
941 if (vc->vc_can_do_color)
942 vc->vc_complement_mask <<= 1;
943 }
944
945 if (!*svc->vc_uni_pagedir_loc)
946 con_set_default_unimap(svc);
947 if (!*vc->vc_uni_pagedir_loc)
948 con_copy_unimap(vc, svc);
949
950 cols = vc->vc_cols;
951 rows = vc->vc_rows;
952 new_cols = info->var.xres / vc->vc_font.width;
953 new_rows = info->var.yres / vc->vc_font.height;
954 vc_resize(vc, new_cols, new_rows);
955
956 ops = info->fbcon_par;
957 /*
958 * We must always set the mode. The mode of the previous console
959 * driver could be in the same resolution but we are using different
960 * hardware so we have to initialize the hardware.
961 *
962 * We need to do it in fbcon_init() to prevent screen corruption.
963 */
964 if (CON_IS_VISIBLE(vc)) {
965 if (info->fbops->fb_set_par &&
966 !(ops->flags & FBCON_FLAGS_INIT))
967 info->fbops->fb_set_par(info);
968 ops->flags |= FBCON_FLAGS_INIT;
969 }
970
971 ops->graphics = 0;
972
973 if ((cap & FBINFO_HWACCEL_COPYAREA) &&
974 !(cap & FBINFO_HWACCEL_DISABLED))
975 p->scrollmode = SCROLL_MOVE;
976 else /* default to something safe */
977 p->scrollmode = SCROLL_REDRAW;
978
979 /*
980 * ++guenther: console.c:vc_allocate() relies on initializing
981 * vc_{cols,rows}, but we must not set those if we are only
982 * resizing the console.
983 */
984 if (!init) {
985 vc->vc_cols = new_cols;
986 vc->vc_rows = new_rows;
987 }
988
989 if (logo)
990 fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);
991
992 if (vc == svc && softback_buf) {
993 int l = fbcon_softback_size / vc->vc_size_row;
994 if (l > 5)
995 softback_end = softback_buf + l * vc->vc_size_row;
996 else {
997 /* Smaller scrollback makes no sense, and 0 would screw
998 the operation totally */
999 softback_top = 0;
1000 }
1001 }
1002}
1003
1004static void fbcon_deinit(struct vc_data *vc)
1005{
1006 struct display *p = &fb_display[vc->vc_num];
1007
1008 if (info_idx != -1)
1009 return;
1010 fbcon_free_font(p);
1011}
1012
1013/* ====================================================================== */
1014
1015/* fbcon_XXX routines - interface used by the world
1016 *
1017 * This system is now divided into two levels because of complications
1018 * caused by hardware scrolling. Top level functions:
1019 *
1020 * fbcon_bmove(), fbcon_clear(), fbcon_putc(), fbcon_clear_margins()
1021 *
1022 * handles y values in range [0, scr_height-1] that correspond to real
1023 * screen positions. y_wrap shift means that first line of bitmap may be
1024 * anywhere on this display. These functions convert lineoffsets to
1025 * bitmap offsets and deal with the wrap-around case by splitting blits.
1026 *
1027 * fbcon_bmove_physical_8() -- These functions fast implementations
1028 * fbcon_clear_physical_8() -- of original fbcon_XXX fns.
1029 * fbcon_putc_physical_8() -- (font width != 8) may be added later
1030 *
1031 * WARNING:
1032 *
1033 * At the moment fbcon_putc() cannot blit across vertical wrap boundary
1034 * Implies should only really hardware scroll in rows. Only reason for
1035 * restriction is simplicity & efficiency at the moment.
1036 */
1037
1038static __inline__ int real_y(struct display *p, int ypos)
1039{
1040 int rows = p->vrows;
1041
1042 ypos += p->yscroll;
1043 return ypos < rows ? ypos : ypos - rows;
1044}
1045
1046
1047static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height,
1048 int width)
1049{
1050 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1051 struct fbcon_ops *ops = info->fbcon_par;
1052
1053 struct display *p = &fb_display[vc->vc_num];
1054 u_int y_break;
1055
1056 if (fbcon_is_inactive(vc, info))
1057 return;
1058
1059 if (!height || !width)
1060 return;
1061
1062 /* Split blits that cross physical y_wrap boundary */
1063
1064 y_break = p->vrows - p->yscroll;
1065 if (sy < y_break && sy + height - 1 >= y_break) {
1066 u_int b = y_break - sy;
1067 ops->clear(vc, info, real_y(p, sy), sx, b, width);
1068 ops->clear(vc, info, real_y(p, sy + b), sx, height - b,
1069 width);
1070 } else
1071 ops->clear(vc, info, real_y(p, sy), sx, height, width);
1072}
1073
1074static void fbcon_putcs(struct vc_data *vc, const unsigned short *s,
1075 int count, int ypos, int xpos)
1076{
1077 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1078 struct display *p = &fb_display[vc->vc_num];
1079 struct fbcon_ops *ops = info->fbcon_par;
1080
1081 if (!fbcon_is_inactive(vc, info))
1082 ops->putcs(vc, info, s, count, real_y(p, ypos), xpos,
1083 get_color(vc, info, scr_readw(s), 1),
1084 get_color(vc, info, scr_readw(s), 0));
1085}
1086
1087static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos)
1088{
1089 unsigned short chr;
1090
1091 scr_writew(c, &chr);
1092 fbcon_putcs(vc, &chr, 1, ypos, xpos);
1093}
1094
1095static void fbcon_clear_margins(struct vc_data *vc, int bottom_only)
1096{
1097 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1098 struct fbcon_ops *ops = info->fbcon_par;
1099
1100 if (!fbcon_is_inactive(vc, info))
1101 ops->clear_margins(vc, info, bottom_only);
1102}
1103
1104static void fbcon_cursor(struct vc_data *vc, int mode)
1105{
1106 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1107 struct fbcon_ops *ops = info->fbcon_par;
1108 struct display *p = &fb_display[vc->vc_num];
1109 int y;
1110 int c = scr_readw((u16 *) vc->vc_pos);
1111
1112 if (fbcon_is_inactive(vc, info))
1113 return;
1114
1115 ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1;
1116 if (mode & CM_SOFTBACK) {
1117 mode &= ~CM_SOFTBACK;
1118 y = softback_lines;
1119 } else {
1120 if (softback_lines)
1121 fbcon_set_origin(vc);
1122 y = 0;
1123 }
1124
1125 ops->cursor(vc, info, p, mode, y, get_color(vc, info, c, 1),
1126 get_color(vc, info, c, 0));
1127 vbl_cursor_cnt = CURSOR_DRAW_DELAY;
1128}
1129
1130static int scrollback_phys_max = 0;
1131static int scrollback_max = 0;
1132static int scrollback_current = 0;
1133
1134static int update_var(int con, struct fb_info *info)
1135{
1136 if (con == ((struct fbcon_ops *)info->fbcon_par)->currcon)
1137 return fb_pan_display(info, &info->var);
1138 return 0;
1139}
1140
1141/*
1142 * If no vc is existent yet, just set struct display
1143 */
1144static void fbcon_preset_disp(struct fb_info *info, struct fb_var_screeninfo *var,
1145 int unit)
1146{
1147 struct display *p = &fb_display[unit];
1148 struct display *t = &fb_display[fg_console];
1149
1150 var->xoffset = var->yoffset = p->yscroll = 0;
1151 if (var_to_display(p, var, info))
1152 return;
1153
1154 p->fontdata = t->fontdata;
1155 p->userfont = t->userfont;
1156 if (p->userfont)
1157 REFCOUNT(p->fontdata)++;
1158}
1159
1160static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
1161 struct vc_data *vc)
1162{
1163 struct display *p = &fb_display[vc->vc_num], *t;
1164 struct vc_data **default_mode = vc->vc_display_fg;
1165 struct vc_data *svc = *default_mode;
1166 int rows, cols, charcnt = 256;
1167
1168 var->xoffset = var->yoffset = p->yscroll = 0;
1169 if (var_to_display(p, var, info))
1170 return;
1171 t = &fb_display[svc->vc_num];
1172 if (!vc->vc_font.data) {
1173 vc->vc_font.data = p->fontdata = t->fontdata;
1174 vc->vc_font.width = (*default_mode)->vc_font.width;
1175 vc->vc_font.height = (*default_mode)->vc_font.height;
1176 p->userfont = t->userfont;
1177 if (p->userfont)
1178 REFCOUNT(p->fontdata)++;
1179 }
1180 if (p->userfont)
1181 charcnt = FNTCHARCNT(p->fontdata);
1182
1183 vc->vc_can_do_color = (fb_get_color_depth(var) != 1);
1184 vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
1185 if (charcnt == 256) {
1186 vc->vc_hi_font_mask = 0;
1187 } else {
1188 vc->vc_hi_font_mask = 0x100;
1189 if (vc->vc_can_do_color)
1190 vc->vc_complement_mask <<= 1;
1191 }
1192
1193 if (!*svc->vc_uni_pagedir_loc)
1194 con_set_default_unimap(svc);
1195 if (!*vc->vc_uni_pagedir_loc)
1196 con_copy_unimap(vc, svc);
1197
1198 cols = var->xres / vc->vc_font.width;
1199 rows = var->yres / vc->vc_font.height;
1200 vc_resize(vc, cols, rows);
1201 if (CON_IS_VISIBLE(vc)) {
1202 update_screen(vc);
1203 if (softback_buf) {
1204 int l = fbcon_softback_size / vc->vc_size_row;
1205
1206 if (l > 5)
1207 softback_end = softback_buf + l *
1208 vc->vc_size_row;
1209 else {
1210 /* Smaller scrollback makes no sense, and 0
1211 would screw the operation totally */
1212 softback_top = 0;
1213 }
1214 }
1215 }
1216}
1217
1218static __inline__ void ywrap_up(struct vc_data *vc, int count)
1219{
1220 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1221 struct display *p = &fb_display[vc->vc_num];
1222
1223 p->yscroll += count;
1224 if (p->yscroll >= p->vrows) /* Deal with wrap */
1225 p->yscroll -= p->vrows;
1226 info->var.xoffset = 0;
1227 info->var.yoffset = p->yscroll * vc->vc_font.height;
1228 info->var.vmode |= FB_VMODE_YWRAP;
1229 update_var(vc->vc_num, info);
1230 scrollback_max += count;
1231 if (scrollback_max > scrollback_phys_max)
1232 scrollback_max = scrollback_phys_max;
1233 scrollback_current = 0;
1234}
1235
1236static __inline__ void ywrap_down(struct vc_data *vc, int count)
1237{
1238 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1239 struct display *p = &fb_display[vc->vc_num];
1240
1241 p->yscroll -= count;
1242 if (p->yscroll < 0) /* Deal with wrap */
1243 p->yscroll += p->vrows;
1244 info->var.xoffset = 0;
1245 info->var.yoffset = p->yscroll * vc->vc_font.height;
1246 info->var.vmode |= FB_VMODE_YWRAP;
1247 update_var(vc->vc_num, info);
1248 scrollback_max -= count;
1249 if (scrollback_max < 0)
1250 scrollback_max = 0;
1251 scrollback_current = 0;
1252}
1253
1254static __inline__ void ypan_up(struct vc_data *vc, int count)
1255{
1256 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1257 struct display *p = &fb_display[vc->vc_num];
1258 struct fbcon_ops *ops = info->fbcon_par;
1259
1260 p->yscroll += count;
1261 if (p->yscroll > p->vrows - vc->vc_rows) {
1262 ops->bmove(vc, info, p->vrows - vc->vc_rows,
1263 0, 0, 0, vc->vc_rows, vc->vc_cols);
1264 p->yscroll -= p->vrows - vc->vc_rows;
1265 }
1266 info->var.xoffset = 0;
1267 info->var.yoffset = p->yscroll * vc->vc_font.height;
1268 info->var.vmode &= ~FB_VMODE_YWRAP;
1269 update_var(vc->vc_num, info);
1270 fbcon_clear_margins(vc, 1);
1271 scrollback_max += count;
1272 if (scrollback_max > scrollback_phys_max)
1273 scrollback_max = scrollback_phys_max;
1274 scrollback_current = 0;
1275}
1276
1277static __inline__ void ypan_up_redraw(struct vc_data *vc, int t, int count)
1278{
1279 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1280 struct display *p = &fb_display[vc->vc_num];
1281 int redraw = 0;
1282
1283 p->yscroll += count;
1284 if (p->yscroll > p->vrows - vc->vc_rows) {
1285 p->yscroll -= p->vrows - vc->vc_rows;
1286 redraw = 1;
1287 }
1288
1289 info->var.xoffset = 0;
1290 info->var.yoffset = p->yscroll * vc->vc_font.height;
1291 info->var.vmode &= ~FB_VMODE_YWRAP;
1292 if (redraw)
1293 fbcon_redraw_move(vc, p, t + count, vc->vc_rows - count, t);
1294 update_var(vc->vc_num, info);
1295 fbcon_clear_margins(vc, 1);
1296 scrollback_max += count;
1297 if (scrollback_max > scrollback_phys_max)
1298 scrollback_max = scrollback_phys_max;
1299 scrollback_current = 0;
1300}
1301
1302static __inline__ void ypan_down(struct vc_data *vc, int count)
1303{
1304 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1305 struct display *p = &fb_display[vc->vc_num];
1306 struct fbcon_ops *ops = info->fbcon_par;
1307
1308 p->yscroll -= count;
1309 if (p->yscroll < 0) {
1310 ops->bmove(vc, info, 0, 0, p->vrows - vc->vc_rows,
1311 0, vc->vc_rows, vc->vc_cols);
1312 p->yscroll += p->vrows - vc->vc_rows;
1313 }
1314 info->var.xoffset = 0;
1315 info->var.yoffset = p->yscroll * vc->vc_font.height;
1316 info->var.vmode &= ~FB_VMODE_YWRAP;
1317 update_var(vc->vc_num, info);
1318 fbcon_clear_margins(vc, 1);
1319 scrollback_max -= count;
1320 if (scrollback_max < 0)
1321 scrollback_max = 0;
1322 scrollback_current = 0;
1323}
1324
1325static __inline__ void ypan_down_redraw(struct vc_data *vc, int t, int count)
1326{
1327 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1328 struct display *p = &fb_display[vc->vc_num];
1329 int redraw = 0;
1330
1331 p->yscroll -= count;
1332 if (p->yscroll < 0) {
1333 p->yscroll += p->vrows - vc->vc_rows;
1334 redraw = 1;
1335 }
1336 info->var.xoffset = 0;
1337 info->var.yoffset = p->yscroll * vc->vc_font.height;
1338 info->var.vmode &= ~FB_VMODE_YWRAP;
1339 if (redraw)
1340 fbcon_redraw_move(vc, p, t, vc->vc_rows - count, t + count);
1341 update_var(vc->vc_num, info);
1342 fbcon_clear_margins(vc, 1);
1343 scrollback_max -= count;
1344 if (scrollback_max < 0)
1345 scrollback_max = 0;
1346 scrollback_current = 0;
1347}
1348
1349static void fbcon_redraw_softback(struct vc_data *vc, struct display *p,
1350 long delta)
1351{
1352 int count = vc->vc_rows;
1353 unsigned short *d, *s;
1354 unsigned long n;
1355 int line = 0;
1356
1357 d = (u16 *) softback_curr;
1358 if (d == (u16 *) softback_in)
1359 d = (u16 *) vc->vc_origin;
1360 n = softback_curr + delta * vc->vc_size_row;
1361 softback_lines -= delta;
1362 if (delta < 0) {
1363 if (softback_curr < softback_top && n < softback_buf) {
1364 n += softback_end - softback_buf;
1365 if (n < softback_top) {
1366 softback_lines -=
1367 (softback_top - n) / vc->vc_size_row;
1368 n = softback_top;
1369 }
1370 } else if (softback_curr >= softback_top
1371 && n < softback_top) {
1372 softback_lines -=
1373 (softback_top - n) / vc->vc_size_row;
1374 n = softback_top;
1375 }
1376 } else {
1377 if (softback_curr > softback_in && n >= softback_end) {
1378 n += softback_buf - softback_end;
1379 if (n > softback_in) {
1380 n = softback_in;
1381 softback_lines = 0;
1382 }
1383 } else if (softback_curr <= softback_in && n > softback_in) {
1384 n = softback_in;
1385 softback_lines = 0;
1386 }
1387 }
1388 if (n == softback_curr)
1389 return;
1390 softback_curr = n;
1391 s = (u16 *) softback_curr;
1392 if (s == (u16 *) softback_in)
1393 s = (u16 *) vc->vc_origin;
1394 while (count--) {
1395 unsigned short *start;
1396 unsigned short *le;
1397 unsigned short c;
1398 int x = 0;
1399 unsigned short attr = 1;
1400
1401 start = s;
1402 le = advance_row(s, 1);
1403 do {
1404 c = scr_readw(s);
1405 if (attr != (c & 0xff00)) {
1406 attr = c & 0xff00;
1407 if (s > start) {
1408 fbcon_putcs(vc, start, s - start,
1409 line, x);
1410 x += s - start;
1411 start = s;
1412 }
1413 }
1414 if (c == scr_readw(d)) {
1415 if (s > start) {
1416 fbcon_putcs(vc, start, s - start,
1417 line, x);
1418 x += s - start + 1;
1419 start = s + 1;
1420 } else {
1421 x++;
1422 start++;
1423 }
1424 }
1425 s++;
1426 d++;
1427 } while (s < le);
1428 if (s > start)
1429 fbcon_putcs(vc, start, s - start, line, x);
1430 line++;
1431 if (d == (u16 *) softback_end)
1432 d = (u16 *) softback_buf;
1433 if (d == (u16 *) softback_in)
1434 d = (u16 *) vc->vc_origin;
1435 if (s == (u16 *) softback_end)
1436 s = (u16 *) softback_buf;
1437 if (s == (u16 *) softback_in)
1438 s = (u16 *) vc->vc_origin;
1439 }
1440}
1441
1442static void fbcon_redraw_move(struct vc_data *vc, struct display *p,
1443 int line, int count, int dy)
1444{
1445 unsigned short *s = (unsigned short *)
1446 (vc->vc_origin + vc->vc_size_row * line);
1447
1448 while (count--) {
1449 unsigned short *start = s;
1450 unsigned short *le = advance_row(s, 1);
1451 unsigned short c;
1452 int x = 0;
1453 unsigned short attr = 1;
1454
1455 do {
1456 c = scr_readw(s);
1457 if (attr != (c & 0xff00)) {
1458 attr = c & 0xff00;
1459 if (s > start) {
1460 fbcon_putcs(vc, start, s - start,
1461 dy, x);
1462 x += s - start;
1463 start = s;
1464 }
1465 }
1466 console_conditional_schedule();
1467 s++;
1468 } while (s < le);
1469 if (s > start)
1470 fbcon_putcs(vc, start, s - start, dy, x);
1471 console_conditional_schedule();
1472 dy++;
1473 }
1474}
1475
1476static void fbcon_redraw(struct vc_data *vc, struct display *p,
1477 int line, int count, int offset)
1478{
1479 unsigned short *d = (unsigned short *)
1480 (vc->vc_origin + vc->vc_size_row * line);
1481 unsigned short *s = d + offset;
1482
1483 while (count--) {
1484 unsigned short *start = s;
1485 unsigned short *le = advance_row(s, 1);
1486 unsigned short c;
1487 int x = 0;
1488 unsigned short attr = 1;
1489
1490 do {
1491 c = scr_readw(s);
1492 if (attr != (c & 0xff00)) {
1493 attr = c & 0xff00;
1494 if (s > start) {
1495 fbcon_putcs(vc, start, s - start,
1496 line, x);
1497 x += s - start;
1498 start = s;
1499 }
1500 }
1501 if (c == scr_readw(d)) {
1502 if (s > start) {
1503 fbcon_putcs(vc, start, s - start,
1504 line, x);
1505 x += s - start + 1;
1506 start = s + 1;
1507 } else {
1508 x++;
1509 start++;
1510 }
1511 }
1512 scr_writew(c, d);
1513 console_conditional_schedule();
1514 s++;
1515 d++;
1516 } while (s < le);
1517 if (s > start)
1518 fbcon_putcs(vc, start, s - start, line, x);
1519 console_conditional_schedule();
1520 if (offset > 0)
1521 line++;
1522 else {
1523 line--;
1524 /* NOTE: We subtract two lines from these pointers */
1525 s -= vc->vc_size_row;
1526 d -= vc->vc_size_row;
1527 }
1528 }
1529}
1530
1531static inline void fbcon_softback_note(struct vc_data *vc, int t,
1532 int count)
1533{
1534 unsigned short *p;
1535
1536 if (vc->vc_num != fg_console)
1537 return;
1538 p = (unsigned short *) (vc->vc_origin + t * vc->vc_size_row);
1539
1540 while (count) {
1541 scr_memcpyw((u16 *) softback_in, p, vc->vc_size_row);
1542 count--;
1543 p = advance_row(p, 1);
1544 softback_in += vc->vc_size_row;
1545 if (softback_in == softback_end)
1546 softback_in = softback_buf;
1547 if (softback_in == softback_top) {
1548 softback_top += vc->vc_size_row;
1549 if (softback_top == softback_end)
1550 softback_top = softback_buf;
1551 }
1552 }
1553 softback_curr = softback_in;
1554}
1555
1556static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir,
1557 int count)
1558{
1559 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1560 struct display *p = &fb_display[vc->vc_num];
1561 struct fbcon_ops *ops = info->fbcon_par;
1562 int scroll_partial = info->flags & FBINFO_PARTIAL_PAN_OK;
1563
1564 if (fbcon_is_inactive(vc, info))
1565 return -EINVAL;
1566
1567 fbcon_cursor(vc, CM_ERASE);
1568
1569 /*
1570 * ++Geert: Only use ywrap/ypan if the console is in text mode
1571 * ++Andrew: Only use ypan on hardware text mode when scrolling the
1572 * whole screen (prevents flicker).
1573 */
1574
1575 switch (dir) {
1576 case SM_UP:
1577 if (count > vc->vc_rows) /* Maximum realistic size */
1578 count = vc->vc_rows;
1579 if (softback_top)
1580 fbcon_softback_note(vc, t, count);
1581 if (logo_shown >= 0)
1582 goto redraw_up;
1583 switch (p->scrollmode) {
1584 case SCROLL_MOVE:
1585 ops->bmove(vc, info, t + count, 0, t, 0,
1586 b - t - count, vc->vc_cols);
1587 ops->clear(vc, info, b - count, 0, count,
1588 vc->vc_cols);
1589 break;
1590
1591 case SCROLL_WRAP_MOVE:
1592 if (b - t - count > 3 * vc->vc_rows >> 2) {
1593 if (t > 0)
1594 fbcon_bmove(vc, 0, 0, count, 0, t,
1595 vc->vc_cols);
1596 ywrap_up(vc, count);
1597 if (vc->vc_rows - b > 0)
1598 fbcon_bmove(vc, b - count, 0, b, 0,
1599 vc->vc_rows - b,
1600 vc->vc_cols);
1601 } else if (info->flags & FBINFO_READS_FAST)
1602 fbcon_bmove(vc, t + count, 0, t, 0,
1603 b - t - count, vc->vc_cols);
1604 else
1605 goto redraw_up;
1606 fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
1607 break;
1608
1609 case SCROLL_PAN_REDRAW:
1610 if ((p->yscroll + count <=
1611 2 * (p->vrows - vc->vc_rows))
1612 && ((!scroll_partial && (b - t == vc->vc_rows))
1613 || (scroll_partial
1614 && (b - t - count >
1615 3 * vc->vc_rows >> 2)))) {
1616 if (t > 0)
1617 fbcon_redraw_move(vc, p, 0, t, count);
1618 ypan_up_redraw(vc, t, count);
1619 if (vc->vc_rows - b > 0)
1620 fbcon_redraw_move(vc, p, b - count,
1621 vc->vc_rows - b, b);
1622 } else
1623 fbcon_redraw_move(vc, p, t + count, b - t - count, t);
1624 fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
1625 break;
1626
1627 case SCROLL_PAN_MOVE:
1628 if ((p->yscroll + count <=
1629 2 * (p->vrows - vc->vc_rows))
1630 && ((!scroll_partial && (b - t == vc->vc_rows))
1631 || (scroll_partial
1632 && (b - t - count >
1633 3 * vc->vc_rows >> 2)))) {
1634 if (t > 0)
1635 fbcon_bmove(vc, 0, 0, count, 0, t,
1636 vc->vc_cols);
1637 ypan_up(vc, count);
1638 if (vc->vc_rows - b > 0)
1639 fbcon_bmove(vc, b - count, 0, b, 0,
1640 vc->vc_rows - b,
1641 vc->vc_cols);
1642 } else if (info->flags & FBINFO_READS_FAST)
1643 fbcon_bmove(vc, t + count, 0, t, 0,
1644 b - t - count, vc->vc_cols);
1645 else
1646 goto redraw_up;
1647 fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
1648 break;
1649
1650 case SCROLL_REDRAW:
1651 redraw_up:
1652 fbcon_redraw(vc, p, t, b - t - count,
1653 count * vc->vc_cols);
1654 fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
1655 scr_memsetw((unsigned short *) (vc->vc_origin +
1656 vc->vc_size_row *
1657 (b - count)),
1658 vc->vc_video_erase_char,
1659 vc->vc_size_row * count);
1660 return 1;
1661 }
1662 break;
1663
1664 case SM_DOWN:
1665 if (count > vc->vc_rows) /* Maximum realistic size */
1666 count = vc->vc_rows;
1667 switch (p->scrollmode) {
1668 case SCROLL_MOVE:
1669 ops->bmove(vc, info, t, 0, t + count, 0,
1670 b - t - count, vc->vc_cols);
1671 ops->clear(vc, info, t, 0, count, vc->vc_cols);
1672 break;
1673
1674 case SCROLL_WRAP_MOVE:
1675 if (b - t - count > 3 * vc->vc_rows >> 2) {
1676 if (vc->vc_rows - b > 0)
1677 fbcon_bmove(vc, b, 0, b - count, 0,
1678 vc->vc_rows - b,
1679 vc->vc_cols);
1680 ywrap_down(vc, count);
1681 if (t > 0)
1682 fbcon_bmove(vc, count, 0, 0, 0, t,
1683 vc->vc_cols);
1684 } else if (info->flags & FBINFO_READS_FAST)
1685 fbcon_bmove(vc, t, 0, t + count, 0,
1686 b - t - count, vc->vc_cols);
1687 else
1688 goto redraw_down;
1689 fbcon_clear(vc, t, 0, count, vc->vc_cols);
1690 break;
1691
1692 case SCROLL_PAN_MOVE:
1693 if ((count - p->yscroll <= p->vrows - vc->vc_rows)
1694 && ((!scroll_partial && (b - t == vc->vc_rows))
1695 || (scroll_partial
1696 && (b - t - count >
1697 3 * vc->vc_rows >> 2)))) {
1698 if (vc->vc_rows - b > 0)
1699 fbcon_bmove(vc, b, 0, b - count, 0,
1700 vc->vc_rows - b,
1701 vc->vc_cols);
1702 ypan_down(vc, count);
1703 if (t > 0)
1704 fbcon_bmove(vc, count, 0, 0, 0, t,
1705 vc->vc_cols);
1706 } else if (info->flags & FBINFO_READS_FAST)
1707 fbcon_bmove(vc, t, 0, t + count, 0,
1708 b - t - count, vc->vc_cols);
1709 else
1710 goto redraw_down;
1711 fbcon_clear(vc, t, 0, count, vc->vc_cols);
1712 break;
1713
1714 case SCROLL_PAN_REDRAW:
1715 if ((count - p->yscroll <= p->vrows - vc->vc_rows)
1716 && ((!scroll_partial && (b - t == vc->vc_rows))
1717 || (scroll_partial
1718 && (b - t - count >
1719 3 * vc->vc_rows >> 2)))) {
1720 if (vc->vc_rows - b > 0)
1721 fbcon_redraw_move(vc, p, b, vc->vc_rows - b,
1722 b - count);
1723 ypan_down_redraw(vc, t, count);
1724 if (t > 0)
1725 fbcon_redraw_move(vc, p, count, t, 0);
1726 } else
1727 fbcon_redraw_move(vc, p, t, b - t - count, t + count);
1728 fbcon_clear(vc, t, 0, count, vc->vc_cols);
1729 break;
1730
1731 case SCROLL_REDRAW:
1732 redraw_down:
1733 fbcon_redraw(vc, p, b - 1, b - t - count,
1734 -count * vc->vc_cols);
1735 fbcon_clear(vc, t, 0, count, vc->vc_cols);
1736 scr_memsetw((unsigned short *) (vc->vc_origin +
1737 vc->vc_size_row *
1738 t),
1739 vc->vc_video_erase_char,
1740 vc->vc_size_row * count);
1741 return 1;
1742 }
1743 }
1744 return 0;
1745}
1746
1747
1748static void fbcon_bmove(struct vc_data *vc, int sy, int sx, int dy, int dx,
1749 int height, int width)
1750{
1751 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1752 struct display *p = &fb_display[vc->vc_num];
1753
1754 if (fbcon_is_inactive(vc, info))
1755 return;
1756
1757 if (!width || !height)
1758 return;
1759
1760 /* Split blits that cross physical y_wrap case.
1761 * Pathological case involves 4 blits, better to use recursive
1762 * code rather than unrolled case
1763 *
1764 * Recursive invocations don't need to erase the cursor over and
1765 * over again, so we use fbcon_bmove_rec()
1766 */
1767 fbcon_bmove_rec(vc, p, sy, sx, dy, dx, height, width,
1768 p->vrows - p->yscroll);
1769}
1770
1771static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int sx,
1772 int dy, int dx, int height, int width, u_int y_break)
1773{
1774 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1775 struct fbcon_ops *ops = info->fbcon_par;
1776 u_int b;
1777
1778 if (sy < y_break && sy + height > y_break) {
1779 b = y_break - sy;
1780 if (dy < sy) { /* Avoid trashing self */
1781 fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
1782 y_break);
1783 fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
1784 height - b, width, y_break);
1785 } else {
1786 fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
1787 height - b, width, y_break);
1788 fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
1789 y_break);
1790 }
1791 return;
1792 }
1793
1794 if (dy < y_break && dy + height > y_break) {
1795 b = y_break - dy;
1796 if (dy < sy) { /* Avoid trashing self */
1797 fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
1798 y_break);
1799 fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
1800 height - b, width, y_break);
1801 } else {
1802 fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
1803 height - b, width, y_break);
1804 fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
1805 y_break);
1806 }
1807 return;
1808 }
1809 ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx,
1810 height, width);
1811}
1812
1813static __inline__ void updatescrollmode(struct display *p, struct fb_info *info,
1814 struct vc_data *vc)
1815{
1816 int fh = vc->vc_font.height;
1817 int cap = info->flags;
1818 int good_pan = (cap & FBINFO_HWACCEL_YPAN)
1819 && divides(info->fix.ypanstep, vc->vc_font.height)
1820 && info->var.yres_virtual > info->var.yres;
1821 int good_wrap = (cap & FBINFO_HWACCEL_YWRAP)
1822 && divides(info->fix.ywrapstep, vc->vc_font.height)
1823 && divides(vc->vc_font.height, info->var.yres_virtual);
1824 int reading_fast = cap & FBINFO_READS_FAST;
1825 int fast_copyarea = (cap & FBINFO_HWACCEL_COPYAREA) && !(cap & FBINFO_HWACCEL_DISABLED);
1826 int fast_imageblit = (cap & FBINFO_HWACCEL_IMAGEBLIT) && !(cap & FBINFO_HWACCEL_DISABLED);
1827
1828 p->vrows = info->var.yres_virtual/fh;
1829 if (info->var.yres > (fh * (vc->vc_rows + 1)))
1830 p->vrows -= (info->var.yres - (fh * vc->vc_rows)) / fh;
1831 if ((info->var.yres % fh) && (info->var.yres_virtual % fh <
1832 info->var.yres % fh))
1833 p->vrows--;
1834
1835 if (good_wrap || good_pan) {
1836 if (reading_fast || fast_copyarea)
1837 p->scrollmode = good_wrap ? SCROLL_WRAP_MOVE : SCROLL_PAN_MOVE;
1838 else
1839 p->scrollmode = good_wrap ? SCROLL_REDRAW :
1840 SCROLL_PAN_REDRAW;
1841 } else {
1842 if (reading_fast || (fast_copyarea && !fast_imageblit))
1843 p->scrollmode = SCROLL_MOVE;
1844 else
1845 p->scrollmode = SCROLL_REDRAW;
1846 }
1847}
1848
1849static int fbcon_resize(struct vc_data *vc, unsigned int width,
1850 unsigned int height)
1851{
1852 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
1853 struct display *p = &fb_display[vc->vc_num];
1854 struct fb_var_screeninfo var = info->var;
1855 int x_diff, y_diff;
1856 int fw = vc->vc_font.width;
1857 int fh = vc->vc_font.height;
1858
1859 var.xres = width * fw;
1860 var.yres = height * fh;
1861 x_diff = info->var.xres - var.xres;
1862 y_diff = info->var.yres - var.yres;
1863 if (x_diff < 0 || x_diff > fw || (y_diff < 0 || y_diff > fh)) {
1864 struct fb_videomode *mode;
1865
1866 DPRINTK("attempting resize %ix%i\n", var.xres, var.yres);
1867 mode = fb_find_best_mode(&var, &info->modelist);
1868 if (mode == NULL)
1869 return -EINVAL;
1870 fb_videomode_to_var(&var, mode);
1871 if (width > var.xres/fw || height > var.yres/fh)
1872 return -EINVAL;
1873 /*
1874 * The following can probably have any value... Do we need to
1875 * set all of them?
1876 */
1877 var.bits_per_pixel = p->bits_per_pixel;
1878 var.xres_virtual = p->xres_virtual;
1879 var.yres_virtual = p->yres_virtual;
1880 var.accel_flags = p->accel_flags;
1881 var.width = p->width;
1882 var.height = p->height;
1883 var.red = p->red;
1884 var.green = p->green;
1885 var.blue = p->blue;
1886 var.transp = p->transp;
1887 var.nonstd = p->nonstd;
1888
1889 DPRINTK("resize now %ix%i\n", var.xres, var.yres);
1890 if (CON_IS_VISIBLE(vc)) {
1891 var.activate = FB_ACTIVATE_NOW |
1892 FB_ACTIVATE_FORCE;
1893 fb_set_var(info, &var);
1894 }
1895 var_to_display(p, &info->var, info);
1896 }
1897 updatescrollmode(p, info, vc);
1898 return 0;
1899}
1900
1901static int fbcon_switch(struct vc_data *vc)
1902{
1903 struct fb_info *info;
1904 struct display *p = &fb_display[vc->vc_num];
1905 struct fb_var_screeninfo var;
1906 int i, prev_console;
1907
1908 info = registered_fb[con2fb_map[vc->vc_num]];
1909
1910 if (softback_top) {
1911 int l = fbcon_softback_size / vc->vc_size_row;
1912 if (softback_lines)
1913 fbcon_set_origin(vc);
1914 softback_top = softback_curr = softback_in = softback_buf;
1915 softback_lines = 0;
1916
1917 if (l > 5)
1918 softback_end = softback_buf + l * vc->vc_size_row;
1919 else {
1920 /* Smaller scrollback makes no sense, and 0 would screw
1921 the operation totally */
1922 softback_top = 0;
1923 }
1924 }
1925
1926 if (logo_shown >= 0) {
1927 struct vc_data *conp2 = vc_cons[logo_shown].d;
1928
1929 if (conp2->vc_top == logo_lines
1930 && conp2->vc_bottom == conp2->vc_rows)
1931 conp2->vc_top = 0;
1932 logo_shown = FBCON_LOGO_CANSHOW;
1933 }
1934
1935 prev_console = ((struct fbcon_ops *)info->fbcon_par)->currcon;
1936
1937 /*
1938 * FIXME: If we have multiple fbdev's loaded, we need to
1939 * update all info->currcon. Perhaps, we can place this
1940 * in a centralized structure, but this might break some
1941 * drivers.
1942 *
1943 * info->currcon = vc->vc_num;
1944 */
1945 for (i = 0; i < FB_MAX; i++) {
1946 if (registered_fb[i] != NULL && registered_fb[i]->fbcon_par) {
1947 struct fbcon_ops *ops = registered_fb[i]->fbcon_par;
1948
1949 ops->currcon = vc->vc_num;
1950 }
1951 }
1952 memset(&var, 0, sizeof(struct fb_var_screeninfo));
1953 display_to_var(&var, p);
1954 var.activate = FB_ACTIVATE_NOW;
1955
1956 /*
1957 * make sure we don't unnecessarily trip the memcmp()
1958 * in fb_set_var()
1959 */
1960 info->var.activate = var.activate;
1961 info->var.yoffset = info->var.xoffset = p->yscroll = 0;
1962 fb_set_var(info, &var);
1963
1964 if (prev_console != -1 &&
1965 registered_fb[con2fb_map[prev_console]] != info &&
1966 info->fbops->fb_set_par)
1967 info->fbops->fb_set_par(info);
1968
1969 set_blitting_type(vc, info, p);
1970 ((struct fbcon_ops *)info->fbcon_par)->cursor_reset = 1;
1971
1972 vc->vc_can_do_color = (fb_get_color_depth(&info->var) != 1);
1973 vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
1974 updatescrollmode(p, info, vc);
1975
1976 switch (p->scrollmode) {
1977 case SCROLL_WRAP_MOVE:
1978 scrollback_phys_max = p->vrows - vc->vc_rows;
1979 break;
1980 case SCROLL_PAN_MOVE:
1981 case SCROLL_PAN_REDRAW:
1982 scrollback_phys_max = p->vrows - 2 * vc->vc_rows;
1983 if (scrollback_phys_max < 0)
1984 scrollback_phys_max = 0;
1985 break;
1986 default:
1987 scrollback_phys_max = 0;
1988 break;
1989 }
1990 scrollback_max = 0;
1991 scrollback_current = 0;
1992
1993 update_var(vc->vc_num, info);
1994 fbcon_set_palette(vc, color_table);
1995 fbcon_clear_margins(vc, 0);
1996
1997 if (logo_shown == FBCON_LOGO_DRAW) {
1998
1999 logo_shown = fg_console;
2000 /* This is protected above by initmem_freed */
2001 fb_show_logo(info);
2002 update_region(vc,
2003 vc->vc_origin + vc->vc_size_row * vc->vc_top,
2004 vc->vc_size_row * (vc->vc_bottom -
2005 vc->vc_top) / 2);
2006 return 0;
2007 }
2008 return 1;
2009}
2010
2011static void fbcon_generic_blank(struct vc_data *vc, struct fb_info *info,
2012 int blank)
2013{
2014 if (blank) {
2015 unsigned short charmask = vc->vc_hi_font_mask ?
2016 0x1ff : 0xff;
2017 unsigned short oldc;
2018
2019 oldc = vc->vc_video_erase_char;
2020 vc->vc_video_erase_char &= charmask;
2021 fbcon_clear(vc, 0, 0, vc->vc_rows, vc->vc_cols);
2022 vc->vc_video_erase_char = oldc;
2023 }
2024}
2025
2026static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
2027{
2028 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
2029 struct fbcon_ops *ops = info->fbcon_par;
2030
2031 if (mode_switch) {
2032 struct fb_var_screeninfo var = info->var;
2033
2034 ops->graphics = 1;
2035
2036 if (!blank) {
2037 var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
2038 fb_set_var(info, &var);
2039 ops->graphics = 0;
2040 }
2041 }
2042
2043 if (!fbcon_is_inactive(vc, info)) {
2044 if (ops->blank_state != blank) {
2045 ops->blank_state = blank;
2046 fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW);
2047 ops->cursor_flash = (!blank);
2048
2049 if (fb_blank(info, blank))
2050 fbcon_generic_blank(vc, info, blank);
2051 }
2052
2053 if (!blank)
2054 update_screen(vc);
2055 }
2056
2057 return 0;
2058}
2059
2060static void fbcon_free_font(struct display *p)
2061{
2062 if (p->userfont && p->fontdata && (--REFCOUNT(p->fontdata) == 0))
2063 kfree(p->fontdata - FONT_EXTRA_WORDS * sizeof(int));
2064 p->fontdata = NULL;
2065 p->userfont = 0;
2066}
2067
2068static int fbcon_get_font(struct vc_data *vc, struct console_font *font)
2069{
2070 u8 *fontdata = vc->vc_font.data;
2071 u8 *data = font->data;
2072 int i, j;
2073
2074 font->width = vc->vc_font.width;
2075 font->height = vc->vc_font.height;
2076 font->charcount = vc->vc_hi_font_mask ? 512 : 256;
2077 if (!font->data)
2078 return 0;
2079
2080 if (font->width <= 8) {
2081 j = vc->vc_font.height;
2082 for (i = 0; i < font->charcount; i++) {
2083 memcpy(data, fontdata, j);
2084 memset(data + j, 0, 32 - j);
2085 data += 32;
2086 fontdata += j;
2087 }
2088 } else if (font->width <= 16) {
2089 j = vc->vc_font.height * 2;
2090 for (i = 0; i < font->charcount; i++) {
2091 memcpy(data, fontdata, j);
2092 memset(data + j, 0, 64 - j);
2093 data += 64;
2094 fontdata += j;
2095 }
2096 } else if (font->width <= 24) {
2097 for (i = 0; i < font->charcount; i++) {
2098 for (j = 0; j < vc->vc_font.height; j++) {
2099 *data++ = fontdata[0];
2100 *data++ = fontdata[1];
2101 *data++ = fontdata[2];
2102 fontdata += sizeof(u32);
2103 }
2104 memset(data, 0, 3 * (32 - j));
2105 data += 3 * (32 - j);
2106 }
2107 } else {
2108 j = vc->vc_font.height * 4;
2109 for (i = 0; i < font->charcount; i++) {
2110 memcpy(data, fontdata, j);
2111 memset(data + j, 0, 128 - j);
2112 data += 128;
2113 fontdata += j;
2114 }
2115 }
2116 return 0;
2117}
2118
2119static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
2120 u8 * data, int userfont)
2121{
2122 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
2123 struct display *p = &fb_display[vc->vc_num];
2124 int resize;
2125 int cnt;
2126 char *old_data = NULL;
2127
2128 if (CON_IS_VISIBLE(vc) && softback_lines)
2129 fbcon_set_origin(vc);
2130
2131 resize = (w != vc->vc_font.width) || (h != vc->vc_font.height);
2132 if (p->userfont)
2133 old_data = vc->vc_font.data;
2134 if (userfont)
2135 cnt = FNTCHARCNT(data);
2136 else
2137 cnt = 256;
2138 vc->vc_font.data = p->fontdata = data;
2139 if ((p->userfont = userfont))
2140 REFCOUNT(data)++;
2141 vc->vc_font.width = w;
2142 vc->vc_font.height = h;
2143 if (vc->vc_hi_font_mask && cnt == 256) {
2144 vc->vc_hi_font_mask = 0;
2145 if (vc->vc_can_do_color) {
2146 vc->vc_complement_mask >>= 1;
2147 vc->vc_s_complement_mask >>= 1;
2148 }
2149
2150 /* ++Edmund: reorder the attribute bits */
2151 if (vc->vc_can_do_color) {
2152 unsigned short *cp =
2153 (unsigned short *) vc->vc_origin;
2154 int count = vc->vc_screenbuf_size / 2;
2155 unsigned short c;
2156 for (; count > 0; count--, cp++) {
2157 c = scr_readw(cp);
2158 scr_writew(((c & 0xfe00) >> 1) |
2159 (c & 0xff), cp);
2160 }
2161 c = vc->vc_video_erase_char;
2162 vc->vc_video_erase_char =
2163 ((c & 0xfe00) >> 1) | (c & 0xff);
2164 vc->vc_attr >>= 1;
2165 }
2166 } else if (!vc->vc_hi_font_mask && cnt == 512) {
2167 vc->vc_hi_font_mask = 0x100;
2168 if (vc->vc_can_do_color) {
2169 vc->vc_complement_mask <<= 1;
2170 vc->vc_s_complement_mask <<= 1;
2171 }
2172
2173 /* ++Edmund: reorder the attribute bits */
2174 {
2175 unsigned short *cp =
2176 (unsigned short *) vc->vc_origin;
2177 int count = vc->vc_screenbuf_size / 2;
2178 unsigned short c;
2179 for (; count > 0; count--, cp++) {
2180 unsigned short newc;
2181 c = scr_readw(cp);
2182 if (vc->vc_can_do_color)
2183 newc =
2184 ((c & 0xff00) << 1) | (c &
2185 0xff);
2186 else
2187 newc = c & ~0x100;
2188 scr_writew(newc, cp);
2189 }
2190 c = vc->vc_video_erase_char;
2191 if (vc->vc_can_do_color) {
2192 vc->vc_video_erase_char =
2193 ((c & 0xff00) << 1) | (c & 0xff);
2194 vc->vc_attr <<= 1;
2195 } else
2196 vc->vc_video_erase_char = c & ~0x100;
2197 }
2198
2199 }
2200
2201 if (resize) {
2202 /* reset wrap/pan */
2203 info->var.xoffset = info->var.yoffset = p->yscroll = 0;
2204 vc_resize(vc, info->var.xres / w, info->var.yres / h);
2205 if (CON_IS_VISIBLE(vc) && softback_buf) {
2206 int l = fbcon_softback_size / vc->vc_size_row;
2207 if (l > 5)
2208 softback_end =
2209 softback_buf + l * vc->vc_size_row;
2210 else {
2211 /* Smaller scrollback makes no sense, and 0 would screw
2212 the operation totally */
2213 softback_top = 0;
2214 }
2215 }
2216 } else if (CON_IS_VISIBLE(vc)
2217 && vc->vc_mode == KD_TEXT) {
2218 fbcon_clear_margins(vc, 0);
2219 update_screen(vc);
2220 }
2221
2222 if (old_data && (--REFCOUNT(old_data) == 0))
2223 kfree(old_data - FONT_EXTRA_WORDS * sizeof(int));
2224 return 0;
2225}
2226
2227static int fbcon_copy_font(struct vc_data *vc, int con)
2228{
2229 struct display *od = &fb_display[con];
2230 struct console_font *f = &vc->vc_font;
2231
2232 if (od->fontdata == f->data)
2233 return 0; /* already the same font... */
2234 return fbcon_do_set_font(vc, f->width, f->height, od->fontdata, od->userfont);
2235}
2236
2237/*
2238 * User asked to set font; we are guaranteed that
2239 * a) width and height are in range 1..32
2240 * b) charcount does not exceed 512
2241 * but lets not assume that, since someone might someday want to use larger
2242 * fonts. And charcount of 512 is small for unicode support.
2243 *
2244 * However, user space gives the font in 32 rows , regardless of
2245 * actual font height. So a new API is needed if support for larger fonts
2246 * is ever implemented.
2247 */
2248
2249static int fbcon_set_font(struct vc_data *vc, struct console_font *font, unsigned flags)
2250{
2251 unsigned charcount = font->charcount;
2252 int w = font->width;
2253 int h = font->height;
2254 int size;
2255 int i, csum;
2256 u8 *new_data, *data = font->data;
2257 int pitch = (font->width+7) >> 3;
2258
2259 /* Is there a reason why fbconsole couldn't handle any charcount >256?
2260 * If not this check should be changed to charcount < 256 */
2261 if (charcount != 256 && charcount != 512)
2262 return -EINVAL;
2263
2264 size = h * pitch * charcount;
2265
2266 new_data = kmalloc(FONT_EXTRA_WORDS * sizeof(int) + size, GFP_USER);
2267
2268 if (!new_data)
2269 return -ENOMEM;
2270
2271 new_data += FONT_EXTRA_WORDS * sizeof(int);
2272 FNTSIZE(new_data) = size;
2273 FNTCHARCNT(new_data) = charcount;
2274 REFCOUNT(new_data) = 0; /* usage counter */
2275 for (i=0; i< charcount; i++) {
2276 memcpy(new_data + i*h*pitch, data + i*32*pitch, h*pitch);
2277 }
2278
2279 /* Since linux has a nice crc32 function use it for counting font
2280 * checksums. */
2281 csum = crc32(0, new_data, size);
2282
2283 FNTSUM(new_data) = csum;
2284 /* Check if the same font is on some other console already */
2285 for (i = 0; i < MAX_NR_CONSOLES; i++) {
2286 struct vc_data *tmp = vc_cons[i].d;
2287
2288 if (fb_display[i].userfont &&
2289 fb_display[i].fontdata &&
2290 FNTSUM(fb_display[i].fontdata) == csum &&
2291 FNTSIZE(fb_display[i].fontdata) == size &&
2292 tmp->vc_font.width == w &&
2293 !memcmp(fb_display[i].fontdata, new_data, size)) {
2294 kfree(new_data - FONT_EXTRA_WORDS * sizeof(int));
2295 new_data = fb_display[i].fontdata;
2296 break;
2297 }
2298 }
2299 return fbcon_do_set_font(vc, font->width, font->height, new_data, 1);
2300}
2301
2302static int fbcon_set_def_font(struct vc_data *vc, struct console_font *font, char *name)
2303{
2304 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
2305 struct font_desc *f;
2306
2307 if (!name)
2308 f = get_default_font(info->var.xres, info->var.yres);
2309 else if (!(f = find_font(name)))
2310 return -ENOENT;
2311
2312 font->width = f->width;
2313 font->height = f->height;
2314 return fbcon_do_set_font(vc, f->width, f->height, f->data, 0);
2315}
2316
2317static u16 palette_red[16];
2318static u16 palette_green[16];
2319static u16 palette_blue[16];
2320
2321static struct fb_cmap palette_cmap = {
2322 0, 16, palette_red, palette_green, palette_blue, NULL
2323};
2324
2325static int fbcon_set_palette(struct vc_data *vc, unsigned char *table)
2326{
2327 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
2328 int i, j, k, depth;
2329 u8 val;
2330
2331 if (fbcon_is_inactive(vc, info))
2332 return -EINVAL;
2333
2334 if (!CON_IS_VISIBLE(vc))
2335 return 0;
2336
2337 depth = fb_get_color_depth(&info->var);
2338 if (depth > 3) {
2339 for (i = j = 0; i < 16; i++) {
2340 k = table[i];
2341 val = vc->vc_palette[j++];
2342 palette_red[k] = (val << 8) | val;
2343 val = vc->vc_palette[j++];
2344 palette_green[k] = (val << 8) | val;
2345 val = vc->vc_palette[j++];
2346 palette_blue[k] = (val << 8) | val;
2347 }
2348 palette_cmap.len = 16;
2349 palette_cmap.start = 0;
2350 /*
2351 * If framebuffer is capable of less than 16 colors,
2352 * use default palette of fbcon.
2353 */
2354 } else
2355 fb_copy_cmap(fb_default_cmap(1 << depth), &palette_cmap);
2356
2357 return fb_set_cmap(&palette_cmap, info);
2358}
2359
2360static u16 *fbcon_screen_pos(struct vc_data *vc, int offset)
2361{
2362 unsigned long p;
2363 int line;
2364
2365 if (vc->vc_num != fg_console || !softback_lines)
2366 return (u16 *) (vc->vc_origin + offset);
2367 line = offset / vc->vc_size_row;
2368 if (line >= softback_lines)
2369 return (u16 *) (vc->vc_origin + offset -
2370 softback_lines * vc->vc_size_row);
2371 p = softback_curr + offset;
2372 if (p >= softback_end)
2373 p += softback_buf - softback_end;
2374 return (u16 *) p;
2375}
2376
2377static unsigned long fbcon_getxy(struct vc_data *vc, unsigned long pos,
2378 int *px, int *py)
2379{
2380 unsigned long ret;
2381 int x, y;
2382
2383 if (pos >= vc->vc_origin && pos < vc->vc_scr_end) {
2384 unsigned long offset = (pos - vc->vc_origin) / 2;
2385
2386 x = offset % vc->vc_cols;
2387 y = offset / vc->vc_cols;
2388 if (vc->vc_num == fg_console)
2389 y += softback_lines;
2390 ret = pos + (vc->vc_cols - x) * 2;
2391 } else if (vc->vc_num == fg_console && softback_lines) {
2392 unsigned long offset = pos - softback_curr;
2393
2394 if (pos < softback_curr)
2395 offset += softback_end - softback_buf;
2396 offset /= 2;
2397 x = offset % vc->vc_cols;
2398 y = offset / vc->vc_cols;
2399 ret = pos + (vc->vc_cols - x) * 2;
2400 if (ret == softback_end)
2401 ret = softback_buf;
2402 if (ret == softback_in)
2403 ret = vc->vc_origin;
2404 } else {
2405 /* Should not happen */
2406 x = y = 0;
2407 ret = vc->vc_origin;
2408 }
2409 if (px)
2410 *px = x;
2411 if (py)
2412 *py = y;
2413 return ret;
2414}
2415
2416/* As we might be inside of softback, we may work with non-contiguous buffer,
2417 that's why we have to use a separate routine. */
2418static void fbcon_invert_region(struct vc_data *vc, u16 * p, int cnt)
2419{
2420 while (cnt--) {
2421 u16 a = scr_readw(p);
2422 if (!vc->vc_can_do_color)
2423 a ^= 0x0800;
2424 else if (vc->vc_hi_font_mask == 0x100)
2425 a = ((a) & 0x11ff) | (((a) & 0xe000) >> 4) |
2426 (((a) & 0x0e00) << 4);
2427 else
2428 a = ((a) & 0x88ff) | (((a) & 0x7000) >> 4) |
2429 (((a) & 0x0700) << 4);
2430 scr_writew(a, p++);
2431 if (p == (u16 *) softback_end)
2432 p = (u16 *) softback_buf;
2433 if (p == (u16 *) softback_in)
2434 p = (u16 *) vc->vc_origin;
2435 }
2436}
2437
2438static int fbcon_scrolldelta(struct vc_data *vc, int lines)
2439{
2440 struct fb_info *info = registered_fb[con2fb_map[fg_console]];
2441 struct display *p = &fb_display[fg_console];
2442 int offset, limit, scrollback_old;
2443
2444 if (softback_top) {
2445 if (vc->vc_num != fg_console)
2446 return 0;
2447 if (vc->vc_mode != KD_TEXT || !lines)
2448 return 0;
2449 if (logo_shown >= 0) {
2450 struct vc_data *conp2 = vc_cons[logo_shown].d;
2451
2452 if (conp2->vc_top == logo_lines
2453 && conp2->vc_bottom == conp2->vc_rows)
2454 conp2->vc_top = 0;
2455 if (logo_shown == vc->vc_num) {
2456 unsigned long p, q;
2457 int i;
2458
2459 p = softback_in;
2460 q = vc->vc_origin +
2461 logo_lines * vc->vc_size_row;
2462 for (i = 0; i < logo_lines; i++) {
2463 if (p == softback_top)
2464 break;
2465 if (p == softback_buf)
2466 p = softback_end;
2467 p -= vc->vc_size_row;
2468 q -= vc->vc_size_row;
2469 scr_memcpyw((u16 *) q, (u16 *) p,
2470 vc->vc_size_row);
2471 }
2472 softback_in = p;
2473 update_region(vc, vc->vc_origin,
2474 logo_lines * vc->vc_cols);
2475 }
2476 logo_shown = FBCON_LOGO_CANSHOW;
2477 }
2478 fbcon_cursor(vc, CM_ERASE | CM_SOFTBACK);
2479 fbcon_redraw_softback(vc, p, lines);
2480 fbcon_cursor(vc, CM_DRAW | CM_SOFTBACK);
2481 return 0;
2482 }
2483
2484 if (!scrollback_phys_max)
2485 return -ENOSYS;
2486
2487 scrollback_old = scrollback_current;
2488 scrollback_current -= lines;
2489 if (scrollback_current < 0)
2490 scrollback_current = 0;
2491 else if (scrollback_current > scrollback_max)
2492 scrollback_current = scrollback_max;
2493 if (scrollback_current == scrollback_old)
2494 return 0;
2495
2496 if (fbcon_is_inactive(vc, info))
2497 return 0;
2498
2499 fbcon_cursor(vc, CM_ERASE);
2500
2501 offset = p->yscroll - scrollback_current;
2502 limit = p->vrows;
2503 switch (p->scrollmode) {
2504 case SCROLL_WRAP_MOVE:
2505 info->var.vmode |= FB_VMODE_YWRAP;
2506 break;
2507 case SCROLL_PAN_MOVE:
2508 case SCROLL_PAN_REDRAW:
2509 limit -= vc->vc_rows;
2510 info->var.vmode &= ~FB_VMODE_YWRAP;
2511 break;
2512 }
2513 if (offset < 0)
2514 offset += limit;
2515 else if (offset >= limit)
2516 offset -= limit;
2517 info->var.xoffset = 0;
2518 info->var.yoffset = offset * vc->vc_font.height;
2519 update_var(vc->vc_num, info);
2520 if (!scrollback_current)
2521 fbcon_cursor(vc, CM_DRAW);
2522 return 0;
2523}
2524
2525static int fbcon_set_origin(struct vc_data *vc)
2526{
2527 if (softback_lines)
2528 fbcon_scrolldelta(vc, softback_lines);
2529 return 0;
2530}
2531
2532static void fbcon_suspended(struct fb_info *info)
2533{
2534 struct vc_data *vc = NULL;
2535 struct fbcon_ops *ops = info->fbcon_par;
2536
2537 if (!ops || ops->currcon < 0)
2538 return;
2539 vc = vc_cons[ops->currcon].d;
2540
2541 /* Clear cursor, restore saved data */
2542 fbcon_cursor(vc, CM_ERASE);
2543}
2544
2545static void fbcon_resumed(struct fb_info *info)
2546{
2547 struct vc_data *vc;
2548 struct fbcon_ops *ops = info->fbcon_par;
2549
2550 if (!ops || ops->currcon < 0)
2551 return;
2552 vc = vc_cons[ops->currcon].d;
2553
2554 update_screen(vc);
2555}
2556
2557static void fbcon_modechanged(struct fb_info *info)
2558{
2559 struct fbcon_ops *ops = info->fbcon_par;
2560 struct vc_data *vc;
2561 struct display *p;
2562 int rows, cols;
2563
2564 if (!ops || ops->currcon < 0)
2565 return;
2566 vc = vc_cons[ops->currcon].d;
2567 if (vc->vc_mode != KD_TEXT || registered_fb[con2fb_map[ops->currcon]] != info)
2568 return;
2569
2570 p = &fb_display[vc->vc_num];
2571
2572 info->var.xoffset = info->var.yoffset = p->yscroll = 0;
2573
2574 if (CON_IS_VISIBLE(vc)) {
2575 var_to_display(p, &info->var, info);
2576 cols = info->var.xres / vc->vc_font.width;
2577 rows = info->var.yres / vc->vc_font.height;
2578 vc_resize(vc, cols, rows);
2579 updatescrollmode(p, info, vc);
2580 scrollback_max = 0;
2581 scrollback_current = 0;
2582 update_var(vc->vc_num, info);
2583 fbcon_set_palette(vc, color_table);
2584 update_screen(vc);
2585 if (softback_buf) {
2586 int l = fbcon_softback_size / vc->vc_size_row;
2587 if (l > 5)
2588 softback_end = softback_buf + l * vc->vc_size_row;
2589 else {
2590 /* Smaller scrollback makes no sense, and 0
2591 would screw the operation totally */
2592 softback_top = 0;
2593 }
2594 }
2595 }
2596}
2597
2598static int fbcon_mode_deleted(struct fb_info *info,
2599 struct fb_videomode *mode)
2600{
2601 struct fb_info *fb_info;
2602 struct display *p;
2603 int i, j, found = 0;
2604
2605 /* before deletion, ensure that mode is not in use */
2606 for (i = first_fb_vc; i <= last_fb_vc; i++) {
2607 j = con2fb_map[i];
2608 if (j == -1)
2609 continue;
2610 fb_info = registered_fb[j];
2611 if (fb_info != info)
2612 continue;
2613 p = &fb_display[i];
2614 if (!p || !p->mode)
2615 continue;
2616 if (fb_mode_is_equal(p->mode, mode)) {
2617 found = 1;
2618 break;
2619 }
2620 }
2621 return found;
2622}
2623
2624static int fbcon_fb_registered(int idx)
2625{
2626 int ret = 0, i;
2627
2628 if (info_idx == -1) {
2629 for (i = 0; i < MAX_NR_CONSOLES; i++) {
2630 if (con2fb_map_boot[i] == idx) {
2631 info_idx = idx;
2632 break;
2633 }
2634 }
2635 if (info_idx != -1)
2636 ret = fbcon_takeover(1);
2637 } else {
2638 for (i = 0; i < MAX_NR_CONSOLES; i++) {
2639 if (con2fb_map_boot[i] == idx)
2640 set_con2fb_map(i, idx, 0);
2641 }
2642 }
2643
2644 return ret;
2645}
2646
2647static void fbcon_fb_blanked(struct fb_info *info, int blank)
2648{
2649 struct fbcon_ops *ops = info->fbcon_par;
2650 struct vc_data *vc;
2651
2652 if (!ops || ops->currcon < 0)
2653 return;
2654
2655 vc = vc_cons[ops->currcon].d;
2656 if (vc->vc_mode != KD_TEXT ||
2657 registered_fb[con2fb_map[ops->currcon]] != info)
2658 return;
2659
2660 if (CON_IS_VISIBLE(vc)) {
2661 if (blank)
2662 do_blank_screen(0);
2663 else
2664 do_unblank_screen(0);
2665 }
2666 ops->blank_state = blank;
2667}
2668
2669static void fbcon_new_modelist(struct fb_info *info)
2670{
2671 int i;
2672 struct vc_data *vc;
2673 struct fb_var_screeninfo var;
2674 struct fb_videomode *mode;
2675
2676 for (i = 0; i < MAX_NR_CONSOLES; i++) {
2677 if (registered_fb[con2fb_map[i]] != info)
2678 continue;
2679 if (!fb_display[i].mode)
2680 continue;
2681 vc = vc_cons[i].d;
2682 display_to_var(&var, &fb_display[i]);
2683 mode = fb_find_nearest_mode(&var, &info->modelist);
2684 fb_videomode_to_var(&var, mode);
2685
2686 if (vc)
2687 fbcon_set_disp(info, &var, vc);
2688 else
2689 fbcon_preset_disp(info, &var, i);
2690
2691 }
2692}
2693
2694static int fbcon_event_notify(struct notifier_block *self,
2695 unsigned long action, void *data)
2696{
2697 struct fb_event *event = data;
2698 struct fb_info *info = event->info;
2699 struct fb_videomode *mode;
2700 struct fb_con2fbmap *con2fb;
2701 int ret = 0;
2702
2703 switch(action) {
2704 case FB_EVENT_SUSPEND:
2705 fbcon_suspended(info);
2706 break;
2707 case FB_EVENT_RESUME:
2708 fbcon_resumed(info);
2709 break;
2710 case FB_EVENT_MODE_CHANGE:
2711 fbcon_modechanged(info);
2712 break;
2713 case FB_EVENT_MODE_DELETE:
2714 mode = event->data;
2715 ret = fbcon_mode_deleted(info, mode);
2716 break;
2717 case FB_EVENT_FB_REGISTERED:
2718 ret = fbcon_fb_registered(info->node);
2719 break;
2720 case FB_EVENT_SET_CONSOLE_MAP:
2721 con2fb = event->data;
2722 ret = set_con2fb_map(con2fb->console - 1,
2723 con2fb->framebuffer, 1);
2724 break;
2725 case FB_EVENT_GET_CONSOLE_MAP:
2726 con2fb = event->data;
2727 con2fb->framebuffer = con2fb_map[con2fb->console - 1];
2728 break;
2729 case FB_EVENT_BLANK:
2730 fbcon_fb_blanked(info, *(int *)event->data);
2731 break;
2732 case FB_EVENT_NEW_MODELIST:
2733 fbcon_new_modelist(info);
2734 break;
2735 }
2736
2737 return ret;
2738}
2739
2740/*
2741 * The console `switch' structure for the frame buffer based console
2742 */
2743
2744static const struct consw fb_con = {
2745 .owner = THIS_MODULE,
2746 .con_startup = fbcon_startup,
2747 .con_init = fbcon_init,
2748 .con_deinit = fbcon_deinit,
2749 .con_clear = fbcon_clear,
2750 .con_putc = fbcon_putc,
2751 .con_putcs = fbcon_putcs,
2752 .con_cursor = fbcon_cursor,
2753 .con_scroll = fbcon_scroll,
2754 .con_bmove = fbcon_bmove,
2755 .con_switch = fbcon_switch,
2756 .con_blank = fbcon_blank,
2757 .con_font_set = fbcon_set_font,
2758 .con_font_get = fbcon_get_font,
2759 .con_font_default = fbcon_set_def_font,
2760 .con_font_copy = fbcon_copy_font,
2761 .con_set_palette = fbcon_set_palette,
2762 .con_scrolldelta = fbcon_scrolldelta,
2763 .con_set_origin = fbcon_set_origin,
2764 .con_invert_region = fbcon_invert_region,
2765 .con_screen_pos = fbcon_screen_pos,
2766 .con_getxy = fbcon_getxy,
2767 .con_resize = fbcon_resize,
2768};
2769
2770static struct notifier_block fbcon_event_notifier = {
2771 .notifier_call = fbcon_event_notify,
2772};
2773
2774static int __init fb_console_init(void)
2775{
2776 int i;
2777
2778 acquire_console_sem();
2779 fb_register_client(&fbcon_event_notifier);
2780 release_console_sem();
2781
2782 for (i = 0; i < MAX_NR_CONSOLES; i++)
2783 con2fb_map[i] = -1;
2784
2785 if (num_registered_fb) {
2786 for (i = 0; i < FB_MAX; i++) {
2787 if (registered_fb[i] != NULL) {
2788 info_idx = i;
2789 break;
2790 }
2791 }
2792 fbcon_takeover(0);
2793 }
2794
2795 return 0;
2796}
2797
2798module_init(fb_console_init);
2799
2800#ifdef MODULE
2801
2802static void __exit fb_console_exit(void)
2803{
2804 acquire_console_sem();
2805 fb_unregister_client(&fbcon_event_notifier);
2806 release_console_sem();
2807 give_up_console(&fb_con);
2808}
2809
2810module_exit(fb_console_exit);
2811
2812#endif
2813
2814MODULE_LICENSE("GPL");
diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h
new file mode 100644
index 000000000000..5d377860bce2
--- /dev/null
+++ b/drivers/video/console/fbcon.h
@@ -0,0 +1,170 @@
1/*
2 * linux/drivers/video/console/fbcon.h -- Low level frame buffer based console driver
3 *
4 * Copyright (C) 1997 Geert Uytterhoeven
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive
8 * for more details.
9 */
10
11#ifndef _VIDEO_FBCON_H
12#define _VIDEO_FBCON_H
13
14#include <linux/config.h>
15#include <linux/types.h>
16#include <linux/vt_buffer.h>
17#include <linux/vt_kern.h>
18
19#include <asm/io.h>
20
21#define FBCON_FLAGS_INIT 1
22
23 /*
24 * This is the interface between the low-level console driver and the
25 * low-level frame buffer device
26 */
27
28struct display {
29 /* Filled in by the frame buffer device */
30 u_short inverse; /* != 0 text black on white as default */
31 /* Filled in by the low-level console driver */
32 u_char *fontdata;
33 int userfont; /* != 0 if fontdata kmalloc()ed */
34 u_short scrollmode; /* Scroll Method */
35 short yscroll; /* Hardware scrolling */
36 int vrows; /* number of virtual rows */
37 int cursor_shape;
38 u32 xres_virtual;
39 u32 yres_virtual;
40 u32 height;
41 u32 width;
42 u32 bits_per_pixel;
43 u32 grayscale;
44 u32 nonstd;
45 u32 accel_flags;
46 u32 rotate;
47 struct fb_bitfield red;
48 struct fb_bitfield green;
49 struct fb_bitfield blue;
50 struct fb_bitfield transp;
51 struct fb_videomode *mode;
52};
53
54struct fbcon_ops {
55 void (*bmove)(struct vc_data *vc, struct fb_info *info, int sy,
56 int sx, int dy, int dx, int height, int width);
57 void (*clear)(struct vc_data *vc, struct fb_info *info, int sy,
58 int sx, int height, int width);
59 void (*putcs)(struct vc_data *vc, struct fb_info *info,
60 const unsigned short *s, int count, int yy, int xx,
61 int fg, int bg);
62 void (*clear_margins)(struct vc_data *vc, struct fb_info *info,
63 int bottom_only);
64 void (*cursor)(struct vc_data *vc, struct fb_info *info,
65 struct display *p, int mode, int softback_lines, int fg, int bg);
66
67 struct timer_list cursor_timer; /* Cursor timer */
68 struct fb_cursor cursor_state;
69 int currcon; /* Current VC. */
70 int cursor_flash;
71 int cursor_reset;
72 int blank_state;
73 int graphics;
74 int flags;
75 char *cursor_data;
76};
77 /*
78 * Attribute Decoding
79 */
80
81/* Color */
82#define attr_fgcol(fgshift,s) \
83 (((s) >> (fgshift)) & 0x0f)
84#define attr_bgcol(bgshift,s) \
85 (((s) >> (bgshift)) & 0x0f)
86#define attr_bgcol_ec(bgshift,vc) \
87 ((vc) ? (((vc)->vc_video_erase_char >> (bgshift)) & 0x0f) : 0)
88#define attr_fgcol_ec(fgshift,vc) \
89 ((vc) ? (((vc)->vc_video_erase_char >> (fgshift)) & 0x0f) : 0)
90
91/* Monochrome */
92#define attr_bold(s) \
93 ((s) & 0x200)
94#define attr_reverse(s) \
95 ((s) & 0x800)
96#define attr_underline(s) \
97 ((s) & 0x400)
98#define attr_blink(s) \
99 ((s) & 0x8000)
100
101/* Font */
102#define REFCOUNT(fd) (((int *)(fd))[-1])
103#define FNTSIZE(fd) (((int *)(fd))[-2])
104#define FNTCHARCNT(fd) (((int *)(fd))[-3])
105#define FNTSUM(fd) (((int *)(fd))[-4])
106#define FONT_EXTRA_WORDS 4
107
108 /*
109 * Scroll Method
110 */
111
112/* There are several methods fbcon can use to move text around the screen:
113 *
114 * Operation Pan Wrap
115 *---------------------------------------------
116 * SCROLL_MOVE copyarea No No
117 * SCROLL_PAN_MOVE copyarea Yes No
118 * SCROLL_WRAP_MOVE copyarea No Yes
119 * SCROLL_REDRAW imageblit No No
120 * SCROLL_PAN_REDRAW imageblit Yes No
121 * SCROLL_WRAP_REDRAW imageblit No Yes
122 *
123 * (SCROLL_WRAP_REDRAW is not implemented yet)
124 *
125 * In general, fbcon will choose the best scrolling
126 * method based on the rule below:
127 *
128 * Pan/Wrap > accel imageblit > accel copyarea >
129 * soft imageblit > (soft copyarea)
130 *
131 * Exception to the rule: Pan + accel copyarea is
132 * preferred over Pan + accel imageblit.
133 *
134 * The above is typical for PCI/AGP cards. Unless
135 * overridden, fbcon will never use soft copyarea.
136 *
137 * If you need to override the above rule, set the
138 * appropriate flags in fb_info->flags. For example,
139 * to prefer copyarea over imageblit, set
140 * FBINFO_READS_FAST.
141 *
142 * Other notes:
143 * + use the hardware engine to move the text
144 * (hw-accelerated copyarea() and fillrect())
145 * + use hardware-supported panning on a large virtual screen
146 * + amifb can not only pan, but also wrap the display by N lines
147 * (i.e. visible line i = physical line (i+N) % yres).
148 * + read what's already rendered on the screen and
149 * write it in a different place (this is cfb_copyarea())
150 * + re-render the text to the screen
151 *
152 * Whether to use wrapping or panning can only be figured out at
153 * runtime (when we know whether our font height is a multiple
154 * of the pan/wrap step)
155 *
156 */
157
158#define SCROLL_MOVE 0x001
159#define SCROLL_PAN_MOVE 0x002
160#define SCROLL_WRAP_MOVE 0x003
161#define SCROLL_REDRAW 0x004
162#define SCROLL_PAN_REDRAW 0x005
163
164#ifdef CONFIG_FB_TILEBLITTING
165extern void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info,
166 struct display *p, struct fbcon_ops *ops);
167#endif
168extern void fbcon_set_bitops(struct fbcon_ops *ops);
169
170#endif /* _VIDEO_FBCON_H */
diff --git a/drivers/video/console/font_6x11.c b/drivers/video/console/font_6x11.c
new file mode 100644
index 000000000000..c52f1294044a
--- /dev/null
+++ b/drivers/video/console/font_6x11.c
@@ -0,0 +1,3351 @@
1/**********************************************/
2/* */
3/* Font file generated by rthelen */
4/* */
5/**********************************************/
6
7#include <linux/font.h>
8
9#define FONTDATAMAX (11*256)
10
11static unsigned char fontdata_6x11[FONTDATAMAX] = {
12
13 /* 0 0x00 '^@' */
14 0x00, /* 00000000 */
15 0x00, /* 00000000 */
16 0x00, /* 00000000 */
17 0x00, /* 00000000 */
18 0x00, /* 00000000 */
19 0x00, /* 00000000 */
20 0x00, /* 00000000 */
21 0x00, /* 00000000 */
22 0x00, /* 00000000 */
23 0x00, /* 00000000 */
24 0x00, /* 00000000 */
25
26 /* 1 0x01 '^A' */
27 0x00, /* 00000000 */
28 0x78, /* 0 000 */
29 0x84, /* 0000 00 */
30 0xcc, /* 00 00 */
31 0x84, /* 0000 00 */
32 0xb4, /* 0 0 00 */
33 0x84, /* 0000 00 */
34 0x78, /* 0 000 */
35 0x00, /* 00000000 */
36 0x00, /* 00000000 */
37 0x00, /* 00000000 */
38
39 /* 2 0x02 '^B' */
40 0x00, /* 00000000 */
41 0x78, /* 0 000 */
42 0xfc, /* 00 */
43 0xb4, /* 0 0 00 */
44 0xfc, /* 00 */
45 0xcc, /* 00 00 */
46 0xfc, /* 00 */
47 0x78, /* 0 000 */
48 0x00, /* 00000000 */
49 0x00, /* 00000000 */
50 0x00, /* 00000000 */
51
52 /* 3 0x03 '^C' */
53 0x00, /* 00000000 */
54 0x00, /* 00000000 */
55 0x28, /* 00 0 000 */
56 0x7c, /* 0 00 */
57 0x7c, /* 0 00 */
58 0x38, /* 00 000 */
59 0x10, /* 000 0000 */
60 0x00, /* 00000000 */
61 0x00, /* 00000000 */
62 0x00, /* 00000000 */
63 0x00, /* 00000000 */
64
65 /* 4 0x04 '^D' */
66 0x00, /* 00000000 */
67 0x00, /* 00000000 */
68 0x10, /* 000 0000 */
69 0x38, /* 00 000 */
70 0x7c, /* 0 00 */
71 0x38, /* 00 000 */
72 0x10, /* 000 0000 */
73 0x00, /* 00000000 */
74 0x00, /* 00000000 */
75 0x00, /* 00000000 */
76 0x00, /* 00000000 */
77
78 /* 5 0x05 '^E' */
79 0x00, /* 00000000 */
80 0x00, /* 00000000 */
81 0x38, /* 00 000 */
82 0x38, /* 00 000 */
83 0x6c, /* 0 0 00 */
84 0x6c, /* 0 0 00 */
85 0x10, /* 000 0000 */
86 0x38, /* 00 000 */
87 0x00, /* 00000000 */
88 0x00, /* 00000000 */
89 0x00, /* 00000000 */
90
91 /* 6 0x06 '^F' */
92 0x00, /* 00000000 */
93 0x00, /* 00000000 */
94 0x10, /* 000 0000 */
95 0x38, /* 00 000 */
96 0x7c, /* 0 00 */
97 0x7c, /* 0 00 */
98 0x10, /* 000 0000 */
99 0x38, /* 00 000 */
100 0x00, /* 00000000 */
101 0x00, /* 00000000 */
102 0x00, /* 00000000 */
103
104 /* 7 0x07 '^G' */
105 0x00, /* 00000000 */
106 0x00, /* 00000000 */
107 0x00, /* 00000000 */
108 0x30, /* 00 0000 */
109 0x78, /* 0 000 */
110 0x30, /* 00 0000 */
111 0x00, /* 00000000 */
112 0x00, /* 00000000 */
113 0x00, /* 00000000 */
114 0x00, /* 00000000 */
115 0x00, /* 00000000 */
116
117 /* 8 0x08 '^H' */
118 0xff, /* */
119 0xff, /* */
120 0xff, /* */
121 0xcf, /* 00 */
122 0x87, /* 0000 */
123 0xcf, /* 00 */
124 0xff, /* */
125 0xff, /* */
126 0xff, /* */
127 0xff, /* */
128 0xff, /* */
129
130 /* 9 0x09 '^I' */
131 0x00, /* 00000000 */
132 0x00, /* 00000000 */
133 0x30, /* 00 0000 */
134 0x48, /* 0 00 000 */
135 0x84, /* 0000 00 */
136 0x48, /* 0 00 000 */
137 0x30, /* 00 0000 */
138 0x00, /* 00000000 */
139 0x00, /* 00000000 */
140 0x00, /* 00000000 */
141 0x00, /* 00000000 */
142
143 /* 10 0x0a '^J' */
144 0xff, /* */
145 0xff, /* */
146 0xcf, /* 00 */
147 0xb7, /* 0 0 */
148 0x7b, /* 0 0 */
149 0xb7, /* 0 0 */
150 0xcf, /* 00 */
151 0xff, /* */
152 0xff, /* */
153 0xff, /* */
154 0xff, /* */
155
156 /* 11 0x0b '^K' */
157 0x00, /* 00000000 */
158 0x3c, /* 00 00 */
159 0x14, /* 000 0 00 */
160 0x20, /* 00 00000 */
161 0x78, /* 0 000 */
162 0x44, /* 0 000 00 */
163 0x44, /* 0 000 00 */
164 0x38, /* 00 000 */
165 0x00, /* 00000000 */
166 0x00, /* 00000000 */
167 0x00, /* 00000000 */
168
169 /* 12 0x0c '^L' */
170 0x00, /* 00000000 */
171 0x38, /* 00 000 */
172 0x44, /* 0 000 00 */
173 0x44, /* 0 000 00 */
174 0x38, /* 00 000 */
175 0x10, /* 000 0000 */
176 0x7c, /* 0 00 */
177 0x10, /* 000 0000 */
178 0x00, /* 00000000 */
179 0x00, /* 00000000 */
180 0x00, /* 00000000 */
181
182 /* 13 0x0d '^M' */
183 0x00, /* 00000000 */
184 0x3c, /* 00 00 */
185 0x24, /* 00 00 00 */
186 0x3c, /* 00 00 */
187 0x20, /* 00 00000 */
188 0x20, /* 00 00000 */
189 0xe0, /* 00000 */
190 0xc0, /* 000000 */
191 0x00, /* 00000000 */
192 0x00, /* 00000000 */
193 0x00, /* 00000000 */
194
195 /* 14 0x0e '^N' */
196 0x00, /* 00000000 */
197 0x7c, /* 0 00 */
198 0x44, /* 0 000 00 */
199 0x7c, /* 0 00 */
200 0x44, /* 0 000 00 */
201 0x44, /* 0 000 00 */
202 0xcc, /* 00 00 */
203 0xcc, /* 00 00 */
204 0x00, /* 00000000 */
205 0x00, /* 00000000 */
206 0x00, /* 00000000 */
207
208 /* 15 0x0f '^O' */
209 0x00, /* 00000000 */
210 0x10, /* 000 0000 */
211 0x54, /* 0 0 0 00 */
212 0x38, /* 00 000 */
213 0x6c, /* 0 0 00 */
214 0x38, /* 00 000 */
215 0x54, /* 0 0 0 00 */
216 0x10, /* 000 0000 */
217 0x00, /* 00000000 */
218 0x00, /* 00000000 */
219 0x00, /* 00000000 */
220
221 /* 16 0x10 '^P' */
222 0x00, /* 00000000 */
223 0x40, /* 0 000000 */
224 0x60, /* 0 00000 */
225 0x70, /* 0 0000 */
226 0x7c, /* 0 00 */
227 0x70, /* 0 0000 */
228 0x60, /* 0 00000 */
229 0x40, /* 0 000000 */
230 0x00, /* 00000000 */
231 0x00, /* 00000000 */
232 0x00, /* 00000000 */
233
234 /* 17 0x11 '^Q' */
235 0x00, /* 00000000 */
236 0x04, /* 00000 00 */
237 0x0c, /* 0000 00 */
238 0x1c, /* 000 00 */
239 0x7c, /* 0 00 */
240 0x1c, /* 000 00 */
241 0x0c, /* 0000 00 */
242 0x04, /* 00000 00 */
243 0x00, /* 00000000 */
244 0x00, /* 00000000 */
245 0x00, /* 00000000 */
246
247 /* 18 0x12 '^R' */
248 0x00, /* 00000000 */
249 0x10, /* 000 0000 */
250 0x38, /* 00 000 */
251 0x54, /* 0 0 0 00 */
252 0x10, /* 000 0000 */
253 0x54, /* 0 0 0 00 */
254 0x38, /* 00 000 */
255 0x10, /* 000 0000 */
256 0x00, /* 00000000 */
257 0x00, /* 00000000 */
258 0x00, /* 00000000 */
259
260 /* 19 0x13 '^S' */
261 0x00, /* 00000000 */
262 0x48, /* 0 00 000 */
263 0x48, /* 0 00 000 */
264 0x48, /* 0 00 000 */
265 0x48, /* 0 00 000 */
266 0x48, /* 0 00 000 */
267 0x00, /* 00000000 */
268 0x48, /* 0 00 000 */
269 0x00, /* 00000000 */
270 0x00, /* 00000000 */
271 0x00, /* 00000000 */
272
273 /* 20 0x14 '^T' */
274 0x3c, /* 00 00 */
275 0x54, /* 0 0 0 00 */
276 0x54, /* 0 0 0 00 */
277 0x54, /* 0 0 0 00 */
278 0x3c, /* 00 00 */
279 0x14, /* 000 0 00 */
280 0x14, /* 000 0 00 */
281 0x14, /* 000 0 00 */
282 0x00, /* 00000000 */
283 0x00, /* 00000000 */
284 0x00, /* 00000000 */
285
286 /* 21 0x15 '^U' */
287 0x38, /* 00 000 */
288 0x44, /* 0 000 00 */
289 0x24, /* 00 00 00 */
290 0x50, /* 0 0 0000 */
291 0x48, /* 0 00 000 */
292 0x24, /* 00 00 00 */
293 0x14, /* 000 0 00 */
294 0x48, /* 0 00 000 */
295 0x44, /* 0 000 00 */
296 0x38, /* 00 000 */
297 0x00, /* 00000000 */
298
299 /* 22 0x16 '^V' */
300 0x00, /* 00000000 */
301 0x00, /* 00000000 */
302 0x00, /* 00000000 */
303 0x00, /* 00000000 */
304 0x00, /* 00000000 */
305 0xf8, /* 000 */
306 0xf8, /* 000 */
307 0xf8, /* 000 */
308 0x00, /* 00000000 */
309 0x00, /* 00000000 */
310 0x00, /* 00000000 */
311
312 /* 23 0x17 '^W' */
313 0x00, /* 00000000 */
314 0x10, /* 000 0000 */
315 0x38, /* 00 000 */
316 0x54, /* 0 0 0 00 */
317 0x10, /* 000 0000 */
318 0x54, /* 0 0 0 00 */
319 0x38, /* 00 000 */
320 0x10, /* 000 0000 */
321 0x7c, /* 0 00 */
322 0x00, /* 00000000 */
323 0x00, /* 00000000 */
324
325 /* 24 0x18 '^X' */
326 0x00, /* 00000000 */
327 0x10, /* 000 0000 */
328 0x38, /* 00 000 */
329 0x54, /* 0 0 0 00 */
330 0x10, /* 000 0000 */
331 0x10, /* 000 0000 */
332 0x10, /* 000 0000 */
333 0x10, /* 000 0000 */
334 0x00, /* 00000000 */
335 0x00, /* 00000000 */
336 0x00, /* 00000000 */
337
338 /* 25 0x19 '^Y' */
339 0x00, /* 00000000 */
340 0x10, /* 000 0000 */
341 0x10, /* 000 0000 */
342 0x10, /* 000 0000 */
343 0x10, /* 000 0000 */
344 0x54, /* 0 0 0 00 */
345 0x38, /* 00 000 */
346 0x10, /* 000 0000 */
347 0x00, /* 00000000 */
348 0x00, /* 00000000 */
349 0x00, /* 00000000 */
350
351 /* 26 0x1a '^Z' */
352 0x00, /* 00000000 */
353 0x00, /* 00000000 */
354 0x10, /* 000 0000 */
355 0x08, /* 0000 000 */
356 0x7c, /* 0 00 */
357 0x08, /* 0000 000 */
358 0x10, /* 000 0000 */
359 0x00, /* 00000000 */
360 0x00, /* 00000000 */
361 0x00, /* 00000000 */
362 0x00, /* 00000000 */
363
364 /* 27 0x1b '^[' */
365 0x00, /* 00000000 */
366 0x00, /* 00000000 */
367 0x10, /* 000 0000 */
368 0x20, /* 00 00000 */
369 0x7c, /* 0 00 */
370 0x20, /* 00 00000 */
371 0x10, /* 000 0000 */
372 0x00, /* 00000000 */
373 0x00, /* 00000000 */
374 0x00, /* 00000000 */
375 0x00, /* 00000000 */
376
377 /* 28 0x1c '^\' */
378 0x00, /* 00000000 */
379 0x00, /* 00000000 */
380 0x00, /* 00000000 */
381 0x00, /* 00000000 */
382 0x40, /* 0 000000 */
383 0x40, /* 0 000000 */
384 0x40, /* 0 000000 */
385 0x78, /* 0 000 */
386 0x00, /* 00000000 */
387 0x00, /* 00000000 */
388 0x00, /* 00000000 */
389
390 /* 29 0x1d '^]' */
391 0x00, /* 00000000 */
392 0x00, /* 00000000 */
393 0x48, /* 0 00 000 */
394 0x84, /* 0000 00 */
395 0xfc, /* 00 */
396 0x84, /* 0000 00 */
397 0x48, /* 0 00 000 */
398 0x00, /* 00000000 */
399 0x00, /* 00000000 */
400 0x00, /* 00000000 */
401 0x00, /* 00000000 */
402
403 /* 30 0x1e '^^' */
404 0x00, /* 00000000 */
405 0x00, /* 00000000 */
406 0x10, /* 000 0000 */
407 0x10, /* 000 0000 */
408 0x38, /* 00 000 */
409 0x38, /* 00 000 */
410 0x7c, /* 0 00 */
411 0x7c, /* 0 00 */
412 0x00, /* 00000000 */
413 0x00, /* 00000000 */
414 0x00, /* 00000000 */
415
416 /* 31 0x1f '^`' */
417 0x00, /* 00000000 */
418 0x00, /* 00000000 */
419 0x7c, /* 0 00 */
420 0x7c, /* 0 00 */
421 0x38, /* 00 000 */
422 0x38, /* 00 000 */
423 0x10, /* 000 0000 */
424 0x10, /* 000 0000 */
425 0x00, /* 00000000 */
426 0x00, /* 00000000 */
427 0x00, /* 00000000 */
428
429 /* 32 0x20 ' ' */
430 0x00, /* 00000000 */
431 0x00, /* 00000000 */
432 0x00, /* 00000000 */
433 0x00, /* 00000000 */
434 0x00, /* 00000000 */
435 0x00, /* 00000000 */
436 0x00, /* 00000000 */
437 0x00, /* 00000000 */
438 0x00, /* 00000000 */
439 0x00, /* 00000000 */
440 0x00, /* 00000000 */
441
442 /* 33 0x21 '!' */
443 0x00, /* 00000000 */
444 0x10, /* 000 0000 */
445 0x10, /* 000 0000 */
446 0x10, /* 000 0000 */
447 0x10, /* 000 0000 */
448 0x10, /* 000 0000 */
449 0x00, /* 00000000 */
450 0x10, /* 000 0000 */
451 0x00, /* 00000000 */
452 0x00, /* 00000000 */
453 0x00, /* 00000000 */
454
455 /* 34 0x22 '"' */
456 0x28, /* 00 0 000 */
457 0x28, /* 00 0 000 */
458 0x28, /* 00 0 000 */
459 0x00, /* 00000000 */
460 0x00, /* 00000000 */
461 0x00, /* 00000000 */
462 0x00, /* 00000000 */
463 0x00, /* 00000000 */
464 0x00, /* 00000000 */
465 0x00, /* 00000000 */
466 0x00, /* 00000000 */
467
468 /* 35 0x23 '#' */
469 0x00, /* 00000000 */
470 0x00, /* 00000000 */
471 0x28, /* 00 0 000 */
472 0x7c, /* 0 00 */
473 0x28, /* 00 0 000 */
474 0x28, /* 00 0 000 */
475 0x7c, /* 0 00 */
476 0x28, /* 00 0 000 */
477 0x00, /* 00000000 */
478 0x00, /* 00000000 */
479 0x00, /* 00000000 */
480
481 /* 36 0x24 '$' */
482 0x10, /* 000 0000 */
483 0x38, /* 00 000 */
484 0x54, /* 0 0 0 00 */
485 0x50, /* 0 0 0000 */
486 0x38, /* 00 000 */
487 0x14, /* 000 0 00 */
488 0x54, /* 0 0 0 00 */
489 0x38, /* 00 000 */
490 0x10, /* 000 0000 */
491 0x00, /* 00000000 */
492 0x00, /* 00000000 */
493
494 /* 37 0x25 '%' */
495 0x00, /* 00000000 */
496 0x64, /* 0 00 00 */
497 0x64, /* 0 00 00 */
498 0x08, /* 0000 000 */
499 0x10, /* 000 0000 */
500 0x20, /* 00 00000 */
501 0x4c, /* 0 00 00 */
502 0x4c, /* 0 00 00 */
503 0x00, /* 00000000 */
504 0x00, /* 00000000 */
505 0x00, /* 00000000 */
506
507 /* 38 0x26 '&' */
508 0x00, /* 00000000 */
509 0x30, /* 00 0000 */
510 0x48, /* 0 00 000 */
511 0x50, /* 0 0 0000 */
512 0x20, /* 00 00000 */
513 0x54, /* 0 0 0 00 */
514 0x48, /* 0 00 000 */
515 0x34, /* 00 0 00 */
516 0x00, /* 00000000 */
517 0x00, /* 00000000 */
518 0x00, /* 00000000 */
519
520 /* 39 0x27 ''' */
521 0x10, /* 000 0000 */
522 0x10, /* 000 0000 */
523 0x10, /* 000 0000 */
524 0x00, /* 00000000 */
525 0x00, /* 00000000 */
526 0x00, /* 00000000 */
527 0x00, /* 00000000 */
528 0x00, /* 00000000 */
529 0x00, /* 00000000 */
530 0x00, /* 00000000 */
531 0x00, /* 00000000 */
532
533 /* 40 0x28 '(' */
534 0x04, /* 00000 00 */
535 0x08, /* 0000 000 */
536 0x10, /* 000 0000 */
537 0x10, /* 000 0000 */
538 0x10, /* 000 0000 */
539 0x10, /* 000 0000 */
540 0x10, /* 000 0000 */
541 0x08, /* 0000 000 */
542 0x04, /* 00000 00 */
543 0x00, /* 00000000 */
544 0x00, /* 00000000 */
545
546 /* 41 0x29 ')' */
547 0x20, /* 00 00000 */
548 0x10, /* 000 0000 */
549 0x08, /* 0000 000 */
550 0x08, /* 0000 000 */
551 0x08, /* 0000 000 */
552 0x08, /* 0000 000 */
553 0x08, /* 0000 000 */
554 0x10, /* 000 0000 */
555 0x20, /* 00 00000 */
556 0x00, /* 00000000 */
557 0x00, /* 00000000 */
558
559 /* 42 0x2a '*' */
560 0x00, /* 00000000 */
561 0x10, /* 000 0000 */
562 0x54, /* 0 0 0 00 */
563 0x38, /* 00 000 */
564 0x54, /* 0 0 0 00 */
565 0x10, /* 000 0000 */
566 0x00, /* 00000000 */
567 0x00, /* 00000000 */
568 0x00, /* 00000000 */
569 0x00, /* 00000000 */
570 0x00, /* 00000000 */
571
572 /* 43 0x2b '+' */
573 0x00, /* 00000000 */
574 0x00, /* 00000000 */
575 0x10, /* 000 0000 */
576 0x10, /* 000 0000 */
577 0x7c, /* 0 00 */
578 0x10, /* 000 0000 */
579 0x10, /* 000 0000 */
580 0x00, /* 00000000 */
581 0x00, /* 00000000 */
582 0x00, /* 00000000 */
583 0x00, /* 00000000 */
584
585 /* 44 0x2c ',' */
586 0x00, /* 00000000 */
587 0x00, /* 00000000 */
588 0x00, /* 00000000 */
589 0x00, /* 00000000 */
590 0x00, /* 00000000 */
591 0x00, /* 00000000 */
592 0x30, /* 00 0000 */
593 0x30, /* 00 0000 */
594 0x10, /* 000 0000 */
595 0x20, /* 00 00000 */
596 0x00, /* 00000000 */
597
598 /* 45 0x2d '-' */
599 0x00, /* 00000000 */
600 0x00, /* 00000000 */
601 0x00, /* 00000000 */
602 0x00, /* 00000000 */
603 0x7c, /* 0 00 */
604 0x00, /* 00000000 */
605 0x00, /* 00000000 */
606 0x00, /* 00000000 */
607 0x00, /* 00000000 */
608 0x00, /* 00000000 */
609 0x00, /* 00000000 */
610
611 /* 46 0x2e '.' */
612 0x00, /* 00000000 */
613 0x00, /* 00000000 */
614 0x00, /* 00000000 */
615 0x00, /* 00000000 */
616 0x00, /* 00000000 */
617 0x00, /* 00000000 */
618 0x18, /* 000 000 */
619 0x18, /* 000 000 */
620 0x00, /* 00000000 */
621 0x00, /* 00000000 */
622 0x00, /* 00000000 */
623
624 /* 47 0x2f '/' */
625 0x04, /* 00000 00 */
626 0x04, /* 00000 00 */
627 0x08, /* 0000 000 */
628 0x08, /* 0000 000 */
629 0x10, /* 000 0000 */
630 0x10, /* 000 0000 */
631 0x20, /* 00 00000 */
632 0x20, /* 00 00000 */
633 0x40, /* 0 000000 */
634 0x40, /* 0 000000 */
635 0x00, /* 00000000 */
636
637 /* 48 0x30 '0' */
638 0x00, /* 00000000 */
639 0x38, /* 00 000 */
640 0x44, /* 0 000 00 */
641 0x4c, /* 0 00 00 */
642 0x54, /* 0 0 0 00 */
643 0x64, /* 0 00 00 */
644 0x44, /* 0 000 00 */
645 0x38, /* 00 000 */
646 0x00, /* 00000000 */
647 0x00, /* 00000000 */
648 0x00, /* 00000000 */
649
650 /* 49 0x31 '1' */
651 0x00, /* 00000000 */
652 0x08, /* 0000 000 */
653 0x18, /* 000 000 */
654 0x08, /* 0000 000 */
655 0x08, /* 0000 000 */
656 0x08, /* 0000 000 */
657 0x08, /* 0000 000 */
658 0x1c, /* 000 00 */
659 0x00, /* 00000000 */
660 0x00, /* 00000000 */
661 0x00, /* 00000000 */
662
663 /* 50 0x32 '2' */
664 0x00, /* 00000000 */
665 0x38, /* 00 000 */
666 0x44, /* 0 000 00 */
667 0x04, /* 00000 00 */
668 0x08, /* 0000 000 */
669 0x10, /* 000 0000 */
670 0x20, /* 00 00000 */
671 0x7c, /* 0 00 */
672 0x00, /* 00000000 */
673 0x00, /* 00000000 */
674 0x00, /* 00000000 */
675
676 /* 51 0x33 '3' */
677 0x00, /* 00000000 */
678 0x38, /* 00 000 */
679 0x44, /* 0 000 00 */
680 0x04, /* 00000 00 */
681 0x18, /* 000 000 */
682 0x04, /* 00000 00 */
683 0x44, /* 0 000 00 */
684 0x38, /* 00 000 */
685 0x00, /* 00000000 */
686 0x00, /* 00000000 */
687 0x00, /* 00000000 */
688
689 /* 52 0x34 '4' */
690 0x00, /* 00000000 */
691 0x08, /* 0000 000 */
692 0x18, /* 000 000 */
693 0x28, /* 00 0 000 */
694 0x48, /* 0 00 000 */
695 0x7c, /* 0 00 */
696 0x08, /* 0000 000 */
697 0x1c, /* 000 00 */
698 0x00, /* 00000000 */
699 0x00, /* 00000000 */
700 0x00, /* 00000000 */
701
702 /* 53 0x35 '5' */
703 0x00, /* 00000000 */
704 0x7c, /* 0 00 */
705 0x40, /* 0 000000 */
706 0x78, /* 0 000 */
707 0x04, /* 00000 00 */
708 0x04, /* 00000 00 */
709 0x44, /* 0 000 00 */
710 0x38, /* 00 000 */
711 0x00, /* 00000000 */
712 0x00, /* 00000000 */
713 0x00, /* 00000000 */
714
715 /* 54 0x36 '6' */
716 0x00, /* 00000000 */
717 0x38, /* 00 000 */
718 0x40, /* 0 000000 */
719 0x78, /* 0 000 */
720 0x44, /* 0 000 00 */
721 0x44, /* 0 000 00 */
722 0x44, /* 0 000 00 */
723 0x38, /* 00 000 */
724 0x00, /* 00000000 */
725 0x00, /* 00000000 */
726 0x00, /* 00000000 */
727
728 /* 55 0x37 '7' */
729 0x00, /* 00000000 */
730 0x7c, /* 0 00 */
731 0x04, /* 00000 00 */
732 0x04, /* 00000 00 */
733 0x08, /* 0000 000 */
734 0x10, /* 000 0000 */
735 0x10, /* 000 0000 */
736 0x10, /* 000 0000 */
737 0x00, /* 00000000 */
738 0x00, /* 00000000 */
739 0x00, /* 00000000 */
740
741 /* 56 0x38 '8' */
742 0x00, /* 00000000 */
743 0x38, /* 00 000 */
744 0x44, /* 0 000 00 */
745 0x44, /* 0 000 00 */
746 0x38, /* 00 000 */
747 0x44, /* 0 000 00 */
748 0x44, /* 0 000 00 */
749 0x38, /* 00 000 */
750 0x00, /* 00000000 */
751 0x00, /* 00000000 */
752 0x00, /* 00000000 */
753
754 /* 57 0x39 '9' */
755 0x00, /* 00000000 */
756 0x38, /* 00 000 */
757 0x44, /* 0 000 00 */
758 0x44, /* 0 000 00 */
759 0x44, /* 0 000 00 */
760 0x3c, /* 00 00 */
761 0x04, /* 00000 00 */
762 0x38, /* 00 000 */
763 0x00, /* 00000000 */
764 0x00, /* 00000000 */
765 0x00, /* 00000000 */
766
767 /* 58 0x3a ':' */
768 0x00, /* 00000000 */
769 0x00, /* 00000000 */
770 0x00, /* 00000000 */
771 0x18, /* 000 000 */
772 0x18, /* 000 000 */
773 0x00, /* 00000000 */
774 0x18, /* 000 000 */
775 0x18, /* 000 000 */
776 0x00, /* 00000000 */
777 0x00, /* 00000000 */
778 0x00, /* 00000000 */
779
780 /* 59 0x3b ';' */
781 0x00, /* 00000000 */
782 0x00, /* 00000000 */
783 0x00, /* 00000000 */
784 0x30, /* 00 0000 */
785 0x30, /* 00 0000 */
786 0x00, /* 00000000 */
787 0x30, /* 00 0000 */
788 0x30, /* 00 0000 */
789 0x10, /* 000 0000 */
790 0x20, /* 00 00000 */
791 0x00, /* 00000000 */
792
793 /* 60 0x3c '<' */
794 0x00, /* 00000000 */
795 0x04, /* 00000 00 */
796 0x08, /* 0000 000 */
797 0x10, /* 000 0000 */
798 0x20, /* 00 00000 */
799 0x10, /* 000 0000 */
800 0x08, /* 0000 000 */
801 0x04, /* 00000 00 */
802 0x00, /* 00000000 */
803 0x00, /* 00000000 */
804 0x00, /* 00000000 */
805
806 /* 61 0x3d '=' */
807 0x00, /* 00000000 */
808 0x00, /* 00000000 */
809 0x00, /* 00000000 */
810 0x7c, /* 0 00 */
811 0x00, /* 00000000 */
812 0x7c, /* 0 00 */
813 0x00, /* 00000000 */
814 0x00, /* 00000000 */
815 0x00, /* 00000000 */
816 0x00, /* 00000000 */
817 0x00, /* 00000000 */
818
819 /* 62 0x3e '>' */
820 0x00, /* 00000000 */
821 0x20, /* 00 00000 */
822 0x10, /* 000 0000 */
823 0x08, /* 0000 000 */
824 0x04, /* 00000 00 */
825 0x08, /* 0000 000 */
826 0x10, /* 000 0000 */
827 0x20, /* 00 00000 */
828 0x00, /* 00000000 */
829 0x00, /* 00000000 */
830 0x00, /* 00000000 */
831
832 /* 63 0x3f '?' */
833 0x00, /* 00000000 */
834 0x38, /* 00 000 */
835 0x44, /* 0 000 00 */
836 0x04, /* 00000 00 */
837 0x08, /* 0000 000 */
838 0x10, /* 000 0000 */
839 0x00, /* 00000000 */
840 0x10, /* 000 0000 */
841 0x00, /* 00000000 */
842 0x00, /* 00000000 */
843 0x00, /* 00000000 */
844
845 /* 64 0x40 '@' */
846 0x00, /* 00000000 */
847 0x38, /* 00 000 */
848 0x44, /* 0 000 00 */
849 0x74, /* 0 0 00 */
850 0x54, /* 0 0 0 00 */
851 0x78, /* 0 000 */
852 0x40, /* 0 000000 */
853 0x38, /* 00 000 */
854 0x00, /* 00000000 */
855 0x00, /* 00000000 */
856 0x00, /* 00000000 */
857
858 /* 65 0x41 'A' */
859 0x00, /* 00000000 */
860 0x38, /* 00 000 */
861 0x44, /* 0 000 00 */
862 0x44, /* 0 000 00 */
863 0x7c, /* 0 00 */
864 0x44, /* 0 000 00 */
865 0x44, /* 0 000 00 */
866 0x44, /* 0 000 00 */
867 0x00, /* 00000000 */
868 0x00, /* 00000000 */
869 0x00, /* 00000000 */
870
871 /* 66 0x42 'B' */
872 0x00, /* 00000000 */
873 0x78, /* 0 000 */
874 0x44, /* 0 000 00 */
875 0x44, /* 0 000 00 */
876 0x78, /* 0 000 */
877 0x44, /* 0 000 00 */
878 0x44, /* 0 000 00 */
879 0x78, /* 0 000 */
880 0x00, /* 00000000 */
881 0x00, /* 00000000 */
882 0x00, /* 00000000 */
883
884 /* 67 0x43 'C' */
885 0x00, /* 00000000 */
886 0x38, /* 00 000 */
887 0x44, /* 0 000 00 */
888 0x40, /* 0 000000 */
889 0x40, /* 0 000000 */
890 0x40, /* 0 000000 */
891 0x44, /* 0 000 00 */
892 0x38, /* 00 000 */
893 0x00, /* 00000000 */
894 0x00, /* 00000000 */
895 0x00, /* 00000000 */
896
897 /* 68 0x44 'D' */
898 0x00, /* 00000000 */
899 0x78, /* 0 000 */
900 0x44, /* 0 000 00 */
901 0x44, /* 0 000 00 */
902 0x44, /* 0 000 00 */
903 0x44, /* 0 000 00 */
904 0x44, /* 0 000 00 */
905 0x78, /* 0 000 */
906 0x00, /* 00000000 */
907 0x00, /* 00000000 */
908 0x00, /* 00000000 */
909
910 /* 69 0x45 'E' */
911 0x00, /* 00000000 */
912 0x7c, /* 0 00 */
913 0x40, /* 0 000000 */
914 0x40, /* 0 000000 */
915 0x78, /* 0 000 */
916 0x40, /* 0 000000 */
917 0x40, /* 0 000000 */
918 0x7c, /* 0 00 */
919 0x00, /* 00000000 */
920 0x00, /* 00000000 */
921 0x00, /* 00000000 */
922
923 /* 70 0x46 'F' */
924 0x00, /* 00000000 */
925 0x7c, /* 0 00 */
926 0x40, /* 0 000000 */
927 0x40, /* 0 000000 */
928 0x78, /* 0 000 */
929 0x40, /* 0 000000 */
930 0x40, /* 0 000000 */
931 0x40, /* 0 000000 */
932 0x00, /* 00000000 */
933 0x00, /* 00000000 */
934 0x00, /* 00000000 */
935
936 /* 71 0x47 'G' */
937 0x00, /* 00000000 */
938 0x38, /* 00 000 */
939 0x44, /* 0 000 00 */
940 0x40, /* 0 000000 */
941 0x4c, /* 0 00 00 */
942 0x44, /* 0 000 00 */
943 0x44, /* 0 000 00 */
944 0x38, /* 00 000 */
945 0x00, /* 00000000 */
946 0x00, /* 00000000 */
947 0x00, /* 00000000 */
948
949 /* 72 0x48 'H' */
950 0x00, /* 00000000 */
951 0x44, /* 0 000 00 */
952 0x44, /* 0 000 00 */
953 0x44, /* 0 000 00 */
954 0x7c, /* 0 00 */
955 0x44, /* 0 000 00 */
956 0x44, /* 0 000 00 */
957 0x44, /* 0 000 00 */
958 0x00, /* 00000000 */
959 0x00, /* 00000000 */
960 0x00, /* 00000000 */
961
962 /* 73 0x49 'I' */
963 0x00, /* 00000000 */
964 0x38, /* 00 000 */
965 0x10, /* 000 0000 */
966 0x10, /* 000 0000 */
967 0x10, /* 000 0000 */
968 0x10, /* 000 0000 */
969 0x10, /* 000 0000 */
970 0x38, /* 00 000 */
971 0x00, /* 00000000 */
972 0x00, /* 00000000 */
973 0x00, /* 00000000 */
974
975 /* 74 0x4a 'J' */
976 0x00, /* 00000000 */
977 0x04, /* 00000 00 */
978 0x04, /* 00000 00 */
979 0x04, /* 00000 00 */
980 0x04, /* 00000 00 */
981 0x44, /* 0 000 00 */
982 0x44, /* 0 000 00 */
983 0x38, /* 00 000 */
984 0x00, /* 00000000 */
985 0x00, /* 00000000 */
986 0x00, /* 00000000 */
987
988 /* 75 0x4b 'K' */
989 0x00, /* 00000000 */
990 0x44, /* 0 000 00 */
991 0x48, /* 0 00 000 */
992 0x50, /* 0 0 0000 */
993 0x60, /* 0 00000 */
994 0x50, /* 0 0 0000 */
995 0x48, /* 0 00 000 */
996 0x44, /* 0 000 00 */
997 0x00, /* 00000000 */
998 0x00, /* 00000000 */
999 0x00, /* 00000000 */
1000
1001 /* 76 0x4c 'L' */
1002 0x00, /* 00000000 */
1003 0x40, /* 0 000000 */
1004 0x40, /* 0 000000 */
1005 0x40, /* 0 000000 */
1006 0x40, /* 0 000000 */
1007 0x40, /* 0 000000 */
1008 0x40, /* 0 000000 */
1009 0x7c, /* 0 00 */
1010 0x00, /* 00000000 */
1011 0x00, /* 00000000 */
1012 0x00, /* 00000000 */
1013
1014 /* 77 0x4d 'M' */
1015 0x00, /* 00000000 */
1016 0x44, /* 0 000 00 */
1017 0x6c, /* 0 0 00 */
1018 0x54, /* 0 0 0 00 */
1019 0x54, /* 0 0 0 00 */
1020 0x44, /* 0 000 00 */
1021 0x44, /* 0 000 00 */
1022 0x44, /* 0 000 00 */
1023 0x00, /* 00000000 */
1024 0x00, /* 00000000 */
1025 0x00, /* 00000000 */
1026
1027 /* 78 0x4e 'N' */
1028 0x00, /* 00000000 */
1029 0x44, /* 0 000 00 */
1030 0x64, /* 0 00 00 */
1031 0x54, /* 0 0 0 00 */
1032 0x4c, /* 0 00 00 */
1033 0x44, /* 0 000 00 */
1034 0x44, /* 0 000 00 */
1035 0x44, /* 0 000 00 */
1036 0x00, /* 00000000 */
1037 0x00, /* 00000000 */
1038 0x00, /* 00000000 */
1039
1040 /* 79 0x4f 'O' */
1041 0x00, /* 00000000 */
1042 0x38, /* 00 000 */
1043 0x44, /* 0 000 00 */
1044 0x44, /* 0 000 00 */
1045 0x44, /* 0 000 00 */
1046 0x44, /* 0 000 00 */
1047 0x44, /* 0 000 00 */
1048 0x38, /* 00 000 */
1049 0x00, /* 00000000 */
1050 0x00, /* 00000000 */
1051 0x00, /* 00000000 */
1052
1053 /* 80 0x50 'P' */
1054 0x00, /* 00000000 */
1055 0x78, /* 0 000 */
1056 0x44, /* 0 000 00 */
1057 0x44, /* 0 000 00 */
1058 0x78, /* 0 000 */
1059 0x40, /* 0 000000 */
1060 0x40, /* 0 000000 */
1061 0x40, /* 0 000000 */
1062 0x00, /* 00000000 */
1063 0x00, /* 00000000 */
1064 0x00, /* 00000000 */
1065
1066 /* 81 0x51 'Q' */
1067 0x00, /* 00000000 */
1068 0x38, /* 00 000 */
1069 0x44, /* 0 000 00 */
1070 0x44, /* 0 000 00 */
1071 0x44, /* 0 000 00 */
1072 0x44, /* 0 000 00 */
1073 0x54, /* 0 0 0 00 */
1074 0x38, /* 00 000 */
1075 0x04, /* 00000 00 */
1076 0x00, /* 00000000 */
1077 0x00, /* 00000000 */
1078
1079 /* 82 0x52 'R' */
1080 0x00, /* 00000000 */
1081 0x78, /* 0 000 */
1082 0x44, /* 0 000 00 */
1083 0x44, /* 0 000 00 */
1084 0x78, /* 0 000 */
1085 0x44, /* 0 000 00 */
1086 0x44, /* 0 000 00 */
1087 0x44, /* 0 000 00 */
1088 0x00, /* 00000000 */
1089 0x00, /* 00000000 */
1090 0x00, /* 00000000 */
1091
1092 /* 83 0x53 'S' */
1093 0x00, /* 00000000 */
1094 0x38, /* 00 000 */
1095 0x44, /* 0 000 00 */
1096 0x40, /* 0 000000 */
1097 0x38, /* 00 000 */
1098 0x04, /* 00000 00 */
1099 0x44, /* 0 000 00 */
1100 0x38, /* 00 000 */
1101 0x00, /* 00000000 */
1102 0x00, /* 00000000 */
1103 0x00, /* 00000000 */
1104
1105 /* 84 0x54 'T' */
1106 0x00, /* 00000000 */
1107 0x7c, /* 0 00 */
1108 0x10, /* 000 0000 */
1109 0x10, /* 000 0000 */
1110 0x10, /* 000 0000 */
1111 0x10, /* 000 0000 */
1112 0x10, /* 000 0000 */
1113 0x10, /* 000 0000 */
1114 0x00, /* 00000000 */
1115 0x00, /* 00000000 */
1116 0x00, /* 00000000 */
1117
1118 /* 85 0x55 'U' */
1119 0x00, /* 00000000 */
1120 0x44, /* 0 000 00 */
1121 0x44, /* 0 000 00 */
1122 0x44, /* 0 000 00 */
1123 0x44, /* 0 000 00 */
1124 0x44, /* 0 000 00 */
1125 0x44, /* 0 000 00 */
1126 0x38, /* 00 000 */
1127 0x00, /* 00000000 */
1128 0x00, /* 00000000 */
1129 0x00, /* 00000000 */
1130
1131 /* 86 0x56 'V' */
1132 0x00, /* 00000000 */
1133 0x44, /* 0 000 00 */
1134 0x44, /* 0 000 00 */
1135 0x44, /* 0 000 00 */
1136 0x44, /* 0 000 00 */
1137 0x44, /* 0 000 00 */
1138 0x28, /* 00 0 000 */
1139 0x10, /* 000 0000 */
1140 0x00, /* 00000000 */
1141 0x00, /* 00000000 */
1142 0x00, /* 00000000 */
1143
1144 /* 87 0x57 'W' */
1145 0x00, /* 00000000 */
1146 0x44, /* 0 000 00 */
1147 0x44, /* 0 000 00 */
1148 0x44, /* 0 000 00 */
1149 0x54, /* 0 0 0 00 */
1150 0x54, /* 0 0 0 00 */
1151 0x6c, /* 0 0 00 */
1152 0x44, /* 0 000 00 */
1153 0x00, /* 00000000 */
1154 0x00, /* 00000000 */
1155 0x00, /* 00000000 */
1156
1157 /* 88 0x58 'X' */
1158 0x00, /* 00000000 */
1159 0x44, /* 0 000 00 */
1160 0x44, /* 0 000 00 */
1161 0x28, /* 00 0 000 */
1162 0x10, /* 000 0000 */
1163 0x28, /* 00 0 000 */
1164 0x44, /* 0 000 00 */
1165 0x44, /* 0 000 00 */
1166 0x00, /* 00000000 */
1167 0x00, /* 00000000 */
1168 0x00, /* 00000000 */
1169
1170 /* 89 0x59 'Y' */
1171 0x00, /* 00000000 */
1172 0x44, /* 0 000 00 */
1173 0x44, /* 0 000 00 */
1174 0x44, /* 0 000 00 */
1175 0x28, /* 00 0 000 */
1176 0x10, /* 000 0000 */
1177 0x10, /* 000 0000 */
1178 0x10, /* 000 0000 */
1179 0x00, /* 00000000 */
1180 0x00, /* 00000000 */
1181 0x00, /* 00000000 */
1182
1183 /* 90 0x5a 'Z' */
1184 0x00, /* 00000000 */
1185 0x7c, /* 0 00 */
1186 0x04, /* 00000 00 */
1187 0x08, /* 0000 000 */
1188 0x10, /* 000 0000 */
1189 0x20, /* 00 00000 */
1190 0x40, /* 0 000000 */
1191 0x7c, /* 0 00 */
1192 0x00, /* 00000000 */
1193 0x00, /* 00000000 */
1194 0x00, /* 00000000 */
1195
1196 /* 91 0x5b '[' */
1197 0x0c, /* 0000 00 */
1198 0x08, /* 0000 000 */
1199 0x08, /* 0000 000 */
1200 0x08, /* 0000 000 */
1201 0x08, /* 0000 000 */
1202 0x08, /* 0000 000 */
1203 0x08, /* 0000 000 */
1204 0x08, /* 0000 000 */
1205 0x0c, /* 0000 00 */
1206 0x00, /* 00000000 */
1207 0x00, /* 00000000 */
1208
1209 /* 92 0x5c '\' */
1210 0x40, /* 0 000000 */
1211 0x40, /* 0 000000 */
1212 0x20, /* 00 00000 */
1213 0x20, /* 00 00000 */
1214 0x10, /* 000 0000 */
1215 0x10, /* 000 0000 */
1216 0x08, /* 0000 000 */
1217 0x08, /* 0000 000 */
1218 0x04, /* 00000 00 */
1219 0x04, /* 00000 00 */
1220 0x00, /* 00000000 */
1221
1222 /* 93 0x5d ']' */
1223 0x30, /* 00 0000 */
1224 0x10, /* 000 0000 */
1225 0x10, /* 000 0000 */
1226 0x10, /* 000 0000 */
1227 0x10, /* 000 0000 */
1228 0x10, /* 000 0000 */
1229 0x10, /* 000 0000 */
1230 0x10, /* 000 0000 */
1231 0x30, /* 00 0000 */
1232 0x00, /* 00000000 */
1233 0x00, /* 00000000 */
1234
1235 /* 94 0x5e '^' */
1236 0x00, /* 00000000 */
1237 0x10, /* 000 0000 */
1238 0x28, /* 00 0 000 */
1239 0x44, /* 0 000 00 */
1240 0x00, /* 00000000 */
1241 0x00, /* 00000000 */
1242 0x00, /* 00000000 */
1243 0x00, /* 00000000 */
1244 0x00, /* 00000000 */
1245 0x00, /* 00000000 */
1246 0x00, /* 00000000 */
1247
1248 /* 95 0x5f '_' */
1249 0x00, /* 00000000 */
1250 0x00, /* 00000000 */
1251 0x00, /* 00000000 */
1252 0x00, /* 00000000 */
1253 0x00, /* 00000000 */
1254 0x00, /* 00000000 */
1255 0x00, /* 00000000 */
1256 0xfc, /* 00 */
1257 0x00, /* 00000000 */
1258 0x00, /* 00000000 */
1259 0x00, /* 00000000 */
1260
1261 /* 96 0x60 '`' */
1262 0x20, /* 00 00000 */
1263 0x10, /* 000 0000 */
1264 0x08, /* 0000 000 */
1265 0x00, /* 00000000 */
1266 0x00, /* 00000000 */
1267 0x00, /* 00000000 */
1268 0x00, /* 00000000 */
1269 0x00, /* 00000000 */
1270 0x00, /* 00000000 */
1271 0x00, /* 00000000 */
1272 0x00, /* 00000000 */
1273
1274 /* 97 0x61 'a' */
1275 0x00, /* 00000000 */
1276 0x00, /* 00000000 */
1277 0x00, /* 00000000 */
1278 0x3c, /* 00 00 */
1279 0x44, /* 0 000 00 */
1280 0x44, /* 0 000 00 */
1281 0x4c, /* 0 00 00 */
1282 0x34, /* 00 0 00 */
1283 0x00, /* 00000000 */
1284 0x00, /* 00000000 */
1285 0x00, /* 00000000 */
1286
1287 /* 98 0x62 'b' */
1288 0x00, /* 00000000 */
1289 0x40, /* 0 000000 */
1290 0x40, /* 0 000000 */
1291 0x78, /* 0 000 */
1292 0x44, /* 0 000 00 */
1293 0x44, /* 0 000 00 */
1294 0x44, /* 0 000 00 */
1295 0x78, /* 0 000 */
1296 0x00, /* 00000000 */
1297 0x00, /* 00000000 */
1298 0x00, /* 00000000 */
1299
1300 /* 99 0x63 'c' */
1301 0x00, /* 00000000 */
1302 0x00, /* 00000000 */
1303 0x00, /* 00000000 */
1304 0x38, /* 00 000 */
1305 0x44, /* 0 000 00 */
1306 0x40, /* 0 000000 */
1307 0x44, /* 0 000 00 */
1308 0x38, /* 00 000 */
1309 0x00, /* 00000000 */
1310 0x00, /* 00000000 */
1311 0x00, /* 00000000 */
1312
1313 /* 100 0x64 'd' */
1314 0x00, /* 00000000 */
1315 0x04, /* 00000 00 */
1316 0x04, /* 00000 00 */
1317 0x3c, /* 00 00 */
1318 0x44, /* 0 000 00 */
1319 0x44, /* 0 000 00 */
1320 0x44, /* 0 000 00 */
1321 0x3c, /* 00 00 */
1322 0x00, /* 00000000 */
1323 0x00, /* 00000000 */
1324 0x00, /* 00000000 */
1325
1326 /* 101 0x65 'e' */
1327 0x00, /* 00000000 */
1328 0x00, /* 00000000 */
1329 0x00, /* 00000000 */
1330 0x38, /* 00 000 */
1331 0x44, /* 0 000 00 */
1332 0x7c, /* 0 00 */
1333 0x40, /* 0 000000 */
1334 0x3c, /* 00 00 */
1335 0x00, /* 00000000 */
1336 0x00, /* 00000000 */
1337 0x00, /* 00000000 */
1338
1339 /* 102 0x66 'f' */
1340 0x00, /* 00000000 */
1341 0x0c, /* 0000 00 */
1342 0x10, /* 000 0000 */
1343 0x38, /* 00 000 */
1344 0x10, /* 000 0000 */
1345 0x10, /* 000 0000 */
1346 0x10, /* 000 0000 */
1347 0x10, /* 000 0000 */
1348 0x00, /* 00000000 */
1349 0x00, /* 00000000 */
1350 0x00, /* 00000000 */
1351
1352 /* 103 0x67 'g' */
1353 0x00, /* 00000000 */
1354 0x00, /* 00000000 */
1355 0x00, /* 00000000 */
1356 0x3c, /* 00 00 */
1357 0x44, /* 0 000 00 */
1358 0x44, /* 0 000 00 */
1359 0x44, /* 0 000 00 */
1360 0x3c, /* 00 00 */
1361 0x04, /* 00000 00 */
1362 0x38, /* 00 000 */
1363 0x00, /* 00000000 */
1364
1365 /* 104 0x68 'h' */
1366 0x00, /* 00000000 */
1367 0x40, /* 0 000000 */
1368 0x40, /* 0 000000 */
1369 0x78, /* 0 000 */
1370 0x44, /* 0 000 00 */
1371 0x44, /* 0 000 00 */
1372 0x44, /* 0 000 00 */
1373 0x44, /* 0 000 00 */
1374 0x00, /* 00000000 */
1375 0x00, /* 00000000 */
1376 0x00, /* 00000000 */
1377
1378 /* 105 0x69 'i' */
1379 0x00, /* 00000000 */
1380 0x10, /* 000 0000 */
1381 0x00, /* 00000000 */
1382 0x30, /* 00 0000 */
1383 0x10, /* 000 0000 */
1384 0x10, /* 000 0000 */
1385 0x10, /* 000 0000 */
1386 0x38, /* 00 000 */
1387 0x00, /* 00000000 */
1388 0x00, /* 00000000 */
1389 0x00, /* 00000000 */
1390
1391 /* 106 0x6a 'j' */
1392 0x00, /* 00000000 */
1393 0x10, /* 000 0000 */
1394 0x00, /* 00000000 */
1395 0x30, /* 00 0000 */
1396 0x10, /* 000 0000 */
1397 0x10, /* 000 0000 */
1398 0x10, /* 000 0000 */
1399 0x10, /* 000 0000 */
1400 0x10, /* 000 0000 */
1401 0x60, /* 0 00000 */
1402 0x00, /* 00000000 */
1403
1404 /* 107 0x6b 'k' */
1405 0x00, /* 00000000 */
1406 0x40, /* 0 000000 */
1407 0x40, /* 0 000000 */
1408 0x48, /* 0 00 000 */
1409 0x50, /* 0 0 0000 */
1410 0x70, /* 0 0000 */
1411 0x48, /* 0 00 000 */
1412 0x44, /* 0 000 00 */
1413 0x00, /* 00000000 */
1414 0x00, /* 00000000 */
1415 0x00, /* 00000000 */
1416
1417 /* 108 0x6c 'l' */
1418 0x00, /* 00000000 */
1419 0x30, /* 00 0000 */
1420 0x10, /* 000 0000 */
1421 0x10, /* 000 0000 */
1422 0x10, /* 000 0000 */
1423 0x10, /* 000 0000 */
1424 0x10, /* 000 0000 */
1425 0x38, /* 00 000 */
1426 0x00, /* 00000000 */
1427 0x00, /* 00000000 */
1428 0x00, /* 00000000 */
1429
1430 /* 109 0x6d 'm' */
1431 0x00, /* 00000000 */
1432 0x00, /* 00000000 */
1433 0x00, /* 00000000 */
1434 0x78, /* 0 000 */
1435 0x54, /* 0 0 0 00 */
1436 0x54, /* 0 0 0 00 */
1437 0x54, /* 0 0 0 00 */
1438 0x54, /* 0 0 0 00 */
1439 0x00, /* 00000000 */
1440 0x00, /* 00000000 */
1441 0x00, /* 00000000 */
1442
1443 /* 110 0x6e 'n' */
1444 0x00, /* 00000000 */
1445 0x00, /* 00000000 */
1446 0x00, /* 00000000 */
1447 0x58, /* 0 0 000 */
1448 0x64, /* 0 00 00 */
1449 0x44, /* 0 000 00 */
1450 0x44, /* 0 000 00 */
1451 0x44, /* 0 000 00 */
1452 0x00, /* 00000000 */
1453 0x00, /* 00000000 */
1454 0x00, /* 00000000 */
1455
1456 /* 111 0x6f 'o' */
1457 0x00, /* 00000000 */
1458 0x00, /* 00000000 */
1459 0x00, /* 00000000 */
1460 0x38, /* 00 000 */
1461 0x44, /* 0 000 00 */
1462 0x44, /* 0 000 00 */
1463 0x44, /* 0 000 00 */
1464 0x38, /* 00 000 */
1465 0x00, /* 00000000 */
1466 0x00, /* 00000000 */
1467 0x00, /* 00000000 */
1468
1469 /* 112 0x70 'p' */
1470 0x00, /* 00000000 */
1471 0x00, /* 00000000 */
1472 0x00, /* 00000000 */
1473 0x78, /* 0 000 */
1474 0x44, /* 0 000 00 */
1475 0x44, /* 0 000 00 */
1476 0x44, /* 0 000 00 */
1477 0x78, /* 0 000 */
1478 0x40, /* 0 000000 */
1479 0x40, /* 0 000000 */
1480 0x00, /* 00000000 */
1481
1482 /* 113 0x71 'q' */
1483 0x00, /* 00000000 */
1484 0x00, /* 00000000 */
1485 0x00, /* 00000000 */
1486 0x3c, /* 00 00 */
1487 0x44, /* 0 000 00 */
1488 0x44, /* 0 000 00 */
1489 0x44, /* 0 000 00 */
1490 0x3c, /* 00 00 */
1491 0x04, /* 00000 00 */
1492 0x04, /* 00000 00 */
1493 0x00, /* 00000000 */
1494
1495 /* 114 0x72 'r' */
1496 0x00, /* 00000000 */
1497 0x00, /* 00000000 */
1498 0x00, /* 00000000 */
1499 0x58, /* 0 0 000 */
1500 0x64, /* 0 00 00 */
1501 0x40, /* 0 000000 */
1502 0x40, /* 0 000000 */
1503 0x40, /* 0 000000 */
1504 0x00, /* 00000000 */
1505 0x00, /* 00000000 */
1506 0x00, /* 00000000 */
1507
1508 /* 115 0x73 's' */
1509 0x00, /* 00000000 */
1510 0x00, /* 00000000 */
1511 0x00, /* 00000000 */
1512 0x3c, /* 00 00 */
1513 0x40, /* 0 000000 */
1514 0x38, /* 00 000 */
1515 0x04, /* 00000 00 */
1516 0x78, /* 0 000 */
1517 0x00, /* 00000000 */
1518 0x00, /* 00000000 */
1519 0x00, /* 00000000 */
1520
1521 /* 116 0x74 't' */
1522 0x00, /* 00000000 */
1523 0x10, /* 000 0000 */
1524 0x10, /* 000 0000 */
1525 0x38, /* 00 000 */
1526 0x10, /* 000 0000 */
1527 0x10, /* 000 0000 */
1528 0x10, /* 000 0000 */
1529 0x0c, /* 0000 00 */
1530 0x00, /* 00000000 */
1531 0x00, /* 00000000 */
1532 0x00, /* 00000000 */
1533
1534 /* 117 0x75 'u' */
1535 0x00, /* 00000000 */
1536 0x00, /* 00000000 */
1537 0x00, /* 00000000 */
1538 0x44, /* 0 000 00 */
1539 0x44, /* 0 000 00 */
1540 0x44, /* 0 000 00 */
1541 0x4c, /* 0 00 00 */
1542 0x34, /* 00 0 00 */
1543 0x00, /* 00000000 */
1544 0x00, /* 00000000 */
1545 0x00, /* 00000000 */
1546
1547 /* 118 0x76 'v' */
1548 0x00, /* 00000000 */
1549 0x00, /* 00000000 */
1550 0x00, /* 00000000 */
1551 0x44, /* 0 000 00 */
1552 0x44, /* 0 000 00 */
1553 0x44, /* 0 000 00 */
1554 0x28, /* 00 0 000 */
1555 0x10, /* 000 0000 */
1556 0x00, /* 00000000 */
1557 0x00, /* 00000000 */
1558 0x00, /* 00000000 */
1559
1560 /* 119 0x77 'w' */
1561 0x00, /* 00000000 */
1562 0x00, /* 00000000 */
1563 0x00, /* 00000000 */
1564 0x54, /* 0 0 0 00 */
1565 0x54, /* 0 0 0 00 */
1566 0x54, /* 0 0 0 00 */
1567 0x54, /* 0 0 0 00 */
1568 0x28, /* 00 0 000 */
1569 0x00, /* 00000000 */
1570 0x00, /* 00000000 */
1571 0x00, /* 00000000 */
1572
1573 /* 120 0x78 'x' */
1574 0x00, /* 00000000 */
1575 0x00, /* 00000000 */
1576 0x00, /* 00000000 */
1577 0x44, /* 0 000 00 */
1578 0x28, /* 00 0 000 */
1579 0x10, /* 000 0000 */
1580 0x28, /* 00 0 000 */
1581 0x44, /* 0 000 00 */
1582 0x00, /* 00000000 */
1583 0x00, /* 00000000 */
1584 0x00, /* 00000000 */
1585
1586 /* 121 0x79 'y' */
1587 0x00, /* 00000000 */
1588 0x00, /* 00000000 */
1589 0x00, /* 00000000 */
1590 0x44, /* 0 000 00 */
1591 0x44, /* 0 000 00 */
1592 0x44, /* 0 000 00 */
1593 0x44, /* 0 000 00 */
1594 0x3c, /* 00 00 */
1595 0x04, /* 00000 00 */
1596 0x38, /* 00 000 */
1597 0x00, /* 00000000 */
1598
1599 /* 122 0x7a 'z' */
1600 0x00, /* 00000000 */
1601 0x00, /* 00000000 */
1602 0x00, /* 00000000 */
1603 0x7c, /* 0 00 */
1604 0x08, /* 0000 000 */
1605 0x10, /* 000 0000 */
1606 0x20, /* 00 00000 */
1607 0x7c, /* 0 00 */
1608 0x00, /* 00000000 */
1609 0x00, /* 00000000 */
1610 0x00, /* 00000000 */
1611
1612 /* 123 0x7b '{' */
1613 0x04, /* 00000 00 */
1614 0x08, /* 0000 000 */
1615 0x08, /* 0000 000 */
1616 0x08, /* 0000 000 */
1617 0x08, /* 0000 000 */
1618 0x10, /* 000 0000 */
1619 0x08, /* 0000 000 */
1620 0x08, /* 0000 000 */
1621 0x08, /* 0000 000 */
1622 0x08, /* 0000 000 */
1623 0x04, /* 00000 00 */
1624
1625 /* 124 0x7c '|' */
1626 0x10, /* 000 0000 */
1627 0x10, /* 000 0000 */
1628 0x10, /* 000 0000 */
1629 0x10, /* 000 0000 */
1630 0x10, /* 000 0000 */
1631 0x10, /* 000 0000 */
1632 0x10, /* 000 0000 */
1633 0x10, /* 000 0000 */
1634 0x10, /* 000 0000 */
1635 0x00, /* 00000000 */
1636 0x00, /* 00000000 */
1637
1638 /* 125 0x7d '}' */
1639 0x20, /* 00 00000 */
1640 0x10, /* 000 0000 */
1641 0x10, /* 000 0000 */
1642 0x10, /* 000 0000 */
1643 0x10, /* 000 0000 */
1644 0x08, /* 0000 000 */
1645 0x10, /* 000 0000 */
1646 0x10, /* 000 0000 */
1647 0x10, /* 000 0000 */
1648 0x10, /* 000 0000 */
1649 0x20, /* 00 00000 */
1650
1651 /* 126 0x7e '~' */
1652 0x00, /* 00000000 */
1653 0x34, /* 00 0 00 */
1654 0x58, /* 0 0 000 */
1655 0x00, /* 00000000 */
1656 0x00, /* 00000000 */
1657 0x00, /* 00000000 */
1658 0x00, /* 00000000 */
1659 0x00, /* 00000000 */
1660 0x00, /* 00000000 */
1661 0x00, /* 00000000 */
1662 0x00, /* 00000000 */
1663
1664 /* 127 0x7f '^?' */
1665 0x00, /* 00000000 */
1666 0x00, /* 00000000 */
1667 0x00, /* 00000000 */
1668 0x10, /* 000 0000 */
1669 0x28, /* 00 0 000 */
1670 0x44, /* 0 000 00 */
1671 0x44, /* 0 000 00 */
1672 0x7c, /* 0 00 */
1673 0x00, /* 00000000 */
1674 0x00, /* 00000000 */
1675 0x00, /* 00000000 */
1676
1677 /* 128 0x80 '\200' */
1678 0x00, /* 00000000 */
1679 0x38, /* 00 000 */
1680 0x44, /* 0 000 00 */
1681 0x40, /* 0 000000 */
1682 0x40, /* 0 000000 */
1683 0x40, /* 0 000000 */
1684 0x44, /* 0 000 00 */
1685 0x38, /* 00 000 */
1686 0x10, /* 000 0000 */
1687 0x20, /* 00 00000 */
1688 0x00, /* 00000000 */
1689
1690 /* 129 0x81 '\201' */
1691 0x00, /* 00000000 */
1692 0x28, /* 00 0 000 */
1693 0x00, /* 00000000 */
1694 0x44, /* 0 000 00 */
1695 0x44, /* 0 000 00 */
1696 0x44, /* 0 000 00 */
1697 0x4c, /* 0 00 00 */
1698 0x34, /* 00 0 00 */
1699 0x00, /* 00000000 */
1700 0x00, /* 00000000 */
1701 0x00, /* 00000000 */
1702
1703 /* 130 0x82 '\202' */
1704 0x08, /* 0000 000 */
1705 0x10, /* 000 0000 */
1706 0x00, /* 00000000 */
1707 0x38, /* 00 000 */
1708 0x44, /* 0 000 00 */
1709 0x7c, /* 0 00 */
1710 0x40, /* 0 000000 */
1711 0x3c, /* 00 00 */
1712 0x00, /* 00000000 */
1713 0x00, /* 00000000 */
1714 0x00, /* 00000000 */
1715
1716 /* 131 0x83 '\203' */
1717 0x10, /* 000 0000 */
1718 0x28, /* 00 0 000 */
1719 0x00, /* 00000000 */
1720 0x3c, /* 00 00 */
1721 0x44, /* 0 000 00 */
1722 0x44, /* 0 000 00 */
1723 0x4c, /* 0 00 00 */
1724 0x34, /* 00 0 00 */
1725 0x00, /* 00000000 */
1726 0x00, /* 00000000 */
1727 0x00, /* 00000000 */
1728
1729 /* 132 0x84 '\204' */
1730 0x00, /* 00000000 */
1731 0x28, /* 00 0 000 */
1732 0x00, /* 00000000 */
1733 0x3c, /* 00 00 */
1734 0x44, /* 0 000 00 */
1735 0x44, /* 0 000 00 */
1736 0x4c, /* 0 00 00 */
1737 0x34, /* 00 0 00 */
1738 0x00, /* 00000000 */
1739 0x00, /* 00000000 */
1740 0x00, /* 00000000 */
1741
1742 /* 133 0x85 '\205' */
1743 0x10, /* 000 0000 */
1744 0x08, /* 0000 000 */
1745 0x00, /* 00000000 */
1746 0x3c, /* 00 00 */
1747 0x44, /* 0 000 00 */
1748 0x44, /* 0 000 00 */
1749 0x4c, /* 0 00 00 */
1750 0x34, /* 00 0 00 */
1751 0x00, /* 00000000 */
1752 0x00, /* 00000000 */
1753 0x00, /* 00000000 */
1754
1755 /* 134 0x86 '\206' */
1756 0x18, /* 000 000 */
1757 0x24, /* 00 00 00 */
1758 0x18, /* 000 000 */
1759 0x3c, /* 00 00 */
1760 0x44, /* 0 000 00 */
1761 0x44, /* 0 000 00 */
1762 0x4c, /* 0 00 00 */
1763 0x34, /* 00 0 00 */
1764 0x00, /* 00000000 */
1765 0x00, /* 00000000 */
1766 0x00, /* 00000000 */
1767
1768 /* 135 0x87 '\207' */
1769 0x00, /* 00000000 */
1770 0x00, /* 00000000 */
1771 0x00, /* 00000000 */
1772 0x38, /* 00 000 */
1773 0x44, /* 0 000 00 */
1774 0x40, /* 0 000000 */
1775 0x40, /* 0 000000 */
1776 0x3c, /* 00 00 */
1777 0x10, /* 000 0000 */
1778 0x20, /* 00 00000 */
1779 0x00, /* 00000000 */
1780
1781 /* 136 0x88 '\210' */
1782 0x10, /* 000 0000 */
1783 0x28, /* 00 0 000 */
1784 0x00, /* 00000000 */
1785 0x38, /* 00 000 */
1786 0x44, /* 0 000 00 */
1787 0x7c, /* 0 00 */
1788 0x40, /* 0 000000 */
1789 0x3c, /* 00 00 */
1790 0x00, /* 00000000 */
1791 0x00, /* 00000000 */
1792 0x00, /* 00000000 */
1793
1794 /* 137 0x89 '\211' */
1795 0x00, /* 00000000 */
1796 0x28, /* 00 0 000 */
1797 0x00, /* 00000000 */
1798 0x38, /* 00 000 */
1799 0x44, /* 0 000 00 */
1800 0x7c, /* 0 00 */
1801 0x40, /* 0 000000 */
1802 0x3c, /* 00 00 */
1803 0x00, /* 00000000 */
1804 0x00, /* 00000000 */
1805 0x00, /* 00000000 */
1806
1807 /* 138 0x8a '\212' */
1808 0x20, /* 00 00000 */
1809 0x10, /* 000 0000 */
1810 0x00, /* 00000000 */
1811 0x38, /* 00 000 */
1812 0x44, /* 0 000 00 */
1813 0x7c, /* 0 00 */
1814 0x40, /* 0 000000 */
1815 0x3c, /* 00 00 */
1816 0x00, /* 00000000 */
1817 0x00, /* 00000000 */
1818 0x00, /* 00000000 */
1819
1820 /* 139 0x8b '\213' */
1821 0x00, /* 00000000 */
1822 0x28, /* 00 0 000 */
1823 0x00, /* 00000000 */
1824 0x10, /* 000 0000 */
1825 0x10, /* 000 0000 */
1826 0x10, /* 000 0000 */
1827 0x10, /* 000 0000 */
1828 0x10, /* 000 0000 */
1829 0x00, /* 00000000 */
1830 0x00, /* 00000000 */
1831 0x00, /* 00000000 */
1832
1833 /* 140 0x8c '\214' */
1834 0x10, /* 000 0000 */
1835 0x28, /* 00 0 000 */
1836 0x00, /* 00000000 */
1837 0x10, /* 000 0000 */
1838 0x10, /* 000 0000 */
1839 0x10, /* 000 0000 */
1840 0x10, /* 000 0000 */
1841 0x10, /* 000 0000 */
1842 0x00, /* 00000000 */
1843 0x00, /* 00000000 */
1844 0x00, /* 00000000 */
1845
1846 /* 141 0x8d '\215' */
1847 0x20, /* 00 00000 */
1848 0x10, /* 000 0000 */
1849 0x00, /* 00000000 */
1850 0x10, /* 000 0000 */
1851 0x10, /* 000 0000 */
1852 0x10, /* 000 0000 */
1853 0x10, /* 000 0000 */
1854 0x10, /* 000 0000 */
1855 0x00, /* 00000000 */
1856 0x00, /* 00000000 */
1857 0x00, /* 00000000 */
1858
1859 /* 142 0x8e '\216' */
1860 0x84, /* 0000 00 */
1861 0x38, /* 00 000 */
1862 0x44, /* 0 000 00 */
1863 0x44, /* 0 000 00 */
1864 0x7c, /* 0 00 */
1865 0x44, /* 0 000 00 */
1866 0x44, /* 0 000 00 */
1867 0x44, /* 0 000 00 */
1868 0x00, /* 00000000 */
1869 0x00, /* 00000000 */
1870 0x00, /* 00000000 */
1871
1872 /* 143 0x8f '\217' */
1873 0x58, /* 0 0 000 */
1874 0x38, /* 00 000 */
1875 0x44, /* 0 000 00 */
1876 0x44, /* 0 000 00 */
1877 0x7c, /* 0 00 */
1878 0x44, /* 0 000 00 */
1879 0x44, /* 0 000 00 */
1880 0x44, /* 0 000 00 */
1881 0x00, /* 00000000 */
1882 0x00, /* 00000000 */
1883 0x00, /* 00000000 */
1884
1885 /* 144 0x90 '\220' */
1886 0x10, /* 000 0000 */
1887 0x7c, /* 0 00 */
1888 0x40, /* 0 000000 */
1889 0x40, /* 0 000000 */
1890 0x78, /* 0 000 */
1891 0x40, /* 0 000000 */
1892 0x40, /* 0 000000 */
1893 0x7c, /* 0 00 */
1894 0x00, /* 00000000 */
1895 0x00, /* 00000000 */
1896 0x00, /* 00000000 */
1897
1898 /* 145 0x91 '\221' */
1899 0x00, /* 00000000 */
1900 0x00, /* 00000000 */
1901 0x00, /* 00000000 */
1902 0x38, /* 00 000 */
1903 0x54, /* 0 0 0 00 */
1904 0x5c, /* 0 0 00 */
1905 0x50, /* 0 0 0000 */
1906 0x3c, /* 00 00 */
1907 0x00, /* 00000000 */
1908 0x00, /* 00000000 */
1909 0x00, /* 00000000 */
1910
1911 /* 146 0x92 '\222' */
1912 0x00, /* 00000000 */
1913 0x3c, /* 00 00 */
1914 0x50, /* 0 0 0000 */
1915 0x50, /* 0 0 0000 */
1916 0x78, /* 0 000 */
1917 0x50, /* 0 0 0000 */
1918 0x50, /* 0 0 0000 */
1919 0x5c, /* 0 0 00 */
1920 0x00, /* 00000000 */
1921 0x00, /* 00000000 */
1922 0x00, /* 00000000 */
1923
1924 /* 147 0x93 '\223' */
1925 0x10, /* 000 0000 */
1926 0x28, /* 00 0 000 */
1927 0x00, /* 00000000 */
1928 0x38, /* 00 000 */
1929 0x44, /* 0 000 00 */
1930 0x44, /* 0 000 00 */
1931 0x44, /* 0 000 00 */
1932 0x38, /* 00 000 */
1933 0x00, /* 00000000 */
1934 0x00, /* 00000000 */
1935 0x00, /* 00000000 */
1936
1937 /* 148 0x94 '\224' */
1938 0x00, /* 00000000 */
1939 0x28, /* 00 0 000 */
1940 0x00, /* 00000000 */
1941 0x38, /* 00 000 */
1942 0x44, /* 0 000 00 */
1943 0x44, /* 0 000 00 */
1944 0x44, /* 0 000 00 */
1945 0x38, /* 00 000 */
1946 0x00, /* 00000000 */
1947 0x00, /* 00000000 */
1948 0x00, /* 00000000 */
1949
1950 /* 149 0x95 '\225' */
1951 0x20, /* 00 00000 */
1952 0x10, /* 000 0000 */
1953 0x00, /* 00000000 */
1954 0x38, /* 00 000 */
1955 0x44, /* 0 000 00 */
1956 0x44, /* 0 000 00 */
1957 0x44, /* 0 000 00 */
1958 0x38, /* 00 000 */
1959 0x00, /* 00000000 */
1960 0x00, /* 00000000 */
1961 0x00, /* 00000000 */
1962
1963 /* 150 0x96 '\226' */
1964 0x10, /* 000 0000 */
1965 0x28, /* 00 0 000 */
1966 0x00, /* 00000000 */
1967 0x44, /* 0 000 00 */
1968 0x44, /* 0 000 00 */
1969 0x44, /* 0 000 00 */
1970 0x4c, /* 0 00 00 */
1971 0x34, /* 00 0 00 */
1972 0x00, /* 00000000 */
1973 0x00, /* 00000000 */
1974 0x00, /* 00000000 */
1975
1976 /* 151 0x97 '\227' */
1977 0x20, /* 00 00000 */
1978 0x10, /* 000 0000 */
1979 0x00, /* 00000000 */
1980 0x44, /* 0 000 00 */
1981 0x44, /* 0 000 00 */
1982 0x44, /* 0 000 00 */
1983 0x4c, /* 0 00 00 */
1984 0x34, /* 00 0 00 */
1985 0x00, /* 00000000 */
1986 0x00, /* 00000000 */
1987 0x00, /* 00000000 */
1988
1989 /* 152 0x98 '\230' */
1990 0x00, /* 00000000 */
1991 0x28, /* 00 0 000 */
1992 0x00, /* 00000000 */
1993 0x44, /* 0 000 00 */
1994 0x44, /* 0 000 00 */
1995 0x44, /* 0 000 00 */
1996 0x44, /* 0 000 00 */
1997 0x3c, /* 00 00 */
1998 0x04, /* 00000 00 */
1999 0x38, /* 00 000 */
2000 0x00, /* 00000000 */
2001
2002 /* 153 0x99 '\231' */
2003 0x84, /* 0000 00 */
2004 0x38, /* 00 000 */
2005 0x44, /* 0 000 00 */
2006 0x44, /* 0 000 00 */
2007 0x44, /* 0 000 00 */
2008 0x44, /* 0 000 00 */
2009 0x44, /* 0 000 00 */
2010 0x38, /* 00 000 */
2011 0x00, /* 00000000 */
2012 0x00, /* 00000000 */
2013 0x00, /* 00000000 */
2014
2015 /* 154 0x9a '\232' */
2016 0x88, /* 000 000 */
2017 0x44, /* 0 000 00 */
2018 0x44, /* 0 000 00 */
2019 0x44, /* 0 000 00 */
2020 0x44, /* 0 000 00 */
2021 0x44, /* 0 000 00 */
2022 0x44, /* 0 000 00 */
2023 0x38, /* 00 000 */
2024 0x00, /* 00000000 */
2025 0x00, /* 00000000 */
2026 0x00, /* 00000000 */
2027
2028 /* 155 0x9b '\233' */
2029 0x00, /* 00000000 */
2030 0x00, /* 00000000 */
2031 0x10, /* 000 0000 */
2032 0x38, /* 00 000 */
2033 0x54, /* 0 0 0 00 */
2034 0x50, /* 0 0 0000 */
2035 0x54, /* 0 0 0 00 */
2036 0x38, /* 00 000 */
2037 0x10, /* 000 0000 */
2038 0x00, /* 00000000 */
2039 0x00, /* 00000000 */
2040
2041 /* 156 0x9c '\234' */
2042 0x30, /* 00 0000 */
2043 0x48, /* 0 00 000 */
2044 0x40, /* 0 000000 */
2045 0x70, /* 0 0000 */
2046 0x40, /* 0 000000 */
2047 0x40, /* 0 000000 */
2048 0x44, /* 0 000 00 */
2049 0x78, /* 0 000 */
2050 0x00, /* 00000000 */
2051 0x00, /* 00000000 */
2052 0x00, /* 00000000 */
2053
2054 /* 157 0x9d '\235' */
2055 0x00, /* 00000000 */
2056 0x44, /* 0 000 00 */
2057 0x28, /* 00 0 000 */
2058 0x7c, /* 0 00 */
2059 0x10, /* 000 0000 */
2060 0x7c, /* 0 00 */
2061 0x10, /* 000 0000 */
2062 0x10, /* 000 0000 */
2063 0x00, /* 00000000 */
2064 0x00, /* 00000000 */
2065 0x00, /* 00000000 */
2066
2067 /* 158 0x9e '\236' */
2068 0x00, /* 00000000 */
2069 0x70, /* 0 0000 */
2070 0x48, /* 0 00 000 */
2071 0x70, /* 0 0000 */
2072 0x48, /* 0 00 000 */
2073 0x5c, /* 0 0 00 */
2074 0x48, /* 0 00 000 */
2075 0x44, /* 0 000 00 */
2076 0x00, /* 00000000 */
2077 0x00, /* 00000000 */
2078 0x00, /* 00000000 */
2079
2080 /* 159 0x9f '\237' */
2081 0x00, /* 00000000 */
2082 0x0c, /* 0000 00 */
2083 0x10, /* 000 0000 */
2084 0x10, /* 000 0000 */
2085 0x38, /* 00 000 */
2086 0x10, /* 000 0000 */
2087 0x10, /* 000 0000 */
2088 0x60, /* 0 00000 */
2089 0x00, /* 00000000 */
2090 0x00, /* 00000000 */
2091 0x00, /* 00000000 */
2092
2093 /* 160 0xa0 '\240' */
2094 0x08, /* 0000 000 */
2095 0x10, /* 000 0000 */
2096 0x00, /* 00000000 */
2097 0x3c, /* 00 00 */
2098 0x44, /* 0 000 00 */
2099 0x44, /* 0 000 00 */
2100 0x4c, /* 0 00 00 */
2101 0x34, /* 00 0 00 */
2102 0x00, /* 00000000 */
2103 0x00, /* 00000000 */
2104 0x00, /* 00000000 */
2105
2106 /* 161 0xa1 '\241' */
2107 0x08, /* 0000 000 */
2108 0x10, /* 000 0000 */
2109 0x00, /* 00000000 */
2110 0x10, /* 000 0000 */
2111 0x10, /* 000 0000 */
2112 0x10, /* 000 0000 */
2113 0x10, /* 000 0000 */
2114 0x10, /* 000 0000 */
2115 0x00, /* 00000000 */
2116 0x00, /* 00000000 */
2117 0x00, /* 00000000 */
2118
2119 /* 162 0xa2 '\242' */
2120 0x08, /* 0000 000 */
2121 0x10, /* 000 0000 */
2122 0x00, /* 00000000 */
2123 0x38, /* 00 000 */
2124 0x44, /* 0 000 00 */
2125 0x44, /* 0 000 00 */
2126 0x44, /* 0 000 00 */
2127 0x38, /* 00 000 */
2128 0x00, /* 00000000 */
2129 0x00, /* 00000000 */
2130 0x00, /* 00000000 */
2131
2132 /* 163 0xa3 '\243' */
2133 0x08, /* 0000 000 */
2134 0x10, /* 000 0000 */
2135 0x00, /* 00000000 */
2136 0x44, /* 0 000 00 */
2137 0x44, /* 0 000 00 */
2138 0x44, /* 0 000 00 */
2139 0x4c, /* 0 00 00 */
2140 0x34, /* 00 0 00 */
2141 0x00, /* 00000000 */
2142 0x00, /* 00000000 */
2143 0x00, /* 00000000 */
2144
2145 /* 164 0xa4 '\244' */
2146 0x34, /* 00 0 00 */
2147 0x58, /* 0 0 000 */
2148 0x00, /* 00000000 */
2149 0x58, /* 0 0 000 */
2150 0x64, /* 0 00 00 */
2151 0x44, /* 0 000 00 */
2152 0x44, /* 0 000 00 */
2153 0x44, /* 0 000 00 */
2154 0x00, /* 00000000 */
2155 0x00, /* 00000000 */
2156 0x00, /* 00000000 */
2157
2158 /* 165 0xa5 '\245' */
2159 0x58, /* 0 0 000 */
2160 0x44, /* 0 000 00 */
2161 0x64, /* 0 00 00 */
2162 0x54, /* 0 0 0 00 */
2163 0x4c, /* 0 00 00 */
2164 0x44, /* 0 000 00 */
2165 0x44, /* 0 000 00 */
2166 0x44, /* 0 000 00 */
2167 0x00, /* 00000000 */
2168 0x00, /* 00000000 */
2169 0x00, /* 00000000 */
2170
2171 /* 166 0xa6 '\246' */
2172 0x00, /* 00000000 */
2173 0x1c, /* 000 00 */
2174 0x24, /* 00 00 00 */
2175 0x24, /* 00 00 00 */
2176 0x1c, /* 000 00 */
2177 0x00, /* 00000000 */
2178 0x3c, /* 00 00 */
2179 0x00, /* 00000000 */
2180 0x00, /* 00000000 */
2181 0x00, /* 00000000 */
2182 0x00, /* 00000000 */
2183
2184 /* 167 0xa7 '\247' */
2185 0x00, /* 00000000 */
2186 0x18, /* 000 000 */
2187 0x24, /* 00 00 00 */
2188 0x24, /* 00 00 00 */
2189 0x18, /* 000 000 */
2190 0x00, /* 00000000 */
2191 0x3c, /* 00 00 */
2192 0x00, /* 00000000 */
2193 0x00, /* 00000000 */
2194 0x00, /* 00000000 */
2195 0x00, /* 00000000 */
2196
2197 /* 168 0xa8 '\250' */
2198 0x00, /* 00000000 */
2199 0x10, /* 000 0000 */
2200 0x00, /* 00000000 */
2201 0x10, /* 000 0000 */
2202 0x20, /* 00 00000 */
2203 0x40, /* 0 000000 */
2204 0x44, /* 0 000 00 */
2205 0x38, /* 00 000 */
2206 0x00, /* 00000000 */
2207 0x00, /* 00000000 */
2208 0x00, /* 00000000 */
2209
2210 /* 169 0xa9 '\251' */
2211 0x00, /* 00000000 */
2212 0x00, /* 00000000 */
2213 0x00, /* 00000000 */
2214 0x00, /* 00000000 */
2215 0x7c, /* 0 00 */
2216 0x40, /* 0 000000 */
2217 0x40, /* 0 000000 */
2218 0x00, /* 00000000 */
2219 0x00, /* 00000000 */
2220 0x00, /* 00000000 */
2221 0x00, /* 00000000 */
2222
2223 /* 170 0xaa '\252' */
2224 0x00, /* 00000000 */
2225 0x00, /* 00000000 */
2226 0x00, /* 00000000 */
2227 0x00, /* 00000000 */
2228 0x7c, /* 0 00 */
2229 0x04, /* 00000 00 */
2230 0x04, /* 00000 00 */
2231 0x00, /* 00000000 */
2232 0x00, /* 00000000 */
2233 0x00, /* 00000000 */
2234 0x00, /* 00000000 */
2235
2236 /* 171 0xab '\253' */
2237 0x20, /* 00 00000 */
2238 0x60, /* 0 00000 */
2239 0x24, /* 00 00 00 */
2240 0x28, /* 00 0 000 */
2241 0x10, /* 000 0000 */
2242 0x28, /* 00 0 000 */
2243 0x44, /* 0 000 00 */
2244 0x08, /* 0000 000 */
2245 0x1c, /* 000 00 */
2246 0x00, /* 00000000 */
2247 0x00, /* 00000000 */
2248
2249 /* 172 0xac '\254' */
2250 0x20, /* 00 00000 */
2251 0x60, /* 0 00000 */
2252 0x24, /* 00 00 00 */
2253 0x28, /* 00 0 000 */
2254 0x10, /* 000 0000 */
2255 0x28, /* 00 0 000 */
2256 0x58, /* 0 0 000 */
2257 0x3c, /* 00 00 */
2258 0x08, /* 0000 000 */
2259 0x00, /* 00000000 */
2260 0x00, /* 00000000 */
2261
2262 /* 173 0xad '\255' */
2263 0x00, /* 00000000 */
2264 0x08, /* 0000 000 */
2265 0x00, /* 00000000 */
2266 0x08, /* 0000 000 */
2267 0x08, /* 0000 000 */
2268 0x08, /* 0000 000 */
2269 0x08, /* 0000 000 */
2270 0x08, /* 0000 000 */
2271 0x00, /* 00000000 */
2272 0x00, /* 00000000 */
2273 0x00, /* 00000000 */
2274
2275 /* 174 0xae '\256' */
2276 0x00, /* 00000000 */
2277 0x00, /* 00000000 */
2278 0x00, /* 00000000 */
2279 0x00, /* 00000000 */
2280 0x24, /* 00 00 00 */
2281 0x48, /* 0 00 000 */
2282 0x48, /* 0 00 000 */
2283 0x24, /* 00 00 00 */
2284 0x00, /* 00000000 */
2285 0x00, /* 00000000 */
2286 0x00, /* 00000000 */
2287
2288 /* 175 0xaf '\257' */
2289 0x00, /* 00000000 */
2290 0x00, /* 00000000 */
2291 0x00, /* 00000000 */
2292 0x00, /* 00000000 */
2293 0x48, /* 0 00 000 */
2294 0x24, /* 00 00 00 */
2295 0x24, /* 00 00 00 */
2296 0x48, /* 0 00 000 */
2297 0x00, /* 00000000 */
2298 0x00, /* 00000000 */
2299 0x00, /* 00000000 */
2300
2301 /* 176 0xb0 '\260' */
2302 0x11, /* 000 000 */
2303 0x44, /* 0 000 00 */
2304 0x11, /* 000 000 */
2305 0x44, /* 0 000 00 */
2306 0x11, /* 000 000 */
2307 0x44, /* 0 000 00 */
2308 0x11, /* 000 000 */
2309 0x44, /* 0 000 00 */
2310 0x11, /* 000 000 */
2311 0x44, /* 0 000 00 */
2312 0x11, /* 000 000 */
2313
2314 /* 177 0xb1 '\261' */
2315 0x55, /* 0 0 0 0 */
2316 0xaa, /* 0 0 0 0 */
2317 0x55, /* 0 0 0 0 */
2318 0xaa, /* 0 0 0 0 */
2319 0x55, /* 0 0 0 0 */
2320 0xaa, /* 0 0 0 0 */
2321 0x55, /* 0 0 0 0 */
2322 0xaa, /* 0 0 0 0 */
2323 0x55, /* 0 0 0 0 */
2324 0xaa, /* 0 0 0 0 */
2325 0x55, /* 0 0 0 0 */
2326
2327 /* 178 0xb2 '\262' */
2328 0xdd, /* 0 0 */
2329 0x77, /* 0 0 */
2330 0xdd, /* 0 0 */
2331 0x77, /* 0 0 */
2332 0xdd, /* 0 0 */
2333 0x77, /* 0 0 */
2334 0xdd, /* 0 0 */
2335 0x77, /* 0 0 */
2336 0xdd, /* 0 0 */
2337 0x77, /* 0 0 */
2338 0xdd, /* 0 0 */
2339
2340 /* 179 0xb3 '\263' */
2341 0x10, /* 000 0000 */
2342 0x10, /* 000 0000 */
2343 0x10, /* 000 0000 */
2344 0x10, /* 000 0000 */
2345 0x10, /* 000 0000 */
2346 0x10, /* 000 0000 */
2347 0x10, /* 000 0000 */
2348 0x10, /* 000 0000 */
2349 0x10, /* 000 0000 */
2350 0x10, /* 000 0000 */
2351 0x10, /* 000 0000 */
2352
2353 /* 180 0xb4 '\264' */
2354 0x10, /* 000 0000 */
2355 0x10, /* 000 0000 */
2356 0x10, /* 000 0000 */
2357 0x10, /* 000 0000 */
2358 0xf0, /* 0000 */
2359 0x10, /* 000 0000 */
2360 0x10, /* 000 0000 */
2361 0x10, /* 000 0000 */
2362 0x10, /* 000 0000 */
2363 0x10, /* 000 0000 */
2364 0x10, /* 000 0000 */
2365
2366 /* 181 0xb5 '\265' */
2367 0x10, /* 000 0000 */
2368 0x10, /* 000 0000 */
2369 0x10, /* 000 0000 */
2370 0xf0, /* 0000 */
2371 0x10, /* 000 0000 */
2372 0xf0, /* 0000 */
2373 0x10, /* 000 0000 */
2374 0x10, /* 000 0000 */
2375 0x10, /* 000 0000 */
2376 0x10, /* 000 0000 */
2377 0x10, /* 000 0000 */
2378
2379 /* 182 0xb6 '\266' */
2380 0x28, /* 00 0 000 */
2381 0x28, /* 00 0 000 */
2382 0x28, /* 00 0 000 */
2383 0x28, /* 00 0 000 */
2384 0xe8, /* 0 000 */
2385 0x28, /* 00 0 000 */
2386 0x28, /* 00 0 000 */
2387 0x28, /* 00 0 000 */
2388 0x28, /* 00 0 000 */
2389 0x28, /* 00 0 000 */
2390 0x28, /* 00 0 000 */
2391
2392 /* 183 0xb7 '\267' */
2393 0x00, /* 00000000 */
2394 0x00, /* 00000000 */
2395 0x00, /* 00000000 */
2396 0x00, /* 00000000 */
2397 0xf8, /* 000 */
2398 0x28, /* 00 0 000 */
2399 0x28, /* 00 0 000 */
2400 0x28, /* 00 0 000 */
2401 0x28, /* 00 0 000 */
2402 0x28, /* 00 0 000 */
2403 0x28, /* 00 0 000 */
2404
2405 /* 184 0xb8 '\270' */
2406 0x00, /* 00000000 */
2407 0x00, /* 00000000 */
2408 0x00, /* 00000000 */
2409 0xf0, /* 0000 */
2410 0x10, /* 000 0000 */
2411 0xf0, /* 0000 */
2412 0x10, /* 000 0000 */
2413 0x10, /* 000 0000 */
2414 0x10, /* 000 0000 */
2415 0x10, /* 000 0000 */
2416 0x10, /* 000 0000 */
2417
2418 /* 185 0xb9 '\271' */
2419 0x28, /* 00 0 000 */
2420 0x28, /* 00 0 000 */
2421 0x28, /* 00 0 000 */
2422 0xe8, /* 0 000 */
2423 0x08, /* 0000 000 */
2424 0xe8, /* 0 000 */
2425 0x28, /* 00 0 000 */
2426 0x28, /* 00 0 000 */
2427 0x28, /* 00 0 000 */
2428 0x28, /* 00 0 000 */
2429 0x28, /* 00 0 000 */
2430
2431 /* 186 0xba '\272' */
2432 0x28, /* 00 0 000 */
2433 0x28, /* 00 0 000 */
2434 0x28, /* 00 0 000 */
2435 0x28, /* 00 0 000 */
2436 0x28, /* 00 0 000 */
2437 0x28, /* 00 0 000 */
2438 0x28, /* 00 0 000 */
2439 0x28, /* 00 0 000 */
2440 0x28, /* 00 0 000 */
2441 0x28, /* 00 0 000 */
2442 0x28, /* 00 0 000 */
2443
2444 /* 187 0xbb '\273' */
2445 0x00, /* 00000000 */
2446 0x00, /* 00000000 */
2447 0x00, /* 00000000 */
2448 0xf8, /* 000 */
2449 0x08, /* 0000 000 */
2450 0xe8, /* 0 000 */
2451 0x28, /* 00 0 000 */
2452 0x28, /* 00 0 000 */
2453 0x28, /* 00 0 000 */
2454 0x28, /* 00 0 000 */
2455 0x28, /* 00 0 000 */
2456
2457 /* 188 0xbc '\274' */
2458 0x28, /* 00 0 000 */
2459 0x28, /* 00 0 000 */
2460 0x28, /* 00 0 000 */
2461 0xe8, /* 0 000 */
2462 0x08, /* 0000 000 */
2463 0xf8, /* 000 */
2464 0x00, /* 00000000 */
2465 0x00, /* 00000000 */
2466 0x00, /* 00000000 */
2467 0x00, /* 00000000 */
2468 0x00, /* 00000000 */
2469
2470 /* 189 0xbd '\275' */
2471 0x28, /* 00 0 000 */
2472 0x28, /* 00 0 000 */
2473 0x28, /* 00 0 000 */
2474 0x28, /* 00 0 000 */
2475 0xf8, /* 000 */
2476 0x00, /* 00000000 */
2477 0x00, /* 00000000 */
2478 0x00, /* 00000000 */
2479 0x00, /* 00000000 */
2480 0x00, /* 00000000 */
2481 0x00, /* 00000000 */
2482
2483 /* 190 0xbe '\276' */
2484 0x10, /* 000 0000 */
2485 0x10, /* 000 0000 */
2486 0x10, /* 000 0000 */
2487 0xf0, /* 0000 */
2488 0x10, /* 000 0000 */
2489 0xf0, /* 0000 */
2490 0x00, /* 00000000 */
2491 0x00, /* 00000000 */
2492 0x00, /* 00000000 */
2493 0x00, /* 00000000 */
2494 0x00, /* 00000000 */
2495
2496 /* 191 0xbf '\277' */
2497 0x00, /* 00000000 */
2498 0x00, /* 00000000 */
2499 0x00, /* 00000000 */
2500 0x00, /* 00000000 */
2501 0xf0, /* 0000 */
2502 0x10, /* 000 0000 */
2503 0x10, /* 000 0000 */
2504 0x10, /* 000 0000 */
2505 0x10, /* 000 0000 */
2506 0x10, /* 000 0000 */
2507 0x10, /* 000 0000 */
2508
2509 /* 192 0xc0 '\300' */
2510 0x10, /* 000 0000 */
2511 0x10, /* 000 0000 */
2512 0x10, /* 000 0000 */
2513 0x10, /* 000 0000 */
2514 0x1c, /* 000 00 */
2515 0x00, /* 00000000 */
2516 0x00, /* 00000000 */
2517 0x00, /* 00000000 */
2518 0x00, /* 00000000 */
2519 0x00, /* 00000000 */
2520 0x00, /* 00000000 */
2521
2522 /* 193 0xc1 '\301' */
2523 0x10, /* 000 0000 */
2524 0x10, /* 000 0000 */
2525 0x10, /* 000 0000 */
2526 0x10, /* 000 0000 */
2527 0xfc, /* 00 */
2528 0x00, /* 00000000 */
2529 0x00, /* 00000000 */
2530 0x00, /* 00000000 */
2531 0x00, /* 00000000 */
2532 0x00, /* 00000000 */
2533 0x00, /* 00000000 */
2534
2535 /* 194 0xc2 '\302' */
2536 0x00, /* 00000000 */
2537 0x00, /* 00000000 */
2538 0x00, /* 00000000 */
2539 0x00, /* 00000000 */
2540 0xfc, /* 00 */
2541 0x10, /* 000 0000 */
2542 0x10, /* 000 0000 */
2543 0x10, /* 000 0000 */
2544 0x10, /* 000 0000 */
2545 0x10, /* 000 0000 */
2546 0x10, /* 000 0000 */
2547
2548 /* 195 0xc3 '\303' */
2549 0x10, /* 000 0000 */
2550 0x10, /* 000 0000 */
2551 0x10, /* 000 0000 */
2552 0x10, /* 000 0000 */
2553 0x1c, /* 000 00 */
2554 0x10, /* 000 0000 */
2555 0x10, /* 000 0000 */
2556 0x10, /* 000 0000 */
2557 0x10, /* 000 0000 */
2558 0x10, /* 000 0000 */
2559 0x10, /* 000 0000 */
2560
2561 /* 196 0xc4 '\304' */
2562 0x00, /* 00000000 */
2563 0x00, /* 00000000 */
2564 0x00, /* 00000000 */
2565 0x00, /* 00000000 */
2566 0xfc, /* 00 */
2567 0x00, /* 00000000 */
2568 0x00, /* 00000000 */
2569 0x00, /* 00000000 */
2570 0x00, /* 00000000 */
2571 0x00, /* 00000000 */
2572 0x00, /* 00000000 */
2573
2574 /* 197 0xc5 '\305' */
2575 0x10, /* 000 0000 */
2576 0x10, /* 000 0000 */
2577 0x10, /* 000 0000 */
2578 0x10, /* 000 0000 */
2579 0xfc, /* 00 */
2580 0x10, /* 000 0000 */
2581 0x10, /* 000 0000 */
2582 0x10, /* 000 0000 */
2583 0x10, /* 000 0000 */
2584 0x10, /* 000 0000 */
2585 0x10, /* 000 0000 */
2586
2587 /* 198 0xc6 '\306' */
2588 0x10, /* 000 0000 */
2589 0x10, /* 000 0000 */
2590 0x10, /* 000 0000 */
2591 0x1c, /* 000 00 */
2592 0x10, /* 000 0000 */
2593 0x1c, /* 000 00 */
2594 0x10, /* 000 0000 */
2595 0x10, /* 000 0000 */
2596 0x10, /* 000 0000 */
2597 0x10, /* 000 0000 */
2598 0x10, /* 000 0000 */
2599
2600 /* 199 0xc7 '\307' */
2601 0x28, /* 00 0 000 */
2602 0x28, /* 00 0 000 */
2603 0x28, /* 00 0 000 */
2604 0x28, /* 00 0 000 */
2605 0x2c, /* 00 0 00 */
2606 0x28, /* 00 0 000 */
2607 0x28, /* 00 0 000 */
2608 0x28, /* 00 0 000 */
2609 0x28, /* 00 0 000 */
2610 0x28, /* 00 0 000 */
2611 0x28, /* 00 0 000 */
2612
2613 /* 200 0xc8 '\310' */
2614 0x28, /* 00 0 000 */
2615 0x28, /* 00 0 000 */
2616 0x28, /* 00 0 000 */
2617 0x2c, /* 00 0 00 */
2618 0x20, /* 00 00000 */
2619 0x3c, /* 00 00 */
2620 0x00, /* 00000000 */
2621 0x00, /* 00000000 */
2622 0x00, /* 00000000 */
2623 0x00, /* 00000000 */
2624 0x00, /* 00000000 */
2625
2626 /* 201 0xc9 '\311' */
2627 0x00, /* 00000000 */
2628 0x00, /* 00000000 */
2629 0x00, /* 00000000 */
2630 0x3c, /* 00 00 */
2631 0x20, /* 00 00000 */
2632 0x2c, /* 00 0 00 */
2633 0x28, /* 00 0 000 */
2634 0x28, /* 00 0 000 */
2635 0x28, /* 00 0 000 */
2636 0x28, /* 00 0 000 */
2637 0x28, /* 00 0 000 */
2638
2639 /* 202 0xca '\312' */
2640 0x28, /* 00 0 000 */
2641 0x28, /* 00 0 000 */
2642 0x28, /* 00 0 000 */
2643 0xec, /* 0 00 */
2644 0x00, /* 00000000 */
2645 0xfc, /* 00 */
2646 0x00, /* 00000000 */
2647 0x00, /* 00000000 */
2648 0x00, /* 00000000 */
2649 0x00, /* 00000000 */
2650 0x00, /* 00000000 */
2651
2652 /* 203 0xcb '\313' */
2653 0x00, /* 00000000 */
2654 0x00, /* 00000000 */
2655 0x00, /* 00000000 */
2656 0xfc, /* 00 */
2657 0x00, /* 00000000 */
2658 0xec, /* 0 00 */
2659 0x28, /* 00 0 000 */
2660 0x28, /* 00 0 000 */
2661 0x28, /* 00 0 000 */
2662 0x28, /* 00 0 000 */
2663 0x28, /* 00 0 000 */
2664
2665 /* 204 0xcc '\314' */
2666 0x28, /* 00 0 000 */
2667 0x28, /* 00 0 000 */
2668 0x28, /* 00 0 000 */
2669 0x2c, /* 00 0 00 */
2670 0x20, /* 00 00000 */
2671 0x2c, /* 00 0 00 */
2672 0x28, /* 00 0 000 */
2673 0x28, /* 00 0 000 */
2674 0x28, /* 00 0 000 */
2675 0x28, /* 00 0 000 */
2676 0x28, /* 00 0 000 */
2677
2678 /* 205 0xcd '\315' */
2679 0x00, /* 00000000 */
2680 0x00, /* 00000000 */
2681 0x00, /* 00000000 */
2682 0xfc, /* 00 */
2683 0x00, /* 00000000 */
2684 0xfc, /* 00 */
2685 0x00, /* 00000000 */
2686 0x00, /* 00000000 */
2687 0x00, /* 00000000 */
2688 0x00, /* 00000000 */
2689 0x00, /* 00000000 */
2690
2691 /* 206 0xce '\316' */
2692 0x28, /* 00 0 000 */
2693 0x28, /* 00 0 000 */
2694 0x28, /* 00 0 000 */
2695 0xec, /* 0 00 */
2696 0x00, /* 00000000 */
2697 0xec, /* 0 00 */
2698 0x28, /* 00 0 000 */
2699 0x28, /* 00 0 000 */
2700 0x28, /* 00 0 000 */
2701 0x28, /* 00 0 000 */
2702 0x28, /* 00 0 000 */
2703
2704 /* 207 0xcf '\317' */
2705 0x10, /* 000 0000 */
2706 0x10, /* 000 0000 */
2707 0x10, /* 000 0000 */
2708 0xfc, /* 00 */
2709 0x00, /* 00000000 */
2710 0xfc, /* 00 */
2711 0x00, /* 00000000 */
2712 0x00, /* 00000000 */
2713 0x00, /* 00000000 */
2714 0x00, /* 00000000 */
2715 0x00, /* 00000000 */
2716
2717 /* 208 0xd0 '\320' */
2718 0x28, /* 00 0 000 */
2719 0x28, /* 00 0 000 */
2720 0x28, /* 00 0 000 */
2721 0x28, /* 00 0 000 */
2722 0xfc, /* 00 */
2723 0x00, /* 00000000 */
2724 0x00, /* 00000000 */
2725 0x00, /* 00000000 */
2726 0x00, /* 00000000 */
2727 0x00, /* 00000000 */
2728 0x00, /* 00000000 */
2729
2730 /* 209 0xd1 '\321' */
2731 0x00, /* 00000000 */
2732 0x00, /* 00000000 */
2733 0x00, /* 00000000 */
2734 0xfc, /* 00 */
2735 0x00, /* 00000000 */
2736 0xfc, /* 00 */
2737 0x10, /* 000 0000 */
2738 0x10, /* 000 0000 */
2739 0x10, /* 000 0000 */
2740 0x10, /* 000 0000 */
2741 0x10, /* 000 0000 */
2742
2743 /* 210 0xd2 '\322' */
2744 0x00, /* 00000000 */
2745 0x00, /* 00000000 */
2746 0x00, /* 00000000 */
2747 0x00, /* 00000000 */
2748 0xfc, /* 00 */
2749 0x28, /* 00 0 000 */
2750 0x28, /* 00 0 000 */
2751 0x28, /* 00 0 000 */
2752 0x28, /* 00 0 000 */
2753 0x28, /* 00 0 000 */
2754 0x28, /* 00 0 000 */
2755
2756 /* 211 0xd3 '\323' */
2757 0x28, /* 00 0 000 */
2758 0x28, /* 00 0 000 */
2759 0x28, /* 00 0 000 */
2760 0x28, /* 00 0 000 */
2761 0x3c, /* 00 00 */
2762 0x00, /* 00000000 */
2763 0x00, /* 00000000 */
2764 0x00, /* 00000000 */
2765 0x00, /* 00000000 */
2766 0x00, /* 00000000 */
2767 0x00, /* 00000000 */
2768
2769 /* 212 0xd4 '\324' */
2770 0x10, /* 000 0000 */
2771 0x10, /* 000 0000 */
2772 0x10, /* 000 0000 */
2773 0x1c, /* 000 00 */
2774 0x10, /* 000 0000 */
2775 0x1c, /* 000 00 */
2776 0x00, /* 00000000 */
2777 0x00, /* 00000000 */
2778 0x00, /* 00000000 */
2779 0x00, /* 00000000 */
2780 0x00, /* 00000000 */
2781
2782 /* 213 0xd5 '\325' */
2783 0x00, /* 00000000 */
2784 0x00, /* 00000000 */
2785 0x00, /* 00000000 */
2786 0x1c, /* 000 00 */
2787 0x10, /* 000 0000 */
2788 0x1c, /* 000 00 */
2789 0x10, /* 000 0000 */
2790 0x10, /* 000 0000 */
2791 0x10, /* 000 0000 */
2792 0x10, /* 000 0000 */
2793 0x10, /* 000 0000 */
2794
2795 /* 214 0xd6 '\326' */
2796 0x00, /* 00000000 */
2797 0x00, /* 00000000 */
2798 0x00, /* 00000000 */
2799 0x00, /* 00000000 */
2800 0x3c, /* 00 00 */
2801 0x28, /* 00 0 000 */
2802 0x28, /* 00 0 000 */
2803 0x28, /* 00 0 000 */
2804 0x28, /* 00 0 000 */
2805 0x28, /* 00 0 000 */
2806 0x28, /* 00 0 000 */
2807
2808 /* 215 0xd7 '\327' */
2809 0x28, /* 00 0 000 */
2810 0x28, /* 00 0 000 */
2811 0x28, /* 00 0 000 */
2812 0x28, /* 00 0 000 */
2813 0xfc, /* 00 */
2814 0x28, /* 00 0 000 */
2815 0x28, /* 00 0 000 */
2816 0x28, /* 00 0 000 */
2817 0x28, /* 00 0 000 */
2818 0x28, /* 00 0 000 */
2819 0x28, /* 00 0 000 */
2820
2821 /* 216 0xd8 '\330' */
2822 0x10, /* 000 0000 */
2823 0x10, /* 000 0000 */
2824 0x10, /* 000 0000 */
2825 0xfc, /* 00 */
2826 0x10, /* 000 0000 */
2827 0xfc, /* 00 */
2828 0x10, /* 000 0000 */
2829 0x10, /* 000 0000 */
2830 0x10, /* 000 0000 */
2831 0x10, /* 000 0000 */
2832 0x10, /* 000 0000 */
2833
2834 /* 217 0xd9 '\331' */
2835 0x10, /* 000 0000 */
2836 0x10, /* 000 0000 */
2837 0x10, /* 000 0000 */
2838 0x10, /* 000 0000 */
2839 0xf0, /* 0000 */
2840 0x00, /* 00000000 */
2841 0x00, /* 00000000 */
2842 0x00, /* 00000000 */
2843 0x00, /* 00000000 */
2844 0x00, /* 00000000 */
2845 0x00, /* 00000000 */
2846
2847 /* 218 0xda '\332' */
2848 0x00, /* 00000000 */
2849 0x00, /* 00000000 */
2850 0x00, /* 00000000 */
2851 0x00, /* 00000000 */
2852 0x1f, /* 000 */
2853 0x10, /* 000 0000 */
2854 0x10, /* 000 0000 */
2855 0x10, /* 000 0000 */
2856 0x10, /* 000 0000 */
2857 0x10, /* 000 0000 */
2858 0x10, /* 000 0000 */
2859
2860 /* 219 0xdb '\333' */
2861 0xfc, /* 00 */
2862 0xfc, /* 00 */
2863 0xfc, /* 00 */
2864 0xfc, /* 00 */
2865 0xfc, /* 00 */
2866 0xfc, /* 00 */
2867 0xfc, /* 00 */
2868 0xfc, /* 00 */
2869 0xfc, /* 00 */
2870 0xfc, /* 00 */
2871 0xfc, /* 00 */
2872
2873 /* 220 0xdc '\334' */
2874 0x00, /* 00000000 */
2875 0x00, /* 00000000 */
2876 0x00, /* 00000000 */
2877 0x00, /* 00000000 */
2878 0x00, /* 00000000 */
2879 0xfc, /* 00 */
2880 0xfc, /* 00 */
2881 0xfc, /* 00 */
2882 0xfc, /* 00 */
2883 0xfc, /* 00 */
2884 0xfc, /* 00 */
2885
2886 /* 221 0xdd '\335' */
2887 0xe0, /* 00000 */
2888 0xe0, /* 00000 */
2889 0xe0, /* 00000 */
2890 0xe0, /* 00000 */
2891 0xe0, /* 00000 */
2892 0xe0, /* 00000 */
2893 0xe0, /* 00000 */
2894 0xe0, /* 00000 */
2895 0xe0, /* 00000 */
2896 0xe0, /* 00000 */
2897 0xe0, /* 00000 */
2898
2899 /* 222 0xde '\336' */
2900 0x1c, /* 000 00 */
2901 0x1c, /* 000 00 */
2902 0x1c, /* 000 00 */
2903 0x1c, /* 000 00 */
2904 0x1c, /* 000 00 */
2905 0x1c, /* 000 00 */
2906 0x1c, /* 000 00 */
2907 0x1c, /* 000 00 */
2908 0x1c, /* 000 00 */
2909 0x1c, /* 000 00 */
2910 0x1c, /* 000 00 */
2911
2912 /* 223 0xdf '\337' */
2913 0xfc, /* 00 */
2914 0xfc, /* 00 */
2915 0xfc, /* 00 */
2916 0xfc, /* 00 */
2917 0xfc, /* 00 */
2918 0x00, /* 00000000 */
2919 0x00, /* 00000000 */
2920 0x00, /* 00000000 */
2921 0x00, /* 00000000 */
2922 0x00, /* 00000000 */
2923 0x00, /* 00000000 */
2924
2925 /* 224 0xe0 '\340' */
2926 0x00, /* 00000000 */
2927 0x00, /* 00000000 */
2928 0x00, /* 00000000 */
2929 0x24, /* 00 00 00 */
2930 0x58, /* 0 0 000 */
2931 0x50, /* 0 0 0000 */
2932 0x54, /* 0 0 0 00 */
2933 0x2c, /* 00 0 00 */
2934 0x00, /* 00000000 */
2935 0x00, /* 00000000 */
2936 0x00, /* 00000000 */
2937
2938 /* 225 0xe1 '\341' */
2939 0x18, /* 000 000 */
2940 0x24, /* 00 00 00 */
2941 0x44, /* 0 000 00 */
2942 0x48, /* 0 00 000 */
2943 0x48, /* 0 00 000 */
2944 0x44, /* 0 000 00 */
2945 0x44, /* 0 000 00 */
2946 0x58, /* 0 0 000 */
2947 0x40, /* 0 000000 */
2948 0x00, /* 00000000 */
2949 0x00, /* 00000000 */
2950
2951 /* 226 0xe2 '\342' */
2952 0x00, /* 00000000 */
2953 0x7c, /* 0 00 */
2954 0x44, /* 0 000 00 */
2955 0x44, /* 0 000 00 */
2956 0x40, /* 0 000000 */
2957 0x40, /* 0 000000 */
2958 0x40, /* 0 000000 */
2959 0x40, /* 0 000000 */
2960 0x00, /* 00000000 */
2961 0x00, /* 00000000 */
2962 0x00, /* 00000000 */
2963
2964 /* 227 0xe3 '\343' */
2965 0x00, /* 00000000 */
2966 0x00, /* 00000000 */
2967 0x00, /* 00000000 */
2968 0x7c, /* 0 00 */
2969 0x28, /* 00 0 000 */
2970 0x28, /* 00 0 000 */
2971 0x28, /* 00 0 000 */
2972 0x28, /* 00 0 000 */
2973 0x00, /* 00000000 */
2974 0x00, /* 00000000 */
2975 0x00, /* 00000000 */
2976
2977 /* 228 0xe4 '\344' */
2978 0x00, /* 00000000 */
2979 0x7c, /* 0 00 */
2980 0x24, /* 00 00 00 */
2981 0x10, /* 000 0000 */
2982 0x08, /* 0000 000 */
2983 0x10, /* 000 0000 */
2984 0x24, /* 00 00 00 */
2985 0x7c, /* 0 00 */
2986 0x00, /* 00000000 */
2987 0x00, /* 00000000 */
2988 0x00, /* 00000000 */
2989
2990 /* 229 0xe5 '\345' */
2991 0x00, /* 00000000 */
2992 0x00, /* 00000000 */
2993 0x00, /* 00000000 */
2994 0x3c, /* 00 00 */
2995 0x48, /* 0 00 000 */
2996 0x48, /* 0 00 000 */
2997 0x48, /* 0 00 000 */
2998 0x30, /* 00 0000 */
2999 0x00, /* 00000000 */
3000 0x00, /* 00000000 */
3001 0x00, /* 00000000 */
3002
3003 /* 230 0xe6 '\346' */
3004 0x00, /* 00000000 */
3005 0x00, /* 00000000 */
3006 0x00, /* 00000000 */
3007 0x48, /* 0 00 000 */
3008 0x48, /* 0 00 000 */
3009 0x48, /* 0 00 000 */
3010 0x48, /* 0 00 000 */
3011 0x74, /* 0 0 00 */
3012 0x40, /* 0 000000 */
3013 0x40, /* 0 000000 */
3014 0x00, /* 00000000 */
3015
3016 /* 231 0xe7 '\347' */
3017 0x00, /* 00000000 */
3018 0x00, /* 00000000 */
3019 0x00, /* 00000000 */
3020 0x6c, /* 0 0 00 */
3021 0x98, /* 00 000 */
3022 0x10, /* 000 0000 */
3023 0x10, /* 000 0000 */
3024 0x10, /* 000 0000 */
3025 0x00, /* 00000000 */
3026 0x00, /* 00000000 */
3027 0x00, /* 00000000 */
3028
3029 /* 232 0xe8 '\350' */
3030 0x00, /* 00000000 */
3031 0x38, /* 00 000 */
3032 0x10, /* 000 0000 */
3033 0x38, /* 00 000 */
3034 0x44, /* 0 000 00 */
3035 0x38, /* 00 000 */
3036 0x10, /* 000 0000 */
3037 0x38, /* 00 000 */
3038 0x00, /* 00000000 */
3039 0x00, /* 00000000 */
3040 0x00, /* 00000000 */
3041
3042 /* 233 0xe9 '\351' */
3043 0x00, /* 00000000 */
3044 0x00, /* 00000000 */
3045 0x00, /* 00000000 */
3046 0x38, /* 00 000 */
3047 0x4c, /* 0 00 00 */
3048 0x54, /* 0 0 0 00 */
3049 0x64, /* 0 00 00 */
3050 0x38, /* 00 000 */
3051 0x00, /* 00000000 */
3052 0x00, /* 00000000 */
3053 0x00, /* 00000000 */
3054
3055 /* 234 0xea '\352' */
3056 0x00, /* 00000000 */
3057 0x38, /* 00 000 */
3058 0x44, /* 0 000 00 */
3059 0x44, /* 0 000 00 */
3060 0x44, /* 0 000 00 */
3061 0x44, /* 0 000 00 */
3062 0x28, /* 00 0 000 */
3063 0x6c, /* 0 0 00 */
3064 0x00, /* 00000000 */
3065 0x00, /* 00000000 */
3066 0x00, /* 00000000 */
3067
3068 /* 235 0xeb '\353' */
3069 0x00, /* 00000000 */
3070 0x10, /* 000 0000 */
3071 0x08, /* 0000 000 */
3072 0x0c, /* 0000 00 */
3073 0x14, /* 000 0 00 */
3074 0x24, /* 00 00 00 */
3075 0x24, /* 00 00 00 */
3076 0x18, /* 000 000 */
3077 0x00, /* 00000000 */
3078 0x00, /* 00000000 */
3079 0x00, /* 00000000 */
3080
3081 /* 236 0xec '\354' */
3082 0x00, /* 00000000 */
3083 0x00, /* 00000000 */
3084 0x00, /* 00000000 */
3085 0x38, /* 00 000 */
3086 0x54, /* 0 0 0 00 */
3087 0x54, /* 0 0 0 00 */
3088 0x54, /* 0 0 0 00 */
3089 0x38, /* 00 000 */
3090 0x00, /* 00000000 */
3091 0x00, /* 00000000 */
3092 0x00, /* 00000000 */
3093
3094 /* 237 0xed '\355' */
3095 0x00, /* 00000000 */
3096 0x00, /* 00000000 */
3097 0x04, /* 00000 00 */
3098 0x38, /* 00 000 */
3099 0x44, /* 0 000 00 */
3100 0x38, /* 00 000 */
3101 0x40, /* 0 000000 */
3102 0x00, /* 00000000 */
3103 0x00, /* 00000000 */
3104 0x00, /* 00000000 */
3105 0x00, /* 00000000 */
3106
3107 /* 238 0xee '\356' */
3108 0x00, /* 00000000 */
3109 0x3c, /* 00 00 */
3110 0x40, /* 0 000000 */
3111 0x40, /* 0 000000 */
3112 0x78, /* 0 000 */
3113 0x40, /* 0 000000 */
3114 0x40, /* 0 000000 */
3115 0x3c, /* 00 00 */
3116 0x00, /* 00000000 */
3117 0x00, /* 00000000 */
3118 0x00, /* 00000000 */
3119
3120 /* 239 0xef '\357' */
3121 0x00, /* 00000000 */
3122 0x38, /* 00 000 */
3123 0x44, /* 0 000 00 */
3124 0x44, /* 0 000 00 */
3125 0x44, /* 0 000 00 */
3126 0x44, /* 0 000 00 */
3127 0x44, /* 0 000 00 */
3128 0x44, /* 0 000 00 */
3129 0x00, /* 00000000 */
3130 0x00, /* 00000000 */
3131 0x00, /* 00000000 */
3132
3133 /* 240 0xf0 '\360' */
3134 0x00, /* 00000000 */
3135 0x00, /* 00000000 */
3136 0xfc, /* 00 */
3137 0x00, /* 00000000 */
3138 0xfc, /* 00 */
3139 0x00, /* 00000000 */
3140 0xfc, /* 00 */
3141 0x00, /* 00000000 */
3142 0x00, /* 00000000 */
3143 0x00, /* 00000000 */
3144 0x00, /* 00000000 */
3145
3146 /* 241 0xf1 '\361' */
3147 0x00, /* 00000000 */
3148 0x00, /* 00000000 */
3149 0x10, /* 000 0000 */
3150 0x10, /* 000 0000 */
3151 0x7c, /* 0 00 */
3152 0x10, /* 000 0000 */
3153 0x10, /* 000 0000 */
3154 0x7c, /* 0 00 */
3155 0x00, /* 00000000 */
3156 0x00, /* 00000000 */
3157 0x00, /* 00000000 */
3158
3159 /* 242 0xf2 '\362' */
3160 0x00, /* 00000000 */
3161 0x10, /* 000 0000 */
3162 0x08, /* 0000 000 */
3163 0x04, /* 00000 00 */
3164 0x08, /* 0000 000 */
3165 0x10, /* 000 0000 */
3166 0x00, /* 00000000 */
3167 0x1c, /* 000 00 */
3168 0x00, /* 00000000 */
3169 0x00, /* 00000000 */
3170 0x00, /* 00000000 */
3171
3172 /* 243 0xf3 '\363' */
3173 0x00, /* 00000000 */
3174 0x08, /* 0000 000 */
3175 0x10, /* 000 0000 */
3176 0x20, /* 00 00000 */
3177 0x10, /* 000 0000 */
3178 0x08, /* 0000 000 */
3179 0x00, /* 00000000 */
3180 0x38, /* 00 000 */
3181 0x00, /* 00000000 */
3182 0x00, /* 00000000 */
3183 0x00, /* 00000000 */
3184
3185 /* 244 0xf4 '\364' */
3186 0x00, /* 00000000 */
3187 0x0c, /* 0000 00 */
3188 0x10, /* 000 0000 */
3189 0x10, /* 000 0000 */
3190 0x10, /* 000 0000 */
3191 0x10, /* 000 0000 */
3192 0x10, /* 000 0000 */
3193 0x10, /* 000 0000 */
3194 0x10, /* 000 0000 */
3195 0x10, /* 000 0000 */
3196 0x10, /* 000 0000 */
3197
3198 /* 245 0xf5 '\365' */
3199 0x10, /* 000 0000 */
3200 0x10, /* 000 0000 */
3201 0x10, /* 000 0000 */
3202 0x10, /* 000 0000 */
3203 0x10, /* 000 0000 */
3204 0x10, /* 000 0000 */
3205 0x10, /* 000 0000 */
3206 0x10, /* 000 0000 */
3207 0x10, /* 000 0000 */
3208 0x60, /* 0 00000 */
3209 0x00, /* 00000000 */
3210
3211 /* 246 0xf6 '\366' */
3212 0x00, /* 00000000 */
3213 0x00, /* 00000000 */
3214 0x10, /* 000 0000 */
3215 0x00, /* 00000000 */
3216 0x7c, /* 0 00 */
3217 0x00, /* 00000000 */
3218 0x10, /* 000 0000 */
3219 0x00, /* 00000000 */
3220 0x00, /* 00000000 */
3221 0x00, /* 00000000 */
3222 0x00, /* 00000000 */
3223
3224 /* 247 0xf7 '\367' */
3225 0x00, /* 00000000 */
3226 0x00, /* 00000000 */
3227 0x34, /* 00 0 00 */
3228 0x48, /* 0 00 000 */
3229 0x00, /* 00000000 */
3230 0x34, /* 00 0 00 */
3231 0x48, /* 0 00 000 */
3232 0x00, /* 00000000 */
3233 0x00, /* 00000000 */
3234 0x00, /* 00000000 */
3235 0x00, /* 00000000 */
3236
3237 /* 248 0xf8 '\370' */
3238 0x18, /* 000 000 */
3239 0x24, /* 00 00 00 */
3240 0x24, /* 00 00 00 */
3241 0x18, /* 000 000 */
3242 0x00, /* 00000000 */
3243 0x00, /* 00000000 */
3244 0x00, /* 00000000 */
3245 0x00, /* 00000000 */
3246 0x00, /* 00000000 */
3247 0x00, /* 00000000 */
3248 0x00, /* 00000000 */
3249
3250 /* 249 0xf9 '\371' */
3251 0x00, /* 00000000 */
3252 0x00, /* 00000000 */
3253 0x00, /* 00000000 */
3254 0x10, /* 000 0000 */
3255 0x38, /* 00 000 */
3256 0x10, /* 000 0000 */
3257 0x00, /* 00000000 */
3258 0x00, /* 00000000 */
3259 0x00, /* 00000000 */
3260 0x00, /* 00000000 */
3261 0x00, /* 00000000 */
3262
3263 /* 250 0xfa '\372' */
3264 0x00, /* 00000000 */
3265 0x00, /* 00000000 */
3266 0x00, /* 00000000 */
3267 0x00, /* 00000000 */
3268 0x10, /* 000 0000 */
3269 0x00, /* 00000000 */
3270 0x00, /* 00000000 */
3271 0x00, /* 00000000 */
3272 0x00, /* 00000000 */
3273 0x00, /* 00000000 */
3274 0x00, /* 00000000 */
3275
3276 /* 251 0xfb '\373' */
3277 0x00, /* 00000000 */
3278 0x00, /* 00000000 */
3279 0x0c, /* 0000 00 */
3280 0x08, /* 0000 000 */
3281 0x10, /* 000 0000 */
3282 0x50, /* 0 0 0000 */
3283 0x20, /* 00 00000 */
3284 0x20, /* 00 00000 */
3285 0x00, /* 00000000 */
3286 0x00, /* 00000000 */
3287 0x00, /* 00000000 */
3288
3289 /* 252 0xfc '\374' */
3290 0x00, /* 00000000 */
3291 0x50, /* 0 0 0000 */
3292 0x28, /* 00 0 000 */
3293 0x28, /* 00 0 000 */
3294 0x00, /* 00000000 */
3295 0x00, /* 00000000 */
3296 0x00, /* 00000000 */
3297 0x00, /* 00000000 */
3298 0x00, /* 00000000 */
3299 0x00, /* 00000000 */
3300 0x00, /* 00000000 */
3301
3302 /* 253 0xfd '\375' */
3303 0x00, /* 00000000 */
3304 0x70, /* 0 0000 */
3305 0x08, /* 0000 000 */
3306 0x20, /* 00 00000 */
3307 0x78, /* 0 000 */
3308 0x00, /* 00000000 */
3309 0x00, /* 00000000 */
3310 0x00, /* 00000000 */
3311 0x00, /* 00000000 */
3312 0x00, /* 00000000 */
3313 0x00, /* 00000000 */
3314
3315 /* 254 0xfe '\376' */
3316 0x00, /* 00000000 */
3317 0x00, /* 00000000 */
3318 0x38, /* 00 000 */
3319 0x38, /* 00 000 */
3320 0x38, /* 00 000 */
3321 0x38, /* 00 000 */
3322 0x38, /* 00 000 */
3323 0x38, /* 00 000 */
3324 0x00, /* 00000000 */
3325 0x00, /* 00000000 */
3326 0x00, /* 00000000 */
3327
3328 /* 255 0xff '\377' */
3329 0x00, /* 00000000 */
3330 0x00, /* 00000000 */
3331 0x00, /* 00000000 */
3332 0x00, /* 00000000 */
3333 0x00, /* 00000000 */
3334 0x00, /* 00000000 */
3335 0x00, /* 00000000 */
3336 0x00, /* 00000000 */
3337 0x00, /* 00000000 */
3338 0x00, /* 00000000 */
3339 0x00, /* 00000000 */
3340
3341};
3342
3343
3344struct font_desc font_vga_6x11 = {
3345 VGA6x11_IDX,
3346 "ProFont6x11",
3347 6,
3348 11,
3349 fontdata_6x11,
3350 -2000 /* Try avoiding this font if possible unless on MAC */
3351};
diff --git a/drivers/video/console/font_8x16.c b/drivers/video/console/font_8x16.c
new file mode 100644
index 000000000000..e6f8dbaa122b
--- /dev/null
+++ b/drivers/video/console/font_8x16.c
@@ -0,0 +1,4631 @@
1/**********************************************/
2/* */
3/* Font file generated by cpi2fnt */
4/* */
5/**********************************************/
6
7#include <linux/font.h>
8
9#define FONTDATAMAX 4096
10
11static unsigned char fontdata_8x16[FONTDATAMAX] = {
12
13 /* 0 0x00 '^@' */
14 0x00, /* 00000000 */
15 0x00, /* 00000000 */
16 0x00, /* 00000000 */
17 0x00, /* 00000000 */
18 0x00, /* 00000000 */
19 0x00, /* 00000000 */
20 0x00, /* 00000000 */
21 0x00, /* 00000000 */
22 0x00, /* 00000000 */
23 0x00, /* 00000000 */
24 0x00, /* 00000000 */
25 0x00, /* 00000000 */
26 0x00, /* 00000000 */
27 0x00, /* 00000000 */
28 0x00, /* 00000000 */
29 0x00, /* 00000000 */
30
31 /* 1 0x01 '^A' */
32 0x00, /* 00000000 */
33 0x00, /* 00000000 */
34 0x7e, /* 01111110 */
35 0x81, /* 10000001 */
36 0xa5, /* 10100101 */
37 0x81, /* 10000001 */
38 0x81, /* 10000001 */
39 0xbd, /* 10111101 */
40 0x99, /* 10011001 */
41 0x81, /* 10000001 */
42 0x81, /* 10000001 */
43 0x7e, /* 01111110 */
44 0x00, /* 00000000 */
45 0x00, /* 00000000 */
46 0x00, /* 00000000 */
47 0x00, /* 00000000 */
48
49 /* 2 0x02 '^B' */
50 0x00, /* 00000000 */
51 0x00, /* 00000000 */
52 0x7e, /* 01111110 */
53 0xff, /* 11111111 */
54 0xdb, /* 11011011 */
55 0xff, /* 11111111 */
56 0xff, /* 11111111 */
57 0xc3, /* 11000011 */
58 0xe7, /* 11100111 */
59 0xff, /* 11111111 */
60 0xff, /* 11111111 */
61 0x7e, /* 01111110 */
62 0x00, /* 00000000 */
63 0x00, /* 00000000 */
64 0x00, /* 00000000 */
65 0x00, /* 00000000 */
66
67 /* 3 0x03 '^C' */
68 0x00, /* 00000000 */
69 0x00, /* 00000000 */
70 0x00, /* 00000000 */
71 0x00, /* 00000000 */
72 0x6c, /* 01101100 */
73 0xfe, /* 11111110 */
74 0xfe, /* 11111110 */
75 0xfe, /* 11111110 */
76 0xfe, /* 11111110 */
77 0x7c, /* 01111100 */
78 0x38, /* 00111000 */
79 0x10, /* 00010000 */
80 0x00, /* 00000000 */
81 0x00, /* 00000000 */
82 0x00, /* 00000000 */
83 0x00, /* 00000000 */
84
85 /* 4 0x04 '^D' */
86 0x00, /* 00000000 */
87 0x00, /* 00000000 */
88 0x00, /* 00000000 */
89 0x00, /* 00000000 */
90 0x10, /* 00010000 */
91 0x38, /* 00111000 */
92 0x7c, /* 01111100 */
93 0xfe, /* 11111110 */
94 0x7c, /* 01111100 */
95 0x38, /* 00111000 */
96 0x10, /* 00010000 */
97 0x00, /* 00000000 */
98 0x00, /* 00000000 */
99 0x00, /* 00000000 */
100 0x00, /* 00000000 */
101 0x00, /* 00000000 */
102
103 /* 5 0x05 '^E' */
104 0x00, /* 00000000 */
105 0x00, /* 00000000 */
106 0x00, /* 00000000 */
107 0x18, /* 00011000 */
108 0x3c, /* 00111100 */
109 0x3c, /* 00111100 */
110 0xe7, /* 11100111 */
111 0xe7, /* 11100111 */
112 0xe7, /* 11100111 */
113 0x18, /* 00011000 */
114 0x18, /* 00011000 */
115 0x3c, /* 00111100 */
116 0x00, /* 00000000 */
117 0x00, /* 00000000 */
118 0x00, /* 00000000 */
119 0x00, /* 00000000 */
120
121 /* 6 0x06 '^F' */
122 0x00, /* 00000000 */
123 0x00, /* 00000000 */
124 0x00, /* 00000000 */
125 0x18, /* 00011000 */
126 0x3c, /* 00111100 */
127 0x7e, /* 01111110 */
128 0xff, /* 11111111 */
129 0xff, /* 11111111 */
130 0x7e, /* 01111110 */
131 0x18, /* 00011000 */
132 0x18, /* 00011000 */
133 0x3c, /* 00111100 */
134 0x00, /* 00000000 */
135 0x00, /* 00000000 */
136 0x00, /* 00000000 */
137 0x00, /* 00000000 */
138
139 /* 7 0x07 '^G' */
140 0x00, /* 00000000 */
141 0x00, /* 00000000 */
142 0x00, /* 00000000 */
143 0x00, /* 00000000 */
144 0x00, /* 00000000 */
145 0x00, /* 00000000 */
146 0x18, /* 00011000 */
147 0x3c, /* 00111100 */
148 0x3c, /* 00111100 */
149 0x18, /* 00011000 */
150 0x00, /* 00000000 */
151 0x00, /* 00000000 */
152 0x00, /* 00000000 */
153 0x00, /* 00000000 */
154 0x00, /* 00000000 */
155 0x00, /* 00000000 */
156
157 /* 8 0x08 '^H' */
158 0xff, /* 11111111 */
159 0xff, /* 11111111 */
160 0xff, /* 11111111 */
161 0xff, /* 11111111 */
162 0xff, /* 11111111 */
163 0xff, /* 11111111 */
164 0xe7, /* 11100111 */
165 0xc3, /* 11000011 */
166 0xc3, /* 11000011 */
167 0xe7, /* 11100111 */
168 0xff, /* 11111111 */
169 0xff, /* 11111111 */
170 0xff, /* 11111111 */
171 0xff, /* 11111111 */
172 0xff, /* 11111111 */
173 0xff, /* 11111111 */
174
175 /* 9 0x09 '^I' */
176 0x00, /* 00000000 */
177 0x00, /* 00000000 */
178 0x00, /* 00000000 */
179 0x00, /* 00000000 */
180 0x00, /* 00000000 */
181 0x3c, /* 00111100 */
182 0x66, /* 01100110 */
183 0x42, /* 01000010 */
184 0x42, /* 01000010 */
185 0x66, /* 01100110 */
186 0x3c, /* 00111100 */
187 0x00, /* 00000000 */
188 0x00, /* 00000000 */
189 0x00, /* 00000000 */
190 0x00, /* 00000000 */
191 0x00, /* 00000000 */
192
193 /* 10 0x0a '^J' */
194 0xff, /* 11111111 */
195 0xff, /* 11111111 */
196 0xff, /* 11111111 */
197 0xff, /* 11111111 */
198 0xff, /* 11111111 */
199 0xc3, /* 11000011 */
200 0x99, /* 10011001 */
201 0xbd, /* 10111101 */
202 0xbd, /* 10111101 */
203 0x99, /* 10011001 */
204 0xc3, /* 11000011 */
205 0xff, /* 11111111 */
206 0xff, /* 11111111 */
207 0xff, /* 11111111 */
208 0xff, /* 11111111 */
209 0xff, /* 11111111 */
210
211 /* 11 0x0b '^K' */
212 0x00, /* 00000000 */
213 0x00, /* 00000000 */
214 0x1e, /* 00011110 */
215 0x0e, /* 00001110 */
216 0x1a, /* 00011010 */
217 0x32, /* 00110010 */
218 0x78, /* 01111000 */
219 0xcc, /* 11001100 */
220 0xcc, /* 11001100 */
221 0xcc, /* 11001100 */
222 0xcc, /* 11001100 */
223 0x78, /* 01111000 */
224 0x00, /* 00000000 */
225 0x00, /* 00000000 */
226 0x00, /* 00000000 */
227 0x00, /* 00000000 */
228
229 /* 12 0x0c '^L' */
230 0x00, /* 00000000 */
231 0x00, /* 00000000 */
232 0x3c, /* 00111100 */
233 0x66, /* 01100110 */
234 0x66, /* 01100110 */
235 0x66, /* 01100110 */
236 0x66, /* 01100110 */
237 0x3c, /* 00111100 */
238 0x18, /* 00011000 */
239 0x7e, /* 01111110 */
240 0x18, /* 00011000 */
241 0x18, /* 00011000 */
242 0x00, /* 00000000 */
243 0x00, /* 00000000 */
244 0x00, /* 00000000 */
245 0x00, /* 00000000 */
246
247 /* 13 0x0d '^M' */
248 0x00, /* 00000000 */
249 0x00, /* 00000000 */
250 0x3f, /* 00111111 */
251 0x33, /* 00110011 */
252 0x3f, /* 00111111 */
253 0x30, /* 00110000 */
254 0x30, /* 00110000 */
255 0x30, /* 00110000 */
256 0x30, /* 00110000 */
257 0x70, /* 01110000 */
258 0xf0, /* 11110000 */
259 0xe0, /* 11100000 */
260 0x00, /* 00000000 */
261 0x00, /* 00000000 */
262 0x00, /* 00000000 */
263 0x00, /* 00000000 */
264
265 /* 14 0x0e '^N' */
266 0x00, /* 00000000 */
267 0x00, /* 00000000 */
268 0x7f, /* 01111111 */
269 0x63, /* 01100011 */
270 0x7f, /* 01111111 */
271 0x63, /* 01100011 */
272 0x63, /* 01100011 */
273 0x63, /* 01100011 */
274 0x63, /* 01100011 */
275 0x67, /* 01100111 */
276 0xe7, /* 11100111 */
277 0xe6, /* 11100110 */
278 0xc0, /* 11000000 */
279 0x00, /* 00000000 */
280 0x00, /* 00000000 */
281 0x00, /* 00000000 */
282
283 /* 15 0x0f '^O' */
284 0x00, /* 00000000 */
285 0x00, /* 00000000 */
286 0x00, /* 00000000 */
287 0x18, /* 00011000 */
288 0x18, /* 00011000 */
289 0xdb, /* 11011011 */
290 0x3c, /* 00111100 */
291 0xe7, /* 11100111 */
292 0x3c, /* 00111100 */
293 0xdb, /* 11011011 */
294 0x18, /* 00011000 */
295 0x18, /* 00011000 */
296 0x00, /* 00000000 */
297 0x00, /* 00000000 */
298 0x00, /* 00000000 */
299 0x00, /* 00000000 */
300
301 /* 16 0x10 '^P' */
302 0x00, /* 00000000 */
303 0x80, /* 10000000 */
304 0xc0, /* 11000000 */
305 0xe0, /* 11100000 */
306 0xf0, /* 11110000 */
307 0xf8, /* 11111000 */
308 0xfe, /* 11111110 */
309 0xf8, /* 11111000 */
310 0xf0, /* 11110000 */
311 0xe0, /* 11100000 */
312 0xc0, /* 11000000 */
313 0x80, /* 10000000 */
314 0x00, /* 00000000 */
315 0x00, /* 00000000 */
316 0x00, /* 00000000 */
317 0x00, /* 00000000 */
318
319 /* 17 0x11 '^Q' */
320 0x00, /* 00000000 */
321 0x02, /* 00000010 */
322 0x06, /* 00000110 */
323 0x0e, /* 00001110 */
324 0x1e, /* 00011110 */
325 0x3e, /* 00111110 */
326 0xfe, /* 11111110 */
327 0x3e, /* 00111110 */
328 0x1e, /* 00011110 */
329 0x0e, /* 00001110 */
330 0x06, /* 00000110 */
331 0x02, /* 00000010 */
332 0x00, /* 00000000 */
333 0x00, /* 00000000 */
334 0x00, /* 00000000 */
335 0x00, /* 00000000 */
336
337 /* 18 0x12 '^R' */
338 0x00, /* 00000000 */
339 0x00, /* 00000000 */
340 0x18, /* 00011000 */
341 0x3c, /* 00111100 */
342 0x7e, /* 01111110 */
343 0x18, /* 00011000 */
344 0x18, /* 00011000 */
345 0x18, /* 00011000 */
346 0x7e, /* 01111110 */
347 0x3c, /* 00111100 */
348 0x18, /* 00011000 */
349 0x00, /* 00000000 */
350 0x00, /* 00000000 */
351 0x00, /* 00000000 */
352 0x00, /* 00000000 */
353 0x00, /* 00000000 */
354
355 /* 19 0x13 '^S' */
356 0x00, /* 00000000 */
357 0x00, /* 00000000 */
358 0x66, /* 01100110 */
359 0x66, /* 01100110 */
360 0x66, /* 01100110 */
361 0x66, /* 01100110 */
362 0x66, /* 01100110 */
363 0x66, /* 01100110 */
364 0x66, /* 01100110 */
365 0x00, /* 00000000 */
366 0x66, /* 01100110 */
367 0x66, /* 01100110 */
368 0x00, /* 00000000 */
369 0x00, /* 00000000 */
370 0x00, /* 00000000 */
371 0x00, /* 00000000 */
372
373 /* 20 0x14 '^T' */
374 0x00, /* 00000000 */
375 0x00, /* 00000000 */
376 0x7f, /* 01111111 */
377 0xdb, /* 11011011 */
378 0xdb, /* 11011011 */
379 0xdb, /* 11011011 */
380 0x7b, /* 01111011 */
381 0x1b, /* 00011011 */
382 0x1b, /* 00011011 */
383 0x1b, /* 00011011 */
384 0x1b, /* 00011011 */
385 0x1b, /* 00011011 */
386 0x00, /* 00000000 */
387 0x00, /* 00000000 */
388 0x00, /* 00000000 */
389 0x00, /* 00000000 */
390
391 /* 21 0x15 '^U' */
392 0x00, /* 00000000 */
393 0x7c, /* 01111100 */
394 0xc6, /* 11000110 */
395 0x60, /* 01100000 */
396 0x38, /* 00111000 */
397 0x6c, /* 01101100 */
398 0xc6, /* 11000110 */
399 0xc6, /* 11000110 */
400 0x6c, /* 01101100 */
401 0x38, /* 00111000 */
402 0x0c, /* 00001100 */
403 0xc6, /* 11000110 */
404 0x7c, /* 01111100 */
405 0x00, /* 00000000 */
406 0x00, /* 00000000 */
407 0x00, /* 00000000 */
408
409 /* 22 0x16 '^V' */
410 0x00, /* 00000000 */
411 0x00, /* 00000000 */
412 0x00, /* 00000000 */
413 0x00, /* 00000000 */
414 0x00, /* 00000000 */
415 0x00, /* 00000000 */
416 0x00, /* 00000000 */
417 0x00, /* 00000000 */
418 0xfe, /* 11111110 */
419 0xfe, /* 11111110 */
420 0xfe, /* 11111110 */
421 0xfe, /* 11111110 */
422 0x00, /* 00000000 */
423 0x00, /* 00000000 */
424 0x00, /* 00000000 */
425 0x00, /* 00000000 */
426
427 /* 23 0x17 '^W' */
428 0x00, /* 00000000 */
429 0x00, /* 00000000 */
430 0x18, /* 00011000 */
431 0x3c, /* 00111100 */
432 0x7e, /* 01111110 */
433 0x18, /* 00011000 */
434 0x18, /* 00011000 */
435 0x18, /* 00011000 */
436 0x7e, /* 01111110 */
437 0x3c, /* 00111100 */
438 0x18, /* 00011000 */
439 0x7e, /* 01111110 */
440 0x00, /* 00000000 */
441 0x00, /* 00000000 */
442 0x00, /* 00000000 */
443 0x00, /* 00000000 */
444
445 /* 24 0x18 '^X' */
446 0x00, /* 00000000 */
447 0x00, /* 00000000 */
448 0x18, /* 00011000 */
449 0x3c, /* 00111100 */
450 0x7e, /* 01111110 */
451 0x18, /* 00011000 */
452 0x18, /* 00011000 */
453 0x18, /* 00011000 */
454 0x18, /* 00011000 */
455 0x18, /* 00011000 */
456 0x18, /* 00011000 */
457 0x18, /* 00011000 */
458 0x00, /* 00000000 */
459 0x00, /* 00000000 */
460 0x00, /* 00000000 */
461 0x00, /* 00000000 */
462
463 /* 25 0x19 '^Y' */
464 0x00, /* 00000000 */
465 0x00, /* 00000000 */
466 0x18, /* 00011000 */
467 0x18, /* 00011000 */
468 0x18, /* 00011000 */
469 0x18, /* 00011000 */
470 0x18, /* 00011000 */
471 0x18, /* 00011000 */
472 0x18, /* 00011000 */
473 0x7e, /* 01111110 */
474 0x3c, /* 00111100 */
475 0x18, /* 00011000 */
476 0x00, /* 00000000 */
477 0x00, /* 00000000 */
478 0x00, /* 00000000 */
479 0x00, /* 00000000 */
480
481 /* 26 0x1a '^Z' */
482 0x00, /* 00000000 */
483 0x00, /* 00000000 */
484 0x00, /* 00000000 */
485 0x00, /* 00000000 */
486 0x00, /* 00000000 */
487 0x18, /* 00011000 */
488 0x0c, /* 00001100 */
489 0xfe, /* 11111110 */
490 0x0c, /* 00001100 */
491 0x18, /* 00011000 */
492 0x00, /* 00000000 */
493 0x00, /* 00000000 */
494 0x00, /* 00000000 */
495 0x00, /* 00000000 */
496 0x00, /* 00000000 */
497 0x00, /* 00000000 */
498
499 /* 27 0x1b '^[' */
500 0x00, /* 00000000 */
501 0x00, /* 00000000 */
502 0x00, /* 00000000 */
503 0x00, /* 00000000 */
504 0x00, /* 00000000 */
505 0x30, /* 00110000 */
506 0x60, /* 01100000 */
507 0xfe, /* 11111110 */
508 0x60, /* 01100000 */
509 0x30, /* 00110000 */
510 0x00, /* 00000000 */
511 0x00, /* 00000000 */
512 0x00, /* 00000000 */
513 0x00, /* 00000000 */
514 0x00, /* 00000000 */
515 0x00, /* 00000000 */
516
517 /* 28 0x1c '^\' */
518 0x00, /* 00000000 */
519 0x00, /* 00000000 */
520 0x00, /* 00000000 */
521 0x00, /* 00000000 */
522 0x00, /* 00000000 */
523 0x00, /* 00000000 */
524 0xc0, /* 11000000 */
525 0xc0, /* 11000000 */
526 0xc0, /* 11000000 */
527 0xfe, /* 11111110 */
528 0x00, /* 00000000 */
529 0x00, /* 00000000 */
530 0x00, /* 00000000 */
531 0x00, /* 00000000 */
532 0x00, /* 00000000 */
533 0x00, /* 00000000 */
534
535 /* 29 0x1d '^]' */
536 0x00, /* 00000000 */
537 0x00, /* 00000000 */
538 0x00, /* 00000000 */
539 0x00, /* 00000000 */
540 0x00, /* 00000000 */
541 0x28, /* 00101000 */
542 0x6c, /* 01101100 */
543 0xfe, /* 11111110 */
544 0x6c, /* 01101100 */
545 0x28, /* 00101000 */
546 0x00, /* 00000000 */
547 0x00, /* 00000000 */
548 0x00, /* 00000000 */
549 0x00, /* 00000000 */
550 0x00, /* 00000000 */
551 0x00, /* 00000000 */
552
553 /* 30 0x1e '^^' */
554 0x00, /* 00000000 */
555 0x00, /* 00000000 */
556 0x00, /* 00000000 */
557 0x00, /* 00000000 */
558 0x10, /* 00010000 */
559 0x38, /* 00111000 */
560 0x38, /* 00111000 */
561 0x7c, /* 01111100 */
562 0x7c, /* 01111100 */
563 0xfe, /* 11111110 */
564 0xfe, /* 11111110 */
565 0x00, /* 00000000 */
566 0x00, /* 00000000 */
567 0x00, /* 00000000 */
568 0x00, /* 00000000 */
569 0x00, /* 00000000 */
570
571 /* 31 0x1f '^_' */
572 0x00, /* 00000000 */
573 0x00, /* 00000000 */
574 0x00, /* 00000000 */
575 0x00, /* 00000000 */
576 0xfe, /* 11111110 */
577 0xfe, /* 11111110 */
578 0x7c, /* 01111100 */
579 0x7c, /* 01111100 */
580 0x38, /* 00111000 */
581 0x38, /* 00111000 */
582 0x10, /* 00010000 */
583 0x00, /* 00000000 */
584 0x00, /* 00000000 */
585 0x00, /* 00000000 */
586 0x00, /* 00000000 */
587 0x00, /* 00000000 */
588
589 /* 32 0x20 ' ' */
590 0x00, /* 00000000 */
591 0x00, /* 00000000 */
592 0x00, /* 00000000 */
593 0x00, /* 00000000 */
594 0x00, /* 00000000 */
595 0x00, /* 00000000 */
596 0x00, /* 00000000 */
597 0x00, /* 00000000 */
598 0x00, /* 00000000 */
599 0x00, /* 00000000 */
600 0x00, /* 00000000 */
601 0x00, /* 00000000 */
602 0x00, /* 00000000 */
603 0x00, /* 00000000 */
604 0x00, /* 00000000 */
605 0x00, /* 00000000 */
606
607 /* 33 0x21 '!' */
608 0x00, /* 00000000 */
609 0x00, /* 00000000 */
610 0x18, /* 00011000 */
611 0x3c, /* 00111100 */
612 0x3c, /* 00111100 */
613 0x3c, /* 00111100 */
614 0x18, /* 00011000 */
615 0x18, /* 00011000 */
616 0x18, /* 00011000 */
617 0x00, /* 00000000 */
618 0x18, /* 00011000 */
619 0x18, /* 00011000 */
620 0x00, /* 00000000 */
621 0x00, /* 00000000 */
622 0x00, /* 00000000 */
623 0x00, /* 00000000 */
624
625 /* 34 0x22 '"' */
626 0x00, /* 00000000 */
627 0x66, /* 01100110 */
628 0x66, /* 01100110 */
629 0x66, /* 01100110 */
630 0x24, /* 00100100 */
631 0x00, /* 00000000 */
632 0x00, /* 00000000 */
633 0x00, /* 00000000 */
634 0x00, /* 00000000 */
635 0x00, /* 00000000 */
636 0x00, /* 00000000 */
637 0x00, /* 00000000 */
638 0x00, /* 00000000 */
639 0x00, /* 00000000 */
640 0x00, /* 00000000 */
641 0x00, /* 00000000 */
642
643 /* 35 0x23 '#' */
644 0x00, /* 00000000 */
645 0x00, /* 00000000 */
646 0x00, /* 00000000 */
647 0x6c, /* 01101100 */
648 0x6c, /* 01101100 */
649 0xfe, /* 11111110 */
650 0x6c, /* 01101100 */
651 0x6c, /* 01101100 */
652 0x6c, /* 01101100 */
653 0xfe, /* 11111110 */
654 0x6c, /* 01101100 */
655 0x6c, /* 01101100 */
656 0x00, /* 00000000 */
657 0x00, /* 00000000 */
658 0x00, /* 00000000 */
659 0x00, /* 00000000 */
660
661 /* 36 0x24 '$' */
662 0x18, /* 00011000 */
663 0x18, /* 00011000 */
664 0x7c, /* 01111100 */
665 0xc6, /* 11000110 */
666 0xc2, /* 11000010 */
667 0xc0, /* 11000000 */
668 0x7c, /* 01111100 */
669 0x06, /* 00000110 */
670 0x06, /* 00000110 */
671 0x86, /* 10000110 */
672 0xc6, /* 11000110 */
673 0x7c, /* 01111100 */
674 0x18, /* 00011000 */
675 0x18, /* 00011000 */
676 0x00, /* 00000000 */
677 0x00, /* 00000000 */
678
679 /* 37 0x25 '%' */
680 0x00, /* 00000000 */
681 0x00, /* 00000000 */
682 0x00, /* 00000000 */
683 0x00, /* 00000000 */
684 0xc2, /* 11000010 */
685 0xc6, /* 11000110 */
686 0x0c, /* 00001100 */
687 0x18, /* 00011000 */
688 0x30, /* 00110000 */
689 0x60, /* 01100000 */
690 0xc6, /* 11000110 */
691 0x86, /* 10000110 */
692 0x00, /* 00000000 */
693 0x00, /* 00000000 */
694 0x00, /* 00000000 */
695 0x00, /* 00000000 */
696
697 /* 38 0x26 '&' */
698 0x00, /* 00000000 */
699 0x00, /* 00000000 */
700 0x38, /* 00111000 */
701 0x6c, /* 01101100 */
702 0x6c, /* 01101100 */
703 0x38, /* 00111000 */
704 0x76, /* 01110110 */
705 0xdc, /* 11011100 */
706 0xcc, /* 11001100 */
707 0xcc, /* 11001100 */
708 0xcc, /* 11001100 */
709 0x76, /* 01110110 */
710 0x00, /* 00000000 */
711 0x00, /* 00000000 */
712 0x00, /* 00000000 */
713 0x00, /* 00000000 */
714
715 /* 39 0x27 ''' */
716 0x00, /* 00000000 */
717 0x30, /* 00110000 */
718 0x30, /* 00110000 */
719 0x30, /* 00110000 */
720 0x60, /* 01100000 */
721 0x00, /* 00000000 */
722 0x00, /* 00000000 */
723 0x00, /* 00000000 */
724 0x00, /* 00000000 */
725 0x00, /* 00000000 */
726 0x00, /* 00000000 */
727 0x00, /* 00000000 */
728 0x00, /* 00000000 */
729 0x00, /* 00000000 */
730 0x00, /* 00000000 */
731 0x00, /* 00000000 */
732
733 /* 40 0x28 '(' */
734 0x00, /* 00000000 */
735 0x00, /* 00000000 */
736 0x0c, /* 00001100 */
737 0x18, /* 00011000 */
738 0x30, /* 00110000 */
739 0x30, /* 00110000 */
740 0x30, /* 00110000 */
741 0x30, /* 00110000 */
742 0x30, /* 00110000 */
743 0x30, /* 00110000 */
744 0x18, /* 00011000 */
745 0x0c, /* 00001100 */
746 0x00, /* 00000000 */
747 0x00, /* 00000000 */
748 0x00, /* 00000000 */
749 0x00, /* 00000000 */
750
751 /* 41 0x29 ')' */
752 0x00, /* 00000000 */
753 0x00, /* 00000000 */
754 0x30, /* 00110000 */
755 0x18, /* 00011000 */
756 0x0c, /* 00001100 */
757 0x0c, /* 00001100 */
758 0x0c, /* 00001100 */
759 0x0c, /* 00001100 */
760 0x0c, /* 00001100 */
761 0x0c, /* 00001100 */
762 0x18, /* 00011000 */
763 0x30, /* 00110000 */
764 0x00, /* 00000000 */
765 0x00, /* 00000000 */
766 0x00, /* 00000000 */
767 0x00, /* 00000000 */
768
769 /* 42 0x2a '*' */
770 0x00, /* 00000000 */
771 0x00, /* 00000000 */
772 0x00, /* 00000000 */
773 0x00, /* 00000000 */
774 0x00, /* 00000000 */
775 0x66, /* 01100110 */
776 0x3c, /* 00111100 */
777 0xff, /* 11111111 */
778 0x3c, /* 00111100 */
779 0x66, /* 01100110 */
780 0x00, /* 00000000 */
781 0x00, /* 00000000 */
782 0x00, /* 00000000 */
783 0x00, /* 00000000 */
784 0x00, /* 00000000 */
785 0x00, /* 00000000 */
786
787 /* 43 0x2b '+' */
788 0x00, /* 00000000 */
789 0x00, /* 00000000 */
790 0x00, /* 00000000 */
791 0x00, /* 00000000 */
792 0x00, /* 00000000 */
793 0x18, /* 00011000 */
794 0x18, /* 00011000 */
795 0x7e, /* 01111110 */
796 0x18, /* 00011000 */
797 0x18, /* 00011000 */
798 0x00, /* 00000000 */
799 0x00, /* 00000000 */
800 0x00, /* 00000000 */
801 0x00, /* 00000000 */
802 0x00, /* 00000000 */
803 0x00, /* 00000000 */
804
805 /* 44 0x2c ',' */
806 0x00, /* 00000000 */
807 0x00, /* 00000000 */
808 0x00, /* 00000000 */
809 0x00, /* 00000000 */
810 0x00, /* 00000000 */
811 0x00, /* 00000000 */
812 0x00, /* 00000000 */
813 0x00, /* 00000000 */
814 0x00, /* 00000000 */
815 0x18, /* 00011000 */
816 0x18, /* 00011000 */
817 0x18, /* 00011000 */
818 0x30, /* 00110000 */
819 0x00, /* 00000000 */
820 0x00, /* 00000000 */
821 0x00, /* 00000000 */
822
823 /* 45 0x2d '-' */
824 0x00, /* 00000000 */
825 0x00, /* 00000000 */
826 0x00, /* 00000000 */
827 0x00, /* 00000000 */
828 0x00, /* 00000000 */
829 0x00, /* 00000000 */
830 0x00, /* 00000000 */
831 0xfe, /* 11111110 */
832 0x00, /* 00000000 */
833 0x00, /* 00000000 */
834 0x00, /* 00000000 */
835 0x00, /* 00000000 */
836 0x00, /* 00000000 */
837 0x00, /* 00000000 */
838 0x00, /* 00000000 */
839 0x00, /* 00000000 */
840
841 /* 46 0x2e '.' */
842 0x00, /* 00000000 */
843 0x00, /* 00000000 */
844 0x00, /* 00000000 */
845 0x00, /* 00000000 */
846 0x00, /* 00000000 */
847 0x00, /* 00000000 */
848 0x00, /* 00000000 */
849 0x00, /* 00000000 */
850 0x00, /* 00000000 */
851 0x00, /* 00000000 */
852 0x18, /* 00011000 */
853 0x18, /* 00011000 */
854 0x00, /* 00000000 */
855 0x00, /* 00000000 */
856 0x00, /* 00000000 */
857 0x00, /* 00000000 */
858
859 /* 47 0x2f '/' */
860 0x00, /* 00000000 */
861 0x00, /* 00000000 */
862 0x00, /* 00000000 */
863 0x00, /* 00000000 */
864 0x02, /* 00000010 */
865 0x06, /* 00000110 */
866 0x0c, /* 00001100 */
867 0x18, /* 00011000 */
868 0x30, /* 00110000 */
869 0x60, /* 01100000 */
870 0xc0, /* 11000000 */
871 0x80, /* 10000000 */
872 0x00, /* 00000000 */
873 0x00, /* 00000000 */
874 0x00, /* 00000000 */
875 0x00, /* 00000000 */
876
877 /* 48 0x30 '0' */
878 0x00, /* 00000000 */
879 0x00, /* 00000000 */
880 0x38, /* 00111000 */
881 0x6c, /* 01101100 */
882 0xc6, /* 11000110 */
883 0xc6, /* 11000110 */
884 0xd6, /* 11010110 */
885 0xd6, /* 11010110 */
886 0xc6, /* 11000110 */
887 0xc6, /* 11000110 */
888 0x6c, /* 01101100 */
889 0x38, /* 00111000 */
890 0x00, /* 00000000 */
891 0x00, /* 00000000 */
892 0x00, /* 00000000 */
893 0x00, /* 00000000 */
894
895 /* 49 0x31 '1' */
896 0x00, /* 00000000 */
897 0x00, /* 00000000 */
898 0x18, /* 00011000 */
899 0x38, /* 00111000 */
900 0x78, /* 01111000 */
901 0x18, /* 00011000 */
902 0x18, /* 00011000 */
903 0x18, /* 00011000 */
904 0x18, /* 00011000 */
905 0x18, /* 00011000 */
906 0x18, /* 00011000 */
907 0x7e, /* 01111110 */
908 0x00, /* 00000000 */
909 0x00, /* 00000000 */
910 0x00, /* 00000000 */
911 0x00, /* 00000000 */
912
913 /* 50 0x32 '2' */
914 0x00, /* 00000000 */
915 0x00, /* 00000000 */
916 0x7c, /* 01111100 */
917 0xc6, /* 11000110 */
918 0x06, /* 00000110 */
919 0x0c, /* 00001100 */
920 0x18, /* 00011000 */
921 0x30, /* 00110000 */
922 0x60, /* 01100000 */
923 0xc0, /* 11000000 */
924 0xc6, /* 11000110 */
925 0xfe, /* 11111110 */
926 0x00, /* 00000000 */
927 0x00, /* 00000000 */
928 0x00, /* 00000000 */
929 0x00, /* 00000000 */
930
931 /* 51 0x33 '3' */
932 0x00, /* 00000000 */
933 0x00, /* 00000000 */
934 0x7c, /* 01111100 */
935 0xc6, /* 11000110 */
936 0x06, /* 00000110 */
937 0x06, /* 00000110 */
938 0x3c, /* 00111100 */
939 0x06, /* 00000110 */
940 0x06, /* 00000110 */
941 0x06, /* 00000110 */
942 0xc6, /* 11000110 */
943 0x7c, /* 01111100 */
944 0x00, /* 00000000 */
945 0x00, /* 00000000 */
946 0x00, /* 00000000 */
947 0x00, /* 00000000 */
948
949 /* 52 0x34 '4' */
950 0x00, /* 00000000 */
951 0x00, /* 00000000 */
952 0x0c, /* 00001100 */
953 0x1c, /* 00011100 */
954 0x3c, /* 00111100 */
955 0x6c, /* 01101100 */
956 0xcc, /* 11001100 */
957 0xfe, /* 11111110 */
958 0x0c, /* 00001100 */
959 0x0c, /* 00001100 */
960 0x0c, /* 00001100 */
961 0x1e, /* 00011110 */
962 0x00, /* 00000000 */
963 0x00, /* 00000000 */
964 0x00, /* 00000000 */
965 0x00, /* 00000000 */
966
967 /* 53 0x35 '5' */
968 0x00, /* 00000000 */
969 0x00, /* 00000000 */
970 0xfe, /* 11111110 */
971 0xc0, /* 11000000 */
972 0xc0, /* 11000000 */
973 0xc0, /* 11000000 */
974 0xfc, /* 11111100 */
975 0x06, /* 00000110 */
976 0x06, /* 00000110 */
977 0x06, /* 00000110 */
978 0xc6, /* 11000110 */
979 0x7c, /* 01111100 */
980 0x00, /* 00000000 */
981 0x00, /* 00000000 */
982 0x00, /* 00000000 */
983 0x00, /* 00000000 */
984
985 /* 54 0x36 '6' */
986 0x00, /* 00000000 */
987 0x00, /* 00000000 */
988 0x38, /* 00111000 */
989 0x60, /* 01100000 */
990 0xc0, /* 11000000 */
991 0xc0, /* 11000000 */
992 0xfc, /* 11111100 */
993 0xc6, /* 11000110 */
994 0xc6, /* 11000110 */
995 0xc6, /* 11000110 */
996 0xc6, /* 11000110 */
997 0x7c, /* 01111100 */
998 0x00, /* 00000000 */
999 0x00, /* 00000000 */
1000 0x00, /* 00000000 */
1001 0x00, /* 00000000 */
1002
1003 /* 55 0x37 '7' */
1004 0x00, /* 00000000 */
1005 0x00, /* 00000000 */
1006 0xfe, /* 11111110 */
1007 0xc6, /* 11000110 */
1008 0x06, /* 00000110 */
1009 0x06, /* 00000110 */
1010 0x0c, /* 00001100 */
1011 0x18, /* 00011000 */
1012 0x30, /* 00110000 */
1013 0x30, /* 00110000 */
1014 0x30, /* 00110000 */
1015 0x30, /* 00110000 */
1016 0x00, /* 00000000 */
1017 0x00, /* 00000000 */
1018 0x00, /* 00000000 */
1019 0x00, /* 00000000 */
1020
1021 /* 56 0x38 '8' */
1022 0x00, /* 00000000 */
1023 0x00, /* 00000000 */
1024 0x7c, /* 01111100 */
1025 0xc6, /* 11000110 */
1026 0xc6, /* 11000110 */
1027 0xc6, /* 11000110 */
1028 0x7c, /* 01111100 */
1029 0xc6, /* 11000110 */
1030 0xc6, /* 11000110 */
1031 0xc6, /* 11000110 */
1032 0xc6, /* 11000110 */
1033 0x7c, /* 01111100 */
1034 0x00, /* 00000000 */
1035 0x00, /* 00000000 */
1036 0x00, /* 00000000 */
1037 0x00, /* 00000000 */
1038
1039 /* 57 0x39 '9' */
1040 0x00, /* 00000000 */
1041 0x00, /* 00000000 */
1042 0x7c, /* 01111100 */
1043 0xc6, /* 11000110 */
1044 0xc6, /* 11000110 */
1045 0xc6, /* 11000110 */
1046 0x7e, /* 01111110 */
1047 0x06, /* 00000110 */
1048 0x06, /* 00000110 */
1049 0x06, /* 00000110 */
1050 0x0c, /* 00001100 */
1051 0x78, /* 01111000 */
1052 0x00, /* 00000000 */
1053 0x00, /* 00000000 */
1054 0x00, /* 00000000 */
1055 0x00, /* 00000000 */
1056
1057 /* 58 0x3a ':' */
1058 0x00, /* 00000000 */
1059 0x00, /* 00000000 */
1060 0x00, /* 00000000 */
1061 0x00, /* 00000000 */
1062 0x18, /* 00011000 */
1063 0x18, /* 00011000 */
1064 0x00, /* 00000000 */
1065 0x00, /* 00000000 */
1066 0x00, /* 00000000 */
1067 0x18, /* 00011000 */
1068 0x18, /* 00011000 */
1069 0x00, /* 00000000 */
1070 0x00, /* 00000000 */
1071 0x00, /* 00000000 */
1072 0x00, /* 00000000 */
1073 0x00, /* 00000000 */
1074
1075 /* 59 0x3b ';' */
1076 0x00, /* 00000000 */
1077 0x00, /* 00000000 */
1078 0x00, /* 00000000 */
1079 0x00, /* 00000000 */
1080 0x18, /* 00011000 */
1081 0x18, /* 00011000 */
1082 0x00, /* 00000000 */
1083 0x00, /* 00000000 */
1084 0x00, /* 00000000 */
1085 0x18, /* 00011000 */
1086 0x18, /* 00011000 */
1087 0x30, /* 00110000 */
1088 0x00, /* 00000000 */
1089 0x00, /* 00000000 */
1090 0x00, /* 00000000 */
1091 0x00, /* 00000000 */
1092
1093 /* 60 0x3c '<' */
1094 0x00, /* 00000000 */
1095 0x00, /* 00000000 */
1096 0x00, /* 00000000 */
1097 0x06, /* 00000110 */
1098 0x0c, /* 00001100 */
1099 0x18, /* 00011000 */
1100 0x30, /* 00110000 */
1101 0x60, /* 01100000 */
1102 0x30, /* 00110000 */
1103 0x18, /* 00011000 */
1104 0x0c, /* 00001100 */
1105 0x06, /* 00000110 */
1106 0x00, /* 00000000 */
1107 0x00, /* 00000000 */
1108 0x00, /* 00000000 */
1109 0x00, /* 00000000 */
1110
1111 /* 61 0x3d '=' */
1112 0x00, /* 00000000 */
1113 0x00, /* 00000000 */
1114 0x00, /* 00000000 */
1115 0x00, /* 00000000 */
1116 0x00, /* 00000000 */
1117 0x7e, /* 01111110 */
1118 0x00, /* 00000000 */
1119 0x00, /* 00000000 */
1120 0x7e, /* 01111110 */
1121 0x00, /* 00000000 */
1122 0x00, /* 00000000 */
1123 0x00, /* 00000000 */
1124 0x00, /* 00000000 */
1125 0x00, /* 00000000 */
1126 0x00, /* 00000000 */
1127 0x00, /* 00000000 */
1128
1129 /* 62 0x3e '>' */
1130 0x00, /* 00000000 */
1131 0x00, /* 00000000 */
1132 0x00, /* 00000000 */
1133 0x60, /* 01100000 */
1134 0x30, /* 00110000 */
1135 0x18, /* 00011000 */
1136 0x0c, /* 00001100 */
1137 0x06, /* 00000110 */
1138 0x0c, /* 00001100 */
1139 0x18, /* 00011000 */
1140 0x30, /* 00110000 */
1141 0x60, /* 01100000 */
1142 0x00, /* 00000000 */
1143 0x00, /* 00000000 */
1144 0x00, /* 00000000 */
1145 0x00, /* 00000000 */
1146
1147 /* 63 0x3f '?' */
1148 0x00, /* 00000000 */
1149 0x00, /* 00000000 */
1150 0x7c, /* 01111100 */
1151 0xc6, /* 11000110 */
1152 0xc6, /* 11000110 */
1153 0x0c, /* 00001100 */
1154 0x18, /* 00011000 */
1155 0x18, /* 00011000 */
1156 0x18, /* 00011000 */
1157 0x00, /* 00000000 */
1158 0x18, /* 00011000 */
1159 0x18, /* 00011000 */
1160 0x00, /* 00000000 */
1161 0x00, /* 00000000 */
1162 0x00, /* 00000000 */
1163 0x00, /* 00000000 */
1164
1165 /* 64 0x40 '@' */
1166 0x00, /* 00000000 */
1167 0x00, /* 00000000 */
1168 0x00, /* 00000000 */
1169 0x7c, /* 01111100 */
1170 0xc6, /* 11000110 */
1171 0xc6, /* 11000110 */
1172 0xde, /* 11011110 */
1173 0xde, /* 11011110 */
1174 0xde, /* 11011110 */
1175 0xdc, /* 11011100 */
1176 0xc0, /* 11000000 */
1177 0x7c, /* 01111100 */
1178 0x00, /* 00000000 */
1179 0x00, /* 00000000 */
1180 0x00, /* 00000000 */
1181 0x00, /* 00000000 */
1182
1183 /* 65 0x41 'A' */
1184 0x00, /* 00000000 */
1185 0x00, /* 00000000 */
1186 0x10, /* 00010000 */
1187 0x38, /* 00111000 */
1188 0x6c, /* 01101100 */
1189 0xc6, /* 11000110 */
1190 0xc6, /* 11000110 */
1191 0xfe, /* 11111110 */
1192 0xc6, /* 11000110 */
1193 0xc6, /* 11000110 */
1194 0xc6, /* 11000110 */
1195 0xc6, /* 11000110 */
1196 0x00, /* 00000000 */
1197 0x00, /* 00000000 */
1198 0x00, /* 00000000 */
1199 0x00, /* 00000000 */
1200
1201 /* 66 0x42 'B' */
1202 0x00, /* 00000000 */
1203 0x00, /* 00000000 */
1204 0xfc, /* 11111100 */
1205 0x66, /* 01100110 */
1206 0x66, /* 01100110 */
1207 0x66, /* 01100110 */
1208 0x7c, /* 01111100 */
1209 0x66, /* 01100110 */
1210 0x66, /* 01100110 */
1211 0x66, /* 01100110 */
1212 0x66, /* 01100110 */
1213 0xfc, /* 11111100 */
1214 0x00, /* 00000000 */
1215 0x00, /* 00000000 */
1216 0x00, /* 00000000 */
1217 0x00, /* 00000000 */
1218
1219 /* 67 0x43 'C' */
1220 0x00, /* 00000000 */
1221 0x00, /* 00000000 */
1222 0x3c, /* 00111100 */
1223 0x66, /* 01100110 */
1224 0xc2, /* 11000010 */
1225 0xc0, /* 11000000 */
1226 0xc0, /* 11000000 */
1227 0xc0, /* 11000000 */
1228 0xc0, /* 11000000 */
1229 0xc2, /* 11000010 */
1230 0x66, /* 01100110 */
1231 0x3c, /* 00111100 */
1232 0x00, /* 00000000 */
1233 0x00, /* 00000000 */
1234 0x00, /* 00000000 */
1235 0x00, /* 00000000 */
1236
1237 /* 68 0x44 'D' */
1238 0x00, /* 00000000 */
1239 0x00, /* 00000000 */
1240 0xf8, /* 11111000 */
1241 0x6c, /* 01101100 */
1242 0x66, /* 01100110 */
1243 0x66, /* 01100110 */
1244 0x66, /* 01100110 */
1245 0x66, /* 01100110 */
1246 0x66, /* 01100110 */
1247 0x66, /* 01100110 */
1248 0x6c, /* 01101100 */
1249 0xf8, /* 11111000 */
1250 0x00, /* 00000000 */
1251 0x00, /* 00000000 */
1252 0x00, /* 00000000 */
1253 0x00, /* 00000000 */
1254
1255 /* 69 0x45 'E' */
1256 0x00, /* 00000000 */
1257 0x00, /* 00000000 */
1258 0xfe, /* 11111110 */
1259 0x66, /* 01100110 */
1260 0x62, /* 01100010 */
1261 0x68, /* 01101000 */
1262 0x78, /* 01111000 */
1263 0x68, /* 01101000 */
1264 0x60, /* 01100000 */
1265 0x62, /* 01100010 */
1266 0x66, /* 01100110 */
1267 0xfe, /* 11111110 */
1268 0x00, /* 00000000 */
1269 0x00, /* 00000000 */
1270 0x00, /* 00000000 */
1271 0x00, /* 00000000 */
1272
1273 /* 70 0x46 'F' */
1274 0x00, /* 00000000 */
1275 0x00, /* 00000000 */
1276 0xfe, /* 11111110 */
1277 0x66, /* 01100110 */
1278 0x62, /* 01100010 */
1279 0x68, /* 01101000 */
1280 0x78, /* 01111000 */
1281 0x68, /* 01101000 */
1282 0x60, /* 01100000 */
1283 0x60, /* 01100000 */
1284 0x60, /* 01100000 */
1285 0xf0, /* 11110000 */
1286 0x00, /* 00000000 */
1287 0x00, /* 00000000 */
1288 0x00, /* 00000000 */
1289 0x00, /* 00000000 */
1290
1291 /* 71 0x47 'G' */
1292 0x00, /* 00000000 */
1293 0x00, /* 00000000 */
1294 0x3c, /* 00111100 */
1295 0x66, /* 01100110 */
1296 0xc2, /* 11000010 */
1297 0xc0, /* 11000000 */
1298 0xc0, /* 11000000 */
1299 0xde, /* 11011110 */
1300 0xc6, /* 11000110 */
1301 0xc6, /* 11000110 */
1302 0x66, /* 01100110 */
1303 0x3a, /* 00111010 */
1304 0x00, /* 00000000 */
1305 0x00, /* 00000000 */
1306 0x00, /* 00000000 */
1307 0x00, /* 00000000 */
1308
1309 /* 72 0x48 'H' */
1310 0x00, /* 00000000 */
1311 0x00, /* 00000000 */
1312 0xc6, /* 11000110 */
1313 0xc6, /* 11000110 */
1314 0xc6, /* 11000110 */
1315 0xc6, /* 11000110 */
1316 0xfe, /* 11111110 */
1317 0xc6, /* 11000110 */
1318 0xc6, /* 11000110 */
1319 0xc6, /* 11000110 */
1320 0xc6, /* 11000110 */
1321 0xc6, /* 11000110 */
1322 0x00, /* 00000000 */
1323 0x00, /* 00000000 */
1324 0x00, /* 00000000 */
1325 0x00, /* 00000000 */
1326
1327 /* 73 0x49 'I' */
1328 0x00, /* 00000000 */
1329 0x00, /* 00000000 */
1330 0x3c, /* 00111100 */
1331 0x18, /* 00011000 */
1332 0x18, /* 00011000 */
1333 0x18, /* 00011000 */
1334 0x18, /* 00011000 */
1335 0x18, /* 00011000 */
1336 0x18, /* 00011000 */
1337 0x18, /* 00011000 */
1338 0x18, /* 00011000 */
1339 0x3c, /* 00111100 */
1340 0x00, /* 00000000 */
1341 0x00, /* 00000000 */
1342 0x00, /* 00000000 */
1343 0x00, /* 00000000 */
1344
1345 /* 74 0x4a 'J' */
1346 0x00, /* 00000000 */
1347 0x00, /* 00000000 */
1348 0x1e, /* 00011110 */
1349 0x0c, /* 00001100 */
1350 0x0c, /* 00001100 */
1351 0x0c, /* 00001100 */
1352 0x0c, /* 00001100 */
1353 0x0c, /* 00001100 */
1354 0xcc, /* 11001100 */
1355 0xcc, /* 11001100 */
1356 0xcc, /* 11001100 */
1357 0x78, /* 01111000 */
1358 0x00, /* 00000000 */
1359 0x00, /* 00000000 */
1360 0x00, /* 00000000 */
1361 0x00, /* 00000000 */
1362
1363 /* 75 0x4b 'K' */
1364 0x00, /* 00000000 */
1365 0x00, /* 00000000 */
1366 0xe6, /* 11100110 */
1367 0x66, /* 01100110 */
1368 0x66, /* 01100110 */
1369 0x6c, /* 01101100 */
1370 0x78, /* 01111000 */
1371 0x78, /* 01111000 */
1372 0x6c, /* 01101100 */
1373 0x66, /* 01100110 */
1374 0x66, /* 01100110 */
1375 0xe6, /* 11100110 */
1376 0x00, /* 00000000 */
1377 0x00, /* 00000000 */
1378 0x00, /* 00000000 */
1379 0x00, /* 00000000 */
1380
1381 /* 76 0x4c 'L' */
1382 0x00, /* 00000000 */
1383 0x00, /* 00000000 */
1384 0xf0, /* 11110000 */
1385 0x60, /* 01100000 */
1386 0x60, /* 01100000 */
1387 0x60, /* 01100000 */
1388 0x60, /* 01100000 */
1389 0x60, /* 01100000 */
1390 0x60, /* 01100000 */
1391 0x62, /* 01100010 */
1392 0x66, /* 01100110 */
1393 0xfe, /* 11111110 */
1394 0x00, /* 00000000 */
1395 0x00, /* 00000000 */
1396 0x00, /* 00000000 */
1397 0x00, /* 00000000 */
1398
1399 /* 77 0x4d 'M' */
1400 0x00, /* 00000000 */
1401 0x00, /* 00000000 */
1402 0xc6, /* 11000110 */
1403 0xee, /* 11101110 */
1404 0xfe, /* 11111110 */
1405 0xfe, /* 11111110 */
1406 0xd6, /* 11010110 */
1407 0xc6, /* 11000110 */
1408 0xc6, /* 11000110 */
1409 0xc6, /* 11000110 */
1410 0xc6, /* 11000110 */
1411 0xc6, /* 11000110 */
1412 0x00, /* 00000000 */
1413 0x00, /* 00000000 */
1414 0x00, /* 00000000 */
1415 0x00, /* 00000000 */
1416
1417 /* 78 0x4e 'N' */
1418 0x00, /* 00000000 */
1419 0x00, /* 00000000 */
1420 0xc6, /* 11000110 */
1421 0xe6, /* 11100110 */
1422 0xf6, /* 11110110 */
1423 0xfe, /* 11111110 */
1424 0xde, /* 11011110 */
1425 0xce, /* 11001110 */
1426 0xc6, /* 11000110 */
1427 0xc6, /* 11000110 */
1428 0xc6, /* 11000110 */
1429 0xc6, /* 11000110 */
1430 0x00, /* 00000000 */
1431 0x00, /* 00000000 */
1432 0x00, /* 00000000 */
1433 0x00, /* 00000000 */
1434
1435 /* 79 0x4f 'O' */
1436 0x00, /* 00000000 */
1437 0x00, /* 00000000 */
1438 0x7c, /* 01111100 */
1439 0xc6, /* 11000110 */
1440 0xc6, /* 11000110 */
1441 0xc6, /* 11000110 */
1442 0xc6, /* 11000110 */
1443 0xc6, /* 11000110 */
1444 0xc6, /* 11000110 */
1445 0xc6, /* 11000110 */
1446 0xc6, /* 11000110 */
1447 0x7c, /* 01111100 */
1448 0x00, /* 00000000 */
1449 0x00, /* 00000000 */
1450 0x00, /* 00000000 */
1451 0x00, /* 00000000 */
1452
1453 /* 80 0x50 'P' */
1454 0x00, /* 00000000 */
1455 0x00, /* 00000000 */
1456 0xfc, /* 11111100 */
1457 0x66, /* 01100110 */
1458 0x66, /* 01100110 */
1459 0x66, /* 01100110 */
1460 0x7c, /* 01111100 */
1461 0x60, /* 01100000 */
1462 0x60, /* 01100000 */
1463 0x60, /* 01100000 */
1464 0x60, /* 01100000 */
1465 0xf0, /* 11110000 */
1466 0x00, /* 00000000 */
1467 0x00, /* 00000000 */
1468 0x00, /* 00000000 */
1469 0x00, /* 00000000 */
1470
1471 /* 81 0x51 'Q' */
1472 0x00, /* 00000000 */
1473 0x00, /* 00000000 */
1474 0x7c, /* 01111100 */
1475 0xc6, /* 11000110 */
1476 0xc6, /* 11000110 */
1477 0xc6, /* 11000110 */
1478 0xc6, /* 11000110 */
1479 0xc6, /* 11000110 */
1480 0xc6, /* 11000110 */
1481 0xd6, /* 11010110 */
1482 0xde, /* 11011110 */
1483 0x7c, /* 01111100 */
1484 0x0c, /* 00001100 */
1485 0x0e, /* 00001110 */
1486 0x00, /* 00000000 */
1487 0x00, /* 00000000 */
1488
1489 /* 82 0x52 'R' */
1490 0x00, /* 00000000 */
1491 0x00, /* 00000000 */
1492 0xfc, /* 11111100 */
1493 0x66, /* 01100110 */
1494 0x66, /* 01100110 */
1495 0x66, /* 01100110 */
1496 0x7c, /* 01111100 */
1497 0x6c, /* 01101100 */
1498 0x66, /* 01100110 */
1499 0x66, /* 01100110 */
1500 0x66, /* 01100110 */
1501 0xe6, /* 11100110 */
1502 0x00, /* 00000000 */
1503 0x00, /* 00000000 */
1504 0x00, /* 00000000 */
1505 0x00, /* 00000000 */
1506
1507 /* 83 0x53 'S' */
1508 0x00, /* 00000000 */
1509 0x00, /* 00000000 */
1510 0x7c, /* 01111100 */
1511 0xc6, /* 11000110 */
1512 0xc6, /* 11000110 */
1513 0x60, /* 01100000 */
1514 0x38, /* 00111000 */
1515 0x0c, /* 00001100 */
1516 0x06, /* 00000110 */
1517 0xc6, /* 11000110 */
1518 0xc6, /* 11000110 */
1519 0x7c, /* 01111100 */
1520 0x00, /* 00000000 */
1521 0x00, /* 00000000 */
1522 0x00, /* 00000000 */
1523 0x00, /* 00000000 */
1524
1525 /* 84 0x54 'T' */
1526 0x00, /* 00000000 */
1527 0x00, /* 00000000 */
1528 0x7e, /* 01111110 */
1529 0x7e, /* 01111110 */
1530 0x5a, /* 01011010 */
1531 0x18, /* 00011000 */
1532 0x18, /* 00011000 */
1533 0x18, /* 00011000 */
1534 0x18, /* 00011000 */
1535 0x18, /* 00011000 */
1536 0x18, /* 00011000 */
1537 0x3c, /* 00111100 */
1538 0x00, /* 00000000 */
1539 0x00, /* 00000000 */
1540 0x00, /* 00000000 */
1541 0x00, /* 00000000 */
1542
1543 /* 85 0x55 'U' */
1544 0x00, /* 00000000 */
1545 0x00, /* 00000000 */
1546 0xc6, /* 11000110 */
1547 0xc6, /* 11000110 */
1548 0xc6, /* 11000110 */
1549 0xc6, /* 11000110 */
1550 0xc6, /* 11000110 */
1551 0xc6, /* 11000110 */
1552 0xc6, /* 11000110 */
1553 0xc6, /* 11000110 */
1554 0xc6, /* 11000110 */
1555 0x7c, /* 01111100 */
1556 0x00, /* 00000000 */
1557 0x00, /* 00000000 */
1558 0x00, /* 00000000 */
1559 0x00, /* 00000000 */
1560
1561 /* 86 0x56 'V' */
1562 0x00, /* 00000000 */
1563 0x00, /* 00000000 */
1564 0xc6, /* 11000110 */
1565 0xc6, /* 11000110 */
1566 0xc6, /* 11000110 */
1567 0xc6, /* 11000110 */
1568 0xc6, /* 11000110 */
1569 0xc6, /* 11000110 */
1570 0xc6, /* 11000110 */
1571 0x6c, /* 01101100 */
1572 0x38, /* 00111000 */
1573 0x10, /* 00010000 */
1574 0x00, /* 00000000 */
1575 0x00, /* 00000000 */
1576 0x00, /* 00000000 */
1577 0x00, /* 00000000 */
1578
1579 /* 87 0x57 'W' */
1580 0x00, /* 00000000 */
1581 0x00, /* 00000000 */
1582 0xc6, /* 11000110 */
1583 0xc6, /* 11000110 */
1584 0xc6, /* 11000110 */
1585 0xc6, /* 11000110 */
1586 0xd6, /* 11010110 */
1587 0xd6, /* 11010110 */
1588 0xd6, /* 11010110 */
1589 0xfe, /* 11111110 */
1590 0xee, /* 11101110 */
1591 0x6c, /* 01101100 */
1592 0x00, /* 00000000 */
1593 0x00, /* 00000000 */
1594 0x00, /* 00000000 */
1595 0x00, /* 00000000 */
1596
1597 /* 88 0x58 'X' */
1598 0x00, /* 00000000 */
1599 0x00, /* 00000000 */
1600 0xc6, /* 11000110 */
1601 0xc6, /* 11000110 */
1602 0x6c, /* 01101100 */
1603 0x7c, /* 01111100 */
1604 0x38, /* 00111000 */
1605 0x38, /* 00111000 */
1606 0x7c, /* 01111100 */
1607 0x6c, /* 01101100 */
1608 0xc6, /* 11000110 */
1609 0xc6, /* 11000110 */
1610 0x00, /* 00000000 */
1611 0x00, /* 00000000 */
1612 0x00, /* 00000000 */
1613 0x00, /* 00000000 */
1614
1615 /* 89 0x59 'Y' */
1616 0x00, /* 00000000 */
1617 0x00, /* 00000000 */
1618 0x66, /* 01100110 */
1619 0x66, /* 01100110 */
1620 0x66, /* 01100110 */
1621 0x66, /* 01100110 */
1622 0x3c, /* 00111100 */
1623 0x18, /* 00011000 */
1624 0x18, /* 00011000 */
1625 0x18, /* 00011000 */
1626 0x18, /* 00011000 */
1627 0x3c, /* 00111100 */
1628 0x00, /* 00000000 */
1629 0x00, /* 00000000 */
1630 0x00, /* 00000000 */
1631 0x00, /* 00000000 */
1632
1633 /* 90 0x5a 'Z' */
1634 0x00, /* 00000000 */
1635 0x00, /* 00000000 */
1636 0xfe, /* 11111110 */
1637 0xc6, /* 11000110 */
1638 0x86, /* 10000110 */
1639 0x0c, /* 00001100 */
1640 0x18, /* 00011000 */
1641 0x30, /* 00110000 */
1642 0x60, /* 01100000 */
1643 0xc2, /* 11000010 */
1644 0xc6, /* 11000110 */
1645 0xfe, /* 11111110 */
1646 0x00, /* 00000000 */
1647 0x00, /* 00000000 */
1648 0x00, /* 00000000 */
1649 0x00, /* 00000000 */
1650
1651 /* 91 0x5b '[' */
1652 0x00, /* 00000000 */
1653 0x00, /* 00000000 */
1654 0x3c, /* 00111100 */
1655 0x30, /* 00110000 */
1656 0x30, /* 00110000 */
1657 0x30, /* 00110000 */
1658 0x30, /* 00110000 */
1659 0x30, /* 00110000 */
1660 0x30, /* 00110000 */
1661 0x30, /* 00110000 */
1662 0x30, /* 00110000 */
1663 0x3c, /* 00111100 */
1664 0x00, /* 00000000 */
1665 0x00, /* 00000000 */
1666 0x00, /* 00000000 */
1667 0x00, /* 00000000 */
1668
1669 /* 92 0x5c '\' */
1670 0x00, /* 00000000 */
1671 0x00, /* 00000000 */
1672 0x00, /* 00000000 */
1673 0x80, /* 10000000 */
1674 0xc0, /* 11000000 */
1675 0xe0, /* 11100000 */
1676 0x70, /* 01110000 */
1677 0x38, /* 00111000 */
1678 0x1c, /* 00011100 */
1679 0x0e, /* 00001110 */
1680 0x06, /* 00000110 */
1681 0x02, /* 00000010 */
1682 0x00, /* 00000000 */
1683 0x00, /* 00000000 */
1684 0x00, /* 00000000 */
1685 0x00, /* 00000000 */
1686
1687 /* 93 0x5d ']' */
1688 0x00, /* 00000000 */
1689 0x00, /* 00000000 */
1690 0x3c, /* 00111100 */
1691 0x0c, /* 00001100 */
1692 0x0c, /* 00001100 */
1693 0x0c, /* 00001100 */
1694 0x0c, /* 00001100 */
1695 0x0c, /* 00001100 */
1696 0x0c, /* 00001100 */
1697 0x0c, /* 00001100 */
1698 0x0c, /* 00001100 */
1699 0x3c, /* 00111100 */
1700 0x00, /* 00000000 */
1701 0x00, /* 00000000 */
1702 0x00, /* 00000000 */
1703 0x00, /* 00000000 */
1704
1705 /* 94 0x5e '^' */
1706 0x10, /* 00010000 */
1707 0x38, /* 00111000 */
1708 0x6c, /* 01101100 */
1709 0xc6, /* 11000110 */
1710 0x00, /* 00000000 */
1711 0x00, /* 00000000 */
1712 0x00, /* 00000000 */
1713 0x00, /* 00000000 */
1714 0x00, /* 00000000 */
1715 0x00, /* 00000000 */
1716 0x00, /* 00000000 */
1717 0x00, /* 00000000 */
1718 0x00, /* 00000000 */
1719 0x00, /* 00000000 */
1720 0x00, /* 00000000 */
1721 0x00, /* 00000000 */
1722
1723 /* 95 0x5f '_' */
1724 0x00, /* 00000000 */
1725 0x00, /* 00000000 */
1726 0x00, /* 00000000 */
1727 0x00, /* 00000000 */
1728 0x00, /* 00000000 */
1729 0x00, /* 00000000 */
1730 0x00, /* 00000000 */
1731 0x00, /* 00000000 */
1732 0x00, /* 00000000 */
1733 0x00, /* 00000000 */
1734 0x00, /* 00000000 */
1735 0x00, /* 00000000 */
1736 0x00, /* 00000000 */
1737 0xff, /* 11111111 */
1738 0x00, /* 00000000 */
1739 0x00, /* 00000000 */
1740
1741 /* 96 0x60 '`' */
1742 0x00, /* 00000000 */
1743 0x30, /* 00110000 */
1744 0x18, /* 00011000 */
1745 0x0c, /* 00001100 */
1746 0x00, /* 00000000 */
1747 0x00, /* 00000000 */
1748 0x00, /* 00000000 */
1749 0x00, /* 00000000 */
1750 0x00, /* 00000000 */
1751 0x00, /* 00000000 */
1752 0x00, /* 00000000 */
1753 0x00, /* 00000000 */
1754 0x00, /* 00000000 */
1755 0x00, /* 00000000 */
1756 0x00, /* 00000000 */
1757 0x00, /* 00000000 */
1758
1759 /* 97 0x61 'a' */
1760 0x00, /* 00000000 */
1761 0x00, /* 00000000 */
1762 0x00, /* 00000000 */
1763 0x00, /* 00000000 */
1764 0x00, /* 00000000 */
1765 0x78, /* 01111000 */
1766 0x0c, /* 00001100 */
1767 0x7c, /* 01111100 */
1768 0xcc, /* 11001100 */
1769 0xcc, /* 11001100 */
1770 0xcc, /* 11001100 */
1771 0x76, /* 01110110 */
1772 0x00, /* 00000000 */
1773 0x00, /* 00000000 */
1774 0x00, /* 00000000 */
1775 0x00, /* 00000000 */
1776
1777 /* 98 0x62 'b' */
1778 0x00, /* 00000000 */
1779 0x00, /* 00000000 */
1780 0xe0, /* 11100000 */
1781 0x60, /* 01100000 */
1782 0x60, /* 01100000 */
1783 0x78, /* 01111000 */
1784 0x6c, /* 01101100 */
1785 0x66, /* 01100110 */
1786 0x66, /* 01100110 */
1787 0x66, /* 01100110 */
1788 0x66, /* 01100110 */
1789 0x7c, /* 01111100 */
1790 0x00, /* 00000000 */
1791 0x00, /* 00000000 */
1792 0x00, /* 00000000 */
1793 0x00, /* 00000000 */
1794
1795 /* 99 0x63 'c' */
1796 0x00, /* 00000000 */
1797 0x00, /* 00000000 */
1798 0x00, /* 00000000 */
1799 0x00, /* 00000000 */
1800 0x00, /* 00000000 */
1801 0x7c, /* 01111100 */
1802 0xc6, /* 11000110 */
1803 0xc0, /* 11000000 */
1804 0xc0, /* 11000000 */
1805 0xc0, /* 11000000 */
1806 0xc6, /* 11000110 */
1807 0x7c, /* 01111100 */
1808 0x00, /* 00000000 */
1809 0x00, /* 00000000 */
1810 0x00, /* 00000000 */
1811 0x00, /* 00000000 */
1812
1813 /* 100 0x64 'd' */
1814 0x00, /* 00000000 */
1815 0x00, /* 00000000 */
1816 0x1c, /* 00011100 */
1817 0x0c, /* 00001100 */
1818 0x0c, /* 00001100 */
1819 0x3c, /* 00111100 */
1820 0x6c, /* 01101100 */
1821 0xcc, /* 11001100 */
1822 0xcc, /* 11001100 */
1823 0xcc, /* 11001100 */
1824 0xcc, /* 11001100 */
1825 0x76, /* 01110110 */
1826 0x00, /* 00000000 */
1827 0x00, /* 00000000 */
1828 0x00, /* 00000000 */
1829 0x00, /* 00000000 */
1830
1831 /* 101 0x65 'e' */
1832 0x00, /* 00000000 */
1833 0x00, /* 00000000 */
1834 0x00, /* 00000000 */
1835 0x00, /* 00000000 */
1836 0x00, /* 00000000 */
1837 0x7c, /* 01111100 */
1838 0xc6, /* 11000110 */
1839 0xfe, /* 11111110 */
1840 0xc0, /* 11000000 */
1841 0xc0, /* 11000000 */
1842 0xc6, /* 11000110 */
1843 0x7c, /* 01111100 */
1844 0x00, /* 00000000 */
1845 0x00, /* 00000000 */
1846 0x00, /* 00000000 */
1847 0x00, /* 00000000 */
1848
1849 /* 102 0x66 'f' */
1850 0x00, /* 00000000 */
1851 0x00, /* 00000000 */
1852 0x1c, /* 00011100 */
1853 0x36, /* 00110110 */
1854 0x32, /* 00110010 */
1855 0x30, /* 00110000 */
1856 0x78, /* 01111000 */
1857 0x30, /* 00110000 */
1858 0x30, /* 00110000 */
1859 0x30, /* 00110000 */
1860 0x30, /* 00110000 */
1861 0x78, /* 01111000 */
1862 0x00, /* 00000000 */
1863 0x00, /* 00000000 */
1864 0x00, /* 00000000 */
1865 0x00, /* 00000000 */
1866
1867 /* 103 0x67 'g' */
1868 0x00, /* 00000000 */
1869 0x00, /* 00000000 */
1870 0x00, /* 00000000 */
1871 0x00, /* 00000000 */
1872 0x00, /* 00000000 */
1873 0x76, /* 01110110 */
1874 0xcc, /* 11001100 */
1875 0xcc, /* 11001100 */
1876 0xcc, /* 11001100 */
1877 0xcc, /* 11001100 */
1878 0xcc, /* 11001100 */
1879 0x7c, /* 01111100 */
1880 0x0c, /* 00001100 */
1881 0xcc, /* 11001100 */
1882 0x78, /* 01111000 */
1883 0x00, /* 00000000 */
1884
1885 /* 104 0x68 'h' */
1886 0x00, /* 00000000 */
1887 0x00, /* 00000000 */
1888 0xe0, /* 11100000 */
1889 0x60, /* 01100000 */
1890 0x60, /* 01100000 */
1891 0x6c, /* 01101100 */
1892 0x76, /* 01110110 */
1893 0x66, /* 01100110 */
1894 0x66, /* 01100110 */
1895 0x66, /* 01100110 */
1896 0x66, /* 01100110 */
1897 0xe6, /* 11100110 */
1898 0x00, /* 00000000 */
1899 0x00, /* 00000000 */
1900 0x00, /* 00000000 */
1901 0x00, /* 00000000 */
1902
1903 /* 105 0x69 'i' */
1904 0x00, /* 00000000 */
1905 0x00, /* 00000000 */
1906 0x18, /* 00011000 */
1907 0x18, /* 00011000 */
1908 0x00, /* 00000000 */
1909 0x38, /* 00111000 */
1910 0x18, /* 00011000 */
1911 0x18, /* 00011000 */
1912 0x18, /* 00011000 */
1913 0x18, /* 00011000 */
1914 0x18, /* 00011000 */
1915 0x3c, /* 00111100 */
1916 0x00, /* 00000000 */
1917 0x00, /* 00000000 */
1918 0x00, /* 00000000 */
1919 0x00, /* 00000000 */
1920
1921 /* 106 0x6a 'j' */
1922 0x00, /* 00000000 */
1923 0x00, /* 00000000 */
1924 0x06, /* 00000110 */
1925 0x06, /* 00000110 */
1926 0x00, /* 00000000 */
1927 0x0e, /* 00001110 */
1928 0x06, /* 00000110 */
1929 0x06, /* 00000110 */
1930 0x06, /* 00000110 */
1931 0x06, /* 00000110 */
1932 0x06, /* 00000110 */
1933 0x06, /* 00000110 */
1934 0x66, /* 01100110 */
1935 0x66, /* 01100110 */
1936 0x3c, /* 00111100 */
1937 0x00, /* 00000000 */
1938
1939 /* 107 0x6b 'k' */
1940 0x00, /* 00000000 */
1941 0x00, /* 00000000 */
1942 0xe0, /* 11100000 */
1943 0x60, /* 01100000 */
1944 0x60, /* 01100000 */
1945 0x66, /* 01100110 */
1946 0x6c, /* 01101100 */
1947 0x78, /* 01111000 */
1948 0x78, /* 01111000 */
1949 0x6c, /* 01101100 */
1950 0x66, /* 01100110 */
1951 0xe6, /* 11100110 */
1952 0x00, /* 00000000 */
1953 0x00, /* 00000000 */
1954 0x00, /* 00000000 */
1955 0x00, /* 00000000 */
1956
1957 /* 108 0x6c 'l' */
1958 0x00, /* 00000000 */
1959 0x00, /* 00000000 */
1960 0x38, /* 00111000 */
1961 0x18, /* 00011000 */
1962 0x18, /* 00011000 */
1963 0x18, /* 00011000 */
1964 0x18, /* 00011000 */
1965 0x18, /* 00011000 */
1966 0x18, /* 00011000 */
1967 0x18, /* 00011000 */
1968 0x18, /* 00011000 */
1969 0x3c, /* 00111100 */
1970 0x00, /* 00000000 */
1971 0x00, /* 00000000 */
1972 0x00, /* 00000000 */
1973 0x00, /* 00000000 */
1974
1975 /* 109 0x6d 'm' */
1976 0x00, /* 00000000 */
1977 0x00, /* 00000000 */
1978 0x00, /* 00000000 */
1979 0x00, /* 00000000 */
1980 0x00, /* 00000000 */
1981 0xec, /* 11101100 */
1982 0xfe, /* 11111110 */
1983 0xd6, /* 11010110 */
1984 0xd6, /* 11010110 */
1985 0xd6, /* 11010110 */
1986 0xd6, /* 11010110 */
1987 0xc6, /* 11000110 */
1988 0x00, /* 00000000 */
1989 0x00, /* 00000000 */
1990 0x00, /* 00000000 */
1991 0x00, /* 00000000 */
1992
1993 /* 110 0x6e 'n' */
1994 0x00, /* 00000000 */
1995 0x00, /* 00000000 */
1996 0x00, /* 00000000 */
1997 0x00, /* 00000000 */
1998 0x00, /* 00000000 */
1999 0xdc, /* 11011100 */
2000 0x66, /* 01100110 */
2001 0x66, /* 01100110 */
2002 0x66, /* 01100110 */
2003 0x66, /* 01100110 */
2004 0x66, /* 01100110 */
2005 0x66, /* 01100110 */
2006 0x00, /* 00000000 */
2007 0x00, /* 00000000 */
2008 0x00, /* 00000000 */
2009 0x00, /* 00000000 */
2010
2011 /* 111 0x6f 'o' */
2012 0x00, /* 00000000 */
2013 0x00, /* 00000000 */
2014 0x00, /* 00000000 */
2015 0x00, /* 00000000 */
2016 0x00, /* 00000000 */
2017 0x7c, /* 01111100 */
2018 0xc6, /* 11000110 */
2019 0xc6, /* 11000110 */
2020 0xc6, /* 11000110 */
2021 0xc6, /* 11000110 */
2022 0xc6, /* 11000110 */
2023 0x7c, /* 01111100 */
2024 0x00, /* 00000000 */
2025 0x00, /* 00000000 */
2026 0x00, /* 00000000 */
2027 0x00, /* 00000000 */
2028
2029 /* 112 0x70 'p' */
2030 0x00, /* 00000000 */
2031 0x00, /* 00000000 */
2032 0x00, /* 00000000 */
2033 0x00, /* 00000000 */
2034 0x00, /* 00000000 */
2035 0xdc, /* 11011100 */
2036 0x66, /* 01100110 */
2037 0x66, /* 01100110 */
2038 0x66, /* 01100110 */
2039 0x66, /* 01100110 */
2040 0x66, /* 01100110 */
2041 0x7c, /* 01111100 */
2042 0x60, /* 01100000 */
2043 0x60, /* 01100000 */
2044 0xf0, /* 11110000 */
2045 0x00, /* 00000000 */
2046
2047 /* 113 0x71 'q' */
2048 0x00, /* 00000000 */
2049 0x00, /* 00000000 */
2050 0x00, /* 00000000 */
2051 0x00, /* 00000000 */
2052 0x00, /* 00000000 */
2053 0x76, /* 01110110 */
2054 0xcc, /* 11001100 */
2055 0xcc, /* 11001100 */
2056 0xcc, /* 11001100 */
2057 0xcc, /* 11001100 */
2058 0xcc, /* 11001100 */
2059 0x7c, /* 01111100 */
2060 0x0c, /* 00001100 */
2061 0x0c, /* 00001100 */
2062 0x1e, /* 00011110 */
2063 0x00, /* 00000000 */
2064
2065 /* 114 0x72 'r' */
2066 0x00, /* 00000000 */
2067 0x00, /* 00000000 */
2068 0x00, /* 00000000 */
2069 0x00, /* 00000000 */
2070 0x00, /* 00000000 */
2071 0xdc, /* 11011100 */
2072 0x76, /* 01110110 */
2073 0x66, /* 01100110 */
2074 0x60, /* 01100000 */
2075 0x60, /* 01100000 */
2076 0x60, /* 01100000 */
2077 0xf0, /* 11110000 */
2078 0x00, /* 00000000 */
2079 0x00, /* 00000000 */
2080 0x00, /* 00000000 */
2081 0x00, /* 00000000 */
2082
2083 /* 115 0x73 's' */
2084 0x00, /* 00000000 */
2085 0x00, /* 00000000 */
2086 0x00, /* 00000000 */
2087 0x00, /* 00000000 */
2088 0x00, /* 00000000 */
2089 0x7c, /* 01111100 */
2090 0xc6, /* 11000110 */
2091 0x60, /* 01100000 */
2092 0x38, /* 00111000 */
2093 0x0c, /* 00001100 */
2094 0xc6, /* 11000110 */
2095 0x7c, /* 01111100 */
2096 0x00, /* 00000000 */
2097 0x00, /* 00000000 */
2098 0x00, /* 00000000 */
2099 0x00, /* 00000000 */
2100
2101 /* 116 0x74 't' */
2102 0x00, /* 00000000 */
2103 0x00, /* 00000000 */
2104 0x10, /* 00010000 */
2105 0x30, /* 00110000 */
2106 0x30, /* 00110000 */
2107 0xfc, /* 11111100 */
2108 0x30, /* 00110000 */
2109 0x30, /* 00110000 */
2110 0x30, /* 00110000 */
2111 0x30, /* 00110000 */
2112 0x36, /* 00110110 */
2113 0x1c, /* 00011100 */
2114 0x00, /* 00000000 */
2115 0x00, /* 00000000 */
2116 0x00, /* 00000000 */
2117 0x00, /* 00000000 */
2118
2119 /* 117 0x75 'u' */
2120 0x00, /* 00000000 */
2121 0x00, /* 00000000 */
2122 0x00, /* 00000000 */
2123 0x00, /* 00000000 */
2124 0x00, /* 00000000 */
2125 0xcc, /* 11001100 */
2126 0xcc, /* 11001100 */
2127 0xcc, /* 11001100 */
2128 0xcc, /* 11001100 */
2129 0xcc, /* 11001100 */
2130 0xcc, /* 11001100 */
2131 0x76, /* 01110110 */
2132 0x00, /* 00000000 */
2133 0x00, /* 00000000 */
2134 0x00, /* 00000000 */
2135 0x00, /* 00000000 */
2136
2137 /* 118 0x76 'v' */
2138 0x00, /* 00000000 */
2139 0x00, /* 00000000 */
2140 0x00, /* 00000000 */
2141 0x00, /* 00000000 */
2142 0x00, /* 00000000 */
2143 0xc6, /* 11000110 */
2144 0xc6, /* 11000110 */
2145 0xc6, /* 11000110 */
2146 0xc6, /* 11000110 */
2147 0xc6, /* 11000110 */
2148 0x6c, /* 01101100 */
2149 0x38, /* 00111000 */
2150 0x00, /* 00000000 */
2151 0x00, /* 00000000 */
2152 0x00, /* 00000000 */
2153 0x00, /* 00000000 */
2154
2155 /* 119 0x77 'w' */
2156 0x00, /* 00000000 */
2157 0x00, /* 00000000 */
2158 0x00, /* 00000000 */
2159 0x00, /* 00000000 */
2160 0x00, /* 00000000 */
2161 0xc6, /* 11000110 */
2162 0xc6, /* 11000110 */
2163 0xd6, /* 11010110 */
2164 0xd6, /* 11010110 */
2165 0xd6, /* 11010110 */
2166 0xfe, /* 11111110 */
2167 0x6c, /* 01101100 */
2168 0x00, /* 00000000 */
2169 0x00, /* 00000000 */
2170 0x00, /* 00000000 */
2171 0x00, /* 00000000 */
2172
2173 /* 120 0x78 'x' */
2174 0x00, /* 00000000 */
2175 0x00, /* 00000000 */
2176 0x00, /* 00000000 */
2177 0x00, /* 00000000 */
2178 0x00, /* 00000000 */
2179 0xc6, /* 11000110 */
2180 0x6c, /* 01101100 */
2181 0x38, /* 00111000 */
2182 0x38, /* 00111000 */
2183 0x38, /* 00111000 */
2184 0x6c, /* 01101100 */
2185 0xc6, /* 11000110 */
2186 0x00, /* 00000000 */
2187 0x00, /* 00000000 */
2188 0x00, /* 00000000 */
2189 0x00, /* 00000000 */
2190
2191 /* 121 0x79 'y' */
2192 0x00, /* 00000000 */
2193 0x00, /* 00000000 */
2194 0x00, /* 00000000 */
2195 0x00, /* 00000000 */
2196 0x00, /* 00000000 */
2197 0xc6, /* 11000110 */
2198 0xc6, /* 11000110 */
2199 0xc6, /* 11000110 */
2200 0xc6, /* 11000110 */
2201 0xc6, /* 11000110 */
2202 0xc6, /* 11000110 */
2203 0x7e, /* 01111110 */
2204 0x06, /* 00000110 */
2205 0x0c, /* 00001100 */
2206 0xf8, /* 11111000 */
2207 0x00, /* 00000000 */
2208
2209 /* 122 0x7a 'z' */
2210 0x00, /* 00000000 */
2211 0x00, /* 00000000 */
2212 0x00, /* 00000000 */
2213 0x00, /* 00000000 */
2214 0x00, /* 00000000 */
2215 0xfe, /* 11111110 */
2216 0xcc, /* 11001100 */
2217 0x18, /* 00011000 */
2218 0x30, /* 00110000 */
2219 0x60, /* 01100000 */
2220 0xc6, /* 11000110 */
2221 0xfe, /* 11111110 */
2222 0x00, /* 00000000 */
2223 0x00, /* 00000000 */
2224 0x00, /* 00000000 */
2225 0x00, /* 00000000 */
2226
2227 /* 123 0x7b '{' */
2228 0x00, /* 00000000 */
2229 0x00, /* 00000000 */
2230 0x0e, /* 00001110 */
2231 0x18, /* 00011000 */
2232 0x18, /* 00011000 */
2233 0x18, /* 00011000 */
2234 0x70, /* 01110000 */
2235 0x18, /* 00011000 */
2236 0x18, /* 00011000 */
2237 0x18, /* 00011000 */
2238 0x18, /* 00011000 */
2239 0x0e, /* 00001110 */
2240 0x00, /* 00000000 */
2241 0x00, /* 00000000 */
2242 0x00, /* 00000000 */
2243 0x00, /* 00000000 */
2244
2245 /* 124 0x7c '|' */
2246 0x00, /* 00000000 */
2247 0x00, /* 00000000 */
2248 0x18, /* 00011000 */
2249 0x18, /* 00011000 */
2250 0x18, /* 00011000 */
2251 0x18, /* 00011000 */
2252 0x18, /* 00011000 */
2253 0x18, /* 00011000 */
2254 0x18, /* 00011000 */
2255 0x18, /* 00011000 */
2256 0x18, /* 00011000 */
2257 0x18, /* 00011000 */
2258 0x00, /* 00000000 */
2259 0x00, /* 00000000 */
2260 0x00, /* 00000000 */
2261 0x00, /* 00000000 */
2262
2263 /* 125 0x7d '}' */
2264 0x00, /* 00000000 */
2265 0x00, /* 00000000 */
2266 0x70, /* 01110000 */
2267 0x18, /* 00011000 */
2268 0x18, /* 00011000 */
2269 0x18, /* 00011000 */
2270 0x0e, /* 00001110 */
2271 0x18, /* 00011000 */
2272 0x18, /* 00011000 */
2273 0x18, /* 00011000 */
2274 0x18, /* 00011000 */
2275 0x70, /* 01110000 */
2276 0x00, /* 00000000 */
2277 0x00, /* 00000000 */
2278 0x00, /* 00000000 */
2279 0x00, /* 00000000 */
2280
2281 /* 126 0x7e '~' */
2282 0x00, /* 00000000 */
2283 0x76, /* 01110110 */
2284 0xdc, /* 11011100 */
2285 0x00, /* 00000000 */
2286 0x00, /* 00000000 */
2287 0x00, /* 00000000 */
2288 0x00, /* 00000000 */
2289 0x00, /* 00000000 */
2290 0x00, /* 00000000 */
2291 0x00, /* 00000000 */
2292 0x00, /* 00000000 */
2293 0x00, /* 00000000 */
2294 0x00, /* 00000000 */
2295 0x00, /* 00000000 */
2296 0x00, /* 00000000 */
2297 0x00, /* 00000000 */
2298
2299 /* 127 0x7f '' */
2300 0x00, /* 00000000 */
2301 0x00, /* 00000000 */
2302 0x00, /* 00000000 */
2303 0x00, /* 00000000 */
2304 0x10, /* 00010000 */
2305 0x38, /* 00111000 */
2306 0x6c, /* 01101100 */
2307 0xc6, /* 11000110 */
2308 0xc6, /* 11000110 */
2309 0xc6, /* 11000110 */
2310 0xfe, /* 11111110 */
2311 0x00, /* 00000000 */
2312 0x00, /* 00000000 */
2313 0x00, /* 00000000 */
2314 0x00, /* 00000000 */
2315 0x00, /* 00000000 */
2316
2317 /* 128 0x80 '€' */
2318 0x00, /* 00000000 */
2319 0x00, /* 00000000 */
2320 0x3c, /* 00111100 */
2321 0x66, /* 01100110 */
2322 0xc2, /* 11000010 */
2323 0xc0, /* 11000000 */
2324 0xc0, /* 11000000 */
2325 0xc0, /* 11000000 */
2326 0xc0, /* 11000000 */
2327 0xc2, /* 11000010 */
2328 0x66, /* 01100110 */
2329 0x3c, /* 00111100 */
2330 0x18, /* 00011000 */
2331 0x70, /* 01110000 */
2332 0x00, /* 00000000 */
2333 0x00, /* 00000000 */
2334
2335 /* 129 0x81 '' */
2336 0x00, /* 00000000 */
2337 0x00, /* 00000000 */
2338 0xcc, /* 11001100 */
2339 0x00, /* 00000000 */
2340 0x00, /* 00000000 */
2341 0xcc, /* 11001100 */
2342 0xcc, /* 11001100 */
2343 0xcc, /* 11001100 */
2344 0xcc, /* 11001100 */
2345 0xcc, /* 11001100 */
2346 0xcc, /* 11001100 */
2347 0x76, /* 01110110 */
2348 0x00, /* 00000000 */
2349 0x00, /* 00000000 */
2350 0x00, /* 00000000 */
2351 0x00, /* 00000000 */
2352
2353 /* 130 0x82 '‚' */
2354 0x00, /* 00000000 */
2355 0x0c, /* 00001100 */
2356 0x18, /* 00011000 */
2357 0x30, /* 00110000 */
2358 0x00, /* 00000000 */
2359 0x7c, /* 01111100 */
2360 0xc6, /* 11000110 */
2361 0xfe, /* 11111110 */
2362 0xc0, /* 11000000 */
2363 0xc0, /* 11000000 */
2364 0xc6, /* 11000110 */
2365 0x7c, /* 01111100 */
2366 0x00, /* 00000000 */
2367 0x00, /* 00000000 */
2368 0x00, /* 00000000 */
2369 0x00, /* 00000000 */
2370
2371 /* 131 0x83 'ƒ' */
2372 0x00, /* 00000000 */
2373 0x10, /* 00010000 */
2374 0x38, /* 00111000 */
2375 0x6c, /* 01101100 */
2376 0x00, /* 00000000 */
2377 0x78, /* 01111000 */
2378 0x0c, /* 00001100 */
2379 0x7c, /* 01111100 */
2380 0xcc, /* 11001100 */
2381 0xcc, /* 11001100 */
2382 0xcc, /* 11001100 */
2383 0x76, /* 01110110 */
2384 0x00, /* 00000000 */
2385 0x00, /* 00000000 */
2386 0x00, /* 00000000 */
2387 0x00, /* 00000000 */
2388
2389 /* 132 0x84 '„' */
2390 0x00, /* 00000000 */
2391 0x00, /* 00000000 */
2392 0xcc, /* 11001100 */
2393 0x00, /* 00000000 */
2394 0x00, /* 00000000 */
2395 0x78, /* 01111000 */
2396 0x0c, /* 00001100 */
2397 0x7c, /* 01111100 */
2398 0xcc, /* 11001100 */
2399 0xcc, /* 11001100 */
2400 0xcc, /* 11001100 */
2401 0x76, /* 01110110 */
2402 0x00, /* 00000000 */
2403 0x00, /* 00000000 */
2404 0x00, /* 00000000 */
2405 0x00, /* 00000000 */
2406
2407 /* 133 0x85 '…' */
2408 0x00, /* 00000000 */
2409 0x60, /* 01100000 */
2410 0x30, /* 00110000 */
2411 0x18, /* 00011000 */
2412 0x00, /* 00000000 */
2413 0x78, /* 01111000 */
2414 0x0c, /* 00001100 */
2415 0x7c, /* 01111100 */
2416 0xcc, /* 11001100 */
2417 0xcc, /* 11001100 */
2418 0xcc, /* 11001100 */
2419 0x76, /* 01110110 */
2420 0x00, /* 00000000 */
2421 0x00, /* 00000000 */
2422 0x00, /* 00000000 */
2423 0x00, /* 00000000 */
2424
2425 /* 134 0x86 '†' */
2426 0x00, /* 00000000 */
2427 0x38, /* 00111000 */
2428 0x6c, /* 01101100 */
2429 0x38, /* 00111000 */
2430 0x00, /* 00000000 */
2431 0x78, /* 01111000 */
2432 0x0c, /* 00001100 */
2433 0x7c, /* 01111100 */
2434 0xcc, /* 11001100 */
2435 0xcc, /* 11001100 */
2436 0xcc, /* 11001100 */
2437 0x76, /* 01110110 */
2438 0x00, /* 00000000 */
2439 0x00, /* 00000000 */
2440 0x00, /* 00000000 */
2441 0x00, /* 00000000 */
2442
2443 /* 135 0x87 '‡' */
2444 0x00, /* 00000000 */
2445 0x00, /* 00000000 */
2446 0x00, /* 00000000 */
2447 0x00, /* 00000000 */
2448 0x00, /* 00000000 */
2449 0x7c, /* 01111100 */
2450 0xc6, /* 11000110 */
2451 0xc0, /* 11000000 */
2452 0xc0, /* 11000000 */
2453 0xc0, /* 11000000 */
2454 0xc6, /* 11000110 */
2455 0x7c, /* 01111100 */
2456 0x18, /* 00011000 */
2457 0x70, /* 01110000 */
2458 0x00, /* 00000000 */
2459 0x00, /* 00000000 */
2460
2461 /* 136 0x88 'ˆ' */
2462 0x00, /* 00000000 */
2463 0x10, /* 00010000 */
2464 0x38, /* 00111000 */
2465 0x6c, /* 01101100 */
2466 0x00, /* 00000000 */
2467 0x7c, /* 01111100 */
2468 0xc6, /* 11000110 */
2469 0xfe, /* 11111110 */
2470 0xc0, /* 11000000 */
2471 0xc0, /* 11000000 */
2472 0xc6, /* 11000110 */
2473 0x7c, /* 01111100 */
2474 0x00, /* 00000000 */
2475 0x00, /* 00000000 */
2476 0x00, /* 00000000 */
2477 0x00, /* 00000000 */
2478
2479 /* 137 0x89 '‰' */
2480 0x00, /* 00000000 */
2481 0x00, /* 00000000 */
2482 0xc6, /* 11000110 */
2483 0x00, /* 00000000 */
2484 0x00, /* 00000000 */
2485 0x7c, /* 01111100 */
2486 0xc6, /* 11000110 */
2487 0xfe, /* 11111110 */
2488 0xc0, /* 11000000 */
2489 0xc0, /* 11000000 */
2490 0xc6, /* 11000110 */
2491 0x7c, /* 01111100 */
2492 0x00, /* 00000000 */
2493 0x00, /* 00000000 */
2494 0x00, /* 00000000 */
2495 0x00, /* 00000000 */
2496
2497 /* 138 0x8a 'Š' */
2498 0x00, /* 00000000 */
2499 0x60, /* 01100000 */
2500 0x30, /* 00110000 */
2501 0x18, /* 00011000 */
2502 0x00, /* 00000000 */
2503 0x7c, /* 01111100 */
2504 0xc6, /* 11000110 */
2505 0xfe, /* 11111110 */
2506 0xc0, /* 11000000 */
2507 0xc0, /* 11000000 */
2508 0xc6, /* 11000110 */
2509 0x7c, /* 01111100 */
2510 0x00, /* 00000000 */
2511 0x00, /* 00000000 */
2512 0x00, /* 00000000 */
2513 0x00, /* 00000000 */
2514
2515 /* 139 0x8b '‹' */
2516 0x00, /* 00000000 */
2517 0x00, /* 00000000 */
2518 0x66, /* 01100110 */
2519 0x00, /* 00000000 */
2520 0x00, /* 00000000 */
2521 0x38, /* 00111000 */
2522 0x18, /* 00011000 */
2523 0x18, /* 00011000 */
2524 0x18, /* 00011000 */
2525 0x18, /* 00011000 */
2526 0x18, /* 00011000 */
2527 0x3c, /* 00111100 */
2528 0x00, /* 00000000 */
2529 0x00, /* 00000000 */
2530 0x00, /* 00000000 */
2531 0x00, /* 00000000 */
2532
2533 /* 140 0x8c 'Œ' */
2534 0x00, /* 00000000 */
2535 0x18, /* 00011000 */
2536 0x3c, /* 00111100 */
2537 0x66, /* 01100110 */
2538 0x00, /* 00000000 */
2539 0x38, /* 00111000 */
2540 0x18, /* 00011000 */
2541 0x18, /* 00011000 */
2542 0x18, /* 00011000 */
2543 0x18, /* 00011000 */
2544 0x18, /* 00011000 */
2545 0x3c, /* 00111100 */
2546 0x00, /* 00000000 */
2547 0x00, /* 00000000 */
2548 0x00, /* 00000000 */
2549 0x00, /* 00000000 */
2550
2551 /* 141 0x8d '' */
2552 0x00, /* 00000000 */
2553 0x60, /* 01100000 */
2554 0x30, /* 00110000 */
2555 0x18, /* 00011000 */
2556 0x00, /* 00000000 */
2557 0x38, /* 00111000 */
2558 0x18, /* 00011000 */
2559 0x18, /* 00011000 */
2560 0x18, /* 00011000 */
2561 0x18, /* 00011000 */
2562 0x18, /* 00011000 */
2563 0x3c, /* 00111100 */
2564 0x00, /* 00000000 */
2565 0x00, /* 00000000 */
2566 0x00, /* 00000000 */
2567 0x00, /* 00000000 */
2568
2569 /* 142 0x8e 'Ž' */
2570 0x00, /* 00000000 */
2571 0xc6, /* 11000110 */
2572 0x00, /* 00000000 */
2573 0x10, /* 00010000 */
2574 0x38, /* 00111000 */
2575 0x6c, /* 01101100 */
2576 0xc6, /* 11000110 */
2577 0xc6, /* 11000110 */
2578 0xfe, /* 11111110 */
2579 0xc6, /* 11000110 */
2580 0xc6, /* 11000110 */
2581 0xc6, /* 11000110 */
2582 0x00, /* 00000000 */
2583 0x00, /* 00000000 */
2584 0x00, /* 00000000 */
2585 0x00, /* 00000000 */
2586
2587 /* 143 0x8f '' */
2588 0x38, /* 00111000 */
2589 0x6c, /* 01101100 */
2590 0x38, /* 00111000 */
2591 0x10, /* 00010000 */
2592 0x38, /* 00111000 */
2593 0x6c, /* 01101100 */
2594 0xc6, /* 11000110 */
2595 0xfe, /* 11111110 */
2596 0xc6, /* 11000110 */
2597 0xc6, /* 11000110 */
2598 0xc6, /* 11000110 */
2599 0xc6, /* 11000110 */
2600 0x00, /* 00000000 */
2601 0x00, /* 00000000 */
2602 0x00, /* 00000000 */
2603 0x00, /* 00000000 */
2604
2605 /* 144 0x90 '' */
2606 0x0c, /* 00001100 */
2607 0x18, /* 00011000 */
2608 0x00, /* 00000000 */
2609 0xfe, /* 11111110 */
2610 0x66, /* 01100110 */
2611 0x62, /* 01100010 */
2612 0x68, /* 01101000 */
2613 0x78, /* 01111000 */
2614 0x68, /* 01101000 */
2615 0x62, /* 01100010 */
2616 0x66, /* 01100110 */
2617 0xfe, /* 11111110 */
2618 0x00, /* 00000000 */
2619 0x00, /* 00000000 */
2620 0x00, /* 00000000 */
2621 0x00, /* 00000000 */
2622
2623 /* 145 0x91 '‘' */
2624 0x00, /* 00000000 */
2625 0x00, /* 00000000 */
2626 0x00, /* 00000000 */
2627 0x00, /* 00000000 */
2628 0x00, /* 00000000 */
2629 0xec, /* 11101100 */
2630 0x36, /* 00110110 */
2631 0x36, /* 00110110 */
2632 0x7e, /* 01111110 */
2633 0xd8, /* 11011000 */
2634 0xd8, /* 11011000 */
2635 0x6e, /* 01101110 */
2636 0x00, /* 00000000 */
2637 0x00, /* 00000000 */
2638 0x00, /* 00000000 */
2639 0x00, /* 00000000 */
2640
2641 /* 146 0x92 '’' */
2642 0x00, /* 00000000 */
2643 0x00, /* 00000000 */
2644 0x3e, /* 00111110 */
2645 0x6c, /* 01101100 */
2646 0xcc, /* 11001100 */
2647 0xcc, /* 11001100 */
2648 0xfe, /* 11111110 */
2649 0xcc, /* 11001100 */
2650 0xcc, /* 11001100 */
2651 0xcc, /* 11001100 */
2652 0xcc, /* 11001100 */
2653 0xce, /* 11001110 */
2654 0x00, /* 00000000 */
2655 0x00, /* 00000000 */
2656 0x00, /* 00000000 */
2657 0x00, /* 00000000 */
2658
2659 /* 147 0x93 '“' */
2660 0x00, /* 00000000 */
2661 0x10, /* 00010000 */
2662 0x38, /* 00111000 */
2663 0x6c, /* 01101100 */
2664 0x00, /* 00000000 */
2665 0x7c, /* 01111100 */
2666 0xc6, /* 11000110 */
2667 0xc6, /* 11000110 */
2668 0xc6, /* 11000110 */
2669 0xc6, /* 11000110 */
2670 0xc6, /* 11000110 */
2671 0x7c, /* 01111100 */
2672 0x00, /* 00000000 */
2673 0x00, /* 00000000 */
2674 0x00, /* 00000000 */
2675 0x00, /* 00000000 */
2676
2677 /* 148 0x94 '”' */
2678 0x00, /* 00000000 */
2679 0x00, /* 00000000 */
2680 0xc6, /* 11000110 */
2681 0x00, /* 00000000 */
2682 0x00, /* 00000000 */
2683 0x7c, /* 01111100 */
2684 0xc6, /* 11000110 */
2685 0xc6, /* 11000110 */
2686 0xc6, /* 11000110 */
2687 0xc6, /* 11000110 */
2688 0xc6, /* 11000110 */
2689 0x7c, /* 01111100 */
2690 0x00, /* 00000000 */
2691 0x00, /* 00000000 */
2692 0x00, /* 00000000 */
2693 0x00, /* 00000000 */
2694
2695 /* 149 0x95 '•' */
2696 0x00, /* 00000000 */
2697 0x60, /* 01100000 */
2698 0x30, /* 00110000 */
2699 0x18, /* 00011000 */
2700 0x00, /* 00000000 */
2701 0x7c, /* 01111100 */
2702 0xc6, /* 11000110 */
2703 0xc6, /* 11000110 */
2704 0xc6, /* 11000110 */
2705 0xc6, /* 11000110 */
2706 0xc6, /* 11000110 */
2707 0x7c, /* 01111100 */
2708 0x00, /* 00000000 */
2709 0x00, /* 00000000 */
2710 0x00, /* 00000000 */
2711 0x00, /* 00000000 */
2712
2713 /* 150 0x96 '–' */
2714 0x00, /* 00000000 */
2715 0x30, /* 00110000 */
2716 0x78, /* 01111000 */
2717 0xcc, /* 11001100 */
2718 0x00, /* 00000000 */
2719 0xcc, /* 11001100 */
2720 0xcc, /* 11001100 */
2721 0xcc, /* 11001100 */
2722 0xcc, /* 11001100 */
2723 0xcc, /* 11001100 */
2724 0xcc, /* 11001100 */
2725 0x76, /* 01110110 */
2726 0x00, /* 00000000 */
2727 0x00, /* 00000000 */
2728 0x00, /* 00000000 */
2729 0x00, /* 00000000 */
2730
2731 /* 151 0x97 '—' */
2732 0x00, /* 00000000 */
2733 0x60, /* 01100000 */
2734 0x30, /* 00110000 */
2735 0x18, /* 00011000 */
2736 0x00, /* 00000000 */
2737 0xcc, /* 11001100 */
2738 0xcc, /* 11001100 */
2739 0xcc, /* 11001100 */
2740 0xcc, /* 11001100 */
2741 0xcc, /* 11001100 */
2742 0xcc, /* 11001100 */
2743 0x76, /* 01110110 */
2744 0x00, /* 00000000 */
2745 0x00, /* 00000000 */
2746 0x00, /* 00000000 */
2747 0x00, /* 00000000 */
2748
2749 /* 152 0x98 '˜' */
2750 0x00, /* 00000000 */
2751 0x00, /* 00000000 */
2752 0xc6, /* 11000110 */
2753 0x00, /* 00000000 */
2754 0x00, /* 00000000 */
2755 0xc6, /* 11000110 */
2756 0xc6, /* 11000110 */
2757 0xc6, /* 11000110 */
2758 0xc6, /* 11000110 */
2759 0xc6, /* 11000110 */
2760 0xc6, /* 11000110 */
2761 0x7e, /* 01111110 */
2762 0x06, /* 00000110 */
2763 0x0c, /* 00001100 */
2764 0x78, /* 01111000 */
2765 0x00, /* 00000000 */
2766
2767 /* 153 0x99 '™' */
2768 0x00, /* 00000000 */
2769 0xc6, /* 11000110 */
2770 0x00, /* 00000000 */
2771 0x7c, /* 01111100 */
2772 0xc6, /* 11000110 */
2773 0xc6, /* 11000110 */
2774 0xc6, /* 11000110 */
2775 0xc6, /* 11000110 */
2776 0xc6, /* 11000110 */
2777 0xc6, /* 11000110 */
2778 0xc6, /* 11000110 */
2779 0x7c, /* 01111100 */
2780 0x00, /* 00000000 */
2781 0x00, /* 00000000 */
2782 0x00, /* 00000000 */
2783 0x00, /* 00000000 */
2784
2785 /* 154 0x9a 'š' */
2786 0x00, /* 00000000 */
2787 0xc6, /* 11000110 */
2788 0x00, /* 00000000 */
2789 0xc6, /* 11000110 */
2790 0xc6, /* 11000110 */
2791 0xc6, /* 11000110 */
2792 0xc6, /* 11000110 */
2793 0xc6, /* 11000110 */
2794 0xc6, /* 11000110 */
2795 0xc6, /* 11000110 */
2796 0xc6, /* 11000110 */
2797 0x7c, /* 01111100 */
2798 0x00, /* 00000000 */
2799 0x00, /* 00000000 */
2800 0x00, /* 00000000 */
2801 0x00, /* 00000000 */
2802
2803 /* 155 0x9b '›' */
2804 0x00, /* 00000000 */
2805 0x18, /* 00011000 */
2806 0x18, /* 00011000 */
2807 0x7c, /* 01111100 */
2808 0xc6, /* 11000110 */
2809 0xc0, /* 11000000 */
2810 0xc0, /* 11000000 */
2811 0xc0, /* 11000000 */
2812 0xc6, /* 11000110 */
2813 0x7c, /* 01111100 */
2814 0x18, /* 00011000 */
2815 0x18, /* 00011000 */
2816 0x00, /* 00000000 */
2817 0x00, /* 00000000 */
2818 0x00, /* 00000000 */
2819 0x00, /* 00000000 */
2820
2821 /* 156 0x9c 'œ' */
2822 0x00, /* 00000000 */
2823 0x38, /* 00111000 */
2824 0x6c, /* 01101100 */
2825 0x64, /* 01100100 */
2826 0x60, /* 01100000 */
2827 0xf0, /* 11110000 */
2828 0x60, /* 01100000 */
2829 0x60, /* 01100000 */
2830 0x60, /* 01100000 */
2831 0x60, /* 01100000 */
2832 0xe6, /* 11100110 */
2833 0xfc, /* 11111100 */
2834 0x00, /* 00000000 */
2835 0x00, /* 00000000 */
2836 0x00, /* 00000000 */
2837 0x00, /* 00000000 */
2838
2839 /* 157 0x9d '' */
2840 0x00, /* 00000000 */
2841 0x00, /* 00000000 */
2842 0x66, /* 01100110 */
2843 0x66, /* 01100110 */
2844 0x3c, /* 00111100 */
2845 0x18, /* 00011000 */
2846 0x7e, /* 01111110 */
2847 0x18, /* 00011000 */
2848 0x7e, /* 01111110 */
2849 0x18, /* 00011000 */
2850 0x18, /* 00011000 */
2851 0x18, /* 00011000 */
2852 0x00, /* 00000000 */
2853 0x00, /* 00000000 */
2854 0x00, /* 00000000 */
2855 0x00, /* 00000000 */
2856
2857 /* 158 0x9e 'ž' */
2858 0x00, /* 00000000 */
2859 0xf8, /* 11111000 */
2860 0xcc, /* 11001100 */
2861 0xcc, /* 11001100 */
2862 0xf8, /* 11111000 */
2863 0xc4, /* 11000100 */
2864 0xcc, /* 11001100 */
2865 0xde, /* 11011110 */
2866 0xcc, /* 11001100 */
2867 0xcc, /* 11001100 */
2868 0xcc, /* 11001100 */
2869 0xc6, /* 11000110 */
2870 0x00, /* 00000000 */
2871 0x00, /* 00000000 */
2872 0x00, /* 00000000 */
2873 0x00, /* 00000000 */
2874
2875 /* 159 0x9f 'Ÿ' */
2876 0x00, /* 00000000 */
2877 0x0e, /* 00001110 */
2878 0x1b, /* 00011011 */
2879 0x18, /* 00011000 */
2880 0x18, /* 00011000 */
2881 0x18, /* 00011000 */
2882 0x7e, /* 01111110 */
2883 0x18, /* 00011000 */
2884 0x18, /* 00011000 */
2885 0x18, /* 00011000 */
2886 0xd8, /* 11011000 */
2887 0x70, /* 01110000 */
2888 0x00, /* 00000000 */
2889 0x00, /* 00000000 */
2890 0x00, /* 00000000 */
2891 0x00, /* 00000000 */
2892
2893 /* 160 0xa0 ' ' */
2894 0x00, /* 00000000 */
2895 0x18, /* 00011000 */
2896 0x30, /* 00110000 */
2897 0x60, /* 01100000 */
2898 0x00, /* 00000000 */
2899 0x78, /* 01111000 */
2900 0x0c, /* 00001100 */
2901 0x7c, /* 01111100 */
2902 0xcc, /* 11001100 */
2903 0xcc, /* 11001100 */
2904 0xcc, /* 11001100 */
2905 0x76, /* 01110110 */
2906 0x00, /* 00000000 */
2907 0x00, /* 00000000 */
2908 0x00, /* 00000000 */
2909 0x00, /* 00000000 */
2910
2911 /* 161 0xa1 '¡' */
2912 0x00, /* 00000000 */
2913 0x0c, /* 00001100 */
2914 0x18, /* 00011000 */
2915 0x30, /* 00110000 */
2916 0x00, /* 00000000 */
2917 0x38, /* 00111000 */
2918 0x18, /* 00011000 */
2919 0x18, /* 00011000 */
2920 0x18, /* 00011000 */
2921 0x18, /* 00011000 */
2922 0x18, /* 00011000 */
2923 0x3c, /* 00111100 */
2924 0x00, /* 00000000 */
2925 0x00, /* 00000000 */
2926 0x00, /* 00000000 */
2927 0x00, /* 00000000 */
2928
2929 /* 162 0xa2 '¢' */
2930 0x00, /* 00000000 */
2931 0x18, /* 00011000 */
2932 0x30, /* 00110000 */
2933 0x60, /* 01100000 */
2934 0x00, /* 00000000 */
2935 0x7c, /* 01111100 */
2936 0xc6, /* 11000110 */
2937 0xc6, /* 11000110 */
2938 0xc6, /* 11000110 */
2939 0xc6, /* 11000110 */
2940 0xc6, /* 11000110 */
2941 0x7c, /* 01111100 */
2942 0x00, /* 00000000 */
2943 0x00, /* 00000000 */
2944 0x00, /* 00000000 */
2945 0x00, /* 00000000 */
2946
2947 /* 163 0xa3 '£' */
2948 0x00, /* 00000000 */
2949 0x18, /* 00011000 */
2950 0x30, /* 00110000 */
2951 0x60, /* 01100000 */
2952 0x00, /* 00000000 */
2953 0xcc, /* 11001100 */
2954 0xcc, /* 11001100 */
2955 0xcc, /* 11001100 */
2956 0xcc, /* 11001100 */
2957 0xcc, /* 11001100 */
2958 0xcc, /* 11001100 */
2959 0x76, /* 01110110 */
2960 0x00, /* 00000000 */
2961 0x00, /* 00000000 */
2962 0x00, /* 00000000 */
2963 0x00, /* 00000000 */
2964
2965 /* 164 0xa4 '¤' */
2966 0x00, /* 00000000 */
2967 0x00, /* 00000000 */
2968 0x76, /* 01110110 */
2969 0xdc, /* 11011100 */
2970 0x00, /* 00000000 */
2971 0xdc, /* 11011100 */
2972 0x66, /* 01100110 */
2973 0x66, /* 01100110 */
2974 0x66, /* 01100110 */
2975 0x66, /* 01100110 */
2976 0x66, /* 01100110 */
2977 0x66, /* 01100110 */
2978 0x00, /* 00000000 */
2979 0x00, /* 00000000 */
2980 0x00, /* 00000000 */
2981 0x00, /* 00000000 */
2982
2983 /* 165 0xa5 '¥' */
2984 0x76, /* 01110110 */
2985 0xdc, /* 11011100 */
2986 0x00, /* 00000000 */
2987 0xc6, /* 11000110 */
2988 0xe6, /* 11100110 */
2989 0xf6, /* 11110110 */
2990 0xfe, /* 11111110 */
2991 0xde, /* 11011110 */
2992 0xce, /* 11001110 */
2993 0xc6, /* 11000110 */
2994 0xc6, /* 11000110 */
2995 0xc6, /* 11000110 */
2996 0x00, /* 00000000 */
2997 0x00, /* 00000000 */
2998 0x00, /* 00000000 */
2999 0x00, /* 00000000 */
3000
3001 /* 166 0xa6 '¦' */
3002 0x00, /* 00000000 */
3003 0x00, /* 00000000 */
3004 0x3c, /* 00111100 */
3005 0x6c, /* 01101100 */
3006 0x6c, /* 01101100 */
3007 0x3e, /* 00111110 */
3008 0x00, /* 00000000 */
3009 0x7e, /* 01111110 */
3010 0x00, /* 00000000 */
3011 0x00, /* 00000000 */
3012 0x00, /* 00000000 */
3013 0x00, /* 00000000 */
3014 0x00, /* 00000000 */
3015 0x00, /* 00000000 */
3016 0x00, /* 00000000 */
3017 0x00, /* 00000000 */
3018
3019 /* 167 0xa7 '§' */
3020 0x00, /* 00000000 */
3021 0x00, /* 00000000 */
3022 0x38, /* 00111000 */
3023 0x6c, /* 01101100 */
3024 0x6c, /* 01101100 */
3025 0x38, /* 00111000 */
3026 0x00, /* 00000000 */
3027 0x7c, /* 01111100 */
3028 0x00, /* 00000000 */
3029 0x00, /* 00000000 */
3030 0x00, /* 00000000 */
3031 0x00, /* 00000000 */
3032 0x00, /* 00000000 */
3033 0x00, /* 00000000 */
3034 0x00, /* 00000000 */
3035 0x00, /* 00000000 */
3036
3037 /* 168 0xa8 '¨' */
3038 0x00, /* 00000000 */
3039 0x00, /* 00000000 */
3040 0x30, /* 00110000 */
3041 0x30, /* 00110000 */
3042 0x00, /* 00000000 */
3043 0x30, /* 00110000 */
3044 0x30, /* 00110000 */
3045 0x60, /* 01100000 */
3046 0xc0, /* 11000000 */
3047 0xc6, /* 11000110 */
3048 0xc6, /* 11000110 */
3049 0x7c, /* 01111100 */
3050 0x00, /* 00000000 */
3051 0x00, /* 00000000 */
3052 0x00, /* 00000000 */
3053 0x00, /* 00000000 */
3054
3055 /* 169 0xa9 '©' */
3056 0x00, /* 00000000 */
3057 0x00, /* 00000000 */
3058 0x00, /* 00000000 */
3059 0x00, /* 00000000 */
3060 0x00, /* 00000000 */
3061 0x00, /* 00000000 */
3062 0xfe, /* 11111110 */
3063 0xc0, /* 11000000 */
3064 0xc0, /* 11000000 */
3065 0xc0, /* 11000000 */
3066 0xc0, /* 11000000 */
3067 0x00, /* 00000000 */
3068 0x00, /* 00000000 */
3069 0x00, /* 00000000 */
3070 0x00, /* 00000000 */
3071 0x00, /* 00000000 */
3072
3073 /* 170 0xaa 'ª' */
3074 0x00, /* 00000000 */
3075 0x00, /* 00000000 */
3076 0x00, /* 00000000 */
3077 0x00, /* 00000000 */
3078 0x00, /* 00000000 */
3079 0x00, /* 00000000 */
3080 0xfe, /* 11111110 */
3081 0x06, /* 00000110 */
3082 0x06, /* 00000110 */
3083 0x06, /* 00000110 */
3084 0x06, /* 00000110 */
3085 0x00, /* 00000000 */
3086 0x00, /* 00000000 */
3087 0x00, /* 00000000 */
3088 0x00, /* 00000000 */
3089 0x00, /* 00000000 */
3090
3091 /* 171 0xab '«' */
3092 0x00, /* 00000000 */
3093 0x60, /* 01100000 */
3094 0xe0, /* 11100000 */
3095 0x62, /* 01100010 */
3096 0x66, /* 01100110 */
3097 0x6c, /* 01101100 */
3098 0x18, /* 00011000 */
3099 0x30, /* 00110000 */
3100 0x60, /* 01100000 */
3101 0xdc, /* 11011100 */
3102 0x86, /* 10000110 */
3103 0x0c, /* 00001100 */
3104 0x18, /* 00011000 */
3105 0x3e, /* 00111110 */
3106 0x00, /* 00000000 */
3107 0x00, /* 00000000 */
3108
3109 /* 172 0xac '¬' */
3110 0x00, /* 00000000 */
3111 0x60, /* 01100000 */
3112 0xe0, /* 11100000 */
3113 0x62, /* 01100010 */
3114 0x66, /* 01100110 */
3115 0x6c, /* 01101100 */
3116 0x18, /* 00011000 */
3117 0x30, /* 00110000 */
3118 0x66, /* 01100110 */
3119 0xce, /* 11001110 */
3120 0x9a, /* 10011010 */
3121 0x3f, /* 00111111 */
3122 0x06, /* 00000110 */
3123 0x06, /* 00000110 */
3124 0x00, /* 00000000 */
3125 0x00, /* 00000000 */
3126
3127 /* 173 0xad '­' */
3128 0x00, /* 00000000 */
3129 0x00, /* 00000000 */
3130 0x18, /* 00011000 */
3131 0x18, /* 00011000 */
3132 0x00, /* 00000000 */
3133 0x18, /* 00011000 */
3134 0x18, /* 00011000 */
3135 0x18, /* 00011000 */
3136 0x3c, /* 00111100 */
3137 0x3c, /* 00111100 */
3138 0x3c, /* 00111100 */
3139 0x18, /* 00011000 */
3140 0x00, /* 00000000 */
3141 0x00, /* 00000000 */
3142 0x00, /* 00000000 */
3143 0x00, /* 00000000 */
3144
3145 /* 174 0xae '®' */
3146 0x00, /* 00000000 */
3147 0x00, /* 00000000 */
3148 0x00, /* 00000000 */
3149 0x00, /* 00000000 */
3150 0x00, /* 00000000 */
3151 0x36, /* 00110110 */
3152 0x6c, /* 01101100 */
3153 0xd8, /* 11011000 */
3154 0x6c, /* 01101100 */
3155 0x36, /* 00110110 */
3156 0x00, /* 00000000 */
3157 0x00, /* 00000000 */
3158 0x00, /* 00000000 */
3159 0x00, /* 00000000 */
3160 0x00, /* 00000000 */
3161 0x00, /* 00000000 */
3162
3163 /* 175 0xaf '¯' */
3164 0x00, /* 00000000 */
3165 0x00, /* 00000000 */
3166 0x00, /* 00000000 */
3167 0x00, /* 00000000 */
3168 0x00, /* 00000000 */
3169 0xd8, /* 11011000 */
3170 0x6c, /* 01101100 */
3171 0x36, /* 00110110 */
3172 0x6c, /* 01101100 */
3173 0xd8, /* 11011000 */
3174 0x00, /* 00000000 */
3175 0x00, /* 00000000 */
3176 0x00, /* 00000000 */
3177 0x00, /* 00000000 */
3178 0x00, /* 00000000 */
3179 0x00, /* 00000000 */
3180
3181 /* 176 0xb0 '°' */
3182 0x11, /* 00010001 */
3183 0x44, /* 01000100 */
3184 0x11, /* 00010001 */
3185 0x44, /* 01000100 */
3186 0x11, /* 00010001 */
3187 0x44, /* 01000100 */
3188 0x11, /* 00010001 */
3189 0x44, /* 01000100 */
3190 0x11, /* 00010001 */
3191 0x44, /* 01000100 */
3192 0x11, /* 00010001 */
3193 0x44, /* 01000100 */
3194 0x11, /* 00010001 */
3195 0x44, /* 01000100 */
3196 0x11, /* 00010001 */
3197 0x44, /* 01000100 */
3198
3199 /* 177 0xb1 '±' */
3200 0x55, /* 01010101 */
3201 0xaa, /* 10101010 */
3202 0x55, /* 01010101 */
3203 0xaa, /* 10101010 */
3204 0x55, /* 01010101 */
3205 0xaa, /* 10101010 */
3206 0x55, /* 01010101 */
3207 0xaa, /* 10101010 */
3208 0x55, /* 01010101 */
3209 0xaa, /* 10101010 */
3210 0x55, /* 01010101 */
3211 0xaa, /* 10101010 */
3212 0x55, /* 01010101 */
3213 0xaa, /* 10101010 */
3214 0x55, /* 01010101 */
3215 0xaa, /* 10101010 */
3216
3217 /* 178 0xb2 '²' */
3218 0xdd, /* 11011101 */
3219 0x77, /* 01110111 */
3220 0xdd, /* 11011101 */
3221 0x77, /* 01110111 */
3222 0xdd, /* 11011101 */
3223 0x77, /* 01110111 */
3224 0xdd, /* 11011101 */
3225 0x77, /* 01110111 */
3226 0xdd, /* 11011101 */
3227 0x77, /* 01110111 */
3228 0xdd, /* 11011101 */
3229 0x77, /* 01110111 */
3230 0xdd, /* 11011101 */
3231 0x77, /* 01110111 */
3232 0xdd, /* 11011101 */
3233 0x77, /* 01110111 */
3234
3235 /* 179 0xb3 '³' */
3236 0x18, /* 00011000 */
3237 0x18, /* 00011000 */
3238 0x18, /* 00011000 */
3239 0x18, /* 00011000 */
3240 0x18, /* 00011000 */
3241 0x18, /* 00011000 */
3242 0x18, /* 00011000 */
3243 0x18, /* 00011000 */
3244 0x18, /* 00011000 */
3245 0x18, /* 00011000 */
3246 0x18, /* 00011000 */
3247 0x18, /* 00011000 */
3248 0x18, /* 00011000 */
3249 0x18, /* 00011000 */
3250 0x18, /* 00011000 */
3251 0x18, /* 00011000 */
3252
3253 /* 180 0xb4 '´' */
3254 0x18, /* 00011000 */
3255 0x18, /* 00011000 */
3256 0x18, /* 00011000 */
3257 0x18, /* 00011000 */
3258 0x18, /* 00011000 */
3259 0x18, /* 00011000 */
3260 0x18, /* 00011000 */
3261 0xf8, /* 11111000 */
3262 0x18, /* 00011000 */
3263 0x18, /* 00011000 */
3264 0x18, /* 00011000 */
3265 0x18, /* 00011000 */
3266 0x18, /* 00011000 */
3267 0x18, /* 00011000 */
3268 0x18, /* 00011000 */
3269 0x18, /* 00011000 */
3270
3271 /* 181 0xb5 'µ' */
3272 0x18, /* 00011000 */
3273 0x18, /* 00011000 */
3274 0x18, /* 00011000 */
3275 0x18, /* 00011000 */
3276 0x18, /* 00011000 */
3277 0xf8, /* 11111000 */
3278 0x18, /* 00011000 */
3279 0xf8, /* 11111000 */
3280 0x18, /* 00011000 */
3281 0x18, /* 00011000 */
3282 0x18, /* 00011000 */
3283 0x18, /* 00011000 */
3284 0x18, /* 00011000 */
3285 0x18, /* 00011000 */
3286 0x18, /* 00011000 */
3287 0x18, /* 00011000 */
3288
3289 /* 182 0xb6 '¶' */
3290 0x36, /* 00110110 */
3291 0x36, /* 00110110 */
3292 0x36, /* 00110110 */
3293 0x36, /* 00110110 */
3294 0x36, /* 00110110 */
3295 0x36, /* 00110110 */
3296 0x36, /* 00110110 */
3297 0xf6, /* 11110110 */
3298 0x36, /* 00110110 */
3299 0x36, /* 00110110 */
3300 0x36, /* 00110110 */
3301 0x36, /* 00110110 */
3302 0x36, /* 00110110 */
3303 0x36, /* 00110110 */
3304 0x36, /* 00110110 */
3305 0x36, /* 00110110 */
3306
3307 /* 183 0xb7 '·' */
3308 0x00, /* 00000000 */
3309 0x00, /* 00000000 */
3310 0x00, /* 00000000 */
3311 0x00, /* 00000000 */
3312 0x00, /* 00000000 */
3313 0x00, /* 00000000 */
3314 0x00, /* 00000000 */
3315 0xfe, /* 11111110 */
3316 0x36, /* 00110110 */
3317 0x36, /* 00110110 */
3318 0x36, /* 00110110 */
3319 0x36, /* 00110110 */
3320 0x36, /* 00110110 */
3321 0x36, /* 00110110 */
3322 0x36, /* 00110110 */
3323 0x36, /* 00110110 */
3324
3325 /* 184 0xb8 '¸' */
3326 0x00, /* 00000000 */
3327 0x00, /* 00000000 */
3328 0x00, /* 00000000 */
3329 0x00, /* 00000000 */
3330 0x00, /* 00000000 */
3331 0xf8, /* 11111000 */
3332 0x18, /* 00011000 */
3333 0xf8, /* 11111000 */
3334 0x18, /* 00011000 */
3335 0x18, /* 00011000 */
3336 0x18, /* 00011000 */
3337 0x18, /* 00011000 */
3338 0x18, /* 00011000 */
3339 0x18, /* 00011000 */
3340 0x18, /* 00011000 */
3341 0x18, /* 00011000 */
3342
3343 /* 185 0xb9 '¹' */
3344 0x36, /* 00110110 */
3345 0x36, /* 00110110 */
3346 0x36, /* 00110110 */
3347 0x36, /* 00110110 */
3348 0x36, /* 00110110 */
3349 0xf6, /* 11110110 */
3350 0x06, /* 00000110 */
3351 0xf6, /* 11110110 */
3352 0x36, /* 00110110 */
3353 0x36, /* 00110110 */
3354 0x36, /* 00110110 */
3355 0x36, /* 00110110 */
3356 0x36, /* 00110110 */
3357 0x36, /* 00110110 */
3358 0x36, /* 00110110 */
3359 0x36, /* 00110110 */
3360
3361 /* 186 0xba 'º' */
3362 0x36, /* 00110110 */
3363 0x36, /* 00110110 */
3364 0x36, /* 00110110 */
3365 0x36, /* 00110110 */
3366 0x36, /* 00110110 */
3367 0x36, /* 00110110 */
3368 0x36, /* 00110110 */
3369 0x36, /* 00110110 */
3370 0x36, /* 00110110 */
3371 0x36, /* 00110110 */
3372 0x36, /* 00110110 */
3373 0x36, /* 00110110 */
3374 0x36, /* 00110110 */
3375 0x36, /* 00110110 */
3376 0x36, /* 00110110 */
3377 0x36, /* 00110110 */
3378
3379 /* 187 0xbb '»' */
3380 0x00, /* 00000000 */
3381 0x00, /* 00000000 */
3382 0x00, /* 00000000 */
3383 0x00, /* 00000000 */
3384 0x00, /* 00000000 */
3385 0xfe, /* 11111110 */
3386 0x06, /* 00000110 */
3387 0xf6, /* 11110110 */
3388 0x36, /* 00110110 */
3389 0x36, /* 00110110 */
3390 0x36, /* 00110110 */
3391 0x36, /* 00110110 */
3392 0x36, /* 00110110 */
3393 0x36, /* 00110110 */
3394 0x36, /* 00110110 */
3395 0x36, /* 00110110 */
3396
3397 /* 188 0xbc '¼' */
3398 0x36, /* 00110110 */
3399 0x36, /* 00110110 */
3400 0x36, /* 00110110 */
3401 0x36, /* 00110110 */
3402 0x36, /* 00110110 */
3403 0xf6, /* 11110110 */
3404 0x06, /* 00000110 */
3405 0xfe, /* 11111110 */
3406 0x00, /* 00000000 */
3407 0x00, /* 00000000 */
3408 0x00, /* 00000000 */
3409 0x00, /* 00000000 */
3410 0x00, /* 00000000 */
3411 0x00, /* 00000000 */
3412 0x00, /* 00000000 */
3413 0x00, /* 00000000 */
3414
3415 /* 189 0xbd '½' */
3416 0x36, /* 00110110 */
3417 0x36, /* 00110110 */
3418 0x36, /* 00110110 */
3419 0x36, /* 00110110 */
3420 0x36, /* 00110110 */
3421 0x36, /* 00110110 */
3422 0x36, /* 00110110 */
3423 0xfe, /* 11111110 */
3424 0x00, /* 00000000 */
3425 0x00, /* 00000000 */
3426 0x00, /* 00000000 */
3427 0x00, /* 00000000 */
3428 0x00, /* 00000000 */
3429 0x00, /* 00000000 */
3430 0x00, /* 00000000 */
3431 0x00, /* 00000000 */
3432
3433 /* 190 0xbe '¾' */
3434 0x18, /* 00011000 */
3435 0x18, /* 00011000 */
3436 0x18, /* 00011000 */
3437 0x18, /* 00011000 */
3438 0x18, /* 00011000 */
3439 0xf8, /* 11111000 */
3440 0x18, /* 00011000 */
3441 0xf8, /* 11111000 */
3442 0x00, /* 00000000 */
3443 0x00, /* 00000000 */
3444 0x00, /* 00000000 */
3445 0x00, /* 00000000 */
3446 0x00, /* 00000000 */
3447 0x00, /* 00000000 */
3448 0x00, /* 00000000 */
3449 0x00, /* 00000000 */
3450
3451 /* 191 0xbf '¿' */
3452 0x00, /* 00000000 */
3453 0x00, /* 00000000 */
3454 0x00, /* 00000000 */
3455 0x00, /* 00000000 */
3456 0x00, /* 00000000 */
3457 0x00, /* 00000000 */
3458 0x00, /* 00000000 */
3459 0xf8, /* 11111000 */
3460 0x18, /* 00011000 */
3461 0x18, /* 00011000 */
3462 0x18, /* 00011000 */
3463 0x18, /* 00011000 */
3464 0x18, /* 00011000 */
3465 0x18, /* 00011000 */
3466 0x18, /* 00011000 */
3467 0x18, /* 00011000 */
3468
3469 /* 192 0xc0 'À' */
3470 0x18, /* 00011000 */
3471 0x18, /* 00011000 */
3472 0x18, /* 00011000 */
3473 0x18, /* 00011000 */
3474 0x18, /* 00011000 */
3475 0x18, /* 00011000 */
3476 0x18, /* 00011000 */
3477 0x1f, /* 00011111 */
3478 0x00, /* 00000000 */
3479 0x00, /* 00000000 */
3480 0x00, /* 00000000 */
3481 0x00, /* 00000000 */
3482 0x00, /* 00000000 */
3483 0x00, /* 00000000 */
3484 0x00, /* 00000000 */
3485 0x00, /* 00000000 */
3486
3487 /* 193 0xc1 'Á' */
3488 0x18, /* 00011000 */
3489 0x18, /* 00011000 */
3490 0x18, /* 00011000 */
3491 0x18, /* 00011000 */
3492 0x18, /* 00011000 */
3493 0x18, /* 00011000 */
3494 0x18, /* 00011000 */
3495 0xff, /* 11111111 */
3496 0x00, /* 00000000 */
3497 0x00, /* 00000000 */
3498 0x00, /* 00000000 */
3499 0x00, /* 00000000 */
3500 0x00, /* 00000000 */
3501 0x00, /* 00000000 */
3502 0x00, /* 00000000 */
3503 0x00, /* 00000000 */
3504
3505 /* 194 0xc2 'Â' */
3506 0x00, /* 00000000 */
3507 0x00, /* 00000000 */
3508 0x00, /* 00000000 */
3509 0x00, /* 00000000 */
3510 0x00, /* 00000000 */
3511 0x00, /* 00000000 */
3512 0x00, /* 00000000 */
3513 0xff, /* 11111111 */
3514 0x18, /* 00011000 */
3515 0x18, /* 00011000 */
3516 0x18, /* 00011000 */
3517 0x18, /* 00011000 */
3518 0x18, /* 00011000 */
3519 0x18, /* 00011000 */
3520 0x18, /* 00011000 */
3521 0x18, /* 00011000 */
3522
3523 /* 195 0xc3 'Ã' */
3524 0x18, /* 00011000 */
3525 0x18, /* 00011000 */
3526 0x18, /* 00011000 */
3527 0x18, /* 00011000 */
3528 0x18, /* 00011000 */
3529 0x18, /* 00011000 */
3530 0x18, /* 00011000 */
3531 0x1f, /* 00011111 */
3532 0x18, /* 00011000 */
3533 0x18, /* 00011000 */
3534 0x18, /* 00011000 */
3535 0x18, /* 00011000 */
3536 0x18, /* 00011000 */
3537 0x18, /* 00011000 */
3538 0x18, /* 00011000 */
3539 0x18, /* 00011000 */
3540
3541 /* 196 0xc4 'Ä' */
3542 0x00, /* 00000000 */
3543 0x00, /* 00000000 */
3544 0x00, /* 00000000 */
3545 0x00, /* 00000000 */
3546 0x00, /* 00000000 */
3547 0x00, /* 00000000 */
3548 0x00, /* 00000000 */
3549 0xff, /* 11111111 */
3550 0x00, /* 00000000 */
3551 0x00, /* 00000000 */
3552 0x00, /* 00000000 */
3553 0x00, /* 00000000 */
3554 0x00, /* 00000000 */
3555 0x00, /* 00000000 */
3556 0x00, /* 00000000 */
3557 0x00, /* 00000000 */
3558
3559 /* 197 0xc5 'Å' */
3560 0x18, /* 00011000 */
3561 0x18, /* 00011000 */
3562 0x18, /* 00011000 */
3563 0x18, /* 00011000 */
3564 0x18, /* 00011000 */
3565 0x18, /* 00011000 */
3566 0x18, /* 00011000 */
3567 0xff, /* 11111111 */
3568 0x18, /* 00011000 */
3569 0x18, /* 00011000 */
3570 0x18, /* 00011000 */
3571 0x18, /* 00011000 */
3572 0x18, /* 00011000 */
3573 0x18, /* 00011000 */
3574 0x18, /* 00011000 */
3575 0x18, /* 00011000 */
3576
3577 /* 198 0xc6 'Æ' */
3578 0x18, /* 00011000 */
3579 0x18, /* 00011000 */
3580 0x18, /* 00011000 */
3581 0x18, /* 00011000 */
3582 0x18, /* 00011000 */
3583 0x1f, /* 00011111 */
3584 0x18, /* 00011000 */
3585 0x1f, /* 00011111 */
3586 0x18, /* 00011000 */
3587 0x18, /* 00011000 */
3588 0x18, /* 00011000 */
3589 0x18, /* 00011000 */
3590 0x18, /* 00011000 */
3591 0x18, /* 00011000 */
3592 0x18, /* 00011000 */
3593 0x18, /* 00011000 */
3594
3595 /* 199 0xc7 'Ç' */
3596 0x36, /* 00110110 */
3597 0x36, /* 00110110 */
3598 0x36, /* 00110110 */
3599 0x36, /* 00110110 */
3600 0x36, /* 00110110 */
3601 0x36, /* 00110110 */
3602 0x36, /* 00110110 */
3603 0x37, /* 00110111 */
3604 0x36, /* 00110110 */
3605 0x36, /* 00110110 */
3606 0x36, /* 00110110 */
3607 0x36, /* 00110110 */
3608 0x36, /* 00110110 */
3609 0x36, /* 00110110 */
3610 0x36, /* 00110110 */
3611 0x36, /* 00110110 */
3612
3613 /* 200 0xc8 'È' */
3614 0x36, /* 00110110 */
3615 0x36, /* 00110110 */
3616 0x36, /* 00110110 */
3617 0x36, /* 00110110 */
3618 0x36, /* 00110110 */
3619 0x37, /* 00110111 */
3620 0x30, /* 00110000 */
3621 0x3f, /* 00111111 */
3622 0x00, /* 00000000 */
3623 0x00, /* 00000000 */
3624 0x00, /* 00000000 */
3625 0x00, /* 00000000 */
3626 0x00, /* 00000000 */
3627 0x00, /* 00000000 */
3628 0x00, /* 00000000 */
3629 0x00, /* 00000000 */
3630
3631 /* 201 0xc9 'É' */
3632 0x00, /* 00000000 */
3633 0x00, /* 00000000 */
3634 0x00, /* 00000000 */
3635 0x00, /* 00000000 */
3636 0x00, /* 00000000 */
3637 0x3f, /* 00111111 */
3638 0x30, /* 00110000 */
3639 0x37, /* 00110111 */
3640 0x36, /* 00110110 */
3641 0x36, /* 00110110 */
3642 0x36, /* 00110110 */
3643 0x36, /* 00110110 */
3644 0x36, /* 00110110 */
3645 0x36, /* 00110110 */
3646 0x36, /* 00110110 */
3647 0x36, /* 00110110 */
3648
3649 /* 202 0xca 'Ê' */
3650 0x36, /* 00110110 */
3651 0x36, /* 00110110 */
3652 0x36, /* 00110110 */
3653 0x36, /* 00110110 */
3654 0x36, /* 00110110 */
3655 0xf7, /* 11110111 */
3656 0x00, /* 00000000 */
3657 0xff, /* 11111111 */
3658 0x00, /* 00000000 */
3659 0x00, /* 00000000 */
3660 0x00, /* 00000000 */
3661 0x00, /* 00000000 */
3662 0x00, /* 00000000 */
3663 0x00, /* 00000000 */
3664 0x00, /* 00000000 */
3665 0x00, /* 00000000 */
3666
3667 /* 203 0xcb 'Ë' */
3668 0x00, /* 00000000 */
3669 0x00, /* 00000000 */
3670 0x00, /* 00000000 */
3671 0x00, /* 00000000 */
3672 0x00, /* 00000000 */
3673 0xff, /* 11111111 */
3674 0x00, /* 00000000 */
3675 0xf7, /* 11110111 */
3676 0x36, /* 00110110 */
3677 0x36, /* 00110110 */
3678 0x36, /* 00110110 */
3679 0x36, /* 00110110 */
3680 0x36, /* 00110110 */
3681 0x36, /* 00110110 */
3682 0x36, /* 00110110 */
3683 0x36, /* 00110110 */
3684
3685 /* 204 0xcc 'Ì' */
3686 0x36, /* 00110110 */
3687 0x36, /* 00110110 */
3688 0x36, /* 00110110 */
3689 0x36, /* 00110110 */
3690 0x36, /* 00110110 */
3691 0x37, /* 00110111 */
3692 0x30, /* 00110000 */
3693 0x37, /* 00110111 */
3694 0x36, /* 00110110 */
3695 0x36, /* 00110110 */
3696 0x36, /* 00110110 */
3697 0x36, /* 00110110 */
3698 0x36, /* 00110110 */
3699 0x36, /* 00110110 */
3700 0x36, /* 00110110 */
3701 0x36, /* 00110110 */
3702
3703 /* 205 0xcd 'Í' */
3704 0x00, /* 00000000 */
3705 0x00, /* 00000000 */
3706 0x00, /* 00000000 */
3707 0x00, /* 00000000 */
3708 0x00, /* 00000000 */
3709 0xff, /* 11111111 */
3710 0x00, /* 00000000 */
3711 0xff, /* 11111111 */
3712 0x00, /* 00000000 */
3713 0x00, /* 00000000 */
3714 0x00, /* 00000000 */
3715 0x00, /* 00000000 */
3716 0x00, /* 00000000 */
3717 0x00, /* 00000000 */
3718 0x00, /* 00000000 */
3719 0x00, /* 00000000 */
3720
3721 /* 206 0xce 'Î' */
3722 0x36, /* 00110110 */
3723 0x36, /* 00110110 */
3724 0x36, /* 00110110 */
3725 0x36, /* 00110110 */
3726 0x36, /* 00110110 */
3727 0xf7, /* 11110111 */
3728 0x00, /* 00000000 */
3729 0xf7, /* 11110111 */
3730 0x36, /* 00110110 */
3731 0x36, /* 00110110 */
3732 0x36, /* 00110110 */
3733 0x36, /* 00110110 */
3734 0x36, /* 00110110 */
3735 0x36, /* 00110110 */
3736 0x36, /* 00110110 */
3737 0x36, /* 00110110 */
3738
3739 /* 207 0xcf 'Ï' */
3740 0x18, /* 00011000 */
3741 0x18, /* 00011000 */
3742 0x18, /* 00011000 */
3743 0x18, /* 00011000 */
3744 0x18, /* 00011000 */
3745 0xff, /* 11111111 */
3746 0x00, /* 00000000 */
3747 0xff, /* 11111111 */
3748 0x00, /* 00000000 */
3749 0x00, /* 00000000 */
3750 0x00, /* 00000000 */
3751 0x00, /* 00000000 */
3752 0x00, /* 00000000 */
3753 0x00, /* 00000000 */
3754 0x00, /* 00000000 */
3755 0x00, /* 00000000 */
3756
3757 /* 208 0xd0 'Ð' */
3758 0x36, /* 00110110 */
3759 0x36, /* 00110110 */
3760 0x36, /* 00110110 */
3761 0x36, /* 00110110 */
3762 0x36, /* 00110110 */
3763 0x36, /* 00110110 */
3764 0x36, /* 00110110 */
3765 0xff, /* 11111111 */
3766 0x00, /* 00000000 */
3767 0x00, /* 00000000 */
3768 0x00, /* 00000000 */
3769 0x00, /* 00000000 */
3770 0x00, /* 00000000 */
3771 0x00, /* 00000000 */
3772 0x00, /* 00000000 */
3773 0x00, /* 00000000 */
3774
3775 /* 209 0xd1 'Ñ' */
3776 0x00, /* 00000000 */
3777 0x00, /* 00000000 */
3778 0x00, /* 00000000 */
3779 0x00, /* 00000000 */
3780 0x00, /* 00000000 */
3781 0xff, /* 11111111 */
3782 0x00, /* 00000000 */
3783 0xff, /* 11111111 */
3784 0x18, /* 00011000 */
3785 0x18, /* 00011000 */
3786 0x18, /* 00011000 */
3787 0x18, /* 00011000 */
3788 0x18, /* 00011000 */
3789 0x18, /* 00011000 */
3790 0x18, /* 00011000 */
3791 0x18, /* 00011000 */
3792
3793 /* 210 0xd2 'Ò' */
3794 0x00, /* 00000000 */
3795 0x00, /* 00000000 */
3796 0x00, /* 00000000 */
3797 0x00, /* 00000000 */
3798 0x00, /* 00000000 */
3799 0x00, /* 00000000 */
3800 0x00, /* 00000000 */
3801 0xff, /* 11111111 */
3802 0x36, /* 00110110 */
3803 0x36, /* 00110110 */
3804 0x36, /* 00110110 */
3805 0x36, /* 00110110 */
3806 0x36, /* 00110110 */
3807 0x36, /* 00110110 */
3808 0x36, /* 00110110 */
3809 0x36, /* 00110110 */
3810
3811 /* 211 0xd3 'Ó' */
3812 0x36, /* 00110110 */
3813 0x36, /* 00110110 */
3814 0x36, /* 00110110 */
3815 0x36, /* 00110110 */
3816 0x36, /* 00110110 */
3817 0x36, /* 00110110 */
3818 0x36, /* 00110110 */
3819 0x3f, /* 00111111 */
3820 0x00, /* 00000000 */
3821 0x00, /* 00000000 */
3822 0x00, /* 00000000 */
3823 0x00, /* 00000000 */
3824 0x00, /* 00000000 */
3825 0x00, /* 00000000 */
3826 0x00, /* 00000000 */
3827 0x00, /* 00000000 */
3828
3829 /* 212 0xd4 'Ô' */
3830 0x18, /* 00011000 */
3831 0x18, /* 00011000 */
3832 0x18, /* 00011000 */
3833 0x18, /* 00011000 */
3834 0x18, /* 00011000 */
3835 0x1f, /* 00011111 */
3836 0x18, /* 00011000 */
3837 0x1f, /* 00011111 */
3838 0x00, /* 00000000 */
3839 0x00, /* 00000000 */
3840 0x00, /* 00000000 */
3841 0x00, /* 00000000 */
3842 0x00, /* 00000000 */
3843 0x00, /* 00000000 */
3844 0x00, /* 00000000 */
3845 0x00, /* 00000000 */
3846
3847 /* 213 0xd5 'Õ' */
3848 0x00, /* 00000000 */
3849 0x00, /* 00000000 */
3850 0x00, /* 00000000 */
3851 0x00, /* 00000000 */
3852 0x00, /* 00000000 */
3853 0x1f, /* 00011111 */
3854 0x18, /* 00011000 */
3855 0x1f, /* 00011111 */
3856 0x18, /* 00011000 */
3857 0x18, /* 00011000 */
3858 0x18, /* 00011000 */
3859 0x18, /* 00011000 */
3860 0x18, /* 00011000 */
3861 0x18, /* 00011000 */
3862 0x18, /* 00011000 */
3863 0x18, /* 00011000 */
3864
3865 /* 214 0xd6 'Ö' */
3866 0x00, /* 00000000 */
3867 0x00, /* 00000000 */
3868 0x00, /* 00000000 */
3869 0x00, /* 00000000 */
3870 0x00, /* 00000000 */
3871 0x00, /* 00000000 */
3872 0x00, /* 00000000 */
3873 0x3f, /* 00111111 */
3874 0x36, /* 00110110 */
3875 0x36, /* 00110110 */
3876 0x36, /* 00110110 */
3877 0x36, /* 00110110 */
3878 0x36, /* 00110110 */
3879 0x36, /* 00110110 */
3880 0x36, /* 00110110 */
3881 0x36, /* 00110110 */
3882
3883 /* 215 0xd7 '×' */
3884 0x36, /* 00110110 */
3885 0x36, /* 00110110 */
3886 0x36, /* 00110110 */
3887 0x36, /* 00110110 */
3888 0x36, /* 00110110 */
3889 0x36, /* 00110110 */
3890 0x36, /* 00110110 */
3891 0xff, /* 11111111 */
3892 0x36, /* 00110110 */
3893 0x36, /* 00110110 */
3894 0x36, /* 00110110 */
3895 0x36, /* 00110110 */
3896 0x36, /* 00110110 */
3897 0x36, /* 00110110 */
3898 0x36, /* 00110110 */
3899 0x36, /* 00110110 */
3900
3901 /* 216 0xd8 'Ø' */
3902 0x18, /* 00011000 */
3903 0x18, /* 00011000 */
3904 0x18, /* 00011000 */
3905 0x18, /* 00011000 */
3906 0x18, /* 00011000 */
3907 0xff, /* 11111111 */
3908 0x18, /* 00011000 */
3909 0xff, /* 11111111 */
3910 0x18, /* 00011000 */
3911 0x18, /* 00011000 */
3912 0x18, /* 00011000 */
3913 0x18, /* 00011000 */
3914 0x18, /* 00011000 */
3915 0x18, /* 00011000 */
3916 0x18, /* 00011000 */
3917 0x18, /* 00011000 */
3918
3919 /* 217 0xd9 'Ù' */
3920 0x18, /* 00011000 */
3921 0x18, /* 00011000 */
3922 0x18, /* 00011000 */
3923 0x18, /* 00011000 */
3924 0x18, /* 00011000 */
3925 0x18, /* 00011000 */
3926 0x18, /* 00011000 */
3927 0xf8, /* 11111000 */
3928 0x00, /* 00000000 */
3929 0x00, /* 00000000 */
3930 0x00, /* 00000000 */
3931 0x00, /* 00000000 */
3932 0x00, /* 00000000 */
3933 0x00, /* 00000000 */
3934 0x00, /* 00000000 */
3935 0x00, /* 00000000 */
3936
3937 /* 218 0xda 'Ú' */
3938 0x00, /* 00000000 */
3939 0x00, /* 00000000 */
3940 0x00, /* 00000000 */
3941 0x00, /* 00000000 */
3942 0x00, /* 00000000 */
3943 0x00, /* 00000000 */
3944 0x00, /* 00000000 */
3945 0x1f, /* 00011111 */
3946 0x18, /* 00011000 */
3947 0x18, /* 00011000 */
3948 0x18, /* 00011000 */
3949 0x18, /* 00011000 */
3950 0x18, /* 00011000 */
3951 0x18, /* 00011000 */
3952 0x18, /* 00011000 */
3953 0x18, /* 00011000 */
3954
3955 /* 219 0xdb 'Û' */
3956 0xff, /* 11111111 */
3957 0xff, /* 11111111 */
3958 0xff, /* 11111111 */
3959 0xff, /* 11111111 */
3960 0xff, /* 11111111 */
3961 0xff, /* 11111111 */
3962 0xff, /* 11111111 */
3963 0xff, /* 11111111 */
3964 0xff, /* 11111111 */
3965 0xff, /* 11111111 */
3966 0xff, /* 11111111 */
3967 0xff, /* 11111111 */
3968 0xff, /* 11111111 */
3969 0xff, /* 11111111 */
3970 0xff, /* 11111111 */
3971 0xff, /* 11111111 */
3972
3973 /* 220 0xdc 'Ü' */
3974 0x00, /* 00000000 */
3975 0x00, /* 00000000 */
3976 0x00, /* 00000000 */
3977 0x00, /* 00000000 */
3978 0x00, /* 00000000 */
3979 0x00, /* 00000000 */
3980 0x00, /* 00000000 */
3981 0xff, /* 11111111 */
3982 0xff, /* 11111111 */
3983 0xff, /* 11111111 */
3984 0xff, /* 11111111 */
3985 0xff, /* 11111111 */
3986 0xff, /* 11111111 */
3987 0xff, /* 11111111 */
3988 0xff, /* 11111111 */
3989 0xff, /* 11111111 */
3990
3991 /* 221 0xdd 'Ý' */
3992 0xf0, /* 11110000 */
3993 0xf0, /* 11110000 */
3994 0xf0, /* 11110000 */
3995 0xf0, /* 11110000 */
3996 0xf0, /* 11110000 */
3997 0xf0, /* 11110000 */
3998 0xf0, /* 11110000 */
3999 0xf0, /* 11110000 */
4000 0xf0, /* 11110000 */
4001 0xf0, /* 11110000 */
4002 0xf0, /* 11110000 */
4003 0xf0, /* 11110000 */
4004 0xf0, /* 11110000 */
4005 0xf0, /* 11110000 */
4006 0xf0, /* 11110000 */
4007 0xf0, /* 11110000 */
4008
4009 /* 222 0xde 'Þ' */
4010 0x0f, /* 00001111 */
4011 0x0f, /* 00001111 */
4012 0x0f, /* 00001111 */
4013 0x0f, /* 00001111 */
4014 0x0f, /* 00001111 */
4015 0x0f, /* 00001111 */
4016 0x0f, /* 00001111 */
4017 0x0f, /* 00001111 */
4018 0x0f, /* 00001111 */
4019 0x0f, /* 00001111 */
4020 0x0f, /* 00001111 */
4021 0x0f, /* 00001111 */
4022 0x0f, /* 00001111 */
4023 0x0f, /* 00001111 */
4024 0x0f, /* 00001111 */
4025 0x0f, /* 00001111 */
4026
4027 /* 223 0xdf 'ß' */
4028 0xff, /* 11111111 */
4029 0xff, /* 11111111 */
4030 0xff, /* 11111111 */
4031 0xff, /* 11111111 */
4032 0xff, /* 11111111 */
4033 0xff, /* 11111111 */
4034 0xff, /* 11111111 */
4035 0x00, /* 00000000 */
4036 0x00, /* 00000000 */
4037 0x00, /* 00000000 */
4038 0x00, /* 00000000 */
4039 0x00, /* 00000000 */
4040 0x00, /* 00000000 */
4041 0x00, /* 00000000 */
4042 0x00, /* 00000000 */
4043 0x00, /* 00000000 */
4044
4045 /* 224 0xe0 'à' */
4046 0x00, /* 00000000 */
4047 0x00, /* 00000000 */
4048 0x00, /* 00000000 */
4049 0x00, /* 00000000 */
4050 0x00, /* 00000000 */
4051 0x76, /* 01110110 */
4052 0xdc, /* 11011100 */
4053 0xd8, /* 11011000 */
4054 0xd8, /* 11011000 */
4055 0xd8, /* 11011000 */
4056 0xdc, /* 11011100 */
4057 0x76, /* 01110110 */
4058 0x00, /* 00000000 */
4059 0x00, /* 00000000 */
4060 0x00, /* 00000000 */
4061 0x00, /* 00000000 */
4062
4063 /* 225 0xe1 'á' */
4064 0x00, /* 00000000 */
4065 0x00, /* 00000000 */
4066 0x78, /* 01111000 */
4067 0xcc, /* 11001100 */
4068 0xcc, /* 11001100 */
4069 0xcc, /* 11001100 */
4070 0xd8, /* 11011000 */
4071 0xcc, /* 11001100 */
4072 0xc6, /* 11000110 */
4073 0xc6, /* 11000110 */
4074 0xc6, /* 11000110 */
4075 0xcc, /* 11001100 */
4076 0x00, /* 00000000 */
4077 0x00, /* 00000000 */
4078 0x00, /* 00000000 */
4079 0x00, /* 00000000 */
4080
4081 /* 226 0xe2 'â' */
4082 0x00, /* 00000000 */
4083 0x00, /* 00000000 */
4084 0xfe, /* 11111110 */
4085 0xc6, /* 11000110 */
4086 0xc6, /* 11000110 */
4087 0xc0, /* 11000000 */
4088 0xc0, /* 11000000 */
4089 0xc0, /* 11000000 */
4090 0xc0, /* 11000000 */
4091 0xc0, /* 11000000 */
4092 0xc0, /* 11000000 */
4093 0xc0, /* 11000000 */
4094 0x00, /* 00000000 */
4095 0x00, /* 00000000 */
4096 0x00, /* 00000000 */
4097 0x00, /* 00000000 */
4098
4099 /* 227 0xe3 'ã' */
4100 0x00, /* 00000000 */
4101 0x00, /* 00000000 */
4102 0x00, /* 00000000 */
4103 0x00, /* 00000000 */
4104 0x00, /* 00000000 */
4105 0xfe, /* 11111110 */
4106 0x6c, /* 01101100 */
4107 0x6c, /* 01101100 */
4108 0x6c, /* 01101100 */
4109 0x6c, /* 01101100 */
4110 0x6c, /* 01101100 */
4111 0x6c, /* 01101100 */
4112 0x00, /* 00000000 */
4113 0x00, /* 00000000 */
4114 0x00, /* 00000000 */
4115 0x00, /* 00000000 */
4116
4117 /* 228 0xe4 'ä' */
4118 0x00, /* 00000000 */
4119 0x00, /* 00000000 */
4120 0xfe, /* 11111110 */
4121 0xc6, /* 11000110 */
4122 0x60, /* 01100000 */
4123 0x30, /* 00110000 */
4124 0x18, /* 00011000 */
4125 0x18, /* 00011000 */
4126 0x30, /* 00110000 */
4127 0x60, /* 01100000 */
4128 0xc6, /* 11000110 */
4129 0xfe, /* 11111110 */
4130 0x00, /* 00000000 */
4131 0x00, /* 00000000 */
4132 0x00, /* 00000000 */
4133 0x00, /* 00000000 */
4134
4135 /* 229 0xe5 'å' */
4136 0x00, /* 00000000 */
4137 0x00, /* 00000000 */
4138 0x00, /* 00000000 */
4139 0x00, /* 00000000 */
4140 0x00, /* 00000000 */
4141 0x7e, /* 01111110 */
4142 0xd8, /* 11011000 */
4143 0xd8, /* 11011000 */
4144 0xd8, /* 11011000 */
4145 0xd8, /* 11011000 */
4146 0xd8, /* 11011000 */
4147 0x70, /* 01110000 */
4148 0x00, /* 00000000 */
4149 0x00, /* 00000000 */
4150 0x00, /* 00000000 */
4151 0x00, /* 00000000 */
4152
4153 /* 230 0xe6 'æ' */
4154 0x00, /* 00000000 */
4155 0x00, /* 00000000 */
4156 0x00, /* 00000000 */
4157 0x00, /* 00000000 */
4158 0x00, /* 00000000 */
4159 0x66, /* 01100110 */
4160 0x66, /* 01100110 */
4161 0x66, /* 01100110 */
4162 0x66, /* 01100110 */
4163 0x66, /* 01100110 */
4164 0x66, /* 01100110 */
4165 0x7c, /* 01111100 */
4166 0x60, /* 01100000 */
4167 0x60, /* 01100000 */
4168 0xc0, /* 11000000 */
4169 0x00, /* 00000000 */
4170
4171 /* 231 0xe7 'ç' */
4172 0x00, /* 00000000 */
4173 0x00, /* 00000000 */
4174 0x00, /* 00000000 */
4175 0x00, /* 00000000 */
4176 0x76, /* 01110110 */
4177 0xdc, /* 11011100 */
4178 0x18, /* 00011000 */
4179 0x18, /* 00011000 */
4180 0x18, /* 00011000 */
4181 0x18, /* 00011000 */
4182 0x18, /* 00011000 */
4183 0x18, /* 00011000 */
4184 0x00, /* 00000000 */
4185 0x00, /* 00000000 */
4186 0x00, /* 00000000 */
4187 0x00, /* 00000000 */
4188
4189 /* 232 0xe8 'è' */
4190 0x00, /* 00000000 */
4191 0x00, /* 00000000 */
4192 0x7e, /* 01111110 */
4193 0x18, /* 00011000 */
4194 0x3c, /* 00111100 */
4195 0x66, /* 01100110 */
4196 0x66, /* 01100110 */
4197 0x66, /* 01100110 */
4198 0x66, /* 01100110 */
4199 0x3c, /* 00111100 */
4200 0x18, /* 00011000 */
4201 0x7e, /* 01111110 */
4202 0x00, /* 00000000 */
4203 0x00, /* 00000000 */
4204 0x00, /* 00000000 */
4205 0x00, /* 00000000 */
4206
4207 /* 233 0xe9 'é' */
4208 0x00, /* 00000000 */
4209 0x00, /* 00000000 */
4210 0x38, /* 00111000 */
4211 0x6c, /* 01101100 */
4212 0xc6, /* 11000110 */
4213 0xc6, /* 11000110 */
4214 0xfe, /* 11111110 */
4215 0xc6, /* 11000110 */
4216 0xc6, /* 11000110 */
4217 0xc6, /* 11000110 */
4218 0x6c, /* 01101100 */
4219 0x38, /* 00111000 */
4220 0x00, /* 00000000 */
4221 0x00, /* 00000000 */
4222 0x00, /* 00000000 */
4223 0x00, /* 00000000 */
4224
4225 /* 234 0xea 'ê' */
4226 0x00, /* 00000000 */
4227 0x00, /* 00000000 */
4228 0x38, /* 00111000 */
4229 0x6c, /* 01101100 */
4230 0xc6, /* 11000110 */
4231 0xc6, /* 11000110 */
4232 0xc6, /* 11000110 */
4233 0x6c, /* 01101100 */
4234 0x6c, /* 01101100 */
4235 0x6c, /* 01101100 */
4236 0x6c, /* 01101100 */
4237 0xee, /* 11101110 */
4238 0x00, /* 00000000 */
4239 0x00, /* 00000000 */
4240 0x00, /* 00000000 */
4241 0x00, /* 00000000 */
4242
4243 /* 235 0xeb 'ë' */
4244 0x00, /* 00000000 */
4245 0x00, /* 00000000 */
4246 0x1e, /* 00011110 */
4247 0x30, /* 00110000 */
4248 0x18, /* 00011000 */
4249 0x0c, /* 00001100 */
4250 0x3e, /* 00111110 */
4251 0x66, /* 01100110 */
4252 0x66, /* 01100110 */
4253 0x66, /* 01100110 */
4254 0x66, /* 01100110 */
4255 0x3c, /* 00111100 */
4256 0x00, /* 00000000 */
4257 0x00, /* 00000000 */
4258 0x00, /* 00000000 */
4259 0x00, /* 00000000 */
4260
4261 /* 236 0xec 'ì' */
4262 0x00, /* 00000000 */
4263 0x00, /* 00000000 */
4264 0x00, /* 00000000 */
4265 0x00, /* 00000000 */
4266 0x00, /* 00000000 */
4267 0x7e, /* 01111110 */
4268 0xdb, /* 11011011 */
4269 0xdb, /* 11011011 */
4270 0xdb, /* 11011011 */
4271 0x7e, /* 01111110 */
4272 0x00, /* 00000000 */
4273 0x00, /* 00000000 */
4274 0x00, /* 00000000 */
4275 0x00, /* 00000000 */
4276 0x00, /* 00000000 */
4277 0x00, /* 00000000 */
4278
4279 /* 237 0xed 'í' */
4280 0x00, /* 00000000 */
4281 0x00, /* 00000000 */
4282 0x00, /* 00000000 */
4283 0x03, /* 00000011 */
4284 0x06, /* 00000110 */
4285 0x7e, /* 01111110 */
4286 0xdb, /* 11011011 */
4287 0xdb, /* 11011011 */
4288 0xf3, /* 11110011 */
4289 0x7e, /* 01111110 */
4290 0x60, /* 01100000 */
4291 0xc0, /* 11000000 */
4292 0x00, /* 00000000 */
4293 0x00, /* 00000000 */
4294 0x00, /* 00000000 */
4295 0x00, /* 00000000 */
4296
4297 /* 238 0xee 'î' */
4298 0x00, /* 00000000 */
4299 0x00, /* 00000000 */
4300 0x1c, /* 00011100 */
4301 0x30, /* 00110000 */
4302 0x60, /* 01100000 */
4303 0x60, /* 01100000 */
4304 0x7c, /* 01111100 */
4305 0x60, /* 01100000 */
4306 0x60, /* 01100000 */
4307 0x60, /* 01100000 */
4308 0x30, /* 00110000 */
4309 0x1c, /* 00011100 */
4310 0x00, /* 00000000 */
4311 0x00, /* 00000000 */
4312 0x00, /* 00000000 */
4313 0x00, /* 00000000 */
4314
4315 /* 239 0xef 'ï' */
4316 0x00, /* 00000000 */
4317 0x00, /* 00000000 */
4318 0x00, /* 00000000 */
4319 0x7c, /* 01111100 */
4320 0xc6, /* 11000110 */
4321 0xc6, /* 11000110 */
4322 0xc6, /* 11000110 */
4323 0xc6, /* 11000110 */
4324 0xc6, /* 11000110 */
4325 0xc6, /* 11000110 */
4326 0xc6, /* 11000110 */
4327 0xc6, /* 11000110 */
4328 0x00, /* 00000000 */
4329 0x00, /* 00000000 */
4330 0x00, /* 00000000 */
4331 0x00, /* 00000000 */
4332
4333 /* 240 0xf0 'ð' */
4334 0x00, /* 00000000 */
4335 0x00, /* 00000000 */
4336 0x00, /* 00000000 */
4337 0x00, /* 00000000 */
4338 0xfe, /* 11111110 */
4339 0x00, /* 00000000 */
4340 0x00, /* 00000000 */
4341 0xfe, /* 11111110 */
4342 0x00, /* 00000000 */
4343 0x00, /* 00000000 */
4344 0xfe, /* 11111110 */
4345 0x00, /* 00000000 */
4346 0x00, /* 00000000 */
4347 0x00, /* 00000000 */
4348 0x00, /* 00000000 */
4349 0x00, /* 00000000 */
4350
4351 /* 241 0xf1 'ñ' */
4352 0x00, /* 00000000 */
4353 0x00, /* 00000000 */
4354 0x00, /* 00000000 */
4355 0x00, /* 00000000 */
4356 0x18, /* 00011000 */
4357 0x18, /* 00011000 */
4358 0x7e, /* 01111110 */
4359 0x18, /* 00011000 */
4360 0x18, /* 00011000 */
4361 0x00, /* 00000000 */
4362 0x00, /* 00000000 */
4363 0x7e, /* 01111110 */
4364 0x00, /* 00000000 */
4365 0x00, /* 00000000 */
4366 0x00, /* 00000000 */
4367 0x00, /* 00000000 */
4368
4369 /* 242 0xf2 'ò' */
4370 0x00, /* 00000000 */
4371 0x00, /* 00000000 */
4372 0x00, /* 00000000 */
4373 0x30, /* 00110000 */
4374 0x18, /* 00011000 */
4375 0x0c, /* 00001100 */
4376 0x06, /* 00000110 */
4377 0x0c, /* 00001100 */
4378 0x18, /* 00011000 */
4379 0x30, /* 00110000 */
4380 0x00, /* 00000000 */
4381 0x7e, /* 01111110 */
4382 0x00, /* 00000000 */
4383 0x00, /* 00000000 */
4384 0x00, /* 00000000 */
4385 0x00, /* 00000000 */
4386
4387 /* 243 0xf3 'ó' */
4388 0x00, /* 00000000 */
4389 0x00, /* 00000000 */
4390 0x00, /* 00000000 */
4391 0x0c, /* 00001100 */
4392 0x18, /* 00011000 */
4393 0x30, /* 00110000 */
4394 0x60, /* 01100000 */
4395 0x30, /* 00110000 */
4396 0x18, /* 00011000 */
4397 0x0c, /* 00001100 */
4398 0x00, /* 00000000 */
4399 0x7e, /* 01111110 */
4400 0x00, /* 00000000 */
4401 0x00, /* 00000000 */
4402 0x00, /* 00000000 */
4403 0x00, /* 00000000 */
4404
4405 /* 244 0xf4 'ô' */
4406 0x00, /* 00000000 */
4407 0x00, /* 00000000 */
4408 0x0e, /* 00001110 */
4409 0x1b, /* 00011011 */
4410 0x1b, /* 00011011 */
4411 0x18, /* 00011000 */
4412 0x18, /* 00011000 */
4413 0x18, /* 00011000 */
4414 0x18, /* 00011000 */
4415 0x18, /* 00011000 */
4416 0x18, /* 00011000 */
4417 0x18, /* 00011000 */
4418 0x18, /* 00011000 */
4419 0x18, /* 00011000 */
4420 0x18, /* 00011000 */
4421 0x18, /* 00011000 */
4422
4423 /* 245 0xf5 'õ' */
4424 0x18, /* 00011000 */
4425 0x18, /* 00011000 */
4426 0x18, /* 00011000 */
4427 0x18, /* 00011000 */
4428 0x18, /* 00011000 */
4429 0x18, /* 00011000 */
4430 0x18, /* 00011000 */
4431 0x18, /* 00011000 */
4432 0x18, /* 00011000 */
4433 0xd8, /* 11011000 */
4434 0xd8, /* 11011000 */
4435 0xd8, /* 11011000 */
4436 0x70, /* 01110000 */
4437 0x00, /* 00000000 */
4438 0x00, /* 00000000 */
4439 0x00, /* 00000000 */
4440
4441 /* 246 0xf6 'ö' */
4442 0x00, /* 00000000 */
4443 0x00, /* 00000000 */
4444 0x00, /* 00000000 */
4445 0x00, /* 00000000 */
4446 0x00, /* 00000000 */
4447 0x18, /* 00011000 */
4448 0x00, /* 00000000 */
4449 0x7e, /* 01111110 */
4450 0x00, /* 00000000 */
4451 0x18, /* 00011000 */
4452 0x00, /* 00000000 */
4453 0x00, /* 00000000 */
4454 0x00, /* 00000000 */
4455 0x00, /* 00000000 */
4456 0x00, /* 00000000 */
4457 0x00, /* 00000000 */
4458
4459 /* 247 0xf7 '÷' */
4460 0x00, /* 00000000 */
4461 0x00, /* 00000000 */
4462 0x00, /* 00000000 */
4463 0x00, /* 00000000 */
4464 0x00, /* 00000000 */
4465 0x76, /* 01110110 */
4466 0xdc, /* 11011100 */
4467 0x00, /* 00000000 */
4468 0x76, /* 01110110 */
4469 0xdc, /* 11011100 */
4470 0x00, /* 00000000 */
4471 0x00, /* 00000000 */
4472 0x00, /* 00000000 */
4473 0x00, /* 00000000 */
4474 0x00, /* 00000000 */
4475 0x00, /* 00000000 */
4476
4477 /* 248 0xf8 'ø' */
4478 0x00, /* 00000000 */
4479 0x38, /* 00111000 */
4480 0x6c, /* 01101100 */
4481 0x6c, /* 01101100 */
4482 0x38, /* 00111000 */
4483 0x00, /* 00000000 */
4484 0x00, /* 00000000 */
4485 0x00, /* 00000000 */
4486 0x00, /* 00000000 */
4487 0x00, /* 00000000 */
4488 0x00, /* 00000000 */
4489 0x00, /* 00000000 */
4490 0x00, /* 00000000 */
4491 0x00, /* 00000000 */
4492 0x00, /* 00000000 */
4493 0x00, /* 00000000 */
4494
4495 /* 249 0xf9 'ù' */
4496 0x00, /* 00000000 */
4497 0x00, /* 00000000 */
4498 0x00, /* 00000000 */
4499 0x00, /* 00000000 */
4500 0x00, /* 00000000 */
4501 0x00, /* 00000000 */
4502 0x00, /* 00000000 */
4503 0x18, /* 00011000 */
4504 0x18, /* 00011000 */
4505 0x00, /* 00000000 */
4506 0x00, /* 00000000 */
4507 0x00, /* 00000000 */
4508 0x00, /* 00000000 */
4509 0x00, /* 00000000 */
4510 0x00, /* 00000000 */
4511 0x00, /* 00000000 */
4512
4513 /* 250 0xfa 'ú' */
4514 0x00, /* 00000000 */
4515 0x00, /* 00000000 */
4516 0x00, /* 00000000 */
4517 0x00, /* 00000000 */
4518 0x00, /* 00000000 */
4519 0x00, /* 00000000 */
4520 0x00, /* 00000000 */
4521 0x18, /* 00011000 */
4522 0x00, /* 00000000 */
4523 0x00, /* 00000000 */
4524 0x00, /* 00000000 */
4525 0x00, /* 00000000 */
4526 0x00, /* 00000000 */
4527 0x00, /* 00000000 */
4528 0x00, /* 00000000 */
4529 0x00, /* 00000000 */
4530
4531 /* 251 0xfb 'û' */
4532 0x00, /* 00000000 */
4533 0x0f, /* 00001111 */
4534 0x0c, /* 00001100 */
4535 0x0c, /* 00001100 */
4536 0x0c, /* 00001100 */
4537 0x0c, /* 00001100 */
4538 0x0c, /* 00001100 */
4539 0xec, /* 11101100 */
4540 0x6c, /* 01101100 */
4541 0x6c, /* 01101100 */
4542 0x3c, /* 00111100 */
4543 0x1c, /* 00011100 */
4544 0x00, /* 00000000 */
4545 0x00, /* 00000000 */
4546 0x00, /* 00000000 */
4547 0x00, /* 00000000 */
4548
4549 /* 252 0xfc 'ü' */
4550 0x00, /* 00000000 */
4551 0x6c, /* 01101100 */
4552 0x36, /* 00110110 */
4553 0x36, /* 00110110 */
4554 0x36, /* 00110110 */
4555 0x36, /* 00110110 */
4556 0x36, /* 00110110 */
4557 0x00, /* 00000000 */
4558 0x00, /* 00000000 */
4559 0x00, /* 00000000 */
4560 0x00, /* 00000000 */
4561 0x00, /* 00000000 */
4562 0x00, /* 00000000 */
4563 0x00, /* 00000000 */
4564 0x00, /* 00000000 */
4565 0x00, /* 00000000 */
4566
4567 /* 253 0xfd 'ý' */
4568 0x00, /* 00000000 */
4569 0x3c, /* 00111100 */
4570 0x66, /* 01100110 */
4571 0x0c, /* 00001100 */
4572 0x18, /* 00011000 */
4573 0x32, /* 00110010 */
4574 0x7e, /* 01111110 */
4575 0x00, /* 00000000 */
4576 0x00, /* 00000000 */
4577 0x00, /* 00000000 */
4578 0x00, /* 00000000 */
4579 0x00, /* 00000000 */
4580 0x00, /* 00000000 */
4581 0x00, /* 00000000 */
4582 0x00, /* 00000000 */
4583 0x00, /* 00000000 */
4584
4585 /* 254 0xfe 'þ' */
4586 0x00, /* 00000000 */
4587 0x00, /* 00000000 */
4588 0x00, /* 00000000 */
4589 0x00, /* 00000000 */
4590 0x7e, /* 01111110 */
4591 0x7e, /* 01111110 */
4592 0x7e, /* 01111110 */
4593 0x7e, /* 01111110 */
4594 0x7e, /* 01111110 */
4595 0x7e, /* 01111110 */
4596 0x7e, /* 01111110 */
4597 0x00, /* 00000000 */
4598 0x00, /* 00000000 */
4599 0x00, /* 00000000 */
4600 0x00, /* 00000000 */
4601 0x00, /* 00000000 */
4602
4603 /* 255 0xff 'ÿ' */
4604 0x00, /* 00000000 */
4605 0x00, /* 00000000 */
4606 0x00, /* 00000000 */
4607 0x00, /* 00000000 */
4608 0x00, /* 00000000 */
4609 0x00, /* 00000000 */
4610 0x00, /* 00000000 */
4611 0x00, /* 00000000 */
4612 0x00, /* 00000000 */
4613 0x00, /* 00000000 */
4614 0x00, /* 00000000 */
4615 0x00, /* 00000000 */
4616 0x00, /* 00000000 */
4617 0x00, /* 00000000 */
4618 0x00, /* 00000000 */
4619 0x00, /* 00000000 */
4620
4621};
4622
4623
4624struct font_desc font_vga_8x16 = {
4625 VGA8x16_IDX,
4626 "VGA8x16",
4627 8,
4628 16,
4629 fontdata_8x16,
4630 0
4631};
diff --git a/drivers/video/console/font_8x8.c b/drivers/video/console/font_8x8.c
new file mode 100644
index 000000000000..57fbe266a6b9
--- /dev/null
+++ b/drivers/video/console/font_8x8.c
@@ -0,0 +1,2583 @@
1/**********************************************/
2/* */
3/* Font file generated by cpi2fnt */
4/* */
5/**********************************************/
6
7#include <linux/font.h>
8
9#define FONTDATAMAX 2048
10
11static unsigned char fontdata_8x8[FONTDATAMAX] = {
12
13 /* 0 0x00 '^@' */
14 0x00, /* 00000000 */
15 0x00, /* 00000000 */
16 0x00, /* 00000000 */
17 0x00, /* 00000000 */
18 0x00, /* 00000000 */
19 0x00, /* 00000000 */
20 0x00, /* 00000000 */
21 0x00, /* 00000000 */
22
23 /* 1 0x01 '^A' */
24 0x7e, /* 01111110 */
25 0x81, /* 10000001 */
26 0xa5, /* 10100101 */
27 0x81, /* 10000001 */
28 0xbd, /* 10111101 */
29 0x99, /* 10011001 */
30 0x81, /* 10000001 */
31 0x7e, /* 01111110 */
32
33 /* 2 0x02 '^B' */
34 0x7e, /* 01111110 */
35 0xff, /* 11111111 */
36 0xdb, /* 11011011 */
37 0xff, /* 11111111 */
38 0xc3, /* 11000011 */
39 0xe7, /* 11100111 */
40 0xff, /* 11111111 */
41 0x7e, /* 01111110 */
42
43 /* 3 0x03 '^C' */
44 0x6c, /* 01101100 */
45 0xfe, /* 11111110 */
46 0xfe, /* 11111110 */
47 0xfe, /* 11111110 */
48 0x7c, /* 01111100 */
49 0x38, /* 00111000 */
50 0x10, /* 00010000 */
51 0x00, /* 00000000 */
52
53 /* 4 0x04 '^D' */
54 0x10, /* 00010000 */
55 0x38, /* 00111000 */
56 0x7c, /* 01111100 */
57 0xfe, /* 11111110 */
58 0x7c, /* 01111100 */
59 0x38, /* 00111000 */
60 0x10, /* 00010000 */
61 0x00, /* 00000000 */
62
63 /* 5 0x05 '^E' */
64 0x38, /* 00111000 */
65 0x7c, /* 01111100 */
66 0x38, /* 00111000 */
67 0xfe, /* 11111110 */
68 0xfe, /* 11111110 */
69 0xd6, /* 11010110 */
70 0x10, /* 00010000 */
71 0x38, /* 00111000 */
72
73 /* 6 0x06 '^F' */
74 0x10, /* 00010000 */
75 0x38, /* 00111000 */
76 0x7c, /* 01111100 */
77 0xfe, /* 11111110 */
78 0xfe, /* 11111110 */
79 0x7c, /* 01111100 */
80 0x10, /* 00010000 */
81 0x38, /* 00111000 */
82
83 /* 7 0x07 '^G' */
84 0x00, /* 00000000 */
85 0x00, /* 00000000 */
86 0x18, /* 00011000 */
87 0x3c, /* 00111100 */
88 0x3c, /* 00111100 */
89 0x18, /* 00011000 */
90 0x00, /* 00000000 */
91 0x00, /* 00000000 */
92
93 /* 8 0x08 '^H' */
94 0xff, /* 11111111 */
95 0xff, /* 11111111 */
96 0xe7, /* 11100111 */
97 0xc3, /* 11000011 */
98 0xc3, /* 11000011 */
99 0xe7, /* 11100111 */
100 0xff, /* 11111111 */
101 0xff, /* 11111111 */
102
103 /* 9 0x09 '^I' */
104 0x00, /* 00000000 */
105 0x3c, /* 00111100 */
106 0x66, /* 01100110 */
107 0x42, /* 01000010 */
108 0x42, /* 01000010 */
109 0x66, /* 01100110 */
110 0x3c, /* 00111100 */
111 0x00, /* 00000000 */
112
113 /* 10 0x0a '^J' */
114 0xff, /* 11111111 */
115 0xc3, /* 11000011 */
116 0x99, /* 10011001 */
117 0xbd, /* 10111101 */
118 0xbd, /* 10111101 */
119 0x99, /* 10011001 */
120 0xc3, /* 11000011 */
121 0xff, /* 11111111 */
122
123 /* 11 0x0b '^K' */
124 0x0f, /* 00001111 */
125 0x07, /* 00000111 */
126 0x0f, /* 00001111 */
127 0x7d, /* 01111101 */
128 0xcc, /* 11001100 */
129 0xcc, /* 11001100 */
130 0xcc, /* 11001100 */
131 0x78, /* 01111000 */
132
133 /* 12 0x0c '^L' */
134 0x3c, /* 00111100 */
135 0x66, /* 01100110 */
136 0x66, /* 01100110 */
137 0x66, /* 01100110 */
138 0x3c, /* 00111100 */
139 0x18, /* 00011000 */
140 0x7e, /* 01111110 */
141 0x18, /* 00011000 */
142
143 /* 13 0x0d '^M' */
144 0x3f, /* 00111111 */
145 0x33, /* 00110011 */
146 0x3f, /* 00111111 */
147 0x30, /* 00110000 */
148 0x30, /* 00110000 */
149 0x70, /* 01110000 */
150 0xf0, /* 11110000 */
151 0xe0, /* 11100000 */
152
153 /* 14 0x0e '^N' */
154 0x7f, /* 01111111 */
155 0x63, /* 01100011 */
156 0x7f, /* 01111111 */
157 0x63, /* 01100011 */
158 0x63, /* 01100011 */
159 0x67, /* 01100111 */
160 0xe6, /* 11100110 */
161 0xc0, /* 11000000 */
162
163 /* 15 0x0f '^O' */
164 0x18, /* 00011000 */
165 0xdb, /* 11011011 */
166 0x3c, /* 00111100 */
167 0xe7, /* 11100111 */
168 0xe7, /* 11100111 */
169 0x3c, /* 00111100 */
170 0xdb, /* 11011011 */
171 0x18, /* 00011000 */
172
173 /* 16 0x10 '^P' */
174 0x80, /* 10000000 */
175 0xe0, /* 11100000 */
176 0xf8, /* 11111000 */
177 0xfe, /* 11111110 */
178 0xf8, /* 11111000 */
179 0xe0, /* 11100000 */
180 0x80, /* 10000000 */
181 0x00, /* 00000000 */
182
183 /* 17 0x11 '^Q' */
184 0x02, /* 00000010 */
185 0x0e, /* 00001110 */
186 0x3e, /* 00111110 */
187 0xfe, /* 11111110 */
188 0x3e, /* 00111110 */
189 0x0e, /* 00001110 */
190 0x02, /* 00000010 */
191 0x00, /* 00000000 */
192
193 /* 18 0x12 '^R' */
194 0x18, /* 00011000 */
195 0x3c, /* 00111100 */
196 0x7e, /* 01111110 */
197 0x18, /* 00011000 */
198 0x18, /* 00011000 */
199 0x7e, /* 01111110 */
200 0x3c, /* 00111100 */
201 0x18, /* 00011000 */
202
203 /* 19 0x13 '^S' */
204 0x66, /* 01100110 */
205 0x66, /* 01100110 */
206 0x66, /* 01100110 */
207 0x66, /* 01100110 */
208 0x66, /* 01100110 */
209 0x00, /* 00000000 */
210 0x66, /* 01100110 */
211 0x00, /* 00000000 */
212
213 /* 20 0x14 '^T' */
214 0x7f, /* 01111111 */
215 0xdb, /* 11011011 */
216 0xdb, /* 11011011 */
217 0x7b, /* 01111011 */
218 0x1b, /* 00011011 */
219 0x1b, /* 00011011 */
220 0x1b, /* 00011011 */
221 0x00, /* 00000000 */
222
223 /* 21 0x15 '^U' */
224 0x3e, /* 00111110 */
225 0x61, /* 01100001 */
226 0x3c, /* 00111100 */
227 0x66, /* 01100110 */
228 0x66, /* 01100110 */
229 0x3c, /* 00111100 */
230 0x86, /* 10000110 */
231 0x7c, /* 01111100 */
232
233 /* 22 0x16 '^V' */
234 0x00, /* 00000000 */
235 0x00, /* 00000000 */
236 0x00, /* 00000000 */
237 0x00, /* 00000000 */
238 0x7e, /* 01111110 */
239 0x7e, /* 01111110 */
240 0x7e, /* 01111110 */
241 0x00, /* 00000000 */
242
243 /* 23 0x17 '^W' */
244 0x18, /* 00011000 */
245 0x3c, /* 00111100 */
246 0x7e, /* 01111110 */
247 0x18, /* 00011000 */
248 0x7e, /* 01111110 */
249 0x3c, /* 00111100 */
250 0x18, /* 00011000 */
251 0xff, /* 11111111 */
252
253 /* 24 0x18 '^X' */
254 0x18, /* 00011000 */
255 0x3c, /* 00111100 */
256 0x7e, /* 01111110 */
257 0x18, /* 00011000 */
258 0x18, /* 00011000 */
259 0x18, /* 00011000 */
260 0x18, /* 00011000 */
261 0x00, /* 00000000 */
262
263 /* 25 0x19 '^Y' */
264 0x18, /* 00011000 */
265 0x18, /* 00011000 */
266 0x18, /* 00011000 */
267 0x18, /* 00011000 */
268 0x7e, /* 01111110 */
269 0x3c, /* 00111100 */
270 0x18, /* 00011000 */
271 0x00, /* 00000000 */
272
273 /* 26 0x1a '^Z' */
274 0x00, /* 00000000 */
275 0x18, /* 00011000 */
276 0x0c, /* 00001100 */
277 0xfe, /* 11111110 */
278 0x0c, /* 00001100 */
279 0x18, /* 00011000 */
280 0x00, /* 00000000 */
281 0x00, /* 00000000 */
282
283 /* 27 0x1b '^[' */
284 0x00, /* 00000000 */
285 0x30, /* 00110000 */
286 0x60, /* 01100000 */
287 0xfe, /* 11111110 */
288 0x60, /* 01100000 */
289 0x30, /* 00110000 */
290 0x00, /* 00000000 */
291 0x00, /* 00000000 */
292
293 /* 28 0x1c '^\' */
294 0x00, /* 00000000 */
295 0x00, /* 00000000 */
296 0xc0, /* 11000000 */
297 0xc0, /* 11000000 */
298 0xc0, /* 11000000 */
299 0xfe, /* 11111110 */
300 0x00, /* 00000000 */
301 0x00, /* 00000000 */
302
303 /* 29 0x1d '^]' */
304 0x00, /* 00000000 */
305 0x24, /* 00100100 */
306 0x66, /* 01100110 */
307 0xff, /* 11111111 */
308 0x66, /* 01100110 */
309 0x24, /* 00100100 */
310 0x00, /* 00000000 */
311 0x00, /* 00000000 */
312
313 /* 30 0x1e '^^' */
314 0x00, /* 00000000 */
315 0x18, /* 00011000 */
316 0x3c, /* 00111100 */
317 0x7e, /* 01111110 */
318 0xff, /* 11111111 */
319 0xff, /* 11111111 */
320 0x00, /* 00000000 */
321 0x00, /* 00000000 */
322
323 /* 31 0x1f '^_' */
324 0x00, /* 00000000 */
325 0xff, /* 11111111 */
326 0xff, /* 11111111 */
327 0x7e, /* 01111110 */
328 0x3c, /* 00111100 */
329 0x18, /* 00011000 */
330 0x00, /* 00000000 */
331 0x00, /* 00000000 */
332
333 /* 32 0x20 ' ' */
334 0x00, /* 00000000 */
335 0x00, /* 00000000 */
336 0x00, /* 00000000 */
337 0x00, /* 00000000 */
338 0x00, /* 00000000 */
339 0x00, /* 00000000 */
340 0x00, /* 00000000 */
341 0x00, /* 00000000 */
342
343 /* 33 0x21 '!' */
344 0x18, /* 00011000 */
345 0x3c, /* 00111100 */
346 0x3c, /* 00111100 */
347 0x18, /* 00011000 */
348 0x18, /* 00011000 */
349 0x00, /* 00000000 */
350 0x18, /* 00011000 */
351 0x00, /* 00000000 */
352
353 /* 34 0x22 '"' */
354 0x66, /* 01100110 */
355 0x66, /* 01100110 */
356 0x24, /* 00100100 */
357 0x00, /* 00000000 */
358 0x00, /* 00000000 */
359 0x00, /* 00000000 */
360 0x00, /* 00000000 */
361 0x00, /* 00000000 */
362
363 /* 35 0x23 '#' */
364 0x6c, /* 01101100 */
365 0x6c, /* 01101100 */
366 0xfe, /* 11111110 */
367 0x6c, /* 01101100 */
368 0xfe, /* 11111110 */
369 0x6c, /* 01101100 */
370 0x6c, /* 01101100 */
371 0x00, /* 00000000 */
372
373 /* 36 0x24 '$' */
374 0x18, /* 00011000 */
375 0x3e, /* 00111110 */
376 0x60, /* 01100000 */
377 0x3c, /* 00111100 */
378 0x06, /* 00000110 */
379 0x7c, /* 01111100 */
380 0x18, /* 00011000 */
381 0x00, /* 00000000 */
382
383 /* 37 0x25 '%' */
384 0x00, /* 00000000 */
385 0xc6, /* 11000110 */
386 0xcc, /* 11001100 */
387 0x18, /* 00011000 */
388 0x30, /* 00110000 */
389 0x66, /* 01100110 */
390 0xc6, /* 11000110 */
391 0x00, /* 00000000 */
392
393 /* 38 0x26 '&' */
394 0x38, /* 00111000 */
395 0x6c, /* 01101100 */
396 0x38, /* 00111000 */
397 0x76, /* 01110110 */
398 0xdc, /* 11011100 */
399 0xcc, /* 11001100 */
400 0x76, /* 01110110 */
401 0x00, /* 00000000 */
402
403 /* 39 0x27 ''' */
404 0x18, /* 00011000 */
405 0x18, /* 00011000 */
406 0x30, /* 00110000 */
407 0x00, /* 00000000 */
408 0x00, /* 00000000 */
409 0x00, /* 00000000 */
410 0x00, /* 00000000 */
411 0x00, /* 00000000 */
412
413 /* 40 0x28 '(' */
414 0x0c, /* 00001100 */
415 0x18, /* 00011000 */
416 0x30, /* 00110000 */
417 0x30, /* 00110000 */
418 0x30, /* 00110000 */
419 0x18, /* 00011000 */
420 0x0c, /* 00001100 */
421 0x00, /* 00000000 */
422
423 /* 41 0x29 ')' */
424 0x30, /* 00110000 */
425 0x18, /* 00011000 */
426 0x0c, /* 00001100 */
427 0x0c, /* 00001100 */
428 0x0c, /* 00001100 */
429 0x18, /* 00011000 */
430 0x30, /* 00110000 */
431 0x00, /* 00000000 */
432
433 /* 42 0x2a '*' */
434 0x00, /* 00000000 */
435 0x66, /* 01100110 */
436 0x3c, /* 00111100 */
437 0xff, /* 11111111 */
438 0x3c, /* 00111100 */
439 0x66, /* 01100110 */
440 0x00, /* 00000000 */
441 0x00, /* 00000000 */
442
443 /* 43 0x2b '+' */
444 0x00, /* 00000000 */
445 0x18, /* 00011000 */
446 0x18, /* 00011000 */
447 0x7e, /* 01111110 */
448 0x18, /* 00011000 */
449 0x18, /* 00011000 */
450 0x00, /* 00000000 */
451 0x00, /* 00000000 */
452
453 /* 44 0x2c ',' */
454 0x00, /* 00000000 */
455 0x00, /* 00000000 */
456 0x00, /* 00000000 */
457 0x00, /* 00000000 */
458 0x00, /* 00000000 */
459 0x18, /* 00011000 */
460 0x18, /* 00011000 */
461 0x30, /* 00110000 */
462
463 /* 45 0x2d '-' */
464 0x00, /* 00000000 */
465 0x00, /* 00000000 */
466 0x00, /* 00000000 */
467 0x7e, /* 01111110 */
468 0x00, /* 00000000 */
469 0x00, /* 00000000 */
470 0x00, /* 00000000 */
471 0x00, /* 00000000 */
472
473 /* 46 0x2e '.' */
474 0x00, /* 00000000 */
475 0x00, /* 00000000 */
476 0x00, /* 00000000 */
477 0x00, /* 00000000 */
478 0x00, /* 00000000 */
479 0x18, /* 00011000 */
480 0x18, /* 00011000 */
481 0x00, /* 00000000 */
482
483 /* 47 0x2f '/' */
484 0x06, /* 00000110 */
485 0x0c, /* 00001100 */
486 0x18, /* 00011000 */
487 0x30, /* 00110000 */
488 0x60, /* 01100000 */
489 0xc0, /* 11000000 */
490 0x80, /* 10000000 */
491 0x00, /* 00000000 */
492
493 /* 48 0x30 '0' */
494 0x38, /* 00111000 */
495 0x6c, /* 01101100 */
496 0xc6, /* 11000110 */
497 0xd6, /* 11010110 */
498 0xc6, /* 11000110 */
499 0x6c, /* 01101100 */
500 0x38, /* 00111000 */
501 0x00, /* 00000000 */
502
503 /* 49 0x31 '1' */
504 0x18, /* 00011000 */
505 0x38, /* 00111000 */
506 0x18, /* 00011000 */
507 0x18, /* 00011000 */
508 0x18, /* 00011000 */
509 0x18, /* 00011000 */
510 0x7e, /* 01111110 */
511 0x00, /* 00000000 */
512
513 /* 50 0x32 '2' */
514 0x7c, /* 01111100 */
515 0xc6, /* 11000110 */
516 0x06, /* 00000110 */
517 0x1c, /* 00011100 */
518 0x30, /* 00110000 */
519 0x66, /* 01100110 */
520 0xfe, /* 11111110 */
521 0x00, /* 00000000 */
522
523 /* 51 0x33 '3' */
524 0x7c, /* 01111100 */
525 0xc6, /* 11000110 */
526 0x06, /* 00000110 */
527 0x3c, /* 00111100 */
528 0x06, /* 00000110 */
529 0xc6, /* 11000110 */
530 0x7c, /* 01111100 */
531 0x00, /* 00000000 */
532
533 /* 52 0x34 '4' */
534 0x1c, /* 00011100 */
535 0x3c, /* 00111100 */
536 0x6c, /* 01101100 */
537 0xcc, /* 11001100 */
538 0xfe, /* 11111110 */
539 0x0c, /* 00001100 */
540 0x1e, /* 00011110 */
541 0x00, /* 00000000 */
542
543 /* 53 0x35 '5' */
544 0xfe, /* 11111110 */
545 0xc0, /* 11000000 */
546 0xc0, /* 11000000 */
547 0xfc, /* 11111100 */
548 0x06, /* 00000110 */
549 0xc6, /* 11000110 */
550 0x7c, /* 01111100 */
551 0x00, /* 00000000 */
552
553 /* 54 0x36 '6' */
554 0x38, /* 00111000 */
555 0x60, /* 01100000 */
556 0xc0, /* 11000000 */
557 0xfc, /* 11111100 */
558 0xc6, /* 11000110 */
559 0xc6, /* 11000110 */
560 0x7c, /* 01111100 */
561 0x00, /* 00000000 */
562
563 /* 55 0x37 '7' */
564 0xfe, /* 11111110 */
565 0xc6, /* 11000110 */
566 0x0c, /* 00001100 */
567 0x18, /* 00011000 */
568 0x30, /* 00110000 */
569 0x30, /* 00110000 */
570 0x30, /* 00110000 */
571 0x00, /* 00000000 */
572
573 /* 56 0x38 '8' */
574 0x7c, /* 01111100 */
575 0xc6, /* 11000110 */
576 0xc6, /* 11000110 */
577 0x7c, /* 01111100 */
578 0xc6, /* 11000110 */
579 0xc6, /* 11000110 */
580 0x7c, /* 01111100 */
581 0x00, /* 00000000 */
582
583 /* 57 0x39 '9' */
584 0x7c, /* 01111100 */
585 0xc6, /* 11000110 */
586 0xc6, /* 11000110 */
587 0x7e, /* 01111110 */
588 0x06, /* 00000110 */
589 0x0c, /* 00001100 */
590 0x78, /* 01111000 */
591 0x00, /* 00000000 */
592
593 /* 58 0x3a ':' */
594 0x00, /* 00000000 */
595 0x18, /* 00011000 */
596 0x18, /* 00011000 */
597 0x00, /* 00000000 */
598 0x00, /* 00000000 */
599 0x18, /* 00011000 */
600 0x18, /* 00011000 */
601 0x00, /* 00000000 */
602
603 /* 59 0x3b ';' */
604 0x00, /* 00000000 */
605 0x18, /* 00011000 */
606 0x18, /* 00011000 */
607 0x00, /* 00000000 */
608 0x00, /* 00000000 */
609 0x18, /* 00011000 */
610 0x18, /* 00011000 */
611 0x30, /* 00110000 */
612
613 /* 60 0x3c '<' */
614 0x06, /* 00000110 */
615 0x0c, /* 00001100 */
616 0x18, /* 00011000 */
617 0x30, /* 00110000 */
618 0x18, /* 00011000 */
619 0x0c, /* 00001100 */
620 0x06, /* 00000110 */
621 0x00, /* 00000000 */
622
623 /* 61 0x3d '=' */
624 0x00, /* 00000000 */
625 0x00, /* 00000000 */
626 0x7e, /* 01111110 */
627 0x00, /* 00000000 */
628 0x00, /* 00000000 */
629 0x7e, /* 01111110 */
630 0x00, /* 00000000 */
631 0x00, /* 00000000 */
632
633 /* 62 0x3e '>' */
634 0x60, /* 01100000 */
635 0x30, /* 00110000 */
636 0x18, /* 00011000 */
637 0x0c, /* 00001100 */
638 0x18, /* 00011000 */
639 0x30, /* 00110000 */
640 0x60, /* 01100000 */
641 0x00, /* 00000000 */
642
643 /* 63 0x3f '?' */
644 0x7c, /* 01111100 */
645 0xc6, /* 11000110 */
646 0x0c, /* 00001100 */
647 0x18, /* 00011000 */
648 0x18, /* 00011000 */
649 0x00, /* 00000000 */
650 0x18, /* 00011000 */
651 0x00, /* 00000000 */
652
653 /* 64 0x40 '@' */
654 0x7c, /* 01111100 */
655 0xc6, /* 11000110 */
656 0xde, /* 11011110 */
657 0xde, /* 11011110 */
658 0xde, /* 11011110 */
659 0xc0, /* 11000000 */
660 0x78, /* 01111000 */
661 0x00, /* 00000000 */
662
663 /* 65 0x41 'A' */
664 0x38, /* 00111000 */
665 0x6c, /* 01101100 */
666 0xc6, /* 11000110 */
667 0xfe, /* 11111110 */
668 0xc6, /* 11000110 */
669 0xc6, /* 11000110 */
670 0xc6, /* 11000110 */
671 0x00, /* 00000000 */
672
673 /* 66 0x42 'B' */
674 0xfc, /* 11111100 */
675 0x66, /* 01100110 */
676 0x66, /* 01100110 */
677 0x7c, /* 01111100 */
678 0x66, /* 01100110 */
679 0x66, /* 01100110 */
680 0xfc, /* 11111100 */
681 0x00, /* 00000000 */
682
683 /* 67 0x43 'C' */
684 0x3c, /* 00111100 */
685 0x66, /* 01100110 */
686 0xc0, /* 11000000 */
687 0xc0, /* 11000000 */
688 0xc0, /* 11000000 */
689 0x66, /* 01100110 */
690 0x3c, /* 00111100 */
691 0x00, /* 00000000 */
692
693 /* 68 0x44 'D' */
694 0xf8, /* 11111000 */
695 0x6c, /* 01101100 */
696 0x66, /* 01100110 */
697 0x66, /* 01100110 */
698 0x66, /* 01100110 */
699 0x6c, /* 01101100 */
700 0xf8, /* 11111000 */
701 0x00, /* 00000000 */
702
703 /* 69 0x45 'E' */
704 0xfe, /* 11111110 */
705 0x62, /* 01100010 */
706 0x68, /* 01101000 */
707 0x78, /* 01111000 */
708 0x68, /* 01101000 */
709 0x62, /* 01100010 */
710 0xfe, /* 11111110 */
711 0x00, /* 00000000 */
712
713 /* 70 0x46 'F' */
714 0xfe, /* 11111110 */
715 0x62, /* 01100010 */
716 0x68, /* 01101000 */
717 0x78, /* 01111000 */
718 0x68, /* 01101000 */
719 0x60, /* 01100000 */
720 0xf0, /* 11110000 */
721 0x00, /* 00000000 */
722
723 /* 71 0x47 'G' */
724 0x3c, /* 00111100 */
725 0x66, /* 01100110 */
726 0xc0, /* 11000000 */
727 0xc0, /* 11000000 */
728 0xce, /* 11001110 */
729 0x66, /* 01100110 */
730 0x3a, /* 00111010 */
731 0x00, /* 00000000 */
732
733 /* 72 0x48 'H' */
734 0xc6, /* 11000110 */
735 0xc6, /* 11000110 */
736 0xc6, /* 11000110 */
737 0xfe, /* 11111110 */
738 0xc6, /* 11000110 */
739 0xc6, /* 11000110 */
740 0xc6, /* 11000110 */
741 0x00, /* 00000000 */
742
743 /* 73 0x49 'I' */
744 0x3c, /* 00111100 */
745 0x18, /* 00011000 */
746 0x18, /* 00011000 */
747 0x18, /* 00011000 */
748 0x18, /* 00011000 */
749 0x18, /* 00011000 */
750 0x3c, /* 00111100 */
751 0x00, /* 00000000 */
752
753 /* 74 0x4a 'J' */
754 0x1e, /* 00011110 */
755 0x0c, /* 00001100 */
756 0x0c, /* 00001100 */
757 0x0c, /* 00001100 */
758 0xcc, /* 11001100 */
759 0xcc, /* 11001100 */
760 0x78, /* 01111000 */
761 0x00, /* 00000000 */
762
763 /* 75 0x4b 'K' */
764 0xe6, /* 11100110 */
765 0x66, /* 01100110 */
766 0x6c, /* 01101100 */
767 0x78, /* 01111000 */
768 0x6c, /* 01101100 */
769 0x66, /* 01100110 */
770 0xe6, /* 11100110 */
771 0x00, /* 00000000 */
772
773 /* 76 0x4c 'L' */
774 0xf0, /* 11110000 */
775 0x60, /* 01100000 */
776 0x60, /* 01100000 */
777 0x60, /* 01100000 */
778 0x62, /* 01100010 */
779 0x66, /* 01100110 */
780 0xfe, /* 11111110 */
781 0x00, /* 00000000 */
782
783 /* 77 0x4d 'M' */
784 0xc6, /* 11000110 */
785 0xee, /* 11101110 */
786 0xfe, /* 11111110 */
787 0xfe, /* 11111110 */
788 0xd6, /* 11010110 */
789 0xc6, /* 11000110 */
790 0xc6, /* 11000110 */
791 0x00, /* 00000000 */
792
793 /* 78 0x4e 'N' */
794 0xc6, /* 11000110 */
795 0xe6, /* 11100110 */
796 0xf6, /* 11110110 */
797 0xde, /* 11011110 */
798 0xce, /* 11001110 */
799 0xc6, /* 11000110 */
800 0xc6, /* 11000110 */
801 0x00, /* 00000000 */
802
803 /* 79 0x4f 'O' */
804 0x7c, /* 01111100 */
805 0xc6, /* 11000110 */
806 0xc6, /* 11000110 */
807 0xc6, /* 11000110 */
808 0xc6, /* 11000110 */
809 0xc6, /* 11000110 */
810 0x7c, /* 01111100 */
811 0x00, /* 00000000 */
812
813 /* 80 0x50 'P' */
814 0xfc, /* 11111100 */
815 0x66, /* 01100110 */
816 0x66, /* 01100110 */
817 0x7c, /* 01111100 */
818 0x60, /* 01100000 */
819 0x60, /* 01100000 */
820 0xf0, /* 11110000 */
821 0x00, /* 00000000 */
822
823 /* 81 0x51 'Q' */
824 0x7c, /* 01111100 */
825 0xc6, /* 11000110 */
826 0xc6, /* 11000110 */
827 0xc6, /* 11000110 */
828 0xc6, /* 11000110 */
829 0xce, /* 11001110 */
830 0x7c, /* 01111100 */
831 0x0e, /* 00001110 */
832
833 /* 82 0x52 'R' */
834 0xfc, /* 11111100 */
835 0x66, /* 01100110 */
836 0x66, /* 01100110 */
837 0x7c, /* 01111100 */
838 0x6c, /* 01101100 */
839 0x66, /* 01100110 */
840 0xe6, /* 11100110 */
841 0x00, /* 00000000 */
842
843 /* 83 0x53 'S' */
844 0x3c, /* 00111100 */
845 0x66, /* 01100110 */
846 0x30, /* 00110000 */
847 0x18, /* 00011000 */
848 0x0c, /* 00001100 */
849 0x66, /* 01100110 */
850 0x3c, /* 00111100 */
851 0x00, /* 00000000 */
852
853 /* 84 0x54 'T' */
854 0x7e, /* 01111110 */
855 0x7e, /* 01111110 */
856 0x5a, /* 01011010 */
857 0x18, /* 00011000 */
858 0x18, /* 00011000 */
859 0x18, /* 00011000 */
860 0x3c, /* 00111100 */
861 0x00, /* 00000000 */
862
863 /* 85 0x55 'U' */
864 0xc6, /* 11000110 */
865 0xc6, /* 11000110 */
866 0xc6, /* 11000110 */
867 0xc6, /* 11000110 */
868 0xc6, /* 11000110 */
869 0xc6, /* 11000110 */
870 0x7c, /* 01111100 */
871 0x00, /* 00000000 */
872
873 /* 86 0x56 'V' */
874 0xc6, /* 11000110 */
875 0xc6, /* 11000110 */
876 0xc6, /* 11000110 */
877 0xc6, /* 11000110 */
878 0xc6, /* 11000110 */
879 0x6c, /* 01101100 */
880 0x38, /* 00111000 */
881 0x00, /* 00000000 */
882
883 /* 87 0x57 'W' */
884 0xc6, /* 11000110 */
885 0xc6, /* 11000110 */
886 0xc6, /* 11000110 */
887 0xd6, /* 11010110 */
888 0xd6, /* 11010110 */
889 0xfe, /* 11111110 */
890 0x6c, /* 01101100 */
891 0x00, /* 00000000 */
892
893 /* 88 0x58 'X' */
894 0xc6, /* 11000110 */
895 0xc6, /* 11000110 */
896 0x6c, /* 01101100 */
897 0x38, /* 00111000 */
898 0x6c, /* 01101100 */
899 0xc6, /* 11000110 */
900 0xc6, /* 11000110 */
901 0x00, /* 00000000 */
902
903 /* 89 0x59 'Y' */
904 0x66, /* 01100110 */
905 0x66, /* 01100110 */
906 0x66, /* 01100110 */
907 0x3c, /* 00111100 */
908 0x18, /* 00011000 */
909 0x18, /* 00011000 */
910 0x3c, /* 00111100 */
911 0x00, /* 00000000 */
912
913 /* 90 0x5a 'Z' */
914 0xfe, /* 11111110 */
915 0xc6, /* 11000110 */
916 0x8c, /* 10001100 */
917 0x18, /* 00011000 */
918 0x32, /* 00110010 */
919 0x66, /* 01100110 */
920 0xfe, /* 11111110 */
921 0x00, /* 00000000 */
922
923 /* 91 0x5b '[' */
924 0x3c, /* 00111100 */
925 0x30, /* 00110000 */
926 0x30, /* 00110000 */
927 0x30, /* 00110000 */
928 0x30, /* 00110000 */
929 0x30, /* 00110000 */
930 0x3c, /* 00111100 */
931 0x00, /* 00000000 */
932
933 /* 92 0x5c '\' */
934 0xc0, /* 11000000 */
935 0x60, /* 01100000 */
936 0x30, /* 00110000 */
937 0x18, /* 00011000 */
938 0x0c, /* 00001100 */
939 0x06, /* 00000110 */
940 0x02, /* 00000010 */
941 0x00, /* 00000000 */
942
943 /* 93 0x5d ']' */
944 0x3c, /* 00111100 */
945 0x0c, /* 00001100 */
946 0x0c, /* 00001100 */
947 0x0c, /* 00001100 */
948 0x0c, /* 00001100 */
949 0x0c, /* 00001100 */
950 0x3c, /* 00111100 */
951 0x00, /* 00000000 */
952
953 /* 94 0x5e '^' */
954 0x10, /* 00010000 */
955 0x38, /* 00111000 */
956 0x6c, /* 01101100 */
957 0xc6, /* 11000110 */
958 0x00, /* 00000000 */
959 0x00, /* 00000000 */
960 0x00, /* 00000000 */
961 0x00, /* 00000000 */
962
963 /* 95 0x5f '_' */
964 0x00, /* 00000000 */
965 0x00, /* 00000000 */
966 0x00, /* 00000000 */
967 0x00, /* 00000000 */
968 0x00, /* 00000000 */
969 0x00, /* 00000000 */
970 0x00, /* 00000000 */
971 0xff, /* 11111111 */
972
973 /* 96 0x60 '`' */
974 0x30, /* 00110000 */
975 0x18, /* 00011000 */
976 0x0c, /* 00001100 */
977 0x00, /* 00000000 */
978 0x00, /* 00000000 */
979 0x00, /* 00000000 */
980 0x00, /* 00000000 */
981 0x00, /* 00000000 */
982
983 /* 97 0x61 'a' */
984 0x00, /* 00000000 */
985 0x00, /* 00000000 */
986 0x78, /* 01111000 */
987 0x0c, /* 00001100 */
988 0x7c, /* 01111100 */
989 0xcc, /* 11001100 */
990 0x76, /* 01110110 */
991 0x00, /* 00000000 */
992
993 /* 98 0x62 'b' */
994 0xe0, /* 11100000 */
995 0x60, /* 01100000 */
996 0x7c, /* 01111100 */
997 0x66, /* 01100110 */
998 0x66, /* 01100110 */
999 0x66, /* 01100110 */
1000 0xdc, /* 11011100 */
1001 0x00, /* 00000000 */
1002
1003 /* 99 0x63 'c' */
1004 0x00, /* 00000000 */
1005 0x00, /* 00000000 */
1006 0x7c, /* 01111100 */
1007 0xc6, /* 11000110 */
1008 0xc0, /* 11000000 */
1009 0xc6, /* 11000110 */
1010 0x7c, /* 01111100 */
1011 0x00, /* 00000000 */
1012
1013 /* 100 0x64 'd' */
1014 0x1c, /* 00011100 */
1015 0x0c, /* 00001100 */
1016 0x7c, /* 01111100 */
1017 0xcc, /* 11001100 */
1018 0xcc, /* 11001100 */
1019 0xcc, /* 11001100 */
1020 0x76, /* 01110110 */
1021 0x00, /* 00000000 */
1022
1023 /* 101 0x65 'e' */
1024 0x00, /* 00000000 */
1025 0x00, /* 00000000 */
1026 0x7c, /* 01111100 */
1027 0xc6, /* 11000110 */
1028 0xfe, /* 11111110 */
1029 0xc0, /* 11000000 */
1030 0x7c, /* 01111100 */
1031 0x00, /* 00000000 */
1032
1033 /* 102 0x66 'f' */
1034 0x3c, /* 00111100 */
1035 0x66, /* 01100110 */
1036 0x60, /* 01100000 */
1037 0xf8, /* 11111000 */
1038 0x60, /* 01100000 */
1039 0x60, /* 01100000 */
1040 0xf0, /* 11110000 */
1041 0x00, /* 00000000 */
1042
1043 /* 103 0x67 'g' */
1044 0x00, /* 00000000 */
1045 0x00, /* 00000000 */
1046 0x76, /* 01110110 */
1047 0xcc, /* 11001100 */
1048 0xcc, /* 11001100 */
1049 0x7c, /* 01111100 */
1050 0x0c, /* 00001100 */
1051 0xf8, /* 11111000 */
1052
1053 /* 104 0x68 'h' */
1054 0xe0, /* 11100000 */
1055 0x60, /* 01100000 */
1056 0x6c, /* 01101100 */
1057 0x76, /* 01110110 */
1058 0x66, /* 01100110 */
1059 0x66, /* 01100110 */
1060 0xe6, /* 11100110 */
1061 0x00, /* 00000000 */
1062
1063 /* 105 0x69 'i' */
1064 0x18, /* 00011000 */
1065 0x00, /* 00000000 */
1066 0x38, /* 00111000 */
1067 0x18, /* 00011000 */
1068 0x18, /* 00011000 */
1069 0x18, /* 00011000 */
1070 0x3c, /* 00111100 */
1071 0x00, /* 00000000 */
1072
1073 /* 106 0x6a 'j' */
1074 0x06, /* 00000110 */
1075 0x00, /* 00000000 */
1076 0x06, /* 00000110 */
1077 0x06, /* 00000110 */
1078 0x06, /* 00000110 */
1079 0x66, /* 01100110 */
1080 0x66, /* 01100110 */
1081 0x3c, /* 00111100 */
1082
1083 /* 107 0x6b 'k' */
1084 0xe0, /* 11100000 */
1085 0x60, /* 01100000 */
1086 0x66, /* 01100110 */
1087 0x6c, /* 01101100 */
1088 0x78, /* 01111000 */
1089 0x6c, /* 01101100 */
1090 0xe6, /* 11100110 */
1091 0x00, /* 00000000 */
1092
1093 /* 108 0x6c 'l' */
1094 0x38, /* 00111000 */
1095 0x18, /* 00011000 */
1096 0x18, /* 00011000 */
1097 0x18, /* 00011000 */
1098 0x18, /* 00011000 */
1099 0x18, /* 00011000 */
1100 0x3c, /* 00111100 */
1101 0x00, /* 00000000 */
1102
1103 /* 109 0x6d 'm' */
1104 0x00, /* 00000000 */
1105 0x00, /* 00000000 */
1106 0xec, /* 11101100 */
1107 0xfe, /* 11111110 */
1108 0xd6, /* 11010110 */
1109 0xd6, /* 11010110 */
1110 0xd6, /* 11010110 */
1111 0x00, /* 00000000 */
1112
1113 /* 110 0x6e 'n' */
1114 0x00, /* 00000000 */
1115 0x00, /* 00000000 */
1116 0xdc, /* 11011100 */
1117 0x66, /* 01100110 */
1118 0x66, /* 01100110 */
1119 0x66, /* 01100110 */
1120 0x66, /* 01100110 */
1121 0x00, /* 00000000 */
1122
1123 /* 111 0x6f 'o' */
1124 0x00, /* 00000000 */
1125 0x00, /* 00000000 */
1126 0x7c, /* 01111100 */
1127 0xc6, /* 11000110 */
1128 0xc6, /* 11000110 */
1129 0xc6, /* 11000110 */
1130 0x7c, /* 01111100 */
1131 0x00, /* 00000000 */
1132
1133 /* 112 0x70 'p' */
1134 0x00, /* 00000000 */
1135 0x00, /* 00000000 */
1136 0xdc, /* 11011100 */
1137 0x66, /* 01100110 */
1138 0x66, /* 01100110 */
1139 0x7c, /* 01111100 */
1140 0x60, /* 01100000 */
1141 0xf0, /* 11110000 */
1142
1143 /* 113 0x71 'q' */
1144 0x00, /* 00000000 */
1145 0x00, /* 00000000 */
1146 0x76, /* 01110110 */
1147 0xcc, /* 11001100 */
1148 0xcc, /* 11001100 */
1149 0x7c, /* 01111100 */
1150 0x0c, /* 00001100 */
1151 0x1e, /* 00011110 */
1152
1153 /* 114 0x72 'r' */
1154 0x00, /* 00000000 */
1155 0x00, /* 00000000 */
1156 0xdc, /* 11011100 */
1157 0x76, /* 01110110 */
1158 0x60, /* 01100000 */
1159 0x60, /* 01100000 */
1160 0xf0, /* 11110000 */
1161 0x00, /* 00000000 */
1162
1163 /* 115 0x73 's' */
1164 0x00, /* 00000000 */
1165 0x00, /* 00000000 */
1166 0x7e, /* 01111110 */
1167 0xc0, /* 11000000 */
1168 0x7c, /* 01111100 */
1169 0x06, /* 00000110 */
1170 0xfc, /* 11111100 */
1171 0x00, /* 00000000 */
1172
1173 /* 116 0x74 't' */
1174 0x30, /* 00110000 */
1175 0x30, /* 00110000 */
1176 0xfc, /* 11111100 */
1177 0x30, /* 00110000 */
1178 0x30, /* 00110000 */
1179 0x36, /* 00110110 */
1180 0x1c, /* 00011100 */
1181 0x00, /* 00000000 */
1182
1183 /* 117 0x75 'u' */
1184 0x00, /* 00000000 */
1185 0x00, /* 00000000 */
1186 0xcc, /* 11001100 */
1187 0xcc, /* 11001100 */
1188 0xcc, /* 11001100 */
1189 0xcc, /* 11001100 */
1190 0x76, /* 01110110 */
1191 0x00, /* 00000000 */
1192
1193 /* 118 0x76 'v' */
1194 0x00, /* 00000000 */
1195 0x00, /* 00000000 */
1196 0xc6, /* 11000110 */
1197 0xc6, /* 11000110 */
1198 0xc6, /* 11000110 */
1199 0x6c, /* 01101100 */
1200 0x38, /* 00111000 */
1201 0x00, /* 00000000 */
1202
1203 /* 119 0x77 'w' */
1204 0x00, /* 00000000 */
1205 0x00, /* 00000000 */
1206 0xc6, /* 11000110 */
1207 0xd6, /* 11010110 */
1208 0xd6, /* 11010110 */
1209 0xfe, /* 11111110 */
1210 0x6c, /* 01101100 */
1211 0x00, /* 00000000 */
1212
1213 /* 120 0x78 'x' */
1214 0x00, /* 00000000 */
1215 0x00, /* 00000000 */
1216 0xc6, /* 11000110 */
1217 0x6c, /* 01101100 */
1218 0x38, /* 00111000 */
1219 0x6c, /* 01101100 */
1220 0xc6, /* 11000110 */
1221 0x00, /* 00000000 */
1222
1223 /* 121 0x79 'y' */
1224 0x00, /* 00000000 */
1225 0x00, /* 00000000 */
1226 0xc6, /* 11000110 */
1227 0xc6, /* 11000110 */
1228 0xc6, /* 11000110 */
1229 0x7e, /* 01111110 */
1230 0x06, /* 00000110 */
1231 0xfc, /* 11111100 */
1232
1233 /* 122 0x7a 'z' */
1234 0x00, /* 00000000 */
1235 0x00, /* 00000000 */
1236 0x7e, /* 01111110 */
1237 0x4c, /* 01001100 */
1238 0x18, /* 00011000 */
1239 0x32, /* 00110010 */
1240 0x7e, /* 01111110 */
1241 0x00, /* 00000000 */
1242
1243 /* 123 0x7b '{' */
1244 0x0e, /* 00001110 */
1245 0x18, /* 00011000 */
1246 0x18, /* 00011000 */
1247 0x70, /* 01110000 */
1248 0x18, /* 00011000 */
1249 0x18, /* 00011000 */
1250 0x0e, /* 00001110 */
1251 0x00, /* 00000000 */
1252
1253 /* 124 0x7c '|' */
1254 0x18, /* 00011000 */
1255 0x18, /* 00011000 */
1256 0x18, /* 00011000 */
1257 0x18, /* 00011000 */
1258 0x18, /* 00011000 */
1259 0x18, /* 00011000 */
1260 0x18, /* 00011000 */
1261 0x00, /* 00000000 */
1262
1263 /* 125 0x7d '}' */
1264 0x70, /* 01110000 */
1265 0x18, /* 00011000 */
1266 0x18, /* 00011000 */
1267 0x0e, /* 00001110 */
1268 0x18, /* 00011000 */
1269 0x18, /* 00011000 */
1270 0x70, /* 01110000 */
1271 0x00, /* 00000000 */
1272
1273 /* 126 0x7e '~' */
1274 0x76, /* 01110110 */
1275 0xdc, /* 11011100 */
1276 0x00, /* 00000000 */
1277 0x00, /* 00000000 */
1278 0x00, /* 00000000 */
1279 0x00, /* 00000000 */
1280 0x00, /* 00000000 */
1281 0x00, /* 00000000 */
1282
1283 /* 127 0x7f '' */
1284 0x00, /* 00000000 */
1285 0x10, /* 00010000 */
1286 0x38, /* 00111000 */
1287 0x6c, /* 01101100 */
1288 0xc6, /* 11000110 */
1289 0xc6, /* 11000110 */
1290 0xfe, /* 11111110 */
1291 0x00, /* 00000000 */
1292
1293 /* 128 0x80 '€' */
1294 0x7c, /* 01111100 */
1295 0xc6, /* 11000110 */
1296 0xc0, /* 11000000 */
1297 0xc0, /* 11000000 */
1298 0xc6, /* 11000110 */
1299 0x7c, /* 01111100 */
1300 0x0c, /* 00001100 */
1301 0x78, /* 01111000 */
1302
1303 /* 129 0x81 '' */
1304 0xcc, /* 11001100 */
1305 0x00, /* 00000000 */
1306 0xcc, /* 11001100 */
1307 0xcc, /* 11001100 */
1308 0xcc, /* 11001100 */
1309 0xcc, /* 11001100 */
1310 0x76, /* 01110110 */
1311 0x00, /* 00000000 */
1312
1313 /* 130 0x82 '‚' */
1314 0x0c, /* 00001100 */
1315 0x18, /* 00011000 */
1316 0x7c, /* 01111100 */
1317 0xc6, /* 11000110 */
1318 0xfe, /* 11111110 */
1319 0xc0, /* 11000000 */
1320 0x7c, /* 01111100 */
1321 0x00, /* 00000000 */
1322
1323 /* 131 0x83 'ƒ' */
1324 0x7c, /* 01111100 */
1325 0x82, /* 10000010 */
1326 0x78, /* 01111000 */
1327 0x0c, /* 00001100 */
1328 0x7c, /* 01111100 */
1329 0xcc, /* 11001100 */
1330 0x76, /* 01110110 */
1331 0x00, /* 00000000 */
1332
1333 /* 132 0x84 '„' */
1334 0xc6, /* 11000110 */
1335 0x00, /* 00000000 */
1336 0x78, /* 01111000 */
1337 0x0c, /* 00001100 */
1338 0x7c, /* 01111100 */
1339 0xcc, /* 11001100 */
1340 0x76, /* 01110110 */
1341 0x00, /* 00000000 */
1342
1343 /* 133 0x85 '…' */
1344 0x30, /* 00110000 */
1345 0x18, /* 00011000 */
1346 0x78, /* 01111000 */
1347 0x0c, /* 00001100 */
1348 0x7c, /* 01111100 */
1349 0xcc, /* 11001100 */
1350 0x76, /* 01110110 */
1351 0x00, /* 00000000 */
1352
1353 /* 134 0x86 '†' */
1354 0x30, /* 00110000 */
1355 0x30, /* 00110000 */
1356 0x78, /* 01111000 */
1357 0x0c, /* 00001100 */
1358 0x7c, /* 01111100 */
1359 0xcc, /* 11001100 */
1360 0x76, /* 01110110 */
1361 0x00, /* 00000000 */
1362
1363 /* 135 0x87 '‡' */
1364 0x00, /* 00000000 */
1365 0x00, /* 00000000 */
1366 0x7e, /* 01111110 */
1367 0xc0, /* 11000000 */
1368 0xc0, /* 11000000 */
1369 0x7e, /* 01111110 */
1370 0x0c, /* 00001100 */
1371 0x38, /* 00111000 */
1372
1373 /* 136 0x88 'ˆ' */
1374 0x7c, /* 01111100 */
1375 0x82, /* 10000010 */
1376 0x7c, /* 01111100 */
1377 0xc6, /* 11000110 */
1378 0xfe, /* 11111110 */
1379 0xc0, /* 11000000 */
1380 0x7c, /* 01111100 */
1381 0x00, /* 00000000 */
1382
1383 /* 137 0x89 '‰' */
1384 0xc6, /* 11000110 */
1385 0x00, /* 00000000 */
1386 0x7c, /* 01111100 */
1387 0xc6, /* 11000110 */
1388 0xfe, /* 11111110 */
1389 0xc0, /* 11000000 */
1390 0x7c, /* 01111100 */
1391 0x00, /* 00000000 */
1392
1393 /* 138 0x8a 'Š' */
1394 0x30, /* 00110000 */
1395 0x18, /* 00011000 */
1396 0x7c, /* 01111100 */
1397 0xc6, /* 11000110 */
1398 0xfe, /* 11111110 */
1399 0xc0, /* 11000000 */
1400 0x7c, /* 01111100 */
1401 0x00, /* 00000000 */
1402
1403 /* 139 0x8b '‹' */
1404 0x66, /* 01100110 */
1405 0x00, /* 00000000 */
1406 0x38, /* 00111000 */
1407 0x18, /* 00011000 */
1408 0x18, /* 00011000 */
1409 0x18, /* 00011000 */
1410 0x3c, /* 00111100 */
1411 0x00, /* 00000000 */
1412
1413 /* 140 0x8c 'Œ' */
1414 0x7c, /* 01111100 */
1415 0x82, /* 10000010 */
1416 0x38, /* 00111000 */
1417 0x18, /* 00011000 */
1418 0x18, /* 00011000 */
1419 0x18, /* 00011000 */
1420 0x3c, /* 00111100 */
1421 0x00, /* 00000000 */
1422
1423 /* 141 0x8d '' */
1424 0x30, /* 00110000 */
1425 0x18, /* 00011000 */
1426 0x00, /* 00000000 */
1427 0x38, /* 00111000 */
1428 0x18, /* 00011000 */
1429 0x18, /* 00011000 */
1430 0x3c, /* 00111100 */
1431 0x00, /* 00000000 */
1432
1433 /* 142 0x8e 'Ž' */
1434 0xc6, /* 11000110 */
1435 0x38, /* 00111000 */
1436 0x6c, /* 01101100 */
1437 0xc6, /* 11000110 */
1438 0xfe, /* 11111110 */
1439 0xc6, /* 11000110 */
1440 0xc6, /* 11000110 */
1441 0x00, /* 00000000 */
1442
1443 /* 143 0x8f '' */
1444 0x38, /* 00111000 */
1445 0x6c, /* 01101100 */
1446 0x7c, /* 01111100 */
1447 0xc6, /* 11000110 */
1448 0xfe, /* 11111110 */
1449 0xc6, /* 11000110 */
1450 0xc6, /* 11000110 */
1451 0x00, /* 00000000 */
1452
1453 /* 144 0x90 '' */
1454 0x18, /* 00011000 */
1455 0x30, /* 00110000 */
1456 0xfe, /* 11111110 */
1457 0xc0, /* 11000000 */
1458 0xf8, /* 11111000 */
1459 0xc0, /* 11000000 */
1460 0xfe, /* 11111110 */
1461 0x00, /* 00000000 */
1462
1463 /* 145 0x91 '‘' */
1464 0x00, /* 00000000 */
1465 0x00, /* 00000000 */
1466 0x7e, /* 01111110 */
1467 0x18, /* 00011000 */
1468 0x7e, /* 01111110 */
1469 0xd8, /* 11011000 */
1470 0x7e, /* 01111110 */
1471 0x00, /* 00000000 */
1472
1473 /* 146 0x92 '’' */
1474 0x3e, /* 00111110 */
1475 0x6c, /* 01101100 */
1476 0xcc, /* 11001100 */
1477 0xfe, /* 11111110 */
1478 0xcc, /* 11001100 */
1479 0xcc, /* 11001100 */
1480 0xce, /* 11001110 */
1481 0x00, /* 00000000 */
1482
1483 /* 147 0x93 '“' */
1484 0x7c, /* 01111100 */
1485 0x82, /* 10000010 */
1486 0x7c, /* 01111100 */
1487 0xc6, /* 11000110 */
1488 0xc6, /* 11000110 */
1489 0xc6, /* 11000110 */
1490 0x7c, /* 01111100 */
1491 0x00, /* 00000000 */
1492
1493 /* 148 0x94 '”' */
1494 0xc6, /* 11000110 */
1495 0x00, /* 00000000 */
1496 0x7c, /* 01111100 */
1497 0xc6, /* 11000110 */
1498 0xc6, /* 11000110 */
1499 0xc6, /* 11000110 */
1500 0x7c, /* 01111100 */
1501 0x00, /* 00000000 */
1502
1503 /* 149 0x95 '•' */
1504 0x30, /* 00110000 */
1505 0x18, /* 00011000 */
1506 0x7c, /* 01111100 */
1507 0xc6, /* 11000110 */
1508 0xc6, /* 11000110 */
1509 0xc6, /* 11000110 */
1510 0x7c, /* 01111100 */
1511 0x00, /* 00000000 */
1512
1513 /* 150 0x96 '–' */
1514 0x78, /* 01111000 */
1515 0x84, /* 10000100 */
1516 0x00, /* 00000000 */
1517 0xcc, /* 11001100 */
1518 0xcc, /* 11001100 */
1519 0xcc, /* 11001100 */
1520 0x76, /* 01110110 */
1521 0x00, /* 00000000 */
1522
1523 /* 151 0x97 '—' */
1524 0x60, /* 01100000 */
1525 0x30, /* 00110000 */
1526 0xcc, /* 11001100 */
1527 0xcc, /* 11001100 */
1528 0xcc, /* 11001100 */
1529 0xcc, /* 11001100 */
1530 0x76, /* 01110110 */
1531 0x00, /* 00000000 */
1532
1533 /* 152 0x98 '˜' */
1534 0xc6, /* 11000110 */
1535 0x00, /* 00000000 */
1536 0xc6, /* 11000110 */
1537 0xc6, /* 11000110 */
1538 0xc6, /* 11000110 */
1539 0x7e, /* 01111110 */
1540 0x06, /* 00000110 */
1541 0xfc, /* 11111100 */
1542
1543 /* 153 0x99 '™' */
1544 0xc6, /* 11000110 */
1545 0x38, /* 00111000 */
1546 0x6c, /* 01101100 */
1547 0xc6, /* 11000110 */
1548 0xc6, /* 11000110 */
1549 0x6c, /* 01101100 */
1550 0x38, /* 00111000 */
1551 0x00, /* 00000000 */
1552
1553 /* 154 0x9a 'š' */
1554 0xc6, /* 11000110 */
1555 0x00, /* 00000000 */
1556 0xc6, /* 11000110 */
1557 0xc6, /* 11000110 */
1558 0xc6, /* 11000110 */
1559 0xc6, /* 11000110 */
1560 0x7c, /* 01111100 */
1561 0x00, /* 00000000 */
1562
1563 /* 155 0x9b '›' */
1564 0x18, /* 00011000 */
1565 0x18, /* 00011000 */
1566 0x7e, /* 01111110 */
1567 0xc0, /* 11000000 */
1568 0xc0, /* 11000000 */
1569 0x7e, /* 01111110 */
1570 0x18, /* 00011000 */
1571 0x18, /* 00011000 */
1572
1573 /* 156 0x9c 'œ' */
1574 0x38, /* 00111000 */
1575 0x6c, /* 01101100 */
1576 0x64, /* 01100100 */
1577 0xf0, /* 11110000 */
1578 0x60, /* 01100000 */
1579 0x66, /* 01100110 */
1580 0xfc, /* 11111100 */
1581 0x00, /* 00000000 */
1582
1583 /* 157 0x9d '' */
1584 0x66, /* 01100110 */
1585 0x66, /* 01100110 */
1586 0x3c, /* 00111100 */
1587 0x7e, /* 01111110 */
1588 0x18, /* 00011000 */
1589 0x7e, /* 01111110 */
1590 0x18, /* 00011000 */
1591 0x18, /* 00011000 */
1592
1593 /* 158 0x9e 'ž' */
1594 0xf8, /* 11111000 */
1595 0xcc, /* 11001100 */
1596 0xcc, /* 11001100 */
1597 0xfa, /* 11111010 */
1598 0xc6, /* 11000110 */
1599 0xcf, /* 11001111 */
1600 0xc6, /* 11000110 */
1601 0xc7, /* 11000111 */
1602
1603 /* 159 0x9f 'Ÿ' */
1604 0x0e, /* 00001110 */
1605 0x1b, /* 00011011 */
1606 0x18, /* 00011000 */
1607 0x3c, /* 00111100 */
1608 0x18, /* 00011000 */
1609 0xd8, /* 11011000 */
1610 0x70, /* 01110000 */
1611 0x00, /* 00000000 */
1612
1613 /* 160 0xa0 ' ' */
1614 0x18, /* 00011000 */
1615 0x30, /* 00110000 */
1616 0x78, /* 01111000 */
1617 0x0c, /* 00001100 */
1618 0x7c, /* 01111100 */
1619 0xcc, /* 11001100 */
1620 0x76, /* 01110110 */
1621 0x00, /* 00000000 */
1622
1623 /* 161 0xa1 '¡' */
1624 0x0c, /* 00001100 */
1625 0x18, /* 00011000 */
1626 0x00, /* 00000000 */
1627 0x38, /* 00111000 */
1628 0x18, /* 00011000 */
1629 0x18, /* 00011000 */
1630 0x3c, /* 00111100 */
1631 0x00, /* 00000000 */
1632
1633 /* 162 0xa2 '¢' */
1634 0x0c, /* 00001100 */
1635 0x18, /* 00011000 */
1636 0x7c, /* 01111100 */
1637 0xc6, /* 11000110 */
1638 0xc6, /* 11000110 */
1639 0xc6, /* 11000110 */
1640 0x7c, /* 01111100 */
1641 0x00, /* 00000000 */
1642
1643 /* 163 0xa3 '£' */
1644 0x18, /* 00011000 */
1645 0x30, /* 00110000 */
1646 0xcc, /* 11001100 */
1647 0xcc, /* 11001100 */
1648 0xcc, /* 11001100 */
1649 0xcc, /* 11001100 */
1650 0x76, /* 01110110 */
1651 0x00, /* 00000000 */
1652
1653 /* 164 0xa4 '¤' */
1654 0x76, /* 01110110 */
1655 0xdc, /* 11011100 */
1656 0x00, /* 00000000 */
1657 0xdc, /* 11011100 */
1658 0x66, /* 01100110 */
1659 0x66, /* 01100110 */
1660 0x66, /* 01100110 */
1661 0x00, /* 00000000 */
1662
1663 /* 165 0xa5 '¥' */
1664 0x76, /* 01110110 */
1665 0xdc, /* 11011100 */
1666 0x00, /* 00000000 */
1667 0xe6, /* 11100110 */
1668 0xf6, /* 11110110 */
1669 0xde, /* 11011110 */
1670 0xce, /* 11001110 */
1671 0x00, /* 00000000 */
1672
1673 /* 166 0xa6 '¦' */
1674 0x3c, /* 00111100 */
1675 0x6c, /* 01101100 */
1676 0x6c, /* 01101100 */
1677 0x3e, /* 00111110 */
1678 0x00, /* 00000000 */
1679 0x7e, /* 01111110 */
1680 0x00, /* 00000000 */
1681 0x00, /* 00000000 */
1682
1683 /* 167 0xa7 '§' */
1684 0x38, /* 00111000 */
1685 0x6c, /* 01101100 */
1686 0x6c, /* 01101100 */
1687 0x38, /* 00111000 */
1688 0x00, /* 00000000 */
1689 0x7c, /* 01111100 */
1690 0x00, /* 00000000 */
1691 0x00, /* 00000000 */
1692
1693 /* 168 0xa8 '¨' */
1694 0x18, /* 00011000 */
1695 0x00, /* 00000000 */
1696 0x18, /* 00011000 */
1697 0x18, /* 00011000 */
1698 0x30, /* 00110000 */
1699 0x63, /* 01100011 */
1700 0x3e, /* 00111110 */
1701 0x00, /* 00000000 */
1702
1703 /* 169 0xa9 '©' */
1704 0x00, /* 00000000 */
1705 0x00, /* 00000000 */
1706 0x00, /* 00000000 */
1707 0xfe, /* 11111110 */
1708 0xc0, /* 11000000 */
1709 0xc0, /* 11000000 */
1710 0x00, /* 00000000 */
1711 0x00, /* 00000000 */
1712
1713 /* 170 0xaa 'ª' */
1714 0x00, /* 00000000 */
1715 0x00, /* 00000000 */
1716 0x00, /* 00000000 */
1717 0xfe, /* 11111110 */
1718 0x06, /* 00000110 */
1719 0x06, /* 00000110 */
1720 0x00, /* 00000000 */
1721 0x00, /* 00000000 */
1722
1723 /* 171 0xab '«' */
1724 0x63, /* 01100011 */
1725 0xe6, /* 11100110 */
1726 0x6c, /* 01101100 */
1727 0x7e, /* 01111110 */
1728 0x33, /* 00110011 */
1729 0x66, /* 01100110 */
1730 0xcc, /* 11001100 */
1731 0x0f, /* 00001111 */
1732
1733 /* 172 0xac '¬' */
1734 0x63, /* 01100011 */
1735 0xe6, /* 11100110 */
1736 0x6c, /* 01101100 */
1737 0x7a, /* 01111010 */
1738 0x36, /* 00110110 */
1739 0x6a, /* 01101010 */
1740 0xdf, /* 11011111 */
1741 0x06, /* 00000110 */
1742
1743 /* 173 0xad '­' */
1744 0x18, /* 00011000 */
1745 0x00, /* 00000000 */
1746 0x18, /* 00011000 */
1747 0x18, /* 00011000 */
1748 0x3c, /* 00111100 */
1749 0x3c, /* 00111100 */
1750 0x18, /* 00011000 */
1751 0x00, /* 00000000 */
1752
1753 /* 174 0xae '®' */
1754 0x00, /* 00000000 */
1755 0x33, /* 00110011 */
1756 0x66, /* 01100110 */
1757 0xcc, /* 11001100 */
1758 0x66, /* 01100110 */
1759 0x33, /* 00110011 */
1760 0x00, /* 00000000 */
1761 0x00, /* 00000000 */
1762
1763 /* 175 0xaf '¯' */
1764 0x00, /* 00000000 */
1765 0xcc, /* 11001100 */
1766 0x66, /* 01100110 */
1767 0x33, /* 00110011 */
1768 0x66, /* 01100110 */
1769 0xcc, /* 11001100 */
1770 0x00, /* 00000000 */
1771 0x00, /* 00000000 */
1772
1773 /* 176 0xb0 '°' */
1774 0x22, /* 00100010 */
1775 0x88, /* 10001000 */
1776 0x22, /* 00100010 */
1777 0x88, /* 10001000 */
1778 0x22, /* 00100010 */
1779 0x88, /* 10001000 */
1780 0x22, /* 00100010 */
1781 0x88, /* 10001000 */
1782
1783 /* 177 0xb1 '±' */
1784 0x55, /* 01010101 */
1785 0xaa, /* 10101010 */
1786 0x55, /* 01010101 */
1787 0xaa, /* 10101010 */
1788 0x55, /* 01010101 */
1789 0xaa, /* 10101010 */
1790 0x55, /* 01010101 */
1791 0xaa, /* 10101010 */
1792
1793 /* 178 0xb2 '²' */
1794 0x77, /* 01110111 */
1795 0xdd, /* 11011101 */
1796 0x77, /* 01110111 */
1797 0xdd, /* 11011101 */
1798 0x77, /* 01110111 */
1799 0xdd, /* 11011101 */
1800 0x77, /* 01110111 */
1801 0xdd, /* 11011101 */
1802
1803 /* 179 0xb3 '³' */
1804 0x18, /* 00011000 */
1805 0x18, /* 00011000 */
1806 0x18, /* 00011000 */
1807 0x18, /* 00011000 */
1808 0x18, /* 00011000 */
1809 0x18, /* 00011000 */
1810 0x18, /* 00011000 */
1811 0x18, /* 00011000 */
1812
1813 /* 180 0xb4 '´' */
1814 0x18, /* 00011000 */
1815 0x18, /* 00011000 */
1816 0x18, /* 00011000 */
1817 0x18, /* 00011000 */
1818 0xf8, /* 11111000 */
1819 0x18, /* 00011000 */
1820 0x18, /* 00011000 */
1821 0x18, /* 00011000 */
1822
1823 /* 181 0xb5 'µ' */
1824 0x18, /* 00011000 */
1825 0x18, /* 00011000 */
1826 0xf8, /* 11111000 */
1827 0x18, /* 00011000 */
1828 0xf8, /* 11111000 */
1829 0x18, /* 00011000 */
1830 0x18, /* 00011000 */
1831 0x18, /* 00011000 */
1832
1833 /* 182 0xb6 '¶' */
1834 0x36, /* 00110110 */
1835 0x36, /* 00110110 */
1836 0x36, /* 00110110 */
1837 0x36, /* 00110110 */
1838 0xf6, /* 11110110 */
1839 0x36, /* 00110110 */
1840 0x36, /* 00110110 */
1841 0x36, /* 00110110 */
1842
1843 /* 183 0xb7 '·' */
1844 0x00, /* 00000000 */
1845 0x00, /* 00000000 */
1846 0x00, /* 00000000 */
1847 0x00, /* 00000000 */
1848 0xfe, /* 11111110 */
1849 0x36, /* 00110110 */
1850 0x36, /* 00110110 */
1851 0x36, /* 00110110 */
1852
1853 /* 184 0xb8 '¸' */
1854 0x00, /* 00000000 */
1855 0x00, /* 00000000 */
1856 0xf8, /* 11111000 */
1857 0x18, /* 00011000 */
1858 0xf8, /* 11111000 */
1859 0x18, /* 00011000 */
1860 0x18, /* 00011000 */
1861 0x18, /* 00011000 */
1862
1863 /* 185 0xb9 '¹' */
1864 0x36, /* 00110110 */
1865 0x36, /* 00110110 */
1866 0xf6, /* 11110110 */
1867 0x06, /* 00000110 */
1868 0xf6, /* 11110110 */
1869 0x36, /* 00110110 */
1870 0x36, /* 00110110 */
1871 0x36, /* 00110110 */
1872
1873 /* 186 0xba 'º' */
1874 0x36, /* 00110110 */
1875 0x36, /* 00110110 */
1876 0x36, /* 00110110 */
1877 0x36, /* 00110110 */
1878 0x36, /* 00110110 */
1879 0x36, /* 00110110 */
1880 0x36, /* 00110110 */
1881 0x36, /* 00110110 */
1882
1883 /* 187 0xbb '»' */
1884 0x00, /* 00000000 */
1885 0x00, /* 00000000 */
1886 0xfe, /* 11111110 */
1887 0x06, /* 00000110 */
1888 0xf6, /* 11110110 */
1889 0x36, /* 00110110 */
1890 0x36, /* 00110110 */
1891 0x36, /* 00110110 */
1892
1893 /* 188 0xbc '¼' */
1894 0x36, /* 00110110 */
1895 0x36, /* 00110110 */
1896 0xf6, /* 11110110 */
1897 0x06, /* 00000110 */
1898 0xfe, /* 11111110 */
1899 0x00, /* 00000000 */
1900 0x00, /* 00000000 */
1901 0x00, /* 00000000 */
1902
1903 /* 189 0xbd '½' */
1904 0x36, /* 00110110 */
1905 0x36, /* 00110110 */
1906 0x36, /* 00110110 */
1907 0x36, /* 00110110 */
1908 0xfe, /* 11111110 */
1909 0x00, /* 00000000 */
1910 0x00, /* 00000000 */
1911 0x00, /* 00000000 */
1912
1913 /* 190 0xbe '¾' */
1914 0x18, /* 00011000 */
1915 0x18, /* 00011000 */
1916 0xf8, /* 11111000 */
1917 0x18, /* 00011000 */
1918 0xf8, /* 11111000 */
1919 0x00, /* 00000000 */
1920 0x00, /* 00000000 */
1921 0x00, /* 00000000 */
1922
1923 /* 191 0xbf '¿' */
1924 0x00, /* 00000000 */
1925 0x00, /* 00000000 */
1926 0x00, /* 00000000 */
1927 0x00, /* 00000000 */
1928 0xf8, /* 11111000 */
1929 0x18, /* 00011000 */
1930 0x18, /* 00011000 */
1931 0x18, /* 00011000 */
1932
1933 /* 192 0xc0 'À' */
1934 0x18, /* 00011000 */
1935 0x18, /* 00011000 */
1936 0x18, /* 00011000 */
1937 0x18, /* 00011000 */
1938 0x1f, /* 00011111 */
1939 0x00, /* 00000000 */
1940 0x00, /* 00000000 */
1941 0x00, /* 00000000 */
1942
1943 /* 193 0xc1 'Á' */
1944 0x18, /* 00011000 */
1945 0x18, /* 00011000 */
1946 0x18, /* 00011000 */
1947 0x18, /* 00011000 */
1948 0xff, /* 11111111 */
1949 0x00, /* 00000000 */
1950 0x00, /* 00000000 */
1951 0x00, /* 00000000 */
1952
1953 /* 194 0xc2 'Â' */
1954 0x00, /* 00000000 */
1955 0x00, /* 00000000 */
1956 0x00, /* 00000000 */
1957 0x00, /* 00000000 */
1958 0xff, /* 11111111 */
1959 0x18, /* 00011000 */
1960 0x18, /* 00011000 */
1961 0x18, /* 00011000 */
1962
1963 /* 195 0xc3 'Ã' */
1964 0x18, /* 00011000 */
1965 0x18, /* 00011000 */
1966 0x18, /* 00011000 */
1967 0x18, /* 00011000 */
1968 0x1f, /* 00011111 */
1969 0x18, /* 00011000 */
1970 0x18, /* 00011000 */
1971 0x18, /* 00011000 */
1972
1973 /* 196 0xc4 'Ä' */
1974 0x00, /* 00000000 */
1975 0x00, /* 00000000 */
1976 0x00, /* 00000000 */
1977 0x00, /* 00000000 */
1978 0xff, /* 11111111 */
1979 0x00, /* 00000000 */
1980 0x00, /* 00000000 */
1981 0x00, /* 00000000 */
1982
1983 /* 197 0xc5 'Å' */
1984 0x18, /* 00011000 */
1985 0x18, /* 00011000 */
1986 0x18, /* 00011000 */
1987 0x18, /* 00011000 */
1988 0xff, /* 11111111 */
1989 0x18, /* 00011000 */
1990 0x18, /* 00011000 */
1991 0x18, /* 00011000 */
1992
1993 /* 198 0xc6 'Æ' */
1994 0x18, /* 00011000 */
1995 0x18, /* 00011000 */
1996 0x1f, /* 00011111 */
1997 0x18, /* 00011000 */
1998 0x1f, /* 00011111 */
1999 0x18, /* 00011000 */
2000 0x18, /* 00011000 */
2001 0x18, /* 00011000 */
2002
2003 /* 199 0xc7 'Ç' */
2004 0x36, /* 00110110 */
2005 0x36, /* 00110110 */
2006 0x36, /* 00110110 */
2007 0x36, /* 00110110 */
2008 0x37, /* 00110111 */
2009 0x36, /* 00110110 */
2010 0x36, /* 00110110 */
2011 0x36, /* 00110110 */
2012
2013 /* 200 0xc8 'È' */
2014 0x36, /* 00110110 */
2015 0x36, /* 00110110 */
2016 0x37, /* 00110111 */
2017 0x30, /* 00110000 */
2018 0x3f, /* 00111111 */
2019 0x00, /* 00000000 */
2020 0x00, /* 00000000 */
2021 0x00, /* 00000000 */
2022
2023 /* 201 0xc9 'É' */
2024 0x00, /* 00000000 */
2025 0x00, /* 00000000 */
2026 0x3f, /* 00111111 */
2027 0x30, /* 00110000 */
2028 0x37, /* 00110111 */
2029 0x36, /* 00110110 */
2030 0x36, /* 00110110 */
2031 0x36, /* 00110110 */
2032
2033 /* 202 0xca 'Ê' */
2034 0x36, /* 00110110 */
2035 0x36, /* 00110110 */
2036 0xf7, /* 11110111 */
2037 0x00, /* 00000000 */
2038 0xff, /* 11111111 */
2039 0x00, /* 00000000 */
2040 0x00, /* 00000000 */
2041 0x00, /* 00000000 */
2042
2043 /* 203 0xcb 'Ë' */
2044 0x00, /* 00000000 */
2045 0x00, /* 00000000 */
2046 0xff, /* 11111111 */
2047 0x00, /* 00000000 */
2048 0xf7, /* 11110111 */
2049 0x36, /* 00110110 */
2050 0x36, /* 00110110 */
2051 0x36, /* 00110110 */
2052
2053 /* 204 0xcc 'Ì' */
2054 0x36, /* 00110110 */
2055 0x36, /* 00110110 */
2056 0x37, /* 00110111 */
2057 0x30, /* 00110000 */
2058 0x37, /* 00110111 */
2059 0x36, /* 00110110 */
2060 0x36, /* 00110110 */
2061 0x36, /* 00110110 */
2062
2063 /* 205 0xcd 'Í' */
2064 0x00, /* 00000000 */
2065 0x00, /* 00000000 */
2066 0xff, /* 11111111 */
2067 0x00, /* 00000000 */
2068 0xff, /* 11111111 */
2069 0x00, /* 00000000 */
2070 0x00, /* 00000000 */
2071 0x00, /* 00000000 */
2072
2073 /* 206 0xce 'Î' */
2074 0x36, /* 00110110 */
2075 0x36, /* 00110110 */
2076 0xf7, /* 11110111 */
2077 0x00, /* 00000000 */
2078 0xf7, /* 11110111 */
2079 0x36, /* 00110110 */
2080 0x36, /* 00110110 */
2081 0x36, /* 00110110 */
2082
2083 /* 207 0xcf 'Ï' */
2084 0x18, /* 00011000 */
2085 0x18, /* 00011000 */
2086 0xff, /* 11111111 */
2087 0x00, /* 00000000 */
2088 0xff, /* 11111111 */
2089 0x00, /* 00000000 */
2090 0x00, /* 00000000 */
2091 0x00, /* 00000000 */
2092
2093 /* 208 0xd0 'Ð' */
2094 0x36, /* 00110110 */
2095 0x36, /* 00110110 */
2096 0x36, /* 00110110 */
2097 0x36, /* 00110110 */
2098 0xff, /* 11111111 */
2099 0x00, /* 00000000 */
2100 0x00, /* 00000000 */
2101 0x00, /* 00000000 */
2102
2103 /* 209 0xd1 'Ñ' */
2104 0x00, /* 00000000 */
2105 0x00, /* 00000000 */
2106 0xff, /* 11111111 */
2107 0x00, /* 00000000 */
2108 0xff, /* 11111111 */
2109 0x18, /* 00011000 */
2110 0x18, /* 00011000 */
2111 0x18, /* 00011000 */
2112
2113 /* 210 0xd2 'Ò' */
2114 0x00, /* 00000000 */
2115 0x00, /* 00000000 */
2116 0x00, /* 00000000 */
2117 0x00, /* 00000000 */
2118 0xff, /* 11111111 */
2119 0x36, /* 00110110 */
2120 0x36, /* 00110110 */
2121 0x36, /* 00110110 */
2122
2123 /* 211 0xd3 'Ó' */
2124 0x36, /* 00110110 */
2125 0x36, /* 00110110 */
2126 0x36, /* 00110110 */
2127 0x36, /* 00110110 */
2128 0x3f, /* 00111111 */
2129 0x00, /* 00000000 */
2130 0x00, /* 00000000 */
2131 0x00, /* 00000000 */
2132
2133 /* 212 0xd4 'Ô' */
2134 0x18, /* 00011000 */
2135 0x18, /* 00011000 */
2136 0x1f, /* 00011111 */
2137 0x18, /* 00011000 */
2138 0x1f, /* 00011111 */
2139 0x00, /* 00000000 */
2140 0x00, /* 00000000 */
2141 0x00, /* 00000000 */
2142
2143 /* 213 0xd5 'Õ' */
2144 0x00, /* 00000000 */
2145 0x00, /* 00000000 */
2146 0x1f, /* 00011111 */
2147 0x18, /* 00011000 */
2148 0x1f, /* 00011111 */
2149 0x18, /* 00011000 */
2150 0x18, /* 00011000 */
2151 0x18, /* 00011000 */
2152
2153 /* 214 0xd6 'Ö' */
2154 0x00, /* 00000000 */
2155 0x00, /* 00000000 */
2156 0x00, /* 00000000 */
2157 0x00, /* 00000000 */
2158 0x3f, /* 00111111 */
2159 0x36, /* 00110110 */
2160 0x36, /* 00110110 */
2161 0x36, /* 00110110 */
2162
2163 /* 215 0xd7 '×' */
2164 0x36, /* 00110110 */
2165 0x36, /* 00110110 */
2166 0x36, /* 00110110 */
2167 0x36, /* 00110110 */
2168 0xff, /* 11111111 */
2169 0x36, /* 00110110 */
2170 0x36, /* 00110110 */
2171 0x36, /* 00110110 */
2172
2173 /* 216 0xd8 'Ø' */
2174 0x18, /* 00011000 */
2175 0x18, /* 00011000 */
2176 0xff, /* 11111111 */
2177 0x18, /* 00011000 */
2178 0xff, /* 11111111 */
2179 0x18, /* 00011000 */
2180 0x18, /* 00011000 */
2181 0x18, /* 00011000 */
2182
2183 /* 217 0xd9 'Ù' */
2184 0x18, /* 00011000 */
2185 0x18, /* 00011000 */
2186 0x18, /* 00011000 */
2187 0x18, /* 00011000 */
2188 0xf8, /* 11111000 */
2189 0x00, /* 00000000 */
2190 0x00, /* 00000000 */
2191 0x00, /* 00000000 */
2192
2193 /* 218 0xda 'Ú' */
2194 0x00, /* 00000000 */
2195 0x00, /* 00000000 */
2196 0x00, /* 00000000 */
2197 0x00, /* 00000000 */
2198 0x1f, /* 00011111 */
2199 0x18, /* 00011000 */
2200 0x18, /* 00011000 */
2201 0x18, /* 00011000 */
2202
2203 /* 219 0xdb 'Û' */
2204 0xff, /* 11111111 */
2205 0xff, /* 11111111 */
2206 0xff, /* 11111111 */
2207 0xff, /* 11111111 */
2208 0xff, /* 11111111 */
2209 0xff, /* 11111111 */
2210 0xff, /* 11111111 */
2211 0xff, /* 11111111 */
2212
2213 /* 220 0xdc 'Ü' */
2214 0x00, /* 00000000 */
2215 0x00, /* 00000000 */
2216 0x00, /* 00000000 */
2217 0x00, /* 00000000 */
2218 0xff, /* 11111111 */
2219 0xff, /* 11111111 */
2220 0xff, /* 11111111 */
2221 0xff, /* 11111111 */
2222
2223 /* 221 0xdd 'Ý' */
2224 0xf0, /* 11110000 */
2225 0xf0, /* 11110000 */
2226 0xf0, /* 11110000 */
2227 0xf0, /* 11110000 */
2228 0xf0, /* 11110000 */
2229 0xf0, /* 11110000 */
2230 0xf0, /* 11110000 */
2231 0xf0, /* 11110000 */
2232
2233 /* 222 0xde 'Þ' */
2234 0x0f, /* 00001111 */
2235 0x0f, /* 00001111 */
2236 0x0f, /* 00001111 */
2237 0x0f, /* 00001111 */
2238 0x0f, /* 00001111 */
2239 0x0f, /* 00001111 */
2240 0x0f, /* 00001111 */
2241 0x0f, /* 00001111 */
2242
2243 /* 223 0xdf 'ß' */
2244 0xff, /* 11111111 */
2245 0xff, /* 11111111 */
2246 0xff, /* 11111111 */
2247 0xff, /* 11111111 */
2248 0x00, /* 00000000 */
2249 0x00, /* 00000000 */
2250 0x00, /* 00000000 */
2251 0x00, /* 00000000 */
2252
2253 /* 224 0xe0 'à' */
2254 0x00, /* 00000000 */
2255 0x00, /* 00000000 */
2256 0x76, /* 01110110 */
2257 0xdc, /* 11011100 */
2258 0xc8, /* 11001000 */
2259 0xdc, /* 11011100 */
2260 0x76, /* 01110110 */
2261 0x00, /* 00000000 */
2262
2263 /* 225 0xe1 'á' */
2264 0x78, /* 01111000 */
2265 0xcc, /* 11001100 */
2266 0xcc, /* 11001100 */
2267 0xd8, /* 11011000 */
2268 0xcc, /* 11001100 */
2269 0xc6, /* 11000110 */
2270 0xcc, /* 11001100 */
2271 0x00, /* 00000000 */
2272
2273 /* 226 0xe2 'â' */
2274 0xfe, /* 11111110 */
2275 0xc6, /* 11000110 */
2276 0xc0, /* 11000000 */
2277 0xc0, /* 11000000 */
2278 0xc0, /* 11000000 */
2279 0xc0, /* 11000000 */
2280 0xc0, /* 11000000 */
2281 0x00, /* 00000000 */
2282
2283 /* 227 0xe3 'ã' */
2284 0x00, /* 00000000 */
2285 0x00, /* 00000000 */
2286 0xfe, /* 11111110 */
2287 0x6c, /* 01101100 */
2288 0x6c, /* 01101100 */
2289 0x6c, /* 01101100 */
2290 0x6c, /* 01101100 */
2291 0x00, /* 00000000 */
2292
2293 /* 228 0xe4 'ä' */
2294 0xfe, /* 11111110 */
2295 0xc6, /* 11000110 */
2296 0x60, /* 01100000 */
2297 0x30, /* 00110000 */
2298 0x60, /* 01100000 */
2299 0xc6, /* 11000110 */
2300 0xfe, /* 11111110 */
2301 0x00, /* 00000000 */
2302
2303 /* 229 0xe5 'å' */
2304 0x00, /* 00000000 */
2305 0x00, /* 00000000 */
2306 0x7e, /* 01111110 */
2307 0xd8, /* 11011000 */
2308 0xd8, /* 11011000 */
2309 0xd8, /* 11011000 */
2310 0x70, /* 01110000 */
2311 0x00, /* 00000000 */
2312
2313 /* 230 0xe6 'æ' */
2314 0x00, /* 00000000 */
2315 0x00, /* 00000000 */
2316 0x66, /* 01100110 */
2317 0x66, /* 01100110 */
2318 0x66, /* 01100110 */
2319 0x66, /* 01100110 */
2320 0x7c, /* 01111100 */
2321 0xc0, /* 11000000 */
2322
2323 /* 231 0xe7 'ç' */
2324 0x00, /* 00000000 */
2325 0x76, /* 01110110 */
2326 0xdc, /* 11011100 */
2327 0x18, /* 00011000 */
2328 0x18, /* 00011000 */
2329 0x18, /* 00011000 */
2330 0x18, /* 00011000 */
2331 0x00, /* 00000000 */
2332
2333 /* 232 0xe8 'è' */
2334 0x7e, /* 01111110 */
2335 0x18, /* 00011000 */
2336 0x3c, /* 00111100 */
2337 0x66, /* 01100110 */
2338 0x66, /* 01100110 */
2339 0x3c, /* 00111100 */
2340 0x18, /* 00011000 */
2341 0x7e, /* 01111110 */
2342
2343 /* 233 0xe9 'é' */
2344 0x38, /* 00111000 */
2345 0x6c, /* 01101100 */
2346 0xc6, /* 11000110 */
2347 0xfe, /* 11111110 */
2348 0xc6, /* 11000110 */
2349 0x6c, /* 01101100 */
2350 0x38, /* 00111000 */
2351 0x00, /* 00000000 */
2352
2353 /* 234 0xea 'ê' */
2354 0x38, /* 00111000 */
2355 0x6c, /* 01101100 */
2356 0xc6, /* 11000110 */
2357 0xc6, /* 11000110 */
2358 0x6c, /* 01101100 */
2359 0x6c, /* 01101100 */
2360 0xee, /* 11101110 */
2361 0x00, /* 00000000 */
2362
2363 /* 235 0xeb 'ë' */
2364 0x0e, /* 00001110 */
2365 0x18, /* 00011000 */
2366 0x0c, /* 00001100 */
2367 0x3e, /* 00111110 */
2368 0x66, /* 01100110 */
2369 0x66, /* 01100110 */
2370 0x3c, /* 00111100 */
2371 0x00, /* 00000000 */
2372
2373 /* 236 0xec 'ì' */
2374 0x00, /* 00000000 */
2375 0x00, /* 00000000 */
2376 0x7e, /* 01111110 */
2377 0xdb, /* 11011011 */
2378 0xdb, /* 11011011 */
2379 0x7e, /* 01111110 */
2380 0x00, /* 00000000 */
2381 0x00, /* 00000000 */
2382
2383 /* 237 0xed 'í' */
2384 0x06, /* 00000110 */
2385 0x0c, /* 00001100 */
2386 0x7e, /* 01111110 */
2387 0xdb, /* 11011011 */
2388 0xdb, /* 11011011 */
2389 0x7e, /* 01111110 */
2390 0x60, /* 01100000 */
2391 0xc0, /* 11000000 */
2392
2393 /* 238 0xee 'î' */
2394 0x1e, /* 00011110 */
2395 0x30, /* 00110000 */
2396 0x60, /* 01100000 */
2397 0x7e, /* 01111110 */
2398 0x60, /* 01100000 */
2399 0x30, /* 00110000 */
2400 0x1e, /* 00011110 */
2401 0x00, /* 00000000 */
2402
2403 /* 239 0xef 'ï' */
2404 0x00, /* 00000000 */
2405 0x7c, /* 01111100 */
2406 0xc6, /* 11000110 */
2407 0xc6, /* 11000110 */
2408 0xc6, /* 11000110 */
2409 0xc6, /* 11000110 */
2410 0xc6, /* 11000110 */
2411 0x00, /* 00000000 */
2412
2413 /* 240 0xf0 'ð' */
2414 0x00, /* 00000000 */
2415 0xfe, /* 11111110 */
2416 0x00, /* 00000000 */
2417 0xfe, /* 11111110 */
2418 0x00, /* 00000000 */
2419 0xfe, /* 11111110 */
2420 0x00, /* 00000000 */
2421 0x00, /* 00000000 */
2422
2423 /* 241 0xf1 'ñ' */
2424 0x18, /* 00011000 */
2425 0x18, /* 00011000 */
2426 0x7e, /* 01111110 */
2427 0x18, /* 00011000 */
2428 0x18, /* 00011000 */
2429 0x00, /* 00000000 */
2430 0x7e, /* 01111110 */
2431 0x00, /* 00000000 */
2432
2433 /* 242 0xf2 'ò' */
2434 0x30, /* 00110000 */
2435 0x18, /* 00011000 */
2436 0x0c, /* 00001100 */
2437 0x18, /* 00011000 */
2438 0x30, /* 00110000 */
2439 0x00, /* 00000000 */
2440 0x7e, /* 01111110 */
2441 0x00, /* 00000000 */
2442
2443 /* 243 0xf3 'ó' */
2444 0x0c, /* 00001100 */
2445 0x18, /* 00011000 */
2446 0x30, /* 00110000 */
2447 0x18, /* 00011000 */
2448 0x0c, /* 00001100 */
2449 0x00, /* 00000000 */
2450 0x7e, /* 01111110 */
2451 0x00, /* 00000000 */
2452
2453 /* 244 0xf4 'ô' */
2454 0x0e, /* 00001110 */
2455 0x1b, /* 00011011 */
2456 0x1b, /* 00011011 */
2457 0x18, /* 00011000 */
2458 0x18, /* 00011000 */
2459 0x18, /* 00011000 */
2460 0x18, /* 00011000 */
2461 0x18, /* 00011000 */
2462
2463 /* 245 0xf5 'õ' */
2464 0x18, /* 00011000 */
2465 0x18, /* 00011000 */
2466 0x18, /* 00011000 */
2467 0x18, /* 00011000 */
2468 0x18, /* 00011000 */
2469 0xd8, /* 11011000 */
2470 0xd8, /* 11011000 */
2471 0x70, /* 01110000 */
2472
2473 /* 246 0xf6 'ö' */
2474 0x00, /* 00000000 */
2475 0x18, /* 00011000 */
2476 0x00, /* 00000000 */
2477 0x7e, /* 01111110 */
2478 0x00, /* 00000000 */
2479 0x18, /* 00011000 */
2480 0x00, /* 00000000 */
2481 0x00, /* 00000000 */
2482
2483 /* 247 0xf7 '÷' */
2484 0x00, /* 00000000 */
2485 0x76, /* 01110110 */
2486 0xdc, /* 11011100 */
2487 0x00, /* 00000000 */
2488 0x76, /* 01110110 */
2489 0xdc, /* 11011100 */
2490 0x00, /* 00000000 */
2491 0x00, /* 00000000 */
2492
2493 /* 248 0xf8 'ø' */
2494 0x38, /* 00111000 */
2495 0x6c, /* 01101100 */
2496 0x6c, /* 01101100 */
2497 0x38, /* 00111000 */
2498 0x00, /* 00000000 */
2499 0x00, /* 00000000 */
2500 0x00, /* 00000000 */
2501 0x00, /* 00000000 */
2502
2503 /* 249 0xf9 'ù' */
2504 0x00, /* 00000000 */
2505 0x00, /* 00000000 */
2506 0x00, /* 00000000 */
2507 0x18, /* 00011000 */
2508 0x18, /* 00011000 */
2509 0x00, /* 00000000 */
2510 0x00, /* 00000000 */
2511 0x00, /* 00000000 */
2512
2513 /* 250 0xfa 'ú' */
2514 0x00, /* 00000000 */
2515 0x00, /* 00000000 */
2516 0x00, /* 00000000 */
2517 0x18, /* 00011000 */
2518 0x00, /* 00000000 */
2519 0x00, /* 00000000 */
2520 0x00, /* 00000000 */
2521 0x00, /* 00000000 */
2522
2523 /* 251 0xfb 'û' */
2524 0x0f, /* 00001111 */
2525 0x0c, /* 00001100 */
2526 0x0c, /* 00001100 */
2527 0x0c, /* 00001100 */
2528 0xec, /* 11101100 */
2529 0x6c, /* 01101100 */
2530 0x3c, /* 00111100 */
2531 0x1c, /* 00011100 */
2532
2533 /* 252 0xfc 'ü' */
2534 0x6c, /* 01101100 */
2535 0x36, /* 00110110 */
2536 0x36, /* 00110110 */
2537 0x36, /* 00110110 */
2538 0x36, /* 00110110 */
2539 0x00, /* 00000000 */
2540 0x00, /* 00000000 */
2541 0x00, /* 00000000 */
2542
2543 /* 253 0xfd 'ý' */
2544 0x78, /* 01111000 */
2545 0x0c, /* 00001100 */
2546 0x18, /* 00011000 */
2547 0x30, /* 00110000 */
2548 0x7c, /* 01111100 */
2549 0x00, /* 00000000 */
2550 0x00, /* 00000000 */
2551 0x00, /* 00000000 */
2552
2553 /* 254 0xfe 'þ' */
2554 0x00, /* 00000000 */
2555 0x00, /* 00000000 */
2556 0x3c, /* 00111100 */
2557 0x3c, /* 00111100 */
2558 0x3c, /* 00111100 */
2559 0x3c, /* 00111100 */
2560 0x00, /* 00000000 */
2561 0x00, /* 00000000 */
2562
2563 /* 255 0xff 'ÿ' */
2564 0x00, /* 00000000 */
2565 0x00, /* 00000000 */
2566 0x00, /* 00000000 */
2567 0x00, /* 00000000 */
2568 0x00, /* 00000000 */
2569 0x00, /* 00000000 */
2570 0x00, /* 00000000 */
2571 0x00, /* 00000000 */
2572
2573};
2574
2575
2576struct font_desc font_vga_8x8 = {
2577 VGA8x8_IDX,
2578 "VGA8x8",
2579 8,
2580 8,
2581 fontdata_8x8,
2582 0
2583};
diff --git a/drivers/video/console/font_acorn_8x8.c b/drivers/video/console/font_acorn_8x8.c
new file mode 100644
index 000000000000..d565505e3069
--- /dev/null
+++ b/drivers/video/console/font_acorn_8x8.c
@@ -0,0 +1,276 @@
1/* Acorn-like font definition, with PC graphics characters */
2
3#include <linux/config.h>
4#include <linux/font.h>
5
6static unsigned char acorndata_8x8[] = {
7/* 00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ^@ */
8/* 01 */ 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e, /* ^A */
9/* 02 */ 0x7e, 0xff, 0xbd, 0xff, 0xc3, 0xe7, 0xff, 0x7e, /* ^B */
10/* 03 */ 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, /* ^C */
11/* 04 */ 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, /* ^D */
12/* 05 */ 0x00, 0x18, 0x3c, 0xe7, 0xe7, 0x3c, 0x18, 0x00, /* ^E */
13/* 06 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
14/* 07 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
15/* 08 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
16/* 09 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
17/* 0A */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
18/* 0B */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
19/* 0C */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
20/* 0D */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
21/* 0E */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
22/* 0F */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
23/* 10 */ 0x00, 0x60, 0x78, 0x7e, 0x7e, 0x78, 0x60, 0x00, /* |> */
24/* 11 */ 0x00, 0x06, 0x1e, 0x7e, 0x7e, 0x1e, 0x06, 0x00, /* <| */
25/* 12 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
26/* 13 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
27/* 14 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
28/* 15 */ 0x3c, 0x60, 0x3c, 0x66, 0x3c, 0x06, 0x3c, 0x00,
29/* 16 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
30/* 17 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
31/* 18 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
32/* 19 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
33/* 1A */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
34/* 1B */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
35/* 1C */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
36/* 1D */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
37/* 1E */ 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x7e, 0x7e, 0x00, /* /\ */
38/* 1F */ 0x00, 0x7e, 0x7e, 0x3c, 0x3c, 0x18, 0x18, 0x00, /* \/ */
39/* 20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* */
40/* 21 */ 0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00, /* ! */
41/* 22 */ 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, /* " */
42/* 23 */ 0x36, 0x36, 0x7F, 0x36, 0x7F, 0x36, 0x36, 0x00, /* # */
43/* 24 */ 0x0C, 0x3F, 0x68, 0x3E, 0x0B, 0x7E, 0x18, 0x00, /* $ */
44/* 25 */ 0x60, 0x66, 0x0C, 0x18, 0x30, 0x66, 0x06, 0x00, /* % */
45/* 26 */ 0x38, 0x6C, 0x6C, 0x38, 0x6D, 0x66, 0x3B, 0x00, /* & */
46/* 27 */ 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, /* ' */
47/* 28 */ 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, /* ( */
48/* 29 */ 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, /* ) */
49/* 2A */ 0x00, 0x18, 0x7E, 0x3C, 0x7E, 0x18, 0x00, 0x00, /* * */
50/* 2B */ 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, /* + */
51/* 2C */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, /* , */
52/* 2D */ 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, /* - */
53/* 2E */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, /* . */
54/* 2F */ 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, /* / */
55/* 30 */ 0x3C, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x3C, 0x00, /* 0 */
56/* 31 */ 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, /* 1 */
57/* 32 */ 0x3C, 0x66, 0x06, 0x0C, 0x18, 0x30, 0x7E, 0x00, /* 2 */
58/* 33 */ 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00, /* 3 */
59/* 34 */ 0x0C, 0x1C, 0x3C, 0x6C, 0x7E, 0x0C, 0x0C, 0x00, /* 4 */
60/* 35 */ 0x7E, 0x60, 0x7C, 0x06, 0x06, 0x66, 0x3C, 0x00, /* 5 */
61/* 36 */ 0x1C, 0x30, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00, /* 6 */
62/* 37 */ 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, /* 7 */
63/* 38 */ 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00, /* 8 */
64/* 39 */ 0x3C, 0x66, 0x66, 0x3E, 0x06, 0x0C, 0x38, 0x00, /* 9 */
65/* 3A */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, /* : */
66/* 3B */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30, /* ; */
67/* 3C */ 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00, /* < */
68/* 3D */ 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, /* = */
69/* 3E */ 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00, /* > */
70/* 3F */ 0x3C, 0x66, 0x0C, 0x18, 0x18, 0x00, 0x18, 0x00, /* ? */
71/* 40 */ 0x3C, 0x66, 0x6E, 0x6A, 0x6E, 0x60, 0x3C, 0x00, /* @ */
72/* 41 */ 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, /* A */
73/* 42 */ 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, /* B */
74/* 43 */ 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00, /* C */
75/* 44 */ 0x78, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0x78, 0x00, /* D */
76/* 45 */ 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, /* E */
77/* 46 */ 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x60, 0x00, /* F */
78/* 47 */ 0x3C, 0x66, 0x60, 0x6E, 0x66, 0x66, 0x3C, 0x00, /* G */
79/* 48 */ 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, /* H */
80/* 49 */ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, /* I */
81/* 4A */ 0x3E, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x38, 0x00, /* J */
82/* 4B */ 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00, /* K */
83/* 4C */ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00, /* L */
84/* 4D */ 0x63, 0x77, 0x7F, 0x6B, 0x6B, 0x63, 0x63, 0x00, /* M */
85/* 4E */ 0x66, 0x66, 0x76, 0x7E, 0x6E, 0x66, 0x66, 0x00, /* N */
86/* 4F */ 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, /* O */
87/* 50 */ 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x00, /* P */
88/* 51 */ 0x3C, 0x66, 0x66, 0x66, 0x6A, 0x6C, 0x36, 0x00, /* Q */
89/* 52 */ 0x7C, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x00, /* R */
90/* 53 */ 0x3C, 0x66, 0x60, 0x3C, 0x06, 0x66, 0x3C, 0x00, /* S */
91/* 54 */ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, /* T */
92/* 55 */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, /* U */
93/* 56 */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, /* V */
94/* 57 */ 0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x77, 0x63, 0x00, /* W */
95/* 58 */ 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00, /* X */
96/* 59 */ 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00, /* Y */
97/* 5A */ 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00, /* Z */
98/* 5B */ 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7C, 0x00, /* [ */
99/* 5C */ 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, /* \ */
100/* 5D */ 0x3E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3E, 0x00, /* ] */
101/* 5E */ 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ^ */
102/* 5F */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, /* _ */
103/* 60 */ 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ` */
104/* 61 */ 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00, /* a */
105/* 62 */ 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x00, /* b */
106/* 63 */ 0x00, 0x00, 0x3C, 0x66, 0x60, 0x66, 0x3C, 0x00, /* c */
107/* 64 */ 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x00, /* d */
108/* 65 */ 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, /* e */
109/* 66 */ 0x1C, 0x30, 0x30, 0x7C, 0x30, 0x30, 0x30, 0x00, /* f */
110/* 67 */ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x3C, /* g */
111/* 68 */ 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, /* h */
112/* 69 */ 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, /* i */
113/* 6A */ 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x70, /* j */
114/* 6B */ 0x60, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0x00, /* k */
115/* 6C */ 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, /* l */
116/* 6D */ 0x00, 0x00, 0x36, 0x7F, 0x6B, 0x6B, 0x63, 0x00, /* m */
117/* 6E */ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, /* n */
118/* 6F */ 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, /* o */
119/* 70 */ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, /* p */
120/* 71 */ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x07, /* q */
121/* 72 */ 0x00, 0x00, 0x6C, 0x76, 0x60, 0x60, 0x60, 0x00, /* r */
122/* 73 */ 0x00, 0x00, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x00, /* s */
123/* 74 */ 0x30, 0x30, 0x7C, 0x30, 0x30, 0x30, 0x1C, 0x00, /* t */
124/* 75 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3E, 0x00, /* u */
125/* 76 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, /* v */
126/* 77 */ 0x00, 0x00, 0x63, 0x6B, 0x6B, 0x7F, 0x36, 0x00, /* w */
127/* 78 */ 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, /* x */
128/* 79 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x06, 0x3C, /* y */
129/* 7A */ 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00, /* z */
130/* 7B */ 0x0C, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0C, 0x00, /* { */
131/* 7C */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, /* | */
132/* 7D */ 0x30, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x30, 0x00, /* } */
133/* 7E */ 0x31, 0x6B, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, /* ~ */
134/* 7F */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /*  */
135/* 80 */ 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x30, 0x60,
136/* 81 */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00,
137/* 82 */ 0x0c, 0x18, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
138/* 83 */ 0x18, 0x66, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
139/* 84 */ 0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
140/* 85 */ 0x30, 0x18, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
141/* 86 */ 0x3c, 0x66, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
142/* 87 */ 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x60,
143/* 88 */ 0x3c, 0x66, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
144/* 89 */ 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
145/* 8A */ 0x30, 0x18, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00,
146/* 8B */ 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
147/* 8C */ 0x3c, 0x66, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
148/* 8D */ 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
149/* 8E */ 0x66, 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x66, 0x00,
150/* 8F */ 0x18, 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x66, 0x00,
151/* 90 */ 0x0c, 0x18, 0x7e, 0x60, 0x7c, 0x60, 0x7e, 0x00,
152/* 91 */ 0x00, 0x00, 0x3f, 0x0d, 0x3f, 0x6c, 0x3f, 0x00,
153/* 92 */ 0x3f, 0x66, 0x66, 0x7f, 0x66, 0x66, 0x67, 0x00,
154/* 93 */ 0x3c, 0x66, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
155/* 94 */ 0x66, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
156/* 95 */ 0x30, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
157/* 96 */ 0x3c, 0x66, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
158/* 97 */ 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
159/* 98 */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x3c,
160/* 99 */ 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00,
161/* 9A */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00,
162/* 9B */ 0x08, 0x3e, 0x6b, 0x68, 0x6b, 0x3e, 0x08, 0x00,
163/* 9C */ 0x1c, 0x36, 0x30, 0x7c, 0x30, 0x30, 0x7e, 0x00,
164/* 9D */ 0x66, 0x3c, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00,
165/* 9E */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
166/* 9F */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
167/* A0 */ 0x0c, 0x18, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00,
168/* A1 */ 0x0c, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00,
169/* A2 */ 0x0c, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00,
170/* A3 */ 0x0c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00,
171/* A4 */ 0x36, 0x6c, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x00,
172/* A5 */ 0x36, 0x6c, 0x00, 0x66, 0x76, 0x6e, 0x66, 0x00,
173/* A6 */ 0x1c, 0x06, 0x1e, 0x36, 0x1e, 0x00, 0x3e, 0x00,
174/* A7 */ 0x1c, 0x36, 0x36, 0x36, 0x1c, 0x00, 0x3e, 0x00,
175/* A8 */ 0x18, 0x00, 0x18, 0x18, 0x30, 0x66, 0x3c, 0x00,
176/* A9 */ 0x7e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177/* AA */ 0x7e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178/* AB */ 0x40, 0xc0, 0x40, 0x4f, 0x41, 0x0f, 0x08, 0x0f,
179/* AC */ 0x40, 0xc0, 0x40, 0x48, 0x48, 0x0a, 0x0f, 0x02,
180/* AD */ 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
181/* AE */ 0x00, 0x33, 0x66, 0xcc, 0xcc, 0x66, 0x33, 0x00,
182/* AF */ 0x00, 0xcc, 0x66, 0x33, 0x33, 0x66, 0xcc, 0x00,
183/* B0 */ 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88,
184/* B1 */ 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
185/* B2 */ 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77,
186/* B3 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
187/* B4 */ 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18,
188/* B5 */ 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18,
189/* B6 */ 0x66, 0x66, 0x66, 0xe6, 0x66, 0x66, 0x66, 0x66,
190/* B7 */ 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0x66, 0x66,
191/* B8 */ 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18,
192/* B9 */ 0x66, 0x66, 0xe6, 0x06, 0xe6, 0x66, 0x66, 0x66,
193/* BA */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
194/* BB */ 0x00, 0x00, 0xfe, 0x06, 0xe6, 0x66, 0x66, 0x66,
195/* BC */ 0x66, 0x66, 0xe6, 0x06, 0xfe, 0x00, 0x00, 0x00,
196/* BD */ 0x66, 0x66, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
197/* BE */ 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00,
198/* BF */ 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18,
199/* C0 */ 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00,
200/* C1 */ 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00,
201/* C2 */ 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18,
202/* C3 */ 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
203/* C4 */ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
204/* C5 */ 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18,
205/* C6 */ 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18,
206/* C7 */ 0x66, 0x66, 0x66, 0x67, 0x66, 0x66, 0x66, 0x66,
207/* C8 */ 0x66, 0x66, 0x67, 0x60, 0x7f, 0x00, 0x00, 0x00,
208/* C9 */ 0x00, 0x00, 0x7f, 0x60, 0x67, 0x66, 0x66, 0x66,
209/* CA */ 0x66, 0x66, 0xe7, 0x00, 0xff, 0x00, 0x00, 0x00,
210/* CB */ 0x00, 0x00, 0xff, 0x00, 0xe7, 0x66, 0x66, 0x66,
211/* CC */ 0x66, 0x66, 0x67, 0x60, 0x67, 0x66, 0x66, 0x66,
212/* CD */ 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
213/* CE */ 0x66, 0x66, 0xe7, 0x00, 0xe7, 0x66, 0x66, 0x66,
214/* CF */ 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
215/* D0 */ 0x66, 0x66, 0x66, 0xff, 0x00, 0x00, 0x00, 0x00,
216/* D1 */ 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18,
217/* D2 */ 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0x66,
218/* D3 */ 0x66, 0x66, 0x66, 0x7f, 0x00, 0x00, 0x00, 0x00,
219/* D4 */ 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00,
220/* D5 */ 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18,
221/* D6 */ 0x00, 0x00, 0x00, 0x7f, 0x66, 0x66, 0x66, 0x66,
222/* D7 */ 0x66, 0x66, 0x66, 0xff, 0x66, 0x66, 0x66, 0x66,
223/* D8 */ 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18,
224/* D9 */ 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00,
225/* DA */ 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18,
226/* DB */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
227/* DC */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
228/* DD */ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
229/* DE */ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
230/* DF */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
231/* E0 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
232/* E1 */ 0x3c, 0x66, 0x66, 0x6c, 0x66, 0x66, 0x6c, 0xc0,
233/* E2 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
234/* E3 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
235/* E4 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
236/* E5 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
237/* E6 */ 0x00, 0x00, 0x33, 0x33, 0x33, 0x33, 0x3e, 0x60,
238/* E7 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
239/* E8 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
240/* E9 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
241/* EA */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
242/* EB */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
243/* EC */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
244/* ED */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
245/* EE */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
246/* EF */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
247/* F0 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
248/* F1 */ 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x7e, 0x00,
249/* F2 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
250/* F3 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
251/* F4 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
252/* F5 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
253/* F6 */ 0x00, 0x18, 0x00, 0xff, 0x00, 0x18, 0x00, 0x00,
254/* F7 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
255/* F8 */ 0x3c, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00,
256/* F9 */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
257/* FA */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
258/* FB */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
259/* FC */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
260/* FD */ 0x38, 0x04, 0x18, 0x20, 0x3c, 0x00, 0x00, 0x00,
261/* FE */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
262/* FF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
263};
264
265struct font_desc font_acorn_8x8 = {
266 ACORN8x8_IDX,
267 "Acorn8x8",
268 8,
269 8,
270 acorndata_8x8,
271#ifdef CONFIG_ARCH_ACORN
272 20
273#else
274 0
275#endif
276};
diff --git a/drivers/video/console/font_mini_4x6.c b/drivers/video/console/font_mini_4x6.c
new file mode 100644
index 000000000000..593b95500a0c
--- /dev/null
+++ b/drivers/video/console/font_mini_4x6.c
@@ -0,0 +1,2158 @@
1
2/* Hand composed "Miniscule" 4x6 font, with binary data generated using
3 * Perl stub.
4 *
5 * Use 'perl -x mini_4x6.c < mini_4x6.c > new_version.c' to regenerate
6 * binary data.
7 *
8 * Created by Kenneth Albanowski.
9 * No rights reserved, released to the public domain.
10 *
11 * Version 1.0
12 */
13
14/*
15
16#!/usr/bin/perl -pn
17
18s{((0x)?[0-9a-fA-F]+)(.*\[([\*\ ]{4})\])}{
19
20 ($num,$pat,$bits) = ($1,$3,$4);
21
22 $bits =~ s/([^\s0])|(.)/ defined($1) + 0 /ge;
23
24 $num = ord(pack("B8", $bits));
25 $num |= $num >> 4;
26 $num = sprintf("0x%.2x", $num);
27
28 #print "$num,$pat,$bits\n";
29
30 $num . $pat;
31}ge;
32
33__END__;
34*/
35
36/* Note: binary data consists of one byte for each row of each character top
37 to bottom, character 0 to character 255, six bytes per character. Each
38 byte contains the same four character bits in both nybbles.
39 MSBit to LSBit = left to right.
40 */
41
42#include <linux/font.h>
43
44#define FONTDATAMAX 1536
45
46static unsigned char fontdata_mini_4x6[FONTDATAMAX] = {
47
48 /*{*/
49 /* Char 0: ' ' */
50 0xee, /*= [*** ] */
51 0xee, /*= [*** ] */
52 0xee, /*= [*** ] */
53 0xee, /*= [*** ] */
54 0xee, /*= [*** ] */
55 0x00, /*= [ ] */
56 /*}*/
57 /*{*/
58 /* Char 1: ' ' */
59 0xee, /*= [*** ] */
60 0xee, /*= [*** ] */
61 0xee, /*= [*** ] */
62 0xee, /*= [*** ] */
63 0xee, /*= [*** ] */
64 0x00, /*= [ ] */
65 /*}*/
66 /*{*/
67 /* Char 2: ' ' */
68 0xee, /*= [*** ] */
69 0xee, /*= [*** ] */
70 0xee, /*= [*** ] */
71 0xee, /*= [*** ] */
72 0xee, /*= [*** ] */
73 0x00, /*= [ ] */
74 /*}*/
75 /*{*/
76 /* Char 3: ' ' */
77 0xee, /*= [*** ] */
78 0xee, /*= [*** ] */
79 0xee, /*= [*** ] */
80 0xee, /*= [*** ] */
81 0xee, /*= [*** ] */
82 0x00, /*= [ ] */
83 /*}*/
84 /*{*/
85 /* Char 4: ' ' */
86 0xee, /*= [*** ] */
87 0xee, /*= [*** ] */
88 0xee, /*= [*** ] */
89 0xee, /*= [*** ] */
90 0xee, /*= [*** ] */
91 0x00, /*= [ ] */
92 /*}*/
93 /*{*/
94 /* Char 5: ' ' */
95 0xee, /*= [*** ] */
96 0xee, /*= [*** ] */
97 0xee, /*= [*** ] */
98 0xee, /*= [*** ] */
99 0xee, /*= [*** ] */
100 0x00, /*= [ ] */
101 /*}*/
102 /*{*/
103 /* Char 6: ' ' */
104 0xee, /*= [*** ] */
105 0xee, /*= [*** ] */
106 0xee, /*= [*** ] */
107 0xee, /*= [*** ] */
108 0xee, /*= [*** ] */
109 0x00, /*= [ ] */
110 /*}*/
111 /*{*/
112 /* Char 7: ' ' */
113 0xee, /*= [*** ] */
114 0xee, /*= [*** ] */
115 0xee, /*= [*** ] */
116 0xee, /*= [*** ] */
117 0xee, /*= [*** ] */
118 0x00, /*= [ ] */
119 /*}*/
120 /*{*/
121 /* Char 8: ' ' */
122 0xee, /*= [*** ] */
123 0xee, /*= [*** ] */
124 0xee, /*= [*** ] */
125 0xee, /*= [*** ] */
126 0xee, /*= [*** ] */
127 0x00, /*= [ ] */
128 /*}*/
129 /*{*/
130 /* Char 9: ' ' */
131 0xee, /*= [*** ] */
132 0xee, /*= [*** ] */
133 0xee, /*= [*** ] */
134 0xee, /*= [*** ] */
135 0xee, /*= [*** ] */
136 0x00, /*= [ ] */
137 /*}*/
138 /*{*/
139 /* Char 10: '' */
140 0xee, /*= [*** ] */
141 0xee, /*= [*** ] */
142 0xee, /*= [*** ] */
143 0xee, /*= [*** ] */
144 0xee, /*= [*** ] */
145 0x00, /*= [ ] */
146 /*}*/
147 /*{*/
148 /* Char 11: ' ' */
149 0xee, /*= [*** ] */
150 0xee, /*= [*** ] */
151 0xee, /*= [*** ] */
152 0xee, /*= [*** ] */
153 0xee, /*= [*** ] */
154 0x00, /*= [ ] */
155 /*}*/
156 /*{*/
157 /* Char 12: ' ' */
158 0xee, /*= [*** ] */
159 0xee, /*= [*** ] */
160 0xee, /*= [*** ] */
161 0xee, /*= [*** ] */
162 0xee, /*= [*** ] */
163 0x00, /*= [ ] */
164 /*}*/
165 /*{*/
166 /* Char 13: ' ' */
167 0xee, /*= [*** ] */
168 0xee, /*= [*** ] */
169 0xee, /*= [*** ] */
170 0xee, /*= [*** ] */
171 0xee, /*= [*** ] */
172 0x00, /*= [ ] */
173 /*}*/
174 /*{*/
175 /* Char 14: ' ' */
176 0xee, /*= [*** ] */
177 0xee, /*= [*** ] */
178 0xee, /*= [*** ] */
179 0xee, /*= [*** ] */
180 0xee, /*= [*** ] */
181 0x00, /*= [ ] */
182 /*}*/
183 /*{*/
184 /* Char 15: ' ' */
185 0xee, /*= [*** ] */
186 0xee, /*= [*** ] */
187 0xee, /*= [*** ] */
188 0xee, /*= [*** ] */
189 0xee, /*= [*** ] */
190 0x00, /*= [ ] */
191 /*}*/
192 /*{*/
193 /* Char 16: ' ' */
194 0xee, /*= [*** ] */
195 0xee, /*= [*** ] */
196 0xee, /*= [*** ] */
197 0xee, /*= [*** ] */
198 0xee, /*= [*** ] */
199 0x00, /*= [ ] */
200 /*}*/
201 /*{*/
202 /* Char 17: ' ' */
203 0xee, /*= [*** ] */
204 0xee, /*= [*** ] */
205 0xee, /*= [*** ] */
206 0xee, /*= [*** ] */
207 0xee, /*= [*** ] */
208 0x00, /*= [ ] */
209 /*}*/
210 /*{*/
211 /* Char 18: ' ' */
212 0xee, /*= [*** ] */
213 0xee, /*= [*** ] */
214 0xee, /*= [*** ] */
215 0xee, /*= [*** ] */
216 0xee, /*= [*** ] */
217 0x00, /*= [ ] */
218 /*}*/
219 /*{*/
220 /* Char 19: ' ' */
221 0xee, /*= [*** ] */
222 0xee, /*= [*** ] */
223 0xee, /*= [*** ] */
224 0xee, /*= [*** ] */
225 0xee, /*= [*** ] */
226 0x00, /*= [ ] */
227 /*}*/
228 /*{*/
229 /* Char 20: ' ' */
230 0xee, /*= [*** ] */
231 0xee, /*= [*** ] */
232 0xee, /*= [*** ] */
233 0xee, /*= [*** ] */
234 0xee, /*= [*** ] */
235 0x00, /*= [ ] */
236 /*}*/
237 /*{*/
238 /* Char 21: ' ' */
239 0xee, /*= [*** ] */
240 0xee, /*= [*** ] */
241 0xee, /*= [*** ] */
242 0xee, /*= [*** ] */
243 0xee, /*= [*** ] */
244 0x00, /*= [ ] */
245 /*}*/
246 /*{*/
247 /* Char 22: ' ' */
248 0xee, /*= [*** ] */
249 0xee, /*= [*** ] */
250 0xee, /*= [*** ] */
251 0xee, /*= [*** ] */
252 0xee, /*= [*** ] */
253 0x00, /*= [ ] */
254 /*}*/
255 /*{*/
256 /* Char 23: ' ' */
257 0xee, /*= [*** ] */
258 0xee, /*= [*** ] */
259 0xee, /*= [*** ] */
260 0xee, /*= [*** ] */
261 0xee, /*= [*** ] */
262 0x00, /*= [ ] */
263 /*}*/
264 /*{*/
265 /* Char 24: ' ' */
266 0xee, /*= [*** ] */
267 0xee, /*= [*** ] */
268 0xee, /*= [*** ] */
269 0xee, /*= [*** ] */
270 0xee, /*= [*** ] */
271 0x00, /*= [ ] */
272 /*}*/
273 /*{*/
274 /* Char 25: ' ' */
275 0xee, /*= [*** ] */
276 0xee, /*= [*** ] */
277 0xee, /*= [*** ] */
278 0xee, /*= [*** ] */
279 0xee, /*= [*** ] */
280 0x00, /*= [ ] */
281 /*}*/
282 /*{*/
283 /* Char 26: ' ' */
284 0xee, /*= [*** ] */
285 0xee, /*= [*** ] */
286 0xee, /*= [*** ] */
287 0xee, /*= [*** ] */
288 0xee, /*= [*** ] */
289 0x00, /*= [ ] */
290 /*}*/
291 /*{*/
292 /* Char 27: ' ' */
293 0xee, /*= [*** ] */
294 0xee, /*= [*** ] */
295 0xee, /*= [*** ] */
296 0xee, /*= [*** ] */
297 0xee, /*= [*** ] */
298 0x00, /*= [ ] */
299 /*}*/
300 /*{*/
301 /* Char 28: ' ' */
302 0xee, /*= [*** ] */
303 0xee, /*= [*** ] */
304 0xee, /*= [*** ] */
305 0xee, /*= [*** ] */
306 0xee, /*= [*** ] */
307 0x00, /*= [ ] */
308 /*}*/
309 /*{*/
310 /* Char 29: ' ' */
311 0xee, /*= [*** ] */
312 0xee, /*= [*** ] */
313 0xee, /*= [*** ] */
314 0xee, /*= [*** ] */
315 0xee, /*= [*** ] */
316 0x00, /*= [ ] */
317 /*}*/
318 /*{*/
319 /* Char 30: ' ' */
320 0xee, /*= [*** ] */
321 0xee, /*= [*** ] */
322 0xee, /*= [*** ] */
323 0xee, /*= [*** ] */
324 0xee, /*= [*** ] */
325 0x00, /*= [ ] */
326 /*}*/
327 /*{*/
328 /* Char 31: ' ' */
329 0xee, /*= [*** ] */
330 0xee, /*= [*** ] */
331 0xee, /*= [*** ] */
332 0xee, /*= [*** ] */
333 0xee, /*= [*** ] */
334 0x00, /*= [ ] */
335 /*}*/
336 /*{*/
337 /* Char 32: ' ' */
338 0x00, /*= [ ] */
339 0x00, /*= [ ] */
340 0x00, /*= [ ] */
341 0x00, /*= [ ] */
342 0x00, /*= [ ] */
343 0x00, /*= [ ] */
344 /*}*/
345 /*{*/
346 /* Char 33: '!' */
347 0x44, /*= [ * ] */
348 0x44, /*= [ * ] */
349 0x44, /*= [ * ] */
350 0x00, /*= [ ] */
351 0x44, /*= [ * ] */
352 0x00, /*= [ ] */
353 /*}*/
354 /*{*/
355 /* Char 34: '"' */
356 0xaa, /*= [* * ] */
357 0xaa, /*= [* * ] */
358 0x00, /*= [ ] */
359 0x00, /*= [ ] */
360 0x00, /*= [ ] */
361 0x00, /*= [ ] */
362 /*}*/
363 /*{*/
364 /* Char 35: '#' */
365 0xaa, /*= [* * ] */
366 0xff, /*= [****] */
367 0xff, /*= [****] */
368 0xaa, /*= [* * ] */
369 0x00, /*= [ ] */
370 0x00, /*= [ ] */
371 /*}*/
372 /*{*/
373 /* Char 36: '$' */
374 0x44, /*= [ * ] */
375 0x66, /*= [ ** ] */
376 0xee, /*= [*** ] */
377 0xcc, /*= [** ] */
378 0x44, /*= [ * ] */
379 0x00, /*= [ ] */
380 /*}*/
381 /*{*/
382 /* Char 37: '%' */
383 0xaa, /*= [* * ] */
384 0x22, /*= [ * ] */
385 0x44, /*= [ * ] */
386 0x88, /*= [* ] */
387 0xaa, /*= [* * ] */
388 0x00, /*= [ ] */
389 /*}*/
390 /*{*/
391 /* Char 38: '&' */
392 0x66, /*= [ ** ] */
393 0x99, /*= [* *] */
394 0x66, /*= [ ** ] */
395 0xaa, /*= [* * ] */
396 0xdd, /*= [** *] */
397 0x00, /*= [ ] */
398 /*}*/
399 /*{*/
400 /* Char 39: ''' */
401 0x22, /*= [ * ] */
402 0x44, /*= [ * ] */
403 0x00, /*= [ ] */
404 0x00, /*= [ ] */
405 0x00, /*= [ ] */
406 0x00, /*= [ ] */
407 /*}*/
408 /*{*/
409 /* Char 40: '(' */
410 0x22, /*= [ * ] */
411 0x44, /*= [ * ] */
412 0x44, /*= [ * ] */
413 0x44, /*= [ * ] */
414 0x22, /*= [ * ] */
415 0x00, /*= [ ] */
416 /*}*/
417 /*{*/
418 /* Char 41: ')' */
419 0x44, /*= [ * ] */
420 0x22, /*= [ * ] */
421 0x22, /*= [ * ] */
422 0x22, /*= [ * ] */
423 0x44, /*= [ * ] */
424 0x00, /*= [ ] */
425 /*}*/
426 /*{*/
427 /* Char 42: '*' */
428 0x00, /*= [ ] */
429 0xee, /*= [*** ] */
430 0xee, /*= [*** ] */
431 0xee, /*= [*** ] */
432 0x00, /*= [ ] */
433 0x00, /*= [ ] */
434 /*}*/
435 /*{*/
436 /* Char 43: '+' */
437 0x00, /*= [ ] */
438 0x44, /*= [ * ] */
439 0xee, /*= [*** ] */
440 0x44, /*= [ * ] */
441 0x00, /*= [ ] */
442 0x00, /*= [ ] */
443 /*}*/
444 /*{*/
445 /* Char 44: ',' */
446 0x00, /*= [ ] */
447 0x00, /*= [ ] */
448 0x00, /*= [ ] */
449 0x44, /*= [ * ] */
450 0x88, /*= [* ] */
451 0x00, /*= [ ] */
452 /*}*/
453 /*{*/
454 /* Char 45: '-' */
455 0x00, /*= [ ] */
456 0x00, /*= [ ] */
457 0xee, /*= [*** ] */
458 0x00, /*= [ ] */
459 0x00, /*= [ ] */
460 0x00, /*= [ ] */
461 /*}*/
462 /*{*/
463 /* Char 46: '.' */
464 0x00, /*= [ ] */
465 0x00, /*= [ ] */
466 0x00, /*= [ ] */
467 0x00, /*= [ ] */
468 0x44, /*= [ * ] */
469 0x00, /*= [ ] */
470 /*}*/
471 /*{*/
472 /* Char 47: '/' */
473 0x00, /*= [ ] */
474 0x22, /*= [ * ] */
475 0x44, /*= [ * ] */
476 0x88, /*= [* ] */
477 0x00, /*= [ ] */
478 0x00, /*= [ ] */
479 /*}*/
480 /*{*/
481 /* Char 48: '0' */
482 0x44, /*= [ * ] */
483 0xaa, /*= [* * ] */
484 0xaa, /*= [* * ] */
485 0xaa, /*= [* * ] */
486 0x44, /*= [ * ] */
487 0x00, /*= [ ] */
488 /*}*/
489 /*{*/
490 /* Char 49: '1' */
491 0x44, /*= [ * ] */
492 0xcc, /*= [** ] */
493 0x44, /*= [ * ] */
494 0x44, /*= [ * ] */
495 0xee, /*= [*** ] */
496 0x00, /*= [ ] */
497 /*}*/
498 /*{*/
499 /* Char 50: '2' */
500 0xcc, /*= [** ] */
501 0x22, /*= [ * ] */
502 0x44, /*= [ * ] */
503 0x88, /*= [* ] */
504 0xee, /*= [*** ] */
505 0x00, /*= [ ] */
506 /*}*/
507 /*{*/
508 /* Char 51: '3' */
509 0xee, /*= [*** ] */
510 0x22, /*= [ * ] */
511 0x66, /*= [ ** ] */
512 0x22, /*= [ * ] */
513 0xee, /*= [*** ] */
514 0x00, /*= [ ] */
515 /*}*/
516 /*{*/ /* Char 52: '4' */
517 0xaa, /*= [* * ] */
518 0xaa, /*= [* * ] */
519 0xee, /*= [*** ] */
520 0x22, /*= [ * ] */
521 0x22, /*= [ * ] */
522 0x00, /*= [ ] */
523 /*}*/
524 /*{*/ /* Char 53: '5' */
525 0xee, /*= [*** ] */
526 0x88, /*= [* ] */
527 0xee, /*= [*** ] */
528 0x22, /*= [ * ] */
529 0xee, /*= [*** ] */
530 0x00, /*= [ ] */
531 /*}*/
532 /*{*/ /* Char 54: '6' */
533 0xee, /*= [*** ] */
534 0x88, /*= [* ] */
535 0xee, /*= [*** ] */
536 0xaa, /*= [* * ] */
537 0xee, /*= [*** ] */
538 0x00, /*= [ ] */
539 /*}*/
540 /*{*/ /* Char 55: '7' */
541 0xee, /*= [*** ] */
542 0x22, /*= [ * ] */
543 0x22, /*= [ * ] */
544 0x22, /*= [ * ] */
545 0x22, /*= [ * ] */
546 0x00, /*= [ ] */
547 /*}*/
548 /*{*/ /* Char 56: '8' */
549 0xee, /*= [*** ] */
550 0xaa, /*= [* * ] */
551 0xee, /*= [*** ] */
552 0xaa, /*= [* * ] */
553 0xee, /*= [*** ] */
554 0x00, /*= [ ] */
555 /*}*/
556 /*{*/ /* Char 57: '9' */
557 0xee, /*= [*** ] */
558 0xaa, /*= [* * ] */
559 0xee, /*= [*** ] */
560 0x22, /*= [ * ] */
561 0x22, /*= [ * ] */
562 0x00, /*= [ ] */
563 /*}*/
564 /*{*/ /* Char 58: ':' */
565 0x00, /*= [ ] */
566 0x00, /*= [ ] */
567 0x44, /*= [ * ] */
568 0x00, /*= [ ] */
569 0x44, /*= [ * ] */
570 0x00, /*= [ ] */
571 /*}*/
572 /*{*/ /* Char 59: ';' */
573 0x00, /*= [ ] */
574 0x00, /*= [ ] */
575 0x44, /*= [ * ] */
576 0x00, /*= [ ] */
577 0x44, /*= [ * ] */
578 0x88, /*= [* ] */
579 /*}*/
580 /*{*/ /* Char 60: '<' */
581 0x22, /*= [ * ] */
582 0x44, /*= [ * ] */
583 0x88, /*= [* ] */
584 0x44, /*= [ * ] */
585 0x22, /*= [ * ] */
586 0x00, /*= [ ] */
587 /*}*/
588 /*{*/ /* Char 61: '=' */
589 0x00, /*= [ ] */
590 0xee, /*= [*** ] */
591 0x00, /*= [ ] */
592 0xee, /*= [*** ] */
593 0x00, /*= [ ] */
594 0x00, /*= [ ] */
595 /*}*/
596 /*{*/ /* Char 62: '>' */
597 0x88, /*= [* ] */
598 0x44, /*= [ * ] */
599 0x22, /*= [ * ] */
600 0x44, /*= [ * ] */
601 0x88, /*= [* ] */
602 0x00, /*= [ ] */
603 /*}*/
604 /*{*/ /* Char 63: '?' */
605 0xee, /*= [*** ] */
606 0x22, /*= [ * ] */
607 0x66, /*= [ ** ] */
608 0x00, /*= [ ] */
609 0x44, /*= [ * ] */
610 0x00, /*= [ ] */
611 /*}*/
612 /*{*/ /* Char 64: '@' */
613 0x44, /*= [ * ] */
614 0xee, /*= [*** ] */
615 0xee, /*= [*** ] */
616 0x88, /*= [* ] */
617 0x44, /*= [ * ] */
618 0x00, /*= [ ] */
619 /*}*/
620 /*{*/ /* Char 65: 'A' */
621 0x44, /*= [ * ] */
622 0xaa, /*= [* * ] */
623 0xee, /*= [*** ] */
624 0xaa, /*= [* * ] */
625 0xaa, /*= [* * ] */
626 0x00, /*= [ ] */
627 /*}*/
628 /*{*/ /* Char 66: 'B' */
629 0xcc, /*= [** ] */
630 0xaa, /*= [* * ] */
631 0xcc, /*= [** ] */
632 0xaa, /*= [* * ] */
633 0xcc, /*= [** ] */
634 0x00, /*= [ ] */
635 /*}*/
636 /*{*/ /* Char 67: 'C' */
637 0x66, /*= [ ** ] */
638 0x88, /*= [* ] */
639 0x88, /*= [* ] */
640 0x88, /*= [* ] */
641 0x66, /*= [ ** ] */
642 0x00, /*= [ ] */
643 /*}*/
644 /*{*/ /* Char 68: 'D' */
645 0xcc, /*= [** ] */
646 0xaa, /*= [* * ] */
647 0xaa, /*= [* * ] */
648 0xaa, /*= [* * ] */
649 0xcc, /*= [** ] */
650 0x00, /*= [ ] */
651 /*}*/
652 /*{*/ /* Char 69: 'E' */
653 0xee, /*= [*** ] */
654 0x88, /*= [* ] */
655 0xee, /*= [*** ] */
656 0x88, /*= [* ] */
657 0xee, /*= [*** ] */
658 0x00, /*= [ ] */
659 /*}*/
660 /*{*/ /* Char 70: 'F' */
661 0xee, /*= [*** ] */
662 0x88, /*= [* ] */
663 0xee, /*= [*** ] */
664 0x88, /*= [* ] */
665 0x88, /*= [* ] */
666 0x00, /*= [ ] */
667 /*}*/
668 /*{*/ /* Char 71: 'G' */
669 0x66, /*= [ ** ] */
670 0x88, /*= [* ] */
671 0xee, /*= [*** ] */
672 0xaa, /*= [* * ] */
673 0x66, /*= [ ** ] */
674 0x00, /*= [ ] */
675 /*}*/
676 /*{*/ /* Char 72: 'H' */
677 0xaa, /*= [* * ] */
678 0xaa, /*= [* * ] */
679 0xee, /*= [*** ] */
680 0xaa, /*= [* * ] */
681 0xaa, /*= [* * ] */
682 0x00, /*= [ ] */
683 /*}*/
684 /*{*/ /* Char 73: 'I' */
685 0xee, /*= [*** ] */
686 0x44, /*= [ * ] */
687 0x44, /*= [ * ] */
688 0x44, /*= [ * ] */
689 0xee, /*= [*** ] */
690 0x00, /*= [ ] */
691 /*}*/
692 /*{*/ /* Char 74: 'J' */
693 0x22, /*= [ * ] */
694 0x22, /*= [ * ] */
695 0x22, /*= [ * ] */
696 0xaa, /*= [* * ] */
697 0x44, /*= [ * ] */
698 0x00, /*= [ ] */
699 /*}*/
700 /*{*/ /* Char 75: 'K' */
701 0xaa, /*= [* * ] */
702 0xaa, /*= [* * ] */
703 0xcc, /*= [** ] */
704 0xaa, /*= [* * ] */
705 0xaa, /*= [* * ] */
706 0x00, /*= [ ] */
707 /*}*/
708 /*{*/ /* Char 76: 'L' */
709 0x88, /*= [* ] */
710 0x88, /*= [* ] */
711 0x88, /*= [* ] */
712 0x88, /*= [* ] */
713 0xee, /*= [*** ] */
714 0x00, /*= [ ] */
715 /*}*/
716 /*{*/ /* Char 77: 'M' */
717 0xaa, /*= [* * ] */
718 0xee, /*= [*** ] */
719 0xee, /*= [*** ] */
720 0xaa, /*= [* * ] */
721 0xaa, /*= [* * ] */
722 0x00, /*= [ ] */
723 /*}*/
724 /*{*/ /* Char 78: 'N' */
725 0xaa, /*= [* * ] */
726 0xee, /*= [*** ] */
727 0xee, /*= [*** ] */
728 0xee, /*= [*** ] */
729 0xaa, /*= [* * ] */
730 0x00, /*= [ ] */
731 /*}*/
732 /*{*/ /* Char 79: 'O' */
733 0x44, /*= [ * ] */
734 0xaa, /*= [* * ] */
735 0xaa, /*= [* * ] */
736 0xaa, /*= [* * ] */
737 0x44, /*= [ * ] */
738 0x00, /*= [ ] */
739 /*}*/
740 /*{*/ /* Char 80: 'P' */
741 0xcc, /*= [** ] */
742 0xaa, /*= [* * ] */
743 0xcc, /*= [** ] */
744 0x88, /*= [* ] */
745 0x88, /*= [* ] */
746 0x00, /*= [ ] */
747 /*}*/
748 /*{*/ /* Char 81: 'Q' */
749 0x44, /*= [ * ] */
750 0xaa, /*= [* * ] */
751 0xaa, /*= [* * ] */
752 0xee, /*= [*** ] */
753 0x66, /*= [ ** ] */
754 0x00, /*= [ ] */
755 /*}*/
756 /*{*/ /* Char 82: 'R' */
757 0xcc, /*= [** ] */
758 0xaa, /*= [* * ] */
759 0xee, /*= [*** ] */
760 0xcc, /*= [** ] */
761 0xaa, /*= [* * ] */
762 0x00, /*= [ ] */
763 /*}*/
764 /*{*/ /* Char 83: 'S' */
765 0x66, /*= [ ** ] */
766 0x88, /*= [* ] */
767 0x44, /*= [ * ] */
768 0x22, /*= [ * ] */
769 0xcc, /*= [** ] */
770 0x00, /*= [ ] */
771 /*}*/
772 /*{*/ /* Char 84: 'T' */
773 0xee, /*= [*** ] */
774 0x44, /*= [ * ] */
775 0x44, /*= [ * ] */
776 0x44, /*= [ * ] */
777 0x44, /*= [ * ] */
778 0x00, /*= [ ] */
779 /*}*/
780 /*{*/ /* Char 85: 'U' */
781 0xaa, /*= [* * ] */
782 0xaa, /*= [* * ] */
783 0xaa, /*= [* * ] */
784 0xaa, /*= [* * ] */
785 0x66, /*= [ ** ] */
786 0x00, /*= [ ] */
787 /*}*/
788 /*{*/ /* Char 86: 'V' */
789 0xaa, /*= [* * ] */
790 0xaa, /*= [* * ] */
791 0xaa, /*= [* * ] */
792 0x44, /*= [ * ] */
793 0x44, /*= [ * ] */
794 0x00, /*= [ ] */
795 /*}*/
796 /*{*/ /* Char 87: 'W' */
797 0xaa, /*= [* * ] */
798 0xaa, /*= [* * ] */
799 0xee, /*= [*** ] */
800 0xee, /*= [*** ] */
801 0xaa, /*= [* * ] */
802 0x00, /*= [ ] */
803 /*}*/
804 /*{*/ /* Char 88: 'X' */
805 0xaa, /*= [* * ] */
806 0xaa, /*= [* * ] */
807 0x44, /*= [ * ] */
808 0xaa, /*= [* * ] */
809 0xaa, /*= [* * ] */
810 0x00, /*= [ ] */
811 /*}*/
812 /*{*/ /* Char 89: 'Y' */
813 0xaa, /*= [* * ] */
814 0xaa, /*= [* * ] */
815 0x44, /*= [ * ] */
816 0x44, /*= [ * ] */
817 0x44, /*= [ * ] */
818 0x00, /*= [ ] */
819 /*}*/
820 /*{*/ /* Char 90: 'Z' */
821 0xee, /*= [*** ] */
822 0x22, /*= [ * ] */
823 0x44, /*= [ * ] */
824 0x88, /*= [* ] */
825 0xee, /*= [*** ] */
826 0x00, /*= [ ] */
827 /*}*/
828 /*{*/ /* Char 91: '[' */
829 0x66, /*= [ ** ] */
830 0x44, /*= [ * ] */
831 0x44, /*= [ * ] */
832 0x44, /*= [ * ] */
833 0x66, /*= [ ** ] */
834 0x00, /*= [ ] */
835 /*}*/
836 /*{*/ /* Char 92: '\' */
837 0x00, /*= [ ] */
838 0x88, /*= [* ] */
839 0x44, /*= [ * ] */
840 0x22, /*= [ * ] */
841 0x00, /*= [ ] */
842 0x00, /*= [ ] */
843 /*}*/
844 /*{*/ /* Char 93: ']' */
845 0x66, /*= [ ** ] */
846 0x22, /*= [ * ] */
847 0x22, /*= [ * ] */
848 0x22, /*= [ * ] */
849 0x66, /*= [ ** ] */
850 0x00, /*= [ ] */
851 /*}*/
852 /*{*/ /* Char 94: '^' */
853 0x44, /*= [ * ] */
854 0xaa, /*= [* * ] */
855 0x00, /*= [ ] */
856 0x00, /*= [ ] */
857 0x00, /*= [ ] */
858 0x00, /*= [ ] */
859 /*}*/
860 /*{*/ /* Char 95: '_' */
861 0x00, /*= [ ] */
862 0x00, /*= [ ] */
863 0x00, /*= [ ] */
864 0x00, /*= [ ] */
865 0x00, /*= [ ] */
866 0xff, /*= [****] */
867 /*}*/
868 /*{*/ /* Char 96: '`' */
869 0x88, /*= [* ] */
870 0x44, /*= [ * ] */
871 0x00, /*= [ ] */
872 0x00, /*= [ ] */
873 0x00, /*= [ ] */
874 0x00, /*= [ ] */
875 /*}*/
876 /*{*/ /* Char 97: 'a' */
877 0x00, /*= [ ] */
878 0x00, /*= [ ] */
879 0x66, /*= [ ** ] */
880 0xaa, /*= [* * ] */
881 0xee, /*= [*** ] */
882 0x00, /*= [ ] */
883 /*}*/
884 /*{*/ /* Char 98: 'b' */
885 0x88, /*= [* ] */
886 0x88, /*= [* ] */
887 0xcc, /*= [** ] */
888 0xaa, /*= [* * ] */
889 0xcc, /*= [** ] */
890 0x00, /*= [ ] */
891 /*}*/
892 /*{*/ /* Char 99: 'c' */
893 0x00, /*= [ ] */
894 0x00, /*= [ ] */
895 0x66, /*= [ ** ] */
896 0x88, /*= [* ] */
897 0x66, /*= [ ** ] */
898 0x00, /*= [ ] */
899 /*}*/
900 /*{*/ /* Char 100: 'd' */
901 0x22, /*= [ * ] */
902 0x22, /*= [ * ] */
903 0x66, /*= [ ** ] */
904 0xaa, /*= [* * ] */
905 0x66, /*= [ ** ] */
906 0x00, /*= [ ] */
907 /*}*/
908 /*{*/ /* Char 101: 'e' */
909 0x00, /*= [ ] */
910 0xee, /*= [*** ] */
911 0xee, /*= [*** ] */
912 0x88, /*= [* ] */
913 0x66, /*= [ ** ] */
914 0x00, /*= [ ] */
915 /*}*/
916 /*{*/ /* Char 102: 'f' */
917 0x22, /*= [ * ] */
918 0x44, /*= [ * ] */
919 0xee, /*= [*** ] */
920 0x44, /*= [ * ] */
921 0x44, /*= [ * ] */
922 0x00, /*= [ ] */
923 /*}*/
924 /*{*/ /* Char 103: 'g' */
925 0x00, /*= [ ] */
926 0x66, /*= [ ** ] */
927 0xaa, /*= [* * ] */
928 0x66, /*= [ ** ] */
929 0xee, /*= [*** ] */
930 0x00, /*= [ ] */
931 /*}*/
932 /*{*/ /* Char 104: 'h' */
933 0x88, /*= [* ] */
934 0x88, /*= [* ] */
935 0xcc, /*= [** ] */
936 0xaa, /*= [* * ] */
937 0xaa, /*= [* * ] */
938 0x00, /*= [ ] */
939 /*}*/
940 /*{*/ /* Char 105: 'i' */
941 0x44, /*= [ * ] */
942 0x00, /*= [ ] */
943 0x44, /*= [ * ] */
944 0x44, /*= [ * ] */
945 0x44, /*= [ * ] */
946 0x00, /*= [ ] */
947 /*}*/
948 /*{*/ /* Char 106: 'j' */
949 0x44, /*= [ * ] */
950 0x00, /*= [ ] */
951 0x44, /*= [ * ] */
952 0x44, /*= [ * ] */
953 0x88, /*= [* ] */
954 0x00, /*= [ ] */
955 /*}*/
956 /*{*/ /* Char 107: 'k' */
957 0x00, /*= [ ] */
958 0x88, /*= [* ] */
959 0xaa, /*= [* * ] */
960 0xcc, /*= [** ] */
961 0xaa, /*= [* * ] */
962 0x00, /*= [ ] */
963 /*}*/
964 /*{*/ /* Char 108: 'l' */
965 0x00, /*= [ ] */
966 0xcc, /*= [** ] */
967 0x44, /*= [ * ] */
968 0x44, /*= [ * ] */
969 0xee, /*= [*** ] */
970 0x00, /*= [ ] */
971 /*}*/
972 /*{*/ /* Char 109: 'm' */
973 0x00, /*= [ ] */
974 0x00, /*= [ ] */
975 0xee, /*= [*** ] */
976 0xee, /*= [*** ] */
977 0xaa, /*= [* * ] */
978 0x00, /*= [ ] */
979 /*}*/
980 /*{*/ /* Char 110: 'n' */
981 0x00, /*= [ ] */
982 0x00, /*= [ ] */
983 0xcc, /*= [** ] */
984 0xaa, /*= [* * ] */
985 0xaa, /*= [* * ] */
986 0x00, /*= [ ] */
987 /*}*/
988 /*{*/ /* Char 111: 'o' */
989 0x00, /*= [ ] */
990 0x44, /*= [ * ] */
991 0xaa, /*= [* * ] */
992 0xaa, /*= [* * ] */
993 0x44, /*= [ * ] */
994 0x00, /*= [ ] */
995 /*}*/
996 /*{*/ /* Char 112: 'p' */
997 0x00, /*= [ ] */
998 0x00, /*= [ ] */
999 0xcc, /*= [** ] */
1000 0xaa, /*= [* * ] */
1001 0xcc, /*= [** ] */
1002 0x88, /*= [* ] */
1003 /*}*/
1004 /*{*/ /* Char 113: 'q' */
1005 0x00, /*= [ ] */
1006 0x00, /*= [ ] */
1007 0x66, /*= [ ** ] */
1008 0xaa, /*= [* * ] */
1009 0x66, /*= [ ** ] */
1010 0x22, /*= [ * ] */
1011 /*}*/
1012 /*{*/ /* Char 114: 'r' */
1013 0x00, /*= [ ] */
1014 0xcc, /*= [** ] */
1015 0xaa, /*= [* * ] */
1016 0x88, /*= [* ] */
1017 0x88, /*= [* ] */
1018 0x00, /*= [ ] */
1019 /*}*/
1020 /*{*/ /* Char 115: 's' */
1021 0x00, /*= [ ] */
1022 0x66, /*= [ ** ] */
1023 0xcc, /*= [** ] */
1024 0x22, /*= [ * ] */
1025 0xcc, /*= [** ] */
1026 0x00, /*= [ ] */
1027 /*}*/
1028 /*{*/ /* Char 116: 't' */
1029 0x00, /*= [ ] */
1030 0x44, /*= [ * ] */
1031 0xee, /*= [*** ] */
1032 0x44, /*= [ * ] */
1033 0x44, /*= [ * ] */
1034 0x00, /*= [ ] */
1035 /*}*/
1036 /*{*/ /* Char 117: 'u' */
1037 0x00, /*= [ ] */
1038 0x00, /*= [ ] */
1039 0xaa, /*= [* * ] */
1040 0xaa, /*= [* * ] */
1041 0x66, /*= [ ** ] */
1042 0x00, /*= [ ] */
1043 /*}*/
1044 /*{*/ /* Char 118: 'v' */
1045 0x00, /*= [ ] */
1046 0x00, /*= [ ] */
1047 0xaa, /*= [* * ] */
1048 0xee, /*= [*** ] */
1049 0x44, /*= [ * ] */
1050 0x00, /*= [ ] */
1051 /*}*/
1052 /*{*/ /* Char 119: 'w' */
1053 0x00, /*= [ ] */
1054 0x00, /*= [ ] */
1055 0xaa, /*= [* * ] */
1056 0xee, /*= [*** ] */
1057 0xee, /*= [*** ] */
1058 0x00, /*= [ ] */
1059 /*}*/
1060 /*{*/ /* Char 120: 'x' */
1061 0x00, /*= [ ] */
1062 0x00, /*= [ ] */
1063 0xaa, /*= [* * ] */
1064 0x44, /*= [ * ] */
1065 0xaa, /*= [* * ] */
1066 0x00, /*= [ ] */
1067 /*}*/
1068 /*{*/ /* Char 121: 'y' */
1069 0x00, /*= [ ] */
1070 0x00, /*= [ ] */
1071 0xaa, /*= [* * ] */
1072 0xee, /*= [*** ] */
1073 0x22, /*= [ * ] */
1074 0xcc, /*= [** ] */
1075 /*}*/
1076 /*{*/ /* Char 122: 'z' */
1077 0x00, /*= [ ] */
1078 0xee, /*= [*** ] */
1079 0x66, /*= [ ** ] */
1080 0xcc, /*= [** ] */
1081 0xee, /*= [*** ] */
1082 0x00, /*= [ ] */
1083 /*}*/
1084 /*{*/ /* Char 123: '{' */
1085 0x22, /*= [ * ] */
1086 0x44, /*= [ * ] */
1087 0xcc, /*= [** ] */
1088 0x44, /*= [ * ] */
1089 0x22, /*= [ * ] */
1090 0x00, /*= [ ] */
1091 /*}*/
1092 /*{*/ /* Char 124: '|' */
1093 0x44, /*= [ * ] */
1094 0x44, /*= [ * ] */
1095 0x00, /*= [ ] */
1096 0x44, /*= [ * ] */
1097 0x44, /*= [ * ] */
1098 0x00, /*= [ ] */
1099 /*}*/
1100 /*{*/ /* Char 125: '}' */
1101 0x88, /*= [* ] */
1102 0x44, /*= [ * ] */
1103 0x66, /*= [ ** ] */
1104 0x44, /*= [ * ] */
1105 0x88, /*= [* ] */
1106 0x00, /*= [ ] */
1107 /*}*/
1108 /*{*/ /* Char 126: '~' */
1109 0x55, /*= [ * *] */
1110 0xaa, /*= [* * ] */
1111 0x00, /*= [ ] */
1112 0x00, /*= [ ] */
1113 0x00, /*= [ ] */
1114 0x00, /*= [ ] */
1115 /*}*/
1116 /*{*/ /* Char 127: '' */
1117 0x44, /*= [ * ] */
1118 0xaa, /*= [* * ] */
1119 0xaa, /*= [* * ] */
1120 0xee, /*= [*** ] */
1121 0x00, /*= [ ] */
1122 0x00, /*= [ ] */
1123 /*}*/
1124 /*{*/ /* Char 128: */
1125 0xee, /*= [*** ] */
1126 0xee, /*= [*** ] */
1127 0xee, /*= [*** ] */
1128 0xee, /*= [*** ] */
1129 0xee, /*= [*** ] */
1130 0x00, /*= [ ] */
1131 /*}*/
1132 /*{*/ /* Char 129: */
1133 0xee, /*= [*** ] */
1134 0xee, /*= [*** ] */
1135 0xee, /*= [*** ] */
1136 0xee, /*= [*** ] */
1137 0xee, /*= [*** ] */
1138 0x00, /*= [ ] */
1139 /*}*/
1140 /*{*/ /* Char 130: */
1141 0xee, /*= [*** ] */
1142 0xee, /*= [*** ] */
1143 0xee, /*= [*** ] */
1144 0xee, /*= [*** ] */
1145 0xee, /*= [*** ] */
1146 0x00, /*= [ ] */
1147 /*}*/
1148 /*{*/ /* Char 131: */
1149 0xee, /*= [*** ] */
1150 0xee, /*= [*** ] */
1151 0xee, /*= [*** ] */
1152 0xee, /*= [*** ] */
1153 0xee, /*= [*** ] */
1154 0x00, /*= [ ] */
1155 /*}*/
1156 /*{*/ /* Char 132: */
1157 0xee, /*= [*** ] */
1158 0xee, /*= [*** ] */
1159 0xee, /*= [*** ] */
1160 0xee, /*= [*** ] */
1161 0xee, /*= [*** ] */
1162 0x00, /*= [ ] */
1163 /*}*/
1164 /*{*/ /* Char 133: */
1165 0xee, /*= [*** ] */
1166 0xee, /*= [*** ] */
1167 0xee, /*= [*** ] */
1168 0xee, /*= [*** ] */
1169 0xee, /*= [*** ] */
1170 0x00, /*= [ ] */
1171 /*}*/
1172 /*{*/ /* Char 134: */
1173 0xee, /*= [*** ] */
1174 0xee, /*= [*** ] */
1175 0xee, /*= [*** ] */
1176 0xee, /*= [*** ] */
1177 0xee, /*= [*** ] */
1178 0x00, /*= [ ] */
1179 /*}*/
1180 /*{*/ /* Char 135: */
1181 0xee, /*= [*** ] */
1182 0xee, /*= [*** ] */
1183 0xee, /*= [*** ] */
1184 0xee, /*= [*** ] */
1185 0xee, /*= [*** ] */
1186 0x00, /*= [ ] */
1187 /*}*/
1188 /*{*/ /* Char 136: */
1189 0xee, /*= [*** ] */
1190 0xee, /*= [*** ] */
1191 0xee, /*= [*** ] */
1192 0xee, /*= [*** ] */
1193 0xee, /*= [*** ] */
1194 0x00, /*= [ ] */
1195 /*}*/
1196 /*{*/ /* Char 137: */
1197 0xee, /*= [*** ] */
1198 0xee, /*= [*** ] */
1199 0xee, /*= [*** ] */
1200 0xee, /*= [*** ] */
1201 0xee, /*= [*** ] */
1202 0x00, /*= [ ] */
1203 /*}*/
1204 /*{*/ /* Char 138: */
1205 0xee, /*= [*** ] */
1206 0xee, /*= [*** ] */
1207 0xee, /*= [*** ] */
1208 0xee, /*= [*** ] */
1209 0xee, /*= [*** ] */
1210 0x00, /*= [ ] */
1211 /*}*/
1212 /*{*/ /* Char 139: */
1213 0xee, /*= [*** ] */
1214 0xee, /*= [*** ] */
1215 0xee, /*= [*** ] */
1216 0xee, /*= [*** ] */
1217 0xee, /*= [*** ] */
1218 0x00, /*= [ ] */
1219 /*}*/
1220 /*{*/ /* Char 140: */
1221 0xee, /*= [*** ] */
1222 0xee, /*= [*** ] */
1223 0xee, /*= [*** ] */
1224 0xee, /*= [*** ] */
1225 0xee, /*= [*** ] */
1226 0x00, /*= [ ] */
1227 /*}*/
1228 /*{*/ /* Char 141: */
1229 0xee, /*= [*** ] */
1230 0xee, /*= [*** ] */
1231 0xee, /*= [*** ] */
1232 0xee, /*= [*** ] */
1233 0xee, /*= [*** ] */
1234 0x00, /*= [ ] */
1235 /*}*/
1236 /*{*/ /* Char 142: */
1237 0xee, /*= [*** ] */
1238 0xee, /*= [*** ] */
1239 0xee, /*= [*** ] */
1240 0xee, /*= [*** ] */
1241 0xee, /*= [*** ] */
1242 0x00, /*= [ ] */
1243 /*}*/
1244 /*{*/ /* Char 143: */
1245 0xee, /*= [*** ] */
1246 0xee, /*= [*** ] */
1247 0xee, /*= [*** ] */
1248 0xee, /*= [*** ] */
1249 0xee, /*= [*** ] */
1250 0x00, /*= [ ] */
1251 /*}*/
1252 /*{*/ /* Char 144: */
1253 0xee, /*= [*** ] */
1254 0xee, /*= [*** ] */
1255 0xee, /*= [*** ] */
1256 0xee, /*= [*** ] */
1257 0xee, /*= [*** ] */
1258 0x00, /*= [ ] */
1259 /*}*/
1260 /*{*/ /* Char 145: */
1261 0xee, /*= [*** ] */
1262 0xee, /*= [*** ] */
1263 0xee, /*= [*** ] */
1264 0xee, /*= [*** ] */
1265 0xee, /*= [*** ] */
1266 0x00, /*= [ ] */
1267 /*}*/
1268 /*{*/ /* Char 146: */
1269 0xee, /*= [*** ] */
1270 0xee, /*= [*** ] */
1271 0xee, /*= [*** ] */
1272 0xee, /*= [*** ] */
1273 0xee, /*= [*** ] */
1274 0x00, /*= [ ] */
1275 /*}*/
1276 /*{*/ /* Char 147: */
1277 0xee, /*= [*** ] */
1278 0xee, /*= [*** ] */
1279 0xee, /*= [*** ] */
1280 0xee, /*= [*** ] */
1281 0xee, /*= [*** ] */
1282 0x00, /*= [ ] */
1283 /*}*/
1284 /*{*/ /* Char 148: */
1285 0xee, /*= [*** ] */
1286 0xee, /*= [*** ] */
1287 0xee, /*= [*** ] */
1288 0xee, /*= [*** ] */
1289 0xee, /*= [*** ] */
1290 0x00, /*= [ ] */
1291 /*}*/
1292 /*{*/ /* Char 149: */
1293 0xee, /*= [*** ] */
1294 0xee, /*= [*** ] */
1295 0xee, /*= [*** ] */
1296 0xee, /*= [*** ] */
1297 0xee, /*= [*** ] */
1298 0x00, /*= [ ] */
1299 /*}*/
1300 /*{*/ /* Char 150: */
1301 0xee, /*= [*** ] */
1302 0xee, /*= [*** ] */
1303 0xee, /*= [*** ] */
1304 0xee, /*= [*** ] */
1305 0xee, /*= [*** ] */
1306 0x00, /*= [ ] */
1307 /*}*/
1308 /*{*/ /* Char 151: */
1309 0xee, /*= [*** ] */
1310 0xee, /*= [*** ] */
1311 0xee, /*= [*** ] */
1312 0xee, /*= [*** ] */
1313 0xee, /*= [*** ] */
1314 0x00, /*= [ ] */
1315 /*}*/
1316 /*{*/ /* Char 152: */
1317 0xee, /*= [*** ] */
1318 0xee, /*= [*** ] */
1319 0xee, /*= [*** ] */
1320 0xee, /*= [*** ] */
1321 0xee, /*= [*** ] */
1322 0x00, /*= [ ] */
1323 /*}*/
1324 /*{*/ /* Char 153: */
1325 0xee, /*= [*** ] */
1326 0xee, /*= [*** ] */
1327 0xee, /*= [*** ] */
1328 0xee, /*= [*** ] */
1329 0xee, /*= [*** ] */
1330 0x00, /*= [ ] */
1331 /*}*/
1332 /*{*/ /* Char 154: */
1333 0xee, /*= [*** ] */
1334 0xee, /*= [*** ] */
1335 0xee, /*= [*** ] */
1336 0xee, /*= [*** ] */
1337 0xee, /*= [*** ] */
1338 0x00, /*= [ ] */
1339 /*}*/
1340 /*{*/ /* Char 155: */
1341 0xee, /*= [*** ] */
1342 0xee, /*= [*** ] */
1343 0xee, /*= [*** ] */
1344 0xee, /*= [*** ] */
1345 0xee, /*= [*** ] */
1346 0x00, /*= [ ] */
1347 /*}*/
1348 /*{*/ /* Char 156: */
1349 0xee, /*= [*** ] */
1350 0xee, /*= [*** ] */
1351 0xee, /*= [*** ] */
1352 0xee, /*= [*** ] */
1353 0xee, /*= [*** ] */
1354 0x00, /*= [ ] */
1355 /*}*/
1356 /*{*/ /* Char 157: */
1357 0xee, /*= [*** ] */
1358 0xee, /*= [*** ] */
1359 0xee, /*= [*** ] */
1360 0xee, /*= [*** ] */
1361 0xee, /*= [*** ] */
1362 0x00, /*= [ ] */
1363 /*}*/
1364 /*{*/ /* Char 158: */
1365 0xee, /*= [*** ] */
1366 0xee, /*= [*** ] */
1367 0xee, /*= [*** ] */
1368 0xee, /*= [*** ] */
1369 0xee, /*= [*** ] */
1370 0x00, /*= [ ] */
1371 /*}*/
1372 /*{*/ /* Char 159: */
1373 0xee, /*= [*** ] */
1374 0xee, /*= [*** ] */
1375 0xee, /*= [*** ] */
1376 0xee, /*= [*** ] */
1377 0xee, /*= [*** ] */
1378 0x00, /*= [ ] */
1379 /*}*/
1380 /*{*/ /* Char 160: */
1381 0xee, /*= [*** ] */
1382 0xee, /*= [*** ] */
1383 0xee, /*= [*** ] */
1384 0xee, /*= [*** ] */
1385 0xee, /*= [*** ] */
1386 0x00, /*= [ ] */
1387 /*}*/
1388 /*{*/ /* Char 161: */
1389 0xee, /*= [*** ] */
1390 0xee, /*= [*** ] */
1391 0xee, /*= [*** ] */
1392 0xee, /*= [*** ] */
1393 0xee, /*= [*** ] */
1394 0x00, /*= [ ] */
1395 /*}*/
1396 /*{*/ /* Char 162: */
1397 0xee, /*= [*** ] */
1398 0xee, /*= [*** ] */
1399 0xee, /*= [*** ] */
1400 0xee, /*= [*** ] */
1401 0xee, /*= [*** ] */
1402 0x00, /*= [ ] */
1403 /*}*/
1404 /*{*/ /* Char 163: */
1405 0xee, /*= [*** ] */
1406 0xee, /*= [*** ] */
1407 0xee, /*= [*** ] */
1408 0xee, /*= [*** ] */
1409 0xee, /*= [*** ] */
1410 0x00, /*= [ ] */
1411 /*}*/
1412 /*{*/ /* Char 164: */
1413 0xee, /*= [*** ] */
1414 0xee, /*= [*** ] */
1415 0xee, /*= [*** ] */
1416 0xee, /*= [*** ] */
1417 0xee, /*= [*** ] */
1418 0x00, /*= [ ] */
1419 /*}*/
1420 /*{*/ /* Char 165: */
1421 0xee, /*= [*** ] */
1422 0xee, /*= [*** ] */
1423 0xee, /*= [*** ] */
1424 0xee, /*= [*** ] */
1425 0xee, /*= [*** ] */
1426 0x00, /*= [ ] */
1427 /*}*/
1428 /*{*/ /* Char 166: */
1429 0xee, /*= [*** ] */
1430 0xee, /*= [*** ] */
1431 0xee, /*= [*** ] */
1432 0xee, /*= [*** ] */
1433 0xee, /*= [*** ] */
1434 0x00, /*= [ ] */
1435 /*}*/
1436 /*{*/ /* Char 167: */
1437 0xee, /*= [*** ] */
1438 0xee, /*= [*** ] */
1439 0xee, /*= [*** ] */
1440 0xee, /*= [*** ] */
1441 0xee, /*= [*** ] */
1442 0x00, /*= [ ] */
1443 /*}*/
1444 /*{*/ /* Char 168: */
1445 0xee, /*= [*** ] */
1446 0xee, /*= [*** ] */
1447 0xee, /*= [*** ] */
1448 0xee, /*= [*** ] */
1449 0xee, /*= [*** ] */
1450 0x00, /*= [ ] */
1451 /*}*/
1452 /*{*/ /* Char 169: */
1453 0xee, /*= [*** ] */
1454 0xee, /*= [*** ] */
1455 0xee, /*= [*** ] */
1456 0xee, /*= [*** ] */
1457 0xee, /*= [*** ] */
1458 0x00, /*= [ ] */
1459 /*}*/
1460 /*{*/ /* Char 170: */
1461 0xee, /*= [*** ] */
1462 0xee, /*= [*** ] */
1463 0xee, /*= [*** ] */
1464 0xee, /*= [*** ] */
1465 0xee, /*= [*** ] */
1466 0x00, /*= [ ] */
1467 /*}*/
1468 /*{*/ /* Char 171: */
1469 0xee, /*= [*** ] */
1470 0xee, /*= [*** ] */
1471 0xee, /*= [*** ] */
1472 0xee, /*= [*** ] */
1473 0xee, /*= [*** ] */
1474 0x00, /*= [ ] */
1475 /*}*/
1476 /*{*/ /* Char 172: */
1477 0xee, /*= [*** ] */
1478 0xee, /*= [*** ] */
1479 0xee, /*= [*** ] */
1480 0xee, /*= [*** ] */
1481 0xee, /*= [*** ] */
1482 0x00, /*= [ ] */
1483 /*}*/
1484 /*{*/ /* Char 173: */
1485 0xee, /*= [*** ] */
1486 0xee, /*= [*** ] */
1487 0xee, /*= [*** ] */
1488 0xee, /*= [*** ] */
1489 0xee, /*= [*** ] */
1490 0x00, /*= [ ] */
1491 /*}*/
1492 /*{*/ /* Char 174: */
1493 0x00, /*= [ ] */
1494 0x66, /*= [ ** ] */
1495 0xcc, /*= [** ] */
1496 0x66, /*= [ ** ] */
1497 0x00, /*= [ ] */
1498 0x00, /*= [ ] */
1499 /*}*/
1500 /*{*/ /* Char 175: */
1501 0x00, /*= [ ] */
1502 0xcc, /*= [** ] */
1503 0x66, /*= [ ** ] */
1504 0xcc, /*= [** ] */
1505 0x00, /*= [ ] */
1506 0x00, /*= [ ] */
1507 /*}*/
1508 /*{*/ /* Char 176: */
1509 0x88, /*= [* ] */
1510 0x22, /*= [ * ] */
1511 0x88, /*= [* ] */
1512 0x22, /*= [ * ] */
1513 0x88, /*= [* ] */
1514 0x22, /*= [ * ] */
1515 /*}*/
1516 /*{*/ /* Char 177: */
1517 0xaa, /*= [* * ] */
1518 0x55, /*= [ * *] */
1519 0xaa, /*= [* * ] */
1520 0x55, /*= [ * *] */
1521 0xaa, /*= [* * ] */
1522 0x55, /*= [ * *] */
1523 /*}*/
1524 /*{*/ /* Char 178: */
1525 0xdd, /*= [** *] */
1526 0xbb, /*= [* **] */
1527 0xdd, /*= [** *] */
1528 0xbb, /*= [* **] */
1529 0xdd, /*= [** *] */
1530 0xbb, /*= [* **] */
1531 /*}*/
1532 /*{*/ /* Char 179: */
1533 0x44, /*= [ * ] */
1534 0x44, /*= [ * ] */
1535 0x44, /*= [ * ] */
1536 0x44, /*= [ * ] */
1537 0x44, /*= [ * ] */
1538 0x44, /*= [ * ] */
1539 /*}*/
1540 /*{*/ /* Char 180: */
1541 0x44, /*= [ * ] */
1542 0x44, /*= [ * ] */
1543 0xcc, /*= [** ] */
1544 0x44, /*= [ * ] */
1545 0x44, /*= [ * ] */
1546 0x44, /*= [ * ] */
1547 /*}*/
1548 /*{*/ /* Char 181: */
1549 0x44, /*= [ * ] */
1550 0x44, /*= [ * ] */
1551 0xcc, /*= [** ] */
1552 0xcc, /*= [** ] */
1553 0x44, /*= [ * ] */
1554 0x44, /*= [ * ] */
1555 /*}*/
1556 /*{*/ /* Char 182: */
1557 0x66, /*= [ ** ] */
1558 0x66, /*= [ ** ] */
1559 0xee, /*= [*** ] */
1560 0x66, /*= [ ** ] */
1561 0x66, /*= [ ** ] */
1562 0x66, /*= [ ** ] */
1563 /*}*/
1564 /*{*/ /* Char 183: */
1565 0x00, /*= [ ] */
1566 0x00, /*= [ ] */
1567 0xee, /*= [*** ] */
1568 0x66, /*= [ ** ] */
1569 0x66, /*= [ ** ] */
1570 0x66, /*= [ ** ] */
1571 /*}*/
1572 /*{*/ /* Char 184: */
1573 0x00, /*= [ ] */
1574 0x00, /*= [ ] */
1575 0xcc, /*= [** ] */
1576 0xcc, /*= [** ] */
1577 0x44, /*= [ * ] */
1578 0x44, /*= [ * ] */
1579 /*}*/
1580 /*{*/ /* Char 185: */
1581 0x66, /*= [ ** ] */
1582 0x66, /*= [ ** ] */
1583 0xee, /*= [*** ] */
1584 0xee, /*= [*** ] */
1585 0x66, /*= [ ** ] */
1586 0x66, /*= [ ** ] */
1587 /*}*/
1588 /*{*/ /* Char 186: */
1589 0x66, /*= [ ** ] */
1590 0x66, /*= [ ** ] */
1591 0x66, /*= [ ** ] */
1592 0x66, /*= [ ** ] */
1593 0x66, /*= [ ** ] */
1594 0x66, /*= [ ** ] */
1595 /*}*/
1596 /*{*/ /* Char 187: */
1597 0x00, /*= [ ] */
1598 0x00, /*= [ ] */
1599 0xee, /*= [*** ] */
1600 0xee, /*= [*** ] */
1601 0x66, /*= [ ** ] */
1602 0x66, /*= [ ** ] */
1603 /*}*/
1604 /*{*/ /* Char 188: */
1605 0x66, /*= [ ** ] */
1606 0x66, /*= [ ** ] */
1607 0xee, /*= [*** ] */
1608 0xee, /*= [*** ] */
1609 0x00, /*= [ ] */
1610 0x00, /*= [ ] */
1611 /*}*/
1612 /*{*/ /* Char 189: */
1613 0x66, /*= [ ** ] */
1614 0x66, /*= [ ** ] */
1615 0xee, /*= [*** ] */
1616 0x00, /*= [ ] */
1617 0x00, /*= [ ] */
1618 0x00, /*= [ ] */
1619 /*}*/
1620 /*{*/ /* Char 190: */
1621 0x44, /*= [ * ] */
1622 0x44, /*= [ * ] */
1623 0xcc, /*= [** ] */
1624 0xcc, /*= [** ] */
1625 0x00, /*= [ ] */
1626 0x00, /*= [ ] */
1627 /*}*/
1628 /*{*/ /* Char 191: */
1629 0x00, /*= [ ] */
1630 0x00, /*= [ ] */
1631 0xcc, /*= [** ] */
1632 0x44, /*= [ * ] */
1633 0x44, /*= [ * ] */
1634 0x44, /*= [ * ] */
1635 /*}*/
1636 /*{*/ /* Char 192: */
1637 0x44, /*= [ * ] */
1638 0x44, /*= [ * ] */
1639 0x77, /*= [ ***] */
1640 0x00, /*= [ ] */
1641 0x00, /*= [ ] */
1642 0x00, /*= [ ] */
1643 /*}*/
1644 /*{*/ /* Char 193: */
1645 0x44, /*= [ * ] */
1646 0x44, /*= [ * ] */
1647 0xff, /*= [****] */
1648 0x00, /*= [ ] */
1649 0x00, /*= [ ] */
1650 0x00, /*= [ ] */
1651 /*}*/
1652 /*{*/ /* Char 194: */
1653 0x00, /*= [ ] */
1654 0x00, /*= [ ] */
1655 0xff, /*= [****] */
1656 0x44, /*= [ * ] */
1657 0x44, /*= [ * ] */
1658 0x44, /*= [ * ] */
1659 /*}*/
1660 /*{*/ /* Char 195: */
1661 0x44, /*= [ * ] */
1662 0x44, /*= [ * ] */
1663 0x77, /*= [ ***] */
1664 0x44, /*= [ * ] */
1665 0x44, /*= [ * ] */
1666 0x44, /*= [ * ] */
1667 /*}*/
1668 /*{*/ /* Char 196: */
1669 0x00, /*= [ ] */
1670 0x00, /*= [ ] */
1671 0xff, /*= [****] */
1672 0x00, /*= [ ] */
1673 0x00, /*= [ ] */
1674 0x00, /*= [ ] */
1675 /*}*/
1676 /*{*/ /* Char 197: */
1677 0x44, /*= [ * ] */
1678 0x44, /*= [ * ] */
1679 0xff, /*= [****] */
1680 0x44, /*= [ * ] */
1681 0x44, /*= [ * ] */
1682 0x44, /*= [ * ] */
1683 /*}*/
1684 /*{*/ /* Char 198: */
1685 0x44, /*= [ * ] */
1686 0x44, /*= [ * ] */
1687 0x77, /*= [ ***] */
1688 0x77, /*= [ ***] */
1689 0x44, /*= [ * ] */
1690 0x44, /*= [ * ] */
1691 /*}*/
1692 /*{*/ /* Char 199: */
1693 0x66, /*= [ ** ] */
1694 0x66, /*= [ ** ] */
1695 0x77, /*= [ ***] */
1696 0x66, /*= [ ** ] */
1697 0x66, /*= [ ** ] */
1698 0x66, /*= [ ** ] */
1699 /*}*/
1700 /*{*/ /* Char 200: */
1701 0x66, /*= [ ** ] */
1702 0x66, /*= [ ** ] */
1703 0x77, /*= [ ***] */
1704 0x77, /*= [ ***] */
1705 0x00, /*= [ ] */
1706 0x00, /*= [ ] */
1707 /*}*/
1708 /*{*/ /* Char 201: */
1709 0x00, /*= [ ] */
1710 0x00, /*= [ ] */
1711 0x77, /*= [ ***] */
1712 0x77, /*= [ ***] */
1713 0x66, /*= [ ** ] */
1714 0x66, /*= [ ** ] */
1715 /*}*/
1716 /*{*/ /* Char 202: */
1717 0x66, /*= [ ** ] */
1718 0x66, /*= [ ** ] */
1719 0xff, /*= [****] */
1720 0xff, /*= [****] */
1721 0x00, /*= [ ] */
1722 0x00, /*= [ ] */
1723 /*}*/
1724 /*{*/ /* Char 203: */
1725 0x00, /*= [ ] */
1726 0x00, /*= [ ] */
1727 0xff, /*= [****] */
1728 0xff, /*= [****] */
1729 0x66, /*= [ ** ] */
1730 0x66, /*= [ ** ] */
1731 /*}*/
1732 /*{*/ /* Char 204: */
1733 0x66, /*= [ ** ] */
1734 0x66, /*= [ ** ] */
1735 0x77, /*= [ ***] */
1736 0x77, /*= [ ***] */
1737 0x66, /*= [ ** ] */
1738 0x66, /*= [ ** ] */
1739 /*}*/
1740 /*{*/ /* Char 205: */
1741 0x00, /*= [ ] */
1742 0x00, /*= [ ] */
1743 0xff, /*= [****] */
1744 0xff, /*= [****] */
1745 0x00, /*= [ ] */
1746 0x00, /*= [ ] */
1747 /*}*/
1748 /*{*/ /* Char 206: */
1749 0x66, /*= [ ** ] */
1750 0x66, /*= [ ** ] */
1751 0xff, /*= [****] */
1752 0xff, /*= [****] */
1753 0x66, /*= [ ** ] */
1754 0x66, /*= [ ** ] */
1755 /*}*/
1756 /*{*/ /* Char 207: */
1757 0x44, /*= [ * ] */
1758 0x44, /*= [ * ] */
1759 0xff, /*= [****] */
1760 0xff, /*= [****] */
1761 0x00, /*= [ ] */
1762 0x00, /*= [ ] */
1763 /*}*/
1764 /*{*/ /* Char 208: */
1765 0x66, /*= [ ** ] */
1766 0x66, /*= [ ** ] */
1767 0xff, /*= [****] */
1768 0x00, /*= [ ] */
1769 0x00, /*= [ ] */
1770 0x00, /*= [ ] */
1771 /*}*/
1772 /*{*/ /* Char 209: */
1773 0x00, /*= [ ] */
1774 0x00, /*= [ ] */
1775 0xff, /*= [****] */
1776 0xff, /*= [****] */
1777 0x44, /*= [ * ] */
1778 0x44, /*= [ * ] */
1779 /*}*/
1780 /*{*/ /* Char 210: */
1781 0x00, /*= [ ] */
1782 0x00, /*= [ ] */
1783 0xff, /*= [****] */
1784 0x66, /*= [ ** ] */
1785 0x66, /*= [ ** ] */
1786 0x66, /*= [ ** ] */
1787 /*}*/
1788 /*{*/ /* Char 211: */
1789 0x66, /*= [ ** ] */
1790 0x66, /*= [ ** ] */
1791 0x77, /*= [ ***] */
1792 0x00, /*= [ ] */
1793 0x00, /*= [ ] */
1794 0x00, /*= [ ] */
1795 /*}*/
1796 /*{*/ /* Char 212: */
1797 0x44, /*= [ * ] */
1798 0x44, /*= [ * ] */
1799 0x77, /*= [ ***] */
1800 0x77, /*= [ ***] */
1801 0x00, /*= [ ] */
1802 0x00, /*= [ ] */
1803 /*}*/
1804 /*{*/ /* Char 213: */
1805 0x00, /*= [ ] */
1806 0x00, /*= [ ] */
1807 0x77, /*= [ ***] */
1808 0x77, /*= [ ***] */
1809 0x44, /*= [ * ] */
1810 0x44, /*= [ * ] */
1811 /*}*/
1812 /*{*/ /* Char 214: */
1813 0x00, /*= [ ] */
1814 0x00, /*= [ ] */
1815 0x77, /*= [ ***] */
1816 0x66, /*= [ ** ] */
1817 0x66, /*= [ ** ] */
1818 0x66, /*= [ ** ] */
1819 /*}*/
1820 /*{*/ /* Char 215: */
1821 0x66, /*= [ ** ] */
1822 0x66, /*= [ ** ] */
1823 0xff, /*= [****] */
1824 0x66, /*= [ ** ] */
1825 0x66, /*= [ ** ] */
1826 0x66, /*= [ ** ] */
1827 /*}*/
1828 /*{*/ /* Char 216: */
1829 0x44, /*= [ * ] */
1830 0x44, /*= [ * ] */
1831 0xff, /*= [****] */
1832 0xff, /*= [****] */
1833 0x44, /*= [ * ] */
1834 0x44, /*= [ * ] */
1835 /*}*/
1836 /*{*/ /* Char 217: */
1837 0x44, /*= [ * ] */
1838 0x44, /*= [ * ] */
1839 0xcc, /*= [** ] */
1840 0x00, /*= [ ] */
1841 0x00, /*= [ ] */
1842 0x00, /*= [ ] */
1843 /*}*/
1844 /*{*/ /* Char 218: */
1845 0x00, /*= [ ] */
1846 0x00, /*= [ ] */
1847 0x77, /*= [ ***] */
1848 0x44, /*= [ * ] */
1849 0x44, /*= [ * ] */
1850 0x44, /*= [ * ] */
1851 /*}*/
1852 /*{*/ /* Char 219: */
1853 0xff, /*= [****] */
1854 0xff, /*= [****] */
1855 0xff, /*= [****] */
1856 0xff, /*= [****] */
1857 0xff, /*= [****] */
1858 0xff, /*= [****] */
1859 /*}*/
1860 /*{*/ /* Char 220: */
1861 0x00, /*= [ ] */
1862 0x00, /*= [ ] */
1863 0x00, /*= [ ] */
1864 0xff, /*= [****] */
1865 0xff, /*= [****] */
1866 0xff, /*= [****] */
1867 /*}*/
1868 /*{*/ /* Char 221: */
1869 0xcc, /*= [** ] */
1870 0xcc, /*= [** ] */
1871 0xcc, /*= [** ] */
1872 0xcc, /*= [** ] */
1873 0xcc, /*= [** ] */
1874 0xcc, /*= [** ] */
1875 /*}*/
1876 /*{*/ /* Char 222: */
1877 0x33, /*= [ **] */
1878 0x33, /*= [ **] */
1879 0x33, /*= [ **] */
1880 0x33, /*= [ **] */
1881 0x33, /*= [ **] */
1882 0x33, /*= [ **] */
1883 /*}*/
1884 /*{*/ /* Char 223: */
1885 0xff, /*= [****] */
1886 0xff, /*= [****] */
1887 0xff, /*= [****] */
1888 0x00, /*= [ ] */
1889 0x00, /*= [ ] */
1890 0x00, /*= [ ] */
1891 /*}*/
1892 /*{*/ /* Char 224: */
1893 0xee, /*= [*** ] */
1894 0xee, /*= [*** ] */
1895 0xee, /*= [*** ] */
1896 0xee, /*= [*** ] */
1897 0xee, /*= [*** ] */
1898 0x00, /*= [ ] */
1899 /*}*/
1900 /*{*/ /* Char 225: */
1901 0xee, /*= [*** ] */
1902 0xee, /*= [*** ] */
1903 0xee, /*= [*** ] */
1904 0xee, /*= [*** ] */
1905 0xee, /*= [*** ] */
1906 0x00, /*= [ ] */
1907 /*}*/
1908 /*{*/ /* Char 226: */
1909 0xee, /*= [*** ] */
1910 0xee, /*= [*** ] */
1911 0xee, /*= [*** ] */
1912 0xee, /*= [*** ] */
1913 0xee, /*= [*** ] */
1914 0x00, /*= [ ] */
1915 /*}*/
1916 /*{*/ /* Char 227: */
1917 0xee, /*= [*** ] */
1918 0xee, /*= [*** ] */
1919 0xee, /*= [*** ] */
1920 0xee, /*= [*** ] */
1921 0xee, /*= [*** ] */
1922 0x00, /*= [ ] */
1923 /*}*/
1924 /*{*/ /* Char 228: */
1925 0xee, /*= [*** ] */
1926 0xee, /*= [*** ] */
1927 0xee, /*= [*** ] */
1928 0xee, /*= [*** ] */
1929 0xee, /*= [*** ] */
1930 0x00, /*= [ ] */
1931 /*}*/
1932 /*{*/ /* Char 229: */
1933 0xee, /*= [*** ] */
1934 0xee, /*= [*** ] */
1935 0xee, /*= [*** ] */
1936 0xee, /*= [*** ] */
1937 0xee, /*= [*** ] */
1938 0x00, /*= [ ] */
1939 /*}*/
1940 /*{*/ /* Char 230: */
1941 0xee, /*= [*** ] */
1942 0xee, /*= [*** ] */
1943 0xee, /*= [*** ] */
1944 0xee, /*= [*** ] */
1945 0xee, /*= [*** ] */
1946 0x00, /*= [ ] */
1947 /*}*/
1948 /*{*/ /* Char 231: */
1949 0xee, /*= [*** ] */
1950 0xee, /*= [*** ] */
1951 0xee, /*= [*** ] */
1952 0xee, /*= [*** ] */
1953 0xee, /*= [*** ] */
1954 0x00, /*= [ ] */
1955 /*}*/
1956 /*{*/ /* Char 232: */
1957 0xee, /*= [*** ] */
1958 0xee, /*= [*** ] */
1959 0xee, /*= [*** ] */
1960 0xee, /*= [*** ] */
1961 0xee, /*= [*** ] */
1962 0x00, /*= [ ] */
1963 /*}*/
1964 /*{*/ /* Char 233: */
1965 0xee, /*= [*** ] */
1966 0xee, /*= [*** ] */
1967 0xee, /*= [*** ] */
1968 0xee, /*= [*** ] */
1969 0xee, /*= [*** ] */
1970 0x00, /*= [ ] */
1971 /*}*/
1972 /*{*/ /* Char 234: */
1973 0xee, /*= [*** ] */
1974 0xee, /*= [*** ] */
1975 0xee, /*= [*** ] */
1976 0xee, /*= [*** ] */
1977 0xee, /*= [*** ] */
1978 0x00, /*= [ ] */
1979 /*}*/
1980 /*{*/ /* Char 235: */
1981 0xee, /*= [*** ] */
1982 0xee, /*= [*** ] */
1983 0xee, /*= [*** ] */
1984 0xee, /*= [*** ] */
1985 0xee, /*= [*** ] */
1986 0x00, /*= [ ] */
1987 /*}*/
1988 /*{*/ /* Char 236: */
1989 0xee, /*= [*** ] */
1990 0xee, /*= [*** ] */
1991 0xee, /*= [*** ] */
1992 0xee, /*= [*** ] */
1993 0xee, /*= [*** ] */
1994 0x00, /*= [ ] */
1995 /*}*/
1996 /*{*/ /* Char 237: */
1997 0xee, /*= [*** ] */
1998 0xee, /*= [*** ] */
1999 0xee, /*= [*** ] */
2000 0xee, /*= [*** ] */
2001 0xee, /*= [*** ] */
2002 0x00, /*= [ ] */
2003 /*}*/
2004 /*{*/ /* Char 238: */
2005 0xee, /*= [*** ] */
2006 0xee, /*= [*** ] */
2007 0xee, /*= [*** ] */
2008 0xee, /*= [*** ] */
2009 0xee, /*= [*** ] */
2010 0x00, /*= [ ] */
2011 /*}*/
2012 /*{*/ /* Char 239: */
2013 0xee, /*= [*** ] */
2014 0xee, /*= [*** ] */
2015 0xee, /*= [*** ] */
2016 0xee, /*= [*** ] */
2017 0xee, /*= [*** ] */
2018 0x00, /*= [ ] */
2019 /*}*/
2020 /*{*/ /* Char 240: */
2021 0xee, /*= [*** ] */
2022 0xee, /*= [*** ] */
2023 0xee, /*= [*** ] */
2024 0xee, /*= [*** ] */
2025 0xee, /*= [*** ] */
2026 0x00, /*= [ ] */
2027 /*}*/
2028 /*{*/ /* Char 241: */
2029 0xee, /*= [*** ] */
2030 0xee, /*= [*** ] */
2031 0xee, /*= [*** ] */
2032 0xee, /*= [*** ] */
2033 0xee, /*= [*** ] */
2034 0x00, /*= [ ] */
2035 /*}*/
2036 /*{*/ /* Char 242: */
2037 0xee, /*= [*** ] */
2038 0xee, /*= [*** ] */
2039 0xee, /*= [*** ] */
2040 0xee, /*= [*** ] */
2041 0xee, /*= [*** ] */
2042 0x00, /*= [ ] */
2043 /*}*/
2044 /*{*/ /* Char 243: */
2045 0xee, /*= [*** ] */
2046 0xee, /*= [*** ] */
2047 0xee, /*= [*** ] */
2048 0xee, /*= [*** ] */
2049 0xee, /*= [*** ] */
2050 0x00, /*= [ ] */
2051 /*}*/
2052 /*{*/ /* Char 244: */
2053 0xee, /*= [*** ] */
2054 0xee, /*= [*** ] */
2055 0xee, /*= [*** ] */
2056 0xee, /*= [*** ] */
2057 0xee, /*= [*** ] */
2058 0x00, /*= [ ] */
2059 /*}*/
2060 /*{*/ /* Char 245: */
2061 0xee, /*= [*** ] */
2062 0xee, /*= [*** ] */
2063 0xee, /*= [*** ] */
2064 0xee, /*= [*** ] */
2065 0xee, /*= [*** ] */
2066 0x00, /*= [ ] */
2067 /*}*/
2068 /*{*/ /* Char 246: */
2069 0xee, /*= [*** ] */
2070 0xee, /*= [*** ] */
2071 0xee, /*= [*** ] */
2072 0xee, /*= [*** ] */
2073 0xee, /*= [*** ] */
2074 0x00, /*= [ ] */
2075 /*}*/
2076 /*{*/ /* Char 247: */
2077 0xee, /*= [*** ] */
2078 0xee, /*= [*** ] */
2079 0xee, /*= [*** ] */
2080 0xee, /*= [*** ] */
2081 0xee, /*= [*** ] */
2082 0x00, /*= [ ] */
2083 /*}*/
2084 /*{*/ /* Char 248: */
2085 0xee, /*= [*** ] */
2086 0xee, /*= [*** ] */
2087 0xee, /*= [*** ] */
2088 0xee, /*= [*** ] */
2089 0xee, /*= [*** ] */
2090 0x00, /*= [ ] */
2091 /*}*/
2092 /*{*/ /* Char 249: */
2093 0xee, /*= [*** ] */
2094 0xee, /*= [*** ] */
2095 0xee, /*= [*** ] */
2096 0xee, /*= [*** ] */
2097 0xee, /*= [*** ] */
2098 0x00, /*= [ ] */
2099 /*}*/
2100 /*{*/ /* Char 250: */
2101 0xee, /*= [*** ] */
2102 0xee, /*= [*** ] */
2103 0xee, /*= [*** ] */
2104 0xee, /*= [*** ] */
2105 0xee, /*= [*** ] */
2106 0x00, /*= [ ] */
2107 /*}*/
2108 /*{*/ /* Char 251: */
2109 0xee, /*= [*** ] */
2110 0xee, /*= [*** ] */
2111 0xee, /*= [*** ] */
2112 0xee, /*= [*** ] */
2113 0xee, /*= [*** ] */
2114 0x00, /*= [ ] */
2115 /*}*/
2116 /*{*/ /* Char 252: */
2117 0xee, /*= [*** ] */
2118 0xee, /*= [*** ] */
2119 0xee, /*= [*** ] */
2120 0xee, /*= [*** ] */
2121 0xee, /*= [*** ] */
2122 0x00, /*= [ ] */
2123 /*}*/
2124 /*{*/ /* Char 253: */
2125 0xee, /*= [*** ] */
2126 0xee, /*= [*** ] */
2127 0xee, /*= [*** ] */
2128 0xee, /*= [*** ] */
2129 0xee, /*= [*** ] */
2130 0x00, /*= [ ] */
2131 /*}*/
2132 /*{*/ /* Char 254: */
2133 0x00, /*= [ ] */
2134 0x00, /*= [ ] */
2135 0x66, /*= [ ** ] */
2136 0x66, /*= [ ** ] */
2137 0x00, /*= [ ] */
2138 0x00, /*= [ ] */
2139 /*}*/
2140 /*{*/ /* Char 255: */
2141 0xee, /*= [*** ] */
2142 0xee, /*= [*** ] */
2143 0xee, /*= [*** ] */
2144 0xee, /*= [*** ] */
2145 0xee, /*= [*** ] */
2146 0x00, /*= [ ] */
2147 /*}*/
2148};
2149
2150struct font_desc font_mini_4x6 = {
2151 MINI4x6_IDX,
2152 "MINI4x6",
2153 4,
2154 6,
2155 fontdata_mini_4x6,
2156 3
2157};
2158
diff --git a/drivers/video/console/font_pearl_8x8.c b/drivers/video/console/font_pearl_8x8.c
new file mode 100644
index 000000000000..5fa95f118818
--- /dev/null
+++ b/drivers/video/console/font_pearl_8x8.c
@@ -0,0 +1,2587 @@
1/**********************************************/
2/* */
3/* Font file generated by cpi2fnt */
4/* ------------------------------ */
5/* Combined with the alpha-numeric */
6/* portion of Greg Harp's old PEARL */
7/* font (from earlier versions of */
8/* linux-m86k) by John Shifflett */
9/* */
10/**********************************************/
11
12#include <linux/font.h>
13
14#define FONTDATAMAX 2048
15
16static unsigned char fontdata_pearl8x8[FONTDATAMAX] = {
17
18 /* 0 0x00 '^@' */
19 0x00, /* 00000000 */
20 0x00, /* 00000000 */
21 0x00, /* 00000000 */
22 0x00, /* 00000000 */
23 0x00, /* 00000000 */
24 0x00, /* 00000000 */
25 0x00, /* 00000000 */
26 0x00, /* 00000000 */
27
28 /* 1 0x01 '^A' */
29 0x7e, /* 01111110 */
30 0x81, /* 10000001 */
31 0xa5, /* 10100101 */
32 0x81, /* 10000001 */
33 0xbd, /* 10111101 */
34 0x99, /* 10011001 */
35 0x81, /* 10000001 */
36 0x7e, /* 01111110 */
37
38 /* 2 0x02 '^B' */
39 0x7e, /* 01111110 */
40 0xff, /* 11111111 */
41 0xdb, /* 11011011 */
42 0xff, /* 11111111 */
43 0xc3, /* 11000011 */
44 0xe7, /* 11100111 */
45 0xff, /* 11111111 */
46 0x7e, /* 01111110 */
47
48 /* 3 0x03 '^C' */
49 0x6c, /* 01101100 */
50 0xfe, /* 11111110 */
51 0xfe, /* 11111110 */
52 0xfe, /* 11111110 */
53 0x7c, /* 01111100 */
54 0x38, /* 00111000 */
55 0x10, /* 00010000 */
56 0x00, /* 00000000 */
57
58 /* 4 0x04 '^D' */
59 0x10, /* 00010000 */
60 0x38, /* 00111000 */
61 0x7c, /* 01111100 */
62 0xfe, /* 11111110 */
63 0x7c, /* 01111100 */
64 0x38, /* 00111000 */
65 0x10, /* 00010000 */
66 0x00, /* 00000000 */
67
68 /* 5 0x05 '^E' */
69 0x38, /* 00111000 */
70 0x7c, /* 01111100 */
71 0x38, /* 00111000 */
72 0xfe, /* 11111110 */
73 0xfe, /* 11111110 */
74 0xd6, /* 11010110 */
75 0x10, /* 00010000 */
76 0x38, /* 00111000 */
77
78 /* 6 0x06 '^F' */
79 0x10, /* 00010000 */
80 0x38, /* 00111000 */
81 0x7c, /* 01111100 */
82 0xfe, /* 11111110 */
83 0xfe, /* 11111110 */
84 0x7c, /* 01111100 */
85 0x10, /* 00010000 */
86 0x38, /* 00111000 */
87
88 /* 7 0x07 '^G' */
89 0x00, /* 00000000 */
90 0x00, /* 00000000 */
91 0x18, /* 00011000 */
92 0x3c, /* 00111100 */
93 0x3c, /* 00111100 */
94 0x18, /* 00011000 */
95 0x00, /* 00000000 */
96 0x00, /* 00000000 */
97
98 /* 8 0x08 '^H' */
99 0xff, /* 11111111 */
100 0xff, /* 11111111 */
101 0xe7, /* 11100111 */
102 0xc3, /* 11000011 */
103 0xc3, /* 11000011 */
104 0xe7, /* 11100111 */
105 0xff, /* 11111111 */
106 0xff, /* 11111111 */
107
108 /* 9 0x09 '^I' */
109 0x00, /* 00000000 */
110 0x3c, /* 00111100 */
111 0x66, /* 01100110 */
112 0x42, /* 01000010 */
113 0x42, /* 01000010 */
114 0x66, /* 01100110 */
115 0x3c, /* 00111100 */
116 0x00, /* 00000000 */
117
118 /* 10 0x0a '^J' */
119 0xff, /* 11111111 */
120 0xc3, /* 11000011 */
121 0x99, /* 10011001 */
122 0xbd, /* 10111101 */
123 0xbd, /* 10111101 */
124 0x99, /* 10011001 */
125 0xc3, /* 11000011 */
126 0xff, /* 11111111 */
127
128 /* 11 0x0b '^K' */
129 0x0f, /* 00001111 */
130 0x07, /* 00000111 */
131 0x0f, /* 00001111 */
132 0x7d, /* 01111101 */
133 0xcc, /* 11001100 */
134 0xcc, /* 11001100 */
135 0xcc, /* 11001100 */
136 0x78, /* 01111000 */
137
138 /* 12 0x0c '^L' */
139 0x3c, /* 00111100 */
140 0x66, /* 01100110 */
141 0x66, /* 01100110 */
142 0x66, /* 01100110 */
143 0x3c, /* 00111100 */
144 0x18, /* 00011000 */
145 0x7e, /* 01111110 */
146 0x18, /* 00011000 */
147
148 /* 13 0x0d '^M' */
149 0x3f, /* 00111111 */
150 0x33, /* 00110011 */
151 0x3f, /* 00111111 */
152 0x30, /* 00110000 */
153 0x30, /* 00110000 */
154 0x70, /* 01110000 */
155 0xf0, /* 11110000 */
156 0xe0, /* 11100000 */
157
158 /* 14 0x0e '^N' */
159 0x7f, /* 01111111 */
160 0x63, /* 01100011 */
161 0x7f, /* 01111111 */
162 0x63, /* 01100011 */
163 0x63, /* 01100011 */
164 0x67, /* 01100111 */
165 0xe6, /* 11100110 */
166 0xc0, /* 11000000 */
167
168 /* 15 0x0f '^O' */
169 0x18, /* 00011000 */
170 0xdb, /* 11011011 */
171 0x3c, /* 00111100 */
172 0xe7, /* 11100111 */
173 0xe7, /* 11100111 */
174 0x3c, /* 00111100 */
175 0xdb, /* 11011011 */
176 0x18, /* 00011000 */
177
178 /* 16 0x10 '^P' */
179 0x80, /* 10000000 */
180 0xe0, /* 11100000 */
181 0xf8, /* 11111000 */
182 0xfe, /* 11111110 */
183 0xf8, /* 11111000 */
184 0xe0, /* 11100000 */
185 0x80, /* 10000000 */
186 0x00, /* 00000000 */
187
188 /* 17 0x11 '^Q' */
189 0x02, /* 00000010 */
190 0x0e, /* 00001110 */
191 0x3e, /* 00111110 */
192 0xfe, /* 11111110 */
193 0x3e, /* 00111110 */
194 0x0e, /* 00001110 */
195 0x02, /* 00000010 */
196 0x00, /* 00000000 */
197
198 /* 18 0x12 '^R' */
199 0x18, /* 00011000 */
200 0x3c, /* 00111100 */
201 0x7e, /* 01111110 */
202 0x18, /* 00011000 */
203 0x18, /* 00011000 */
204 0x7e, /* 01111110 */
205 0x3c, /* 00111100 */
206 0x18, /* 00011000 */
207
208 /* 19 0x13 '^S' */
209 0x66, /* 01100110 */
210 0x66, /* 01100110 */
211 0x66, /* 01100110 */
212 0x66, /* 01100110 */
213 0x66, /* 01100110 */
214 0x00, /* 00000000 */
215 0x66, /* 01100110 */
216 0x00, /* 00000000 */
217
218 /* 20 0x14 '^T' */
219 0x7f, /* 01111111 */
220 0xdb, /* 11011011 */
221 0xdb, /* 11011011 */
222 0x7b, /* 01111011 */
223 0x1b, /* 00011011 */
224 0x1b, /* 00011011 */
225 0x1b, /* 00011011 */
226 0x00, /* 00000000 */
227
228 /* 21 0x15 '^U' */
229 0x3e, /* 00111110 */
230 0x61, /* 01100001 */
231 0x3c, /* 00111100 */
232 0x66, /* 01100110 */
233 0x66, /* 01100110 */
234 0x3c, /* 00111100 */
235 0x86, /* 10000110 */
236 0x7c, /* 01111100 */
237
238 /* 22 0x16 '^V' */
239 0x00, /* 00000000 */
240 0x00, /* 00000000 */
241 0x00, /* 00000000 */
242 0x00, /* 00000000 */
243 0x7e, /* 01111110 */
244 0x7e, /* 01111110 */
245 0x7e, /* 01111110 */
246 0x00, /* 00000000 */
247
248 /* 23 0x17 '^W' */
249 0x18, /* 00011000 */
250 0x3c, /* 00111100 */
251 0x7e, /* 01111110 */
252 0x18, /* 00011000 */
253 0x7e, /* 01111110 */
254 0x3c, /* 00111100 */
255 0x18, /* 00011000 */
256 0xff, /* 11111111 */
257
258 /* 24 0x18 '^X' */
259 0x18, /* 00011000 */
260 0x3c, /* 00111100 */
261 0x7e, /* 01111110 */
262 0x18, /* 00011000 */
263 0x18, /* 00011000 */
264 0x18, /* 00011000 */
265 0x18, /* 00011000 */
266 0x00, /* 00000000 */
267
268 /* 25 0x19 '^Y' */
269 0x18, /* 00011000 */
270 0x18, /* 00011000 */
271 0x18, /* 00011000 */
272 0x18, /* 00011000 */
273 0x7e, /* 01111110 */
274 0x3c, /* 00111100 */
275 0x18, /* 00011000 */
276 0x00, /* 00000000 */
277
278 /* 26 0x1a '^Z' */
279 0x00, /* 00000000 */
280 0x18, /* 00011000 */
281 0x0c, /* 00001100 */
282 0xfe, /* 11111110 */
283 0x0c, /* 00001100 */
284 0x18, /* 00011000 */
285 0x00, /* 00000000 */
286 0x00, /* 00000000 */
287
288 /* 27 0x1b '^[' */
289 0x00, /* 00000000 */
290 0x30, /* 00110000 */
291 0x60, /* 01100000 */
292 0xfe, /* 11111110 */
293 0x60, /* 01100000 */
294 0x30, /* 00110000 */
295 0x00, /* 00000000 */
296 0x00, /* 00000000 */
297
298 /* 28 0x1c '^\' */
299 0x00, /* 00000000 */
300 0x00, /* 00000000 */
301 0xc0, /* 11000000 */
302 0xc0, /* 11000000 */
303 0xc0, /* 11000000 */
304 0xfe, /* 11111110 */
305 0x00, /* 00000000 */
306 0x00, /* 00000000 */
307
308 /* 29 0x1d '^]' */
309 0x00, /* 00000000 */
310 0x24, /* 00100100 */
311 0x66, /* 01100110 */
312 0xff, /* 11111111 */
313 0x66, /* 01100110 */
314 0x24, /* 00100100 */
315 0x00, /* 00000000 */
316 0x00, /* 00000000 */
317
318 /* 30 0x1e '^^' */
319 0x00, /* 00000000 */
320 0x18, /* 00011000 */
321 0x3c, /* 00111100 */
322 0x7e, /* 01111110 */
323 0xff, /* 11111111 */
324 0xff, /* 11111111 */
325 0x00, /* 00000000 */
326 0x00, /* 00000000 */
327
328 /* 31 0x1f '^_' */
329 0x00, /* 00000000 */
330 0xff, /* 11111111 */
331 0xff, /* 11111111 */
332 0x7e, /* 01111110 */
333 0x3c, /* 00111100 */
334 0x18, /* 00011000 */
335 0x00, /* 00000000 */
336 0x00, /* 00000000 */
337
338 /* 32 0x20 ' ' */
339 0x00, /* 00000000 */
340 0x00, /* 00000000 */
341 0x00, /* 00000000 */
342 0x00, /* 00000000 */
343 0x00, /* 00000000 */
344 0x00, /* 00000000 */
345 0x00, /* 00000000 */
346 0x00, /* 00000000 */
347
348 /* 33 0x21 '!' */
349 0x18, /* 00011000 */
350 0x3c, /* 00111100 */
351 0x3c, /* 00111100 */
352 0x3c, /* 00111100 */
353 0x18, /* 00011000 */
354 0x00, /* 00000000 */
355 0x18, /* 00011000 */
356 0x00, /* 00000000 */
357
358 /* 34 0x22 '"' */
359 0x6c, /* 01101100 */
360 0x6c, /* 01101100 */
361 0x00, /* 00000000 */
362 0x00, /* 00000000 */
363 0x00, /* 00000000 */
364 0x00, /* 00000000 */
365 0x00, /* 00000000 */
366 0x00, /* 00000000 */
367
368 /* 35 0x23 '#' */
369 0x6c, /* 01101100 */
370 0x6c, /* 01101100 */
371 0xfe, /* 11111110 */
372 0x6c, /* 01101100 */
373 0xfe, /* 11111110 */
374 0x6c, /* 01101100 */
375 0x6c, /* 01101100 */
376 0x00, /* 00000000 */
377
378 /* 36 0x24 '$' */
379 0x18, /* 00011000 */
380 0x3e, /* 00111110 */
381 0x60, /* 01100000 */
382 0x3c, /* 00111100 */
383 0x06, /* 00000110 */
384 0x7c, /* 01111100 */
385 0x18, /* 00011000 */
386 0x00, /* 00000000 */
387
388 /* 37 0x25 '%' */
389 0x00, /* 00000000 */
390 0xc6, /* 11000110 */
391 0xcc, /* 11001100 */
392 0x18, /* 00011000 */
393 0x30, /* 00110000 */
394 0x66, /* 01100110 */
395 0xc6, /* 11000110 */
396 0x00, /* 00000000 */
397
398 /* 38 0x26 '&' */
399 0x38, /* 00111000 */
400 0x6c, /* 01101100 */
401 0x68, /* 01101000 */
402 0x76, /* 01110110 */
403 0xdc, /* 11011100 */
404 0xcc, /* 11001100 */
405 0x76, /* 01110110 */
406 0x00, /* 00000000 */
407
408 /* 39 0x27 ''' */
409 0x18, /* 00011000 */
410 0x18, /* 00011000 */
411 0x30, /* 00110000 */
412 0x00, /* 00000000 */
413 0x00, /* 00000000 */
414 0x00, /* 00000000 */
415 0x00, /* 00000000 */
416 0x00, /* 00000000 */
417
418 /* 40 0x28 '(' */
419 0x0c, /* 00001100 */
420 0x18, /* 00011000 */
421 0x30, /* 00110000 */
422 0x30, /* 00110000 */
423 0x30, /* 00110000 */
424 0x18, /* 00011000 */
425 0x0c, /* 00001100 */
426 0x00, /* 00000000 */
427
428 /* 41 0x29 ')' */
429 0x30, /* 00110000 */
430 0x18, /* 00011000 */
431 0x0c, /* 00001100 */
432 0x0c, /* 00001100 */
433 0x0c, /* 00001100 */
434 0x18, /* 00011000 */
435 0x30, /* 00110000 */
436 0x00, /* 00000000 */
437
438 /* 42 0x2a '*' */
439 0x00, /* 00000000 */
440 0x66, /* 01100110 */
441 0x3c, /* 00111100 */
442 0xff, /* 11111111 */
443 0x3c, /* 00111100 */
444 0x66, /* 01100110 */
445 0x00, /* 00000000 */
446 0x00, /* 00000000 */
447
448 /* 43 0x2b '+' */
449 0x00, /* 00000000 */
450 0x18, /* 00011000 */
451 0x18, /* 00011000 */
452 0x7e, /* 01111110 */
453 0x18, /* 00011000 */
454 0x18, /* 00011000 */
455 0x00, /* 00000000 */
456 0x00, /* 00000000 */
457
458 /* 44 0x2c ',' */
459 0x00, /* 00000000 */
460 0x00, /* 00000000 */
461 0x00, /* 00000000 */
462 0x00, /* 00000000 */
463 0x00, /* 00000000 */
464 0x18, /* 00011000 */
465 0x18, /* 00011000 */
466 0x30, /* 00110000 */
467
468 /* 45 0x2d '-' */
469 0x00, /* 00000000 */
470 0x00, /* 00000000 */
471 0x00, /* 00000000 */
472 0x7e, /* 01111110 */
473 0x00, /* 00000000 */
474 0x00, /* 00000000 */
475 0x00, /* 00000000 */
476 0x00, /* 00000000 */
477
478 /* 46 0x2e '.' */
479 0x00, /* 00000000 */
480 0x00, /* 00000000 */
481 0x00, /* 00000000 */
482 0x00, /* 00000000 */
483 0x00, /* 00000000 */
484 0x18, /* 00011000 */
485 0x18, /* 00011000 */
486 0x00, /* 00000000 */
487
488 /* 47 0x2f '/' */
489 0x03, /* 00000011 */
490 0x06, /* 00000110 */
491 0x0c, /* 00001100 */
492 0x18, /* 00011000 */
493 0x30, /* 00110000 */
494 0x60, /* 01100000 */
495 0xc0, /* 11000000 */
496 0x00, /* 00000000 */
497
498 /* 48 0x30 '0' */
499 0x7c, /* 01111100 */
500 0xc6, /* 11000110 */
501 0xde, /* 11011110 */
502 0xfe, /* 11111110 */
503 0xf6, /* 11110110 */
504 0xc6, /* 11000110 */
505 0x7c, /* 01111100 */
506 0x00, /* 00000000 */
507
508 /* 49 0x31 '1' */
509 0x18, /* 00011000 */
510 0x78, /* 01111000 */
511 0x18, /* 00011000 */
512 0x18, /* 00011000 */
513 0x18, /* 00011000 */
514 0x18, /* 00011000 */
515 0x18, /* 00011000 */
516 0x00, /* 00000000 */
517
518 /* 50 0x32 '2' */
519 0x7c, /* 01111100 */
520 0xc6, /* 11000110 */
521 0x0c, /* 00001100 */
522 0x18, /* 00011000 */
523 0x30, /* 00110000 */
524 0x60, /* 01100000 */
525 0xfe, /* 11111110 */
526 0x00, /* 00000000 */
527
528 /* 51 0x33 '3' */
529 0x7c, /* 01111100 */
530 0xc6, /* 11000110 */
531 0x06, /* 00000110 */
532 0x1c, /* 00011100 */
533 0x06, /* 00000110 */
534 0xc6, /* 11000110 */
535 0x7c, /* 01111100 */
536 0x00, /* 00000000 */
537
538 /* 52 0x34 '4' */
539 0x1c, /* 00011100 */
540 0x3c, /* 00111100 */
541 0x6c, /* 01101100 */
542 0xcc, /* 11001100 */
543 0xfe, /* 11111110 */
544 0x0c, /* 00001100 */
545 0x0c, /* 00001100 */
546 0x00, /* 00000000 */
547
548 /* 53 0x35 '5' */
549 0xfe, /* 11111110 */
550 0xc0, /* 11000000 */
551 0xfc, /* 11111100 */
552 0x06, /* 00000110 */
553 0x06, /* 00000110 */
554 0xc6, /* 11000110 */
555 0x7c, /* 01111100 */
556 0x00, /* 00000000 */
557
558 /* 54 0x36 '6' */
559 0x38, /* 00111000 */
560 0x60, /* 01100000 */
561 0xc0, /* 11000000 */
562 0xfc, /* 11111100 */
563 0xc6, /* 11000110 */
564 0xc6, /* 11000110 */
565 0x7c, /* 01111100 */
566 0x00, /* 00000000 */
567
568 /* 55 0x37 '7' */
569 0xfe, /* 11111110 */
570 0x06, /* 00000110 */
571 0x0c, /* 00001100 */
572 0x18, /* 00011000 */
573 0x30, /* 00110000 */
574 0x60, /* 01100000 */
575 0x60, /* 01100000 */
576 0x00, /* 00000000 */
577
578 /* 56 0x38 '8' */
579 0x7c, /* 01111100 */
580 0xc6, /* 11000110 */
581 0xc6, /* 11000110 */
582 0x7c, /* 01111100 */
583 0xc6, /* 11000110 */
584 0xc6, /* 11000110 */
585 0x7c, /* 01111100 */
586 0x00, /* 00000000 */
587
588 /* 57 0x39 '9' */
589 0x7c, /* 01111100 */
590 0xc6, /* 11000110 */
591 0xc6, /* 11000110 */
592 0x7e, /* 01111110 */
593 0x06, /* 00000110 */
594 0x0c, /* 00001100 */
595 0x38, /* 00111000 */
596 0x00, /* 00000000 */
597
598 /* 58 0x3a ':' */
599 0x00, /* 00000000 */
600 0x18, /* 00011000 */
601 0x18, /* 00011000 */
602 0x00, /* 00000000 */
603 0x00, /* 00000000 */
604 0x18, /* 00011000 */
605 0x18, /* 00011000 */
606 0x00, /* 00000000 */
607
608 /* 59 0x3b ';' */
609 0x00, /* 00000000 */
610 0x18, /* 00011000 */
611 0x18, /* 00011000 */
612 0x00, /* 00000000 */
613 0x00, /* 00000000 */
614 0x18, /* 00011000 */
615 0x18, /* 00011000 */
616 0x30, /* 00110000 */
617
618 /* 60 0x3c '<' */
619 0x0c, /* 00001100 */
620 0x18, /* 00011000 */
621 0x30, /* 00110000 */
622 0x60, /* 01100000 */
623 0x30, /* 00110000 */
624 0x18, /* 00011000 */
625 0x0c, /* 00001100 */
626 0x00, /* 00000000 */
627
628 /* 61 0x3d '=' */
629 0x00, /* 00000000 */
630 0x00, /* 00000000 */
631 0x7e, /* 01111110 */
632 0x00, /* 00000000 */
633 0x00, /* 00000000 */
634 0x7e, /* 01111110 */
635 0x00, /* 00000000 */
636 0x00, /* 00000000 */
637
638 /* 62 0x3e '>' */
639 0x30, /* 00110000 */
640 0x18, /* 00011000 */
641 0x0c, /* 00001100 */
642 0x06, /* 00000110 */
643 0x0c, /* 00001100 */
644 0x18, /* 00011000 */
645 0x30, /* 00110000 */
646 0x00, /* 00000000 */
647
648 /* 63 0x3f '?' */
649 0x3c, /* 00111100 */
650 0x66, /* 01100110 */
651 0x06, /* 00000110 */
652 0x0c, /* 00001100 */
653 0x18, /* 00011000 */
654 0x00, /* 00000000 */
655 0x18, /* 00011000 */
656 0x00, /* 00000000 */
657
658 /* 64 0x40 '@' */
659 0x7c, /* 01111100 */
660 0xc6, /* 11000110 */
661 0xde, /* 11011110 */
662 0xde, /* 11011110 */
663 0xde, /* 11011110 */
664 0xc0, /* 11000000 */
665 0x7c, /* 01111100 */
666 0x00, /* 00000000 */
667
668 /* 65 0x41 'A' */
669 0x10, /* 00010000 */
670 0x38, /* 00111000 */
671 0x6c, /* 01101100 */
672 0xc6, /* 11000110 */
673 0xfe, /* 11111110 */
674 0xc6, /* 11000110 */
675 0xc6, /* 11000110 */
676 0x00, /* 00000000 */
677
678 /* 66 0x42 'B' */
679 0xfc, /* 11111100 */
680 0xc6, /* 11000110 */
681 0xc6, /* 11000110 */
682 0xfc, /* 11111100 */
683 0xc6, /* 11000110 */
684 0xc6, /* 11000110 */
685 0xfc, /* 11111100 */
686 0x00, /* 00000000 */
687
688 /* 67 0x43 'C' */
689 0x7c, /* 01111100 */
690 0xc6, /* 11000110 */
691 0xc0, /* 11000000 */
692 0xc0, /* 11000000 */
693 0xc0, /* 11000000 */
694 0xc6, /* 11000110 */
695 0x7c, /* 01111100 */
696 0x00, /* 00000000 */
697
698 /* 68 0x44 'D' */
699 0xfc, /* 11111100 */
700 0xc6, /* 11000110 */
701 0xc6, /* 11000110 */
702 0xc6, /* 11000110 */
703 0xc6, /* 11000110 */
704 0xc6, /* 11000110 */
705 0xfc, /* 11111100 */
706 0x00, /* 00000000 */
707
708 /* 69 0x45 'E' */
709 0xfe, /* 11111110 */
710 0xc0, /* 11000000 */
711 0xc0, /* 11000000 */
712 0xf8, /* 11111000 */
713 0xc0, /* 11000000 */
714 0xc0, /* 11000000 */
715 0xfe, /* 11111110 */
716 0x00, /* 00000000 */
717
718 /* 70 0x46 'F' */
719 0xfe, /* 11111110 */
720 0xc0, /* 11000000 */
721 0xc0, /* 11000000 */
722 0xf8, /* 11111000 */
723 0xc0, /* 11000000 */
724 0xc0, /* 11000000 */
725 0xc0, /* 11000000 */
726 0x00, /* 00000000 */
727
728 /* 71 0x47 'G' */
729 0x7c, /* 01111100 */
730 0xc6, /* 11000110 */
731 0xc0, /* 11000000 */
732 0xce, /* 11001110 */
733 0xc6, /* 11000110 */
734 0xc6, /* 11000110 */
735 0x7c, /* 01111100 */
736 0x00, /* 00000000 */
737
738 /* 72 0x48 'H' */
739 0xc6, /* 11000110 */
740 0xc6, /* 11000110 */
741 0xc6, /* 11000110 */
742 0xfe, /* 11111110 */
743 0xc6, /* 11000110 */
744 0xc6, /* 11000110 */
745 0xc6, /* 11000110 */
746 0x00, /* 00000000 */
747
748 /* 73 0x49 'I' */
749 0x7e, /* 01111110 */
750 0x18, /* 00011000 */
751 0x18, /* 00011000 */
752 0x18, /* 00011000 */
753 0x18, /* 00011000 */
754 0x18, /* 00011000 */
755 0x7e, /* 01111110 */
756 0x00, /* 00000000 */
757
758 /* 74 0x4a 'J' */
759 0x06, /* 00000110 */
760 0x06, /* 00000110 */
761 0x06, /* 00000110 */
762 0x06, /* 00000110 */
763 0xc6, /* 11000110 */
764 0xc6, /* 11000110 */
765 0x7c, /* 01111100 */
766 0x00, /* 00000000 */
767
768 /* 75 0x4b 'K' */
769 0xc6, /* 11000110 */
770 0xcc, /* 11001100 */
771 0xd8, /* 11011000 */
772 0xf0, /* 11110000 */
773 0xd8, /* 11011000 */
774 0xcc, /* 11001100 */
775 0xc6, /* 11000110 */
776 0x00, /* 00000000 */
777
778 /* 76 0x4c 'L' */
779 0xc0, /* 11000000 */
780 0xc0, /* 11000000 */
781 0xc0, /* 11000000 */
782 0xc0, /* 11000000 */
783 0xc0, /* 11000000 */
784 0xc0, /* 11000000 */
785 0xfe, /* 11111110 */
786 0x00, /* 00000000 */
787
788 /* 77 0x4d 'M' */
789 0x82, /* 10000010 */
790 0xc6, /* 11000110 */
791 0xee, /* 11101110 */
792 0xfe, /* 11111110 */
793 0xd6, /* 11010110 */
794 0xc6, /* 11000110 */
795 0xc6, /* 11000110 */
796 0x00, /* 00000000 */
797
798 /* 78 0x4e 'N' */
799 0xc6, /* 11000110 */
800 0xe6, /* 11100110 */
801 0xf6, /* 11110110 */
802 0xde, /* 11011110 */
803 0xce, /* 11001110 */
804 0xc6, /* 11000110 */
805 0xc6, /* 11000110 */
806 0x00, /* 00000000 */
807
808 /* 79 0x4f 'O' */
809 0x7c, /* 01111100 */
810 0xc6, /* 11000110 */
811 0xc6, /* 11000110 */
812 0xc6, /* 11000110 */
813 0xc6, /* 11000110 */
814 0xc6, /* 11000110 */
815 0x7c, /* 01111100 */
816 0x00, /* 00000000 */
817
818 /* 80 0x50 'P' */
819 0xfc, /* 11111100 */
820 0xc6, /* 11000110 */
821 0xc6, /* 11000110 */
822 0xfc, /* 11111100 */
823 0xc0, /* 11000000 */
824 0xc0, /* 11000000 */
825 0xc0, /* 11000000 */
826 0x00, /* 00000000 */
827
828 /* 81 0x51 'Q' */
829 0x7c, /* 01111100 */
830 0xc6, /* 11000110 */
831 0xc6, /* 11000110 */
832 0xc6, /* 11000110 */
833 0xf6, /* 11110110 */
834 0xde, /* 11011110 */
835 0x7c, /* 01111100 */
836 0x06, /* 00000110 */
837
838 /* 82 0x52 'R' */
839 0xfc, /* 11111100 */
840 0xc6, /* 11000110 */
841 0xc6, /* 11000110 */
842 0xfc, /* 11111100 */
843 0xd8, /* 11011000 */
844 0xcc, /* 11001100 */
845 0xc6, /* 11000110 */
846 0x00, /* 00000000 */
847
848 /* 83 0x53 'S' */
849 0x7c, /* 01111100 */
850 0xc6, /* 11000110 */
851 0x60, /* 01100000 */
852 0x38, /* 00111000 */
853 0x0c, /* 00001100 */
854 0xc6, /* 11000110 */
855 0x7c, /* 01111100 */
856 0x00, /* 00000000 */
857
858 /* 84 0x54 'T' */
859 0x7e, /* 01111110 */
860 0x18, /* 00011000 */
861 0x18, /* 00011000 */
862 0x18, /* 00011000 */
863 0x18, /* 00011000 */
864 0x18, /* 00011000 */
865 0x18, /* 00011000 */
866 0x00, /* 00000000 */
867
868 /* 85 0x55 'U' */
869 0xc6, /* 11000110 */
870 0xc6, /* 11000110 */
871 0xc6, /* 11000110 */
872 0xc6, /* 11000110 */
873 0xc6, /* 11000110 */
874 0xc6, /* 11000110 */
875 0x7c, /* 01111100 */
876 0x00, /* 00000000 */
877
878 /* 86 0x56 'V' */
879 0xc3, /* 11000011 */
880 0xc3, /* 11000011 */
881 0x66, /* 01100110 */
882 0x66, /* 01100110 */
883 0x3c, /* 00111100 */
884 0x3c, /* 00111100 */
885 0x18, /* 00011000 */
886 0x00, /* 00000000 */
887
888 /* 87 0x57 'W' */
889 0xc6, /* 11000110 */
890 0xc6, /* 11000110 */
891 0xc6, /* 11000110 */
892 0xd6, /* 11010110 */
893 0xfe, /* 11111110 */
894 0xee, /* 11101110 */
895 0xc6, /* 11000110 */
896 0x00, /* 00000000 */
897
898 /* 88 0x58 'X' */
899 0xc3, /* 11000011 */
900 0x66, /* 01100110 */
901 0x3c, /* 00111100 */
902 0x18, /* 00011000 */
903 0x3c, /* 00111100 */
904 0x66, /* 01100110 */
905 0xc3, /* 11000011 */
906 0x00, /* 00000000 */
907
908 /* 89 0x59 'Y' */
909 0xc3, /* 11000011 */
910 0xc3, /* 11000011 */
911 0x66, /* 01100110 */
912 0x3c, /* 00111100 */
913 0x18, /* 00011000 */
914 0x18, /* 00011000 */
915 0x18, /* 00011000 */
916 0x00, /* 00000000 */
917
918 /* 90 0x5a 'Z' */
919 0xfe, /* 11111110 */
920 0x06, /* 00000110 */
921 0x0c, /* 00001100 */
922 0x18, /* 00011000 */
923 0x30, /* 00110000 */
924 0x60, /* 01100000 */
925 0xfe, /* 11111110 */
926 0x00, /* 00000000 */
927
928 /* 91 0x5b '[' */
929 0x3c, /* 00111100 */
930 0x30, /* 00110000 */
931 0x30, /* 00110000 */
932 0x30, /* 00110000 */
933 0x30, /* 00110000 */
934 0x30, /* 00110000 */
935 0x3c, /* 00111100 */
936 0x00, /* 00000000 */
937
938 /* 92 0x5c '\' */
939 0xc0, /* 11000000 */
940 0x60, /* 01100000 */
941 0x30, /* 00110000 */
942 0x18, /* 00011000 */
943 0x0c, /* 00001100 */
944 0x06, /* 00000110 */
945 0x03, /* 00000011 */
946 0x00, /* 00000000 */
947
948 /* 93 0x5d ']' */
949 0x3c, /* 00111100 */
950 0x0c, /* 00001100 */
951 0x0c, /* 00001100 */
952 0x0c, /* 00001100 */
953 0x0c, /* 00001100 */
954 0x0c, /* 00001100 */
955 0x3c, /* 00111100 */
956 0x00, /* 00000000 */
957
958 /* 94 0x5e '^' */
959 0x10, /* 00010000 */
960 0x38, /* 00111000 */
961 0x6c, /* 01101100 */
962 0xc6, /* 11000110 */
963 0x00, /* 00000000 */
964 0x00, /* 00000000 */
965 0x00, /* 00000000 */
966 0x00, /* 00000000 */
967
968 /* 95 0x5f '_' */
969 0x00, /* 00000000 */
970 0x00, /* 00000000 */
971 0x00, /* 00000000 */
972 0x00, /* 00000000 */
973 0x00, /* 00000000 */
974 0x00, /* 00000000 */
975 0x00, /* 00000000 */
976 0xfe, /* 11111110 */
977
978 /* 96 0x60 '`' */
979 0x18, /* 00011000 */
980 0x18, /* 00011000 */
981 0x0c, /* 00001100 */
982 0x00, /* 00000000 */
983 0x00, /* 00000000 */
984 0x00, /* 00000000 */
985 0x00, /* 00000000 */
986 0x00, /* 00000000 */
987
988 /* 97 0x61 'a' */
989 0x00, /* 00000000 */
990 0x00, /* 00000000 */
991 0x7c, /* 01111100 */
992 0x06, /* 00000110 */
993 0x7e, /* 01111110 */
994 0xc6, /* 11000110 */
995 0x7e, /* 01111110 */
996 0x00, /* 00000000 */
997
998 /* 98 0x62 'b' */
999 0xc0, /* 11000000 */
1000 0xc0, /* 11000000 */
1001 0xfc, /* 11111100 */
1002 0xc6, /* 11000110 */
1003 0xc6, /* 11000110 */
1004 0xc6, /* 11000110 */
1005 0xfc, /* 11111100 */
1006 0x00, /* 00000000 */
1007
1008 /* 99 0x63 'c' */
1009 0x00, /* 00000000 */
1010 0x00, /* 00000000 */
1011 0x7c, /* 01111100 */
1012 0xc6, /* 11000110 */
1013 0xc0, /* 11000000 */
1014 0xc6, /* 11000110 */
1015 0x7c, /* 01111100 */
1016 0x00, /* 00000000 */
1017
1018 /* 100 0x64 'd' */
1019 0x06, /* 00000110 */
1020 0x06, /* 00000110 */
1021 0x7e, /* 01111110 */
1022 0xc6, /* 11000110 */
1023 0xc6, /* 11000110 */
1024 0xc6, /* 11000110 */
1025 0x7e, /* 01111110 */
1026 0x00, /* 00000000 */
1027
1028 /* 101 0x65 'e' */
1029 0x00, /* 00000000 */
1030 0x00, /* 00000000 */
1031 0x7c, /* 01111100 */
1032 0xc6, /* 11000110 */
1033 0xfe, /* 11111110 */
1034 0xc0, /* 11000000 */
1035 0x7c, /* 01111100 */
1036 0x00, /* 00000000 */
1037
1038 /* 102 0x66 'f' */
1039 0x3c, /* 00111100 */
1040 0x66, /* 01100110 */
1041 0x60, /* 01100000 */
1042 0xf0, /* 11110000 */
1043 0x60, /* 01100000 */
1044 0x60, /* 01100000 */
1045 0x60, /* 01100000 */
1046 0x00, /* 00000000 */
1047
1048 /* 103 0x67 'g' */
1049 0x00, /* 00000000 */
1050 0x00, /* 00000000 */
1051 0x7e, /* 01111110 */
1052 0xc6, /* 11000110 */
1053 0xc6, /* 11000110 */
1054 0x7e, /* 01111110 */
1055 0x06, /* 00000110 */
1056 0x7c, /* 01111100 */
1057
1058 /* 104 0x68 'h' */
1059 0xc0, /* 11000000 */
1060 0xc0, /* 11000000 */
1061 0xfc, /* 11111100 */
1062 0xc6, /* 11000110 */
1063 0xc6, /* 11000110 */
1064 0xc6, /* 11000110 */
1065 0xc6, /* 11000110 */
1066 0x00, /* 00000000 */
1067
1068 /* 105 0x69 'i' */
1069 0x18, /* 00011000 */
1070 0x00, /* 00000000 */
1071 0x38, /* 00111000 */
1072 0x18, /* 00011000 */
1073 0x18, /* 00011000 */
1074 0x18, /* 00011000 */
1075 0x18, /* 00011000 */
1076 0x00, /* 00000000 */
1077
1078 /* 106 0x6a 'j' */
1079 0x06, /* 00000110 */
1080 0x00, /* 00000000 */
1081 0x06, /* 00000110 */
1082 0x06, /* 00000110 */
1083 0x06, /* 00000110 */
1084 0x06, /* 00000110 */
1085 0xc6, /* 11000110 */
1086 0x7c, /* 01111100 */
1087
1088 /* 107 0x6b 'k' */
1089 0xc0, /* 11000000 */
1090 0xc0, /* 11000000 */
1091 0xcc, /* 11001100 */
1092 0xd8, /* 11011000 */
1093 0xf0, /* 11110000 */
1094 0xd8, /* 11011000 */
1095 0xcc, /* 11001100 */
1096 0x00, /* 00000000 */
1097
1098 /* 108 0x6c 'l' */
1099 0x38, /* 00111000 */
1100 0x18, /* 00011000 */
1101 0x18, /* 00011000 */
1102 0x18, /* 00011000 */
1103 0x18, /* 00011000 */
1104 0x18, /* 00011000 */
1105 0x18, /* 00011000 */
1106 0x00, /* 00000000 */
1107
1108 /* 109 0x6d 'm' */
1109 0x00, /* 00000000 */
1110 0x00, /* 00000000 */
1111 0xec, /* 11101100 */
1112 0xfe, /* 11111110 */
1113 0xd6, /* 11010110 */
1114 0xc6, /* 11000110 */
1115 0xc6, /* 11000110 */
1116 0x00, /* 00000000 */
1117
1118 /* 110 0x6e 'n' */
1119 0x00, /* 00000000 */
1120 0x00, /* 00000000 */
1121 0xfc, /* 11111100 */
1122 0xc6, /* 11000110 */
1123 0xc6, /* 11000110 */
1124 0xc6, /* 11000110 */
1125 0xc6, /* 11000110 */
1126 0x00, /* 00000000 */
1127
1128 /* 111 0x6f 'o' */
1129 0x00, /* 00000000 */
1130 0x00, /* 00000000 */
1131 0x7c, /* 01111100 */
1132 0xc6, /* 11000110 */
1133 0xc6, /* 11000110 */
1134 0xc6, /* 11000110 */
1135 0x7c, /* 01111100 */
1136 0x00, /* 00000000 */
1137
1138 /* 112 0x70 'p' */
1139 0x00, /* 00000000 */
1140 0x00, /* 00000000 */
1141 0xfc, /* 11111100 */
1142 0xc6, /* 11000110 */
1143 0xc6, /* 11000110 */
1144 0xfc, /* 11111100 */
1145 0xc0, /* 11000000 */
1146 0xc0, /* 11000000 */
1147
1148 /* 113 0x71 'q' */
1149 0x00, /* 00000000 */
1150 0x00, /* 00000000 */
1151 0x7e, /* 01111110 */
1152 0xc6, /* 11000110 */
1153 0xc6, /* 11000110 */
1154 0x7e, /* 01111110 */
1155 0x06, /* 00000110 */
1156 0x06, /* 00000110 */
1157
1158 /* 114 0x72 'r' */
1159 0x00, /* 00000000 */
1160 0x00, /* 00000000 */
1161 0xdc, /* 11011100 */
1162 0xe6, /* 11100110 */
1163 0xc0, /* 11000000 */
1164 0xc0, /* 11000000 */
1165 0xc0, /* 11000000 */
1166 0x00, /* 00000000 */
1167
1168 /* 115 0x73 's' */
1169 0x00, /* 00000000 */
1170 0x00, /* 00000000 */
1171 0x7e, /* 01111110 */
1172 0xc0, /* 11000000 */
1173 0x7c, /* 01111100 */
1174 0x06, /* 00000110 */
1175 0xfc, /* 11111100 */
1176 0x00, /* 00000000 */
1177
1178 /* 116 0x74 't' */
1179 0x30, /* 00110000 */
1180 0x30, /* 00110000 */
1181 0x7c, /* 01111100 */
1182 0x30, /* 00110000 */
1183 0x30, /* 00110000 */
1184 0x36, /* 00110110 */
1185 0x1c, /* 00011100 */
1186 0x00, /* 00000000 */
1187
1188 /* 117 0x75 'u' */
1189 0x00, /* 00000000 */
1190 0x00, /* 00000000 */
1191 0xc6, /* 11000110 */
1192 0xc6, /* 11000110 */
1193 0xc6, /* 11000110 */
1194 0xc6, /* 11000110 */
1195 0x7c, /* 01111100 */
1196 0x00, /* 00000000 */
1197
1198 /* 118 0x76 'v' */
1199 0x00, /* 00000000 */
1200 0x00, /* 00000000 */
1201 0xc6, /* 11000110 */
1202 0xc6, /* 11000110 */
1203 0xc6, /* 11000110 */
1204 0x6c, /* 01101100 */
1205 0x38, /* 00111000 */
1206 0x00, /* 00000000 */
1207
1208 /* 119 0x77 'w' */
1209 0x00, /* 00000000 */
1210 0x00, /* 00000000 */
1211 0xc6, /* 11000110 */
1212 0xc6, /* 11000110 */
1213 0xd6, /* 11010110 */
1214 0xfe, /* 11111110 */
1215 0x6c, /* 01101100 */
1216 0x00, /* 00000000 */
1217
1218 /* 120 0x78 'x' */
1219 0x00, /* 00000000 */
1220 0x00, /* 00000000 */
1221 0xc6, /* 11000110 */
1222 0x6c, /* 01101100 */
1223 0x38, /* 00111000 */
1224 0x6c, /* 01101100 */
1225 0xc6, /* 11000110 */
1226 0x00, /* 00000000 */
1227
1228 /* 121 0x79 'y' */
1229 0x00, /* 00000000 */
1230 0x00, /* 00000000 */
1231 0xc3, /* 11000011 */
1232 0x66, /* 01100110 */
1233 0x3c, /* 00111100 */
1234 0x18, /* 00011000 */
1235 0x30, /* 00110000 */
1236 0x60, /* 01100000 */
1237
1238 /* 122 0x7a 'z' */
1239 0x00, /* 00000000 */
1240 0x00, /* 00000000 */
1241 0xfe, /* 11111110 */
1242 0x0c, /* 00001100 */
1243 0x38, /* 00111000 */
1244 0x60, /* 01100000 */
1245 0xfe, /* 11111110 */
1246 0x00, /* 00000000 */
1247
1248 /* 123 0x7b '{' */
1249 0x0e, /* 00001110 */
1250 0x18, /* 00011000 */
1251 0x18, /* 00011000 */
1252 0x70, /* 01110000 */
1253 0x18, /* 00011000 */
1254 0x18, /* 00011000 */
1255 0x0e, /* 00001110 */
1256 0x00, /* 00000000 */
1257
1258 /* 124 0x7c '|' */
1259 0x18, /* 00011000 */
1260 0x18, /* 00011000 */
1261 0x18, /* 00011000 */
1262 0x18, /* 00011000 */
1263 0x18, /* 00011000 */
1264 0x18, /* 00011000 */
1265 0x18, /* 00011000 */
1266 0x00, /* 00000000 */
1267
1268 /* 125 0x7d '}' */
1269 0x70, /* 01110000 */
1270 0x18, /* 00011000 */
1271 0x18, /* 00011000 */
1272 0x0e, /* 00001110 */
1273 0x18, /* 00011000 */
1274 0x18, /* 00011000 */
1275 0x70, /* 01110000 */
1276 0x00, /* 00000000 */
1277
1278 /* 126 0x7e '~' */
1279 0x72, /* 01110010 */
1280 0x9c, /* 10011100 */
1281 0x00, /* 00000000 */
1282 0x00, /* 00000000 */
1283 0x00, /* 00000000 */
1284 0x00, /* 00000000 */
1285 0x00, /* 00000000 */
1286 0x00, /* 00000000 */
1287
1288 /* 127 0x7f '' */
1289 0x00, /* 00000000 */
1290 0x10, /* 00010000 */
1291 0x38, /* 00111000 */
1292 0x6c, /* 01101100 */
1293 0xc6, /* 11000110 */
1294 0xc6, /* 11000110 */
1295 0xfe, /* 11111110 */
1296 0x00, /* 00000000 */
1297
1298 /* 128 0x80 '€' */
1299 0x7c, /* 01111100 */
1300 0xc6, /* 11000110 */
1301 0xc0, /* 11000000 */
1302 0xc0, /* 11000000 */
1303 0xc6, /* 11000110 */
1304 0x7c, /* 01111100 */
1305 0x0c, /* 00001100 */
1306 0x78, /* 01111000 */
1307
1308 /* 129 0x81 '' */
1309 0xcc, /* 11001100 */
1310 0x00, /* 00000000 */
1311 0xcc, /* 11001100 */
1312 0xcc, /* 11001100 */
1313 0xcc, /* 11001100 */
1314 0xcc, /* 11001100 */
1315 0x76, /* 01110110 */
1316 0x00, /* 00000000 */
1317
1318 /* 130 0x82 '‚' */
1319 0x0c, /* 00001100 */
1320 0x18, /* 00011000 */
1321 0x7c, /* 01111100 */
1322 0xc6, /* 11000110 */
1323 0xfe, /* 11111110 */
1324 0xc0, /* 11000000 */
1325 0x7c, /* 01111100 */
1326 0x00, /* 00000000 */
1327
1328 /* 131 0x83 'ƒ' */
1329 0x7c, /* 01111100 */
1330 0x82, /* 10000010 */
1331 0x78, /* 01111000 */
1332 0x0c, /* 00001100 */
1333 0x7c, /* 01111100 */
1334 0xcc, /* 11001100 */
1335 0x76, /* 01110110 */
1336 0x00, /* 00000000 */
1337
1338 /* 132 0x84 '„' */
1339 0xc6, /* 11000110 */
1340 0x00, /* 00000000 */
1341 0x78, /* 01111000 */
1342 0x0c, /* 00001100 */
1343 0x7c, /* 01111100 */
1344 0xcc, /* 11001100 */
1345 0x76, /* 01110110 */
1346 0x00, /* 00000000 */
1347
1348 /* 133 0x85 '…' */
1349 0x30, /* 00110000 */
1350 0x18, /* 00011000 */
1351 0x78, /* 01111000 */
1352 0x0c, /* 00001100 */
1353 0x7c, /* 01111100 */
1354 0xcc, /* 11001100 */
1355 0x76, /* 01110110 */
1356 0x00, /* 00000000 */
1357
1358 /* 134 0x86 '†' */
1359 0x30, /* 00110000 */
1360 0x30, /* 00110000 */
1361 0x78, /* 01111000 */
1362 0x0c, /* 00001100 */
1363 0x7c, /* 01111100 */
1364 0xcc, /* 11001100 */
1365 0x76, /* 01110110 */
1366 0x00, /* 00000000 */
1367
1368 /* 135 0x87 '‡' */
1369 0x00, /* 00000000 */
1370 0x00, /* 00000000 */
1371 0x7e, /* 01111110 */
1372 0xc0, /* 11000000 */
1373 0xc0, /* 11000000 */
1374 0x7e, /* 01111110 */
1375 0x0c, /* 00001100 */
1376 0x38, /* 00111000 */
1377
1378 /* 136 0x88 'ˆ' */
1379 0x7c, /* 01111100 */
1380 0x82, /* 10000010 */
1381 0x7c, /* 01111100 */
1382 0xc6, /* 11000110 */
1383 0xfe, /* 11111110 */
1384 0xc0, /* 11000000 */
1385 0x7c, /* 01111100 */
1386 0x00, /* 00000000 */
1387
1388 /* 137 0x89 '‰' */
1389 0xc6, /* 11000110 */
1390 0x00, /* 00000000 */
1391 0x7c, /* 01111100 */
1392 0xc6, /* 11000110 */
1393 0xfe, /* 11111110 */
1394 0xc0, /* 11000000 */
1395 0x7c, /* 01111100 */
1396 0x00, /* 00000000 */
1397
1398 /* 138 0x8a 'Š' */
1399 0x30, /* 00110000 */
1400 0x18, /* 00011000 */
1401 0x7c, /* 01111100 */
1402 0xc6, /* 11000110 */
1403 0xfe, /* 11111110 */
1404 0xc0, /* 11000000 */
1405 0x7c, /* 01111100 */
1406 0x00, /* 00000000 */
1407
1408 /* 139 0x8b '‹' */
1409 0x66, /* 01100110 */
1410 0x00, /* 00000000 */
1411 0x38, /* 00111000 */
1412 0x18, /* 00011000 */
1413 0x18, /* 00011000 */
1414 0x18, /* 00011000 */
1415 0x3c, /* 00111100 */
1416 0x00, /* 00000000 */
1417
1418 /* 140 0x8c 'Œ' */
1419 0x7c, /* 01111100 */
1420 0x82, /* 10000010 */
1421 0x38, /* 00111000 */
1422 0x18, /* 00011000 */
1423 0x18, /* 00011000 */
1424 0x18, /* 00011000 */
1425 0x3c, /* 00111100 */
1426 0x00, /* 00000000 */
1427
1428 /* 141 0x8d '' */
1429 0x30, /* 00110000 */
1430 0x18, /* 00011000 */
1431 0x00, /* 00000000 */
1432 0x38, /* 00111000 */
1433 0x18, /* 00011000 */
1434 0x18, /* 00011000 */
1435 0x3c, /* 00111100 */
1436 0x00, /* 00000000 */
1437
1438 /* 142 0x8e 'Ž' */
1439 0xc6, /* 11000110 */
1440 0x38, /* 00111000 */
1441 0x6c, /* 01101100 */
1442 0xc6, /* 11000110 */
1443 0xfe, /* 11111110 */
1444 0xc6, /* 11000110 */
1445 0xc6, /* 11000110 */
1446 0x00, /* 00000000 */
1447
1448 /* 143 0x8f '' */
1449 0x38, /* 00111000 */
1450 0x6c, /* 01101100 */
1451 0x7c, /* 01111100 */
1452 0xc6, /* 11000110 */
1453 0xfe, /* 11111110 */
1454 0xc6, /* 11000110 */
1455 0xc6, /* 11000110 */
1456 0x00, /* 00000000 */
1457
1458 /* 144 0x90 '' */
1459 0x18, /* 00011000 */
1460 0x30, /* 00110000 */
1461 0xfe, /* 11111110 */
1462 0xc0, /* 11000000 */
1463 0xf8, /* 11111000 */
1464 0xc0, /* 11000000 */
1465 0xfe, /* 11111110 */
1466 0x00, /* 00000000 */
1467
1468 /* 145 0x91 '‘' */
1469 0x00, /* 00000000 */
1470 0x00, /* 00000000 */
1471 0x7e, /* 01111110 */
1472 0x18, /* 00011000 */
1473 0x7e, /* 01111110 */
1474 0xd8, /* 11011000 */
1475 0x7e, /* 01111110 */
1476 0x00, /* 00000000 */
1477
1478 /* 146 0x92 '’' */
1479 0x3e, /* 00111110 */
1480 0x6c, /* 01101100 */
1481 0xcc, /* 11001100 */
1482 0xfe, /* 11111110 */
1483 0xcc, /* 11001100 */
1484 0xcc, /* 11001100 */
1485 0xce, /* 11001110 */
1486 0x00, /* 00000000 */
1487
1488 /* 147 0x93 '“' */
1489 0x7c, /* 01111100 */
1490 0x82, /* 10000010 */
1491 0x7c, /* 01111100 */
1492 0xc6, /* 11000110 */
1493 0xc6, /* 11000110 */
1494 0xc6, /* 11000110 */
1495 0x7c, /* 01111100 */
1496 0x00, /* 00000000 */
1497
1498 /* 148 0x94 '”' */
1499 0xc6, /* 11000110 */
1500 0x00, /* 00000000 */
1501 0x7c, /* 01111100 */
1502 0xc6, /* 11000110 */
1503 0xc6, /* 11000110 */
1504 0xc6, /* 11000110 */
1505 0x7c, /* 01111100 */
1506 0x00, /* 00000000 */
1507
1508 /* 149 0x95 '•' */
1509 0x30, /* 00110000 */
1510 0x18, /* 00011000 */
1511 0x7c, /* 01111100 */
1512 0xc6, /* 11000110 */
1513 0xc6, /* 11000110 */
1514 0xc6, /* 11000110 */
1515 0x7c, /* 01111100 */
1516 0x00, /* 00000000 */
1517
1518 /* 150 0x96 '–' */
1519 0x78, /* 01111000 */
1520 0x84, /* 10000100 */
1521 0x00, /* 00000000 */
1522 0xcc, /* 11001100 */
1523 0xcc, /* 11001100 */
1524 0xcc, /* 11001100 */
1525 0x76, /* 01110110 */
1526 0x00, /* 00000000 */
1527
1528 /* 151 0x97 '—' */
1529 0x60, /* 01100000 */
1530 0x30, /* 00110000 */
1531 0xcc, /* 11001100 */
1532 0xcc, /* 11001100 */
1533 0xcc, /* 11001100 */
1534 0xcc, /* 11001100 */
1535 0x76, /* 01110110 */
1536 0x00, /* 00000000 */
1537
1538 /* 152 0x98 '˜' */
1539 0xc6, /* 11000110 */
1540 0x00, /* 00000000 */
1541 0xc6, /* 11000110 */
1542 0xc6, /* 11000110 */
1543 0xc6, /* 11000110 */
1544 0x7e, /* 01111110 */
1545 0x06, /* 00000110 */
1546 0xfc, /* 11111100 */
1547
1548 /* 153 0x99 '™' */
1549 0xc6, /* 11000110 */
1550 0x38, /* 00111000 */
1551 0x6c, /* 01101100 */
1552 0xc6, /* 11000110 */
1553 0xc6, /* 11000110 */
1554 0x6c, /* 01101100 */
1555 0x38, /* 00111000 */
1556 0x00, /* 00000000 */
1557
1558 /* 154 0x9a 'š' */
1559 0xc6, /* 11000110 */
1560 0x00, /* 00000000 */
1561 0xc6, /* 11000110 */
1562 0xc6, /* 11000110 */
1563 0xc6, /* 11000110 */
1564 0xc6, /* 11000110 */
1565 0x7c, /* 01111100 */
1566 0x00, /* 00000000 */
1567
1568 /* 155 0x9b '›' */
1569 0x18, /* 00011000 */
1570 0x18, /* 00011000 */
1571 0x7e, /* 01111110 */
1572 0xc0, /* 11000000 */
1573 0xc0, /* 11000000 */
1574 0x7e, /* 01111110 */
1575 0x18, /* 00011000 */
1576 0x18, /* 00011000 */
1577
1578 /* 156 0x9c 'œ' */
1579 0x38, /* 00111000 */
1580 0x6c, /* 01101100 */
1581 0x64, /* 01100100 */
1582 0xf0, /* 11110000 */
1583 0x60, /* 01100000 */
1584 0x66, /* 01100110 */
1585 0xfc, /* 11111100 */
1586 0x00, /* 00000000 */
1587
1588 /* 157 0x9d '' */
1589 0x66, /* 01100110 */
1590 0x66, /* 01100110 */
1591 0x3c, /* 00111100 */
1592 0x7e, /* 01111110 */
1593 0x18, /* 00011000 */
1594 0x7e, /* 01111110 */
1595 0x18, /* 00011000 */
1596 0x18, /* 00011000 */
1597
1598 /* 158 0x9e 'ž' */
1599 0xf8, /* 11111000 */
1600 0xcc, /* 11001100 */
1601 0xcc, /* 11001100 */
1602 0xfa, /* 11111010 */
1603 0xc6, /* 11000110 */
1604 0xcf, /* 11001111 */
1605 0xc6, /* 11000110 */
1606 0xc7, /* 11000111 */
1607
1608 /* 159 0x9f 'Ÿ' */
1609 0x0e, /* 00001110 */
1610 0x1b, /* 00011011 */
1611 0x18, /* 00011000 */
1612 0x3c, /* 00111100 */
1613 0x18, /* 00011000 */
1614 0xd8, /* 11011000 */
1615 0x70, /* 01110000 */
1616 0x00, /* 00000000 */
1617
1618 /* 160 0xa0 ' ' */
1619 0x18, /* 00011000 */
1620 0x30, /* 00110000 */
1621 0x78, /* 01111000 */
1622 0x0c, /* 00001100 */
1623 0x7c, /* 01111100 */
1624 0xcc, /* 11001100 */
1625 0x76, /* 01110110 */
1626 0x00, /* 00000000 */
1627
1628 /* 161 0xa1 '¡' */
1629 0x0c, /* 00001100 */
1630 0x18, /* 00011000 */
1631 0x00, /* 00000000 */
1632 0x38, /* 00111000 */
1633 0x18, /* 00011000 */
1634 0x18, /* 00011000 */
1635 0x3c, /* 00111100 */
1636 0x00, /* 00000000 */
1637
1638 /* 162 0xa2 '¢' */
1639 0x0c, /* 00001100 */
1640 0x18, /* 00011000 */
1641 0x7c, /* 01111100 */
1642 0xc6, /* 11000110 */
1643 0xc6, /* 11000110 */
1644 0xc6, /* 11000110 */
1645 0x7c, /* 01111100 */
1646 0x00, /* 00000000 */
1647
1648 /* 163 0xa3 '£' */
1649 0x18, /* 00011000 */
1650 0x30, /* 00110000 */
1651 0xcc, /* 11001100 */
1652 0xcc, /* 11001100 */
1653 0xcc, /* 11001100 */
1654 0xcc, /* 11001100 */
1655 0x76, /* 01110110 */
1656 0x00, /* 00000000 */
1657
1658 /* 164 0xa4 '¤' */
1659 0x76, /* 01110110 */
1660 0xdc, /* 11011100 */
1661 0x00, /* 00000000 */
1662 0xdc, /* 11011100 */
1663 0x66, /* 01100110 */
1664 0x66, /* 01100110 */
1665 0x66, /* 01100110 */
1666 0x00, /* 00000000 */
1667
1668 /* 165 0xa5 '¥' */
1669 0x76, /* 01110110 */
1670 0xdc, /* 11011100 */
1671 0x00, /* 00000000 */
1672 0xe6, /* 11100110 */
1673 0xf6, /* 11110110 */
1674 0xde, /* 11011110 */
1675 0xce, /* 11001110 */
1676 0x00, /* 00000000 */
1677
1678 /* 166 0xa6 '¦' */
1679 0x3c, /* 00111100 */
1680 0x6c, /* 01101100 */
1681 0x6c, /* 01101100 */
1682 0x3e, /* 00111110 */
1683 0x00, /* 00000000 */
1684 0x7e, /* 01111110 */
1685 0x00, /* 00000000 */
1686 0x00, /* 00000000 */
1687
1688 /* 167 0xa7 '§' */
1689 0x38, /* 00111000 */
1690 0x6c, /* 01101100 */
1691 0x6c, /* 01101100 */
1692 0x38, /* 00111000 */
1693 0x00, /* 00000000 */
1694 0x7c, /* 01111100 */
1695 0x00, /* 00000000 */
1696 0x00, /* 00000000 */
1697
1698 /* 168 0xa8 '¨' */
1699 0x18, /* 00011000 */
1700 0x00, /* 00000000 */
1701 0x18, /* 00011000 */
1702 0x18, /* 00011000 */
1703 0x30, /* 00110000 */
1704 0x63, /* 01100011 */
1705 0x3e, /* 00111110 */
1706 0x00, /* 00000000 */
1707
1708 /* 169 0xa9 '©' */
1709 0x00, /* 00000000 */
1710 0x00, /* 00000000 */
1711 0x00, /* 00000000 */
1712 0xfe, /* 11111110 */
1713 0xc0, /* 11000000 */
1714 0xc0, /* 11000000 */
1715 0x00, /* 00000000 */
1716 0x00, /* 00000000 */
1717
1718 /* 170 0xaa 'ª' */
1719 0x00, /* 00000000 */
1720 0x00, /* 00000000 */
1721 0x00, /* 00000000 */
1722 0xfe, /* 11111110 */
1723 0x06, /* 00000110 */
1724 0x06, /* 00000110 */
1725 0x00, /* 00000000 */
1726 0x00, /* 00000000 */
1727
1728 /* 171 0xab '«' */
1729 0x63, /* 01100011 */
1730 0xe6, /* 11100110 */
1731 0x6c, /* 01101100 */
1732 0x7e, /* 01111110 */
1733 0x33, /* 00110011 */
1734 0x66, /* 01100110 */
1735 0xcc, /* 11001100 */
1736 0x0f, /* 00001111 */
1737
1738 /* 172 0xac '¬' */
1739 0x63, /* 01100011 */
1740 0xe6, /* 11100110 */
1741 0x6c, /* 01101100 */
1742 0x7a, /* 01111010 */
1743 0x36, /* 00110110 */
1744 0x6a, /* 01101010 */
1745 0xdf, /* 11011111 */
1746 0x06, /* 00000110 */
1747
1748 /* 173 0xad '­' */
1749 0x18, /* 00011000 */
1750 0x00, /* 00000000 */
1751 0x18, /* 00011000 */
1752 0x18, /* 00011000 */
1753 0x3c, /* 00111100 */
1754 0x3c, /* 00111100 */
1755 0x18, /* 00011000 */
1756 0x00, /* 00000000 */
1757
1758 /* 174 0xae '®' */
1759 0x00, /* 00000000 */
1760 0x33, /* 00110011 */
1761 0x66, /* 01100110 */
1762 0xcc, /* 11001100 */
1763 0x66, /* 01100110 */
1764 0x33, /* 00110011 */
1765 0x00, /* 00000000 */
1766 0x00, /* 00000000 */
1767
1768 /* 175 0xaf '¯' */
1769 0x00, /* 00000000 */
1770 0xcc, /* 11001100 */
1771 0x66, /* 01100110 */
1772 0x33, /* 00110011 */
1773 0x66, /* 01100110 */
1774 0xcc, /* 11001100 */
1775 0x00, /* 00000000 */
1776 0x00, /* 00000000 */
1777
1778 /* 176 0xb0 '°' */
1779 0x22, /* 00100010 */
1780 0x88, /* 10001000 */
1781 0x22, /* 00100010 */
1782 0x88, /* 10001000 */
1783 0x22, /* 00100010 */
1784 0x88, /* 10001000 */
1785 0x22, /* 00100010 */
1786 0x88, /* 10001000 */
1787
1788 /* 177 0xb1 '±' */
1789 0x55, /* 01010101 */
1790 0xaa, /* 10101010 */
1791 0x55, /* 01010101 */
1792 0xaa, /* 10101010 */
1793 0x55, /* 01010101 */
1794 0xaa, /* 10101010 */
1795 0x55, /* 01010101 */
1796 0xaa, /* 10101010 */
1797
1798 /* 178 0xb2 '²' */
1799 0x77, /* 01110111 */
1800 0xdd, /* 11011101 */
1801 0x77, /* 01110111 */
1802 0xdd, /* 11011101 */
1803 0x77, /* 01110111 */
1804 0xdd, /* 11011101 */
1805 0x77, /* 01110111 */
1806 0xdd, /* 11011101 */
1807
1808 /* 179 0xb3 '³' */
1809 0x18, /* 00011000 */
1810 0x18, /* 00011000 */
1811 0x18, /* 00011000 */
1812 0x18, /* 00011000 */
1813 0x18, /* 00011000 */
1814 0x18, /* 00011000 */
1815 0x18, /* 00011000 */
1816 0x18, /* 00011000 */
1817
1818 /* 180 0xb4 '´' */
1819 0x18, /* 00011000 */
1820 0x18, /* 00011000 */
1821 0x18, /* 00011000 */
1822 0x18, /* 00011000 */
1823 0xf8, /* 11111000 */
1824 0x18, /* 00011000 */
1825 0x18, /* 00011000 */
1826 0x18, /* 00011000 */
1827
1828 /* 181 0xb5 'µ' */
1829 0x18, /* 00011000 */
1830 0x18, /* 00011000 */
1831 0xf8, /* 11111000 */
1832 0x18, /* 00011000 */
1833 0xf8, /* 11111000 */
1834 0x18, /* 00011000 */
1835 0x18, /* 00011000 */
1836 0x18, /* 00011000 */
1837
1838 /* 182 0xb6 '¶' */
1839 0x36, /* 00110110 */
1840 0x36, /* 00110110 */
1841 0x36, /* 00110110 */
1842 0x36, /* 00110110 */
1843 0xf6, /* 11110110 */
1844 0x36, /* 00110110 */
1845 0x36, /* 00110110 */
1846 0x36, /* 00110110 */
1847
1848 /* 183 0xb7 '·' */
1849 0x00, /* 00000000 */
1850 0x00, /* 00000000 */
1851 0x00, /* 00000000 */
1852 0x00, /* 00000000 */
1853 0xfe, /* 11111110 */
1854 0x36, /* 00110110 */
1855 0x36, /* 00110110 */
1856 0x36, /* 00110110 */
1857
1858 /* 184 0xb8 '¸' */
1859 0x00, /* 00000000 */
1860 0x00, /* 00000000 */
1861 0xf8, /* 11111000 */
1862 0x18, /* 00011000 */
1863 0xf8, /* 11111000 */
1864 0x18, /* 00011000 */
1865 0x18, /* 00011000 */
1866 0x18, /* 00011000 */
1867
1868 /* 185 0xb9 '¹' */
1869 0x36, /* 00110110 */
1870 0x36, /* 00110110 */
1871 0xf6, /* 11110110 */
1872 0x06, /* 00000110 */
1873 0xf6, /* 11110110 */
1874 0x36, /* 00110110 */
1875 0x36, /* 00110110 */
1876 0x36, /* 00110110 */
1877
1878 /* 186 0xba 'º' */
1879 0x36, /* 00110110 */
1880 0x36, /* 00110110 */
1881 0x36, /* 00110110 */
1882 0x36, /* 00110110 */
1883 0x36, /* 00110110 */
1884 0x36, /* 00110110 */
1885 0x36, /* 00110110 */
1886 0x36, /* 00110110 */
1887
1888 /* 187 0xbb '»' */
1889 0x00, /* 00000000 */
1890 0x00, /* 00000000 */
1891 0xfe, /* 11111110 */
1892 0x06, /* 00000110 */
1893 0xf6, /* 11110110 */
1894 0x36, /* 00110110 */
1895 0x36, /* 00110110 */
1896 0x36, /* 00110110 */
1897
1898 /* 188 0xbc '¼' */
1899 0x36, /* 00110110 */
1900 0x36, /* 00110110 */
1901 0xf6, /* 11110110 */
1902 0x06, /* 00000110 */
1903 0xfe, /* 11111110 */
1904 0x00, /* 00000000 */
1905 0x00, /* 00000000 */
1906 0x00, /* 00000000 */
1907
1908 /* 189 0xbd '½' */
1909 0x36, /* 00110110 */
1910 0x36, /* 00110110 */
1911 0x36, /* 00110110 */
1912 0x36, /* 00110110 */
1913 0xfe, /* 11111110 */
1914 0x00, /* 00000000 */
1915 0x00, /* 00000000 */
1916 0x00, /* 00000000 */
1917
1918 /* 190 0xbe '¾' */
1919 0x18, /* 00011000 */
1920 0x18, /* 00011000 */
1921 0xf8, /* 11111000 */
1922 0x18, /* 00011000 */
1923 0xf8, /* 11111000 */
1924 0x00, /* 00000000 */
1925 0x00, /* 00000000 */
1926 0x00, /* 00000000 */
1927
1928 /* 191 0xbf '¿' */
1929 0x00, /* 00000000 */
1930 0x00, /* 00000000 */
1931 0x00, /* 00000000 */
1932 0x00, /* 00000000 */
1933 0xf8, /* 11111000 */
1934 0x18, /* 00011000 */
1935 0x18, /* 00011000 */
1936 0x18, /* 00011000 */
1937
1938 /* 192 0xc0 'À' */
1939 0x18, /* 00011000 */
1940 0x18, /* 00011000 */
1941 0x18, /* 00011000 */
1942 0x18, /* 00011000 */
1943 0x1f, /* 00011111 */
1944 0x00, /* 00000000 */
1945 0x00, /* 00000000 */
1946 0x00, /* 00000000 */
1947
1948 /* 193 0xc1 'Á' */
1949 0x18, /* 00011000 */
1950 0x18, /* 00011000 */
1951 0x18, /* 00011000 */
1952 0x18, /* 00011000 */
1953 0xff, /* 11111111 */
1954 0x00, /* 00000000 */
1955 0x00, /* 00000000 */
1956 0x00, /* 00000000 */
1957
1958 /* 194 0xc2 'Â' */
1959 0x00, /* 00000000 */
1960 0x00, /* 00000000 */
1961 0x00, /* 00000000 */
1962 0x00, /* 00000000 */
1963 0xff, /* 11111111 */
1964 0x18, /* 00011000 */
1965 0x18, /* 00011000 */
1966 0x18, /* 00011000 */
1967
1968 /* 195 0xc3 'Ã' */
1969 0x18, /* 00011000 */
1970 0x18, /* 00011000 */
1971 0x18, /* 00011000 */
1972 0x18, /* 00011000 */
1973 0x1f, /* 00011111 */
1974 0x18, /* 00011000 */
1975 0x18, /* 00011000 */
1976 0x18, /* 00011000 */
1977
1978 /* 196 0xc4 'Ä' */
1979 0x00, /* 00000000 */
1980 0x00, /* 00000000 */
1981 0x00, /* 00000000 */
1982 0x00, /* 00000000 */
1983 0xff, /* 11111111 */
1984 0x00, /* 00000000 */
1985 0x00, /* 00000000 */
1986 0x00, /* 00000000 */
1987
1988 /* 197 0xc5 'Å' */
1989 0x18, /* 00011000 */
1990 0x18, /* 00011000 */
1991 0x18, /* 00011000 */
1992 0x18, /* 00011000 */
1993 0xff, /* 11111111 */
1994 0x18, /* 00011000 */
1995 0x18, /* 00011000 */
1996 0x18, /* 00011000 */
1997
1998 /* 198 0xc6 'Æ' */
1999 0x18, /* 00011000 */
2000 0x18, /* 00011000 */
2001 0x1f, /* 00011111 */
2002 0x18, /* 00011000 */
2003 0x1f, /* 00011111 */
2004 0x18, /* 00011000 */
2005 0x18, /* 00011000 */
2006 0x18, /* 00011000 */
2007
2008 /* 199 0xc7 'Ç' */
2009 0x36, /* 00110110 */
2010 0x36, /* 00110110 */
2011 0x36, /* 00110110 */
2012 0x36, /* 00110110 */
2013 0x37, /* 00110111 */
2014 0x36, /* 00110110 */
2015 0x36, /* 00110110 */
2016 0x36, /* 00110110 */
2017
2018 /* 200 0xc8 'È' */
2019 0x36, /* 00110110 */
2020 0x36, /* 00110110 */
2021 0x37, /* 00110111 */
2022 0x30, /* 00110000 */
2023 0x3f, /* 00111111 */
2024 0x00, /* 00000000 */
2025 0x00, /* 00000000 */
2026 0x00, /* 00000000 */
2027
2028 /* 201 0xc9 'É' */
2029 0x00, /* 00000000 */
2030 0x00, /* 00000000 */
2031 0x3f, /* 00111111 */
2032 0x30, /* 00110000 */
2033 0x37, /* 00110111 */
2034 0x36, /* 00110110 */
2035 0x36, /* 00110110 */
2036 0x36, /* 00110110 */
2037
2038 /* 202 0xca 'Ê' */
2039 0x36, /* 00110110 */
2040 0x36, /* 00110110 */
2041 0xf7, /* 11110111 */
2042 0x00, /* 00000000 */
2043 0xff, /* 11111111 */
2044 0x00, /* 00000000 */
2045 0x00, /* 00000000 */
2046 0x00, /* 00000000 */
2047
2048 /* 203 0xcb 'Ë' */
2049 0x00, /* 00000000 */
2050 0x00, /* 00000000 */
2051 0xff, /* 11111111 */
2052 0x00, /* 00000000 */
2053 0xf7, /* 11110111 */
2054 0x36, /* 00110110 */
2055 0x36, /* 00110110 */
2056 0x36, /* 00110110 */
2057
2058 /* 204 0xcc 'Ì' */
2059 0x36, /* 00110110 */
2060 0x36, /* 00110110 */
2061 0x37, /* 00110111 */
2062 0x30, /* 00110000 */
2063 0x37, /* 00110111 */
2064 0x36, /* 00110110 */
2065 0x36, /* 00110110 */
2066 0x36, /* 00110110 */
2067
2068 /* 205 0xcd 'Í' */
2069 0x00, /* 00000000 */
2070 0x00, /* 00000000 */
2071 0xff, /* 11111111 */
2072 0x00, /* 00000000 */
2073 0xff, /* 11111111 */
2074 0x00, /* 00000000 */
2075 0x00, /* 00000000 */
2076 0x00, /* 00000000 */
2077
2078 /* 206 0xce 'Î' */
2079 0x36, /* 00110110 */
2080 0x36, /* 00110110 */
2081 0xf7, /* 11110111 */
2082 0x00, /* 00000000 */
2083 0xf7, /* 11110111 */
2084 0x36, /* 00110110 */
2085 0x36, /* 00110110 */
2086 0x36, /* 00110110 */
2087
2088 /* 207 0xcf 'Ï' */
2089 0x18, /* 00011000 */
2090 0x18, /* 00011000 */
2091 0xff, /* 11111111 */
2092 0x00, /* 00000000 */
2093 0xff, /* 11111111 */
2094 0x00, /* 00000000 */
2095 0x00, /* 00000000 */
2096 0x00, /* 00000000 */
2097
2098 /* 208 0xd0 'Ð' */
2099 0x36, /* 00110110 */
2100 0x36, /* 00110110 */
2101 0x36, /* 00110110 */
2102 0x36, /* 00110110 */
2103 0xff, /* 11111111 */
2104 0x00, /* 00000000 */
2105 0x00, /* 00000000 */
2106 0x00, /* 00000000 */
2107
2108 /* 209 0xd1 'Ñ' */
2109 0x00, /* 00000000 */
2110 0x00, /* 00000000 */
2111 0xff, /* 11111111 */
2112 0x00, /* 00000000 */
2113 0xff, /* 11111111 */
2114 0x18, /* 00011000 */
2115 0x18, /* 00011000 */
2116 0x18, /* 00011000 */
2117
2118 /* 210 0xd2 'Ò' */
2119 0x00, /* 00000000 */
2120 0x00, /* 00000000 */
2121 0x00, /* 00000000 */
2122 0x00, /* 00000000 */
2123 0xff, /* 11111111 */
2124 0x36, /* 00110110 */
2125 0x36, /* 00110110 */
2126 0x36, /* 00110110 */
2127
2128 /* 211 0xd3 'Ó' */
2129 0x36, /* 00110110 */
2130 0x36, /* 00110110 */
2131 0x36, /* 00110110 */
2132 0x36, /* 00110110 */
2133 0x3f, /* 00111111 */
2134 0x00, /* 00000000 */
2135 0x00, /* 00000000 */
2136 0x00, /* 00000000 */
2137
2138 /* 212 0xd4 'Ô' */
2139 0x18, /* 00011000 */
2140 0x18, /* 00011000 */
2141 0x1f, /* 00011111 */
2142 0x18, /* 00011000 */
2143 0x1f, /* 00011111 */
2144 0x00, /* 00000000 */
2145 0x00, /* 00000000 */
2146 0x00, /* 00000000 */
2147
2148 /* 213 0xd5 'Õ' */
2149 0x00, /* 00000000 */
2150 0x00, /* 00000000 */
2151 0x1f, /* 00011111 */
2152 0x18, /* 00011000 */
2153 0x1f, /* 00011111 */
2154 0x18, /* 00011000 */
2155 0x18, /* 00011000 */
2156 0x18, /* 00011000 */
2157
2158 /* 214 0xd6 'Ö' */
2159 0x00, /* 00000000 */
2160 0x00, /* 00000000 */
2161 0x00, /* 00000000 */
2162 0x00, /* 00000000 */
2163 0x3f, /* 00111111 */
2164 0x36, /* 00110110 */
2165 0x36, /* 00110110 */
2166 0x36, /* 00110110 */
2167
2168 /* 215 0xd7 '×' */
2169 0x36, /* 00110110 */
2170 0x36, /* 00110110 */
2171 0x36, /* 00110110 */
2172 0x36, /* 00110110 */
2173 0xff, /* 11111111 */
2174 0x36, /* 00110110 */
2175 0x36, /* 00110110 */
2176 0x36, /* 00110110 */
2177
2178 /* 216 0xd8 'Ø' */
2179 0x18, /* 00011000 */
2180 0x18, /* 00011000 */
2181 0xff, /* 11111111 */
2182 0x18, /* 00011000 */
2183 0xff, /* 11111111 */
2184 0x18, /* 00011000 */
2185 0x18, /* 00011000 */
2186 0x18, /* 00011000 */
2187
2188 /* 217 0xd9 'Ù' */
2189 0x18, /* 00011000 */
2190 0x18, /* 00011000 */
2191 0x18, /* 00011000 */
2192 0x18, /* 00011000 */
2193 0xf8, /* 11111000 */
2194 0x00, /* 00000000 */
2195 0x00, /* 00000000 */
2196 0x00, /* 00000000 */
2197
2198 /* 218 0xda 'Ú' */
2199 0x00, /* 00000000 */
2200 0x00, /* 00000000 */
2201 0x00, /* 00000000 */
2202 0x00, /* 00000000 */
2203 0x1f, /* 00011111 */
2204 0x18, /* 00011000 */
2205 0x18, /* 00011000 */
2206 0x18, /* 00011000 */
2207
2208 /* 219 0xdb 'Û' */
2209 0xff, /* 11111111 */
2210 0xff, /* 11111111 */
2211 0xff, /* 11111111 */
2212 0xff, /* 11111111 */
2213 0xff, /* 11111111 */
2214 0xff, /* 11111111 */
2215 0xff, /* 11111111 */
2216 0xff, /* 11111111 */
2217
2218 /* 220 0xdc 'Ü' */
2219 0x00, /* 00000000 */
2220 0x00, /* 00000000 */
2221 0x00, /* 00000000 */
2222 0x00, /* 00000000 */
2223 0xff, /* 11111111 */
2224 0xff, /* 11111111 */
2225 0xff, /* 11111111 */
2226 0xff, /* 11111111 */
2227
2228 /* 221 0xdd 'Ý' */
2229 0xf0, /* 11110000 */
2230 0xf0, /* 11110000 */
2231 0xf0, /* 11110000 */
2232 0xf0, /* 11110000 */
2233 0xf0, /* 11110000 */
2234 0xf0, /* 11110000 */
2235 0xf0, /* 11110000 */
2236 0xf0, /* 11110000 */
2237
2238 /* 222 0xde 'Þ' */
2239 0x0f, /* 00001111 */
2240 0x0f, /* 00001111 */
2241 0x0f, /* 00001111 */
2242 0x0f, /* 00001111 */
2243 0x0f, /* 00001111 */
2244 0x0f, /* 00001111 */
2245 0x0f, /* 00001111 */
2246 0x0f, /* 00001111 */
2247
2248 /* 223 0xdf 'ß' */
2249 0xff, /* 11111111 */
2250 0xff, /* 11111111 */
2251 0xff, /* 11111111 */
2252 0xff, /* 11111111 */
2253 0x00, /* 00000000 */
2254 0x00, /* 00000000 */
2255 0x00, /* 00000000 */
2256 0x00, /* 00000000 */
2257
2258 /* 224 0xe0 'à' */
2259 0x00, /* 00000000 */
2260 0x00, /* 00000000 */
2261 0x76, /* 01110110 */
2262 0xdc, /* 11011100 */
2263 0xc8, /* 11001000 */
2264 0xdc, /* 11011100 */
2265 0x76, /* 01110110 */
2266 0x00, /* 00000000 */
2267
2268 /* 225 0xe1 'á' */
2269 0x78, /* 01111000 */
2270 0xcc, /* 11001100 */
2271 0xcc, /* 11001100 */
2272 0xd8, /* 11011000 */
2273 0xcc, /* 11001100 */
2274 0xc6, /* 11000110 */
2275 0xcc, /* 11001100 */
2276 0x00, /* 00000000 */
2277
2278 /* 226 0xe2 'â' */
2279 0xfe, /* 11111110 */
2280 0xc6, /* 11000110 */
2281 0xc0, /* 11000000 */
2282 0xc0, /* 11000000 */
2283 0xc0, /* 11000000 */
2284 0xc0, /* 11000000 */
2285 0xc0, /* 11000000 */
2286 0x00, /* 00000000 */
2287
2288 /* 227 0xe3 'ã' */
2289 0x00, /* 00000000 */
2290 0x00, /* 00000000 */
2291 0xfe, /* 11111110 */
2292 0x6c, /* 01101100 */
2293 0x6c, /* 01101100 */
2294 0x6c, /* 01101100 */
2295 0x6c, /* 01101100 */
2296 0x00, /* 00000000 */
2297
2298 /* 228 0xe4 'ä' */
2299 0xfe, /* 11111110 */
2300 0xc6, /* 11000110 */
2301 0x60, /* 01100000 */
2302 0x30, /* 00110000 */
2303 0x60, /* 01100000 */
2304 0xc6, /* 11000110 */
2305 0xfe, /* 11111110 */
2306 0x00, /* 00000000 */
2307
2308 /* 229 0xe5 'å' */
2309 0x00, /* 00000000 */
2310 0x00, /* 00000000 */
2311 0x7e, /* 01111110 */
2312 0xd8, /* 11011000 */
2313 0xd8, /* 11011000 */
2314 0xd8, /* 11011000 */
2315 0x70, /* 01110000 */
2316 0x00, /* 00000000 */
2317
2318 /* 230 0xe6 'æ' */
2319 0x00, /* 00000000 */
2320 0x00, /* 00000000 */
2321 0x66, /* 01100110 */
2322 0x66, /* 01100110 */
2323 0x66, /* 01100110 */
2324 0x66, /* 01100110 */
2325 0x7c, /* 01111100 */
2326 0xc0, /* 11000000 */
2327
2328 /* 231 0xe7 'ç' */
2329 0x00, /* 00000000 */
2330 0x76, /* 01110110 */
2331 0xdc, /* 11011100 */
2332 0x18, /* 00011000 */
2333 0x18, /* 00011000 */
2334 0x18, /* 00011000 */
2335 0x18, /* 00011000 */
2336 0x00, /* 00000000 */
2337
2338 /* 232 0xe8 'è' */
2339 0x7e, /* 01111110 */
2340 0x18, /* 00011000 */
2341 0x3c, /* 00111100 */
2342 0x66, /* 01100110 */
2343 0x66, /* 01100110 */
2344 0x3c, /* 00111100 */
2345 0x18, /* 00011000 */
2346 0x7e, /* 01111110 */
2347
2348 /* 233 0xe9 'é' */
2349 0x38, /* 00111000 */
2350 0x6c, /* 01101100 */
2351 0xc6, /* 11000110 */
2352 0xfe, /* 11111110 */
2353 0xc6, /* 11000110 */
2354 0x6c, /* 01101100 */
2355 0x38, /* 00111000 */
2356 0x00, /* 00000000 */
2357
2358 /* 234 0xea 'ê' */
2359 0x38, /* 00111000 */
2360 0x6c, /* 01101100 */
2361 0xc6, /* 11000110 */
2362 0xc6, /* 11000110 */
2363 0x6c, /* 01101100 */
2364 0x6c, /* 01101100 */
2365 0xee, /* 11101110 */
2366 0x00, /* 00000000 */
2367
2368 /* 235 0xeb 'ë' */
2369 0x0e, /* 00001110 */
2370 0x18, /* 00011000 */
2371 0x0c, /* 00001100 */
2372 0x3e, /* 00111110 */
2373 0x66, /* 01100110 */
2374 0x66, /* 01100110 */
2375 0x3c, /* 00111100 */
2376 0x00, /* 00000000 */
2377
2378 /* 236 0xec 'ì' */
2379 0x00, /* 00000000 */
2380 0x00, /* 00000000 */
2381 0x7e, /* 01111110 */
2382 0xdb, /* 11011011 */
2383 0xdb, /* 11011011 */
2384 0x7e, /* 01111110 */
2385 0x00, /* 00000000 */
2386 0x00, /* 00000000 */
2387
2388 /* 237 0xed 'í' */
2389 0x06, /* 00000110 */
2390 0x0c, /* 00001100 */
2391 0x7e, /* 01111110 */
2392 0xdb, /* 11011011 */
2393 0xdb, /* 11011011 */
2394 0x7e, /* 01111110 */
2395 0x60, /* 01100000 */
2396 0xc0, /* 11000000 */
2397
2398 /* 238 0xee 'î' */
2399 0x1e, /* 00011110 */
2400 0x30, /* 00110000 */
2401 0x60, /* 01100000 */
2402 0x7e, /* 01111110 */
2403 0x60, /* 01100000 */
2404 0x30, /* 00110000 */
2405 0x1e, /* 00011110 */
2406 0x00, /* 00000000 */
2407
2408 /* 239 0xef 'ï' */
2409 0x00, /* 00000000 */
2410 0x7c, /* 01111100 */
2411 0xc6, /* 11000110 */
2412 0xc6, /* 11000110 */
2413 0xc6, /* 11000110 */
2414 0xc6, /* 11000110 */
2415 0xc6, /* 11000110 */
2416 0x00, /* 00000000 */
2417
2418 /* 240 0xf0 'ð' */
2419 0x00, /* 00000000 */
2420 0xfe, /* 11111110 */
2421 0x00, /* 00000000 */
2422 0xfe, /* 11111110 */
2423 0x00, /* 00000000 */
2424 0xfe, /* 11111110 */
2425 0x00, /* 00000000 */
2426 0x00, /* 00000000 */
2427
2428 /* 241 0xf1 'ñ' */
2429 0x18, /* 00011000 */
2430 0x18, /* 00011000 */
2431 0x7e, /* 01111110 */
2432 0x18, /* 00011000 */
2433 0x18, /* 00011000 */
2434 0x00, /* 00000000 */
2435 0x7e, /* 01111110 */
2436 0x00, /* 00000000 */
2437
2438 /* 242 0xf2 'ò' */
2439 0x30, /* 00110000 */
2440 0x18, /* 00011000 */
2441 0x0c, /* 00001100 */
2442 0x18, /* 00011000 */
2443 0x30, /* 00110000 */
2444 0x00, /* 00000000 */
2445 0x7e, /* 01111110 */
2446 0x00, /* 00000000 */
2447
2448 /* 243 0xf3 'ó' */
2449 0x0c, /* 00001100 */
2450 0x18, /* 00011000 */
2451 0x30, /* 00110000 */
2452 0x18, /* 00011000 */
2453 0x0c, /* 00001100 */
2454 0x00, /* 00000000 */
2455 0x7e, /* 01111110 */
2456 0x00, /* 00000000 */
2457
2458 /* 244 0xf4 'ô' */
2459 0x0e, /* 00001110 */
2460 0x1b, /* 00011011 */
2461 0x1b, /* 00011011 */
2462 0x18, /* 00011000 */
2463 0x18, /* 00011000 */
2464 0x18, /* 00011000 */
2465 0x18, /* 00011000 */
2466 0x18, /* 00011000 */
2467
2468 /* 245 0xf5 'õ' */
2469 0x18, /* 00011000 */
2470 0x18, /* 00011000 */
2471 0x18, /* 00011000 */
2472 0x18, /* 00011000 */
2473 0x18, /* 00011000 */
2474 0xd8, /* 11011000 */
2475 0xd8, /* 11011000 */
2476 0x70, /* 01110000 */
2477
2478 /* 246 0xf6 'ö' */
2479 0x00, /* 00000000 */
2480 0x18, /* 00011000 */
2481 0x00, /* 00000000 */
2482 0x7e, /* 01111110 */
2483 0x00, /* 00000000 */
2484 0x18, /* 00011000 */
2485 0x00, /* 00000000 */
2486 0x00, /* 00000000 */
2487
2488 /* 247 0xf7 '÷' */
2489 0x00, /* 00000000 */
2490 0x76, /* 01110110 */
2491 0xdc, /* 11011100 */
2492 0x00, /* 00000000 */
2493 0x76, /* 01110110 */
2494 0xdc, /* 11011100 */
2495 0x00, /* 00000000 */
2496 0x00, /* 00000000 */
2497
2498 /* 248 0xf8 'ø' */
2499 0x38, /* 00111000 */
2500 0x6c, /* 01101100 */
2501 0x6c, /* 01101100 */
2502 0x38, /* 00111000 */
2503 0x00, /* 00000000 */
2504 0x00, /* 00000000 */
2505 0x00, /* 00000000 */
2506 0x00, /* 00000000 */
2507
2508 /* 249 0xf9 'ù' */
2509 0x00, /* 00000000 */
2510 0x00, /* 00000000 */
2511 0x00, /* 00000000 */
2512 0x18, /* 00011000 */
2513 0x18, /* 00011000 */
2514 0x00, /* 00000000 */
2515 0x00, /* 00000000 */
2516 0x00, /* 00000000 */
2517
2518 /* 250 0xfa 'ú' */
2519 0x00, /* 00000000 */
2520 0x00, /* 00000000 */
2521 0x00, /* 00000000 */
2522 0x18, /* 00011000 */
2523 0x00, /* 00000000 */
2524 0x00, /* 00000000 */
2525 0x00, /* 00000000 */
2526 0x00, /* 00000000 */
2527
2528 /* 251 0xfb 'û' */
2529 0x0f, /* 00001111 */
2530 0x0c, /* 00001100 */
2531 0x0c, /* 00001100 */
2532 0x0c, /* 00001100 */
2533 0xec, /* 11101100 */
2534 0x6c, /* 01101100 */
2535 0x3c, /* 00111100 */
2536 0x1c, /* 00011100 */
2537
2538 /* 252 0xfc 'ü' */
2539 0x6c, /* 01101100 */
2540 0x36, /* 00110110 */
2541 0x36, /* 00110110 */
2542 0x36, /* 00110110 */
2543 0x36, /* 00110110 */
2544 0x00, /* 00000000 */
2545 0x00, /* 00000000 */
2546 0x00, /* 00000000 */
2547
2548 /* 253 0xfd 'ý' */
2549 0x78, /* 01111000 */
2550 0x0c, /* 00001100 */
2551 0x18, /* 00011000 */
2552 0x30, /* 00110000 */
2553 0x7c, /* 01111100 */
2554 0x00, /* 00000000 */
2555 0x00, /* 00000000 */
2556 0x00, /* 00000000 */
2557
2558 /* 254 0xfe 'þ' */
2559 0x00, /* 00000000 */
2560 0x00, /* 00000000 */
2561 0x3c, /* 00111100 */
2562 0x3c, /* 00111100 */
2563 0x3c, /* 00111100 */
2564 0x3c, /* 00111100 */
2565 0x00, /* 00000000 */
2566 0x00, /* 00000000 */
2567
2568 /* 255 0xff 'ÿ' */
2569 0x00, /* 00000000 */
2570 0x00, /* 00000000 */
2571 0x00, /* 00000000 */
2572 0x00, /* 00000000 */
2573 0x00, /* 00000000 */
2574 0x00, /* 00000000 */
2575 0x00, /* 00000000 */
2576 0x00, /* 00000000 */
2577
2578};
2579
2580struct font_desc font_pearl_8x8 = {
2581 PEARL8x8_IDX,
2582 "PEARL8x8",
2583 8,
2584 8,
2585 fontdata_pearl8x8,
2586 2
2587};
diff --git a/drivers/video/console/font_sun12x22.c b/drivers/video/console/font_sun12x22.c
new file mode 100644
index 000000000000..05215d0c3e09
--- /dev/null
+++ b/drivers/video/console/font_sun12x22.c
@@ -0,0 +1,6220 @@
1#include <linux/font.h>
2
3#define FONTDATAMAX 11264
4
5static unsigned char fontdata_sun12x22[FONTDATAMAX] = {
6
7 /* 0 0x00 '^@' */
8 0x00, 0x00, /* 000000000000 */
9 0x00, 0x00, /* 000000000000 */
10 0x00, 0x00, /* 000000000000 */
11 0x00, 0x00, /* 000000000000 */
12 0x00, 0x00, /* 000000000000 */
13 0x00, 0x00, /* 000000000000 */
14 0x00, 0x00, /* 000000000000 */
15 0x00, 0x00, /* 000000000000 */
16 0x00, 0x00, /* 000000000000 */
17 0x00, 0x00, /* 000000000000 */
18 0x00, 0x00, /* 000000000000 */
19 0x00, 0x00, /* 000000000000 */
20 0x00, 0x00, /* 000000000000 */
21 0x00, 0x00, /* 000000000000 */
22 0x00, 0x00, /* 000000000000 */
23 0x00, 0x00, /* 000000000000 */
24 0x00, 0x00, /* 000000000000 */
25 0x00, 0x00, /* 000000000000 */
26 0x00, 0x00, /* 000000000000 */
27 0x00, 0x00, /* 000000000000 */
28 0x00, 0x00, /* 000000000000 */
29 0x00, 0x00, /* 000000000000 */
30
31 /* 1 0x01 '^A' */
32 /* FIXME */
33 0x00, 0x00, /* 000000000000 */
34 0x00, 0x00, /* 000000000000 */
35 0x00, 0x00, /* 000000000000 */
36 0x00, 0x00, /* 000000000000 */
37 0x00, 0x00, /* 000000000000 */
38 0x3f, 0xc0, /* 001111111100 */
39 0x3f, 0xc0, /* 001111111100 */
40 0x3f, 0xc0, /* 001111111100 */
41 0x3f, 0xc0, /* 001111111100 */
42 0x3f, 0xc0, /* 001111111100 */
43 0x3f, 0xc0, /* 001111111100 */
44 0x3f, 0xc0, /* 001111111100 */
45 0x3f, 0xc0, /* 001111111100 */
46 0x3f, 0xc0, /* 001111111100 */
47 0x3f, 0xc0, /* 001111111100 */
48 0x3f, 0xc0, /* 001111111100 */
49 0x3f, 0xc0, /* 001111111100 */
50 0x00, 0x00, /* 000000000000 */
51 0x00, 0x00, /* 000000000000 */
52 0x00, 0x00, /* 000000000000 */
53 0x00, 0x00, /* 000000000000 */
54 0x00, 0x00, /* 000000000000 */
55
56 /* 2 0x02 '^B' */
57 /* FIXME */
58 0x00, 0x00, /* 000000000000 */
59 0x00, 0x00, /* 000000000000 */
60 0x00, 0x00, /* 000000000000 */
61 0x00, 0x00, /* 000000000000 */
62 0x00, 0x00, /* 000000000000 */
63 0x3f, 0xc0, /* 001111111100 */
64 0x3f, 0xc0, /* 001111111100 */
65 0x3f, 0xc0, /* 001111111100 */
66 0x3f, 0xc0, /* 001111111100 */
67 0x3f, 0xc0, /* 001111111100 */
68 0x3f, 0xc0, /* 001111111100 */
69 0x3f, 0xc0, /* 001111111100 */
70 0x3f, 0xc0, /* 001111111100 */
71 0x3f, 0xc0, /* 001111111100 */
72 0x3f, 0xc0, /* 001111111100 */
73 0x3f, 0xc0, /* 001111111100 */
74 0x3f, 0xc0, /* 001111111100 */
75 0x00, 0x00, /* 000000000000 */
76 0x00, 0x00, /* 000000000000 */
77 0x00, 0x00, /* 000000000000 */
78 0x00, 0x00, /* 000000000000 */
79 0x00, 0x00, /* 000000000000 */
80
81 /* 3 0x03 '^C' */
82 /* FIXME */
83 0x00, 0x00, /* 000000000000 */
84 0x00, 0x00, /* 000000000000 */
85 0x00, 0x00, /* 000000000000 */
86 0x00, 0x00, /* 000000000000 */
87 0x00, 0x00, /* 000000000000 */
88 0x3f, 0xc0, /* 001111111100 */
89 0x3f, 0xc0, /* 001111111100 */
90 0x3f, 0xc0, /* 001111111100 */
91 0x3f, 0xc0, /* 001111111100 */
92 0x3f, 0xc0, /* 001111111100 */
93 0x3f, 0xc0, /* 001111111100 */
94 0x3f, 0xc0, /* 001111111100 */
95 0x3f, 0xc0, /* 001111111100 */
96 0x3f, 0xc0, /* 001111111100 */
97 0x3f, 0xc0, /* 001111111100 */
98 0x3f, 0xc0, /* 001111111100 */
99 0x3f, 0xc0, /* 001111111100 */
100 0x00, 0x00, /* 000000000000 */
101 0x00, 0x00, /* 000000000000 */
102 0x00, 0x00, /* 000000000000 */
103 0x00, 0x00, /* 000000000000 */
104 0x00, 0x00, /* 000000000000 */
105
106 /* 4 0x04 '^D' */
107 /* FIXME */
108 0x00, 0x00, /* 000000000000 */
109 0x00, 0x00, /* 000000000000 */
110 0x00, 0x00, /* 000000000000 */
111 0x00, 0x00, /* 000000000000 */
112 0x00, 0x00, /* 000000000000 */
113 0x3f, 0xc0, /* 001111111100 */
114 0x3f, 0xc0, /* 001111111100 */
115 0x3f, 0xc0, /* 001111111100 */
116 0x3f, 0xc0, /* 001111111100 */
117 0x3f, 0xc0, /* 001111111100 */
118 0x3f, 0xc0, /* 001111111100 */
119 0x3f, 0xc0, /* 001111111100 */
120 0x3f, 0xc0, /* 001111111100 */
121 0x3f, 0xc0, /* 001111111100 */
122 0x3f, 0xc0, /* 001111111100 */
123 0x3f, 0xc0, /* 001111111100 */
124 0x3f, 0xc0, /* 001111111100 */
125 0x00, 0x00, /* 000000000000 */
126 0x00, 0x00, /* 000000000000 */
127 0x00, 0x00, /* 000000000000 */
128 0x00, 0x00, /* 000000000000 */
129 0x00, 0x00, /* 000000000000 */
130
131 /* 5 0x05 '^E' */
132 /* FIXME */
133 0x00, 0x00, /* 000000000000 */
134 0x00, 0x00, /* 000000000000 */
135 0x00, 0x00, /* 000000000000 */
136 0x00, 0x00, /* 000000000000 */
137 0x00, 0x00, /* 000000000000 */
138 0x3f, 0xc0, /* 001111111100 */
139 0x3f, 0xc0, /* 001111111100 */
140 0x3f, 0xc0, /* 001111111100 */
141 0x3f, 0xc0, /* 001111111100 */
142 0x3f, 0xc0, /* 001111111100 */
143 0x3f, 0xc0, /* 001111111100 */
144 0x3f, 0xc0, /* 001111111100 */
145 0x3f, 0xc0, /* 001111111100 */
146 0x3f, 0xc0, /* 001111111100 */
147 0x3f, 0xc0, /* 001111111100 */
148 0x3f, 0xc0, /* 001111111100 */
149 0x3f, 0xc0, /* 001111111100 */
150 0x00, 0x00, /* 000000000000 */
151 0x00, 0x00, /* 000000000000 */
152 0x00, 0x00, /* 000000000000 */
153 0x00, 0x00, /* 000000000000 */
154 0x00, 0x00, /* 000000000000 */
155
156 /* 6 0x06 '^F' */
157 /* FIXME */
158 0x00, 0x00, /* 000000000000 */
159 0x00, 0x00, /* 000000000000 */
160 0x00, 0x00, /* 000000000000 */
161 0x00, 0x00, /* 000000000000 */
162 0x00, 0x00, /* 000000000000 */
163 0x3f, 0xc0, /* 001111111100 */
164 0x3f, 0xc0, /* 001111111100 */
165 0x3f, 0xc0, /* 001111111100 */
166 0x3f, 0xc0, /* 001111111100 */
167 0x3f, 0xc0, /* 001111111100 */
168 0x3f, 0xc0, /* 001111111100 */
169 0x3f, 0xc0, /* 001111111100 */
170 0x3f, 0xc0, /* 001111111100 */
171 0x3f, 0xc0, /* 001111111100 */
172 0x3f, 0xc0, /* 001111111100 */
173 0x3f, 0xc0, /* 001111111100 */
174 0x3f, 0xc0, /* 001111111100 */
175 0x00, 0x00, /* 000000000000 */
176 0x00, 0x00, /* 000000000000 */
177 0x00, 0x00, /* 000000000000 */
178 0x00, 0x00, /* 000000000000 */
179 0x00, 0x00, /* 000000000000 */
180
181 /* 7 0x07 '^G' */
182 /* FIXME */
183 0x00, 0x00, /* 000000000000 */
184 0x00, 0x00, /* 000000000000 */
185 0x00, 0x00, /* 000000000000 */
186 0x00, 0x00, /* 000000000000 */
187 0x00, 0x00, /* 000000000000 */
188 0x3f, 0xc0, /* 001111111100 */
189 0x3f, 0xc0, /* 001111111100 */
190 0x3f, 0xc0, /* 001111111100 */
191 0x3f, 0xc0, /* 001111111100 */
192 0x3f, 0xc0, /* 001111111100 */
193 0x3f, 0xc0, /* 001111111100 */
194 0x3f, 0xc0, /* 001111111100 */
195 0x3f, 0xc0, /* 001111111100 */
196 0x3f, 0xc0, /* 001111111100 */
197 0x3f, 0xc0, /* 001111111100 */
198 0x3f, 0xc0, /* 001111111100 */
199 0x3f, 0xc0, /* 001111111100 */
200 0x00, 0x00, /* 000000000000 */
201 0x00, 0x00, /* 000000000000 */
202 0x00, 0x00, /* 000000000000 */
203 0x00, 0x00, /* 000000000000 */
204 0x00, 0x00, /* 000000000000 */
205
206 /* 8 0x08 '^H' */
207 /* FIXME */
208 0x00, 0x00, /* 000000000000 */
209 0x00, 0x00, /* 000000000000 */
210 0x00, 0x00, /* 000000000000 */
211 0x00, 0x00, /* 000000000000 */
212 0x00, 0x00, /* 000000000000 */
213 0x3f, 0xc0, /* 001111111100 */
214 0x3f, 0xc0, /* 001111111100 */
215 0x3f, 0xc0, /* 001111111100 */
216 0x3f, 0xc0, /* 001111111100 */
217 0x3f, 0xc0, /* 001111111100 */
218 0x3f, 0xc0, /* 001111111100 */
219 0x3f, 0xc0, /* 001111111100 */
220 0x3f, 0xc0, /* 001111111100 */
221 0x3f, 0xc0, /* 001111111100 */
222 0x3f, 0xc0, /* 001111111100 */
223 0x3f, 0xc0, /* 001111111100 */
224 0x3f, 0xc0, /* 001111111100 */
225 0x00, 0x00, /* 000000000000 */
226 0x00, 0x00, /* 000000000000 */
227 0x00, 0x00, /* 000000000000 */
228 0x00, 0x00, /* 000000000000 */
229 0x00, 0x00, /* 000000000000 */
230
231 /* 9 0x09 '^I' */
232 /* FIXME */
233 0x00, 0x00, /* 000000000000 */
234 0x00, 0x00, /* 000000000000 */
235 0x00, 0x00, /* 000000000000 */
236 0x00, 0x00, /* 000000000000 */
237 0x00, 0x00, /* 000000000000 */
238 0x3f, 0xc0, /* 001111111100 */
239 0x3f, 0xc0, /* 001111111100 */
240 0x3f, 0xc0, /* 001111111100 */
241 0x3f, 0xc0, /* 001111111100 */
242 0x3f, 0xc0, /* 001111111100 */
243 0x3f, 0xc0, /* 001111111100 */
244 0x3f, 0xc0, /* 001111111100 */
245 0x3f, 0xc0, /* 001111111100 */
246 0x3f, 0xc0, /* 001111111100 */
247 0x3f, 0xc0, /* 001111111100 */
248 0x3f, 0xc0, /* 001111111100 */
249 0x3f, 0xc0, /* 001111111100 */
250 0x00, 0x00, /* 000000000000 */
251 0x00, 0x00, /* 000000000000 */
252 0x00, 0x00, /* 000000000000 */
253 0x00, 0x00, /* 000000000000 */
254 0x00, 0x00, /* 000000000000 */
255
256 /* 10 0x0a '^J' */
257 /* FIXME */
258 0x00, 0x00, /* 000000000000 */
259 0x00, 0x00, /* 000000000000 */
260 0x00, 0x00, /* 000000000000 */
261 0x00, 0x00, /* 000000000000 */
262 0x00, 0x00, /* 000000000000 */
263 0x3f, 0xc0, /* 001111111100 */
264 0x3f, 0xc0, /* 001111111100 */
265 0x3f, 0xc0, /* 001111111100 */
266 0x3f, 0xc0, /* 001111111100 */
267 0x3f, 0xc0, /* 001111111100 */
268 0x3f, 0xc0, /* 001111111100 */
269 0x3f, 0xc0, /* 001111111100 */
270 0x3f, 0xc0, /* 001111111100 */
271 0x3f, 0xc0, /* 001111111100 */
272 0x3f, 0xc0, /* 001111111100 */
273 0x3f, 0xc0, /* 001111111100 */
274 0x3f, 0xc0, /* 001111111100 */
275 0x00, 0x00, /* 000000000000 */
276 0x00, 0x00, /* 000000000000 */
277 0x00, 0x00, /* 000000000000 */
278 0x00, 0x00, /* 000000000000 */
279 0x00, 0x00, /* 000000000000 */
280
281 /* 11 0x0b '^K' */
282 /* FIXME */
283 0x00, 0x00, /* 000000000000 */
284 0x00, 0x00, /* 000000000000 */
285 0x00, 0x00, /* 000000000000 */
286 0x00, 0x00, /* 000000000000 */
287 0x00, 0x00, /* 000000000000 */
288 0x3f, 0xc0, /* 001111111100 */
289 0x3f, 0xc0, /* 001111111100 */
290 0x3f, 0xc0, /* 001111111100 */
291 0x3f, 0xc0, /* 001111111100 */
292 0x3f, 0xc0, /* 001111111100 */
293 0x3f, 0xc0, /* 001111111100 */
294 0x3f, 0xc0, /* 001111111100 */
295 0x3f, 0xc0, /* 001111111100 */
296 0x3f, 0xc0, /* 001111111100 */
297 0x3f, 0xc0, /* 001111111100 */
298 0x3f, 0xc0, /* 001111111100 */
299 0x3f, 0xc0, /* 001111111100 */
300 0x00, 0x00, /* 000000000000 */
301 0x00, 0x00, /* 000000000000 */
302 0x00, 0x00, /* 000000000000 */
303 0x00, 0x00, /* 000000000000 */
304 0x00, 0x00, /* 000000000000 */
305
306 /* 12 0x0c '^L' */
307 /* FIXME */
308 0x00, 0x00, /* 000000000000 */
309 0x00, 0x00, /* 000000000000 */
310 0x00, 0x00, /* 000000000000 */
311 0x00, 0x00, /* 000000000000 */
312 0x00, 0x00, /* 000000000000 */
313 0x3f, 0xc0, /* 001111111100 */
314 0x3f, 0xc0, /* 001111111100 */
315 0x3f, 0xc0, /* 001111111100 */
316 0x3f, 0xc0, /* 001111111100 */
317 0x3f, 0xc0, /* 001111111100 */
318 0x3f, 0xc0, /* 001111111100 */
319 0x3f, 0xc0, /* 001111111100 */
320 0x3f, 0xc0, /* 001111111100 */
321 0x3f, 0xc0, /* 001111111100 */
322 0x3f, 0xc0, /* 001111111100 */
323 0x3f, 0xc0, /* 001111111100 */
324 0x3f, 0xc0, /* 001111111100 */
325 0x00, 0x00, /* 000000000000 */
326 0x00, 0x00, /* 000000000000 */
327 0x00, 0x00, /* 000000000000 */
328 0x00, 0x00, /* 000000000000 */
329 0x00, 0x00, /* 000000000000 */
330
331 /* 13 0x0d '^M' */
332 /* FIXME */
333 0x00, 0x00, /* 000000000000 */
334 0x00, 0x00, /* 000000000000 */
335 0x00, 0x00, /* 000000000000 */
336 0x00, 0x00, /* 000000000000 */
337 0x00, 0x00, /* 000000000000 */
338 0x3f, 0xc0, /* 001111111100 */
339 0x3f, 0xc0, /* 001111111100 */
340 0x3f, 0xc0, /* 001111111100 */
341 0x3f, 0xc0, /* 001111111100 */
342 0x3f, 0xc0, /* 001111111100 */
343 0x3f, 0xc0, /* 001111111100 */
344 0x3f, 0xc0, /* 001111111100 */
345 0x3f, 0xc0, /* 001111111100 */
346 0x3f, 0xc0, /* 001111111100 */
347 0x3f, 0xc0, /* 001111111100 */
348 0x3f, 0xc0, /* 001111111100 */
349 0x3f, 0xc0, /* 001111111100 */
350 0x00, 0x00, /* 000000000000 */
351 0x00, 0x00, /* 000000000000 */
352 0x00, 0x00, /* 000000000000 */
353 0x00, 0x00, /* 000000000000 */
354 0x00, 0x00, /* 000000000000 */
355
356 /* 14 0x0e '^N' */
357 /* FIXME */
358 0x00, 0x00, /* 000000000000 */
359 0x00, 0x00, /* 000000000000 */
360 0x00, 0x00, /* 000000000000 */
361 0x00, 0x00, /* 000000000000 */
362 0x00, 0x00, /* 000000000000 */
363 0x3f, 0xc0, /* 001111111100 */
364 0x3f, 0xc0, /* 001111111100 */
365 0x3f, 0xc0, /* 001111111100 */
366 0x3f, 0xc0, /* 001111111100 */
367 0x3f, 0xc0, /* 001111111100 */
368 0x3f, 0xc0, /* 001111111100 */
369 0x3f, 0xc0, /* 001111111100 */
370 0x3f, 0xc0, /* 001111111100 */
371 0x3f, 0xc0, /* 001111111100 */
372 0x3f, 0xc0, /* 001111111100 */
373 0x3f, 0xc0, /* 001111111100 */
374 0x3f, 0xc0, /* 001111111100 */
375 0x00, 0x00, /* 000000000000 */
376 0x00, 0x00, /* 000000000000 */
377 0x00, 0x00, /* 000000000000 */
378 0x00, 0x00, /* 000000000000 */
379 0x00, 0x00, /* 000000000000 */
380
381 /* 15 0x0f '^O' */
382 /* FIXME */
383 0x00, 0x00, /* 000000000000 */
384 0x00, 0x00, /* 000000000000 */
385 0x00, 0x00, /* 000000000000 */
386 0x00, 0x00, /* 000000000000 */
387 0x00, 0x00, /* 000000000000 */
388 0x3f, 0xc0, /* 001111111100 */
389 0x3f, 0xc0, /* 001111111100 */
390 0x3f, 0xc0, /* 001111111100 */
391 0x3f, 0xc0, /* 001111111100 */
392 0x3f, 0xc0, /* 001111111100 */
393 0x3f, 0xc0, /* 001111111100 */
394 0x3f, 0xc0, /* 001111111100 */
395 0x3f, 0xc0, /* 001111111100 */
396 0x3f, 0xc0, /* 001111111100 */
397 0x3f, 0xc0, /* 001111111100 */
398 0x3f, 0xc0, /* 001111111100 */
399 0x3f, 0xc0, /* 001111111100 */
400 0x00, 0x00, /* 000000000000 */
401 0x00, 0x00, /* 000000000000 */
402 0x00, 0x00, /* 000000000000 */
403 0x00, 0x00, /* 000000000000 */
404 0x00, 0x00, /* 000000000000 */
405
406 /* 16 0x10 '^P' */
407 /* FIXME */
408 0x00, 0x00, /* 000000000000 */
409 0x00, 0x00, /* 000000000000 */
410 0x00, 0x00, /* 000000000000 */
411 0x00, 0x00, /* 000000000000 */
412 0x00, 0x00, /* 000000000000 */
413 0x3f, 0xc0, /* 001111111100 */
414 0x3f, 0xc0, /* 001111111100 */
415 0x3f, 0xc0, /* 001111111100 */
416 0x3f, 0xc0, /* 001111111100 */
417 0x3f, 0xc0, /* 001111111100 */
418 0x3f, 0xc0, /* 001111111100 */
419 0x3f, 0xc0, /* 001111111100 */
420 0x3f, 0xc0, /* 001111111100 */
421 0x3f, 0xc0, /* 001111111100 */
422 0x3f, 0xc0, /* 001111111100 */
423 0x3f, 0xc0, /* 001111111100 */
424 0x3f, 0xc0, /* 001111111100 */
425 0x00, 0x00, /* 000000000000 */
426 0x00, 0x00, /* 000000000000 */
427 0x00, 0x00, /* 000000000000 */
428 0x00, 0x00, /* 000000000000 */
429 0x00, 0x00, /* 000000000000 */
430
431 /* 17 0x11 '^Q' */
432 /* FIXME */
433 0x00, 0x00, /* 000000000000 */
434 0x00, 0x00, /* 000000000000 */
435 0x00, 0x00, /* 000000000000 */
436 0x00, 0x00, /* 000000000000 */
437 0x00, 0x00, /* 000000000000 */
438 0x3f, 0xc0, /* 001111111100 */
439 0x3f, 0xc0, /* 001111111100 */
440 0x3f, 0xc0, /* 001111111100 */
441 0x3f, 0xc0, /* 001111111100 */
442 0x3f, 0xc0, /* 001111111100 */
443 0x3f, 0xc0, /* 001111111100 */
444 0x3f, 0xc0, /* 001111111100 */
445 0x3f, 0xc0, /* 001111111100 */
446 0x3f, 0xc0, /* 001111111100 */
447 0x3f, 0xc0, /* 001111111100 */
448 0x3f, 0xc0, /* 001111111100 */
449 0x3f, 0xc0, /* 001111111100 */
450 0x00, 0x00, /* 000000000000 */
451 0x00, 0x00, /* 000000000000 */
452 0x00, 0x00, /* 000000000000 */
453 0x00, 0x00, /* 000000000000 */
454 0x00, 0x00, /* 000000000000 */
455
456 /* 18 0x12 '^R' */
457 /* FIXME */
458 0x00, 0x00, /* 000000000000 */
459 0x00, 0x00, /* 000000000000 */
460 0x00, 0x00, /* 000000000000 */
461 0x00, 0x00, /* 000000000000 */
462 0x00, 0x00, /* 000000000000 */
463 0x3f, 0xc0, /* 001111111100 */
464 0x3f, 0xc0, /* 001111111100 */
465 0x3f, 0xc0, /* 001111111100 */
466 0x3f, 0xc0, /* 001111111100 */
467 0x3f, 0xc0, /* 001111111100 */
468 0x3f, 0xc0, /* 001111111100 */
469 0x3f, 0xc0, /* 001111111100 */
470 0x3f, 0xc0, /* 001111111100 */
471 0x3f, 0xc0, /* 001111111100 */
472 0x3f, 0xc0, /* 001111111100 */
473 0x3f, 0xc0, /* 001111111100 */
474 0x3f, 0xc0, /* 001111111100 */
475 0x00, 0x00, /* 000000000000 */
476 0x00, 0x00, /* 000000000000 */
477 0x00, 0x00, /* 000000000000 */
478 0x00, 0x00, /* 000000000000 */
479 0x00, 0x00, /* 000000000000 */
480
481 /* 19 0x13 '^S' */
482 0x00, 0x00, /* 000000000000 */
483 0x31, 0x80, /* 001100011000 */
484 0x31, 0x80, /* 001100011000 */
485 0x31, 0x80, /* 001100011000 */
486 0x31, 0x80, /* 001100011000 */
487 0x31, 0x80, /* 001100011000 */
488 0x31, 0x80, /* 001100011000 */
489 0x31, 0x80, /* 001100011000 */
490 0x31, 0x80, /* 001100011000 */
491 0x31, 0x80, /* 001100011000 */
492 0x31, 0x80, /* 001100011000 */
493 0x31, 0x80, /* 001100011000 */
494 0x00, 0x00, /* 000000000000 */
495 0x00, 0x00, /* 000000000000 */
496 0x31, 0x80, /* 001100011000 */
497 0x31, 0x80, /* 001100011000 */
498 0x00, 0x00, /* 000000000000 */
499 0x00, 0x00, /* 000000000000 */
500 0x00, 0x00, /* 000000000000 */
501 0x00, 0x00, /* 000000000000 */
502 0x00, 0x00, /* 000000000000 */
503 0x00, 0x00, /* 000000000000 */
504
505 /* 20 0x14 '^T' */
506 0x00, 0x00, /* 000000000000 */
507 0x00, 0x00, /* 000000000000 */
508 0x1f, 0xf0, /* 000111111111 */
509 0x3c, 0xc0, /* 001111001100 */
510 0x7c, 0xc0, /* 011111001100 */
511 0x7c, 0xc0, /* 011111001100 */
512 0x7c, 0xc0, /* 011111001100 */
513 0x3c, 0xc0, /* 001111001100 */
514 0x1c, 0xc0, /* 000111001100 */
515 0x0c, 0xc0, /* 000011001100 */
516 0x0c, 0xc0, /* 000011001100 */
517 0x0c, 0xc0, /* 000011001100 */
518 0x0c, 0xc0, /* 000011001100 */
519 0x0c, 0xc0, /* 000011001100 */
520 0x0c, 0xc0, /* 000011001100 */
521 0x1c, 0xe0, /* 000111001110 */
522 0x00, 0x00, /* 000000000000 */
523 0x00, 0x00, /* 000000000000 */
524 0x00, 0x00, /* 000000000000 */
525 0x00, 0x00, /* 000000000000 */
526 0x00, 0x00, /* 000000000000 */
527 0x00, 0x00, /* 000000000000 */
528
529 /* 21 0x15 '^U' */
530 0x00, 0x00, /* 000000000000 */
531 0x00, 0x00, /* 000000000000 */
532 0x1f, 0x00, /* 000111110000 */
533 0x31, 0x80, /* 001100011000 */
534 0x31, 0x80, /* 001100011000 */
535 0x30, 0x00, /* 001100000000 */
536 0x30, 0x00, /* 001100000000 */
537 0x1f, 0x00, /* 000111110000 */
538 0x31, 0x80, /* 001100011000 */
539 0x31, 0x80, /* 001100011000 */
540 0x1f, 0x00, /* 000111110000 */
541 0x01, 0x80, /* 000000011000 */
542 0x01, 0x80, /* 000000011000 */
543 0x31, 0x80, /* 001100011000 */
544 0x31, 0x80, /* 001100011000 */
545 0x1f, 0x00, /* 000111110000 */
546 0x00, 0x00, /* 000000000000 */
547 0x00, 0x00, /* 000000000000 */
548 0x00, 0x00, /* 000000000000 */
549 0x00, 0x00, /* 000000000000 */
550 0x00, 0x00, /* 000000000000 */
551 0x00, 0x00, /* 000000000000 */
552
553 /* 22 0x16 '^V' */
554 /* FIXME */
555 0x00, 0x00, /* 000000000000 */
556 0x00, 0x00, /* 000000000000 */
557 0x00, 0x00, /* 000000000000 */
558 0x00, 0x00, /* 000000000000 */
559 0x00, 0x00, /* 000000000000 */
560 0x3f, 0xc0, /* 001111111100 */
561 0x3f, 0xc0, /* 001111111100 */
562 0x3f, 0xc0, /* 001111111100 */
563 0x3f, 0xc0, /* 001111111100 */
564 0x3f, 0xc0, /* 001111111100 */
565 0x3f, 0xc0, /* 001111111100 */
566 0x3f, 0xc0, /* 001111111100 */
567 0x3f, 0xc0, /* 001111111100 */
568 0x3f, 0xc0, /* 001111111100 */
569 0x3f, 0xc0, /* 001111111100 */
570 0x3f, 0xc0, /* 001111111100 */
571 0x3f, 0xc0, /* 001111111100 */
572 0x00, 0x00, /* 000000000000 */
573 0x00, 0x00, /* 000000000000 */
574 0x00, 0x00, /* 000000000000 */
575 0x00, 0x00, /* 000000000000 */
576 0x00, 0x00, /* 000000000000 */
577
578 /* 23 0x17 '^W' */
579 /* FIXME */
580 0x00, 0x00, /* 000000000000 */
581 0x00, 0x00, /* 000000000000 */
582 0x00, 0x00, /* 000000000000 */
583 0x00, 0x00, /* 000000000000 */
584 0x00, 0x00, /* 000000000000 */
585 0x3f, 0xc0, /* 001111111100 */
586 0x3f, 0xc0, /* 001111111100 */
587 0x3f, 0xc0, /* 001111111100 */
588 0x3f, 0xc0, /* 001111111100 */
589 0x3f, 0xc0, /* 001111111100 */
590 0x3f, 0xc0, /* 001111111100 */
591 0x3f, 0xc0, /* 001111111100 */
592 0x3f, 0xc0, /* 001111111100 */
593 0x3f, 0xc0, /* 001111111100 */
594 0x3f, 0xc0, /* 001111111100 */
595 0x3f, 0xc0, /* 001111111100 */
596 0x3f, 0xc0, /* 001111111100 */
597 0x00, 0x00, /* 000000000000 */
598 0x00, 0x00, /* 000000000000 */
599 0x00, 0x00, /* 000000000000 */
600 0x00, 0x00, /* 000000000000 */
601 0x00, 0x00, /* 000000000000 */
602
603 /* 24 0x18 '^X' */
604 /* FIXME */
605 0x00, 0x00, /* 000000000000 */
606 0x00, 0x00, /* 000000000000 */
607 0x00, 0x00, /* 000000000000 */
608 0x00, 0x00, /* 000000000000 */
609 0x00, 0x00, /* 000000000000 */
610 0x3f, 0xc0, /* 001111111100 */
611 0x3f, 0xc0, /* 001111111100 */
612 0x3f, 0xc0, /* 001111111100 */
613 0x3f, 0xc0, /* 001111111100 */
614 0x3f, 0xc0, /* 001111111100 */
615 0x3f, 0xc0, /* 001111111100 */
616 0x3f, 0xc0, /* 001111111100 */
617 0x3f, 0xc0, /* 001111111100 */
618 0x3f, 0xc0, /* 001111111100 */
619 0x3f, 0xc0, /* 001111111100 */
620 0x3f, 0xc0, /* 001111111100 */
621 0x3f, 0xc0, /* 001111111100 */
622 0x00, 0x00, /* 000000000000 */
623 0x00, 0x00, /* 000000000000 */
624 0x00, 0x00, /* 000000000000 */
625 0x00, 0x00, /* 000000000000 */
626 0x00, 0x00, /* 000000000000 */
627
628 /* 25 0x19 '^Y' */
629 /* FIXME */
630 0x00, 0x00, /* 000000000000 */
631 0x00, 0x00, /* 000000000000 */
632 0x00, 0x00, /* 000000000000 */
633 0x00, 0x00, /* 000000000000 */
634 0x00, 0x00, /* 000000000000 */
635 0x3f, 0xc0, /* 001111111100 */
636 0x3f, 0xc0, /* 001111111100 */
637 0x3f, 0xc0, /* 001111111100 */
638 0x3f, 0xc0, /* 001111111100 */
639 0x3f, 0xc0, /* 001111111100 */
640 0x3f, 0xc0, /* 001111111100 */
641 0x3f, 0xc0, /* 001111111100 */
642 0x3f, 0xc0, /* 001111111100 */
643 0x3f, 0xc0, /* 001111111100 */
644 0x3f, 0xc0, /* 001111111100 */
645 0x3f, 0xc0, /* 001111111100 */
646 0x3f, 0xc0, /* 001111111100 */
647 0x00, 0x00, /* 000000000000 */
648 0x00, 0x00, /* 000000000000 */
649 0x00, 0x00, /* 000000000000 */
650 0x00, 0x00, /* 000000000000 */
651 0x00, 0x00, /* 000000000000 */
652
653 /* 26 0x1a '^Z' */
654 /* FIXME */
655 0x00, 0x00, /* 000000000000 */
656 0x00, 0x00, /* 000000000000 */
657 0x00, 0x00, /* 000000000000 */
658 0x00, 0x00, /* 000000000000 */
659 0x00, 0x00, /* 000000000000 */
660 0x3f, 0xc0, /* 001111111100 */
661 0x3f, 0xc0, /* 001111111100 */
662 0x3f, 0xc0, /* 001111111100 */
663 0x3f, 0xc0, /* 001111111100 */
664 0x3f, 0xc0, /* 001111111100 */
665 0x3f, 0xc0, /* 001111111100 */
666 0x3f, 0xc0, /* 001111111100 */
667 0x3f, 0xc0, /* 001111111100 */
668 0x3f, 0xc0, /* 001111111100 */
669 0x3f, 0xc0, /* 001111111100 */
670 0x3f, 0xc0, /* 001111111100 */
671 0x3f, 0xc0, /* 001111111100 */
672 0x00, 0x00, /* 000000000000 */
673 0x00, 0x00, /* 000000000000 */
674 0x00, 0x00, /* 000000000000 */
675 0x00, 0x00, /* 000000000000 */
676 0x00, 0x00, /* 000000000000 */
677
678 /* 27 0x1b '^[' */
679 /* FIXME */
680 0x00, 0x00, /* 000000000000 */
681 0x00, 0x00, /* 000000000000 */
682 0x00, 0x00, /* 000000000000 */
683 0x00, 0x00, /* 000000000000 */
684 0x00, 0x00, /* 000000000000 */
685 0x3f, 0xc0, /* 001111111100 */
686 0x3f, 0xc0, /* 001111111100 */
687 0x3f, 0xc0, /* 001111111100 */
688 0x3f, 0xc0, /* 001111111100 */
689 0x3f, 0xc0, /* 001111111100 */
690 0x3f, 0xc0, /* 001111111100 */
691 0x3f, 0xc0, /* 001111111100 */
692 0x3f, 0xc0, /* 001111111100 */
693 0x3f, 0xc0, /* 001111111100 */
694 0x3f, 0xc0, /* 001111111100 */
695 0x3f, 0xc0, /* 001111111100 */
696 0x3f, 0xc0, /* 001111111100 */
697 0x00, 0x00, /* 000000000000 */
698 0x00, 0x00, /* 000000000000 */
699 0x00, 0x00, /* 000000000000 */
700 0x00, 0x00, /* 000000000000 */
701 0x00, 0x00, /* 000000000000 */
702
703 /* 28 0x1c '^\' */
704 /* FIXME */
705 0x00, 0x00, /* 000000000000 */
706 0x00, 0x00, /* 000000000000 */
707 0x00, 0x00, /* 000000000000 */
708 0x00, 0x00, /* 000000000000 */
709 0x00, 0x00, /* 000000000000 */
710 0x3f, 0xc0, /* 001111111100 */
711 0x3f, 0xc0, /* 001111111100 */
712 0x3f, 0xc0, /* 001111111100 */
713 0x3f, 0xc0, /* 001111111100 */
714 0x3f, 0xc0, /* 001111111100 */
715 0x3f, 0xc0, /* 001111111100 */
716 0x3f, 0xc0, /* 001111111100 */
717 0x3f, 0xc0, /* 001111111100 */
718 0x3f, 0xc0, /* 001111111100 */
719 0x3f, 0xc0, /* 001111111100 */
720 0x3f, 0xc0, /* 001111111100 */
721 0x3f, 0xc0, /* 001111111100 */
722 0x00, 0x00, /* 000000000000 */
723 0x00, 0x00, /* 000000000000 */
724 0x00, 0x00, /* 000000000000 */
725 0x00, 0x00, /* 000000000000 */
726 0x00, 0x00, /* 000000000000 */
727
728 /* 29 0x1d '^]' */
729 /* FIXME */
730 0x00, 0x00, /* 000000000000 */
731 0x00, 0x00, /* 000000000000 */
732 0x00, 0x00, /* 000000000000 */
733 0x00, 0x00, /* 000000000000 */
734 0x00, 0x00, /* 000000000000 */
735 0x3f, 0xc0, /* 001111111100 */
736 0x3f, 0xc0, /* 001111111100 */
737 0x3f, 0xc0, /* 001111111100 */
738 0x3f, 0xc0, /* 001111111100 */
739 0x3f, 0xc0, /* 001111111100 */
740 0x3f, 0xc0, /* 001111111100 */
741 0x3f, 0xc0, /* 001111111100 */
742 0x3f, 0xc0, /* 001111111100 */
743 0x3f, 0xc0, /* 001111111100 */
744 0x3f, 0xc0, /* 001111111100 */
745 0x3f, 0xc0, /* 001111111100 */
746 0x3f, 0xc0, /* 001111111100 */
747 0x00, 0x00, /* 000000000000 */
748 0x00, 0x00, /* 000000000000 */
749 0x00, 0x00, /* 000000000000 */
750 0x00, 0x00, /* 000000000000 */
751 0x00, 0x00, /* 000000000000 */
752
753 /* 30 0x1e '^^' */
754 /* FIXME */
755 0x00, 0x00, /* 000000000000 */
756 0x00, 0x00, /* 000000000000 */
757 0x00, 0x00, /* 000000000000 */
758 0x00, 0x00, /* 000000000000 */
759 0x00, 0x00, /* 000000000000 */
760 0x3f, 0xc0, /* 001111111100 */
761 0x3f, 0xc0, /* 001111111100 */
762 0x3f, 0xc0, /* 001111111100 */
763 0x3f, 0xc0, /* 001111111100 */
764 0x3f, 0xc0, /* 001111111100 */
765 0x3f, 0xc0, /* 001111111100 */
766 0x3f, 0xc0, /* 001111111100 */
767 0x3f, 0xc0, /* 001111111100 */
768 0x3f, 0xc0, /* 001111111100 */
769 0x3f, 0xc0, /* 001111111100 */
770 0x3f, 0xc0, /* 001111111100 */
771 0x3f, 0xc0, /* 001111111100 */
772 0x00, 0x00, /* 000000000000 */
773 0x00, 0x00, /* 000000000000 */
774 0x00, 0x00, /* 000000000000 */
775 0x00, 0x00, /* 000000000000 */
776 0x00, 0x00, /* 000000000000 */
777
778 /* 31 0x1f '^_' */
779 /* FIXME */
780 0x00, 0x00, /* 000000000000 */
781 0x00, 0x00, /* 000000000000 */
782 0x00, 0x00, /* 000000000000 */
783 0x00, 0x00, /* 000000000000 */
784 0x00, 0x00, /* 000000000000 */
785 0x3f, 0xc0, /* 001111111100 */
786 0x3f, 0xc0, /* 001111111100 */
787 0x3f, 0xc0, /* 001111111100 */
788 0x3f, 0xc0, /* 001111111100 */
789 0x3f, 0xc0, /* 001111111100 */
790 0x3f, 0xc0, /* 001111111100 */
791 0x3f, 0xc0, /* 001111111100 */
792 0x3f, 0xc0, /* 001111111100 */
793 0x3f, 0xc0, /* 001111111100 */
794 0x3f, 0xc0, /* 001111111100 */
795 0x3f, 0xc0, /* 001111111100 */
796 0x3f, 0xc0, /* 001111111100 */
797 0x00, 0x00, /* 000000000000 */
798 0x00, 0x00, /* 000000000000 */
799 0x00, 0x00, /* 000000000000 */
800 0x00, 0x00, /* 000000000000 */
801 0x00, 0x00, /* 000000000000 */
802
803 /* 32 0x20 ' ' */
804 0x00, 0x00, /* 000000000000 */
805 0x00, 0x00, /* 000000000000 */
806 0x00, 0x00, /* 000000000000 */
807 0x00, 0x00, /* 000000000000 */
808 0x00, 0x00, /* 000000000000 */
809 0x00, 0x00, /* 000000000000 */
810 0x00, 0x00, /* 000000000000 */
811 0x00, 0x00, /* 000000000000 */
812 0x00, 0x00, /* 000000000000 */
813 0x00, 0x00, /* 000000000000 */
814 0x00, 0x00, /* 000000000000 */
815 0x00, 0x00, /* 000000000000 */
816 0x00, 0x00, /* 000000000000 */
817 0x00, 0x00, /* 000000000000 */
818 0x00, 0x00, /* 000000000000 */
819 0x00, 0x00, /* 000000000000 */
820 0x00, 0x00, /* 000000000000 */
821 0x00, 0x00, /* 000000000000 */
822 0x00, 0x00, /* 000000000000 */
823 0x00, 0x00, /* 000000000000 */
824 0x00, 0x00, /* 000000000000 */
825 0x00, 0x00, /* 000000000000 */
826
827 /* 33 0x21 '!' */
828 0x00, 0x00, /* 000000000000 */
829 0x06, 0x00, /* 000001100000 */
830 0x06, 0x00, /* 000001100000 */
831 0x06, 0x00, /* 000001100000 */
832 0x06, 0x00, /* 000001100000 */
833 0x06, 0x00, /* 000001100000 */
834 0x06, 0x00, /* 000001100000 */
835 0x06, 0x00, /* 000001100000 */
836 0x06, 0x00, /* 000001100000 */
837 0x06, 0x00, /* 000001100000 */
838 0x06, 0x00, /* 000001100000 */
839 0x06, 0x00, /* 000001100000 */
840 0x00, 0x00, /* 000000000000 */
841 0x00, 0x00, /* 000000000000 */
842 0x06, 0x00, /* 000001100000 */
843 0x06, 0x00, /* 000001100000 */
844 0x00, 0x00, /* 000000000000 */
845 0x00, 0x00, /* 000000000000 */
846 0x00, 0x00, /* 000000000000 */
847 0x00, 0x00, /* 000000000000 */
848 0x00, 0x00, /* 000000000000 */
849 0x00, 0x00, /* 000000000000 */
850
851 /* 34 0x22 '"' */
852 0x00, 0x00, /* 000000000000 */
853 0x19, 0x80, /* 000110011000 */
854 0x19, 0x80, /* 000110011000 */
855 0x19, 0x80, /* 000110011000 */
856 0x19, 0x80, /* 000110011000 */
857 0x19, 0x80, /* 000110011000 */
858 0x19, 0x80, /* 000110011000 */
859 0x00, 0x00, /* 000000000000 */
860 0x00, 0x00, /* 000000000000 */
861 0x00, 0x00, /* 000000000000 */
862 0x00, 0x00, /* 000000000000 */
863 0x00, 0x00, /* 000000000000 */
864 0x00, 0x00, /* 000000000000 */
865 0x00, 0x00, /* 000000000000 */
866 0x00, 0x00, /* 000000000000 */
867 0x00, 0x00, /* 000000000000 */
868 0x00, 0x00, /* 000000000000 */
869 0x00, 0x00, /* 000000000000 */
870 0x00, 0x00, /* 000000000000 */
871 0x00, 0x00, /* 000000000000 */
872 0x00, 0x00, /* 000000000000 */
873 0x00, 0x00, /* 000000000000 */
874
875 /* 35 0x23 '#' */
876 0x00, 0x00, /* 000000000000 */
877 0x03, 0x30, /* 000000110011 */
878 0x03, 0x30, /* 000000110011 */
879 0x03, 0x30, /* 000000110011 */
880 0x06, 0x60, /* 000001100110 */
881 0x1f, 0xf0, /* 000111111111 */
882 0x1f, 0xf0, /* 000111111111 */
883 0x0c, 0xc0, /* 000011001100 */
884 0x0c, 0xc0, /* 000011001100 */
885 0x19, 0x80, /* 000110011000 */
886 0x19, 0x80, /* 000110011000 */
887 0x7f, 0xc0, /* 011111111100 */
888 0x7f, 0xc0, /* 011111111100 */
889 0x33, 0x00, /* 001100110000 */
890 0x66, 0x00, /* 011001100000 */
891 0x66, 0x00, /* 011001100000 */
892 0x00, 0x00, /* 000000000000 */
893 0x00, 0x00, /* 000000000000 */
894 0x00, 0x00, /* 000000000000 */
895 0x00, 0x00, /* 000000000000 */
896 0x00, 0x00, /* 000000000000 */
897 0x00, 0x00, /* 000000000000 */
898
899 /* 36 0x24 '$' */
900 0x00, 0x00, /* 000000000000 */
901 0x06, 0x00, /* 000001100000 */
902 0x1f, 0x80, /* 000111111000 */
903 0x3f, 0xc0, /* 001111111100 */
904 0x66, 0xe0, /* 011001101110 */
905 0x66, 0x60, /* 011001100110 */
906 0x66, 0x00, /* 011001100000 */
907 0x3e, 0x00, /* 001111100000 */
908 0x1f, 0x80, /* 000111111000 */
909 0x07, 0xc0, /* 000001111100 */
910 0x06, 0x60, /* 000001100110 */
911 0x06, 0x60, /* 000001100110 */
912 0x66, 0x60, /* 011001100110 */
913 0x7f, 0xc0, /* 011111111100 */
914 0x3f, 0x80, /* 001111111000 */
915 0x06, 0x00, /* 000001100000 */
916 0x00, 0x00, /* 000000000000 */
917 0x00, 0x00, /* 000000000000 */
918 0x00, 0x00, /* 000000000000 */
919 0x00, 0x00, /* 000000000000 */
920 0x00, 0x00, /* 000000000000 */
921 0x00, 0x00, /* 000000000000 */
922
923 /* 37 0x25 '%' */
924 0x00, 0x00, /* 000000000000 */
925 0x00, 0x00, /* 000000000000 */
926 0x38, 0xc0, /* 001110001100 */
927 0x4c, 0xc0, /* 010011001100 */
928 0x45, 0x80, /* 010001011000 */
929 0x65, 0x80, /* 011001011000 */
930 0x3b, 0x00, /* 001110110000 */
931 0x03, 0x00, /* 000000110000 */
932 0x06, 0x00, /* 000001100000 */
933 0x06, 0x00, /* 000001100000 */
934 0x0c, 0x00, /* 000011000000 */
935 0x0d, 0xc0, /* 000011011100 */
936 0x1a, 0x60, /* 000110100110 */
937 0x1a, 0x20, /* 000110100010 */
938 0x33, 0x20, /* 001100110010 */
939 0x31, 0xc0, /* 001100011100 */
940 0x00, 0x00, /* 000000000000 */
941 0x00, 0x00, /* 000000000000 */
942 0x00, 0x00, /* 000000000000 */
943 0x00, 0x00, /* 000000000000 */
944 0x00, 0x00, /* 000000000000 */
945 0x00, 0x00, /* 000000000000 */
946
947 /* 38 0x26 '&' */
948 0x00, 0x00, /* 000000000000 */
949 0x07, 0x00, /* 000001110000 */
950 0x0f, 0x80, /* 000011111000 */
951 0x18, 0xc0, /* 000110001100 */
952 0x18, 0xc0, /* 000110001100 */
953 0x18, 0xc0, /* 000110001100 */
954 0x0f, 0x80, /* 000011111000 */
955 0x1e, 0x00, /* 000111100000 */
956 0x3e, 0x00, /* 001111100000 */
957 0x77, 0x00, /* 011101110000 */
958 0x63, 0x60, /* 011000110110 */
959 0x61, 0xe0, /* 011000011110 */
960 0x61, 0xc0, /* 011000011100 */
961 0x61, 0x80, /* 011000011000 */
962 0x3f, 0xe0, /* 001111111110 */
963 0x1e, 0x60, /* 000111100110 */
964 0x00, 0x00, /* 000000000000 */
965 0x00, 0x00, /* 000000000000 */
966 0x00, 0x00, /* 000000000000 */
967 0x00, 0x00, /* 000000000000 */
968 0x00, 0x00, /* 000000000000 */
969 0x00, 0x00, /* 000000000000 */
970
971 /* 39 0x27 ''' */
972 0x00, 0x00, /* 000000000000 */
973 0x0c, 0x00, /* 000011000000 */
974 0x1e, 0x00, /* 000111100000 */
975 0x1e, 0x00, /* 000111100000 */
976 0x06, 0x00, /* 000001100000 */
977 0x06, 0x00, /* 000001100000 */
978 0x0c, 0x00, /* 000011000000 */
979 0x18, 0x00, /* 000110000000 */
980 0x10, 0x00, /* 000100000000 */
981 0x00, 0x00, /* 000000000000 */
982 0x00, 0x00, /* 000000000000 */
983 0x00, 0x00, /* 000000000000 */
984 0x00, 0x00, /* 000000000000 */
985 0x00, 0x00, /* 000000000000 */
986 0x00, 0x00, /* 000000000000 */
987 0x00, 0x00, /* 000000000000 */
988 0x00, 0x00, /* 000000000000 */
989 0x00, 0x00, /* 000000000000 */
990 0x00, 0x00, /* 000000000000 */
991 0x00, 0x00, /* 000000000000 */
992 0x00, 0x00, /* 000000000000 */
993 0x00, 0x00, /* 000000000000 */
994
995 /* 40 0x28 '(' */
996 0x00, 0x00, /* 000000000000 */
997 0x01, 0x80, /* 000000011000 */
998 0x03, 0x00, /* 000000110000 */
999 0x06, 0x00, /* 000001100000 */
1000 0x06, 0x00, /* 000001100000 */
1001 0x0c, 0x00, /* 000011000000 */
1002 0x0c, 0x00, /* 000011000000 */
1003 0x0c, 0x00, /* 000011000000 */
1004 0x0c, 0x00, /* 000011000000 */
1005 0x0c, 0x00, /* 000011000000 */
1006 0x0c, 0x00, /* 000011000000 */
1007 0x0c, 0x00, /* 000011000000 */
1008 0x06, 0x00, /* 000001100000 */
1009 0x06, 0x00, /* 000001100000 */
1010 0x03, 0x00, /* 000000110000 */
1011 0x01, 0x80, /* 000000011000 */
1012 0x00, 0x00, /* 000000000000 */
1013 0x00, 0x00, /* 000000000000 */
1014 0x00, 0x00, /* 000000000000 */
1015 0x00, 0x00, /* 000000000000 */
1016 0x00, 0x00, /* 000000000000 */
1017 0x00, 0x00, /* 000000000000 */
1018
1019 /* 41 0x29 ')' */
1020 0x00, 0x00, /* 000000000000 */
1021 0x18, 0x00, /* 000110000000 */
1022 0x0c, 0x00, /* 000011000000 */
1023 0x06, 0x00, /* 000001100000 */
1024 0x06, 0x00, /* 000001100000 */
1025 0x03, 0x00, /* 000000110000 */
1026 0x03, 0x00, /* 000000110000 */
1027 0x03, 0x00, /* 000000110000 */
1028 0x03, 0x00, /* 000000110000 */
1029 0x03, 0x00, /* 000000110000 */
1030 0x03, 0x00, /* 000000110000 */
1031 0x03, 0x00, /* 000000110000 */
1032 0x06, 0x00, /* 000001100000 */
1033 0x06, 0x00, /* 000001100000 */
1034 0x0c, 0x00, /* 000011000000 */
1035 0x18, 0x00, /* 000110000000 */
1036 0x00, 0x00, /* 000000000000 */
1037 0x00, 0x00, /* 000000000000 */
1038 0x00, 0x00, /* 000000000000 */
1039 0x00, 0x00, /* 000000000000 */
1040 0x00, 0x00, /* 000000000000 */
1041 0x00, 0x00, /* 000000000000 */
1042
1043 /* 42 0x2a '*' */
1044 0x00, 0x00, /* 000000000000 */
1045 0x00, 0x00, /* 000000000000 */
1046 0x00, 0x00, /* 000000000000 */
1047 0x00, 0x00, /* 000000000000 */
1048 0x00, 0x00, /* 000000000000 */
1049 0x0f, 0x00, /* 000011110000 */
1050 0x06, 0x00, /* 000001100000 */
1051 0x66, 0x60, /* 011001100110 */
1052 0x76, 0xe0, /* 011101101110 */
1053 0x19, 0x80, /* 000110011000 */
1054 0x00, 0x00, /* 000000000000 */
1055 0x19, 0x80, /* 000110011000 */
1056 0x76, 0xe0, /* 011101101110 */
1057 0x66, 0x60, /* 011001100110 */
1058 0x06, 0x00, /* 000001100000 */
1059 0x0f, 0x00, /* 000011110000 */
1060 0x00, 0x00, /* 000000000000 */
1061 0x00, 0x00, /* 000000000000 */
1062 0x00, 0x00, /* 000000000000 */
1063 0x00, 0x00, /* 000000000000 */
1064 0x00, 0x00, /* 000000000000 */
1065 0x00, 0x00, /* 000000000000 */
1066
1067 /* 43 0x2b '+' */
1068 0x00, 0x00, /* 000000000000 */
1069 0x00, 0x00, /* 000000000000 */
1070 0x00, 0x00, /* 000000000000 */
1071 0x00, 0x00, /* 000000000000 */
1072 0x00, 0x00, /* 000000000000 */
1073 0x00, 0x00, /* 000000000000 */
1074 0x06, 0x00, /* 000001100000 */
1075 0x06, 0x00, /* 000001100000 */
1076 0x06, 0x00, /* 000001100000 */
1077 0x06, 0x00, /* 000001100000 */
1078 0x7f, 0xe0, /* 011111111110 */
1079 0x7f, 0xe0, /* 011111111110 */
1080 0x06, 0x00, /* 000001100000 */
1081 0x06, 0x00, /* 000001100000 */
1082 0x06, 0x00, /* 000001100000 */
1083 0x06, 0x00, /* 000001100000 */
1084 0x00, 0x00, /* 000000000000 */
1085 0x00, 0x00, /* 000000000000 */
1086 0x00, 0x00, /* 000000000000 */
1087 0x00, 0x00, /* 000000000000 */
1088 0x00, 0x00, /* 000000000000 */
1089 0x00, 0x00, /* 000000000000 */
1090
1091 /* 44 0x2c ',' */
1092 0x00, 0x00, /* 000000000000 */
1093 0x00, 0x00, /* 000000000000 */
1094 0x00, 0x00, /* 000000000000 */
1095 0x00, 0x00, /* 000000000000 */
1096 0x00, 0x00, /* 000000000000 */
1097 0x00, 0x00, /* 000000000000 */
1098 0x00, 0x00, /* 000000000000 */
1099 0x00, 0x00, /* 000000000000 */
1100 0x00, 0x00, /* 000000000000 */
1101 0x00, 0x00, /* 000000000000 */
1102 0x00, 0x00, /* 000000000000 */
1103 0x00, 0x00, /* 000000000000 */
1104 0x00, 0x00, /* 000000000000 */
1105 0x0c, 0x00, /* 000011000000 */
1106 0x1e, 0x00, /* 000111100000 */
1107 0x1e, 0x00, /* 000111100000 */
1108 0x06, 0x00, /* 000001100000 */
1109 0x06, 0x00, /* 000001100000 */
1110 0x0c, 0x00, /* 000011000000 */
1111 0x18, 0x00, /* 000110000000 */
1112 0x10, 0x00, /* 000100000000 */
1113 0x00, 0x00, /* 000000000000 */
1114
1115 /* 45 0x2d '-' */
1116 0x00, 0x00, /* 000000000000 */
1117 0x00, 0x00, /* 000000000000 */
1118 0x00, 0x00, /* 000000000000 */
1119 0x00, 0x00, /* 000000000000 */
1120 0x00, 0x00, /* 000000000000 */
1121 0x00, 0x00, /* 000000000000 */
1122 0x00, 0x00, /* 000000000000 */
1123 0x00, 0x00, /* 000000000000 */
1124 0x00, 0x00, /* 000000000000 */
1125 0x00, 0x00, /* 000000000000 */
1126 0x7f, 0xe0, /* 011111111110 */
1127 0x7f, 0xe0, /* 011111111110 */
1128 0x00, 0x00, /* 000000000000 */
1129 0x00, 0x00, /* 000000000000 */
1130 0x00, 0x00, /* 000000000000 */
1131 0x00, 0x00, /* 000000000000 */
1132 0x00, 0x00, /* 000000000000 */
1133 0x00, 0x00, /* 000000000000 */
1134 0x00, 0x00, /* 000000000000 */
1135 0x00, 0x00, /* 000000000000 */
1136 0x00, 0x00, /* 000000000000 */
1137 0x00, 0x00, /* 000000000000 */
1138
1139 /* 46 0x2e '.' */
1140 0x00, 0x00, /* 000000000000 */
1141 0x00, 0x00, /* 000000000000 */
1142 0x00, 0x00, /* 000000000000 */
1143 0x00, 0x00, /* 000000000000 */
1144 0x00, 0x00, /* 000000000000 */
1145 0x00, 0x00, /* 000000000000 */
1146 0x00, 0x00, /* 000000000000 */
1147 0x00, 0x00, /* 000000000000 */
1148 0x00, 0x00, /* 000000000000 */
1149 0x00, 0x00, /* 000000000000 */
1150 0x00, 0x00, /* 000000000000 */
1151 0x00, 0x00, /* 000000000000 */
1152 0x0c, 0x00, /* 000011000000 */
1153 0x1e, 0x00, /* 000111100000 */
1154 0x1e, 0x00, /* 000111100000 */
1155 0x0c, 0x00, /* 000011000000 */
1156 0x00, 0x00, /* 000000000000 */
1157 0x00, 0x00, /* 000000000000 */
1158 0x00, 0x00, /* 000000000000 */
1159 0x00, 0x00, /* 000000000000 */
1160 0x00, 0x00, /* 000000000000 */
1161 0x00, 0x00, /* 000000000000 */
1162
1163 /* 47 0x2f '/' */
1164 0x00, 0x00, /* 000000000000 */
1165 0x00, 0x60, /* 000000000110 */
1166 0x00, 0xc0, /* 000000001100 */
1167 0x00, 0xc0, /* 000000001100 */
1168 0x01, 0x80, /* 000000011000 */
1169 0x01, 0x80, /* 000000011000 */
1170 0x03, 0x00, /* 000000110000 */
1171 0x03, 0x00, /* 000000110000 */
1172 0x06, 0x00, /* 000001100000 */
1173 0x06, 0x00, /* 000001100000 */
1174 0x0c, 0x00, /* 000011000000 */
1175 0x0c, 0x00, /* 000011000000 */
1176 0x18, 0x00, /* 000110000000 */
1177 0x18, 0x00, /* 000110000000 */
1178 0x30, 0x00, /* 001100000000 */
1179 0x30, 0x00, /* 001100000000 */
1180 0x60, 0x00, /* 011000000000 */
1181 0x00, 0x00, /* 000000000000 */
1182 0x00, 0x00, /* 000000000000 */
1183 0x00, 0x00, /* 000000000000 */
1184 0x00, 0x00, /* 000000000000 */
1185 0x00, 0x00, /* 000000000000 */
1186
1187 /* 48 0x30 '0' */
1188 0x00, 0x00, /* 000000000000 */
1189 0x07, 0x00, /* 000001110000 */
1190 0x0f, 0x80, /* 000011111000 */
1191 0x11, 0x80, /* 000100011000 */
1192 0x10, 0xc0, /* 000100001100 */
1193 0x30, 0xc0, /* 001100001100 */
1194 0x30, 0xc0, /* 001100001100 */
1195 0x30, 0xc0, /* 001100001100 */
1196 0x30, 0xc0, /* 001100001100 */
1197 0x30, 0xc0, /* 001100001100 */
1198 0x30, 0xc0, /* 001100001100 */
1199 0x30, 0xc0, /* 001100001100 */
1200 0x30, 0x80, /* 001100001000 */
1201 0x18, 0x80, /* 000110001000 */
1202 0x1f, 0x00, /* 000111110000 */
1203 0x0e, 0x00, /* 000011100000 */
1204 0x00, 0x00, /* 000000000000 */
1205 0x00, 0x00, /* 000000000000 */
1206 0x00, 0x00, /* 000000000000 */
1207 0x00, 0x00, /* 000000000000 */
1208 0x00, 0x00, /* 000000000000 */
1209 0x00, 0x00, /* 000000000000 */
1210
1211 /* 49 0x31 '1' */
1212 0x00, 0x00, /* 000000000000 */
1213 0x02, 0x00, /* 000000100000 */
1214 0x06, 0x00, /* 000001100000 */
1215 0x0e, 0x00, /* 000011100000 */
1216 0x1e, 0x00, /* 000111100000 */
1217 0x36, 0x00, /* 001101100000 */
1218 0x06, 0x00, /* 000001100000 */
1219 0x06, 0x00, /* 000001100000 */
1220 0x06, 0x00, /* 000001100000 */
1221 0x06, 0x00, /* 000001100000 */
1222 0x06, 0x00, /* 000001100000 */
1223 0x06, 0x00, /* 000001100000 */
1224 0x06, 0x00, /* 000001100000 */
1225 0x06, 0x00, /* 000001100000 */
1226 0x06, 0x00, /* 000001100000 */
1227 0x3f, 0xc0, /* 001111111100 */
1228 0x00, 0x00, /* 000000000000 */
1229 0x00, 0x00, /* 000000000000 */
1230 0x00, 0x00, /* 000000000000 */
1231 0x00, 0x00, /* 000000000000 */
1232 0x00, 0x00, /* 000000000000 */
1233 0x00, 0x00, /* 000000000000 */
1234
1235 /* 50 0x32 '2' */
1236 0x00, 0x00, /* 000000000000 */
1237 0x1f, 0x00, /* 000111110000 */
1238 0x3f, 0x80, /* 001111111000 */
1239 0x61, 0xc0, /* 011000011100 */
1240 0x40, 0xc0, /* 010000001100 */
1241 0x00, 0xc0, /* 000000001100 */
1242 0x00, 0xc0, /* 000000001100 */
1243 0x00, 0xc0, /* 000000001100 */
1244 0x01, 0x80, /* 000000011000 */
1245 0x03, 0x00, /* 000000110000 */
1246 0x06, 0x00, /* 000001100000 */
1247 0x0c, 0x00, /* 000011000000 */
1248 0x18, 0x00, /* 000110000000 */
1249 0x30, 0x20, /* 001100000010 */
1250 0x7f, 0xe0, /* 011111111110 */
1251 0x7f, 0xe0, /* 011111111110 */
1252 0x00, 0x00, /* 000000000000 */
1253 0x00, 0x00, /* 000000000000 */
1254 0x00, 0x00, /* 000000000000 */
1255 0x00, 0x00, /* 000000000000 */
1256 0x00, 0x00, /* 000000000000 */
1257 0x00, 0x00, /* 000000000000 */
1258
1259 /* 51 0x33 '3' */
1260 0x00, 0x00, /* 000000000000 */
1261 0x0f, 0x80, /* 000011111000 */
1262 0x1f, 0xc0, /* 000111111100 */
1263 0x20, 0xe0, /* 001000001110 */
1264 0x40, 0x60, /* 010000000110 */
1265 0x00, 0x60, /* 000000000110 */
1266 0x00, 0xe0, /* 000000001110 */
1267 0x07, 0xc0, /* 000001111100 */
1268 0x0f, 0xc0, /* 000011111100 */
1269 0x00, 0xe0, /* 000000001110 */
1270 0x00, 0x60, /* 000000000110 */
1271 0x00, 0x60, /* 000000000110 */
1272 0x40, 0x60, /* 010000000110 */
1273 0x60, 0x40, /* 011000000100 */
1274 0x3f, 0x80, /* 001111111000 */
1275 0x1f, 0x00, /* 000111110000 */
1276 0x00, 0x00, /* 000000000000 */
1277 0x00, 0x00, /* 000000000000 */
1278 0x00, 0x00, /* 000000000000 */
1279 0x00, 0x00, /* 000000000000 */
1280 0x00, 0x00, /* 000000000000 */
1281 0x00, 0x00, /* 000000000000 */
1282
1283 /* 52 0x34 '4' */
1284 0x00, 0x00, /* 000000000000 */
1285 0x01, 0x80, /* 000000011000 */
1286 0x03, 0x80, /* 000000111000 */
1287 0x03, 0x80, /* 000000111000 */
1288 0x05, 0x80, /* 000001011000 */
1289 0x05, 0x80, /* 000001011000 */
1290 0x09, 0x80, /* 000010011000 */
1291 0x09, 0x80, /* 000010011000 */
1292 0x11, 0x80, /* 000100011000 */
1293 0x11, 0x80, /* 000100011000 */
1294 0x21, 0x80, /* 001000011000 */
1295 0x3f, 0xe0, /* 001111111110 */
1296 0x7f, 0xe0, /* 011111111110 */
1297 0x01, 0x80, /* 000000011000 */
1298 0x01, 0x80, /* 000000011000 */
1299 0x01, 0x80, /* 000000011000 */
1300 0x00, 0x00, /* 000000000000 */
1301 0x00, 0x00, /* 000000000000 */
1302 0x00, 0x00, /* 000000000000 */
1303 0x00, 0x00, /* 000000000000 */
1304 0x00, 0x00, /* 000000000000 */
1305 0x00, 0x00, /* 000000000000 */
1306
1307 /* 53 0x35 '5' */
1308 0x00, 0x00, /* 000000000000 */
1309 0x0f, 0xc0, /* 000011111100 */
1310 0x0f, 0xc0, /* 000011111100 */
1311 0x10, 0x00, /* 000100000000 */
1312 0x10, 0x00, /* 000100000000 */
1313 0x20, 0x00, /* 001000000000 */
1314 0x3f, 0x80, /* 001111111000 */
1315 0x31, 0xc0, /* 001100011100 */
1316 0x00, 0xe0, /* 000000001110 */
1317 0x00, 0x60, /* 000000000110 */
1318 0x00, 0x60, /* 000000000110 */
1319 0x00, 0x60, /* 000000000110 */
1320 0x40, 0x60, /* 010000000110 */
1321 0x60, 0x60, /* 011000000110 */
1322 0x30, 0xc0, /* 001100001100 */
1323 0x1f, 0x80, /* 000111111000 */
1324 0x00, 0x00, /* 000000000000 */
1325 0x00, 0x00, /* 000000000000 */
1326 0x00, 0x00, /* 000000000000 */
1327 0x00, 0x00, /* 000000000000 */
1328 0x00, 0x00, /* 000000000000 */
1329 0x00, 0x00, /* 000000000000 */
1330
1331 /* 54 0x36 '6' */
1332 0x00, 0x00, /* 000000000000 */
1333 0x07, 0x00, /* 000001110000 */
1334 0x0c, 0x00, /* 000011000000 */
1335 0x18, 0x00, /* 000110000000 */
1336 0x30, 0x00, /* 001100000000 */
1337 0x30, 0x00, /* 001100000000 */
1338 0x60, 0x00, /* 011000000000 */
1339 0x67, 0x80, /* 011001111000 */
1340 0x6f, 0xc0, /* 011011111100 */
1341 0x70, 0xe0, /* 011100001110 */
1342 0x60, 0x60, /* 011000000110 */
1343 0x60, 0x60, /* 011000000110 */
1344 0x60, 0x60, /* 011000000110 */
1345 0x70, 0x40, /* 011100000100 */
1346 0x3f, 0x80, /* 001111111000 */
1347 0x1f, 0x00, /* 000111110000 */
1348 0x00, 0x00, /* 000000000000 */
1349 0x00, 0x00, /* 000000000000 */
1350 0x00, 0x00, /* 000000000000 */
1351 0x00, 0x00, /* 000000000000 */
1352 0x00, 0x00, /* 000000000000 */
1353 0x00, 0x00, /* 000000000000 */
1354
1355 /* 55 0x37 '7' */
1356 0x00, 0x00, /* 000000000000 */
1357 0x1f, 0xe0, /* 000111111110 */
1358 0x3f, 0xe0, /* 001111111110 */
1359 0x60, 0x40, /* 011000000100 */
1360 0x00, 0x40, /* 000000000100 */
1361 0x00, 0xc0, /* 000000001100 */
1362 0x00, 0x80, /* 000000001000 */
1363 0x00, 0x80, /* 000000001000 */
1364 0x01, 0x80, /* 000000011000 */
1365 0x01, 0x00, /* 000000010000 */
1366 0x01, 0x00, /* 000000010000 */
1367 0x03, 0x00, /* 000000110000 */
1368 0x02, 0x00, /* 000000100000 */
1369 0x02, 0x00, /* 000000100000 */
1370 0x06, 0x00, /* 000001100000 */
1371 0x04, 0x00, /* 000001000000 */
1372 0x00, 0x00, /* 000000000000 */
1373 0x00, 0x00, /* 000000000000 */
1374 0x00, 0x00, /* 000000000000 */
1375 0x00, 0x00, /* 000000000000 */
1376 0x00, 0x00, /* 000000000000 */
1377 0x00, 0x00, /* 000000000000 */
1378
1379 /* 56 0x38 '8' */
1380 0x00, 0x00, /* 000000000000 */
1381 0x0f, 0x00, /* 000011110000 */
1382 0x11, 0x80, /* 000100011000 */
1383 0x30, 0xc0, /* 001100001100 */
1384 0x30, 0xc0, /* 001100001100 */
1385 0x30, 0xc0, /* 001100001100 */
1386 0x18, 0x80, /* 000110001000 */
1387 0x0d, 0x00, /* 000011010000 */
1388 0x06, 0x00, /* 000001100000 */
1389 0x0b, 0x00, /* 000010110000 */
1390 0x11, 0x80, /* 000100011000 */
1391 0x30, 0xc0, /* 001100001100 */
1392 0x30, 0xc0, /* 001100001100 */
1393 0x30, 0xc0, /* 001100001100 */
1394 0x18, 0x80, /* 000110001000 */
1395 0x0f, 0x00, /* 000011110000 */
1396 0x00, 0x00, /* 000000000000 */
1397 0x00, 0x00, /* 000000000000 */
1398 0x00, 0x00, /* 000000000000 */
1399 0x00, 0x00, /* 000000000000 */
1400 0x00, 0x00, /* 000000000000 */
1401 0x00, 0x00, /* 000000000000 */
1402
1403 /* 57 0x39 '9' */
1404 0x00, 0x00, /* 000000000000 */
1405 0x0f, 0x80, /* 000011111000 */
1406 0x11, 0xc0, /* 000100011100 */
1407 0x20, 0xe0, /* 001000001110 */
1408 0x60, 0x60, /* 011000000110 */
1409 0x60, 0x60, /* 011000000110 */
1410 0x60, 0x60, /* 011000000110 */
1411 0x70, 0xe0, /* 011100001110 */
1412 0x3f, 0x60, /* 001111110110 */
1413 0x1e, 0x60, /* 000111100110 */
1414 0x00, 0x60, /* 000000000110 */
1415 0x00, 0xc0, /* 000000001100 */
1416 0x00, 0xc0, /* 000000001100 */
1417 0x01, 0x80, /* 000000011000 */
1418 0x07, 0x00, /* 000001110000 */
1419 0x3c, 0x00, /* 001111000000 */
1420 0x00, 0x00, /* 000000000000 */
1421 0x00, 0x00, /* 000000000000 */
1422 0x00, 0x00, /* 000000000000 */
1423 0x00, 0x00, /* 000000000000 */
1424 0x00, 0x00, /* 000000000000 */
1425 0x00, 0x00, /* 000000000000 */
1426
1427 /* 58 0x3a ':' */
1428 0x00, 0x00, /* 000000000000 */
1429 0x00, 0x00, /* 000000000000 */
1430 0x00, 0x00, /* 000000000000 */
1431 0x00, 0x00, /* 000000000000 */
1432 0x00, 0x00, /* 000000000000 */
1433 0x00, 0x00, /* 000000000000 */
1434 0x0c, 0x00, /* 000011000000 */
1435 0x1e, 0x00, /* 000111100000 */
1436 0x1e, 0x00, /* 000111100000 */
1437 0x0c, 0x00, /* 000011000000 */
1438 0x00, 0x00, /* 000000000000 */
1439 0x00, 0x00, /* 000000000000 */
1440 0x0c, 0x00, /* 000011000000 */
1441 0x1e, 0x00, /* 000111100000 */
1442 0x1e, 0x00, /* 000111100000 */
1443 0x0c, 0x00, /* 000011000000 */
1444 0x00, 0x00, /* 000000000000 */
1445 0x00, 0x00, /* 000000000000 */
1446 0x00, 0x00, /* 000000000000 */
1447 0x00, 0x00, /* 000000000000 */
1448 0x00, 0x00, /* 000000000000 */
1449 0x00, 0x00, /* 000000000000 */
1450
1451 /* 59 0x3b ';' */
1452 0x00, 0x00, /* 000000000000 */
1453 0x00, 0x00, /* 000000000000 */
1454 0x00, 0x00, /* 000000000000 */
1455 0x00, 0x00, /* 000000000000 */
1456 0x00, 0x00, /* 000000000000 */
1457 0x00, 0x00, /* 000000000000 */
1458 0x00, 0x00, /* 000000000000 */
1459 0x0c, 0x00, /* 000011000000 */
1460 0x1e, 0x00, /* 000111100000 */
1461 0x1e, 0x00, /* 000111100000 */
1462 0x0c, 0x00, /* 000011000000 */
1463 0x00, 0x00, /* 000000000000 */
1464 0x00, 0x00, /* 000000000000 */
1465 0x0c, 0x00, /* 000011000000 */
1466 0x1e, 0x00, /* 000111100000 */
1467 0x1e, 0x00, /* 000111100000 */
1468 0x06, 0x00, /* 000001100000 */
1469 0x06, 0x00, /* 000001100000 */
1470 0x0c, 0x00, /* 000011000000 */
1471 0x18, 0x00, /* 000110000000 */
1472 0x10, 0x00, /* 000100000000 */
1473 0x00, 0x00, /* 000000000000 */
1474
1475 /* 60 0x3c '<' */
1476 0x00, 0x00, /* 000000000000 */
1477 0x00, 0x00, /* 000000000000 */
1478 0x00, 0x00, /* 000000000000 */
1479 0x00, 0x00, /* 000000000000 */
1480 0x00, 0x00, /* 000000000000 */
1481 0x00, 0x00, /* 000000000000 */
1482 0x00, 0x60, /* 000000000110 */
1483 0x01, 0xc0, /* 000000011100 */
1484 0x07, 0x00, /* 000001110000 */
1485 0x1c, 0x00, /* 000111000000 */
1486 0x70, 0x00, /* 011100000000 */
1487 0x70, 0x00, /* 011100000000 */
1488 0x1c, 0x00, /* 000111000000 */
1489 0x07, 0x00, /* 000001110000 */
1490 0x01, 0xc0, /* 000000011100 */
1491 0x00, 0x60, /* 000000000110 */
1492 0x00, 0x00, /* 000000000000 */
1493 0x00, 0x00, /* 000000000000 */
1494 0x00, 0x00, /* 000000000000 */
1495 0x00, 0x00, /* 000000000000 */
1496 0x00, 0x00, /* 000000000000 */
1497 0x00, 0x00, /* 000000000000 */
1498
1499 /* 61 0x3d '=' */
1500 0x00, 0x00, /* 000000000000 */
1501 0x00, 0x00, /* 000000000000 */
1502 0x00, 0x00, /* 000000000000 */
1503 0x00, 0x00, /* 000000000000 */
1504 0x00, 0x00, /* 000000000000 */
1505 0x00, 0x00, /* 000000000000 */
1506 0x00, 0x00, /* 000000000000 */
1507 0x00, 0x00, /* 000000000000 */
1508 0x7f, 0xe0, /* 011111111110 */
1509 0x7f, 0xe0, /* 011111111110 */
1510 0x00, 0x00, /* 000000000000 */
1511 0x00, 0x00, /* 000000000000 */
1512 0x7f, 0xe0, /* 011111111110 */
1513 0x7f, 0xe0, /* 011111111110 */
1514 0x00, 0x00, /* 000000000000 */
1515 0x00, 0x00, /* 000000000000 */
1516 0x00, 0x00, /* 000000000000 */
1517 0x00, 0x00, /* 000000000000 */
1518 0x00, 0x00, /* 000000000000 */
1519 0x00, 0x00, /* 000000000000 */
1520 0x00, 0x00, /* 000000000000 */
1521 0x00, 0x00, /* 000000000000 */
1522
1523 /* 62 0x3e '>' */
1524 0x00, 0x00, /* 000000000000 */
1525 0x00, 0x00, /* 000000000000 */
1526 0x00, 0x00, /* 000000000000 */
1527 0x00, 0x00, /* 000000000000 */
1528 0x00, 0x00, /* 000000000000 */
1529 0x00, 0x00, /* 000000000000 */
1530 0x60, 0x00, /* 011000000000 */
1531 0x38, 0x00, /* 001110000000 */
1532 0x0e, 0x00, /* 000011100000 */
1533 0x03, 0x80, /* 000000111000 */
1534 0x00, 0xe0, /* 000000001110 */
1535 0x00, 0xe0, /* 000000001110 */
1536 0x03, 0x80, /* 000000111000 */
1537 0x0e, 0x00, /* 000011100000 */
1538 0x38, 0x00, /* 001110000000 */
1539 0x60, 0x00, /* 011000000000 */
1540 0x00, 0x00, /* 000000000000 */
1541 0x00, 0x00, /* 000000000000 */
1542 0x00, 0x00, /* 000000000000 */
1543 0x00, 0x00, /* 000000000000 */
1544 0x00, 0x00, /* 000000000000 */
1545 0x00, 0x00, /* 000000000000 */
1546
1547 /* 63 0x3f '?' */
1548 0x00, 0x00, /* 000000000000 */
1549 0x0f, 0x00, /* 000011110000 */
1550 0x1f, 0x80, /* 000111111000 */
1551 0x39, 0xc0, /* 001110011100 */
1552 0x20, 0xc0, /* 001000001100 */
1553 0x00, 0xc0, /* 000000001100 */
1554 0x00, 0xc0, /* 000000001100 */
1555 0x01, 0x80, /* 000000011000 */
1556 0x03, 0x00, /* 000000110000 */
1557 0x06, 0x00, /* 000001100000 */
1558 0x0c, 0x00, /* 000011000000 */
1559 0x0c, 0x00, /* 000011000000 */
1560 0x00, 0x00, /* 000000000000 */
1561 0x00, 0x00, /* 000000000000 */
1562 0x0c, 0x00, /* 000011000000 */
1563 0x0c, 0x00, /* 000011000000 */
1564 0x00, 0x00, /* 000000000000 */
1565 0x00, 0x00, /* 000000000000 */
1566 0x00, 0x00, /* 000000000000 */
1567 0x00, 0x00, /* 000000000000 */
1568 0x00, 0x00, /* 000000000000 */
1569 0x00, 0x00, /* 000000000000 */
1570
1571 /* 64 0x40 '@' */
1572 0x00, 0x00, /* 000000000000 */
1573 0x00, 0x00, /* 000000000000 */
1574 0x00, 0x00, /* 000000000000 */
1575 0x00, 0x00, /* 000000000000 */
1576 0x0f, 0x80, /* 000011111000 */
1577 0x3f, 0xc0, /* 001111111100 */
1578 0x30, 0x60, /* 001100000110 */
1579 0x60, 0x60, /* 011000000110 */
1580 0x67, 0x20, /* 011001110010 */
1581 0x6f, 0xa0, /* 011011111010 */
1582 0x6c, 0xa0, /* 011011001010 */
1583 0x6c, 0xa0, /* 011011001010 */
1584 0x67, 0xe0, /* 011001111110 */
1585 0x60, 0x00, /* 011000000000 */
1586 0x30, 0x00, /* 001100000000 */
1587 0x3f, 0xe0, /* 001111111110 */
1588 0x0f, 0xe0, /* 000011111110 */
1589 0x00, 0x00, /* 000000000000 */
1590 0x00, 0x00, /* 000000000000 */
1591 0x00, 0x00, /* 000000000000 */
1592 0x00, 0x00, /* 000000000000 */
1593 0x00, 0x00, /* 000000000000 */
1594
1595 /* 65 0x41 'A' */
1596 0x00, 0x00, /* 000000000000 */
1597 0x00, 0x00, /* 000000000000 */
1598 0x06, 0x00, /* 000001100000 */
1599 0x06, 0x00, /* 000001100000 */
1600 0x0b, 0x00, /* 000010110000 */
1601 0x0b, 0x00, /* 000010110000 */
1602 0x09, 0x00, /* 000010010000 */
1603 0x11, 0x80, /* 000100011000 */
1604 0x11, 0x80, /* 000100011000 */
1605 0x10, 0x80, /* 000100001000 */
1606 0x3f, 0xc0, /* 001111111100 */
1607 0x20, 0xc0, /* 001000001100 */
1608 0x20, 0x40, /* 001000000100 */
1609 0x40, 0x60, /* 010000000110 */
1610 0x40, 0x60, /* 010000000110 */
1611 0xe0, 0xf0, /* 111000001111 */
1612 0x00, 0x00, /* 000000000000 */
1613 0x00, 0x00, /* 000000000000 */
1614 0x00, 0x00, /* 000000000000 */
1615 0x00, 0x00, /* 000000000000 */
1616 0x00, 0x00, /* 000000000000 */
1617 0x00, 0x00, /* 000000000000 */
1618
1619 /* 66 0x42 'B' */
1620 0x00, 0x00, /* 000000000000 */
1621 0x00, 0x00, /* 000000000000 */
1622 0xff, 0x00, /* 111111110000 */
1623 0x60, 0x80, /* 011000001000 */
1624 0x60, 0xc0, /* 011000001100 */
1625 0x60, 0xc0, /* 011000001100 */
1626 0x60, 0xc0, /* 011000001100 */
1627 0x61, 0x80, /* 011000011000 */
1628 0x7f, 0x80, /* 011111111000 */
1629 0x60, 0xc0, /* 011000001100 */
1630 0x60, 0x60, /* 011000000110 */
1631 0x60, 0x60, /* 011000000110 */
1632 0x60, 0x60, /* 011000000110 */
1633 0x60, 0x60, /* 011000000110 */
1634 0x60, 0xc0, /* 011000001100 */
1635 0xff, 0x80, /* 111111111000 */
1636 0x00, 0x00, /* 000000000000 */
1637 0x00, 0x00, /* 000000000000 */
1638 0x00, 0x00, /* 000000000000 */
1639 0x00, 0x00, /* 000000000000 */
1640 0x00, 0x00, /* 000000000000 */
1641 0x00, 0x00, /* 000000000000 */
1642
1643 /* 67 0x43 'C' */
1644 0x00, 0x00, /* 000000000000 */
1645 0x00, 0x00, /* 000000000000 */
1646 0x0f, 0xc0, /* 000011111100 */
1647 0x10, 0x60, /* 000100000110 */
1648 0x20, 0x20, /* 001000000010 */
1649 0x20, 0x00, /* 001000000000 */
1650 0x60, 0x00, /* 011000000000 */
1651 0x60, 0x00, /* 011000000000 */
1652 0x60, 0x00, /* 011000000000 */
1653 0x60, 0x00, /* 011000000000 */
1654 0x60, 0x00, /* 011000000000 */
1655 0x60, 0x00, /* 011000000000 */
1656 0x20, 0x00, /* 001000000000 */
1657 0x30, 0x20, /* 001100000010 */
1658 0x18, 0x40, /* 000110000100 */
1659 0x0f, 0x80, /* 000011111000 */
1660 0x00, 0x00, /* 000000000000 */
1661 0x00, 0x00, /* 000000000000 */
1662 0x00, 0x00, /* 000000000000 */
1663 0x00, 0x00, /* 000000000000 */
1664 0x00, 0x00, /* 000000000000 */
1665 0x00, 0x00, /* 000000000000 */
1666
1667 /* 68 0x44 'D' */
1668 0x00, 0x00, /* 000000000000 */
1669 0x00, 0x00, /* 000000000000 */
1670 0xff, 0x00, /* 111111110000 */
1671 0x61, 0xc0, /* 011000011100 */
1672 0x60, 0xc0, /* 011000001100 */
1673 0x60, 0x60, /* 011000000110 */
1674 0x60, 0x60, /* 011000000110 */
1675 0x60, 0x60, /* 011000000110 */
1676 0x60, 0x60, /* 011000000110 */
1677 0x60, 0x60, /* 011000000110 */
1678 0x60, 0x60, /* 011000000110 */
1679 0x60, 0x60, /* 011000000110 */
1680 0x60, 0x60, /* 011000000110 */
1681 0x60, 0x40, /* 011000000100 */
1682 0x61, 0x80, /* 011000011000 */
1683 0xfe, 0x00, /* 111111100000 */
1684 0x00, 0x00, /* 000000000000 */
1685 0x00, 0x00, /* 000000000000 */
1686 0x00, 0x00, /* 000000000000 */
1687 0x00, 0x00, /* 000000000000 */
1688 0x00, 0x00, /* 000000000000 */
1689 0x00, 0x00, /* 000000000000 */
1690
1691 /* 69 0x45 'E' */
1692 0x00, 0x00, /* 000000000000 */
1693 0x00, 0x00, /* 000000000000 */
1694 0x7f, 0xc0, /* 011111111100 */
1695 0x30, 0x40, /* 001100000100 */
1696 0x30, 0x40, /* 001100000100 */
1697 0x30, 0x00, /* 001100000000 */
1698 0x30, 0x00, /* 001100000000 */
1699 0x30, 0x80, /* 001100001000 */
1700 0x3f, 0x80, /* 001111111000 */
1701 0x30, 0x80, /* 001100001000 */
1702 0x30, 0x00, /* 001100000000 */
1703 0x30, 0x00, /* 001100000000 */
1704 0x30, 0x00, /* 001100000000 */
1705 0x30, 0x20, /* 001100000010 */
1706 0x30, 0x20, /* 001100000010 */
1707 0x7f, 0xe0, /* 011111111110 */
1708 0x00, 0x00, /* 000000000000 */
1709 0x00, 0x00, /* 000000000000 */
1710 0x00, 0x00, /* 000000000000 */
1711 0x00, 0x00, /* 000000000000 */
1712 0x00, 0x00, /* 000000000000 */
1713 0x00, 0x00, /* 000000000000 */
1714
1715 /* 70 0x46 'F' */
1716 0x00, 0x00, /* 000000000000 */
1717 0x00, 0x00, /* 000000000000 */
1718 0x7f, 0xc0, /* 011111111100 */
1719 0x30, 0x40, /* 001100000100 */
1720 0x30, 0x40, /* 001100000100 */
1721 0x30, 0x00, /* 001100000000 */
1722 0x30, 0x00, /* 001100000000 */
1723 0x30, 0x80, /* 001100001000 */
1724 0x3f, 0x80, /* 001111111000 */
1725 0x30, 0x80, /* 001100001000 */
1726 0x30, 0x00, /* 001100000000 */
1727 0x30, 0x00, /* 001100000000 */
1728 0x30, 0x00, /* 001100000000 */
1729 0x30, 0x00, /* 001100000000 */
1730 0x30, 0x00, /* 001100000000 */
1731 0x78, 0x00, /* 011110000000 */
1732 0x00, 0x00, /* 000000000000 */
1733 0x00, 0x00, /* 000000000000 */
1734 0x00, 0x00, /* 000000000000 */
1735 0x00, 0x00, /* 000000000000 */
1736 0x00, 0x00, /* 000000000000 */
1737 0x00, 0x00, /* 000000000000 */
1738
1739 /* 71 0x47 'G' */
1740 0x00, 0x00, /* 000000000000 */
1741 0x00, 0x00, /* 000000000000 */
1742 0x0f, 0xc0, /* 000011111100 */
1743 0x10, 0x60, /* 000100000110 */
1744 0x20, 0x20, /* 001000000010 */
1745 0x20, 0x00, /* 001000000000 */
1746 0x60, 0x00, /* 011000000000 */
1747 0x60, 0x00, /* 011000000000 */
1748 0x60, 0x00, /* 011000000000 */
1749 0x60, 0x00, /* 011000000000 */
1750 0x61, 0xf0, /* 011000011111 */
1751 0x60, 0x60, /* 011000000110 */
1752 0x20, 0x60, /* 001000000110 */
1753 0x30, 0x60, /* 001100000110 */
1754 0x18, 0x60, /* 000110000110 */
1755 0x0f, 0x80, /* 000011111000 */
1756 0x00, 0x00, /* 000000000000 */
1757 0x00, 0x00, /* 000000000000 */
1758 0x00, 0x00, /* 000000000000 */
1759 0x00, 0x00, /* 000000000000 */
1760 0x00, 0x00, /* 000000000000 */
1761 0x00, 0x00, /* 000000000000 */
1762
1763 /* 72 0x48 'H' */
1764 0x00, 0x00, /* 000000000000 */
1765 0x00, 0x00, /* 000000000000 */
1766 0xf0, 0xf0, /* 111100001111 */
1767 0x60, 0x60, /* 011000000110 */
1768 0x60, 0x60, /* 011000000110 */
1769 0x60, 0x60, /* 011000000110 */
1770 0x60, 0x60, /* 011000000110 */
1771 0x60, 0x60, /* 011000000110 */
1772 0x7f, 0xe0, /* 011111111110 */
1773 0x60, 0x60, /* 011000000110 */
1774 0x60, 0x60, /* 011000000110 */
1775 0x60, 0x60, /* 011000000110 */
1776 0x60, 0x60, /* 011000000110 */
1777 0x60, 0x60, /* 011000000110 */
1778 0x60, 0x60, /* 011000000110 */
1779 0xf0, 0xf0, /* 111100001111 */
1780 0x00, 0x00, /* 000000000000 */
1781 0x00, 0x00, /* 000000000000 */
1782 0x00, 0x00, /* 000000000000 */
1783 0x00, 0x00, /* 000000000000 */
1784 0x00, 0x00, /* 000000000000 */
1785 0x00, 0x00, /* 000000000000 */
1786
1787 /* 73 0x49 'I' */
1788 0x00, 0x00, /* 000000000000 */
1789 0x00, 0x00, /* 000000000000 */
1790 0x1f, 0x80, /* 000111111000 */
1791 0x06, 0x00, /* 000001100000 */
1792 0x06, 0x00, /* 000001100000 */
1793 0x06, 0x00, /* 000001100000 */
1794 0x06, 0x00, /* 000001100000 */
1795 0x06, 0x00, /* 000001100000 */
1796 0x06, 0x00, /* 000001100000 */
1797 0x06, 0x00, /* 000001100000 */
1798 0x06, 0x00, /* 000001100000 */
1799 0x06, 0x00, /* 000001100000 */
1800 0x06, 0x00, /* 000001100000 */
1801 0x06, 0x00, /* 000001100000 */
1802 0x06, 0x00, /* 000001100000 */
1803 0x1f, 0x80, /* 000111111000 */
1804 0x00, 0x00, /* 000000000000 */
1805 0x00, 0x00, /* 000000000000 */
1806 0x00, 0x00, /* 000000000000 */
1807 0x00, 0x00, /* 000000000000 */
1808 0x00, 0x00, /* 000000000000 */
1809 0x00, 0x00, /* 000000000000 */
1810
1811 /* 74 0x4a 'J' */
1812 0x00, 0x00, /* 000000000000 */
1813 0x00, 0x00, /* 000000000000 */
1814 0x1f, 0x80, /* 000111111000 */
1815 0x06, 0x00, /* 000001100000 */
1816 0x06, 0x00, /* 000001100000 */
1817 0x06, 0x00, /* 000001100000 */
1818 0x06, 0x00, /* 000001100000 */
1819 0x06, 0x00, /* 000001100000 */
1820 0x06, 0x00, /* 000001100000 */
1821 0x06, 0x00, /* 000001100000 */
1822 0x06, 0x00, /* 000001100000 */
1823 0x06, 0x00, /* 000001100000 */
1824 0x06, 0x00, /* 000001100000 */
1825 0x06, 0x00, /* 000001100000 */
1826 0x06, 0x00, /* 000001100000 */
1827 0x06, 0x00, /* 000001100000 */
1828 0x06, 0x00, /* 000001100000 */
1829 0x06, 0x00, /* 000001100000 */
1830 0x04, 0x00, /* 000001000000 */
1831 0x38, 0x00, /* 001110000000 */
1832 0x30, 0x00, /* 001100000000 */
1833 0x00, 0x00, /* 000000000000 */
1834
1835 /* 75 0x4b 'K' */
1836 0x00, 0x00, /* 000000000000 */
1837 0x00, 0x00, /* 000000000000 */
1838 0xf0, 0xe0, /* 111100001110 */
1839 0x61, 0x80, /* 011000011000 */
1840 0x63, 0x00, /* 011000110000 */
1841 0x66, 0x00, /* 011001100000 */
1842 0x6c, 0x00, /* 011011000000 */
1843 0x78, 0x00, /* 011110000000 */
1844 0x78, 0x00, /* 011110000000 */
1845 0x7c, 0x00, /* 011111000000 */
1846 0x6e, 0x00, /* 011011100000 */
1847 0x67, 0x00, /* 011001110000 */
1848 0x63, 0x80, /* 011000111000 */
1849 0x61, 0xc0, /* 011000011100 */
1850 0x60, 0xe0, /* 011000001110 */
1851 0xf0, 0x70, /* 111100000111 */
1852 0x00, 0x00, /* 000000000000 */
1853 0x00, 0x00, /* 000000000000 */
1854 0x00, 0x00, /* 000000000000 */
1855 0x00, 0x00, /* 000000000000 */
1856 0x00, 0x00, /* 000000000000 */
1857 0x00, 0x00, /* 000000000000 */
1858
1859 /* 76 0x4c 'L' */
1860 0x00, 0x00, /* 000000000000 */
1861 0x00, 0x00, /* 000000000000 */
1862 0x78, 0x00, /* 011110000000 */
1863 0x30, 0x00, /* 001100000000 */
1864 0x30, 0x00, /* 001100000000 */
1865 0x30, 0x00, /* 001100000000 */
1866 0x30, 0x00, /* 001100000000 */
1867 0x30, 0x00, /* 001100000000 */
1868 0x30, 0x00, /* 001100000000 */
1869 0x30, 0x00, /* 001100000000 */
1870 0x30, 0x00, /* 001100000000 */
1871 0x30, 0x00, /* 001100000000 */
1872 0x30, 0x00, /* 001100000000 */
1873 0x30, 0x20, /* 001100000010 */
1874 0x30, 0x20, /* 001100000010 */
1875 0x7f, 0xe0, /* 011111111110 */
1876 0x00, 0x00, /* 000000000000 */
1877 0x00, 0x00, /* 000000000000 */
1878 0x00, 0x00, /* 000000000000 */
1879 0x00, 0x00, /* 000000000000 */
1880 0x00, 0x00, /* 000000000000 */
1881 0x00, 0x00, /* 000000000000 */
1882
1883 /* 77 0x4d 'M' */
1884 0x00, 0x00, /* 000000000000 */
1885 0x00, 0x00, /* 000000000000 */
1886 0xe0, 0x70, /* 111000000111 */
1887 0x60, 0xe0, /* 011000001110 */
1888 0x70, 0xe0, /* 011100001110 */
1889 0x70, 0xe0, /* 011100001110 */
1890 0x70, 0xe0, /* 011100001110 */
1891 0x59, 0x60, /* 010110010110 */
1892 0x59, 0x60, /* 010110010110 */
1893 0x59, 0x60, /* 010110010110 */
1894 0x4d, 0x60, /* 010011010110 */
1895 0x4e, 0x60, /* 010011100110 */
1896 0x4e, 0x60, /* 010011100110 */
1897 0x44, 0x60, /* 010001000110 */
1898 0x44, 0x60, /* 010001000110 */
1899 0xe4, 0xf0, /* 111001001111 */
1900 0x00, 0x00, /* 000000000000 */
1901 0x00, 0x00, /* 000000000000 */
1902 0x00, 0x00, /* 000000000000 */
1903 0x00, 0x00, /* 000000000000 */
1904 0x00, 0x00, /* 000000000000 */
1905 0x00, 0x00, /* 000000000000 */
1906
1907 /* 78 0x4e 'N' */
1908 0x00, 0x00, /* 000000000000 */
1909 0x00, 0x00, /* 000000000000 */
1910 0xc0, 0x70, /* 110000000111 */
1911 0x60, 0x20, /* 011000000010 */
1912 0x70, 0x20, /* 011100000010 */
1913 0x78, 0x20, /* 011110000010 */
1914 0x58, 0x20, /* 010110000010 */
1915 0x4c, 0x20, /* 010011000010 */
1916 0x46, 0x20, /* 010001100010 */
1917 0x47, 0x20, /* 010001110010 */
1918 0x43, 0x20, /* 010000110010 */
1919 0x41, 0xa0, /* 010000011010 */
1920 0x40, 0xe0, /* 010000001110 */
1921 0x40, 0xe0, /* 010000001110 */
1922 0x40, 0x60, /* 010000000110 */
1923 0xe0, 0x30, /* 111000000011 */
1924 0x00, 0x00, /* 000000000000 */
1925 0x00, 0x00, /* 000000000000 */
1926 0x00, 0x00, /* 000000000000 */
1927 0x00, 0x00, /* 000000000000 */
1928 0x00, 0x00, /* 000000000000 */
1929 0x00, 0x00, /* 000000000000 */
1930
1931 /* 79 0x4f 'O' */
1932 0x00, 0x00, /* 000000000000 */
1933 0x00, 0x00, /* 000000000000 */
1934 0x0f, 0x00, /* 000011110000 */
1935 0x11, 0xc0, /* 000100011100 */
1936 0x20, 0xc0, /* 001000001100 */
1937 0x20, 0x60, /* 001000000110 */
1938 0x60, 0x60, /* 011000000110 */
1939 0x60, 0x60, /* 011000000110 */
1940 0x60, 0x60, /* 011000000110 */
1941 0x60, 0x60, /* 011000000110 */
1942 0x60, 0x60, /* 011000000110 */
1943 0x60, 0x60, /* 011000000110 */
1944 0x20, 0x40, /* 001000000100 */
1945 0x30, 0x40, /* 001100000100 */
1946 0x18, 0x80, /* 000110001000 */
1947 0x0f, 0x00, /* 000011110000 */
1948 0x00, 0x00, /* 000000000000 */
1949 0x00, 0x00, /* 000000000000 */
1950 0x00, 0x00, /* 000000000000 */
1951 0x00, 0x00, /* 000000000000 */
1952 0x00, 0x00, /* 000000000000 */
1953 0x00, 0x00, /* 000000000000 */
1954
1955 /* 80 0x50 'P' */
1956 0x00, 0x00, /* 000000000000 */
1957 0x00, 0x00, /* 000000000000 */
1958 0x7f, 0x80, /* 011111111000 */
1959 0x30, 0xc0, /* 001100001100 */
1960 0x30, 0x60, /* 001100000110 */
1961 0x30, 0x60, /* 001100000110 */
1962 0x30, 0x60, /* 001100000110 */
1963 0x30, 0xc0, /* 001100001100 */
1964 0x37, 0x80, /* 001101111000 */
1965 0x30, 0x00, /* 001100000000 */
1966 0x30, 0x00, /* 001100000000 */
1967 0x30, 0x00, /* 001100000000 */
1968 0x30, 0x00, /* 001100000000 */
1969 0x30, 0x00, /* 001100000000 */
1970 0x30, 0x00, /* 001100000000 */
1971 0x78, 0x00, /* 011110000000 */
1972 0x00, 0x00, /* 000000000000 */
1973 0x00, 0x00, /* 000000000000 */
1974 0x00, 0x00, /* 000000000000 */
1975 0x00, 0x00, /* 000000000000 */
1976 0x00, 0x00, /* 000000000000 */
1977 0x00, 0x00, /* 000000000000 */
1978
1979 /* 81 0x51 'Q' */
1980 0x00, 0x00, /* 000000000000 */
1981 0x00, 0x00, /* 000000000000 */
1982 0x0f, 0x00, /* 000011110000 */
1983 0x11, 0xc0, /* 000100011100 */
1984 0x20, 0xc0, /* 001000001100 */
1985 0x20, 0x60, /* 001000000110 */
1986 0x60, 0x60, /* 011000000110 */
1987 0x60, 0x60, /* 011000000110 */
1988 0x60, 0x60, /* 011000000110 */
1989 0x60, 0x60, /* 011000000110 */
1990 0x60, 0x60, /* 011000000110 */
1991 0x60, 0x60, /* 011000000110 */
1992 0x30, 0x40, /* 001100000100 */
1993 0x38, 0x40, /* 001110000100 */
1994 0x1f, 0x80, /* 000111111000 */
1995 0x0e, 0x00, /* 000011100000 */
1996 0x1f, 0x00, /* 000111110000 */
1997 0x23, 0x90, /* 001000111001 */
1998 0x01, 0xe0, /* 000000011110 */
1999 0x00, 0x00, /* 000000000000 */
2000 0x00, 0x00, /* 000000000000 */
2001 0x00, 0x00, /* 000000000000 */
2002
2003 /* 82 0x52 'R' */
2004 0x00, 0x00, /* 000000000000 */
2005 0x00, 0x00, /* 000000000000 */
2006 0xff, 0x00, /* 111111110000 */
2007 0x61, 0x80, /* 011000011000 */
2008 0x60, 0xc0, /* 011000001100 */
2009 0x60, 0xc0, /* 011000001100 */
2010 0x60, 0xc0, /* 011000001100 */
2011 0x60, 0x80, /* 011000001000 */
2012 0x7f, 0x00, /* 011111110000 */
2013 0x7c, 0x00, /* 011111000000 */
2014 0x6e, 0x00, /* 011011100000 */
2015 0x67, 0x00, /* 011001110000 */
2016 0x63, 0x80, /* 011000111000 */
2017 0x61, 0xc0, /* 011000011100 */
2018 0x60, 0xe0, /* 011000001110 */
2019 0xf0, 0x70, /* 111100000111 */
2020 0x00, 0x00, /* 000000000000 */
2021 0x00, 0x00, /* 000000000000 */
2022 0x00, 0x00, /* 000000000000 */
2023 0x00, 0x00, /* 000000000000 */
2024 0x00, 0x00, /* 000000000000 */
2025 0x00, 0x00, /* 000000000000 */
2026
2027 /* 83 0x53 'S' */
2028 0x00, 0x00, /* 000000000000 */
2029 0x00, 0x00, /* 000000000000 */
2030 0x1f, 0xe0, /* 000111111110 */
2031 0x30, 0x60, /* 001100000110 */
2032 0x60, 0x20, /* 011000000010 */
2033 0x60, 0x20, /* 011000000010 */
2034 0x70, 0x00, /* 011100000000 */
2035 0x3c, 0x00, /* 001111000000 */
2036 0x1e, 0x00, /* 000111100000 */
2037 0x07, 0x80, /* 000001111000 */
2038 0x01, 0xc0, /* 000000011100 */
2039 0x00, 0xe0, /* 000000001110 */
2040 0x40, 0x60, /* 010000000110 */
2041 0x40, 0x60, /* 010000000110 */
2042 0x60, 0xc0, /* 011000001100 */
2043 0x7f, 0x80, /* 011111111000 */
2044 0x00, 0x00, /* 000000000000 */
2045 0x00, 0x00, /* 000000000000 */
2046 0x00, 0x00, /* 000000000000 */
2047 0x00, 0x00, /* 000000000000 */
2048 0x00, 0x00, /* 000000000000 */
2049 0x00, 0x00, /* 000000000000 */
2050
2051 /* 84 0x54 'T' */
2052 0x00, 0x00, /* 000000000000 */
2053 0x00, 0x00, /* 000000000000 */
2054 0x7f, 0xe0, /* 011111111110 */
2055 0x46, 0x20, /* 010001100010 */
2056 0x06, 0x00, /* 000001100000 */
2057 0x06, 0x00, /* 000001100000 */
2058 0x06, 0x00, /* 000001100000 */
2059 0x06, 0x00, /* 000001100000 */
2060 0x06, 0x00, /* 000001100000 */
2061 0x06, 0x00, /* 000001100000 */
2062 0x06, 0x00, /* 000001100000 */
2063 0x06, 0x00, /* 000001100000 */
2064 0x06, 0x00, /* 000001100000 */
2065 0x06, 0x00, /* 000001100000 */
2066 0x06, 0x00, /* 000001100000 */
2067 0x1f, 0x80, /* 000111111000 */
2068 0x00, 0x00, /* 000000000000 */
2069 0x00, 0x00, /* 000000000000 */
2070 0x00, 0x00, /* 000000000000 */
2071 0x00, 0x00, /* 000000000000 */
2072 0x00, 0x00, /* 000000000000 */
2073 0x00, 0x00, /* 000000000000 */
2074
2075 /* 85 0x55 'U' */
2076 0x00, 0x00, /* 000000000000 */
2077 0x00, 0x00, /* 000000000000 */
2078 0xf0, 0x70, /* 111100000111 */
2079 0x60, 0x20, /* 011000000010 */
2080 0x60, 0x20, /* 011000000010 */
2081 0x60, 0x20, /* 011000000010 */
2082 0x60, 0x20, /* 011000000010 */
2083 0x60, 0x20, /* 011000000010 */
2084 0x60, 0x20, /* 011000000010 */
2085 0x60, 0x20, /* 011000000010 */
2086 0x60, 0x20, /* 011000000010 */
2087 0x60, 0x20, /* 011000000010 */
2088 0x60, 0x20, /* 011000000010 */
2089 0x70, 0x40, /* 011100000100 */
2090 0x3f, 0xc0, /* 001111111100 */
2091 0x1f, 0x80, /* 000111111000 */
2092 0x00, 0x00, /* 000000000000 */
2093 0x00, 0x00, /* 000000000000 */
2094 0x00, 0x00, /* 000000000000 */
2095 0x00, 0x00, /* 000000000000 */
2096 0x00, 0x00, /* 000000000000 */
2097 0x00, 0x00, /* 000000000000 */
2098
2099 /* 86 0x56 'V' */
2100 0x00, 0x00, /* 000000000000 */
2101 0x00, 0x00, /* 000000000000 */
2102 0xe0, 0xe0, /* 111000001110 */
2103 0x60, 0x40, /* 011000000100 */
2104 0x30, 0x80, /* 001100001000 */
2105 0x30, 0x80, /* 001100001000 */
2106 0x30, 0x80, /* 001100001000 */
2107 0x19, 0x00, /* 000110010000 */
2108 0x19, 0x00, /* 000110010000 */
2109 0x19, 0x00, /* 000110010000 */
2110 0x0a, 0x00, /* 000010100000 */
2111 0x0e, 0x00, /* 000011100000 */
2112 0x0e, 0x00, /* 000011100000 */
2113 0x04, 0x00, /* 000001000000 */
2114 0x04, 0x00, /* 000001000000 */
2115 0x04, 0x00, /* 000001000000 */
2116 0x00, 0x00, /* 000000000000 */
2117 0x00, 0x00, /* 000000000000 */
2118 0x00, 0x00, /* 000000000000 */
2119 0x00, 0x00, /* 000000000000 */
2120 0x00, 0x00, /* 000000000000 */
2121 0x00, 0x00, /* 000000000000 */
2122
2123 /* 87 0x57 'W' */
2124 0x00, 0x00, /* 000000000000 */
2125 0x00, 0x00, /* 000000000000 */
2126 0xfe, 0xf0, /* 111111101111 */
2127 0x66, 0x20, /* 011001100010 */
2128 0x66, 0x20, /* 011001100010 */
2129 0x66, 0x20, /* 011001100010 */
2130 0x76, 0x20, /* 011101100010 */
2131 0x77, 0x40, /* 011101110100 */
2132 0x33, 0x40, /* 001100110100 */
2133 0x37, 0x40, /* 001101110100 */
2134 0x3b, 0xc0, /* 001110111100 */
2135 0x3b, 0x80, /* 001110111000 */
2136 0x19, 0x80, /* 000110011000 */
2137 0x19, 0x80, /* 000110011000 */
2138 0x19, 0x80, /* 000110011000 */
2139 0x19, 0x80, /* 000110011000 */
2140 0x00, 0x00, /* 000000000000 */
2141 0x00, 0x00, /* 000000000000 */
2142 0x00, 0x00, /* 000000000000 */
2143 0x00, 0x00, /* 000000000000 */
2144 0x00, 0x00, /* 000000000000 */
2145 0x00, 0x00, /* 000000000000 */
2146
2147 /* 88 0x58 'X' */
2148 0x00, 0x00, /* 000000000000 */
2149 0x00, 0x00, /* 000000000000 */
2150 0xf0, 0x70, /* 111100000111 */
2151 0x60, 0x20, /* 011000000010 */
2152 0x30, 0x40, /* 001100000100 */
2153 0x38, 0x80, /* 001110001000 */
2154 0x18, 0x80, /* 000110001000 */
2155 0x0d, 0x00, /* 000011010000 */
2156 0x06, 0x00, /* 000001100000 */
2157 0x06, 0x00, /* 000001100000 */
2158 0x0b, 0x00, /* 000010110000 */
2159 0x11, 0x80, /* 000100011000 */
2160 0x11, 0xc0, /* 000100011100 */
2161 0x20, 0xc0, /* 001000001100 */
2162 0x40, 0x60, /* 010000000110 */
2163 0xe0, 0xf0, /* 111000001111 */
2164 0x00, 0x00, /* 000000000000 */
2165 0x00, 0x00, /* 000000000000 */
2166 0x00, 0x00, /* 000000000000 */
2167 0x00, 0x00, /* 000000000000 */
2168 0x00, 0x00, /* 000000000000 */
2169 0x00, 0x00, /* 000000000000 */
2170
2171 /* 89 0x59 'Y' */
2172 0x00, 0x00, /* 000000000000 */
2173 0x00, 0x00, /* 000000000000 */
2174 0xf0, 0x70, /* 111100000111 */
2175 0x60, 0x20, /* 011000000010 */
2176 0x30, 0x40, /* 001100000100 */
2177 0x18, 0x80, /* 000110001000 */
2178 0x18, 0x80, /* 000110001000 */
2179 0x0d, 0x00, /* 000011010000 */
2180 0x06, 0x00, /* 000001100000 */
2181 0x06, 0x00, /* 000001100000 */
2182 0x06, 0x00, /* 000001100000 */
2183 0x06, 0x00, /* 000001100000 */
2184 0x06, 0x00, /* 000001100000 */
2185 0x06, 0x00, /* 000001100000 */
2186 0x06, 0x00, /* 000001100000 */
2187 0x0f, 0x00, /* 000011110000 */
2188 0x00, 0x00, /* 000000000000 */
2189 0x00, 0x00, /* 000000000000 */
2190 0x00, 0x00, /* 000000000000 */
2191 0x00, 0x00, /* 000000000000 */
2192 0x00, 0x00, /* 000000000000 */
2193 0x00, 0x00, /* 000000000000 */
2194
2195 /* 90 0x5a 'Z' */
2196 0x00, 0x00, /* 000000000000 */
2197 0x00, 0x00, /* 000000000000 */
2198 0x3f, 0xe0, /* 001111111110 */
2199 0x20, 0xc0, /* 001000001100 */
2200 0x00, 0xc0, /* 000000001100 */
2201 0x01, 0x80, /* 000000011000 */
2202 0x01, 0x80, /* 000000011000 */
2203 0x03, 0x00, /* 000000110000 */
2204 0x03, 0x00, /* 000000110000 */
2205 0x06, 0x00, /* 000001100000 */
2206 0x06, 0x00, /* 000001100000 */
2207 0x0c, 0x00, /* 000011000000 */
2208 0x0c, 0x00, /* 000011000000 */
2209 0x18, 0x00, /* 000110000000 */
2210 0x18, 0x20, /* 000110000010 */
2211 0x3f, 0xe0, /* 001111111110 */
2212 0x00, 0x00, /* 000000000000 */
2213 0x00, 0x00, /* 000000000000 */
2214 0x00, 0x00, /* 000000000000 */
2215 0x00, 0x00, /* 000000000000 */
2216 0x00, 0x00, /* 000000000000 */
2217 0x00, 0x00, /* 000000000000 */
2218
2219 /* 91 0x5b '[' */
2220 0x00, 0x00, /* 000000000000 */
2221 0x0f, 0x80, /* 000011111000 */
2222 0x0f, 0x80, /* 000011111000 */
2223 0x0c, 0x00, /* 000011000000 */
2224 0x0c, 0x00, /* 000011000000 */
2225 0x0c, 0x00, /* 000011000000 */
2226 0x0c, 0x00, /* 000011000000 */
2227 0x0c, 0x00, /* 000011000000 */
2228 0x0c, 0x00, /* 000011000000 */
2229 0x0c, 0x00, /* 000011000000 */
2230 0x0c, 0x00, /* 000011000000 */
2231 0x0c, 0x00, /* 000011000000 */
2232 0x0c, 0x00, /* 000011000000 */
2233 0x0c, 0x00, /* 000011000000 */
2234 0x0f, 0x80, /* 000011111000 */
2235 0x0f, 0x80, /* 000011111000 */
2236 0x00, 0x00, /* 000000000000 */
2237 0x00, 0x00, /* 000000000000 */
2238 0x00, 0x00, /* 000000000000 */
2239 0x00, 0x00, /* 000000000000 */
2240 0x00, 0x00, /* 000000000000 */
2241 0x00, 0x00, /* 000000000000 */
2242
2243 /* 92 0x5c '\' */
2244 0x00, 0x00, /* 000000000000 */
2245 0x60, 0x00, /* 011000000000 */
2246 0x30, 0x00, /* 001100000000 */
2247 0x30, 0x00, /* 001100000000 */
2248 0x18, 0x00, /* 000110000000 */
2249 0x18, 0x00, /* 000110000000 */
2250 0x0c, 0x00, /* 000011000000 */
2251 0x0c, 0x00, /* 000011000000 */
2252 0x06, 0x00, /* 000001100000 */
2253 0x06, 0x00, /* 000001100000 */
2254 0x03, 0x00, /* 000000110000 */
2255 0x03, 0x00, /* 000000110000 */
2256 0x01, 0x80, /* 000000011000 */
2257 0x01, 0x80, /* 000000011000 */
2258 0x00, 0xc0, /* 000000001100 */
2259 0x00, 0xc0, /* 000000001100 */
2260 0x00, 0x60, /* 000000000110 */
2261 0x00, 0x00, /* 000000000000 */
2262 0x00, 0x00, /* 000000000000 */
2263 0x00, 0x00, /* 000000000000 */
2264 0x00, 0x00, /* 000000000000 */
2265 0x00, 0x00, /* 000000000000 */
2266
2267 /* 93 0x5d ']' */
2268 0x00, 0x00, /* 000000000000 */
2269 0x1f, 0x00, /* 000111110000 */
2270 0x1f, 0x00, /* 000111110000 */
2271 0x03, 0x00, /* 000000110000 */
2272 0x03, 0x00, /* 000000110000 */
2273 0x03, 0x00, /* 000000110000 */
2274 0x03, 0x00, /* 000000110000 */
2275 0x03, 0x00, /* 000000110000 */
2276 0x03, 0x00, /* 000000110000 */
2277 0x03, 0x00, /* 000000110000 */
2278 0x03, 0x00, /* 000000110000 */
2279 0x03, 0x00, /* 000000110000 */
2280 0x03, 0x00, /* 000000110000 */
2281 0x03, 0x00, /* 000000110000 */
2282 0x1f, 0x00, /* 000111110000 */
2283 0x1f, 0x00, /* 000111110000 */
2284 0x00, 0x00, /* 000000000000 */
2285 0x00, 0x00, /* 000000000000 */
2286 0x00, 0x00, /* 000000000000 */
2287 0x00, 0x00, /* 000000000000 */
2288 0x00, 0x00, /* 000000000000 */
2289 0x00, 0x00, /* 000000000000 */
2290
2291 /* 94 0x5e '^' */
2292 0x00, 0x00, /* 000000000000 */
2293 0x04, 0x00, /* 000001000000 */
2294 0x0e, 0x00, /* 000011100000 */
2295 0x1b, 0x00, /* 000110110000 */
2296 0x31, 0x80, /* 001100011000 */
2297 0x60, 0xc0, /* 011000001100 */
2298 0x00, 0x00, /* 000000000000 */
2299 0x00, 0x00, /* 000000000000 */
2300 0x00, 0x00, /* 000000000000 */
2301 0x00, 0x00, /* 000000000000 */
2302 0x00, 0x00, /* 000000000000 */
2303 0x00, 0x00, /* 000000000000 */
2304 0x00, 0x00, /* 000000000000 */
2305 0x00, 0x00, /* 000000000000 */
2306 0x00, 0x00, /* 000000000000 */
2307 0x00, 0x00, /* 000000000000 */
2308 0x00, 0x00, /* 000000000000 */
2309 0x00, 0x00, /* 000000000000 */
2310 0x00, 0x00, /* 000000000000 */
2311 0x00, 0x00, /* 000000000000 */
2312 0x00, 0x00, /* 000000000000 */
2313 0x00, 0x00, /* 000000000000 */
2314
2315 /* 95 0x5f '_' */
2316 0x00, 0x00, /* 000000000000 */
2317 0x00, 0x00, /* 000000000000 */
2318 0x00, 0x00, /* 000000000000 */
2319 0x00, 0x00, /* 000000000000 */
2320 0x00, 0x00, /* 000000000000 */
2321 0x00, 0x00, /* 000000000000 */
2322 0x00, 0x00, /* 000000000000 */
2323 0x00, 0x00, /* 000000000000 */
2324 0x00, 0x00, /* 000000000000 */
2325 0x00, 0x00, /* 000000000000 */
2326 0x00, 0x00, /* 000000000000 */
2327 0x00, 0x00, /* 000000000000 */
2328 0x00, 0x00, /* 000000000000 */
2329 0x00, 0x00, /* 000000000000 */
2330 0x00, 0x00, /* 000000000000 */
2331 0x00, 0x00, /* 000000000000 */
2332 0x00, 0x00, /* 000000000000 */
2333 0xff, 0xf0, /* 111111111111 */
2334 0xff, 0xf0, /* 111111111111 */
2335 0x00, 0x00, /* 000000000000 */
2336 0x00, 0x00, /* 000000000000 */
2337 0x00, 0x00, /* 000000000000 */
2338
2339 /* 96 0x60 '`' */
2340 0x00, 0x00, /* 000000000000 */
2341 0x01, 0x00, /* 000000010000 */
2342 0x03, 0x00, /* 000000110000 */
2343 0x06, 0x00, /* 000001100000 */
2344 0x06, 0x00, /* 000001100000 */
2345 0x07, 0x80, /* 000001111000 */
2346 0x07, 0x80, /* 000001111000 */
2347 0x03, 0x00, /* 000000110000 */
2348 0x00, 0x00, /* 000000000000 */
2349 0x00, 0x00, /* 000000000000 */
2350 0x00, 0x00, /* 000000000000 */
2351 0x00, 0x00, /* 000000000000 */
2352 0x00, 0x00, /* 000000000000 */
2353 0x00, 0x00, /* 000000000000 */
2354 0x00, 0x00, /* 000000000000 */
2355 0x00, 0x00, /* 000000000000 */
2356 0x00, 0x00, /* 000000000000 */
2357 0x00, 0x00, /* 000000000000 */
2358 0x00, 0x00, /* 000000000000 */
2359 0x00, 0x00, /* 000000000000 */
2360 0x00, 0x00, /* 000000000000 */
2361 0x00, 0x00, /* 000000000000 */
2362
2363 /* 97 0x61 'a' */
2364 0x00, 0x00, /* 000000000000 */
2365 0x00, 0x00, /* 000000000000 */
2366 0x00, 0x00, /* 000000000000 */
2367 0x00, 0x00, /* 000000000000 */
2368 0x00, 0x00, /* 000000000000 */
2369 0x00, 0x00, /* 000000000000 */
2370 0x0f, 0x80, /* 000011111000 */
2371 0x18, 0xc0, /* 000110001100 */
2372 0x10, 0xc0, /* 000100001100 */
2373 0x03, 0xc0, /* 000000111100 */
2374 0x1c, 0xc0, /* 000111001100 */
2375 0x30, 0xc0, /* 001100001100 */
2376 0x30, 0xc0, /* 001100001100 */
2377 0x30, 0xc0, /* 001100001100 */
2378 0x39, 0xc0, /* 001110011100 */
2379 0x1e, 0xe0, /* 000111101110 */
2380 0x00, 0x00, /* 000000000000 */
2381 0x00, 0x00, /* 000000000000 */
2382 0x00, 0x00, /* 000000000000 */
2383 0x00, 0x00, /* 000000000000 */
2384 0x00, 0x00, /* 000000000000 */
2385 0x00, 0x00, /* 000000000000 */
2386
2387 /* 98 0x62 'b' */
2388 0x00, 0x00, /* 000000000000 */
2389 0x20, 0x00, /* 001000000000 */
2390 0x60, 0x00, /* 011000000000 */
2391 0xe0, 0x00, /* 111000000000 */
2392 0x60, 0x00, /* 011000000000 */
2393 0x60, 0x00, /* 011000000000 */
2394 0x67, 0x80, /* 011001111000 */
2395 0x6f, 0xc0, /* 011011111100 */
2396 0x70, 0xe0, /* 011100001110 */
2397 0x60, 0x60, /* 011000000110 */
2398 0x60, 0x60, /* 011000000110 */
2399 0x60, 0x60, /* 011000000110 */
2400 0x60, 0x60, /* 011000000110 */
2401 0x70, 0x60, /* 011100000110 */
2402 0x78, 0xc0, /* 011110001100 */
2403 0x4f, 0x80, /* 010011111000 */
2404 0x00, 0x00, /* 000000000000 */
2405 0x00, 0x00, /* 000000000000 */
2406 0x00, 0x00, /* 000000000000 */
2407 0x00, 0x00, /* 000000000000 */
2408 0x00, 0x00, /* 000000000000 */
2409 0x00, 0x00, /* 000000000000 */
2410
2411 /* 99 0x63 'c' */
2412 0x00, 0x00, /* 000000000000 */
2413 0x00, 0x00, /* 000000000000 */
2414 0x00, 0x00, /* 000000000000 */
2415 0x00, 0x00, /* 000000000000 */
2416 0x00, 0x00, /* 000000000000 */
2417 0x00, 0x00, /* 000000000000 */
2418 0x1f, 0x80, /* 000111111000 */
2419 0x31, 0xc0, /* 001100011100 */
2420 0x20, 0xc0, /* 001000001100 */
2421 0x60, 0x00, /* 011000000000 */
2422 0x60, 0x00, /* 011000000000 */
2423 0x60, 0x00, /* 011000000000 */
2424 0x60, 0x00, /* 011000000000 */
2425 0x70, 0x40, /* 011100000100 */
2426 0x30, 0xc0, /* 001100001100 */
2427 0x1f, 0x80, /* 000111111000 */
2428 0x00, 0x00, /* 000000000000 */
2429 0x00, 0x00, /* 000000000000 */
2430 0x00, 0x00, /* 000000000000 */
2431 0x00, 0x00, /* 000000000000 */
2432 0x00, 0x00, /* 000000000000 */
2433 0x00, 0x00, /* 000000000000 */
2434
2435 /* 100 0x64 'd' */
2436 0x00, 0x00, /* 000000000000 */
2437 0x00, 0x60, /* 000000000110 */
2438 0x00, 0xe0, /* 000000001110 */
2439 0x00, 0x60, /* 000000000110 */
2440 0x00, 0x60, /* 000000000110 */
2441 0x00, 0x60, /* 000000000110 */
2442 0x0f, 0x60, /* 000011110110 */
2443 0x31, 0xe0, /* 001100011110 */
2444 0x20, 0xe0, /* 001000001110 */
2445 0x60, 0x60, /* 011000000110 */
2446 0x60, 0x60, /* 011000000110 */
2447 0x60, 0x60, /* 011000000110 */
2448 0x60, 0x60, /* 011000000110 */
2449 0x70, 0xe0, /* 011100001110 */
2450 0x39, 0x60, /* 001110010110 */
2451 0x1e, 0x70, /* 000111100111 */
2452 0x00, 0x00, /* 000000000000 */
2453 0x00, 0x00, /* 000000000000 */
2454 0x00, 0x00, /* 000000000000 */
2455 0x00, 0x00, /* 000000000000 */
2456 0x00, 0x00, /* 000000000000 */
2457 0x00, 0x00, /* 000000000000 */
2458
2459 /* 101 0x65 'e' */
2460 0x00, 0x00, /* 000000000000 */
2461 0x00, 0x00, /* 000000000000 */
2462 0x00, 0x00, /* 000000000000 */
2463 0x00, 0x00, /* 000000000000 */
2464 0x00, 0x00, /* 000000000000 */
2465 0x00, 0x00, /* 000000000000 */
2466 0x0f, 0x00, /* 000011110000 */
2467 0x30, 0xc0, /* 001100001100 */
2468 0x60, 0x60, /* 011000000110 */
2469 0x60, 0x60, /* 011000000110 */
2470 0x7f, 0xe0, /* 011111111110 */
2471 0x60, 0x00, /* 011000000000 */
2472 0x60, 0x00, /* 011000000000 */
2473 0x30, 0x00, /* 001100000000 */
2474 0x18, 0x60, /* 000110000110 */
2475 0x0f, 0x80, /* 000011111000 */
2476 0x00, 0x00, /* 000000000000 */
2477 0x00, 0x00, /* 000000000000 */
2478 0x00, 0x00, /* 000000000000 */
2479 0x00, 0x00, /* 000000000000 */
2480 0x00, 0x00, /* 000000000000 */
2481 0x00, 0x00, /* 000000000000 */
2482
2483 /* 102 0x66 'f' */
2484 0x00, 0x00, /* 000000000000 */
2485 0x03, 0x80, /* 000000111000 */
2486 0x04, 0xc0, /* 000001001100 */
2487 0x04, 0xc0, /* 000001001100 */
2488 0x0c, 0x00, /* 000011000000 */
2489 0x0c, 0x00, /* 000011000000 */
2490 0x0c, 0x00, /* 000011000000 */
2491 0x0c, 0x00, /* 000011000000 */
2492 0x3f, 0x80, /* 001111111000 */
2493 0x0c, 0x00, /* 000011000000 */
2494 0x0c, 0x00, /* 000011000000 */
2495 0x0c, 0x00, /* 000011000000 */
2496 0x0c, 0x00, /* 000011000000 */
2497 0x0c, 0x00, /* 000011000000 */
2498 0x0c, 0x00, /* 000011000000 */
2499 0x1e, 0x00, /* 000111100000 */
2500 0x00, 0x00, /* 000000000000 */
2501 0x00, 0x00, /* 000000000000 */
2502 0x00, 0x00, /* 000000000000 */
2503 0x00, 0x00, /* 000000000000 */
2504 0x00, 0x00, /* 000000000000 */
2505 0x00, 0x00, /* 000000000000 */
2506
2507 /* 103 0x67 'g' */
2508 0x00, 0x00, /* 000000000000 */
2509 0x00, 0x00, /* 000000000000 */
2510 0x00, 0x00, /* 000000000000 */
2511 0x00, 0x00, /* 000000000000 */
2512 0x00, 0x00, /* 000000000000 */
2513 0x00, 0x00, /* 000000000000 */
2514 0x1f, 0x20, /* 000111110010 */
2515 0x31, 0xe0, /* 001100011110 */
2516 0x60, 0xc0, /* 011000001100 */
2517 0x60, 0xc0, /* 011000001100 */
2518 0x60, 0xc0, /* 011000001100 */
2519 0x31, 0x80, /* 001100011000 */
2520 0x3f, 0x00, /* 001111110000 */
2521 0x60, 0x00, /* 011000000000 */
2522 0x7f, 0xc0, /* 011111111100 */
2523 0x3f, 0xe0, /* 001111111110 */
2524 0x20, 0x60, /* 001000000110 */
2525 0x40, 0x20, /* 010000000010 */
2526 0x40, 0x20, /* 010000000010 */
2527 0x7f, 0xc0, /* 011111111100 */
2528 0x3f, 0x80, /* 001111111000 */
2529 0x00, 0x00, /* 000000000000 */
2530
2531 /* 104 0x68 'h' */
2532 0x00, 0x00, /* 000000000000 */
2533 0x10, 0x00, /* 000100000000 */
2534 0x30, 0x00, /* 001100000000 */
2535 0x70, 0x00, /* 011100000000 */
2536 0x30, 0x00, /* 001100000000 */
2537 0x30, 0x00, /* 001100000000 */
2538 0x37, 0x80, /* 001101111000 */
2539 0x39, 0xc0, /* 001110011100 */
2540 0x30, 0xc0, /* 001100001100 */
2541 0x30, 0xc0, /* 001100001100 */
2542 0x30, 0xc0, /* 001100001100 */
2543 0x30, 0xc0, /* 001100001100 */
2544 0x30, 0xc0, /* 001100001100 */
2545 0x30, 0xc0, /* 001100001100 */
2546 0x30, 0xc0, /* 001100001100 */
2547 0x79, 0xe0, /* 011110011110 */
2548 0x00, 0x00, /* 000000000000 */
2549 0x00, 0x00, /* 000000000000 */
2550 0x00, 0x00, /* 000000000000 */
2551 0x00, 0x00, /* 000000000000 */
2552 0x00, 0x00, /* 000000000000 */
2553 0x00, 0x00, /* 000000000000 */
2554
2555 /* 105 0x69 'i' */
2556 0x00, 0x00, /* 000000000000 */
2557 0x00, 0x00, /* 000000000000 */
2558 0x06, 0x00, /* 000001100000 */
2559 0x06, 0x00, /* 000001100000 */
2560 0x00, 0x00, /* 000000000000 */
2561 0x00, 0x00, /* 000000000000 */
2562 0x1e, 0x00, /* 000111100000 */
2563 0x06, 0x00, /* 000001100000 */
2564 0x06, 0x00, /* 000001100000 */
2565 0x06, 0x00, /* 000001100000 */
2566 0x06, 0x00, /* 000001100000 */
2567 0x06, 0x00, /* 000001100000 */
2568 0x06, 0x00, /* 000001100000 */
2569 0x06, 0x00, /* 000001100000 */
2570 0x06, 0x00, /* 000001100000 */
2571 0x1f, 0x80, /* 000111111000 */
2572 0x00, 0x00, /* 000000000000 */
2573 0x00, 0x00, /* 000000000000 */
2574 0x00, 0x00, /* 000000000000 */
2575 0x00, 0x00, /* 000000000000 */
2576 0x00, 0x00, /* 000000000000 */
2577 0x00, 0x00, /* 000000000000 */
2578
2579 /* 106 0x6a 'j' */
2580 0x00, 0x00, /* 000000000000 */
2581 0x00, 0x00, /* 000000000000 */
2582 0x00, 0xc0, /* 000000001100 */
2583 0x00, 0xc0, /* 000000001100 */
2584 0x00, 0x00, /* 000000000000 */
2585 0x00, 0x00, /* 000000000000 */
2586 0x03, 0xc0, /* 000000111100 */
2587 0x00, 0xc0, /* 000000001100 */
2588 0x00, 0xc0, /* 000000001100 */
2589 0x00, 0xc0, /* 000000001100 */
2590 0x00, 0xc0, /* 000000001100 */
2591 0x00, 0xc0, /* 000000001100 */
2592 0x00, 0xc0, /* 000000001100 */
2593 0x00, 0xc0, /* 000000001100 */
2594 0x00, 0xc0, /* 000000001100 */
2595 0x00, 0xc0, /* 000000001100 */
2596 0x20, 0xc0, /* 001000001100 */
2597 0x30, 0xc0, /* 001100001100 */
2598 0x38, 0x80, /* 001110001000 */
2599 0x1f, 0x00, /* 000111110000 */
2600 0x0e, 0x00, /* 000011100000 */
2601 0x00, 0x00, /* 000000000000 */
2602
2603 /* 107 0x6b 'k' */
2604 0x00, 0x00, /* 000000000000 */
2605 0x60, 0x00, /* 011000000000 */
2606 0xe0, 0x00, /* 111000000000 */
2607 0x60, 0x00, /* 011000000000 */
2608 0x60, 0x00, /* 011000000000 */
2609 0x60, 0x00, /* 011000000000 */
2610 0x61, 0xc0, /* 011000011100 */
2611 0x63, 0x00, /* 011000110000 */
2612 0x66, 0x00, /* 011001100000 */
2613 0x7c, 0x00, /* 011111000000 */
2614 0x78, 0x00, /* 011110000000 */
2615 0x7c, 0x00, /* 011111000000 */
2616 0x6e, 0x00, /* 011011100000 */
2617 0x67, 0x00, /* 011001110000 */
2618 0x63, 0x80, /* 011000111000 */
2619 0xf1, 0xe0, /* 111100011110 */
2620 0x00, 0x00, /* 000000000000 */
2621 0x00, 0x00, /* 000000000000 */
2622 0x00, 0x00, /* 000000000000 */
2623 0x00, 0x00, /* 000000000000 */
2624 0x00, 0x00, /* 000000000000 */
2625 0x00, 0x00, /* 000000000000 */
2626
2627 /* 108 0x6c 'l' */
2628 0x00, 0x00, /* 000000000000 */
2629 0x1e, 0x00, /* 000111100000 */
2630 0x06, 0x00, /* 000001100000 */
2631 0x06, 0x00, /* 000001100000 */
2632 0x06, 0x00, /* 000001100000 */
2633 0x06, 0x00, /* 000001100000 */
2634 0x06, 0x00, /* 000001100000 */
2635 0x06, 0x00, /* 000001100000 */
2636 0x06, 0x00, /* 000001100000 */
2637 0x06, 0x00, /* 000001100000 */
2638 0x06, 0x00, /* 000001100000 */
2639 0x06, 0x00, /* 000001100000 */
2640 0x06, 0x00, /* 000001100000 */
2641 0x06, 0x00, /* 000001100000 */
2642 0x06, 0x00, /* 000001100000 */
2643 0x1f, 0x80, /* 000111111000 */
2644 0x00, 0x00, /* 000000000000 */
2645 0x00, 0x00, /* 000000000000 */
2646 0x00, 0x00, /* 000000000000 */
2647 0x00, 0x00, /* 000000000000 */
2648 0x00, 0x00, /* 000000000000 */
2649 0x00, 0x00, /* 000000000000 */
2650
2651 /* 109 0x6d 'm' */
2652 0x00, 0x00, /* 000000000000 */
2653 0x00, 0x00, /* 000000000000 */
2654 0x00, 0x00, /* 000000000000 */
2655 0x00, 0x00, /* 000000000000 */
2656 0x00, 0x00, /* 000000000000 */
2657 0x00, 0x00, /* 000000000000 */
2658 0xdd, 0xc0, /* 110111011100 */
2659 0x6e, 0xe0, /* 011011101110 */
2660 0x66, 0x60, /* 011001100110 */
2661 0x66, 0x60, /* 011001100110 */
2662 0x66, 0x60, /* 011001100110 */
2663 0x66, 0x60, /* 011001100110 */
2664 0x66, 0x60, /* 011001100110 */
2665 0x66, 0x60, /* 011001100110 */
2666 0x66, 0x60, /* 011001100110 */
2667 0xef, 0x70, /* 111011110111 */
2668 0x00, 0x00, /* 000000000000 */
2669 0x00, 0x00, /* 000000000000 */
2670 0x00, 0x00, /* 000000000000 */
2671 0x00, 0x00, /* 000000000000 */
2672 0x00, 0x00, /* 000000000000 */
2673 0x00, 0x00, /* 000000000000 */
2674
2675 /* 110 0x6e 'n' */
2676 0x00, 0x00, /* 000000000000 */
2677 0x00, 0x00, /* 000000000000 */
2678 0x00, 0x00, /* 000000000000 */
2679 0x00, 0x00, /* 000000000000 */
2680 0x00, 0x00, /* 000000000000 */
2681 0x00, 0x00, /* 000000000000 */
2682 0x27, 0x80, /* 001001111000 */
2683 0x79, 0xc0, /* 011110011100 */
2684 0x30, 0xc0, /* 001100001100 */
2685 0x30, 0xc0, /* 001100001100 */
2686 0x30, 0xc0, /* 001100001100 */
2687 0x30, 0xc0, /* 001100001100 */
2688 0x30, 0xc0, /* 001100001100 */
2689 0x30, 0xc0, /* 001100001100 */
2690 0x30, 0xc0, /* 001100001100 */
2691 0x79, 0xe0, /* 011110011110 */
2692 0x00, 0x00, /* 000000000000 */
2693 0x00, 0x00, /* 000000000000 */
2694 0x00, 0x00, /* 000000000000 */
2695 0x00, 0x00, /* 000000000000 */
2696 0x00, 0x00, /* 000000000000 */
2697 0x00, 0x00, /* 000000000000 */
2698
2699 /* 111 0x6f 'o' */
2700 0x00, 0x00, /* 000000000000 */
2701 0x00, 0x00, /* 000000000000 */
2702 0x00, 0x00, /* 000000000000 */
2703 0x00, 0x00, /* 000000000000 */
2704 0x00, 0x00, /* 000000000000 */
2705 0x00, 0x00, /* 000000000000 */
2706 0x0f, 0x80, /* 000011111000 */
2707 0x11, 0xc0, /* 000100011100 */
2708 0x20, 0xe0, /* 001000001110 */
2709 0x60, 0x60, /* 011000000110 */
2710 0x60, 0x60, /* 011000000110 */
2711 0x60, 0x60, /* 011000000110 */
2712 0x60, 0x60, /* 011000000110 */
2713 0x70, 0x40, /* 011100000100 */
2714 0x38, 0x80, /* 001110001000 */
2715 0x1f, 0x00, /* 000111110000 */
2716 0x00, 0x00, /* 000000000000 */
2717 0x00, 0x00, /* 000000000000 */
2718 0x00, 0x00, /* 000000000000 */
2719 0x00, 0x00, /* 000000000000 */
2720 0x00, 0x00, /* 000000000000 */
2721 0x00, 0x00, /* 000000000000 */
2722
2723 /* 112 0x70 'p' */
2724 0x00, 0x00, /* 000000000000 */
2725 0x00, 0x00, /* 000000000000 */
2726 0x00, 0x00, /* 000000000000 */
2727 0x00, 0x00, /* 000000000000 */
2728 0x00, 0x00, /* 000000000000 */
2729 0x00, 0x00, /* 000000000000 */
2730 0xef, 0x80, /* 111011111000 */
2731 0x71, 0xc0, /* 011100011100 */
2732 0x60, 0xe0, /* 011000001110 */
2733 0x60, 0x60, /* 011000000110 */
2734 0x60, 0x60, /* 011000000110 */
2735 0x60, 0x60, /* 011000000110 */
2736 0x60, 0x60, /* 011000000110 */
2737 0x60, 0x40, /* 011000000100 */
2738 0x70, 0x80, /* 011100001000 */
2739 0x7f, 0x00, /* 011111110000 */
2740 0x60, 0x00, /* 011000000000 */
2741 0x60, 0x00, /* 011000000000 */
2742 0x60, 0x00, /* 011000000000 */
2743 0x60, 0x00, /* 011000000000 */
2744 0xf0, 0x00, /* 111100000000 */
2745 0x00, 0x00, /* 000000000000 */
2746
2747 /* 113 0x71 'q' */
2748 0x00, 0x00, /* 000000000000 */
2749 0x00, 0x00, /* 000000000000 */
2750 0x00, 0x00, /* 000000000000 */
2751 0x00, 0x00, /* 000000000000 */
2752 0x00, 0x00, /* 000000000000 */
2753 0x00, 0x00, /* 000000000000 */
2754 0x0f, 0x20, /* 000011110010 */
2755 0x11, 0xe0, /* 000100011110 */
2756 0x20, 0xe0, /* 001000001110 */
2757 0x60, 0x60, /* 011000000110 */
2758 0x60, 0x60, /* 011000000110 */
2759 0x60, 0x60, /* 011000000110 */
2760 0x60, 0x60, /* 011000000110 */
2761 0x70, 0x60, /* 011100000110 */
2762 0x38, 0xe0, /* 001110001110 */
2763 0x1f, 0xe0, /* 000111111110 */
2764 0x00, 0x60, /* 000000000110 */
2765 0x00, 0x60, /* 000000000110 */
2766 0x00, 0x60, /* 000000000110 */
2767 0x00, 0x60, /* 000000000110 */
2768 0x00, 0xf0, /* 000000001111 */
2769 0x00, 0x00, /* 000000000000 */
2770
2771 /* 114 0x72 'r' */
2772 0x00, 0x00, /* 000000000000 */
2773 0x00, 0x00, /* 000000000000 */
2774 0x00, 0x00, /* 000000000000 */
2775 0x00, 0x00, /* 000000000000 */
2776 0x00, 0x00, /* 000000000000 */
2777 0x00, 0x00, /* 000000000000 */
2778 0x73, 0x80, /* 011100111000 */
2779 0x34, 0xc0, /* 001101001100 */
2780 0x38, 0xc0, /* 001110001100 */
2781 0x30, 0x00, /* 001100000000 */
2782 0x30, 0x00, /* 001100000000 */
2783 0x30, 0x00, /* 001100000000 */
2784 0x30, 0x00, /* 001100000000 */
2785 0x30, 0x00, /* 001100000000 */
2786 0x30, 0x00, /* 001100000000 */
2787 0x78, 0x00, /* 011110000000 */
2788 0x00, 0x00, /* 000000000000 */
2789 0x00, 0x00, /* 000000000000 */
2790 0x00, 0x00, /* 000000000000 */
2791 0x00, 0x00, /* 000000000000 */
2792 0x00, 0x00, /* 000000000000 */
2793 0x00, 0x00, /* 000000000000 */
2794
2795 /* 115 0x73 's' */
2796 0x00, 0x00, /* 000000000000 */
2797 0x00, 0x00, /* 000000000000 */
2798 0x00, 0x00, /* 000000000000 */
2799 0x00, 0x00, /* 000000000000 */
2800 0x00, 0x00, /* 000000000000 */
2801 0x00, 0x00, /* 000000000000 */
2802 0x1f, 0xc0, /* 000111111100 */
2803 0x30, 0xc0, /* 001100001100 */
2804 0x30, 0x40, /* 001100000100 */
2805 0x38, 0x00, /* 001110000000 */
2806 0x1e, 0x00, /* 000111100000 */
2807 0x07, 0x80, /* 000001111000 */
2808 0x01, 0xc0, /* 000000011100 */
2809 0x20, 0xc0, /* 001000001100 */
2810 0x30, 0xc0, /* 001100001100 */
2811 0x3f, 0x80, /* 001111111000 */
2812 0x00, 0x00, /* 000000000000 */
2813 0x00, 0x00, /* 000000000000 */
2814 0x00, 0x00, /* 000000000000 */
2815 0x00, 0x00, /* 000000000000 */
2816 0x00, 0x00, /* 000000000000 */
2817 0x00, 0x00, /* 000000000000 */
2818
2819 /* 116 0x74 't' */
2820 0x00, 0x00, /* 000000000000 */
2821 0x00, 0x00, /* 000000000000 */
2822 0x00, 0x00, /* 000000000000 */
2823 0x04, 0x00, /* 000001000000 */
2824 0x04, 0x00, /* 000001000000 */
2825 0x0c, 0x00, /* 000011000000 */
2826 0x7f, 0xc0, /* 011111111100 */
2827 0x0c, 0x00, /* 000011000000 */
2828 0x0c, 0x00, /* 000011000000 */
2829 0x0c, 0x00, /* 000011000000 */
2830 0x0c, 0x00, /* 000011000000 */
2831 0x0c, 0x00, /* 000011000000 */
2832 0x0c, 0x00, /* 000011000000 */
2833 0x0c, 0x20, /* 000011000010 */
2834 0x0e, 0x40, /* 000011100100 */
2835 0x07, 0x80, /* 000001111000 */
2836 0x00, 0x00, /* 000000000000 */
2837 0x00, 0x00, /* 000000000000 */
2838 0x00, 0x00, /* 000000000000 */
2839 0x00, 0x00, /* 000000000000 */
2840 0x00, 0x00, /* 000000000000 */
2841 0x00, 0x00, /* 000000000000 */
2842
2843 /* 117 0x75 'u' */
2844 0x00, 0x00, /* 000000000000 */
2845 0x00, 0x00, /* 000000000000 */
2846 0x00, 0x00, /* 000000000000 */
2847 0x00, 0x00, /* 000000000000 */
2848 0x00, 0x00, /* 000000000000 */
2849 0x00, 0x00, /* 000000000000 */
2850 0x79, 0xe0, /* 011110011110 */
2851 0x30, 0xc0, /* 001100001100 */
2852 0x30, 0xc0, /* 001100001100 */
2853 0x30, 0xc0, /* 001100001100 */
2854 0x30, 0xc0, /* 001100001100 */
2855 0x30, 0xc0, /* 001100001100 */
2856 0x30, 0xc0, /* 001100001100 */
2857 0x30, 0xc0, /* 001100001100 */
2858 0x39, 0xc0, /* 001110011100 */
2859 0x1e, 0x60, /* 000111100110 */
2860 0x00, 0x00, /* 000000000000 */
2861 0x00, 0x00, /* 000000000000 */
2862 0x00, 0x00, /* 000000000000 */
2863 0x00, 0x00, /* 000000000000 */
2864 0x00, 0x00, /* 000000000000 */
2865 0x00, 0x00, /* 000000000000 */
2866
2867 /* 118 0x76 'v' */
2868 0x00, 0x00, /* 000000000000 */
2869 0x00, 0x00, /* 000000000000 */
2870 0x00, 0x00, /* 000000000000 */
2871 0x00, 0x00, /* 000000000000 */
2872 0x00, 0x00, /* 000000000000 */
2873 0x00, 0x00, /* 000000000000 */
2874 0xf0, 0x70, /* 111100000111 */
2875 0x60, 0x20, /* 011000000010 */
2876 0x30, 0x40, /* 001100000100 */
2877 0x30, 0x40, /* 001100000100 */
2878 0x18, 0x80, /* 000110001000 */
2879 0x18, 0x80, /* 000110001000 */
2880 0x0d, 0x00, /* 000011010000 */
2881 0x0d, 0x00, /* 000011010000 */
2882 0x06, 0x00, /* 000001100000 */
2883 0x06, 0x00, /* 000001100000 */
2884 0x00, 0x00, /* 000000000000 */
2885 0x00, 0x00, /* 000000000000 */
2886 0x00, 0x00, /* 000000000000 */
2887 0x00, 0x00, /* 000000000000 */
2888 0x00, 0x00, /* 000000000000 */
2889 0x00, 0x00, /* 000000000000 */
2890
2891 /* 119 0x77 'w' */
2892 0x00, 0x00, /* 000000000000 */
2893 0x00, 0x00, /* 000000000000 */
2894 0x00, 0x00, /* 000000000000 */
2895 0x00, 0x00, /* 000000000000 */
2896 0x00, 0x00, /* 000000000000 */
2897 0x00, 0x00, /* 000000000000 */
2898 0xff, 0x70, /* 111111110111 */
2899 0x66, 0x20, /* 011001100010 */
2900 0x66, 0x20, /* 011001100010 */
2901 0x66, 0x20, /* 011001100010 */
2902 0x37, 0x40, /* 001101110100 */
2903 0x3b, 0x40, /* 001110110100 */
2904 0x3b, 0x40, /* 001110110100 */
2905 0x19, 0x80, /* 000110011000 */
2906 0x19, 0x80, /* 000110011000 */
2907 0x19, 0x80, /* 000110011000 */
2908 0x00, 0x00, /* 000000000000 */
2909 0x00, 0x00, /* 000000000000 */
2910 0x00, 0x00, /* 000000000000 */
2911 0x00, 0x00, /* 000000000000 */
2912 0x00, 0x00, /* 000000000000 */
2913 0x00, 0x00, /* 000000000000 */
2914
2915 /* 120 0x78 'x' */
2916 0x00, 0x00, /* 000000000000 */
2917 0x00, 0x00, /* 000000000000 */
2918 0x00, 0x00, /* 000000000000 */
2919 0x00, 0x00, /* 000000000000 */
2920 0x00, 0x00, /* 000000000000 */
2921 0x00, 0x00, /* 000000000000 */
2922 0xf8, 0xf0, /* 111110001111 */
2923 0x70, 0x40, /* 011100000100 */
2924 0x38, 0x80, /* 001110001000 */
2925 0x1d, 0x00, /* 000111010000 */
2926 0x0e, 0x00, /* 000011100000 */
2927 0x07, 0x00, /* 000001110000 */
2928 0x0b, 0x80, /* 000010111000 */
2929 0x11, 0xc0, /* 000100011100 */
2930 0x20, 0xe0, /* 001000001110 */
2931 0xf1, 0xf0, /* 111100011111 */
2932 0x00, 0x00, /* 000000000000 */
2933 0x00, 0x00, /* 000000000000 */
2934 0x00, 0x00, /* 000000000000 */
2935 0x00, 0x00, /* 000000000000 */
2936 0x00, 0x00, /* 000000000000 */
2937 0x00, 0x00, /* 000000000000 */
2938
2939 /* 121 0x79 'y' */
2940 0x00, 0x00, /* 000000000000 */
2941 0x00, 0x00, /* 000000000000 */
2942 0x00, 0x00, /* 000000000000 */
2943 0x00, 0x00, /* 000000000000 */
2944 0x00, 0x00, /* 000000000000 */
2945 0x00, 0x00, /* 000000000000 */
2946 0xf0, 0xf0, /* 111100001111 */
2947 0x60, 0x20, /* 011000000010 */
2948 0x30, 0x40, /* 001100000100 */
2949 0x30, 0x40, /* 001100000100 */
2950 0x18, 0x80, /* 000110001000 */
2951 0x18, 0x80, /* 000110001000 */
2952 0x0d, 0x00, /* 000011010000 */
2953 0x0d, 0x00, /* 000011010000 */
2954 0x06, 0x00, /* 000001100000 */
2955 0x06, 0x00, /* 000001100000 */
2956 0x04, 0x00, /* 000001000000 */
2957 0x0c, 0x00, /* 000011000000 */
2958 0x08, 0x00, /* 000010000000 */
2959 0x78, 0x00, /* 011110000000 */
2960 0x70, 0x00, /* 011100000000 */
2961 0x00, 0x00, /* 000000000000 */
2962
2963 /* 122 0x7a 'z' */
2964 0x00, 0x00, /* 000000000000 */
2965 0x00, 0x00, /* 000000000000 */
2966 0x00, 0x00, /* 000000000000 */
2967 0x00, 0x00, /* 000000000000 */
2968 0x00, 0x00, /* 000000000000 */
2969 0x00, 0x00, /* 000000000000 */
2970 0x7f, 0xe0, /* 011111111110 */
2971 0x60, 0xe0, /* 011000001110 */
2972 0x41, 0xc0, /* 010000011100 */
2973 0x03, 0x80, /* 000000111000 */
2974 0x07, 0x00, /* 000001110000 */
2975 0x0e, 0x00, /* 000011100000 */
2976 0x1c, 0x00, /* 000111000000 */
2977 0x38, 0x20, /* 001110000010 */
2978 0x70, 0x60, /* 011100000110 */
2979 0x7f, 0xe0, /* 011111111110 */
2980 0x00, 0x00, /* 000000000000 */
2981 0x00, 0x00, /* 000000000000 */
2982 0x00, 0x00, /* 000000000000 */
2983 0x00, 0x00, /* 000000000000 */
2984 0x00, 0x00, /* 000000000000 */
2985 0x00, 0x00, /* 000000000000 */
2986
2987 /* 123 0x7b '{' */
2988 0x00, 0x00, /* 000000000000 */
2989 0x03, 0x80, /* 000000111000 */
2990 0x06, 0x00, /* 000001100000 */
2991 0x06, 0x00, /* 000001100000 */
2992 0x06, 0x00, /* 000001100000 */
2993 0x06, 0x00, /* 000001100000 */
2994 0x06, 0x00, /* 000001100000 */
2995 0x0c, 0x00, /* 000011000000 */
2996 0x38, 0x00, /* 001110000000 */
2997 0x0c, 0x00, /* 000011000000 */
2998 0x06, 0x00, /* 000001100000 */
2999 0x06, 0x00, /* 000001100000 */
3000 0x06, 0x00, /* 000001100000 */
3001 0x06, 0x00, /* 000001100000 */
3002 0x06, 0x00, /* 000001100000 */
3003 0x03, 0x80, /* 000000111000 */
3004 0x00, 0x00, /* 000000000000 */
3005 0x00, 0x00, /* 000000000000 */
3006 0x00, 0x00, /* 000000000000 */
3007 0x00, 0x00, /* 000000000000 */
3008 0x00, 0x00, /* 000000000000 */
3009 0x00, 0x00, /* 000000000000 */
3010
3011 /* 124 0x7c '|' */
3012 0x00, 0x00, /* 000000000000 */
3013 0x06, 0x00, /* 000001100000 */
3014 0x06, 0x00, /* 000001100000 */
3015 0x06, 0x00, /* 000001100000 */
3016 0x06, 0x00, /* 000001100000 */
3017 0x06, 0x00, /* 000001100000 */
3018 0x06, 0x00, /* 000001100000 */
3019 0x06, 0x00, /* 000001100000 */
3020 0x06, 0x00, /* 000001100000 */
3021 0x06, 0x00, /* 000001100000 */
3022 0x06, 0x00, /* 000001100000 */
3023 0x06, 0x00, /* 000001100000 */
3024 0x06, 0x00, /* 000001100000 */
3025 0x06, 0x00, /* 000001100000 */
3026 0x06, 0x00, /* 000001100000 */
3027 0x06, 0x00, /* 000001100000 */
3028 0x06, 0x00, /* 000001100000 */
3029 0x06, 0x00, /* 000001100000 */
3030 0x06, 0x00, /* 000001100000 */
3031 0x06, 0x00, /* 000001100000 */
3032 0x06, 0x00, /* 000001100000 */
3033 0x00, 0x00, /* 000000000000 */
3034
3035 /* 125 0x7d '}' */
3036 0x00, 0x00, /* 000000000000 */
3037 0x1c, 0x00, /* 000111000000 */
3038 0x06, 0x00, /* 000001100000 */
3039 0x06, 0x00, /* 000001100000 */
3040 0x06, 0x00, /* 000001100000 */
3041 0x06, 0x00, /* 000001100000 */
3042 0x06, 0x00, /* 000001100000 */
3043 0x03, 0x00, /* 000000110000 */
3044 0x01, 0xc0, /* 000000011100 */
3045 0x03, 0x00, /* 000000110000 */
3046 0x06, 0x00, /* 000001100000 */
3047 0x06, 0x00, /* 000001100000 */
3048 0x06, 0x00, /* 000001100000 */
3049 0x06, 0x00, /* 000001100000 */
3050 0x06, 0x00, /* 000001100000 */
3051 0x1c, 0x00, /* 000111000000 */
3052 0x00, 0x00, /* 000000000000 */
3053 0x00, 0x00, /* 000000000000 */
3054 0x00, 0x00, /* 000000000000 */
3055 0x00, 0x00, /* 000000000000 */
3056 0x00, 0x00, /* 000000000000 */
3057 0x00, 0x00, /* 000000000000 */
3058
3059 /* 126 0x7e '~' */
3060 0x00, 0x00, /* 000000000000 */
3061 0x00, 0x00, /* 000000000000 */
3062 0x00, 0x00, /* 000000000000 */
3063 0x1c, 0x20, /* 000111000010 */
3064 0x3e, 0x60, /* 001111100110 */
3065 0x67, 0xc0, /* 011001111100 */
3066 0x43, 0x80, /* 010000111000 */
3067 0x00, 0x00, /* 000000000000 */
3068 0x00, 0x00, /* 000000000000 */
3069 0x00, 0x00, /* 000000000000 */
3070 0x00, 0x00, /* 000000000000 */
3071 0x00, 0x00, /* 000000000000 */
3072 0x00, 0x00, /* 000000000000 */
3073 0x00, 0x00, /* 000000000000 */
3074 0x00, 0x00, /* 000000000000 */
3075 0x00, 0x00, /* 000000000000 */
3076 0x00, 0x00, /* 000000000000 */
3077 0x00, 0x00, /* 000000000000 */
3078 0x00, 0x00, /* 000000000000 */
3079 0x00, 0x00, /* 000000000000 */
3080 0x00, 0x00, /* 000000000000 */
3081 0x00, 0x00, /* 000000000000 */
3082
3083 /* 127 0x7f '.' */
3084 /* FIXME */
3085 0x00, 0x00, /* 000000000000 */
3086 0x00, 0x00, /* 000000000000 */
3087 0x00, 0x00, /* 000000000000 */
3088 0x00, 0x00, /* 000000000000 */
3089 0x00, 0x00, /* 000000000000 */
3090 0x3f, 0xc0, /* 001111111100 */
3091 0x3f, 0xc0, /* 001111111100 */
3092 0x3f, 0xc0, /* 001111111100 */
3093 0x3f, 0xc0, /* 001111111100 */
3094 0x3f, 0xc0, /* 001111111100 */
3095 0x3f, 0xc0, /* 001111111100 */
3096 0x3f, 0xc0, /* 001111111100 */
3097 0x3f, 0xc0, /* 001111111100 */
3098 0x3f, 0xc0, /* 001111111100 */
3099 0x3f, 0xc0, /* 001111111100 */
3100 0x3f, 0xc0, /* 001111111100 */
3101 0x3f, 0xc0, /* 001111111100 */
3102 0x00, 0x00, /* 000000000000 */
3103 0x00, 0x00, /* 000000000000 */
3104 0x00, 0x00, /* 000000000000 */
3105 0x00, 0x00, /* 000000000000 */
3106 0x00, 0x00, /* 000000000000 */
3107
3108 /* 128 0x80 '.' */
3109 0x00, 0x00, /* 000000000000 */
3110 0x00, 0x00, /* 000000000000 */
3111 0x0f, 0xc0, /* 000011111100 */
3112 0x10, 0x60, /* 000100000110 */
3113 0x20, 0x20, /* 001000000010 */
3114 0x20, 0x00, /* 001000000000 */
3115 0x60, 0x00, /* 011000000000 */
3116 0x60, 0x00, /* 011000000000 */
3117 0x60, 0x00, /* 011000000000 */
3118 0x60, 0x00, /* 011000000000 */
3119 0x60, 0x00, /* 011000000000 */
3120 0x60, 0x00, /* 011000000000 */
3121 0x20, 0x00, /* 001000000000 */
3122 0x30, 0x20, /* 001100000010 */
3123 0x18, 0x40, /* 000110000100 */
3124 0x0f, 0x80, /* 000011111000 */
3125 0x06, 0x00, /* 000001100000 */
3126 0x03, 0x00, /* 000000110000 */
3127 0x01, 0x80, /* 000000011000 */
3128 0x0f, 0x00, /* 000011110000 */
3129 0x00, 0x00, /* 000000000000 */
3130 0x00, 0x00, /* 000000000000 */
3131
3132 /* 129 0x81 '.' */
3133 0x00, 0x00, /* 000000000000 */
3134 0x00, 0x00, /* 000000000000 */
3135 0x19, 0x80, /* 000110011000 */
3136 0x19, 0x80, /* 000110011000 */
3137 0x00, 0x00, /* 000000000000 */
3138 0x00, 0x00, /* 000000000000 */
3139 0x79, 0xe0, /* 011110011110 */
3140 0x30, 0xc0, /* 001100001100 */
3141 0x30, 0xc0, /* 001100001100 */
3142 0x30, 0xc0, /* 001100001100 */
3143 0x30, 0xc0, /* 001100001100 */
3144 0x30, 0xc0, /* 001100001100 */
3145 0x30, 0xc0, /* 001100001100 */
3146 0x30, 0xc0, /* 001100001100 */
3147 0x39, 0xc0, /* 001110011100 */
3148 0x1e, 0x60, /* 000111100110 */
3149 0x00, 0x00, /* 000000000000 */
3150 0x00, 0x00, /* 000000000000 */
3151 0x00, 0x00, /* 000000000000 */
3152 0x00, 0x00, /* 000000000000 */
3153 0x00, 0x00, /* 000000000000 */
3154 0x00, 0x00, /* 000000000000 */
3155
3156 /* 130 0x82 '.' */
3157 0x00, 0x00, /* 000000000000 */
3158 0x00, 0x00, /* 000000000000 */
3159 0x01, 0x80, /* 000000011000 */
3160 0x03, 0x00, /* 000000110000 */
3161 0x06, 0x00, /* 000001100000 */
3162 0x00, 0x00, /* 000000000000 */
3163 0x0f, 0x00, /* 000011110000 */
3164 0x30, 0xc0, /* 001100001100 */
3165 0x60, 0x60, /* 011000000110 */
3166 0x60, 0x60, /* 011000000110 */
3167 0x7f, 0xe0, /* 011111111110 */
3168 0x60, 0x00, /* 011000000000 */
3169 0x60, 0x00, /* 011000000000 */
3170 0x30, 0x00, /* 001100000000 */
3171 0x18, 0x60, /* 000110000110 */
3172 0x0f, 0x80, /* 000011111000 */
3173 0x00, 0x00, /* 000000000000 */
3174 0x00, 0x00, /* 000000000000 */
3175 0x00, 0x00, /* 000000000000 */
3176 0x00, 0x00, /* 000000000000 */
3177 0x00, 0x00, /* 000000000000 */
3178 0x00, 0x00, /* 000000000000 */
3179
3180 /* 131 0x83 '.' */
3181 0x00, 0x00, /* 000000000000 */
3182 0x02, 0x00, /* 000000100000 */
3183 0x07, 0x00, /* 000001110000 */
3184 0x0d, 0x80, /* 000011011000 */
3185 0x18, 0xc0, /* 000110001100 */
3186 0x00, 0x00, /* 000000000000 */
3187 0x0f, 0x80, /* 000011111000 */
3188 0x18, 0xc0, /* 000110001100 */
3189 0x10, 0xc0, /* 000100001100 */
3190 0x03, 0xc0, /* 000000111100 */
3191 0x1c, 0xc0, /* 000111001100 */
3192 0x30, 0xc0, /* 001100001100 */
3193 0x30, 0xc0, /* 001100001100 */
3194 0x30, 0xc0, /* 001100001100 */
3195 0x39, 0xc0, /* 001110011100 */
3196 0x1e, 0xe0, /* 000111101110 */
3197 0x00, 0x00, /* 000000000000 */
3198 0x00, 0x00, /* 000000000000 */
3199 0x00, 0x00, /* 000000000000 */
3200 0x00, 0x00, /* 000000000000 */
3201 0x00, 0x00, /* 000000000000 */
3202 0x00, 0x00, /* 000000000000 */
3203
3204 /* 132 0x84 '.' */
3205 0x00, 0x00, /* 000000000000 */
3206 0x00, 0x00, /* 000000000000 */
3207 0x19, 0x80, /* 000110011000 */
3208 0x19, 0x80, /* 000110011000 */
3209 0x00, 0x00, /* 000000000000 */
3210 0x00, 0x00, /* 000000000000 */
3211 0x0f, 0x80, /* 000011111000 */
3212 0x18, 0xc0, /* 000110001100 */
3213 0x10, 0xc0, /* 000100001100 */
3214 0x03, 0xc0, /* 000000111100 */
3215 0x1c, 0xc0, /* 000111001100 */
3216 0x30, 0xc0, /* 001100001100 */
3217 0x30, 0xc0, /* 001100001100 */
3218 0x30, 0xc0, /* 001100001100 */
3219 0x39, 0xc0, /* 001110011100 */
3220 0x1e, 0xe0, /* 000111101110 */
3221 0x00, 0x00, /* 000000000000 */
3222 0x00, 0x00, /* 000000000000 */
3223 0x00, 0x00, /* 000000000000 */
3224 0x00, 0x00, /* 000000000000 */
3225 0x00, 0x00, /* 000000000000 */
3226 0x00, 0x00, /* 000000000000 */
3227
3228 /* 133 0x85 '.' */
3229 0x00, 0x00, /* 000000000000 */
3230 0x00, 0x00, /* 000000000000 */
3231 0x0c, 0x00, /* 000011000000 */
3232 0x06, 0x00, /* 000001100000 */
3233 0x03, 0x00, /* 000000110000 */
3234 0x00, 0x00, /* 000000000000 */
3235 0x0f, 0x80, /* 000011111000 */
3236 0x18, 0xc0, /* 000110001100 */
3237 0x10, 0xc0, /* 000100001100 */
3238 0x03, 0xc0, /* 000000111100 */
3239 0x1c, 0xc0, /* 000111001100 */
3240 0x30, 0xc0, /* 001100001100 */
3241 0x30, 0xc0, /* 001100001100 */
3242 0x30, 0xc0, /* 001100001100 */
3243 0x39, 0xc0, /* 001110011100 */
3244 0x1e, 0xe0, /* 000111101110 */
3245 0x00, 0x00, /* 000000000000 */
3246 0x00, 0x00, /* 000000000000 */
3247 0x00, 0x00, /* 000000000000 */
3248 0x00, 0x00, /* 000000000000 */
3249 0x00, 0x00, /* 000000000000 */
3250 0x00, 0x00, /* 000000000000 */
3251
3252 /* 134 0x86 '.' */
3253 0x00, 0x00, /* 000000000000 */
3254 0x07, 0x00, /* 000001110000 */
3255 0x0d, 0x80, /* 000011011000 */
3256 0x0d, 0x80, /* 000011011000 */
3257 0x07, 0x00, /* 000001110000 */
3258 0x00, 0x00, /* 000000000000 */
3259 0x0f, 0x80, /* 000011111000 */
3260 0x18, 0xc0, /* 000110001100 */
3261 0x10, 0xc0, /* 000100001100 */
3262 0x03, 0xc0, /* 000000111100 */
3263 0x1c, 0xc0, /* 000111001100 */
3264 0x30, 0xc0, /* 001100001100 */
3265 0x30, 0xc0, /* 001100001100 */
3266 0x30, 0xc0, /* 001100001100 */
3267 0x39, 0xc0, /* 001110011100 */
3268 0x1e, 0xe0, /* 000111101110 */
3269 0x00, 0x00, /* 000000000000 */
3270 0x00, 0x00, /* 000000000000 */
3271 0x00, 0x00, /* 000000000000 */
3272 0x00, 0x00, /* 000000000000 */
3273 0x00, 0x00, /* 000000000000 */
3274 0x00, 0x00, /* 000000000000 */
3275
3276 /* 135 0x87 '.' */
3277 0x00, 0x00, /* 000000000000 */
3278 0x00, 0x00, /* 000000000000 */
3279 0x00, 0x00, /* 000000000000 */
3280 0x00, 0x00, /* 000000000000 */
3281 0x00, 0x00, /* 000000000000 */
3282 0x00, 0x00, /* 000000000000 */
3283 0x1f, 0x80, /* 000111111000 */
3284 0x31, 0xc0, /* 001100011100 */
3285 0x20, 0xc0, /* 001000001100 */
3286 0x60, 0x00, /* 011000000000 */
3287 0x60, 0x00, /* 011000000000 */
3288 0x60, 0x00, /* 011000000000 */
3289 0x60, 0x00, /* 011000000000 */
3290 0x70, 0x40, /* 011100000100 */
3291 0x30, 0xc0, /* 001100001100 */
3292 0x1f, 0x80, /* 000111111000 */
3293 0x06, 0x00, /* 000001100000 */
3294 0x03, 0x00, /* 000000110000 */
3295 0x01, 0x80, /* 000000011000 */
3296 0x0f, 0x00, /* 000011110000 */
3297 0x00, 0x00, /* 000000000000 */
3298 0x00, 0x00, /* 000000000000 */
3299
3300 /* 136 0x88 '.' */
3301 0x00, 0x00, /* 000000000000 */
3302 0x02, 0x00, /* 000000100000 */
3303 0x07, 0x00, /* 000001110000 */
3304 0x0d, 0x80, /* 000011011000 */
3305 0x18, 0xc0, /* 000110001100 */
3306 0x00, 0x00, /* 000000000000 */
3307 0x0f, 0x00, /* 000011110000 */
3308 0x30, 0xc0, /* 001100001100 */
3309 0x60, 0x60, /* 011000000110 */
3310 0x60, 0x60, /* 011000000110 */
3311 0x7f, 0xe0, /* 011111111110 */
3312 0x60, 0x00, /* 011000000000 */
3313 0x60, 0x00, /* 011000000000 */
3314 0x30, 0x00, /* 001100000000 */
3315 0x18, 0x60, /* 000110000110 */
3316 0x0f, 0x80, /* 000011111000 */
3317 0x00, 0x00, /* 000000000000 */
3318 0x00, 0x00, /* 000000000000 */
3319 0x00, 0x00, /* 000000000000 */
3320 0x00, 0x00, /* 000000000000 */
3321 0x00, 0x00, /* 000000000000 */
3322 0x00, 0x00, /* 000000000000 */
3323
3324 /* 137 0x89 '.' */
3325 0x00, 0x00, /* 000000000000 */
3326 0x00, 0x00, /* 000000000000 */
3327 0x19, 0x80, /* 000110011000 */
3328 0x19, 0x80, /* 000110011000 */
3329 0x00, 0x00, /* 000000000000 */
3330 0x00, 0x00, /* 000000000000 */
3331 0x0f, 0x00, /* 000011110000 */
3332 0x30, 0xc0, /* 001100001100 */
3333 0x60, 0x60, /* 011000000110 */
3334 0x60, 0x60, /* 011000000110 */
3335 0x7f, 0xe0, /* 011111111110 */
3336 0x60, 0x00, /* 011000000000 */
3337 0x60, 0x00, /* 011000000000 */
3338 0x30, 0x00, /* 001100000000 */
3339 0x18, 0x60, /* 000110000110 */
3340 0x0f, 0x80, /* 000011111000 */
3341 0x00, 0x00, /* 000000000000 */
3342 0x00, 0x00, /* 000000000000 */
3343 0x00, 0x00, /* 000000000000 */
3344 0x00, 0x00, /* 000000000000 */
3345 0x00, 0x00, /* 000000000000 */
3346 0x00, 0x00, /* 000000000000 */
3347
3348 /* 138 0x8a '.' */
3349 0x00, 0x00, /* 000000000000 */
3350 0x00, 0x00, /* 000000000000 */
3351 0x0c, 0x00, /* 000011000000 */
3352 0x06, 0x00, /* 000001100000 */
3353 0x03, 0x00, /* 000000110000 */
3354 0x00, 0x00, /* 000000000000 */
3355 0x0f, 0x00, /* 000011110000 */
3356 0x30, 0xc0, /* 001100001100 */
3357 0x60, 0x60, /* 011000000110 */
3358 0x60, 0x60, /* 011000000110 */
3359 0x7f, 0xe0, /* 011111111110 */
3360 0x60, 0x00, /* 011000000000 */
3361 0x60, 0x00, /* 011000000000 */
3362 0x30, 0x00, /* 001100000000 */
3363 0x18, 0x60, /* 000110000110 */
3364 0x0f, 0x80, /* 000011111000 */
3365 0x00, 0x00, /* 000000000000 */
3366 0x00, 0x00, /* 000000000000 */
3367 0x00, 0x00, /* 000000000000 */
3368 0x00, 0x00, /* 000000000000 */
3369 0x00, 0x00, /* 000000000000 */
3370 0x00, 0x00, /* 000000000000 */
3371
3372 /* 139 0x8b '.' */
3373 0x00, 0x00, /* 000000000000 */
3374 0x00, 0x00, /* 000000000000 */
3375 0x19, 0x80, /* 000110011000 */
3376 0x19, 0x80, /* 000110011000 */
3377 0x00, 0x00, /* 000000000000 */
3378 0x00, 0x00, /* 000000000000 */
3379 0x1e, 0x00, /* 000111100000 */
3380 0x06, 0x00, /* 000001100000 */
3381 0x06, 0x00, /* 000001100000 */
3382 0x06, 0x00, /* 000001100000 */
3383 0x06, 0x00, /* 000001100000 */
3384 0x06, 0x00, /* 000001100000 */
3385 0x06, 0x00, /* 000001100000 */
3386 0x06, 0x00, /* 000001100000 */
3387 0x06, 0x00, /* 000001100000 */
3388 0x1f, 0x80, /* 000111111000 */
3389 0x00, 0x00, /* 000000000000 */
3390 0x00, 0x00, /* 000000000000 */
3391 0x00, 0x00, /* 000000000000 */
3392 0x00, 0x00, /* 000000000000 */
3393 0x00, 0x00, /* 000000000000 */
3394 0x00, 0x00, /* 000000000000 */
3395
3396 /* 140 0x8c '.' */
3397 0x00, 0x00, /* 000000000000 */
3398 0x04, 0x00, /* 000001000000 */
3399 0x0e, 0x00, /* 000011100000 */
3400 0x1b, 0x00, /* 000110110000 */
3401 0x31, 0x80, /* 001100011000 */
3402 0x00, 0x00, /* 000000000000 */
3403 0x1e, 0x00, /* 000111100000 */
3404 0x06, 0x00, /* 000001100000 */
3405 0x06, 0x00, /* 000001100000 */
3406 0x06, 0x00, /* 000001100000 */
3407 0x06, 0x00, /* 000001100000 */
3408 0x06, 0x00, /* 000001100000 */
3409 0x06, 0x00, /* 000001100000 */
3410 0x06, 0x00, /* 000001100000 */
3411 0x06, 0x00, /* 000001100000 */
3412 0x1f, 0x80, /* 000111111000 */
3413 0x00, 0x00, /* 000000000000 */
3414 0x00, 0x00, /* 000000000000 */
3415 0x00, 0x00, /* 000000000000 */
3416 0x00, 0x00, /* 000000000000 */
3417 0x00, 0x00, /* 000000000000 */
3418 0x00, 0x00, /* 000000000000 */
3419
3420 /* 141 0x8d '.' */
3421 0x00, 0x00, /* 000000000000 */
3422 0x00, 0x00, /* 000000000000 */
3423 0x18, 0x00, /* 000110000000 */
3424 0x0c, 0x00, /* 000011000000 */
3425 0x06, 0x00, /* 000001100000 */
3426 0x00, 0x00, /* 000000000000 */
3427 0x1e, 0x00, /* 000111100000 */
3428 0x06, 0x00, /* 000001100000 */
3429 0x06, 0x00, /* 000001100000 */
3430 0x06, 0x00, /* 000001100000 */
3431 0x06, 0x00, /* 000001100000 */
3432 0x06, 0x00, /* 000001100000 */
3433 0x06, 0x00, /* 000001100000 */
3434 0x06, 0x00, /* 000001100000 */
3435 0x06, 0x00, /* 000001100000 */
3436 0x1f, 0x80, /* 000111111000 */
3437 0x00, 0x00, /* 000000000000 */
3438 0x00, 0x00, /* 000000000000 */
3439 0x00, 0x00, /* 000000000000 */
3440 0x00, 0x00, /* 000000000000 */
3441 0x00, 0x00, /* 000000000000 */
3442 0x00, 0x00, /* 000000000000 */
3443
3444 /* 142 0x8e '.' */
3445 0x00, 0x00, /* 000000000000 */
3446 0x19, 0x80, /* 000110011000 */
3447 0x19, 0x80, /* 000110011000 */
3448 0x00, 0x00, /* 000000000000 */
3449 0x04, 0x00, /* 000001000000 */
3450 0x06, 0x00, /* 000001100000 */
3451 0x06, 0x00, /* 000001100000 */
3452 0x0b, 0x00, /* 000010110000 */
3453 0x0b, 0x00, /* 000010110000 */
3454 0x19, 0x80, /* 000110011000 */
3455 0x11, 0x80, /* 000100011000 */
3456 0x3f, 0xc0, /* 001111111100 */
3457 0x20, 0xc0, /* 001000001100 */
3458 0x60, 0x60, /* 011000000110 */
3459 0x40, 0x60, /* 010000000110 */
3460 0xe0, 0xf0, /* 111000001111 */
3461 0x00, 0x00, /* 000000000000 */
3462 0x00, 0x00, /* 000000000000 */
3463 0x00, 0x00, /* 000000000000 */
3464 0x00, 0x00, /* 000000000000 */
3465 0x00, 0x00, /* 000000000000 */
3466 0x00, 0x00, /* 000000000000 */
3467
3468 /* 143 0x8f '.' */
3469 0x00, 0x00, /* 000000000000 */
3470 0x0f, 0x00, /* 000011110000 */
3471 0x19, 0x80, /* 000110011000 */
3472 0x0f, 0x00, /* 000011110000 */
3473 0x04, 0x00, /* 000001000000 */
3474 0x06, 0x00, /* 000001100000 */
3475 0x06, 0x00, /* 000001100000 */
3476 0x0b, 0x00, /* 000010110000 */
3477 0x0b, 0x00, /* 000010110000 */
3478 0x19, 0x80, /* 000110011000 */
3479 0x11, 0x80, /* 000100011000 */
3480 0x3f, 0xc0, /* 001111111100 */
3481 0x20, 0xc0, /* 001000001100 */
3482 0x60, 0x60, /* 011000000110 */
3483 0x40, 0x60, /* 010000000110 */
3484 0xe0, 0xf0, /* 111000001111 */
3485 0x00, 0x00, /* 000000000000 */
3486 0x00, 0x00, /* 000000000000 */
3487 0x00, 0x00, /* 000000000000 */
3488 0x00, 0x00, /* 000000000000 */
3489 0x00, 0x00, /* 000000000000 */
3490 0x00, 0x00, /* 000000000000 */
3491
3492 /* 144 0x90 '.' */
3493 0x00, 0x00, /* 000000000000 */
3494 0x03, 0x00, /* 000000110000 */
3495 0x06, 0x00, /* 000001100000 */
3496 0x08, 0x00, /* 000010000000 */
3497 0x7f, 0xe0, /* 011111111110 */
3498 0x30, 0x20, /* 001100000010 */
3499 0x30, 0x00, /* 001100000000 */
3500 0x30, 0x00, /* 001100000000 */
3501 0x30, 0x80, /* 001100001000 */
3502 0x3f, 0x80, /* 001111111000 */
3503 0x30, 0x80, /* 001100001000 */
3504 0x30, 0x00, /* 001100000000 */
3505 0x30, 0x00, /* 001100000000 */
3506 0x30, 0x20, /* 001100000010 */
3507 0x30, 0x20, /* 001100000010 */
3508 0x7f, 0xe0, /* 011111111110 */
3509 0x00, 0x00, /* 000000000000 */
3510 0x00, 0x00, /* 000000000000 */
3511 0x00, 0x00, /* 000000000000 */
3512 0x00, 0x00, /* 000000000000 */
3513 0x00, 0x00, /* 000000000000 */
3514 0x00, 0x00, /* 000000000000 */
3515
3516 /* 145 0x91 '.' */
3517 0x00, 0x00, /* 000000000000 */
3518 0x00, 0x00, /* 000000000000 */
3519 0x00, 0x00, /* 000000000000 */
3520 0x00, 0x00, /* 000000000000 */
3521 0x00, 0x00, /* 000000000000 */
3522 0x00, 0x00, /* 000000000000 */
3523 0x3d, 0xe0, /* 001111011110 */
3524 0x66, 0x30, /* 011001100011 */
3525 0x46, 0x30, /* 010001100011 */
3526 0x06, 0x30, /* 000001100011 */
3527 0x3f, 0xf0, /* 001111111111 */
3528 0x66, 0x00, /* 011001100000 */
3529 0xc6, 0x00, /* 110001100000 */
3530 0xc6, 0x00, /* 110001100000 */
3531 0xe7, 0x30, /* 111001110011 */
3532 0x7d, 0xe0, /* 011111011110 */
3533 0x00, 0x00, /* 000000000000 */
3534 0x00, 0x00, /* 000000000000 */
3535 0x00, 0x00, /* 000000000000 */
3536 0x00, 0x00, /* 000000000000 */
3537 0x00, 0x00, /* 000000000000 */
3538 0x00, 0x00, /* 000000000000 */
3539
3540 /* 146 0x92 '.' */
3541 0x00, 0x00, /* 000000000000 */
3542 0x00, 0x00, /* 000000000000 */
3543 0x03, 0xf0, /* 000000111111 */
3544 0x07, 0x10, /* 000001110001 */
3545 0x07, 0x10, /* 000001110001 */
3546 0x0b, 0x00, /* 000010110000 */
3547 0x0b, 0x00, /* 000010110000 */
3548 0x0b, 0x20, /* 000010110010 */
3549 0x13, 0xe0, /* 000100111110 */
3550 0x13, 0x20, /* 000100110010 */
3551 0x3f, 0x00, /* 001111110000 */
3552 0x23, 0x00, /* 001000110000 */
3553 0x23, 0x00, /* 001000110000 */
3554 0x43, 0x10, /* 010000110001 */
3555 0x43, 0x10, /* 010000110001 */
3556 0xe7, 0xf0, /* 111001111111 */
3557 0x00, 0x00, /* 000000000000 */
3558 0x00, 0x00, /* 000000000000 */
3559 0x00, 0x00, /* 000000000000 */
3560 0x00, 0x00, /* 000000000000 */
3561 0x00, 0x00, /* 000000000000 */
3562 0x00, 0x00, /* 000000000000 */
3563
3564 /* 147 0x93 '.' */
3565 0x00, 0x00, /* 000000000000 */
3566 0x02, 0x00, /* 000000100000 */
3567 0x07, 0x00, /* 000001110000 */
3568 0x0d, 0x80, /* 000011011000 */
3569 0x18, 0xc0, /* 000110001100 */
3570 0x00, 0x00, /* 000000000000 */
3571 0x0f, 0x80, /* 000011111000 */
3572 0x11, 0xc0, /* 000100011100 */
3573 0x20, 0xe0, /* 001000001110 */
3574 0x60, 0x60, /* 011000000110 */
3575 0x60, 0x60, /* 011000000110 */
3576 0x60, 0x60, /* 011000000110 */
3577 0x60, 0x60, /* 011000000110 */
3578 0x70, 0x40, /* 011100000100 */
3579 0x38, 0x80, /* 001110001000 */
3580 0x1f, 0x00, /* 000111110000 */
3581 0x00, 0x00, /* 000000000000 */
3582 0x00, 0x00, /* 000000000000 */
3583 0x00, 0x00, /* 000000000000 */
3584 0x00, 0x00, /* 000000000000 */
3585 0x00, 0x00, /* 000000000000 */
3586 0x00, 0x00, /* 000000000000 */
3587
3588 /* 148 0x94 '.' */
3589 0x00, 0x00, /* 000000000000 */
3590 0x00, 0x00, /* 000000000000 */
3591 0x19, 0x80, /* 000110011000 */
3592 0x19, 0x80, /* 000110011000 */
3593 0x00, 0x00, /* 000000000000 */
3594 0x00, 0x00, /* 000000000000 */
3595 0x0f, 0x80, /* 000011111000 */
3596 0x11, 0xc0, /* 000100011100 */
3597 0x20, 0xe0, /* 001000001110 */
3598 0x60, 0x60, /* 011000000110 */
3599 0x60, 0x60, /* 011000000110 */
3600 0x60, 0x60, /* 011000000110 */
3601 0x60, 0x60, /* 011000000110 */
3602 0x70, 0x40, /* 011100000100 */
3603 0x38, 0x80, /* 001110001000 */
3604 0x1f, 0x00, /* 000111110000 */
3605 0x00, 0x00, /* 000000000000 */
3606 0x00, 0x00, /* 000000000000 */
3607 0x00, 0x00, /* 000000000000 */
3608 0x00, 0x00, /* 000000000000 */
3609 0x00, 0x00, /* 000000000000 */
3610 0x00, 0x00, /* 000000000000 */
3611
3612 /* 149 0x95 '.' */
3613 0x00, 0x00, /* 000000000000 */
3614 0x00, 0x00, /* 000000000000 */
3615 0x0c, 0x00, /* 000011000000 */
3616 0x06, 0x00, /* 000001100000 */
3617 0x03, 0x00, /* 000000110000 */
3618 0x00, 0x00, /* 000000000000 */
3619 0x0f, 0x80, /* 000011111000 */
3620 0x11, 0xc0, /* 000100011100 */
3621 0x20, 0xe0, /* 001000001110 */
3622 0x60, 0x60, /* 011000000110 */
3623 0x60, 0x60, /* 011000000110 */
3624 0x60, 0x60, /* 011000000110 */
3625 0x60, 0x60, /* 011000000110 */
3626 0x70, 0x40, /* 011100000100 */
3627 0x38, 0x80, /* 001110001000 */
3628 0x1f, 0x00, /* 000111110000 */
3629 0x00, 0x00, /* 000000000000 */
3630 0x00, 0x00, /* 000000000000 */
3631 0x00, 0x00, /* 000000000000 */
3632 0x00, 0x00, /* 000000000000 */
3633 0x00, 0x00, /* 000000000000 */
3634 0x00, 0x00, /* 000000000000 */
3635
3636 /* 150 0x96 '.' */
3637 0x00, 0x00, /* 000000000000 */
3638 0x02, 0x00, /* 000000100000 */
3639 0x07, 0x00, /* 000001110000 */
3640 0x0d, 0x80, /* 000011011000 */
3641 0x18, 0xc0, /* 000110001100 */
3642 0x00, 0x00, /* 000000000000 */
3643 0x79, 0xe0, /* 011110011110 */
3644 0x30, 0xc0, /* 001100001100 */
3645 0x30, 0xc0, /* 001100001100 */
3646 0x30, 0xc0, /* 001100001100 */
3647 0x30, 0xc0, /* 001100001100 */
3648 0x30, 0xc0, /* 001100001100 */
3649 0x30, 0xc0, /* 001100001100 */
3650 0x30, 0xc0, /* 001100001100 */
3651 0x39, 0xc0, /* 001110011100 */
3652 0x1e, 0x60, /* 000111100110 */
3653 0x00, 0x00, /* 000000000000 */
3654 0x00, 0x00, /* 000000000000 */
3655 0x00, 0x00, /* 000000000000 */
3656 0x00, 0x00, /* 000000000000 */
3657 0x00, 0x00, /* 000000000000 */
3658 0x00, 0x00, /* 000000000000 */
3659
3660 /* 151 0x97 '.' */
3661 0x00, 0x00, /* 000000000000 */
3662 0x00, 0x00, /* 000000000000 */
3663 0x18, 0x00, /* 000110000000 */
3664 0x0c, 0x00, /* 000011000000 */
3665 0x06, 0x00, /* 000001100000 */
3666 0x00, 0x00, /* 000000000000 */
3667 0x79, 0xe0, /* 011110011110 */
3668 0x30, 0xc0, /* 001100001100 */
3669 0x30, 0xc0, /* 001100001100 */
3670 0x30, 0xc0, /* 001100001100 */
3671 0x30, 0xc0, /* 001100001100 */
3672 0x30, 0xc0, /* 001100001100 */
3673 0x30, 0xc0, /* 001100001100 */
3674 0x30, 0xc0, /* 001100001100 */
3675 0x39, 0xc0, /* 001110011100 */
3676 0x1e, 0x60, /* 000111100110 */
3677 0x00, 0x00, /* 000000000000 */
3678 0x00, 0x00, /* 000000000000 */
3679 0x00, 0x00, /* 000000000000 */
3680 0x00, 0x00, /* 000000000000 */
3681 0x00, 0x00, /* 000000000000 */
3682 0x00, 0x00, /* 000000000000 */
3683
3684 /* 152 0x98 '.' */
3685 0x00, 0x00, /* 000000000000 */
3686 0x00, 0x00, /* 000000000000 */
3687 0x19, 0x80, /* 000110011000 */
3688 0x19, 0x80, /* 000110011000 */
3689 0x00, 0x00, /* 000000000000 */
3690 0x00, 0x00, /* 000000000000 */
3691 0xf0, 0xf0, /* 111100001111 */
3692 0x60, 0x20, /* 011000000010 */
3693 0x30, 0x40, /* 001100000100 */
3694 0x30, 0x40, /* 001100000100 */
3695 0x18, 0x80, /* 000110001000 */
3696 0x18, 0x80, /* 000110001000 */
3697 0x0d, 0x00, /* 000011010000 */
3698 0x0d, 0x00, /* 000011010000 */
3699 0x06, 0x00, /* 000001100000 */
3700 0x06, 0x00, /* 000001100000 */
3701 0x04, 0x00, /* 000001000000 */
3702 0x0c, 0x00, /* 000011000000 */
3703 0x08, 0x00, /* 000010000000 */
3704 0x78, 0x00, /* 011110000000 */
3705 0x70, 0x00, /* 011100000000 */
3706 0x00, 0x00, /* 000000000000 */
3707
3708 /* 153 0x99 '.' */
3709 0x00, 0x00, /* 000000000000 */
3710 0x19, 0x80, /* 000110011000 */
3711 0x19, 0x80, /* 000110011000 */
3712 0x00, 0x00, /* 000000000000 */
3713 0x0f, 0x80, /* 000011111000 */
3714 0x11, 0xc0, /* 000100011100 */
3715 0x20, 0xc0, /* 001000001100 */
3716 0x20, 0x60, /* 001000000110 */
3717 0x60, 0x60, /* 011000000110 */
3718 0x60, 0x60, /* 011000000110 */
3719 0x60, 0x60, /* 011000000110 */
3720 0x60, 0x60, /* 011000000110 */
3721 0x20, 0x40, /* 001000000100 */
3722 0x30, 0x40, /* 001100000100 */
3723 0x18, 0x80, /* 000110001000 */
3724 0x0f, 0x00, /* 000011110000 */
3725 0x00, 0x00, /* 000000000000 */
3726 0x00, 0x00, /* 000000000000 */
3727 0x00, 0x00, /* 000000000000 */
3728 0x00, 0x00, /* 000000000000 */
3729 0x00, 0x00, /* 000000000000 */
3730 0x00, 0x00, /* 000000000000 */
3731
3732 /* 154 0x9a '.' */
3733 0x00, 0x00, /* 000000000000 */
3734 0x19, 0x80, /* 000110011000 */
3735 0x19, 0x80, /* 000110011000 */
3736 0xe0, 0x30, /* 111000000011 */
3737 0x60, 0x20, /* 011000000010 */
3738 0x60, 0x20, /* 011000000010 */
3739 0x60, 0x20, /* 011000000010 */
3740 0x60, 0x20, /* 011000000010 */
3741 0x60, 0x20, /* 011000000010 */
3742 0x60, 0x20, /* 011000000010 */
3743 0x60, 0x20, /* 011000000010 */
3744 0x60, 0x20, /* 011000000010 */
3745 0x60, 0x20, /* 011000000010 */
3746 0x70, 0x40, /* 011100000100 */
3747 0x3f, 0xc0, /* 001111111100 */
3748 0x1f, 0x80, /* 000111111000 */
3749 0x00, 0x00, /* 000000000000 */
3750 0x00, 0x00, /* 000000000000 */
3751 0x00, 0x00, /* 000000000000 */
3752 0x00, 0x00, /* 000000000000 */
3753 0x00, 0x00, /* 000000000000 */
3754 0x00, 0x00, /* 000000000000 */
3755
3756 /* 155 0x9b '.' */
3757 0x00, 0x00, /* 000000000000 */
3758 0x00, 0x00, /* 000000000000 */
3759 0x00, 0x00, /* 000000000000 */
3760 0x00, 0x00, /* 000000000000 */
3761 0x06, 0x00, /* 000001100000 */
3762 0x06, 0x00, /* 000001100000 */
3763 0x1f, 0x80, /* 000111111000 */
3764 0x36, 0xc0, /* 001101101100 */
3765 0x26, 0xc0, /* 001001101100 */
3766 0x66, 0x00, /* 011001100000 */
3767 0x66, 0x00, /* 011001100000 */
3768 0x66, 0x00, /* 011001100000 */
3769 0x66, 0x00, /* 011001100000 */
3770 0x76, 0x40, /* 011101100100 */
3771 0x36, 0xc0, /* 001101101100 */
3772 0x1f, 0x80, /* 000111111000 */
3773 0x06, 0x00, /* 000001100000 */
3774 0x06, 0x00, /* 000001100000 */
3775 0x00, 0x00, /* 000000000000 */
3776 0x00, 0x00, /* 000000000000 */
3777 0x00, 0x00, /* 000000000000 */
3778 0x00, 0x00, /* 000000000000 */
3779
3780 /* 156 0x9c '.' */
3781 0x00, 0x00, /* 000000000000 */
3782 0x00, 0x00, /* 000000000000 */
3783 0x0f, 0x80, /* 000011111000 */
3784 0x1c, 0xc0, /* 000111001100 */
3785 0x18, 0xc0, /* 000110001100 */
3786 0x18, 0x00, /* 000110000000 */
3787 0x18, 0x00, /* 000110000000 */
3788 0x18, 0x00, /* 000110000000 */
3789 0x7e, 0x00, /* 011111100000 */
3790 0x7e, 0x00, /* 011111100000 */
3791 0x18, 0x00, /* 000110000000 */
3792 0x18, 0x00, /* 000110000000 */
3793 0x18, 0x00, /* 000110000000 */
3794 0x18, 0x00, /* 000110000000 */
3795 0x3e, 0x20, /* 001111100010 */
3796 0x7f, 0xe0, /* 011111111110 */
3797 0x61, 0xc0, /* 011000011100 */
3798 0x00, 0x00, /* 000000000000 */
3799 0x00, 0x00, /* 000000000000 */
3800 0x00, 0x00, /* 000000000000 */
3801 0x00, 0x00, /* 000000000000 */
3802 0x00, 0x00, /* 000000000000 */
3803
3804 /* 157 0x9d '.' */
3805 0x00, 0x00, /* 000000000000 */
3806 0x00, 0x00, /* 000000000000 */
3807 0x60, 0x60, /* 011000000110 */
3808 0x60, 0x60, /* 011000000110 */
3809 0x30, 0xc0, /* 001100001100 */
3810 0x19, 0x80, /* 000110011000 */
3811 0x19, 0x80, /* 000110011000 */
3812 0x0f, 0x00, /* 000011110000 */
3813 0x06, 0x00, /* 000001100000 */
3814 0x1f, 0x80, /* 000111111000 */
3815 0x06, 0x00, /* 000001100000 */
3816 0x1f, 0x80, /* 000111111000 */
3817 0x06, 0x00, /* 000001100000 */
3818 0x06, 0x00, /* 000001100000 */
3819 0x06, 0x00, /* 000001100000 */
3820 0x06, 0x00, /* 000001100000 */
3821 0x00, 0x00, /* 000000000000 */
3822 0x00, 0x00, /* 000000000000 */
3823 0x00, 0x00, /* 000000000000 */
3824 0x00, 0x00, /* 000000000000 */
3825 0x00, 0x00, /* 000000000000 */
3826 0x00, 0x00, /* 000000000000 */
3827
3828 /* 158 0x9e '.' */
3829 /* FIXME */
3830 0x00, 0x00, /* 000000000000 */
3831 0x00, 0x00, /* 000000000000 */
3832 0x00, 0x00, /* 000000000000 */
3833 0x00, 0x00, /* 000000000000 */
3834 0x00, 0x00, /* 000000000000 */
3835 0x3f, 0xc0, /* 001111111100 */
3836 0x3f, 0xc0, /* 001111111100 */
3837 0x3f, 0xc0, /* 001111111100 */
3838 0x3f, 0xc0, /* 001111111100 */
3839 0x3f, 0xc0, /* 001111111100 */
3840 0x3f, 0xc0, /* 001111111100 */
3841 0x3f, 0xc0, /* 001111111100 */
3842 0x3f, 0xc0, /* 001111111100 */
3843 0x3f, 0xc0, /* 001111111100 */
3844 0x3f, 0xc0, /* 001111111100 */
3845 0x3f, 0xc0, /* 001111111100 */
3846 0x3f, 0xc0, /* 001111111100 */
3847 0x00, 0x00, /* 000000000000 */
3848 0x00, 0x00, /* 000000000000 */
3849 0x00, 0x00, /* 000000000000 */
3850 0x00, 0x00, /* 000000000000 */
3851 0x00, 0x00, /* 000000000000 */
3852
3853 /* 159 0x9f '.' */
3854 /* FIXME */
3855 0x00, 0x00, /* 000000000000 */
3856 0x00, 0x00, /* 000000000000 */
3857 0x00, 0x00, /* 000000000000 */
3858 0x00, 0x00, /* 000000000000 */
3859 0x00, 0x00, /* 000000000000 */
3860 0x3f, 0xc0, /* 001111111100 */
3861 0x3f, 0xc0, /* 001111111100 */
3862 0x3f, 0xc0, /* 001111111100 */
3863 0x3f, 0xc0, /* 001111111100 */
3864 0x3f, 0xc0, /* 001111111100 */
3865 0x3f, 0xc0, /* 001111111100 */
3866 0x3f, 0xc0, /* 001111111100 */
3867 0x3f, 0xc0, /* 001111111100 */
3868 0x3f, 0xc0, /* 001111111100 */
3869 0x3f, 0xc0, /* 001111111100 */
3870 0x3f, 0xc0, /* 001111111100 */
3871 0x3f, 0xc0, /* 001111111100 */
3872 0x00, 0x00, /* 000000000000 */
3873 0x00, 0x00, /* 000000000000 */
3874 0x00, 0x00, /* 000000000000 */
3875 0x00, 0x00, /* 000000000000 */
3876 0x00, 0x00, /* 000000000000 */
3877
3878 /* 160 0xa0 '.' */
3879 0x00, 0x00, /* 000000000000 */
3880 0x00, 0x00, /* 000000000000 */
3881 0x01, 0x80, /* 000000011000 */
3882 0x03, 0x00, /* 000000110000 */
3883 0x06, 0x00, /* 000001100000 */
3884 0x00, 0x00, /* 000000000000 */
3885 0x0f, 0x80, /* 000011111000 */
3886 0x18, 0xc0, /* 000110001100 */
3887 0x10, 0xc0, /* 000100001100 */
3888 0x03, 0xc0, /* 000000111100 */
3889 0x1c, 0xc0, /* 000111001100 */
3890 0x30, 0xc0, /* 001100001100 */
3891 0x30, 0xc0, /* 001100001100 */
3892 0x30, 0xc0, /* 001100001100 */
3893 0x39, 0xc0, /* 001110011100 */
3894 0x1e, 0xe0, /* 000111101110 */
3895 0x00, 0x00, /* 000000000000 */
3896 0x00, 0x00, /* 000000000000 */
3897 0x00, 0x00, /* 000000000000 */
3898 0x00, 0x00, /* 000000000000 */
3899 0x00, 0x00, /* 000000000000 */
3900 0x00, 0x00, /* 000000000000 */
3901
3902 /* 161 0xa1 '.' */
3903 0x00, 0x00, /* 000000000000 */
3904 0x00, 0x00, /* 000000000000 */
3905 0x01, 0x80, /* 000000011000 */
3906 0x03, 0x00, /* 000000110000 */
3907 0x06, 0x00, /* 000001100000 */
3908 0x00, 0x00, /* 000000000000 */
3909 0x1e, 0x00, /* 000111100000 */
3910 0x06, 0x00, /* 000001100000 */
3911 0x06, 0x00, /* 000001100000 */
3912 0x06, 0x00, /* 000001100000 */
3913 0x06, 0x00, /* 000001100000 */
3914 0x06, 0x00, /* 000001100000 */
3915 0x06, 0x00, /* 000001100000 */
3916 0x06, 0x00, /* 000001100000 */
3917 0x06, 0x00, /* 000001100000 */
3918 0x1f, 0x80, /* 000111111000 */
3919 0x00, 0x00, /* 000000000000 */
3920 0x00, 0x00, /* 000000000000 */
3921 0x00, 0x00, /* 000000000000 */
3922 0x00, 0x00, /* 000000000000 */
3923 0x00, 0x00, /* 000000000000 */
3924 0x00, 0x00, /* 000000000000 */
3925
3926 /* 162 0xa2 '.' */
3927 0x00, 0x00, /* 000000000000 */
3928 0x00, 0x00, /* 000000000000 */
3929 0x01, 0x80, /* 000000011000 */
3930 0x03, 0x00, /* 000000110000 */
3931 0x06, 0x00, /* 000001100000 */
3932 0x00, 0x00, /* 000000000000 */
3933 0x0f, 0x80, /* 000011111000 */
3934 0x11, 0xc0, /* 000100011100 */
3935 0x20, 0xe0, /* 001000001110 */
3936 0x60, 0x60, /* 011000000110 */
3937 0x60, 0x60, /* 011000000110 */
3938 0x60, 0x60, /* 011000000110 */
3939 0x60, 0x60, /* 011000000110 */
3940 0x70, 0x40, /* 011100000100 */
3941 0x38, 0x80, /* 001110001000 */
3942 0x1f, 0x00, /* 000111110000 */
3943 0x00, 0x00, /* 000000000000 */
3944 0x00, 0x00, /* 000000000000 */
3945 0x00, 0x00, /* 000000000000 */
3946 0x00, 0x00, /* 000000000000 */
3947 0x00, 0x00, /* 000000000000 */
3948 0x00, 0x00, /* 000000000000 */
3949
3950 /* 163 0xa3 '.' */
3951 0x00, 0x00, /* 000000000000 */
3952 0x00, 0x00, /* 000000000000 */
3953 0x01, 0x80, /* 000000011000 */
3954 0x03, 0x00, /* 000000110000 */
3955 0x06, 0x00, /* 000001100000 */
3956 0x00, 0x00, /* 000000000000 */
3957 0x79, 0xe0, /* 011110011110 */
3958 0x30, 0xc0, /* 001100001100 */
3959 0x30, 0xc0, /* 001100001100 */
3960 0x30, 0xc0, /* 001100001100 */
3961 0x30, 0xc0, /* 001100001100 */
3962 0x30, 0xc0, /* 001100001100 */
3963 0x30, 0xc0, /* 001100001100 */
3964 0x30, 0xc0, /* 001100001100 */
3965 0x39, 0xc0, /* 001110011100 */
3966 0x1e, 0x60, /* 000111100110 */
3967 0x00, 0x00, /* 000000000000 */
3968 0x00, 0x00, /* 000000000000 */
3969 0x00, 0x00, /* 000000000000 */
3970 0x00, 0x00, /* 000000000000 */
3971 0x00, 0x00, /* 000000000000 */
3972 0x00, 0x00, /* 000000000000 */
3973
3974 /* 164 0xa4 '.' */
3975 0x00, 0x00, /* 000000000000 */
3976 0x1c, 0x40, /* 000111000100 */
3977 0x3f, 0xc0, /* 001111111100 */
3978 0x23, 0x80, /* 001000111000 */
3979 0x00, 0x00, /* 000000000000 */
3980 0x00, 0x00, /* 000000000000 */
3981 0x27, 0x80, /* 001001111000 */
3982 0x79, 0xc0, /* 011110011100 */
3983 0x30, 0xc0, /* 001100001100 */
3984 0x30, 0xc0, /* 001100001100 */
3985 0x30, 0xc0, /* 001100001100 */
3986 0x30, 0xc0, /* 001100001100 */
3987 0x30, 0xc0, /* 001100001100 */
3988 0x30, 0xc0, /* 001100001100 */
3989 0x30, 0xc0, /* 001100001100 */
3990 0x79, 0xe0, /* 011110011110 */
3991 0x00, 0x00, /* 000000000000 */
3992 0x00, 0x00, /* 000000000000 */
3993 0x00, 0x00, /* 000000000000 */
3994 0x00, 0x00, /* 000000000000 */
3995 0x00, 0x00, /* 000000000000 */
3996 0x00, 0x00, /* 000000000000 */
3997
3998 /* 165 0xa5 '.' */
3999 0x00, 0x00, /* 000000000000 */
4000 0x1c, 0x40, /* 000111000100 */
4001 0x3f, 0xc0, /* 001111111100 */
4002 0x23, 0x80, /* 001000111000 */
4003 0xc0, 0x70, /* 110000000111 */
4004 0x60, 0x20, /* 011000000010 */
4005 0x70, 0x20, /* 011100000010 */
4006 0x78, 0x20, /* 011110000010 */
4007 0x5c, 0x20, /* 010111000010 */
4008 0x4e, 0x20, /* 010011100010 */
4009 0x47, 0x20, /* 010001110010 */
4010 0x43, 0xa0, /* 010000111010 */
4011 0x41, 0xe0, /* 010000011110 */
4012 0x40, 0xe0, /* 010000001110 */
4013 0x40, 0x60, /* 010000000110 */
4014 0xe0, 0x30, /* 111000000011 */
4015 0x00, 0x00, /* 000000000000 */
4016 0x00, 0x00, /* 000000000000 */
4017 0x00, 0x00, /* 000000000000 */
4018 0x00, 0x00, /* 000000000000 */
4019 0x00, 0x00, /* 000000000000 */
4020 0x00, 0x00, /* 000000000000 */
4021
4022 /* 166 0xa6 '.' */
4023 0x00, 0x00, /* 000000000000 */
4024 0x00, 0x00, /* 000000000000 */
4025 0x1f, 0x00, /* 000111110000 */
4026 0x31, 0x80, /* 001100011000 */
4027 0x01, 0x80, /* 000000011000 */
4028 0x07, 0x80, /* 000001111000 */
4029 0x19, 0x80, /* 000110011000 */
4030 0x31, 0x80, /* 001100011000 */
4031 0x31, 0x80, /* 001100011000 */
4032 0x33, 0x80, /* 001100111000 */
4033 0x1d, 0xc0, /* 000111011100 */
4034 0x00, 0x00, /* 000000000000 */
4035 0x3f, 0xc0, /* 001111111100 */
4036 0x00, 0x00, /* 000000000000 */
4037 0x00, 0x00, /* 000000000000 */
4038 0x00, 0x00, /* 000000000000 */
4039 0x00, 0x00, /* 000000000000 */
4040 0x00, 0x00, /* 000000000000 */
4041 0x00, 0x00, /* 000000000000 */
4042 0x00, 0x00, /* 000000000000 */
4043 0x00, 0x00, /* 000000000000 */
4044 0x00, 0x00, /* 000000000000 */
4045
4046 /* 167 0xa7 '.' */
4047 0x00, 0x00, /* 000000000000 */
4048 0x00, 0x00, /* 000000000000 */
4049 0x07, 0x00, /* 000001110000 */
4050 0x19, 0x80, /* 000110011000 */
4051 0x10, 0xc0, /* 000100001100 */
4052 0x30, 0xc0, /* 001100001100 */
4053 0x30, 0xc0, /* 001100001100 */
4054 0x30, 0xc0, /* 001100001100 */
4055 0x30, 0x80, /* 001100001000 */
4056 0x19, 0x80, /* 000110011000 */
4057 0x0e, 0x00, /* 000011100000 */
4058 0x00, 0x00, /* 000000000000 */
4059 0x3f, 0xc0, /* 001111111100 */
4060 0x00, 0x00, /* 000000000000 */
4061 0x00, 0x00, /* 000000000000 */
4062 0x00, 0x00, /* 000000000000 */
4063 0x00, 0x00, /* 000000000000 */
4064 0x00, 0x00, /* 000000000000 */
4065 0x00, 0x00, /* 000000000000 */
4066 0x00, 0x00, /* 000000000000 */
4067 0x00, 0x00, /* 000000000000 */
4068 0x00, 0x00, /* 000000000000 */
4069
4070 /* 168 0xa8 '.' */
4071 0x00, 0x00, /* 000000000000 */
4072 0x03, 0x00, /* 000000110000 */
4073 0x03, 0x00, /* 000000110000 */
4074 0x00, 0x00, /* 000000000000 */
4075 0x00, 0x00, /* 000000000000 */
4076 0x03, 0x00, /* 000000110000 */
4077 0x03, 0x00, /* 000000110000 */
4078 0x06, 0x00, /* 000001100000 */
4079 0x0c, 0x00, /* 000011000000 */
4080 0x18, 0x00, /* 000110000000 */
4081 0x30, 0x00, /* 001100000000 */
4082 0x30, 0x00, /* 001100000000 */
4083 0x30, 0x40, /* 001100000100 */
4084 0x39, 0xc0, /* 001110011100 */
4085 0x1f, 0x80, /* 000111111000 */
4086 0x0f, 0x00, /* 000011110000 */
4087 0x00, 0x00, /* 000000000000 */
4088 0x00, 0x00, /* 000000000000 */
4089 0x00, 0x00, /* 000000000000 */
4090 0x00, 0x00, /* 000000000000 */
4091 0x00, 0x00, /* 000000000000 */
4092 0x00, 0x00, /* 000000000000 */
4093
4094 /* 169 0xa9 '.' */
4095 /* FIXME */
4096 0x00, 0x00, /* 000000000000 */
4097 0x00, 0x00, /* 000000000000 */
4098 0x00, 0x00, /* 000000000000 */
4099 0x00, 0x00, /* 000000000000 */
4100 0x00, 0x00, /* 000000000000 */
4101 0x3f, 0xc0, /* 001111111100 */
4102 0x3f, 0xc0, /* 001111111100 */
4103 0x3f, 0xc0, /* 001111111100 */
4104 0x3f, 0xc0, /* 001111111100 */
4105 0x3f, 0xc0, /* 001111111100 */
4106 0x3f, 0xc0, /* 001111111100 */
4107 0x3f, 0xc0, /* 001111111100 */
4108 0x3f, 0xc0, /* 001111111100 */
4109 0x3f, 0xc0, /* 001111111100 */
4110 0x3f, 0xc0, /* 001111111100 */
4111 0x3f, 0xc0, /* 001111111100 */
4112 0x3f, 0xc0, /* 001111111100 */
4113 0x00, 0x00, /* 000000000000 */
4114 0x00, 0x00, /* 000000000000 */
4115 0x00, 0x00, /* 000000000000 */
4116 0x00, 0x00, /* 000000000000 */
4117 0x00, 0x00, /* 000000000000 */
4118
4119 /* 170 0xaa '.' */
4120 0x00, 0x00, /* 000000000000 */
4121 0x00, 0x00, /* 000000000000 */
4122 0x00, 0x00, /* 000000000000 */
4123 0x00, 0x00, /* 000000000000 */
4124 0x3f, 0xc0, /* 001111111100 */
4125 0x3f, 0xc0, /* 001111111100 */
4126 0x00, 0xc0, /* 000000001100 */
4127 0x00, 0xc0, /* 000000001100 */
4128 0x00, 0xc0, /* 000000001100 */
4129 0x00, 0x00, /* 000000000000 */
4130 0x00, 0x00, /* 000000000000 */
4131 0x00, 0x00, /* 000000000000 */
4132 0x00, 0x00, /* 000000000000 */
4133 0x00, 0x00, /* 000000000000 */
4134 0x00, 0x00, /* 000000000000 */
4135 0x00, 0x00, /* 000000000000 */
4136 0x00, 0x00, /* 000000000000 */
4137 0x00, 0x00, /* 000000000000 */
4138 0x00, 0x00, /* 000000000000 */
4139 0x00, 0x00, /* 000000000000 */
4140 0x00, 0x00, /* 000000000000 */
4141 0x00, 0x00, /* 000000000000 */
4142
4143 /* 171 0xab '.' */
4144 0x00, 0x00, /* 000000000000 */
4145 0x00, 0x00, /* 000000000000 */
4146 0x10, 0x00, /* 000100000000 */
4147 0x30, 0x00, /* 001100000000 */
4148 0x10, 0x00, /* 000100000000 */
4149 0x10, 0x40, /* 000100000100 */
4150 0x10, 0x80, /* 000100001000 */
4151 0x11, 0x00, /* 000100010000 */
4152 0x3a, 0x00, /* 001110100000 */
4153 0x05, 0xc0, /* 000001011100 */
4154 0x0a, 0x20, /* 000010100010 */
4155 0x10, 0x20, /* 000100000010 */
4156 0x20, 0xc0, /* 001000001100 */
4157 0x41, 0x00, /* 010000010000 */
4158 0x02, 0x00, /* 000000100000 */
4159 0x03, 0xe0, /* 000000111110 */
4160 0x00, 0x00, /* 000000000000 */
4161 0x00, 0x00, /* 000000000000 */
4162 0x00, 0x00, /* 000000000000 */
4163 0x00, 0x00, /* 000000000000 */
4164 0x00, 0x00, /* 000000000000 */
4165 0x00, 0x00, /* 000000000000 */
4166
4167 /* 172 0xac '.' */
4168 0x00, 0x00, /* 000000000000 */
4169 0x00, 0x00, /* 000000000000 */
4170 0x10, 0x00, /* 000100000000 */
4171 0x30, 0x00, /* 001100000000 */
4172 0x10, 0x00, /* 000100000000 */
4173 0x10, 0x40, /* 000100000100 */
4174 0x10, 0x80, /* 000100001000 */
4175 0x11, 0x00, /* 000100010000 */
4176 0x3a, 0x40, /* 001110100100 */
4177 0x04, 0xc0, /* 000001001100 */
4178 0x09, 0x40, /* 000010010100 */
4179 0x12, 0x40, /* 000100100100 */
4180 0x24, 0x40, /* 001001000100 */
4181 0x47, 0xe0, /* 010001111110 */
4182 0x00, 0x40, /* 000000000100 */
4183 0x00, 0x40, /* 000000000100 */
4184 0x00, 0x00, /* 000000000000 */
4185 0x00, 0x00, /* 000000000000 */
4186 0x00, 0x00, /* 000000000000 */
4187 0x00, 0x00, /* 000000000000 */
4188 0x00, 0x00, /* 000000000000 */
4189 0x00, 0x00, /* 000000000000 */
4190
4191 /* 173 0xad '.' */
4192 0x00, 0x00, /* 000000000000 */
4193 0x06, 0x00, /* 000001100000 */
4194 0x06, 0x00, /* 000001100000 */
4195 0x00, 0x00, /* 000000000000 */
4196 0x00, 0x00, /* 000000000000 */
4197 0x06, 0x00, /* 000001100000 */
4198 0x06, 0x00, /* 000001100000 */
4199 0x06, 0x00, /* 000001100000 */
4200 0x06, 0x00, /* 000001100000 */
4201 0x06, 0x00, /* 000001100000 */
4202 0x06, 0x00, /* 000001100000 */
4203 0x06, 0x00, /* 000001100000 */
4204 0x06, 0x00, /* 000001100000 */
4205 0x06, 0x00, /* 000001100000 */
4206 0x06, 0x00, /* 000001100000 */
4207 0x06, 0x00, /* 000001100000 */
4208 0x00, 0x00, /* 000000000000 */
4209 0x00, 0x00, /* 000000000000 */
4210 0x00, 0x00, /* 000000000000 */
4211 0x00, 0x00, /* 000000000000 */
4212 0x00, 0x00, /* 000000000000 */
4213 0x00, 0x00, /* 000000000000 */
4214
4215 /* 174 0xae '.' */
4216 0x00, 0x00, /* 000000000000 */
4217 0x00, 0x00, /* 000000000000 */
4218 0x00, 0x00, /* 000000000000 */
4219 0x00, 0x00, /* 000000000000 */
4220 0x00, 0x00, /* 000000000000 */
4221 0x00, 0x00, /* 000000000000 */
4222 0x00, 0x00, /* 000000000000 */
4223 0x06, 0x60, /* 000001100110 */
4224 0x0c, 0xc0, /* 000011001100 */
4225 0x19, 0x80, /* 000110011000 */
4226 0x33, 0x00, /* 001100110000 */
4227 0x66, 0x00, /* 011001100000 */
4228 0x33, 0x00, /* 001100110000 */
4229 0x19, 0x80, /* 000110011000 */
4230 0x0c, 0xc0, /* 000011001100 */
4231 0x06, 0x60, /* 000001100110 */
4232 0x00, 0x00, /* 000000000000 */
4233 0x00, 0x00, /* 000000000000 */
4234 0x00, 0x00, /* 000000000000 */
4235 0x00, 0x00, /* 000000000000 */
4236 0x00, 0x00, /* 000000000000 */
4237 0x00, 0x00, /* 000000000000 */
4238
4239 /* 175 0xaf '.' */
4240 0x00, 0x00, /* 000000000000 */
4241 0x00, 0x00, /* 000000000000 */
4242 0x00, 0x00, /* 000000000000 */
4243 0x00, 0x00, /* 000000000000 */
4244 0x00, 0x00, /* 000000000000 */
4245 0x00, 0x00, /* 000000000000 */
4246 0x00, 0x00, /* 000000000000 */
4247 0x66, 0x00, /* 011001100000 */
4248 0x33, 0x00, /* 001100110000 */
4249 0x19, 0x80, /* 000110011000 */
4250 0x0c, 0xc0, /* 000011001100 */
4251 0x06, 0x60, /* 000001100110 */
4252 0x0c, 0xc0, /* 000011001100 */
4253 0x19, 0x80, /* 000110011000 */
4254 0x33, 0x00, /* 001100110000 */
4255 0x66, 0x00, /* 011001100000 */
4256 0x00, 0x00, /* 000000000000 */
4257 0x00, 0x00, /* 000000000000 */
4258 0x00, 0x00, /* 000000000000 */
4259 0x00, 0x00, /* 000000000000 */
4260 0x00, 0x00, /* 000000000000 */
4261 0x00, 0x00, /* 000000000000 */
4262
4263 /* 176 0xb0 '.' */
4264 0x0c, 0x30, /* 000011000011 */
4265 0x08, 0x20, /* 000010000010 */
4266 0x61, 0x80, /* 011000011000 */
4267 0x20, 0x80, /* 001000001000 */
4268 0x0c, 0x30, /* 000011000011 */
4269 0x08, 0x20, /* 000010000010 */
4270 0x61, 0x80, /* 011000011000 */
4271 0x20, 0x80, /* 001000001000 */
4272 0x0c, 0x30, /* 000011000011 */
4273 0x08, 0x20, /* 000010000010 */
4274 0x61, 0x80, /* 011000011000 */
4275 0x20, 0x80, /* 001000001000 */
4276 0x0c, 0x30, /* 000011000011 */
4277 0x08, 0x20, /* 000010000010 */
4278 0x61, 0x80, /* 011000011000 */
4279 0x20, 0x80, /* 001000001000 */
4280 0x0c, 0x30, /* 000011000011 */
4281 0x08, 0x20, /* 000010000010 */
4282 0x61, 0x80, /* 011000011000 */
4283 0x20, 0x80, /* 001000001000 */
4284 0x0c, 0x30, /* 000011000011 */
4285 0x08, 0x20, /* 000010000010 */
4286
4287 /* 177 0xb1 '.' */
4288 0x77, 0x70, /* 011101110111 */
4289 0x22, 0x20, /* 001000100010 */
4290 0x88, 0x80, /* 100010001000 */
4291 0xdd, 0xd0, /* 110111011101 */
4292 0x88, 0x80, /* 100010001000 */
4293 0x22, 0x20, /* 001000100010 */
4294 0x77, 0x70, /* 011101110111 */
4295 0x22, 0x20, /* 001000100010 */
4296 0x88, 0x80, /* 100010001000 */
4297 0xdd, 0xd0, /* 110111011101 */
4298 0x88, 0x80, /* 100010001000 */
4299 0x22, 0x20, /* 001000100010 */
4300 0x77, 0x70, /* 011101110111 */
4301 0x22, 0x20, /* 001000100010 */
4302 0x88, 0x80, /* 100010001000 */
4303 0xdd, 0xd0, /* 110111011101 */
4304 0x88, 0x80, /* 100010001000 */
4305 0x22, 0x20, /* 001000100010 */
4306 0x77, 0x70, /* 011101110111 */
4307 0x22, 0x20, /* 001000100010 */
4308 0x88, 0x80, /* 100010001000 */
4309 0xdd, 0xd0, /* 110111011101 */
4310
4311 /* 178 0xb2 '.' */
4312 0xf3, 0xc0, /* 111100111100 */
4313 0xf7, 0xd0, /* 111101111101 */
4314 0x9e, 0x70, /* 100111100111 */
4315 0xdf, 0x70, /* 110111110111 */
4316 0xf3, 0xc0, /* 111100111100 */
4317 0xf7, 0xd0, /* 111101111101 */
4318 0x9e, 0x70, /* 100111100111 */
4319 0xdf, 0x70, /* 110111110111 */
4320 0xf3, 0xc0, /* 111100111100 */
4321 0xf7, 0xd0, /* 111101111101 */
4322 0x9e, 0x70, /* 100111100111 */
4323 0xdf, 0x70, /* 110111110111 */
4324 0xf3, 0xc0, /* 111100111100 */
4325 0xf7, 0xd0, /* 111101111101 */
4326 0x9e, 0x70, /* 100111100111 */
4327 0xdf, 0x70, /* 110111110111 */
4328 0xf3, 0xc0, /* 111100111100 */
4329 0xf7, 0xd0, /* 111101111101 */
4330 0x9e, 0x70, /* 100111100111 */
4331 0xdf, 0x70, /* 110111110111 */
4332 0xf3, 0xc0, /* 111100111100 */
4333 0xf7, 0xd0, /* 111101111101 */
4334
4335 /* 179 0xb3 '.' */
4336 0x06, 0x00, /* 000001100000 */
4337 0x06, 0x00, /* 000001100000 */
4338 0x06, 0x00, /* 000001100000 */
4339 0x06, 0x00, /* 000001100000 */
4340 0x06, 0x00, /* 000001100000 */
4341 0x06, 0x00, /* 000001100000 */
4342 0x06, 0x00, /* 000001100000 */
4343 0x06, 0x00, /* 000001100000 */
4344 0x06, 0x00, /* 000001100000 */
4345 0x06, 0x00, /* 000001100000 */
4346 0x06, 0x00, /* 000001100000 */
4347 0x06, 0x00, /* 000001100000 */
4348 0x06, 0x00, /* 000001100000 */
4349 0x06, 0x00, /* 000001100000 */
4350 0x06, 0x00, /* 000001100000 */
4351 0x06, 0x00, /* 000001100000 */
4352 0x06, 0x00, /* 000001100000 */
4353 0x06, 0x00, /* 000001100000 */
4354 0x06, 0x00, /* 000001100000 */
4355 0x06, 0x00, /* 000001100000 */
4356 0x06, 0x00, /* 000001100000 */
4357 0x06, 0x00, /* 000001100000 */
4358
4359 /* 180 0xb4 '.' */
4360 0x06, 0x00, /* 000001100000 */
4361 0x06, 0x00, /* 000001100000 */
4362 0x06, 0x00, /* 000001100000 */
4363 0x06, 0x00, /* 000001100000 */
4364 0x06, 0x00, /* 000001100000 */
4365 0x06, 0x00, /* 000001100000 */
4366 0x06, 0x00, /* 000001100000 */
4367 0x06, 0x00, /* 000001100000 */
4368 0x06, 0x00, /* 000001100000 */
4369 0x06, 0x00, /* 000001100000 */
4370 0xfe, 0x00, /* 111111100000 */
4371 0xfe, 0x00, /* 111111100000 */
4372 0x06, 0x00, /* 000001100000 */
4373 0x06, 0x00, /* 000001100000 */
4374 0x06, 0x00, /* 000001100000 */
4375 0x06, 0x00, /* 000001100000 */
4376 0x06, 0x00, /* 000001100000 */
4377 0x06, 0x00, /* 000001100000 */
4378 0x06, 0x00, /* 000001100000 */
4379 0x06, 0x00, /* 000001100000 */
4380 0x06, 0x00, /* 000001100000 */
4381 0x06, 0x00, /* 000001100000 */
4382
4383 /* 181 0xb5 '.' */
4384 0x06, 0x00, /* 000001100000 */
4385 0x06, 0x00, /* 000001100000 */
4386 0x06, 0x00, /* 000001100000 */
4387 0x06, 0x00, /* 000001100000 */
4388 0x06, 0x00, /* 000001100000 */
4389 0x06, 0x00, /* 000001100000 */
4390 0x06, 0x00, /* 000001100000 */
4391 0xfe, 0x00, /* 111111100000 */
4392 0xfe, 0x00, /* 111111100000 */
4393 0x06, 0x00, /* 000001100000 */
4394 0xfe, 0x00, /* 111111100000 */
4395 0xfe, 0x00, /* 111111100000 */
4396 0x06, 0x00, /* 000001100000 */
4397 0x06, 0x00, /* 000001100000 */
4398 0x06, 0x00, /* 000001100000 */
4399 0x06, 0x00, /* 000001100000 */
4400 0x06, 0x00, /* 000001100000 */
4401 0x06, 0x00, /* 000001100000 */
4402 0x06, 0x00, /* 000001100000 */
4403 0x06, 0x00, /* 000001100000 */
4404 0x06, 0x00, /* 000001100000 */
4405 0x06, 0x00, /* 000001100000 */
4406
4407 /* 182 0xb6 '.' */
4408 0x0d, 0x80, /* 000011011000 */
4409 0x0d, 0x80, /* 000011011000 */
4410 0x0d, 0x80, /* 000011011000 */
4411 0x0d, 0x80, /* 000011011000 */
4412 0x0d, 0x80, /* 000011011000 */
4413 0x0d, 0x80, /* 000011011000 */
4414 0x0d, 0x80, /* 000011011000 */
4415 0x0d, 0x80, /* 000011011000 */
4416 0x0d, 0x80, /* 000011011000 */
4417 0x0d, 0x80, /* 000011011000 */
4418 0xfd, 0x80, /* 111111011000 */
4419 0xfd, 0x80, /* 111111011000 */
4420 0x0d, 0x80, /* 000011011000 */
4421 0x0d, 0x80, /* 000011011000 */
4422 0x0d, 0x80, /* 000011011000 */
4423 0x0d, 0x80, /* 000011011000 */
4424 0x0d, 0x80, /* 000011011000 */
4425 0x0d, 0x80, /* 000011011000 */
4426 0x0d, 0x80, /* 000011011000 */
4427 0x0d, 0x80, /* 000011011000 */
4428 0x0d, 0x80, /* 000011011000 */
4429 0x0d, 0x80, /* 000011011000 */
4430
4431 /* 183 0xb7 '.' */
4432 0x00, 0x00, /* 000000000000 */
4433 0x00, 0x00, /* 000000000000 */
4434 0x00, 0x00, /* 000000000000 */
4435 0x00, 0x00, /* 000000000000 */
4436 0x00, 0x00, /* 000000000000 */
4437 0x00, 0x00, /* 000000000000 */
4438 0x00, 0x00, /* 000000000000 */
4439 0x00, 0x00, /* 000000000000 */
4440 0x00, 0x00, /* 000000000000 */
4441 0x00, 0x00, /* 000000000000 */
4442 0xff, 0x80, /* 111111111000 */
4443 0xff, 0x80, /* 111111111000 */
4444 0x0d, 0x80, /* 000011011000 */
4445 0x0d, 0x80, /* 000011011000 */
4446 0x0d, 0x80, /* 000011011000 */
4447 0x0d, 0x80, /* 000011011000 */
4448 0x0d, 0x80, /* 000011011000 */
4449 0x0d, 0x80, /* 000011011000 */
4450 0x0d, 0x80, /* 000011011000 */
4451 0x0d, 0x80, /* 000011011000 */
4452 0x0d, 0x80, /* 000011011000 */
4453 0x0d, 0x80, /* 000011011000 */
4454
4455 /* 184 0xb8 '.' */
4456 0x00, 0x00, /* 000000000000 */
4457 0x00, 0x00, /* 000000000000 */
4458 0x00, 0x00, /* 000000000000 */
4459 0x00, 0x00, /* 000000000000 */
4460 0x00, 0x00, /* 000000000000 */
4461 0x00, 0x00, /* 000000000000 */
4462 0x00, 0x00, /* 000000000000 */
4463 0xfe, 0x00, /* 111111100000 */
4464 0xfe, 0x00, /* 111111100000 */
4465 0x06, 0x00, /* 000001100000 */
4466 0xfe, 0x00, /* 111111100000 */
4467 0xfe, 0x00, /* 111111100000 */
4468 0x06, 0x00, /* 000001100000 */
4469 0x06, 0x00, /* 000001100000 */
4470 0x06, 0x00, /* 000001100000 */
4471 0x06, 0x00, /* 000001100000 */
4472 0x06, 0x00, /* 000001100000 */
4473 0x06, 0x00, /* 000001100000 */
4474 0x06, 0x00, /* 000001100000 */
4475 0x06, 0x00, /* 000001100000 */
4476 0x06, 0x00, /* 000001100000 */
4477 0x06, 0x00, /* 000001100000 */
4478
4479 /* 185 0xb9 '.' */
4480 0x0d, 0x80, /* 000011011000 */
4481 0x0d, 0x80, /* 000011011000 */
4482 0x0d, 0x80, /* 000011011000 */
4483 0x0d, 0x80, /* 000011011000 */
4484 0x0d, 0x80, /* 000011011000 */
4485 0x0d, 0x80, /* 000011011000 */
4486 0x0d, 0x80, /* 000011011000 */
4487 0xfd, 0x80, /* 111111011000 */
4488 0xfd, 0x80, /* 111111011000 */
4489 0x01, 0x80, /* 000000011000 */
4490 0xfd, 0x80, /* 111111011000 */
4491 0xfd, 0x80, /* 111111011000 */
4492 0x0d, 0x80, /* 000011011000 */
4493 0x0d, 0x80, /* 000011011000 */
4494 0x0d, 0x80, /* 000011011000 */
4495 0x0d, 0x80, /* 000011011000 */
4496 0x0d, 0x80, /* 000011011000 */
4497 0x0d, 0x80, /* 000011011000 */
4498 0x0d, 0x80, /* 000011011000 */
4499 0x0d, 0x80, /* 000011011000 */
4500 0x0d, 0x80, /* 000011011000 */
4501 0x0d, 0x80, /* 000011011000 */
4502
4503 /* 186 0xba '.' */
4504 0x0d, 0x80, /* 000011011000 */
4505 0x0d, 0x80, /* 000011011000 */
4506 0x0d, 0x80, /* 000011011000 */
4507 0x0d, 0x80, /* 000011011000 */
4508 0x0d, 0x80, /* 000011011000 */
4509 0x0d, 0x80, /* 000011011000 */
4510 0x0d, 0x80, /* 000011011000 */
4511 0x0d, 0x80, /* 000011011000 */
4512 0x0d, 0x80, /* 000011011000 */
4513 0x0d, 0x80, /* 000011011000 */
4514 0x0d, 0x80, /* 000011011000 */
4515 0x0d, 0x80, /* 000011011000 */
4516 0x0d, 0x80, /* 000011011000 */
4517 0x0d, 0x80, /* 000011011000 */
4518 0x0d, 0x80, /* 000011011000 */
4519 0x0d, 0x80, /* 000011011000 */
4520 0x0d, 0x80, /* 000011011000 */
4521 0x0d, 0x80, /* 000011011000 */
4522 0x0d, 0x80, /* 000011011000 */
4523 0x0d, 0x80, /* 000011011000 */
4524 0x0d, 0x80, /* 000011011000 */
4525 0x0d, 0x80, /* 000011011000 */
4526
4527 /* 187 0xbb '.' */
4528 0x00, 0x00, /* 000000000000 */
4529 0x00, 0x00, /* 000000000000 */
4530 0x00, 0x00, /* 000000000000 */
4531 0x00, 0x00, /* 000000000000 */
4532 0x00, 0x00, /* 000000000000 */
4533 0x00, 0x00, /* 000000000000 */
4534 0x00, 0x00, /* 000000000000 */
4535 0xff, 0x80, /* 111111111000 */
4536 0xff, 0x80, /* 111111111000 */
4537 0x01, 0x80, /* 000000011000 */
4538 0xfd, 0x80, /* 111111011000 */
4539 0xfd, 0x80, /* 111111011000 */
4540 0x0d, 0x80, /* 000011011000 */
4541 0x0d, 0x80, /* 000011011000 */
4542 0x0d, 0x80, /* 000011011000 */
4543 0x0d, 0x80, /* 000011011000 */
4544 0x0d, 0x80, /* 000011011000 */
4545 0x0d, 0x80, /* 000011011000 */
4546 0x0d, 0x80, /* 000011011000 */
4547 0x0d, 0x80, /* 000011011000 */
4548 0x0d, 0x80, /* 000011011000 */
4549 0x0d, 0x80, /* 000011011000 */
4550
4551 /* 188 0xbc '.' */
4552 0x0d, 0x80, /* 000011011000 */
4553 0x0d, 0x80, /* 000011011000 */
4554 0x0d, 0x80, /* 000011011000 */
4555 0x0d, 0x80, /* 000011011000 */
4556 0x0d, 0x80, /* 000011011000 */
4557 0x0d, 0x80, /* 000011011000 */
4558 0x0d, 0x80, /* 000011011000 */
4559 0xfd, 0x80, /* 111111011000 */
4560 0xfd, 0x80, /* 111111011000 */
4561 0x01, 0x80, /* 000000011000 */
4562 0xff, 0x80, /* 111111111000 */
4563 0xff, 0x80, /* 111111111000 */
4564 0x00, 0x00, /* 000000000000 */
4565 0x00, 0x00, /* 000000000000 */
4566 0x00, 0x00, /* 000000000000 */
4567 0x00, 0x00, /* 000000000000 */
4568 0x00, 0x00, /* 000000000000 */
4569 0x00, 0x00, /* 000000000000 */
4570 0x00, 0x00, /* 000000000000 */
4571 0x00, 0x00, /* 000000000000 */
4572 0x00, 0x00, /* 000000000000 */
4573 0x00, 0x00, /* 000000000000 */
4574
4575 /* 189 0xbd '.' */
4576 0x0d, 0x80, /* 000011011000 */
4577 0x0d, 0x80, /* 000011011000 */
4578 0x0d, 0x80, /* 000011011000 */
4579 0x0d, 0x80, /* 000011011000 */
4580 0x0d, 0x80, /* 000011011000 */
4581 0x0d, 0x80, /* 000011011000 */
4582 0x0d, 0x80, /* 000011011000 */
4583 0x0d, 0x80, /* 000011011000 */
4584 0x0d, 0x80, /* 000011011000 */
4585 0x0d, 0x80, /* 000011011000 */
4586 0xff, 0x80, /* 111111111000 */
4587 0xff, 0x80, /* 111111111000 */
4588 0x00, 0x00, /* 000000000000 */
4589 0x00, 0x00, /* 000000000000 */
4590 0x00, 0x00, /* 000000000000 */
4591 0x00, 0x00, /* 000000000000 */
4592 0x00, 0x00, /* 000000000000 */
4593 0x00, 0x00, /* 000000000000 */
4594 0x00, 0x00, /* 000000000000 */
4595 0x00, 0x00, /* 000000000000 */
4596 0x00, 0x00, /* 000000000000 */
4597 0x00, 0x00, /* 000000000000 */
4598
4599 /* 190 0xbe '.' */
4600 0x06, 0x00, /* 000001100000 */
4601 0x06, 0x00, /* 000001100000 */
4602 0x06, 0x00, /* 000001100000 */
4603 0x06, 0x00, /* 000001100000 */
4604 0x06, 0x00, /* 000001100000 */
4605 0x06, 0x00, /* 000001100000 */
4606 0x06, 0x00, /* 000001100000 */
4607 0xfe, 0x00, /* 111111100000 */
4608 0xfe, 0x00, /* 111111100000 */
4609 0x06, 0x00, /* 000001100000 */
4610 0xfe, 0x00, /* 111111100000 */
4611 0xfe, 0x00, /* 111111100000 */
4612 0x00, 0x00, /* 000000000000 */
4613 0x00, 0x00, /* 000000000000 */
4614 0x00, 0x00, /* 000000000000 */
4615 0x00, 0x00, /* 000000000000 */
4616 0x00, 0x00, /* 000000000000 */
4617 0x00, 0x00, /* 000000000000 */
4618 0x00, 0x00, /* 000000000000 */
4619 0x00, 0x00, /* 000000000000 */
4620 0x00, 0x00, /* 000000000000 */
4621 0x00, 0x00, /* 000000000000 */
4622
4623 /* 191 0xbf '.' */
4624 0x00, 0x00, /* 000000000000 */
4625 0x00, 0x00, /* 000000000000 */
4626 0x00, 0x00, /* 000000000000 */
4627 0x00, 0x00, /* 000000000000 */
4628 0x00, 0x00, /* 000000000000 */
4629 0x00, 0x00, /* 000000000000 */
4630 0x00, 0x00, /* 000000000000 */
4631 0x00, 0x00, /* 000000000000 */
4632 0x00, 0x00, /* 000000000000 */
4633 0x00, 0x00, /* 000000000000 */
4634 0xfe, 0x00, /* 111111100000 */
4635 0xfe, 0x00, /* 111111100000 */
4636 0x06, 0x00, /* 000001100000 */
4637 0x06, 0x00, /* 000001100000 */
4638 0x06, 0x00, /* 000001100000 */
4639 0x06, 0x00, /* 000001100000 */
4640 0x06, 0x00, /* 000001100000 */
4641 0x06, 0x00, /* 000001100000 */
4642 0x06, 0x00, /* 000001100000 */
4643 0x06, 0x00, /* 000001100000 */
4644 0x06, 0x00, /* 000001100000 */
4645 0x06, 0x00, /* 000001100000 */
4646
4647 /* 192 0xc0 '.' */
4648 0x06, 0x00, /* 000001100000 */
4649 0x06, 0x00, /* 000001100000 */
4650 0x06, 0x00, /* 000001100000 */
4651 0x06, 0x00, /* 000001100000 */
4652 0x06, 0x00, /* 000001100000 */
4653 0x06, 0x00, /* 000001100000 */
4654 0x06, 0x00, /* 000001100000 */
4655 0x06, 0x00, /* 000001100000 */
4656 0x06, 0x00, /* 000001100000 */
4657 0x06, 0x00, /* 000001100000 */
4658 0x07, 0xf0, /* 000001111111 */
4659 0x07, 0xf0, /* 000001111111 */
4660 0x00, 0x00, /* 000000000000 */
4661 0x00, 0x00, /* 000000000000 */
4662 0x00, 0x00, /* 000000000000 */
4663 0x00, 0x00, /* 000000000000 */
4664 0x00, 0x00, /* 000000000000 */
4665 0x00, 0x00, /* 000000000000 */
4666 0x00, 0x00, /* 000000000000 */
4667 0x00, 0x00, /* 000000000000 */
4668 0x00, 0x00, /* 000000000000 */
4669 0x00, 0x00, /* 000000000000 */
4670
4671 /* 193 0xc1 '.' */
4672 0x06, 0x00, /* 000001100000 */
4673 0x06, 0x00, /* 000001100000 */
4674 0x06, 0x00, /* 000001100000 */
4675 0x06, 0x00, /* 000001100000 */
4676 0x06, 0x00, /* 000001100000 */
4677 0x06, 0x00, /* 000001100000 */
4678 0x06, 0x00, /* 000001100000 */
4679 0x06, 0x00, /* 000001100000 */
4680 0x06, 0x00, /* 000001100000 */
4681 0x06, 0x00, /* 000001100000 */
4682 0xff, 0xf0, /* 111111111111 */
4683 0xff, 0xf0, /* 111111111111 */
4684 0x00, 0x00, /* 000000000000 */
4685 0x00, 0x00, /* 000000000000 */
4686 0x00, 0x00, /* 000000000000 */
4687 0x00, 0x00, /* 000000000000 */
4688 0x00, 0x00, /* 000000000000 */
4689 0x00, 0x00, /* 000000000000 */
4690 0x00, 0x00, /* 000000000000 */
4691 0x00, 0x00, /* 000000000000 */
4692 0x00, 0x00, /* 000000000000 */
4693 0x00, 0x00, /* 000000000000 */
4694
4695 /* 194 0xc2 '.' */
4696 0x00, 0x00, /* 000000000000 */
4697 0x00, 0x00, /* 000000000000 */
4698 0x00, 0x00, /* 000000000000 */
4699 0x00, 0x00, /* 000000000000 */
4700 0x00, 0x00, /* 000000000000 */
4701 0x00, 0x00, /* 000000000000 */
4702 0x00, 0x00, /* 000000000000 */
4703 0x00, 0x00, /* 000000000000 */
4704 0x00, 0x00, /* 000000000000 */
4705 0x00, 0x00, /* 000000000000 */
4706 0xff, 0xf0, /* 111111111111 */
4707 0xff, 0xf0, /* 111111111111 */
4708 0x06, 0x00, /* 000001100000 */
4709 0x06, 0x00, /* 000001100000 */
4710 0x06, 0x00, /* 000001100000 */
4711 0x06, 0x00, /* 000001100000 */
4712 0x06, 0x00, /* 000001100000 */
4713 0x06, 0x00, /* 000001100000 */
4714 0x06, 0x00, /* 000001100000 */
4715 0x06, 0x00, /* 000001100000 */
4716 0x06, 0x00, /* 000001100000 */
4717 0x06, 0x00, /* 000001100000 */
4718
4719 /* 195 0xc3 '.' */
4720 0x06, 0x00, /* 000001100000 */
4721 0x06, 0x00, /* 000001100000 */
4722 0x06, 0x00, /* 000001100000 */
4723 0x06, 0x00, /* 000001100000 */
4724 0x06, 0x00, /* 000001100000 */
4725 0x06, 0x00, /* 000001100000 */
4726 0x06, 0x00, /* 000001100000 */
4727 0x06, 0x00, /* 000001100000 */
4728 0x06, 0x00, /* 000001100000 */
4729 0x06, 0x00, /* 000001100000 */
4730 0x07, 0xf0, /* 000001111111 */
4731 0x07, 0xf0, /* 000001111111 */
4732 0x06, 0x00, /* 000001100000 */
4733 0x06, 0x00, /* 000001100000 */
4734 0x06, 0x00, /* 000001100000 */
4735 0x06, 0x00, /* 000001100000 */
4736 0x06, 0x00, /* 000001100000 */
4737 0x06, 0x00, /* 000001100000 */
4738 0x06, 0x00, /* 000001100000 */
4739 0x06, 0x00, /* 000001100000 */
4740 0x06, 0x00, /* 000001100000 */
4741 0x06, 0x00, /* 000001100000 */
4742
4743 /* 196 0xc4 '.' */
4744 0x00, 0x00, /* 000000000000 */
4745 0x00, 0x00, /* 000000000000 */
4746 0x00, 0x00, /* 000000000000 */
4747 0x00, 0x00, /* 000000000000 */
4748 0x00, 0x00, /* 000000000000 */
4749 0x00, 0x00, /* 000000000000 */
4750 0x00, 0x00, /* 000000000000 */
4751 0x00, 0x00, /* 000000000000 */
4752 0x00, 0x00, /* 000000000000 */
4753 0x00, 0x00, /* 000000000000 */
4754 0xff, 0xf0, /* 111111111111 */
4755 0xff, 0xf0, /* 111111111111 */
4756 0x00, 0x00, /* 000000000000 */
4757 0x00, 0x00, /* 000000000000 */
4758 0x00, 0x00, /* 000000000000 */
4759 0x00, 0x00, /* 000000000000 */
4760 0x00, 0x00, /* 000000000000 */
4761 0x00, 0x00, /* 000000000000 */
4762 0x00, 0x00, /* 000000000000 */
4763 0x00, 0x00, /* 000000000000 */
4764 0x00, 0x00, /* 000000000000 */
4765 0x00, 0x00, /* 000000000000 */
4766
4767 /* 197 0xc5 '.' */
4768 0x06, 0x00, /* 000001100000 */
4769 0x06, 0x00, /* 000001100000 */
4770 0x06, 0x00, /* 000001100000 */
4771 0x06, 0x00, /* 000001100000 */
4772 0x06, 0x00, /* 000001100000 */
4773 0x06, 0x00, /* 000001100000 */
4774 0x06, 0x00, /* 000001100000 */
4775 0x06, 0x00, /* 000001100000 */
4776 0x06, 0x00, /* 000001100000 */
4777 0x06, 0x00, /* 000001100000 */
4778 0xff, 0xf0, /* 111111111111 */
4779 0xff, 0xf0, /* 111111111111 */
4780 0x06, 0x00, /* 000001100000 */
4781 0x06, 0x00, /* 000001100000 */
4782 0x06, 0x00, /* 000001100000 */
4783 0x06, 0x00, /* 000001100000 */
4784 0x06, 0x00, /* 000001100000 */
4785 0x06, 0x00, /* 000001100000 */
4786 0x06, 0x00, /* 000001100000 */
4787 0x06, 0x00, /* 000001100000 */
4788 0x06, 0x00, /* 000001100000 */
4789 0x06, 0x00, /* 000001100000 */
4790
4791 /* 198 0xc6 '.' */
4792 0x06, 0x00, /* 000001100000 */
4793 0x06, 0x00, /* 000001100000 */
4794 0x06, 0x00, /* 000001100000 */
4795 0x06, 0x00, /* 000001100000 */
4796 0x06, 0x00, /* 000001100000 */
4797 0x06, 0x00, /* 000001100000 */
4798 0x06, 0x00, /* 000001100000 */
4799 0x07, 0xf0, /* 000001111111 */
4800 0x07, 0xf0, /* 000001111111 */
4801 0x06, 0x00, /* 000001100000 */
4802 0x07, 0xf0, /* 000001111111 */
4803 0x07, 0xf0, /* 000001111111 */
4804 0x06, 0x00, /* 000001100000 */
4805 0x06, 0x00, /* 000001100000 */
4806 0x06, 0x00, /* 000001100000 */
4807 0x06, 0x00, /* 000001100000 */
4808 0x06, 0x00, /* 000001100000 */
4809 0x06, 0x00, /* 000001100000 */
4810 0x06, 0x00, /* 000001100000 */
4811 0x06, 0x00, /* 000001100000 */
4812 0x06, 0x00, /* 000001100000 */
4813 0x06, 0x00, /* 000001100000 */
4814
4815 /* 199 0xc7 '.' */
4816 0x0d, 0x80, /* 000011011000 */
4817 0x0d, 0x80, /* 000011011000 */
4818 0x0d, 0x80, /* 000011011000 */
4819 0x0d, 0x80, /* 000011011000 */
4820 0x0d, 0x80, /* 000011011000 */
4821 0x0d, 0x80, /* 000011011000 */
4822 0x0d, 0x80, /* 000011011000 */
4823 0x0d, 0x80, /* 000011011000 */
4824 0x0d, 0x80, /* 000011011000 */
4825 0x0d, 0x80, /* 000011011000 */
4826 0x0d, 0xf0, /* 000011011111 */
4827 0x0d, 0xf0, /* 000011011111 */
4828 0x0d, 0x80, /* 000011011000 */
4829 0x0d, 0x80, /* 000011011000 */
4830 0x0d, 0x80, /* 000011011000 */
4831 0x0d, 0x80, /* 000011011000 */
4832 0x0d, 0x80, /* 000011011000 */
4833 0x0d, 0x80, /* 000011011000 */
4834 0x0d, 0x80, /* 000011011000 */
4835 0x0d, 0x80, /* 000011011000 */
4836 0x0d, 0x80, /* 000011011000 */
4837 0x0d, 0x80, /* 000011011000 */
4838
4839 /* 200 0xc8 '.' */
4840 0x0d, 0x80, /* 000011011000 */
4841 0x0d, 0x80, /* 000011011000 */
4842 0x0d, 0x80, /* 000011011000 */
4843 0x0d, 0x80, /* 000011011000 */
4844 0x0d, 0x80, /* 000011011000 */
4845 0x0d, 0x80, /* 000011011000 */
4846 0x0d, 0x80, /* 000011011000 */
4847 0x0d, 0xf0, /* 000011011111 */
4848 0x0d, 0xf0, /* 000011011111 */
4849 0x0c, 0x00, /* 000011000000 */
4850 0x0f, 0xf0, /* 000011111111 */
4851 0x0f, 0xf0, /* 000011111111 */
4852 0x00, 0x00, /* 000000000000 */
4853 0x00, 0x00, /* 000000000000 */
4854 0x00, 0x00, /* 000000000000 */
4855 0x00, 0x00, /* 000000000000 */
4856 0x00, 0x00, /* 000000000000 */
4857 0x00, 0x00, /* 000000000000 */
4858 0x00, 0x00, /* 000000000000 */
4859 0x00, 0x00, /* 000000000000 */
4860 0x00, 0x00, /* 000000000000 */
4861 0x00, 0x00, /* 000000000000 */
4862
4863 /* 201 0xc9 '.' */
4864 0x00, 0x00, /* 000000000000 */
4865 0x00, 0x00, /* 000000000000 */
4866 0x00, 0x00, /* 000000000000 */
4867 0x00, 0x00, /* 000000000000 */
4868 0x00, 0x00, /* 000000000000 */
4869 0x00, 0x00, /* 000000000000 */
4870 0x00, 0x00, /* 000000000000 */
4871 0x0f, 0xf0, /* 000011111111 */
4872 0x0f, 0xf0, /* 000011111111 */
4873 0x0c, 0x00, /* 000011000000 */
4874 0x0d, 0xf0, /* 000011011111 */
4875 0x0d, 0xf0, /* 000011011111 */
4876 0x0d, 0x80, /* 000011011000 */
4877 0x0d, 0x80, /* 000011011000 */
4878 0x0d, 0x80, /* 000011011000 */
4879 0x0d, 0x80, /* 000011011000 */
4880 0x0d, 0x80, /* 000011011000 */
4881 0x0d, 0x80, /* 000011011000 */
4882 0x0d, 0x80, /* 000011011000 */
4883 0x0d, 0x80, /* 000011011000 */
4884 0x0d, 0x80, /* 000011011000 */
4885 0x0d, 0x80, /* 000011011000 */
4886
4887 /* 202 0xca '.' */
4888 0x0d, 0x80, /* 000011011000 */
4889 0x0d, 0x80, /* 000011011000 */
4890 0x0d, 0x80, /* 000011011000 */
4891 0x0d, 0x80, /* 000011011000 */
4892 0x0d, 0x80, /* 000011011000 */
4893 0x0d, 0x80, /* 000011011000 */
4894 0x0d, 0x80, /* 000011011000 */
4895 0xfd, 0xf0, /* 111111011111 */
4896 0xfd, 0xf0, /* 111111011111 */
4897 0x00, 0x00, /* 000000000000 */
4898 0xff, 0xf0, /* 111111111111 */
4899 0xff, 0xf0, /* 111111111111 */
4900 0x00, 0x00, /* 000000000000 */
4901 0x00, 0x00, /* 000000000000 */
4902 0x00, 0x00, /* 000000000000 */
4903 0x00, 0x00, /* 000000000000 */
4904 0x00, 0x00, /* 000000000000 */
4905 0x00, 0x00, /* 000000000000 */
4906 0x00, 0x00, /* 000000000000 */
4907 0x00, 0x00, /* 000000000000 */
4908 0x00, 0x00, /* 000000000000 */
4909 0x00, 0x00, /* 000000000000 */
4910
4911 /* 203 0xcb '.' */
4912 0x00, 0x00, /* 000000000000 */
4913 0x00, 0x00, /* 000000000000 */
4914 0x00, 0x00, /* 000000000000 */
4915 0x00, 0x00, /* 000000000000 */
4916 0x00, 0x00, /* 000000000000 */
4917 0x00, 0x00, /* 000000000000 */
4918 0x00, 0x00, /* 000000000000 */
4919 0xff, 0xf0, /* 111111111111 */
4920 0xff, 0xf0, /* 111111111111 */
4921 0x00, 0x00, /* 000000000000 */
4922 0xfd, 0xf0, /* 111111011111 */
4923 0xfd, 0xf0, /* 111111011111 */
4924 0x0d, 0x80, /* 000011011000 */
4925 0x0d, 0x80, /* 000011011000 */
4926 0x0d, 0x80, /* 000011011000 */
4927 0x0d, 0x80, /* 000011011000 */
4928 0x0d, 0x80, /* 000011011000 */
4929 0x0d, 0x80, /* 000011011000 */
4930 0x0d, 0x80, /* 000011011000 */
4931 0x0d, 0x80, /* 000011011000 */
4932 0x0d, 0x80, /* 000011011000 */
4933 0x0d, 0x80, /* 000011011000 */
4934
4935 /* 204 0xcc '.' */
4936 0x0d, 0x80, /* 000011011000 */
4937 0x0d, 0x80, /* 000011011000 */
4938 0x0d, 0x80, /* 000011011000 */
4939 0x0d, 0x80, /* 000011011000 */
4940 0x0d, 0x80, /* 000011011000 */
4941 0x0d, 0x80, /* 000011011000 */
4942 0x0d, 0x80, /* 000011011000 */
4943 0x0d, 0xf0, /* 000011011111 */
4944 0x0d, 0xf0, /* 000011011111 */
4945 0x0c, 0x00, /* 000011000000 */
4946 0x0d, 0xf0, /* 000011011111 */
4947 0x0d, 0xf0, /* 000011011111 */
4948 0x0d, 0x80, /* 000011011000 */
4949 0x0d, 0x80, /* 000011011000 */
4950 0x0d, 0x80, /* 000011011000 */
4951 0x0d, 0x80, /* 000011011000 */
4952 0x0d, 0x80, /* 000011011000 */
4953 0x0d, 0x80, /* 000011011000 */
4954 0x0d, 0x80, /* 000011011000 */
4955 0x0d, 0x80, /* 000011011000 */
4956 0x0d, 0x80, /* 000011011000 */
4957 0x0d, 0x80, /* 000011011000 */
4958
4959 /* 205 0xcd '.' */
4960 0x00, 0x00, /* 000000000000 */
4961 0x00, 0x00, /* 000000000000 */
4962 0x00, 0x00, /* 000000000000 */
4963 0x00, 0x00, /* 000000000000 */
4964 0x00, 0x00, /* 000000000000 */
4965 0x00, 0x00, /* 000000000000 */
4966 0x00, 0x00, /* 000000000000 */
4967 0xff, 0xf0, /* 111111111111 */
4968 0xff, 0xf0, /* 111111111111 */
4969 0x00, 0x00, /* 000000000000 */
4970 0xff, 0xf0, /* 111111111111 */
4971 0xff, 0xf0, /* 111111111111 */
4972 0x00, 0x00, /* 000000000000 */
4973 0x00, 0x00, /* 000000000000 */
4974 0x00, 0x00, /* 000000000000 */
4975 0x00, 0x00, /* 000000000000 */
4976 0x00, 0x00, /* 000000000000 */
4977 0x00, 0x00, /* 000000000000 */
4978 0x00, 0x00, /* 000000000000 */
4979 0x00, 0x00, /* 000000000000 */
4980 0x00, 0x00, /* 000000000000 */
4981 0x00, 0x00, /* 000000000000 */
4982
4983 /* 206 0xce '.' */
4984 0x0d, 0x80, /* 000011011000 */
4985 0x0d, 0x80, /* 000011011000 */
4986 0x0d, 0x80, /* 000011011000 */
4987 0x0d, 0x80, /* 000011011000 */
4988 0x0d, 0x80, /* 000011011000 */
4989 0x0d, 0x80, /* 000011011000 */
4990 0x0d, 0x80, /* 000011011000 */
4991 0xfd, 0xf0, /* 111111011111 */
4992 0xfd, 0xf0, /* 111111011111 */
4993 0x00, 0x00, /* 000000000000 */
4994 0xfd, 0xf0, /* 111111011111 */
4995 0xfd, 0xf0, /* 111111011111 */
4996 0x0d, 0x80, /* 000011011000 */
4997 0x0d, 0x80, /* 000011011000 */
4998 0x0d, 0x80, /* 000011011000 */
4999 0x0d, 0x80, /* 000011011000 */
5000 0x0d, 0x80, /* 000011011000 */
5001 0x0d, 0x80, /* 000011011000 */
5002 0x0d, 0x80, /* 000011011000 */
5003 0x0d, 0x80, /* 000011011000 */
5004 0x0d, 0x80, /* 000011011000 */
5005 0x0d, 0x80, /* 000011011000 */
5006
5007 /* 207 0xcf '.' */
5008 0x06, 0x00, /* 000001100000 */
5009 0x06, 0x00, /* 000001100000 */
5010 0x06, 0x00, /* 000001100000 */
5011 0x06, 0x00, /* 000001100000 */
5012 0x06, 0x00, /* 000001100000 */
5013 0x06, 0x00, /* 000001100000 */
5014 0x06, 0x00, /* 000001100000 */
5015 0xff, 0xf0, /* 111111111111 */
5016 0xff, 0xf0, /* 111111111111 */
5017 0x00, 0x00, /* 000000000000 */
5018 0xff, 0xf0, /* 111111111111 */
5019 0xff, 0xf0, /* 111111111111 */
5020 0x00, 0x00, /* 000000000000 */
5021 0x00, 0x00, /* 000000000000 */
5022 0x00, 0x00, /* 000000000000 */
5023 0x00, 0x00, /* 000000000000 */
5024 0x00, 0x00, /* 000000000000 */
5025 0x00, 0x00, /* 000000000000 */
5026 0x00, 0x00, /* 000000000000 */
5027 0x00, 0x00, /* 000000000000 */
5028 0x00, 0x00, /* 000000000000 */
5029 0x00, 0x00, /* 000000000000 */
5030
5031 /* 208 0xd0 '.' */
5032 0x0d, 0x80, /* 000011011000 */
5033 0x0d, 0x80, /* 000011011000 */
5034 0x0d, 0x80, /* 000011011000 */
5035 0x0d, 0x80, /* 000011011000 */
5036 0x0d, 0x80, /* 000011011000 */
5037 0x0d, 0x80, /* 000011011000 */
5038 0x0d, 0x80, /* 000011011000 */
5039 0x0d, 0x80, /* 000011011000 */
5040 0x0d, 0x80, /* 000011011000 */
5041 0x0d, 0x80, /* 000011011000 */
5042 0xff, 0xf0, /* 111111111111 */
5043 0xff, 0xf0, /* 111111111111 */
5044 0x00, 0x00, /* 000000000000 */
5045 0x00, 0x00, /* 000000000000 */
5046 0x00, 0x00, /* 000000000000 */
5047 0x00, 0x00, /* 000000000000 */
5048 0x00, 0x00, /* 000000000000 */
5049 0x00, 0x00, /* 000000000000 */
5050 0x00, 0x00, /* 000000000000 */
5051 0x00, 0x00, /* 000000000000 */
5052 0x00, 0x00, /* 000000000000 */
5053 0x00, 0x00, /* 000000000000 */
5054
5055 /* 209 0xd1 '.' */
5056 0x00, 0x00, /* 000000000000 */
5057 0x00, 0x00, /* 000000000000 */
5058 0x00, 0x00, /* 000000000000 */
5059 0x00, 0x00, /* 000000000000 */
5060 0x00, 0x00, /* 000000000000 */
5061 0x00, 0x00, /* 000000000000 */
5062 0x00, 0x00, /* 000000000000 */
5063 0xff, 0xf0, /* 111111111111 */
5064 0xff, 0xf0, /* 111111111111 */
5065 0x00, 0x00, /* 000000000000 */
5066 0xff, 0xf0, /* 111111111111 */
5067 0xff, 0xf0, /* 111111111111 */
5068 0x06, 0x00, /* 000001100000 */
5069 0x06, 0x00, /* 000001100000 */
5070 0x06, 0x00, /* 000001100000 */
5071 0x06, 0x00, /* 000001100000 */
5072 0x06, 0x00, /* 000001100000 */
5073 0x06, 0x00, /* 000001100000 */
5074 0x06, 0x00, /* 000001100000 */
5075 0x06, 0x00, /* 000001100000 */
5076 0x06, 0x00, /* 000001100000 */
5077 0x06, 0x00, /* 000001100000 */
5078
5079 /* 210 0xd2 '.' */
5080 0x00, 0x00, /* 000000000000 */
5081 0x00, 0x00, /* 000000000000 */
5082 0x00, 0x00, /* 000000000000 */
5083 0x00, 0x00, /* 000000000000 */
5084 0x00, 0x00, /* 000000000000 */
5085 0x00, 0x00, /* 000000000000 */
5086 0x00, 0x00, /* 000000000000 */
5087 0x00, 0x00, /* 000000000000 */
5088 0x00, 0x00, /* 000000000000 */
5089 0x00, 0x00, /* 000000000000 */
5090 0xff, 0xf0, /* 111111111111 */
5091 0xff, 0xf0, /* 111111111111 */
5092 0x0d, 0x80, /* 000011011000 */
5093 0x0d, 0x80, /* 000011011000 */
5094 0x0d, 0x80, /* 000011011000 */
5095 0x0d, 0x80, /* 000011011000 */
5096 0x0d, 0x80, /* 000011011000 */
5097 0x0d, 0x80, /* 000011011000 */
5098 0x0d, 0x80, /* 000011011000 */
5099 0x0d, 0x80, /* 000011011000 */
5100 0x0d, 0x80, /* 000011011000 */
5101 0x0d, 0x80, /* 000011011000 */
5102
5103 /* 211 0xd3 '.' */
5104 0x0d, 0x80, /* 000011011000 */
5105 0x0d, 0x80, /* 000011011000 */
5106 0x0d, 0x80, /* 000011011000 */
5107 0x0d, 0x80, /* 000011011000 */
5108 0x0d, 0x80, /* 000011011000 */
5109 0x0d, 0x80, /* 000011011000 */
5110 0x0d, 0x80, /* 000011011000 */
5111 0x0d, 0x80, /* 000011011000 */
5112 0x0d, 0x80, /* 000011011000 */
5113 0x0d, 0x80, /* 000011011000 */
5114 0x0f, 0xf0, /* 000011111111 */
5115 0x0f, 0xf0, /* 000011111111 */
5116 0x00, 0x00, /* 000000000000 */
5117 0x00, 0x00, /* 000000000000 */
5118 0x00, 0x00, /* 000000000000 */
5119 0x00, 0x00, /* 000000000000 */
5120 0x00, 0x00, /* 000000000000 */
5121 0x00, 0x00, /* 000000000000 */
5122 0x00, 0x00, /* 000000000000 */
5123 0x00, 0x00, /* 000000000000 */
5124 0x00, 0x00, /* 000000000000 */
5125 0x00, 0x00, /* 000000000000 */
5126
5127 /* 212 0xd4 '.' */
5128 0x06, 0x00, /* 000001100000 */
5129 0x06, 0x00, /* 000001100000 */
5130 0x06, 0x00, /* 000001100000 */
5131 0x06, 0x00, /* 000001100000 */
5132 0x06, 0x00, /* 000001100000 */
5133 0x06, 0x00, /* 000001100000 */
5134 0x06, 0x00, /* 000001100000 */
5135 0x07, 0xf0, /* 000001111111 */
5136 0x07, 0xf0, /* 000001111111 */
5137 0x06, 0x00, /* 000001100000 */
5138 0x07, 0xf0, /* 000001111111 */
5139 0x07, 0xf0, /* 000001111111 */
5140 0x00, 0x00, /* 000000000000 */
5141 0x00, 0x00, /* 000000000000 */
5142 0x00, 0x00, /* 000000000000 */
5143 0x00, 0x00, /* 000000000000 */
5144 0x00, 0x00, /* 000000000000 */
5145 0x00, 0x00, /* 000000000000 */
5146 0x00, 0x00, /* 000000000000 */
5147 0x00, 0x00, /* 000000000000 */
5148 0x00, 0x00, /* 000000000000 */
5149 0x00, 0x00, /* 000000000000 */
5150
5151 /* 213 0xd5 '.' */
5152 0x00, 0x00, /* 000000000000 */
5153 0x00, 0x00, /* 000000000000 */
5154 0x00, 0x00, /* 000000000000 */
5155 0x00, 0x00, /* 000000000000 */
5156 0x00, 0x00, /* 000000000000 */
5157 0x00, 0x00, /* 000000000000 */
5158 0x00, 0x00, /* 000000000000 */
5159 0x07, 0xf0, /* 000001111111 */
5160 0x07, 0xf0, /* 000001111111 */
5161 0x06, 0x00, /* 000001100000 */
5162 0x07, 0xf0, /* 000001111111 */
5163 0x07, 0xf0, /* 000001111111 */
5164 0x06, 0x00, /* 000001100000 */
5165 0x06, 0x00, /* 000001100000 */
5166 0x06, 0x00, /* 000001100000 */
5167 0x06, 0x00, /* 000001100000 */
5168 0x06, 0x00, /* 000001100000 */
5169 0x06, 0x00, /* 000001100000 */
5170 0x06, 0x00, /* 000001100000 */
5171 0x06, 0x00, /* 000001100000 */
5172 0x06, 0x00, /* 000001100000 */
5173 0x06, 0x00, /* 000001100000 */
5174
5175 /* 214 0xd6 '.' */
5176 0x00, 0x00, /* 000000000000 */
5177 0x00, 0x00, /* 000000000000 */
5178 0x00, 0x00, /* 000000000000 */
5179 0x00, 0x00, /* 000000000000 */
5180 0x00, 0x00, /* 000000000000 */
5181 0x00, 0x00, /* 000000000000 */
5182 0x00, 0x00, /* 000000000000 */
5183 0x00, 0x00, /* 000000000000 */
5184 0x00, 0x00, /* 000000000000 */
5185 0x00, 0x00, /* 000000000000 */
5186 0x0f, 0xf0, /* 000011111111 */
5187 0x0f, 0xf0, /* 000011111111 */
5188 0x0d, 0x80, /* 000011011000 */
5189 0x0d, 0x80, /* 000011011000 */
5190 0x0d, 0x80, /* 000011011000 */
5191 0x0d, 0x80, /* 000011011000 */
5192 0x0d, 0x80, /* 000011011000 */
5193 0x0d, 0x80, /* 000011011000 */
5194 0x0d, 0x80, /* 000011011000 */
5195 0x0d, 0x80, /* 000011011000 */
5196 0x0d, 0x80, /* 000011011000 */
5197 0x0d, 0x80, /* 000011011000 */
5198
5199 /* 215 0xd7 '.' */
5200 0x0d, 0x80, /* 000011011000 */
5201 0x0d, 0x80, /* 000011011000 */
5202 0x0d, 0x80, /* 000011011000 */
5203 0x0d, 0x80, /* 000011011000 */
5204 0x0d, 0x80, /* 000011011000 */
5205 0x0d, 0x80, /* 000011011000 */
5206 0x0d, 0x80, /* 000011011000 */
5207 0x0d, 0x80, /* 000011011000 */
5208 0x0d, 0x80, /* 000011011000 */
5209 0x0d, 0x80, /* 000011011000 */
5210 0xff, 0xf0, /* 111111111111 */
5211 0xff, 0xf0, /* 111111111111 */
5212 0x0d, 0x80, /* 000011011000 */
5213 0x0d, 0x80, /* 000011011000 */
5214 0x0d, 0x80, /* 000011011000 */
5215 0x0d, 0x80, /* 000011011000 */
5216 0x0d, 0x80, /* 000011011000 */
5217 0x0d, 0x80, /* 000011011000 */
5218 0x0d, 0x80, /* 000011011000 */
5219 0x0d, 0x80, /* 000011011000 */
5220 0x0d, 0x80, /* 000011011000 */
5221 0x0d, 0x80, /* 000011011000 */
5222
5223 /* 216 0xd8 '.' */
5224 0x06, 0x00, /* 000001100000 */
5225 0x06, 0x00, /* 000001100000 */
5226 0x06, 0x00, /* 000001100000 */
5227 0x06, 0x00, /* 000001100000 */
5228 0x06, 0x00, /* 000001100000 */
5229 0x06, 0x00, /* 000001100000 */
5230 0x06, 0x00, /* 000001100000 */
5231 0xff, 0xf0, /* 111111111111 */
5232 0xff, 0xf0, /* 111111111111 */
5233 0x06, 0x00, /* 000001100000 */
5234 0xff, 0xf0, /* 111111111111 */
5235 0xff, 0xf0, /* 111111111111 */
5236 0x06, 0x00, /* 000001100000 */
5237 0x06, 0x00, /* 000001100000 */
5238 0x06, 0x00, /* 000001100000 */
5239 0x06, 0x00, /* 000001100000 */
5240 0x06, 0x00, /* 000001100000 */
5241 0x06, 0x00, /* 000001100000 */
5242 0x06, 0x00, /* 000001100000 */
5243 0x06, 0x00, /* 000001100000 */
5244 0x06, 0x00, /* 000001100000 */
5245 0x06, 0x00, /* 000001100000 */
5246
5247 /* 217 0xd9 '.' */
5248 0x06, 0x00, /* 000001100000 */
5249 0x06, 0x00, /* 000001100000 */
5250 0x06, 0x00, /* 000001100000 */
5251 0x06, 0x00, /* 000001100000 */
5252 0x06, 0x00, /* 000001100000 */
5253 0x06, 0x00, /* 000001100000 */
5254 0x06, 0x00, /* 000001100000 */
5255 0x06, 0x00, /* 000001100000 */
5256 0x06, 0x00, /* 000001100000 */
5257 0x06, 0x00, /* 000001100000 */
5258 0xfe, 0x00, /* 111111100000 */
5259 0xfe, 0x00, /* 111111100000 */
5260 0x00, 0x00, /* 000000000000 */
5261 0x00, 0x00, /* 000000000000 */
5262 0x00, 0x00, /* 000000000000 */
5263 0x00, 0x00, /* 000000000000 */
5264 0x00, 0x00, /* 000000000000 */
5265 0x00, 0x00, /* 000000000000 */
5266 0x00, 0x00, /* 000000000000 */
5267 0x00, 0x00, /* 000000000000 */
5268 0x00, 0x00, /* 000000000000 */
5269 0x00, 0x00, /* 000000000000 */
5270
5271 /* 218 0xda '.' */
5272 0x00, 0x00, /* 000000000000 */
5273 0x00, 0x00, /* 000000000000 */
5274 0x00, 0x00, /* 000000000000 */
5275 0x00, 0x00, /* 000000000000 */
5276 0x00, 0x00, /* 000000000000 */
5277 0x00, 0x00, /* 000000000000 */
5278 0x00, 0x00, /* 000000000000 */
5279 0x00, 0x00, /* 000000000000 */
5280 0x00, 0x00, /* 000000000000 */
5281 0x00, 0x00, /* 000000000000 */
5282 0x07, 0xf0, /* 000001111111 */
5283 0x07, 0xf0, /* 000001111111 */
5284 0x06, 0x00, /* 000001100000 */
5285 0x06, 0x00, /* 000001100000 */
5286 0x06, 0x00, /* 000001100000 */
5287 0x06, 0x00, /* 000001100000 */
5288 0x06, 0x00, /* 000001100000 */
5289 0x06, 0x00, /* 000001100000 */
5290 0x06, 0x00, /* 000001100000 */
5291 0x06, 0x00, /* 000001100000 */
5292 0x06, 0x00, /* 000001100000 */
5293 0x06, 0x00, /* 000001100000 */
5294
5295 /* 219 0xdb '.' */
5296 0xff, 0xf0, /* 111111111111 */
5297 0xff, 0xf0, /* 111111111111 */
5298 0xff, 0xf0, /* 111111111111 */
5299 0xff, 0xf0, /* 111111111111 */
5300 0xff, 0xf0, /* 111111111111 */
5301 0xff, 0xf0, /* 111111111111 */
5302 0xff, 0xf0, /* 111111111111 */
5303 0xff, 0xf0, /* 111111111111 */
5304 0xff, 0xf0, /* 111111111111 */
5305 0xff, 0xf0, /* 111111111111 */
5306 0xff, 0xf0, /* 111111111111 */
5307 0xff, 0xf0, /* 111111111111 */
5308 0xff, 0xf0, /* 111111111111 */
5309 0xff, 0xf0, /* 111111111111 */
5310 0xff, 0xf0, /* 111111111111 */
5311 0xff, 0xf0, /* 111111111111 */
5312 0xff, 0xf0, /* 111111111111 */
5313 0xff, 0xf0, /* 111111111111 */
5314 0xff, 0xf0, /* 111111111111 */
5315 0xff, 0xf0, /* 111111111111 */
5316 0xff, 0xf0, /* 111111111111 */
5317 0xff, 0xf0, /* 111111111111 */
5318
5319 /* 220 0xdc '.' */
5320 0x00, 0x00, /* 000000000000 */
5321 0x00, 0x00, /* 000000000000 */
5322 0x00, 0x00, /* 000000000000 */
5323 0x00, 0x00, /* 000000000000 */
5324 0x00, 0x00, /* 000000000000 */
5325 0x00, 0x00, /* 000000000000 */
5326 0x00, 0x00, /* 000000000000 */
5327 0x00, 0x00, /* 000000000000 */
5328 0x00, 0x00, /* 000000000000 */
5329 0x00, 0x00, /* 000000000000 */
5330 0xff, 0xf0, /* 111111111111 */
5331 0xff, 0xf0, /* 111111111111 */
5332 0xff, 0xf0, /* 111111111111 */
5333 0xff, 0xf0, /* 111111111111 */
5334 0xff, 0xf0, /* 111111111111 */
5335 0xff, 0xf0, /* 111111111111 */
5336 0xff, 0xf0, /* 111111111111 */
5337 0xff, 0xf0, /* 111111111111 */
5338 0xff, 0xf0, /* 111111111111 */
5339 0xff, 0xf0, /* 111111111111 */
5340 0xff, 0xf0, /* 111111111111 */
5341 0xff, 0xf0, /* 111111111111 */
5342
5343 /* 221 0xdd '.' */
5344 0xfc, 0x00, /* 111111000000 */
5345 0xfc, 0x00, /* 111111000000 */
5346 0xfc, 0x00, /* 111111000000 */
5347 0xfc, 0x00, /* 111111000000 */
5348 0xfc, 0x00, /* 111111000000 */
5349 0xfc, 0x00, /* 111111000000 */
5350 0xfc, 0x00, /* 111111000000 */
5351 0xfc, 0x00, /* 111111000000 */
5352 0xfc, 0x00, /* 111111000000 */
5353 0xfc, 0x00, /* 111111000000 */
5354 0xfc, 0x00, /* 111111000000 */
5355 0xfc, 0x00, /* 111111000000 */
5356 0xfc, 0x00, /* 111111000000 */
5357 0xfc, 0x00, /* 111111000000 */
5358 0xfc, 0x00, /* 111111000000 */
5359 0xfc, 0x00, /* 111111000000 */
5360 0xfc, 0x00, /* 111111000000 */
5361 0xfc, 0x00, /* 111111000000 */
5362 0xfc, 0x00, /* 111111000000 */
5363 0xfc, 0x00, /* 111111000000 */
5364 0xfc, 0x00, /* 111111000000 */
5365 0xfc, 0x00, /* 111111000000 */
5366
5367 /* 222 0xde '.' */
5368 0x03, 0xf0, /* 000000111111 */
5369 0x03, 0xf0, /* 000000111111 */
5370 0x03, 0xf0, /* 000000111111 */
5371 0x03, 0xf0, /* 000000111111 */
5372 0x03, 0xf0, /* 000000111111 */
5373 0x03, 0xf0, /* 000000111111 */
5374 0x03, 0xf0, /* 000000111111 */
5375 0x03, 0xf0, /* 000000111111 */
5376 0x03, 0xf0, /* 000000111111 */
5377 0x03, 0xf0, /* 000000111111 */
5378 0x03, 0xf0, /* 000000111111 */
5379 0x03, 0xf0, /* 000000111111 */
5380 0x03, 0xf0, /* 000000111111 */
5381 0x03, 0xf0, /* 000000111111 */
5382 0x03, 0xf0, /* 000000111111 */
5383 0x03, 0xf0, /* 000000111111 */
5384 0x03, 0xf0, /* 000000111111 */
5385 0x03, 0xf0, /* 000000111111 */
5386 0x03, 0xf0, /* 000000111111 */
5387 0x03, 0xf0, /* 000000111111 */
5388 0x03, 0xf0, /* 000000111111 */
5389 0x03, 0xf0, /* 000000111111 */
5390
5391 /* 223 0xdf '.' */
5392 0xff, 0xf0, /* 111111111111 */
5393 0xff, 0xf0, /* 111111111111 */
5394 0xff, 0xf0, /* 111111111111 */
5395 0xff, 0xf0, /* 111111111111 */
5396 0xff, 0xf0, /* 111111111111 */
5397 0xff, 0xf0, /* 111111111111 */
5398 0xff, 0xf0, /* 111111111111 */
5399 0xff, 0xf0, /* 111111111111 */
5400 0xff, 0xf0, /* 111111111111 */
5401 0xff, 0xf0, /* 111111111111 */
5402 0x00, 0x00, /* 000000000000 */
5403 0x00, 0x00, /* 000000000000 */
5404 0x00, 0x00, /* 000000000000 */
5405 0x00, 0x00, /* 000000000000 */
5406 0x00, 0x00, /* 000000000000 */
5407 0x00, 0x00, /* 000000000000 */
5408 0x00, 0x00, /* 000000000000 */
5409 0x00, 0x00, /* 000000000000 */
5410 0x00, 0x00, /* 000000000000 */
5411 0x00, 0x00, /* 000000000000 */
5412 0x00, 0x00, /* 000000000000 */
5413 0x00, 0x00, /* 000000000000 */
5414
5415 /* 224 0xe0 '.' */
5416 /* FIXME */
5417 0x00, 0x00, /* 000000000000 */
5418 0x00, 0x00, /* 000000000000 */
5419 0x00, 0x00, /* 000000000000 */
5420 0x00, 0x00, /* 000000000000 */
5421 0x00, 0x00, /* 000000000000 */
5422 0x3f, 0xc0, /* 001111111100 */
5423 0x3f, 0xc0, /* 001111111100 */
5424 0x3f, 0xc0, /* 001111111100 */
5425 0x3f, 0xc0, /* 001111111100 */
5426 0x3f, 0xc0, /* 001111111100 */
5427 0x3f, 0xc0, /* 001111111100 */
5428 0x3f, 0xc0, /* 001111111100 */
5429 0x3f, 0xc0, /* 001111111100 */
5430 0x3f, 0xc0, /* 001111111100 */
5431 0x3f, 0xc0, /* 001111111100 */
5432 0x3f, 0xc0, /* 001111111100 */
5433 0x3f, 0xc0, /* 001111111100 */
5434 0x00, 0x00, /* 000000000000 */
5435 0x00, 0x00, /* 000000000000 */
5436 0x00, 0x00, /* 000000000000 */
5437 0x00, 0x00, /* 000000000000 */
5438 0x00, 0x00, /* 000000000000 */
5439
5440 /* 225 0xe1 '.' */
5441 0x00, 0x00, /* 000000000000 */
5442 0x00, 0x00, /* 000000000000 */
5443 0x0f, 0x00, /* 000011110000 */
5444 0x19, 0x80, /* 000110011000 */
5445 0x30, 0xc0, /* 001100001100 */
5446 0x30, 0xc0, /* 001100001100 */
5447 0x30, 0xc0, /* 001100001100 */
5448 0x31, 0x80, /* 001100011000 */
5449 0x37, 0x80, /* 001101111000 */
5450 0x31, 0x80, /* 001100011000 */
5451 0x30, 0xc0, /* 001100001100 */
5452 0x30, 0xc0, /* 001100001100 */
5453 0x30, 0xc0, /* 001100001100 */
5454 0x30, 0xc0, /* 001100001100 */
5455 0x31, 0x80, /* 001100011000 */
5456 0x77, 0x00, /* 011101110000 */
5457 0x00, 0x00, /* 000000000000 */
5458 0x00, 0x00, /* 000000000000 */
5459 0x00, 0x00, /* 000000000000 */
5460 0x00, 0x00, /* 000000000000 */
5461 0x00, 0x00, /* 000000000000 */
5462 0x00, 0x00, /* 000000000000 */
5463
5464 /* 226 0xe2 '.' */
5465 /* FIXME */
5466 0x00, 0x00, /* 000000000000 */
5467 0x00, 0x00, /* 000000000000 */
5468 0x00, 0x00, /* 000000000000 */
5469 0x00, 0x00, /* 000000000000 */
5470 0x00, 0x00, /* 000000000000 */
5471 0x3f, 0xc0, /* 001111111100 */
5472 0x3f, 0xc0, /* 001111111100 */
5473 0x3f, 0xc0, /* 001111111100 */
5474 0x3f, 0xc0, /* 001111111100 */
5475 0x3f, 0xc0, /* 001111111100 */
5476 0x3f, 0xc0, /* 001111111100 */
5477 0x3f, 0xc0, /* 001111111100 */
5478 0x3f, 0xc0, /* 001111111100 */
5479 0x3f, 0xc0, /* 001111111100 */
5480 0x3f, 0xc0, /* 001111111100 */
5481 0x3f, 0xc0, /* 001111111100 */
5482 0x3f, 0xc0, /* 001111111100 */
5483 0x00, 0x00, /* 000000000000 */
5484 0x00, 0x00, /* 000000000000 */
5485 0x00, 0x00, /* 000000000000 */
5486 0x00, 0x00, /* 000000000000 */
5487 0x00, 0x00, /* 000000000000 */
5488
5489 /* 227 0xe3 '.' */
5490 /* FIXME */
5491 0x00, 0x00, /* 000000000000 */
5492 0x00, 0x00, /* 000000000000 */
5493 0x00, 0x00, /* 000000000000 */
5494 0x00, 0x00, /* 000000000000 */
5495 0x00, 0x00, /* 000000000000 */
5496 0x3f, 0xc0, /* 001111111100 */
5497 0x3f, 0xc0, /* 001111111100 */
5498 0x3f, 0xc0, /* 001111111100 */
5499 0x3f, 0xc0, /* 001111111100 */
5500 0x3f, 0xc0, /* 001111111100 */
5501 0x3f, 0xc0, /* 001111111100 */
5502 0x3f, 0xc0, /* 001111111100 */
5503 0x3f, 0xc0, /* 001111111100 */
5504 0x3f, 0xc0, /* 001111111100 */
5505 0x3f, 0xc0, /* 001111111100 */
5506 0x3f, 0xc0, /* 001111111100 */
5507 0x3f, 0xc0, /* 001111111100 */
5508 0x00, 0x00, /* 000000000000 */
5509 0x00, 0x00, /* 000000000000 */
5510 0x00, 0x00, /* 000000000000 */
5511 0x00, 0x00, /* 000000000000 */
5512 0x00, 0x00, /* 000000000000 */
5513
5514 /* 228 0xe4 '.' */
5515 /* FIXME */
5516 0x00, 0x00, /* 000000000000 */
5517 0x00, 0x00, /* 000000000000 */
5518 0x00, 0x00, /* 000000000000 */
5519 0x00, 0x00, /* 000000000000 */
5520 0x00, 0x00, /* 000000000000 */
5521 0x3f, 0xc0, /* 001111111100 */
5522 0x3f, 0xc0, /* 001111111100 */
5523 0x3f, 0xc0, /* 001111111100 */
5524 0x3f, 0xc0, /* 001111111100 */
5525 0x3f, 0xc0, /* 001111111100 */
5526 0x3f, 0xc0, /* 001111111100 */
5527 0x3f, 0xc0, /* 001111111100 */
5528 0x3f, 0xc0, /* 001111111100 */
5529 0x3f, 0xc0, /* 001111111100 */
5530 0x3f, 0xc0, /* 001111111100 */
5531 0x3f, 0xc0, /* 001111111100 */
5532 0x3f, 0xc0, /* 001111111100 */
5533 0x00, 0x00, /* 000000000000 */
5534 0x00, 0x00, /* 000000000000 */
5535 0x00, 0x00, /* 000000000000 */
5536 0x00, 0x00, /* 000000000000 */
5537 0x00, 0x00, /* 000000000000 */
5538
5539 /* 229 0xe5 '.' */
5540 /* FIXME */
5541 0x00, 0x00, /* 000000000000 */
5542 0x00, 0x00, /* 000000000000 */
5543 0x00, 0x00, /* 000000000000 */
5544 0x00, 0x00, /* 000000000000 */
5545 0x00, 0x00, /* 000000000000 */
5546 0x3f, 0xc0, /* 001111111100 */
5547 0x3f, 0xc0, /* 001111111100 */
5548 0x3f, 0xc0, /* 001111111100 */
5549 0x3f, 0xc0, /* 001111111100 */
5550 0x3f, 0xc0, /* 001111111100 */
5551 0x3f, 0xc0, /* 001111111100 */
5552 0x3f, 0xc0, /* 001111111100 */
5553 0x3f, 0xc0, /* 001111111100 */
5554 0x3f, 0xc0, /* 001111111100 */
5555 0x3f, 0xc0, /* 001111111100 */
5556 0x3f, 0xc0, /* 001111111100 */
5557 0x3f, 0xc0, /* 001111111100 */
5558 0x00, 0x00, /* 000000000000 */
5559 0x00, 0x00, /* 000000000000 */
5560 0x00, 0x00, /* 000000000000 */
5561 0x00, 0x00, /* 000000000000 */
5562 0x00, 0x00, /* 000000000000 */
5563
5564 /* 230 0xe6 '.' */
5565 0x00, 0x00, /* 000000000000 */
5566 0x00, 0x00, /* 000000000000 */
5567 0x00, 0x00, /* 000000000000 */
5568 0x00, 0x00, /* 000000000000 */
5569 0x00, 0x00, /* 000000000000 */
5570 0x00, 0x00, /* 000000000000 */
5571 0x30, 0xc0, /* 001100001100 */
5572 0x30, 0xc0, /* 001100001100 */
5573 0x30, 0xc0, /* 001100001100 */
5574 0x30, 0xc0, /* 001100001100 */
5575 0x30, 0xc0, /* 001100001100 */
5576 0x30, 0xc0, /* 001100001100 */
5577 0x30, 0xc0, /* 001100001100 */
5578 0x30, 0xc0, /* 001100001100 */
5579 0x39, 0xc0, /* 001110011100 */
5580 0x36, 0xe0, /* 001101101110 */
5581 0x30, 0x00, /* 001100000000 */
5582 0x30, 0x00, /* 001100000000 */
5583 0x60, 0x00, /* 011000000000 */
5584 0x00, 0x00, /* 000000000000 */
5585 0x00, 0x00, /* 000000000000 */
5586 0x00, 0x00, /* 000000000000 */
5587
5588 /* 231 0xe7 '.' */
5589 /* FIXME */
5590 0x00, 0x00, /* 000000000000 */
5591 0x00, 0x00, /* 000000000000 */
5592 0x00, 0x00, /* 000000000000 */
5593 0x00, 0x00, /* 000000000000 */
5594 0x00, 0x00, /* 000000000000 */
5595 0x3f, 0xc0, /* 001111111100 */
5596 0x3f, 0xc0, /* 001111111100 */
5597 0x3f, 0xc0, /* 001111111100 */
5598 0x3f, 0xc0, /* 001111111100 */
5599 0x3f, 0xc0, /* 001111111100 */
5600 0x3f, 0xc0, /* 001111111100 */
5601 0x3f, 0xc0, /* 001111111100 */
5602 0x3f, 0xc0, /* 001111111100 */
5603 0x3f, 0xc0, /* 001111111100 */
5604 0x3f, 0xc0, /* 001111111100 */
5605 0x3f, 0xc0, /* 001111111100 */
5606 0x3f, 0xc0, /* 001111111100 */
5607 0x00, 0x00, /* 000000000000 */
5608 0x00, 0x00, /* 000000000000 */
5609 0x00, 0x00, /* 000000000000 */
5610 0x00, 0x00, /* 000000000000 */
5611 0x00, 0x00, /* 000000000000 */
5612
5613 /* 232 0xe8 '.' */
5614 /* FIXME */
5615 0x00, 0x00, /* 000000000000 */
5616 0x00, 0x00, /* 000000000000 */
5617 0x00, 0x00, /* 000000000000 */
5618 0x00, 0x00, /* 000000000000 */
5619 0x00, 0x00, /* 000000000000 */
5620 0x3f, 0xc0, /* 001111111100 */
5621 0x3f, 0xc0, /* 001111111100 */
5622 0x3f, 0xc0, /* 001111111100 */
5623 0x3f, 0xc0, /* 001111111100 */
5624 0x3f, 0xc0, /* 001111111100 */
5625 0x3f, 0xc0, /* 001111111100 */
5626 0x3f, 0xc0, /* 001111111100 */
5627 0x3f, 0xc0, /* 001111111100 */
5628 0x3f, 0xc0, /* 001111111100 */
5629 0x3f, 0xc0, /* 001111111100 */
5630 0x3f, 0xc0, /* 001111111100 */
5631 0x3f, 0xc0, /* 001111111100 */
5632 0x00, 0x00, /* 000000000000 */
5633 0x00, 0x00, /* 000000000000 */
5634 0x00, 0x00, /* 000000000000 */
5635 0x00, 0x00, /* 000000000000 */
5636 0x00, 0x00, /* 000000000000 */
5637
5638 /* 233 0xe9 '.' */
5639 /* FIXME */
5640 0x00, 0x00, /* 000000000000 */
5641 0x00, 0x00, /* 000000000000 */
5642 0x00, 0x00, /* 000000000000 */
5643 0x00, 0x00, /* 000000000000 */
5644 0x00, 0x00, /* 000000000000 */
5645 0x3f, 0xc0, /* 001111111100 */
5646 0x3f, 0xc0, /* 001111111100 */
5647 0x3f, 0xc0, /* 001111111100 */
5648 0x3f, 0xc0, /* 001111111100 */
5649 0x3f, 0xc0, /* 001111111100 */
5650 0x3f, 0xc0, /* 001111111100 */
5651 0x3f, 0xc0, /* 001111111100 */
5652 0x3f, 0xc0, /* 001111111100 */
5653 0x3f, 0xc0, /* 001111111100 */
5654 0x3f, 0xc0, /* 001111111100 */
5655 0x3f, 0xc0, /* 001111111100 */
5656 0x3f, 0xc0, /* 001111111100 */
5657 0x00, 0x00, /* 000000000000 */
5658 0x00, 0x00, /* 000000000000 */
5659 0x00, 0x00, /* 000000000000 */
5660 0x00, 0x00, /* 000000000000 */
5661 0x00, 0x00, /* 000000000000 */
5662
5663 /* 234 0xea '.' */
5664 /* FIXME */
5665 0x00, 0x00, /* 000000000000 */
5666 0x00, 0x00, /* 000000000000 */
5667 0x00, 0x00, /* 000000000000 */
5668 0x00, 0x00, /* 000000000000 */
5669 0x00, 0x00, /* 000000000000 */
5670 0x3f, 0xc0, /* 001111111100 */
5671 0x3f, 0xc0, /* 001111111100 */
5672 0x3f, 0xc0, /* 001111111100 */
5673 0x3f, 0xc0, /* 001111111100 */
5674 0x3f, 0xc0, /* 001111111100 */
5675 0x3f, 0xc0, /* 001111111100 */
5676 0x3f, 0xc0, /* 001111111100 */
5677 0x3f, 0xc0, /* 001111111100 */
5678 0x3f, 0xc0, /* 001111111100 */
5679 0x3f, 0xc0, /* 001111111100 */
5680 0x3f, 0xc0, /* 001111111100 */
5681 0x3f, 0xc0, /* 001111111100 */
5682 0x00, 0x00, /* 000000000000 */
5683 0x00, 0x00, /* 000000000000 */
5684 0x00, 0x00, /* 000000000000 */
5685 0x00, 0x00, /* 000000000000 */
5686 0x00, 0x00, /* 000000000000 */
5687
5688 /* 235 0xeb '.' */
5689 /* FIXME */
5690 0x00, 0x00, /* 000000000000 */
5691 0x00, 0x00, /* 000000000000 */
5692 0x00, 0x00, /* 000000000000 */
5693 0x00, 0x00, /* 000000000000 */
5694 0x00, 0x00, /* 000000000000 */
5695 0x3f, 0xc0, /* 001111111100 */
5696 0x3f, 0xc0, /* 001111111100 */
5697 0x3f, 0xc0, /* 001111111100 */
5698 0x3f, 0xc0, /* 001111111100 */
5699 0x3f, 0xc0, /* 001111111100 */
5700 0x3f, 0xc0, /* 001111111100 */
5701 0x3f, 0xc0, /* 001111111100 */
5702 0x3f, 0xc0, /* 001111111100 */
5703 0x3f, 0xc0, /* 001111111100 */
5704 0x3f, 0xc0, /* 001111111100 */
5705 0x3f, 0xc0, /* 001111111100 */
5706 0x3f, 0xc0, /* 001111111100 */
5707 0x00, 0x00, /* 000000000000 */
5708 0x00, 0x00, /* 000000000000 */
5709 0x00, 0x00, /* 000000000000 */
5710 0x00, 0x00, /* 000000000000 */
5711 0x00, 0x00, /* 000000000000 */
5712
5713 /* 236 0xec '.' */
5714 /* FIXME */
5715 0x00, 0x00, /* 000000000000 */
5716 0x00, 0x00, /* 000000000000 */
5717 0x00, 0x00, /* 000000000000 */
5718 0x00, 0x00, /* 000000000000 */
5719 0x00, 0x00, /* 000000000000 */
5720 0x3f, 0xc0, /* 001111111100 */
5721 0x3f, 0xc0, /* 001111111100 */
5722 0x3f, 0xc0, /* 001111111100 */
5723 0x3f, 0xc0, /* 001111111100 */
5724 0x3f, 0xc0, /* 001111111100 */
5725 0x3f, 0xc0, /* 001111111100 */
5726 0x3f, 0xc0, /* 001111111100 */
5727 0x3f, 0xc0, /* 001111111100 */
5728 0x3f, 0xc0, /* 001111111100 */
5729 0x3f, 0xc0, /* 001111111100 */
5730 0x3f, 0xc0, /* 001111111100 */
5731 0x3f, 0xc0, /* 001111111100 */
5732 0x00, 0x00, /* 000000000000 */
5733 0x00, 0x00, /* 000000000000 */
5734 0x00, 0x00, /* 000000000000 */
5735 0x00, 0x00, /* 000000000000 */
5736 0x00, 0x00, /* 000000000000 */
5737
5738 /* 237 0xed '.' */
5739 /* FIXME */
5740 0x00, 0x00, /* 000000000000 */
5741 0x00, 0x00, /* 000000000000 */
5742 0x00, 0x00, /* 000000000000 */
5743 0x00, 0x00, /* 000000000000 */
5744 0x00, 0x00, /* 000000000000 */
5745 0x3f, 0xc0, /* 001111111100 */
5746 0x3f, 0xc0, /* 001111111100 */
5747 0x3f, 0xc0, /* 001111111100 */
5748 0x3f, 0xc0, /* 001111111100 */
5749 0x3f, 0xc0, /* 001111111100 */
5750 0x3f, 0xc0, /* 001111111100 */
5751 0x3f, 0xc0, /* 001111111100 */
5752 0x3f, 0xc0, /* 001111111100 */
5753 0x3f, 0xc0, /* 001111111100 */
5754 0x3f, 0xc0, /* 001111111100 */
5755 0x3f, 0xc0, /* 001111111100 */
5756 0x3f, 0xc0, /* 001111111100 */
5757 0x00, 0x00, /* 000000000000 */
5758 0x00, 0x00, /* 000000000000 */
5759 0x00, 0x00, /* 000000000000 */
5760 0x00, 0x00, /* 000000000000 */
5761 0x00, 0x00, /* 000000000000 */
5762
5763 /* 238 0xee '.' */
5764 /* FIXME */
5765 0x00, 0x00, /* 000000000000 */
5766 0x00, 0x00, /* 000000000000 */
5767 0x00, 0x00, /* 000000000000 */
5768 0x00, 0x00, /* 000000000000 */
5769 0x00, 0x00, /* 000000000000 */
5770 0x3f, 0xc0, /* 001111111100 */
5771 0x3f, 0xc0, /* 001111111100 */
5772 0x3f, 0xc0, /* 001111111100 */
5773 0x3f, 0xc0, /* 001111111100 */
5774 0x3f, 0xc0, /* 001111111100 */
5775 0x3f, 0xc0, /* 001111111100 */
5776 0x3f, 0xc0, /* 001111111100 */
5777 0x3f, 0xc0, /* 001111111100 */
5778 0x3f, 0xc0, /* 001111111100 */
5779 0x3f, 0xc0, /* 001111111100 */
5780 0x3f, 0xc0, /* 001111111100 */
5781 0x3f, 0xc0, /* 001111111100 */
5782 0x00, 0x00, /* 000000000000 */
5783 0x00, 0x00, /* 000000000000 */
5784 0x00, 0x00, /* 000000000000 */
5785 0x00, 0x00, /* 000000000000 */
5786 0x00, 0x00, /* 000000000000 */
5787
5788 /* 239 0xef '.' */
5789 /* FIXME */
5790 0x00, 0x00, /* 000000000000 */
5791 0x00, 0x00, /* 000000000000 */
5792 0x00, 0x00, /* 000000000000 */
5793 0x00, 0x00, /* 000000000000 */
5794 0x00, 0x00, /* 000000000000 */
5795 0x3f, 0xc0, /* 001111111100 */
5796 0x3f, 0xc0, /* 001111111100 */
5797 0x3f, 0xc0, /* 001111111100 */
5798 0x3f, 0xc0, /* 001111111100 */
5799 0x3f, 0xc0, /* 001111111100 */
5800 0x3f, 0xc0, /* 001111111100 */
5801 0x3f, 0xc0, /* 001111111100 */
5802 0x3f, 0xc0, /* 001111111100 */
5803 0x3f, 0xc0, /* 001111111100 */
5804 0x3f, 0xc0, /* 001111111100 */
5805 0x3f, 0xc0, /* 001111111100 */
5806 0x3f, 0xc0, /* 001111111100 */
5807 0x00, 0x00, /* 000000000000 */
5808 0x00, 0x00, /* 000000000000 */
5809 0x00, 0x00, /* 000000000000 */
5810 0x00, 0x00, /* 000000000000 */
5811 0x00, 0x00, /* 000000000000 */
5812
5813 /* 240 0xf0 '.' */
5814 /* FIXME */
5815 0x00, 0x00, /* 000000000000 */
5816 0x00, 0x00, /* 000000000000 */
5817 0x00, 0x00, /* 000000000000 */
5818 0x00, 0x00, /* 000000000000 */
5819 0x00, 0x00, /* 000000000000 */
5820 0x3f, 0xc0, /* 001111111100 */
5821 0x3f, 0xc0, /* 001111111100 */
5822 0x3f, 0xc0, /* 001111111100 */
5823 0x3f, 0xc0, /* 001111111100 */
5824 0x3f, 0xc0, /* 001111111100 */
5825 0x3f, 0xc0, /* 001111111100 */
5826 0x3f, 0xc0, /* 001111111100 */
5827 0x3f, 0xc0, /* 001111111100 */
5828 0x3f, 0xc0, /* 001111111100 */
5829 0x3f, 0xc0, /* 001111111100 */
5830 0x3f, 0xc0, /* 001111111100 */
5831 0x3f, 0xc0, /* 001111111100 */
5832 0x00, 0x00, /* 000000000000 */
5833 0x00, 0x00, /* 000000000000 */
5834 0x00, 0x00, /* 000000000000 */
5835 0x00, 0x00, /* 000000000000 */
5836 0x00, 0x00, /* 000000000000 */
5837
5838 /* 241 0xf1 '.' */
5839 0x00, 0x00, /* 000000000000 */
5840 0x00, 0x00, /* 000000000000 */
5841 0x00, 0x00, /* 000000000000 */
5842 0x00, 0x00, /* 000000000000 */
5843 0x06, 0x00, /* 000001100000 */
5844 0x06, 0x00, /* 000001100000 */
5845 0x06, 0x00, /* 000001100000 */
5846 0x06, 0x00, /* 000001100000 */
5847 0x7f, 0xe0, /* 011111111110 */
5848 0x7f, 0xe0, /* 011111111110 */
5849 0x06, 0x00, /* 000001100000 */
5850 0x06, 0x00, /* 000001100000 */
5851 0x06, 0x00, /* 000001100000 */
5852 0x06, 0x00, /* 000001100000 */
5853 0x00, 0x00, /* 000000000000 */
5854 0x7f, 0xe0, /* 011111111110 */
5855 0x7f, 0xe0, /* 011111111110 */
5856 0x00, 0x00, /* 000000000000 */
5857 0x00, 0x00, /* 000000000000 */
5858 0x00, 0x00, /* 000000000000 */
5859 0x00, 0x00, /* 000000000000 */
5860 0x00, 0x00, /* 000000000000 */
5861
5862 /* 242 0xf2 '.' */
5863 /* FIXME */
5864 0x00, 0x00, /* 000000000000 */
5865 0x00, 0x00, /* 000000000000 */
5866 0x00, 0x00, /* 000000000000 */
5867 0x00, 0x00, /* 000000000000 */
5868 0x00, 0x00, /* 000000000000 */
5869 0x3f, 0xc0, /* 001111111100 */
5870 0x3f, 0xc0, /* 001111111100 */
5871 0x3f, 0xc0, /* 001111111100 */
5872 0x3f, 0xc0, /* 001111111100 */
5873 0x3f, 0xc0, /* 001111111100 */
5874 0x3f, 0xc0, /* 001111111100 */
5875 0x3f, 0xc0, /* 001111111100 */
5876 0x3f, 0xc0, /* 001111111100 */
5877 0x3f, 0xc0, /* 001111111100 */
5878 0x3f, 0xc0, /* 001111111100 */
5879 0x3f, 0xc0, /* 001111111100 */
5880 0x3f, 0xc0, /* 001111111100 */
5881 0x00, 0x00, /* 000000000000 */
5882 0x00, 0x00, /* 000000000000 */
5883 0x00, 0x00, /* 000000000000 */
5884 0x00, 0x00, /* 000000000000 */
5885 0x00, 0x00, /* 000000000000 */
5886
5887 /* 243 0xf3 '.' */
5888 /* FIXME */
5889 0x00, 0x00, /* 000000000000 */
5890 0x00, 0x00, /* 000000000000 */
5891 0x00, 0x00, /* 000000000000 */
5892 0x00, 0x00, /* 000000000000 */
5893 0x00, 0x00, /* 000000000000 */
5894 0x3f, 0xc0, /* 001111111100 */
5895 0x3f, 0xc0, /* 001111111100 */
5896 0x3f, 0xc0, /* 001111111100 */
5897 0x3f, 0xc0, /* 001111111100 */
5898 0x3f, 0xc0, /* 001111111100 */
5899 0x3f, 0xc0, /* 001111111100 */
5900 0x3f, 0xc0, /* 001111111100 */
5901 0x3f, 0xc0, /* 001111111100 */
5902 0x3f, 0xc0, /* 001111111100 */
5903 0x3f, 0xc0, /* 001111111100 */
5904 0x3f, 0xc0, /* 001111111100 */
5905 0x3f, 0xc0, /* 001111111100 */
5906 0x00, 0x00, /* 000000000000 */
5907 0x00, 0x00, /* 000000000000 */
5908 0x00, 0x00, /* 000000000000 */
5909 0x00, 0x00, /* 000000000000 */
5910 0x00, 0x00, /* 000000000000 */
5911
5912 /* 244 0xf4 '.' */
5913 /* FIXME */
5914 0x00, 0x00, /* 000000000000 */
5915 0x00, 0x00, /* 000000000000 */
5916 0x00, 0x00, /* 000000000000 */
5917 0x00, 0x00, /* 000000000000 */
5918 0x00, 0x00, /* 000000000000 */
5919 0x3f, 0xc0, /* 001111111100 */
5920 0x3f, 0xc0, /* 001111111100 */
5921 0x3f, 0xc0, /* 001111111100 */
5922 0x3f, 0xc0, /* 001111111100 */
5923 0x3f, 0xc0, /* 001111111100 */
5924 0x3f, 0xc0, /* 001111111100 */
5925 0x3f, 0xc0, /* 001111111100 */
5926 0x3f, 0xc0, /* 001111111100 */
5927 0x3f, 0xc0, /* 001111111100 */
5928 0x3f, 0xc0, /* 001111111100 */
5929 0x3f, 0xc0, /* 001111111100 */
5930 0x3f, 0xc0, /* 001111111100 */
5931 0x00, 0x00, /* 000000000000 */
5932 0x00, 0x00, /* 000000000000 */
5933 0x00, 0x00, /* 000000000000 */
5934 0x00, 0x00, /* 000000000000 */
5935 0x00, 0x00, /* 000000000000 */
5936
5937 /* 245 0xf5 '.' */
5938 /* FIXME */
5939 0x00, 0x00, /* 000000000000 */
5940 0x00, 0x00, /* 000000000000 */
5941 0x00, 0x00, /* 000000000000 */
5942 0x00, 0x00, /* 000000000000 */
5943 0x00, 0x00, /* 000000000000 */
5944 0x3f, 0xc0, /* 001111111100 */
5945 0x3f, 0xc0, /* 001111111100 */
5946 0x3f, 0xc0, /* 001111111100 */
5947 0x3f, 0xc0, /* 001111111100 */
5948 0x3f, 0xc0, /* 001111111100 */
5949 0x3f, 0xc0, /* 001111111100 */
5950 0x3f, 0xc0, /* 001111111100 */
5951 0x3f, 0xc0, /* 001111111100 */
5952 0x3f, 0xc0, /* 001111111100 */
5953 0x3f, 0xc0, /* 001111111100 */
5954 0x3f, 0xc0, /* 001111111100 */
5955 0x3f, 0xc0, /* 001111111100 */
5956 0x00, 0x00, /* 000000000000 */
5957 0x00, 0x00, /* 000000000000 */
5958 0x00, 0x00, /* 000000000000 */
5959 0x00, 0x00, /* 000000000000 */
5960 0x00, 0x00, /* 000000000000 */
5961
5962 /* 246 0xf6 '.' */
5963 0x00, 0x00, /* 000000000000 */
5964 0x00, 0x00, /* 000000000000 */
5965 0x00, 0x00, /* 000000000000 */
5966 0x00, 0x00, /* 000000000000 */
5967 0x00, 0x00, /* 000000000000 */
5968 0x00, 0x00, /* 000000000000 */
5969 0x06, 0x00, /* 000001100000 */
5970 0x06, 0x00, /* 000001100000 */
5971 0x00, 0x00, /* 000000000000 */
5972 0x00, 0x00, /* 000000000000 */
5973 0x7f, 0xe0, /* 011111111110 */
5974 0x7f, 0xe0, /* 011111111110 */
5975 0x00, 0x00, /* 000000000000 */
5976 0x00, 0x00, /* 000000000000 */
5977 0x06, 0x00, /* 000001100000 */
5978 0x06, 0x00, /* 000001100000 */
5979 0x00, 0x00, /* 000000000000 */
5980 0x00, 0x00, /* 000000000000 */
5981 0x00, 0x00, /* 000000000000 */
5982 0x00, 0x00, /* 000000000000 */
5983 0x00, 0x00, /* 000000000000 */
5984 0x00, 0x00, /* 000000000000 */
5985
5986 /* 247 0xf7 '.' */
5987 /* FIXME */
5988 0x00, 0x00, /* 000000000000 */
5989 0x00, 0x00, /* 000000000000 */
5990 0x00, 0x00, /* 000000000000 */
5991 0x00, 0x00, /* 000000000000 */
5992 0x00, 0x00, /* 000000000000 */
5993 0x3f, 0xc0, /* 001111111100 */
5994 0x3f, 0xc0, /* 001111111100 */
5995 0x3f, 0xc0, /* 001111111100 */
5996 0x3f, 0xc0, /* 001111111100 */
5997 0x3f, 0xc0, /* 001111111100 */
5998 0x3f, 0xc0, /* 001111111100 */
5999 0x3f, 0xc0, /* 001111111100 */
6000 0x3f, 0xc0, /* 001111111100 */
6001 0x3f, 0xc0, /* 001111111100 */
6002 0x3f, 0xc0, /* 001111111100 */
6003 0x3f, 0xc0, /* 001111111100 */
6004 0x3f, 0xc0, /* 001111111100 */
6005 0x00, 0x00, /* 000000000000 */
6006 0x00, 0x00, /* 000000000000 */
6007 0x00, 0x00, /* 000000000000 */
6008 0x00, 0x00, /* 000000000000 */
6009 0x00, 0x00, /* 000000000000 */
6010
6011 /* 248 0xf8 '.' */
6012 0x00, 0x00, /* 000000000000 */
6013 0x0f, 0x00, /* 000011110000 */
6014 0x19, 0x80, /* 000110011000 */
6015 0x19, 0x80, /* 000110011000 */
6016 0x19, 0x80, /* 000110011000 */
6017 0x0f, 0x00, /* 000011110000 */
6018 0x00, 0x00, /* 000000000000 */
6019 0x00, 0x00, /* 000000000000 */
6020 0x00, 0x00, /* 000000000000 */
6021 0x00, 0x00, /* 000000000000 */
6022 0x00, 0x00, /* 000000000000 */
6023 0x00, 0x00, /* 000000000000 */
6024 0x00, 0x00, /* 000000000000 */
6025 0x00, 0x00, /* 000000000000 */
6026 0x00, 0x00, /* 000000000000 */
6027 0x00, 0x00, /* 000000000000 */
6028 0x00, 0x00, /* 000000000000 */
6029 0x00, 0x00, /* 000000000000 */
6030 0x00, 0x00, /* 000000000000 */
6031 0x00, 0x00, /* 000000000000 */
6032 0x00, 0x00, /* 000000000000 */
6033 0x00, 0x00, /* 000000000000 */
6034
6035 /* 249 0xf9 '.' */
6036 /* FIXME */
6037 0x00, 0x00, /* 000000000000 */
6038 0x00, 0x00, /* 000000000000 */
6039 0x00, 0x00, /* 000000000000 */
6040 0x00, 0x00, /* 000000000000 */
6041 0x00, 0x00, /* 000000000000 */
6042 0x3f, 0xc0, /* 001111111100 */
6043 0x3f, 0xc0, /* 001111111100 */
6044 0x3f, 0xc0, /* 001111111100 */
6045 0x3f, 0xc0, /* 001111111100 */
6046 0x3f, 0xc0, /* 001111111100 */
6047 0x3f, 0xc0, /* 001111111100 */
6048 0x3f, 0xc0, /* 001111111100 */
6049 0x3f, 0xc0, /* 001111111100 */
6050 0x3f, 0xc0, /* 001111111100 */
6051 0x3f, 0xc0, /* 001111111100 */
6052 0x3f, 0xc0, /* 001111111100 */
6053 0x3f, 0xc0, /* 001111111100 */
6054 0x00, 0x00, /* 000000000000 */
6055 0x00, 0x00, /* 000000000000 */
6056 0x00, 0x00, /* 000000000000 */
6057 0x00, 0x00, /* 000000000000 */
6058 0x00, 0x00, /* 000000000000 */
6059
6060 /* 250 0xfa '.' */
6061 0x00, 0x00, /* 000000000000 */
6062 0x00, 0x00, /* 000000000000 */
6063 0x00, 0x00, /* 000000000000 */
6064 0x00, 0x00, /* 000000000000 */
6065 0x00, 0x00, /* 000000000000 */
6066 0x00, 0x00, /* 000000000000 */
6067 0x00, 0x00, /* 000000000000 */
6068 0x00, 0x00, /* 000000000000 */
6069 0x00, 0x00, /* 000000000000 */
6070 0x06, 0x00, /* 000001100000 */
6071 0x0f, 0x00, /* 000011110000 */
6072 0x0f, 0x00, /* 000011110000 */
6073 0x06, 0x00, /* 000001100000 */
6074 0x00, 0x00, /* 000000000000 */
6075 0x00, 0x00, /* 000000000000 */
6076 0x00, 0x00, /* 000000000000 */
6077 0x00, 0x00, /* 000000000000 */
6078 0x00, 0x00, /* 000000000000 */
6079 0x00, 0x00, /* 000000000000 */
6080 0x00, 0x00, /* 000000000000 */
6081 0x00, 0x00, /* 000000000000 */
6082 0x00, 0x00, /* 000000000000 */
6083
6084 /* 251 0xfb '.' */
6085 /* FIXME */
6086 0x00, 0x00, /* 000000000000 */
6087 0x00, 0x00, /* 000000000000 */
6088 0x00, 0x00, /* 000000000000 */
6089 0x00, 0x00, /* 000000000000 */
6090 0x00, 0x00, /* 000000000000 */
6091 0x3f, 0xc0, /* 001111111100 */
6092 0x3f, 0xc0, /* 001111111100 */
6093 0x3f, 0xc0, /* 001111111100 */
6094 0x3f, 0xc0, /* 001111111100 */
6095 0x3f, 0xc0, /* 001111111100 */
6096 0x3f, 0xc0, /* 001111111100 */
6097 0x3f, 0xc0, /* 001111111100 */
6098 0x3f, 0xc0, /* 001111111100 */
6099 0x3f, 0xc0, /* 001111111100 */
6100 0x3f, 0xc0, /* 001111111100 */
6101 0x3f, 0xc0, /* 001111111100 */
6102 0x3f, 0xc0, /* 001111111100 */
6103 0x00, 0x00, /* 000000000000 */
6104 0x00, 0x00, /* 000000000000 */
6105 0x00, 0x00, /* 000000000000 */
6106 0x00, 0x00, /* 000000000000 */
6107 0x00, 0x00, /* 000000000000 */
6108
6109 /* 252 0xfc '.' */
6110 /* FIXME */
6111 0x00, 0x00, /* 000000000000 */
6112 0x00, 0x00, /* 000000000000 */
6113 0x00, 0x00, /* 000000000000 */
6114 0x00, 0x00, /* 000000000000 */
6115 0x00, 0x00, /* 000000000000 */
6116 0x3f, 0xc0, /* 001111111100 */
6117 0x3f, 0xc0, /* 001111111100 */
6118 0x3f, 0xc0, /* 001111111100 */
6119 0x3f, 0xc0, /* 001111111100 */
6120 0x3f, 0xc0, /* 001111111100 */
6121 0x3f, 0xc0, /* 001111111100 */
6122 0x3f, 0xc0, /* 001111111100 */
6123 0x3f, 0xc0, /* 001111111100 */
6124 0x3f, 0xc0, /* 001111111100 */
6125 0x3f, 0xc0, /* 001111111100 */
6126 0x3f, 0xc0, /* 001111111100 */
6127 0x3f, 0xc0, /* 001111111100 */
6128 0x00, 0x00, /* 000000000000 */
6129 0x00, 0x00, /* 000000000000 */
6130 0x00, 0x00, /* 000000000000 */
6131 0x00, 0x00, /* 000000000000 */
6132 0x00, 0x00, /* 000000000000 */
6133
6134 /* 253 0xfd '.' */
6135 0x00, 0x00, /* 000000000000 */
6136 0x0f, 0x00, /* 000011110000 */
6137 0x1f, 0x80, /* 000111111000 */
6138 0x31, 0x80, /* 001100011000 */
6139 0x21, 0x80, /* 001000011000 */
6140 0x03, 0x00, /* 000000110000 */
6141 0x06, 0x00, /* 000001100000 */
6142 0x0c, 0x00, /* 000011000000 */
6143 0x18, 0x40, /* 000110000100 */
6144 0x3f, 0xc0, /* 001111111100 */
6145 0x3f, 0xc0, /* 001111111100 */
6146 0x00, 0x00, /* 000000000000 */
6147 0x00, 0x00, /* 000000000000 */
6148 0x00, 0x00, /* 000000000000 */
6149 0x00, 0x00, /* 000000000000 */
6150 0x00, 0x00, /* 000000000000 */
6151 0x00, 0x00, /* 000000000000 */
6152 0x00, 0x00, /* 000000000000 */
6153 0x00, 0x00, /* 000000000000 */
6154 0x00, 0x00, /* 000000000000 */
6155 0x00, 0x00, /* 000000000000 */
6156 0x00, 0x00, /* 000000000000 */
6157
6158 /* 254 0xfe '.' */
6159 0x00, 0x00, /* 000000000000 */
6160 0x00, 0x00, /* 000000000000 */
6161 0x00, 0x00, /* 000000000000 */
6162 0x00, 0x00, /* 000000000000 */
6163 0x00, 0x00, /* 000000000000 */
6164 0x3f, 0xc0, /* 001111111100 */
6165 0x3f, 0xc0, /* 001111111100 */
6166 0x3f, 0xc0, /* 001111111100 */
6167 0x3f, 0xc0, /* 001111111100 */
6168 0x3f, 0xc0, /* 001111111100 */
6169 0x3f, 0xc0, /* 001111111100 */
6170 0x3f, 0xc0, /* 001111111100 */
6171 0x3f, 0xc0, /* 001111111100 */
6172 0x3f, 0xc0, /* 001111111100 */
6173 0x3f, 0xc0, /* 001111111100 */
6174 0x3f, 0xc0, /* 001111111100 */
6175 0x3f, 0xc0, /* 001111111100 */
6176 0x00, 0x00, /* 000000000000 */
6177 0x00, 0x00, /* 000000000000 */
6178 0x00, 0x00, /* 000000000000 */
6179 0x00, 0x00, /* 000000000000 */
6180 0x00, 0x00, /* 000000000000 */
6181
6182 /* 255 0xff '.' */
6183 0x00, 0x00, /* 000000000000 */
6184 0x00, 0x00, /* 000000000000 */
6185 0x00, 0x00, /* 000000000000 */
6186 0x00, 0x00, /* 000000000000 */
6187 0x00, 0x00, /* 000000000000 */
6188 0x00, 0x00, /* 000000000000 */
6189 0x00, 0x00, /* 000000000000 */
6190 0x00, 0x00, /* 000000000000 */
6191 0x00, 0x00, /* 000000000000 */
6192 0x00, 0x00, /* 000000000000 */
6193 0x00, 0x00, /* 000000000000 */
6194 0x00, 0x00, /* 000000000000 */
6195 0x00, 0x00, /* 000000000000 */
6196 0x00, 0x00, /* 000000000000 */
6197 0x00, 0x00, /* 000000000000 */
6198 0x00, 0x00, /* 000000000000 */
6199 0x00, 0x00, /* 000000000000 */
6200 0x00, 0x00, /* 000000000000 */
6201 0x00, 0x00, /* 000000000000 */
6202 0x00, 0x00, /* 000000000000 */
6203 0x00, 0x00, /* 000000000000 */
6204 0x00, 0x00, /* 000000000000 */
6205
6206};
6207
6208
6209struct font_desc font_sun_12x22 = {
6210 SUN12x22_IDX,
6211 "SUN12x22",
6212 12,
6213 22,
6214 fontdata_sun12x22,
6215#ifdef __sparc__
6216 5
6217#else
6218 -1
6219#endif
6220};
diff --git a/drivers/video/console/font_sun8x16.c b/drivers/video/console/font_sun8x16.c
new file mode 100644
index 000000000000..2af3ab354652
--- /dev/null
+++ b/drivers/video/console/font_sun8x16.c
@@ -0,0 +1,275 @@
1#include <linux/font.h>
2
3#define FONTDATAMAX 4096
4
5static unsigned char fontdata_sun8x16[FONTDATAMAX] = {
6/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
7/* */ 0x00,0x00,0x7e,0x81,0xa5,0x81,0x81,0xbd,0x99,0x81,0x81,0x7e,0x00,0x00,0x00,0x00,
8/* */ 0x00,0x00,0x7e,0xff,0xdb,0xff,0xff,0xc3,0xe7,0xff,0xff,0x7e,0x00,0x00,0x00,0x00,
9/* */ 0x00,0x00,0x00,0x00,0x6c,0xfe,0xfe,0xfe,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,
10/* */ 0x00,0x00,0x00,0x00,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,0x00,
11/* */ 0x00,0x00,0x00,0x18,0x3c,0x3c,0xe7,0xe7,0xe7,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
12/* */ 0x00,0x00,0x00,0x18,0x3c,0x7e,0xff,0xff,0x7e,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
13/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
14/* */ 0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,
15/* */ 0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,
16/* */ 0xff,0xff,0xff,0xff,0xff,0xc3,0x99,0xbd,0xbd,0x99,0xc3,0xff,0xff,0xff,0xff,0xff,
17/* */ 0x00,0x00,0x1e,0x0e,0x1a,0x32,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,
18/* */ 0x00,0x00,0x3c,0x66,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,
19/* */ 0x00,0x00,0x3f,0x33,0x3f,0x30,0x30,0x30,0x30,0x70,0xf0,0xe0,0x00,0x00,0x00,0x00,
20/* */ 0x00,0x00,0x7f,0x63,0x7f,0x63,0x63,0x63,0x63,0x67,0xe7,0xe6,0xc0,0x00,0x00,0x00,
21/* */ 0x00,0x00,0x00,0x18,0x18,0xdb,0x3c,0xe7,0x3c,0xdb,0x18,0x18,0x00,0x00,0x00,0x00,
22/* */ 0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfe,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,
23/* */ 0x00,0x02,0x06,0x0e,0x1e,0x3e,0xfe,0x3e,0x1e,0x0e,0x06,0x02,0x00,0x00,0x00,0x00,
24/* */ 0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,
25/* */ 0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00,
26/* */ 0x00,0x00,0x7f,0xdb,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00,
27/* */ 0x00,0x7c,0xc6,0x60,0x38,0x6c,0xc6,0xc6,0x6c,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,
28/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0xfe,0xfe,0x00,0x00,0x00,0x00,
29/* */ 0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00,
30/* */ 0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
31/* */ 0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,
32/* */ 0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
33/* */ 0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xfe,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
34/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xc0,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
35/* */ 0x00,0x00,0x00,0x00,0x00,0x24,0x66,0xff,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,
36/* */ 0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7c,0x7c,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,
37/* */ 0x00,0x00,0x00,0x00,0xfe,0xfe,0x7c,0x7c,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00,
38/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
39/*!*/ 0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
40/*"*/ 0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
41/*#*/ 0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00,
42/*$*/ 0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,0x06,0x86,0xc6,0x7c,0x18,0x18,0x00,0x00,
43/*%*/ 0x00,0x00,0x00,0x00,0xc2,0xc6,0x0c,0x18,0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00,
44/*&*/ 0x00,0x00,0x38,0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
45/*'*/ 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
46/*(*/ 0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0c,0x00,0x00,0x00,0x00,
47/*)*/ 0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,
48/***/ 0x00,0x00,0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
49/*+*/ 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
50/*,*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00,
51/*-*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
52/*.*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
53/* */ 0x00,0x00,0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00,
54/*0*/ 0x00,0x00,0x7c,0xc6,0xc6,0xce,0xde,0xf6,0xe6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
55/*1*/ 0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00,
56/*2*/ 0x00,0x00,0x7c,0xc6,0x06,0x0c,0x18,0x30,0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00,
57/*3*/ 0x00,0x00,0x7c,0xc6,0x06,0x06,0x3c,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
58/*4*/ 0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
59/*5*/ 0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
60/*6*/ 0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
61/*7*/ 0x00,0x00,0xfe,0xc6,0x06,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
62/*8*/ 0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
63/*9*/ 0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x06,0x0c,0x78,0x00,0x00,0x00,0x00,
64/*:*/ 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
65/*;*/ 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00,
66/*<*/ 0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00,
67/*=*/ 0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
68/*>*/ 0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,0x00,0x00,
69/*?*/ 0x00,0x00,0x7c,0xc6,0xc6,0x0c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
70/*@*/ 0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00,
71/*A*/ 0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
72/*B*/ 0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0x66,0xfc,0x00,0x00,0x00,0x00,
73/*C*/ 0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00,
74/*D*/ 0x00,0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,
75/*E*/ 0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
76/*F*/ 0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
77/*G*/ 0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde,0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00,
78/*H*/ 0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
79/*I*/ 0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
80/*J*/ 0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,
81/*K*/ 0x00,0x00,0xe6,0x66,0x66,0x6c,0x78,0x78,0x6c,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
82/*L*/ 0x00,0x00,0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
83/*M*/ 0x00,0x00,0xc3,0xe7,0xff,0xff,0xdb,0xc3,0xc3,0xc3,0xc3,0xc3,0x00,0x00,0x00,0x00,
84/*N*/ 0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
85/*O*/ 0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
86/*P*/ 0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
87/*Q*/ 0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00,
88/*R*/ 0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
89/*S*/ 0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0x06,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
90/*T*/ 0x00,0x00,0xff,0xdb,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
91/*U*/ 0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
92/*V*/ 0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x00,0x00,0x00,0x00,
93/*W*/ 0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xdb,0xdb,0xff,0x66,0x66,0x00,0x00,0x00,0x00,
94/*X*/ 0x00,0x00,0xc3,0xc3,0x66,0x3c,0x18,0x18,0x3c,0x66,0xc3,0xc3,0x00,0x00,0x00,0x00,
95/*Y*/ 0x00,0x00,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
96/*Z*/ 0x00,0x00,0xff,0xc3,0x86,0x0c,0x18,0x30,0x60,0xc1,0xc3,0xff,0x00,0x00,0x00,0x00,
97/*[*/ 0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,0x00,0x00,
98/*\*/ 0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e,0x06,0x02,0x00,0x00,0x00,0x00,
99/*]*/ 0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00,
100/*^*/ 0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101/*_*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
102/*`*/ 0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
103/*a*/ 0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
104/*b*/ 0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,0x66,0x66,0x66,0x7c,0x00,0x00,0x00,0x00,
105/*c*/ 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
106/*d*/ 0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
107/*e*/ 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
108/*f*/ 0x00,0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
109/*g*/ 0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00,
110/*h*/ 0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
111/*i*/ 0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
112/*j*/ 0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
113/*k*/ 0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,
114/*l*/ 0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
115/*m*/ 0x00,0x00,0x00,0x00,0x00,0xe6,0xff,0xdb,0xdb,0xdb,0xdb,0xdb,0x00,0x00,0x00,0x00,
116/*n*/ 0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
117/*o*/ 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
118/*p*/ 0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
119/*q*/ 0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00,
120/*r*/ 0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
121/*s*/ 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00,
122/*t*/ 0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00,
123/*u*/ 0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
124/*v*/ 0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x00,0x00,0x00,0x00,
125/*w*/ 0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xdb,0xdb,0xff,0x66,0x00,0x00,0x00,0x00,
126/*x*/ 0x00,0x00,0x00,0x00,0x00,0xc3,0x66,0x3c,0x18,0x3c,0x66,0xc3,0x00,0x00,0x00,0x00,
127/*y*/ 0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
128/*z*/ 0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
129/*{*/ 0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00,
130/*|*/ 0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
131/*}*/ 0x00,0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00,
132/*~*/ 0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
133/* */ 0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,
134/* */ 0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x0c,0x06,0x7c,0x00,0x00,
135/* */ 0x00,0x00,0xcc,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
136/* */ 0x00,0x0c,0x18,0x30,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
137/* */ 0x00,0x10,0x38,0x6c,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
138/* */ 0x00,0x00,0xcc,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
139/* */ 0x00,0x60,0x30,0x18,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
140/* */ 0x00,0x38,0x6c,0x38,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
141/* */ 0x00,0x00,0x00,0x00,0x3c,0x66,0x60,0x60,0x66,0x3c,0x0c,0x06,0x3c,0x00,0x00,0x00,
142/* */ 0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
143/* */ 0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
144/* */ 0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
145/* */ 0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
146/* */ 0x00,0x18,0x3c,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
147/* */ 0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
148/* */ 0x00,0xc6,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
149/* */ 0x38,0x6c,0x38,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
150/* */ 0x18,0x30,0x60,0x00,0xfe,0x66,0x60,0x7c,0x60,0x60,0x66,0xfe,0x00,0x00,0x00,0x00,
151/* */ 0x00,0x00,0x00,0x00,0x00,0x6e,0x3b,0x1b,0x7e,0xd8,0xdc,0x77,0x00,0x00,0x00,0x00,
152/* */ 0x00,0x00,0x3e,0x6c,0xcc,0xcc,0xfe,0xcc,0xcc,0xcc,0xcc,0xce,0x00,0x00,0x00,0x00,
153/* */ 0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
154/* */ 0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
155/* */ 0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
156/* */ 0x00,0x30,0x78,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
157/* */ 0x00,0x60,0x30,0x18,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
158/* */ 0x00,0x00,0xc6,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0x78,0x00,
159/* */ 0x00,0xc6,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
160/* */ 0x00,0xc6,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
161/* */ 0x00,0x18,0x18,0x7e,0xc3,0xc0,0xc0,0xc0,0xc3,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,
162/* */ 0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xe6,0xfc,0x00,0x00,0x00,0x00,
163/* */ 0x00,0x00,0xc3,0x66,0x3c,0x18,0xff,0x18,0xff,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
164/* */ 0x00,0xfc,0x66,0x66,0x7c,0x62,0x66,0x6f,0x66,0x66,0x66,0xf3,0x00,0x00,0x00,0x00,
165/* */ 0x00,0x0e,0x1b,0x18,0x18,0x18,0x7e,0x18,0x18,0x18,0x18,0x18,0xd8,0x70,0x00,0x00,
166/* */ 0x00,0x18,0x30,0x60,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
167/* */ 0x00,0x0c,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
168/* */ 0x00,0x18,0x30,0x60,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
169/* */ 0x00,0x18,0x30,0x60,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
170/* */ 0x00,0x00,0x76,0xdc,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
171/* */ 0x76,0xdc,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
172/* */ 0x00,0x3c,0x6c,0x6c,0x3e,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
173/* */ 0x00,0x38,0x6c,0x6c,0x38,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
174/* */ 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xc0,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
175/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00,0x00,
176/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,
177/* */ 0x00,0xc0,0xc0,0xc2,0xc6,0xcc,0x18,0x30,0x60,0xce,0x9b,0x06,0x0c,0x1f,0x00,0x00,
178/* */ 0x00,0xc0,0xc0,0xc2,0xc6,0xcc,0x18,0x30,0x66,0xce,0x96,0x3e,0x06,0x06,0x00,0x00,
179/* */ 0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3c,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,
180/* */ 0x00,0x00,0x00,0x00,0x00,0x36,0x6c,0xd8,0x6c,0x36,0x00,0x00,0x00,0x00,0x00,0x00,
181/* */ 0x00,0x00,0x00,0x00,0x00,0xd8,0x6c,0x36,0x6c,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,
182/* */ 0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,
183/* */ 0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
184/* */ 0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,
185/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
186/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
187/* */ 0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
188/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
189/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
190/* */ 0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
191/* */ 0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
192/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
193/* */ 0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
194/* */ 0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
195/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
196/* */ 0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
197/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
198/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
199/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
200/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
201/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
202/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
203/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
204/* */ 0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
205/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
206/* */ 0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
207/* */ 0x00,0x00,0x00,0x00,0x00,0x3f,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
208/* */ 0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
209/* */ 0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
210/* */ 0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
211/* */ 0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
212/* */ 0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
213/* */ 0x18,0x18,0x18,0x18,0x18,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
214/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
215/* */ 0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
216/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
217/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
218/* */ 0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
219/* */ 0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
220/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
221/* */ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
222/* */ 0x18,0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
223/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
224/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
225/* */ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
226/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
227/* */ 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,
228/* */ 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
229/* */ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
230/* */ 0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0xd8,0xd8,0xd8,0xdc,0x76,0x00,0x00,0x00,0x00,
231/* */ 0x00,0x00,0x78,0xcc,0xcc,0xcc,0xd8,0xcc,0xc6,0xc6,0xc6,0xcc,0x00,0x00,0x00,0x00,
232/* */ 0x00,0x00,0xfe,0xc6,0xc6,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00,
233/* */ 0x00,0x00,0x00,0x00,0xfe,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00,
234/* */ 0x00,0x00,0x00,0xfe,0xc6,0x60,0x30,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
235/* */ 0x00,0x00,0x00,0x00,0x00,0x7e,0xd8,0xd8,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00,0x00,
236/* */ 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xc0,0x00,0x00,0x00,
237/* */ 0x00,0x00,0x00,0x00,0x76,0xdc,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
238/* */ 0x00,0x00,0x00,0x7e,0x18,0x3c,0x66,0x66,0x66,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00,
239/* */ 0x00,0x00,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00,
240/* */ 0x00,0x00,0x38,0x6c,0xc6,0xc6,0xc6,0x6c,0x6c,0x6c,0x6c,0xee,0x00,0x00,0x00,0x00,
241/* */ 0x00,0x00,0x1e,0x30,0x18,0x0c,0x3e,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,0x00,0x00,
242/* */ 0x00,0x00,0x00,0x00,0x00,0x7e,0xdb,0xdb,0xdb,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,
243/* */ 0x00,0x00,0x00,0x03,0x06,0x7e,0xdb,0xdb,0xf3,0x7e,0x60,0xc0,0x00,0x00,0x00,0x00,
244/* */ 0x00,0x00,0x1c,0x30,0x60,0x60,0x7c,0x60,0x60,0x60,0x30,0x1c,0x00,0x00,0x00,0x00,
245/* */ 0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
246/* */ 0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0xfe,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,
247/* */ 0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
248/* */ 0x00,0x00,0x00,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x00,0x7e,0x00,0x00,0x00,0x00,
249/* */ 0x00,0x00,0x00,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x00,0x7e,0x00,0x00,0x00,0x00,
250/* */ 0x00,0x00,0x0e,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
251/* */ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00,0x00,
252/* */ 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7e,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
253/* */ 0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,
254/* */ 0x00,0x38,0x6c,0x6c,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
255/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
256/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
257/* */ 0x00,0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,0xec,0x6c,0x6c,0x3c,0x1c,0x00,0x00,0x00,0x00,
258/* */ 0x00,0xd8,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
259/* */ 0x00,0x70,0xd8,0x30,0x60,0xc8,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
260/* */ 0x00,0x00,0x00,0x00,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,
261/* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
262};
263
264struct font_desc font_sun_8x16 = {
265 SUN8x16_IDX,
266 "SUN8x16",
267 8,
268 16,
269 fontdata_sun8x16,
270#ifdef __sparc__
271 10
272#else
273 -1
274#endif
275};
diff --git a/drivers/video/console/fonts.c b/drivers/video/console/fonts.c
new file mode 100644
index 000000000000..465d678230ae
--- /dev/null
+++ b/drivers/video/console/fonts.c
@@ -0,0 +1,139 @@
1/*
2 * linux/drivers/video/fonts.c -- `Soft' font definitions
3 *
4 * Created 1995 by Geert Uytterhoeven
5 * Rewritten 1998 by Martin Mares <mj@ucw.cz>
6 *
7 * 2001 - Documented with DocBook
8 * - Brad Douglas <brad@neruo.com>
9 *
10 * This file is subject to the terms and conditions of the GNU General Public
11 * License. See the file COPYING in the main directory of this archive
12 * for more details.
13 */
14
15#include <linux/config.h>
16#include <linux/module.h>
17#include <linux/types.h>
18#include <linux/string.h>
19#if defined(__mc68000__) || defined(CONFIG_APUS)
20#include <asm/setup.h>
21#endif
22#include <linux/font.h>
23
24#define NO_FONTS
25
26static struct font_desc *fonts[] = {
27#ifdef CONFIG_FONT_8x8
28#undef NO_FONTS
29 &font_vga_8x8,
30#endif
31#ifdef CONFIG_FONT_8x16
32#undef NO_FONTS
33 &font_vga_8x16,
34#endif
35#ifdef CONFIG_FONT_6x11
36#undef NO_FONTS
37 &font_vga_6x11,
38#endif
39#ifdef CONFIG_FONT_SUN8x16
40#undef NO_FONTS
41 &font_sun_8x16,
42#endif
43#ifdef CONFIG_FONT_SUN12x22
44#undef NO_FONTS
45 &font_sun_12x22,
46#endif
47#ifdef CONFIG_FONT_ACORN_8x8
48#undef NO_FONTS
49 &font_acorn_8x8,
50#endif
51#ifdef CONFIG_FONT_PEARL_8x8
52#undef NO_FONTS
53 &font_pearl_8x8,
54#endif
55#ifdef CONFIG_FONT_MINI_4x6
56#undef NO_FONTS
57 &font_mini_4x6,
58#endif
59};
60
61#define num_fonts (sizeof(fonts)/sizeof(*fonts))
62
63#ifdef NO_FONTS
64#error No fonts configured.
65#endif
66
67
68/**
69 * find_font - find a font
70 * @name: string name of a font
71 *
72 * Find a specified font with string name @name.
73 *
74 * Returns %NULL if no font found, or a pointer to the
75 * specified font.
76 *
77 */
78
79struct font_desc *find_font(char *name)
80{
81 unsigned int i;
82
83 for (i = 0; i < num_fonts; i++)
84 if (!strcmp(fonts[i]->name, name))
85 return fonts[i];
86 return NULL;
87}
88
89
90/**
91 * get_default_font - get default font
92 * @xres: screen size of X
93 * @yres: screen size of Y
94 *
95 * Get the default font for a specified screen size.
96 * Dimensions are in pixels.
97 *
98 * Returns %NULL if no font is found, or a pointer to the
99 * chosen font.
100 *
101 */
102
103struct font_desc *get_default_font(int xres, int yres)
104{
105 int i, c, cc;
106 struct font_desc *f, *g;
107
108 g = NULL;
109 cc = -10000;
110 for(i=0; i<num_fonts; i++) {
111 f = fonts[i];
112 c = f->pref;
113#if defined(__mc68000__) || defined(CONFIG_APUS)
114#ifdef CONFIG_FONT_PEARL_8x8
115 if (MACH_IS_AMIGA && f->idx == PEARL8x8_IDX)
116 c = 100;
117#endif
118#ifdef CONFIG_FONT_6x11
119 if (MACH_IS_MAC && xres < 640 && f->idx == VGA6x11_IDX)
120 c = 100;
121#endif
122#endif
123 if ((yres < 400) == (f->height <= 8))
124 c += 1000;
125 if (c > cc) {
126 cc = c;
127 g = f;
128 }
129 }
130 return g;
131}
132
133EXPORT_SYMBOL(fonts);
134EXPORT_SYMBOL(find_font);
135EXPORT_SYMBOL(get_default_font);
136
137MODULE_AUTHOR("James Simmons <jsimmons@users.sf.net>");
138MODULE_DESCRIPTION("Console Fonts");
139MODULE_LICENSE("GPL");
diff --git a/drivers/video/console/mdacon.c b/drivers/video/console/mdacon.c
new file mode 100644
index 000000000000..989e4d49e5bb
--- /dev/null
+++ b/drivers/video/console/mdacon.c
@@ -0,0 +1,603 @@
1/*
2 * linux/drivers/video/mdacon.c -- Low level MDA based console driver
3 *
4 * (c) 1998 Andrew Apted <ajapted@netspace.net.au>
5 *
6 * including portions (c) 1995-1998 Patrick Caulfield.
7 *
8 * slight improvements (c) 2000 Edward Betts <edward@debian.org>
9 *
10 * This file is based on the VGA console driver (vgacon.c):
11 *
12 * Created 28 Sep 1997 by Geert Uytterhoeven
13 *
14 * Rewritten by Martin Mares <mj@ucw.cz>, July 1998
15 *
16 * and on the old console.c, vga.c and vesa_blank.c drivers:
17 *
18 * Copyright (C) 1991, 1992 Linus Torvalds
19 * 1995 Jay Estabrook
20 *
21 * This file is subject to the terms and conditions of the GNU General Public
22 * License. See the file COPYING in the main directory of this archive for
23 * more details.
24 *
25 * Changelog:
26 * Paul G. (03/2001) Fix mdacon= boot prompt to use __setup().
27 */
28
29#include <linux/types.h>
30#include <linux/sched.h>
31#include <linux/fs.h>
32#include <linux/kernel.h>
33#include <linux/module.h>
34#include <linux/tty.h>
35#include <linux/console.h>
36#include <linux/string.h>
37#include <linux/kd.h>
38#include <linux/slab.h>
39#include <linux/vt_kern.h>
40#include <linux/vt_buffer.h>
41#include <linux/selection.h>
42#include <linux/spinlock.h>
43#include <linux/ioport.h>
44#include <linux/delay.h>
45#include <linux/init.h>
46
47#include <asm/io.h>
48#include <asm/vga.h>
49
50static DEFINE_SPINLOCK(mda_lock);
51
52/* description of the hardware layout */
53
54static unsigned long mda_vram_base; /* Base of video memory */
55static unsigned long mda_vram_len; /* Size of video memory */
56static unsigned int mda_num_columns; /* Number of text columns */
57static unsigned int mda_num_lines; /* Number of text lines */
58
59static unsigned int mda_index_port; /* Register select port */
60static unsigned int mda_value_port; /* Register value port */
61static unsigned int mda_mode_port; /* Mode control port */
62static unsigned int mda_status_port; /* Status and Config port */
63static unsigned int mda_gfx_port; /* Graphics control port */
64
65/* current hardware state */
66
67static int mda_cursor_loc=-1;
68static int mda_cursor_size_from=-1;
69static int mda_cursor_size_to=-1;
70
71static enum { TYPE_MDA, TYPE_HERC, TYPE_HERCPLUS, TYPE_HERCCOLOR } mda_type;
72static char *mda_type_name;
73
74/* console information */
75
76static int mda_first_vc = 1;
77static int mda_last_vc = 16;
78
79static struct vc_data *mda_display_fg = NULL;
80
81module_param(mda_first_vc, int, 0);
82module_param(mda_last_vc, int, 0);
83
84/* MDA register values
85 */
86
87#define MDA_CURSOR_BLINKING 0x00
88#define MDA_CURSOR_OFF 0x20
89#define MDA_CURSOR_SLOWBLINK 0x60
90
91#define MDA_MODE_GRAPHICS 0x02
92#define MDA_MODE_VIDEO_EN 0x08
93#define MDA_MODE_BLINK_EN 0x20
94#define MDA_MODE_GFX_PAGE1 0x80
95
96#define MDA_STATUS_HSYNC 0x01
97#define MDA_STATUS_VSYNC 0x80
98#define MDA_STATUS_VIDEO 0x08
99
100#define MDA_CONFIG_COL132 0x08
101#define MDA_GFX_MODE_EN 0x01
102#define MDA_GFX_PAGE_EN 0x02
103
104
105/*
106 * MDA could easily be classified as "pre-dinosaur hardware".
107 */
108
109static void write_mda_b(unsigned int val, unsigned char reg)
110{
111 unsigned long flags;
112
113 spin_lock_irqsave(&mda_lock, flags);
114
115 outb_p(reg, mda_index_port);
116 outb_p(val, mda_value_port);
117
118 spin_unlock_irqrestore(&mda_lock, flags);
119}
120
121static void write_mda_w(unsigned int val, unsigned char reg)
122{
123 unsigned long flags;
124
125 spin_lock_irqsave(&mda_lock, flags);
126
127 outb_p(reg, mda_index_port); outb_p(val >> 8, mda_value_port);
128 outb_p(reg+1, mda_index_port); outb_p(val & 0xff, mda_value_port);
129
130 spin_unlock_irqrestore(&mda_lock, flags);
131}
132
133#ifdef TEST_MDA_B
134static int test_mda_b(unsigned char val, unsigned char reg)
135{
136 unsigned long flags;
137
138 spin_lock_irqsave(&mda_lock, flags);
139
140 outb_p(reg, mda_index_port);
141 outb (val, mda_value_port);
142
143 udelay(20); val = (inb_p(mda_value_port) == val);
144
145 spin_unlock_irqrestore(&mda_lock, flags);
146 return val;
147}
148#endif
149
150static inline void mda_set_cursor(unsigned int location)
151{
152 if (mda_cursor_loc == location)
153 return;
154
155 write_mda_w(location >> 1, 0x0e);
156
157 mda_cursor_loc = location;
158}
159
160static inline void mda_set_cursor_size(int from, int to)
161{
162 if (mda_cursor_size_from==from && mda_cursor_size_to==to)
163 return;
164
165 if (from > to) {
166 write_mda_b(MDA_CURSOR_OFF, 0x0a); /* disable cursor */
167 } else {
168 write_mda_b(from, 0x0a); /* cursor start */
169 write_mda_b(to, 0x0b); /* cursor end */
170 }
171
172 mda_cursor_size_from = from;
173 mda_cursor_size_to = to;
174}
175
176
177#ifndef MODULE
178static int __init mdacon_setup(char *str)
179{
180 /* command line format: mdacon=<first>,<last> */
181
182 int ints[3];
183
184 str = get_options(str, ARRAY_SIZE(ints), ints);
185
186 if (ints[0] < 2)
187 return 0;
188
189 if (ints[1] < 1 || ints[1] > MAX_NR_CONSOLES ||
190 ints[2] < 1 || ints[2] > MAX_NR_CONSOLES)
191 return 0;
192
193 mda_first_vc = ints[1];
194 mda_last_vc = ints[2];
195 return 1;
196}
197
198__setup("mdacon=", mdacon_setup);
199#endif
200
201static int __init mda_detect(void)
202{
203 int count=0;
204 u16 *p, p_save;
205 u16 *q, q_save;
206
207 /* do a memory check */
208
209 p = (u16 *) mda_vram_base;
210 q = (u16 *) (mda_vram_base + 0x01000);
211
212 p_save = scr_readw(p); q_save = scr_readw(q);
213
214 scr_writew(0xAA55, p); if (scr_readw(p) == 0xAA55) count++;
215 scr_writew(0x55AA, p); if (scr_readw(p) == 0x55AA) count++;
216 scr_writew(p_save, p);
217
218 if (count != 2) {
219 return 0;
220 }
221
222 /* check if we have 4K or 8K */
223
224 scr_writew(0xA55A, q); scr_writew(0x0000, p);
225 if (scr_readw(q) == 0xA55A) count++;
226
227 scr_writew(0x5AA5, q); scr_writew(0x0000, p);
228 if (scr_readw(q) == 0x5AA5) count++;
229
230 scr_writew(p_save, p); scr_writew(q_save, q);
231
232 if (count == 4) {
233 mda_vram_len = 0x02000;
234 }
235
236 /* Ok, there is definitely a card registering at the correct
237 * memory location, so now we do an I/O port test.
238 */
239
240#ifdef TEST_MDA_B
241 /* Edward: These two mess `tests' mess up my cursor on bootup */
242
243 /* cursor low register */
244 if (! test_mda_b(0x66, 0x0f)) {
245 return 0;
246 }
247
248 /* cursor low register */
249 if (! test_mda_b(0x99, 0x0f)) {
250 return 0;
251 }
252#endif
253
254 /* See if the card is a Hercules, by checking whether the vsync
255 * bit of the status register is changing. This test lasts for
256 * approximately 1/10th of a second.
257 */
258
259 p_save = q_save = inb_p(mda_status_port) & MDA_STATUS_VSYNC;
260
261 for (count=0; count < 50000 && p_save == q_save; count++) {
262 q_save = inb(mda_status_port) & MDA_STATUS_VSYNC;
263 udelay(2);
264 }
265
266 if (p_save != q_save) {
267 switch (inb_p(mda_status_port) & 0x70) {
268 case 0x10:
269 mda_type = TYPE_HERCPLUS;
270 mda_type_name = "HerculesPlus";
271 break;
272 case 0x50:
273 mda_type = TYPE_HERCCOLOR;
274 mda_type_name = "HerculesColor";
275 break;
276 default:
277 mda_type = TYPE_HERC;
278 mda_type_name = "Hercules";
279 break;
280 }
281 }
282
283 return 1;
284}
285
286static void __init mda_initialize(void)
287{
288 write_mda_b(97, 0x00); /* horizontal total */
289 write_mda_b(80, 0x01); /* horizontal displayed */
290 write_mda_b(82, 0x02); /* horizontal sync pos */
291 write_mda_b(15, 0x03); /* horizontal sync width */
292
293 write_mda_b(25, 0x04); /* vertical total */
294 write_mda_b(6, 0x05); /* vertical total adjust */
295 write_mda_b(25, 0x06); /* vertical displayed */
296 write_mda_b(25, 0x07); /* vertical sync pos */
297
298 write_mda_b(2, 0x08); /* interlace mode */
299 write_mda_b(13, 0x09); /* maximum scanline */
300 write_mda_b(12, 0x0a); /* cursor start */
301 write_mda_b(13, 0x0b); /* cursor end */
302
303 write_mda_w(0x0000, 0x0c); /* start address */
304 write_mda_w(0x0000, 0x0e); /* cursor location */
305
306 outb_p(MDA_MODE_VIDEO_EN | MDA_MODE_BLINK_EN, mda_mode_port);
307 outb_p(0x00, mda_status_port);
308 outb_p(0x00, mda_gfx_port);
309}
310
311static const char __init *mdacon_startup(void)
312{
313 mda_num_columns = 80;
314 mda_num_lines = 25;
315
316 mda_vram_base = VGA_MAP_MEM(0xb0000);
317 mda_vram_len = 0x01000;
318
319 mda_index_port = 0x3b4;
320 mda_value_port = 0x3b5;
321 mda_mode_port = 0x3b8;
322 mda_status_port = 0x3ba;
323 mda_gfx_port = 0x3bf;
324
325 mda_type = TYPE_MDA;
326 mda_type_name = "MDA";
327
328 if (! mda_detect()) {
329 printk("mdacon: MDA card not detected.\n");
330 return NULL;
331 }
332
333 if (mda_type != TYPE_MDA) {
334 mda_initialize();
335 }
336
337 /* cursor looks ugly during boot-up, so turn it off */
338 mda_set_cursor(mda_vram_len - 1);
339
340 printk("mdacon: %s with %ldK of memory detected.\n",
341 mda_type_name, mda_vram_len/1024);
342
343 return "MDA-2";
344}
345
346static void mdacon_init(struct vc_data *c, int init)
347{
348 c->vc_complement_mask = 0x0800; /* reverse video */
349 c->vc_display_fg = &mda_display_fg;
350
351 if (init) {
352 c->vc_cols = mda_num_columns;
353 c->vc_rows = mda_num_lines;
354 } else
355 vc_resize(c, mda_num_columns, mda_num_lines);
356
357 /* make the first MDA console visible */
358
359 if (mda_display_fg == NULL)
360 mda_display_fg = c;
361}
362
363static void mdacon_deinit(struct vc_data *c)
364{
365 /* con_set_default_unimap(c->vc_num); */
366
367 if (mda_display_fg == c)
368 mda_display_fg = NULL;
369}
370
371static inline u16 mda_convert_attr(u16 ch)
372{
373 u16 attr = 0x0700;
374
375 /* Underline and reverse-video are mutually exclusive on MDA.
376 * Since reverse-video is used for cursors and selected areas,
377 * it takes precedence.
378 */
379
380 if (ch & 0x0800) attr = 0x7000; /* reverse */
381 else if (ch & 0x0400) attr = 0x0100; /* underline */
382
383 return ((ch & 0x0200) << 2) | /* intensity */
384 (ch & 0x8000) | /* blink */
385 (ch & 0x00ff) | attr;
386}
387
388static u8 mdacon_build_attr(struct vc_data *c, u8 color, u8 intensity,
389 u8 blink, u8 underline, u8 reverse)
390{
391 /* The attribute is just a bit vector:
392 *
393 * Bit 0..1 : intensity (0..2)
394 * Bit 2 : underline
395 * Bit 3 : reverse
396 * Bit 7 : blink
397 */
398
399 return (intensity & 3) |
400 ((underline & 1) << 2) |
401 ((reverse & 1) << 3) |
402 ((blink & 1) << 7);
403}
404
405static void mdacon_invert_region(struct vc_data *c, u16 *p, int count)
406{
407 for (; count > 0; count--) {
408 scr_writew(scr_readw(p) ^ 0x0800, p);
409 p++;
410 }
411}
412
413#define MDA_ADDR(x,y) ((u16 *) mda_vram_base + (y)*mda_num_columns + (x))
414
415static void mdacon_putc(struct vc_data *c, int ch, int y, int x)
416{
417 scr_writew(mda_convert_attr(ch), MDA_ADDR(x, y));
418}
419
420static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
421 int count, int y, int x)
422{
423 u16 *dest = MDA_ADDR(x, y);
424
425 for (; count > 0; count--) {
426 scr_writew(mda_convert_attr(scr_readw(s++)), dest++);
427 }
428}
429
430static void mdacon_clear(struct vc_data *c, int y, int x,
431 int height, int width)
432{
433 u16 *dest = MDA_ADDR(x, y);
434 u16 eattr = mda_convert_attr(c->vc_video_erase_char);
435
436 if (width <= 0 || height <= 0)
437 return;
438
439 if (x==0 && width==mda_num_columns) {
440 scr_memsetw(dest, eattr, height*width*2);
441 } else {
442 for (; height > 0; height--, dest+=mda_num_columns)
443 scr_memsetw(dest, eattr, width*2);
444 }
445}
446
447static void mdacon_bmove(struct vc_data *c, int sy, int sx,
448 int dy, int dx, int height, int width)
449{
450 u16 *src, *dest;
451
452 if (width <= 0 || height <= 0)
453 return;
454
455 if (sx==0 && dx==0 && width==mda_num_columns) {
456 scr_memmovew(MDA_ADDR(0,dy), MDA_ADDR(0,sy), height*width*2);
457
458 } else if (dy < sy || (dy == sy && dx < sx)) {
459 src = MDA_ADDR(sx, sy);
460 dest = MDA_ADDR(dx, dy);
461
462 for (; height > 0; height--) {
463 scr_memmovew(dest, src, width*2);
464 src += mda_num_columns;
465 dest += mda_num_columns;
466 }
467 } else {
468 src = MDA_ADDR(sx, sy+height-1);
469 dest = MDA_ADDR(dx, dy+height-1);
470
471 for (; height > 0; height--) {
472 scr_memmovew(dest, src, width*2);
473 src -= mda_num_columns;
474 dest -= mda_num_columns;
475 }
476 }
477}
478
479static int mdacon_switch(struct vc_data *c)
480{
481 return 1; /* redrawing needed */
482}
483
484static int mdacon_set_palette(struct vc_data *c, unsigned char *table)
485{
486 return -EINVAL;
487}
488
489static int mdacon_blank(struct vc_data *c, int blank, int mode_switch)
490{
491 if (mda_type == TYPE_MDA) {
492 if (blank)
493 scr_memsetw((void *)mda_vram_base,
494 mda_convert_attr(c->vc_video_erase_char),
495 c->vc_screenbuf_size);
496 /* Tell console.c that it has to restore the screen itself */
497 return 1;
498 } else {
499 if (blank)
500 outb_p(0x00, mda_mode_port); /* disable video */
501 else
502 outb_p(MDA_MODE_VIDEO_EN | MDA_MODE_BLINK_EN,
503 mda_mode_port);
504 return 0;
505 }
506}
507
508static int mdacon_scrolldelta(struct vc_data *c, int lines)
509{
510 return 0;
511}
512
513static void mdacon_cursor(struct vc_data *c, int mode)
514{
515 if (mode == CM_ERASE) {
516 mda_set_cursor(mda_vram_len - 1);
517 return;
518 }
519
520 mda_set_cursor(c->vc_y*mda_num_columns*2 + c->vc_x*2);
521
522 switch (c->vc_cursor_type & 0x0f) {
523
524 case CUR_LOWER_THIRD: mda_set_cursor_size(10, 13); break;
525 case CUR_LOWER_HALF: mda_set_cursor_size(7, 13); break;
526 case CUR_TWO_THIRDS: mda_set_cursor_size(4, 13); break;
527 case CUR_BLOCK: mda_set_cursor_size(1, 13); break;
528 case CUR_NONE: mda_set_cursor_size(14, 13); break;
529 default: mda_set_cursor_size(12, 13); break;
530 }
531}
532
533static int mdacon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
534{
535 u16 eattr = mda_convert_attr(c->vc_video_erase_char);
536
537 if (!lines)
538 return 0;
539
540 if (lines > c->vc_rows) /* maximum realistic size */
541 lines = c->vc_rows;
542
543 switch (dir) {
544
545 case SM_UP:
546 scr_memmovew(MDA_ADDR(0,t), MDA_ADDR(0,t+lines),
547 (b-t-lines)*mda_num_columns*2);
548 scr_memsetw(MDA_ADDR(0,b-lines), eattr,
549 lines*mda_num_columns*2);
550 break;
551
552 case SM_DOWN:
553 scr_memmovew(MDA_ADDR(0,t+lines), MDA_ADDR(0,t),
554 (b-t-lines)*mda_num_columns*2);
555 scr_memsetw(MDA_ADDR(0,t), eattr, lines*mda_num_columns*2);
556 break;
557 }
558
559 return 0;
560}
561
562
563/*
564 * The console `switch' structure for the MDA based console
565 */
566
567static const struct consw mda_con = {
568 .owner = THIS_MODULE,
569 .con_startup = mdacon_startup,
570 .con_init = mdacon_init,
571 .con_deinit = mdacon_deinit,
572 .con_clear = mdacon_clear,
573 .con_putc = mdacon_putc,
574 .con_putcs = mdacon_putcs,
575 .con_cursor = mdacon_cursor,
576 .con_scroll = mdacon_scroll,
577 .con_bmove = mdacon_bmove,
578 .con_switch = mdacon_switch,
579 .con_blank = mdacon_blank,
580 .con_set_palette = mdacon_set_palette,
581 .con_scrolldelta = mdacon_scrolldelta,
582 .con_build_attr = mdacon_build_attr,
583 .con_invert_region = mdacon_invert_region,
584};
585
586int __init mda_console_init(void)
587{
588 if (mda_first_vc > mda_last_vc)
589 return 1;
590
591 return take_over_console(&mda_con, mda_first_vc-1, mda_last_vc-1, 0);
592}
593
594static void __exit mda_console_exit(void)
595{
596 give_up_console(&mda_con);
597}
598
599module_init(mda_console_init);
600module_exit(mda_console_exit);
601
602MODULE_LICENSE("GPL");
603
diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c
new file mode 100644
index 000000000000..e793ffd39db5
--- /dev/null
+++ b/drivers/video/console/newport_con.c
@@ -0,0 +1,745 @@
1/*
2 * newport_con.c: Abscon for newport hardware
3 *
4 * (C) 1998 Thomas Bogendoerfer (tsbogend@alpha.franken.de)
5 * (C) 1999 Ulf Carlsson (ulfc@thepuffingruop.com)
6 *
7 * This driver is based on sgicons.c and cons_newport.
8 *
9 * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
10 * Copyright (C) 1997 Miguel de Icaza (miguel@nuclecu.unam.mx)
11 */
12#include <linux/init.h>
13#include <linux/kernel.h>
14#include <linux/errno.h>
15#include <linux/tty.h>
16#include <linux/kd.h>
17#include <linux/selection.h>
18#include <linux/console.h>
19#include <linux/vt_kern.h>
20#include <linux/mm.h>
21#include <linux/module.h>
22#include <linux/slab.h>
23
24#include <asm/io.h>
25#include <asm/uaccess.h>
26#include <asm/system.h>
27#include <asm/page.h>
28#include <asm/pgtable.h>
29#include <video/newport.h>
30
31#include <linux/linux_logo.h>
32#include <linux/font.h>
33
34
35extern struct font_desc font_vga_8x16;
36extern unsigned long sgi_gfxaddr;
37
38#define FONT_DATA ((unsigned char *)font_vga_8x16.data)
39
40/* borrowed from fbcon.c */
41#define REFCOUNT(fd) (((int *)(fd))[-1])
42#define FNTSIZE(fd) (((int *)(fd))[-2])
43#define FNTCHARCNT(fd) (((int *)(fd))[-3])
44#define FONT_EXTRA_WORDS 3
45
46static unsigned char *font_data[MAX_NR_CONSOLES];
47
48static struct newport_regs *npregs;
49
50static int logo_active;
51static int topscan;
52static int xcurs_correction = 29;
53static int newport_xsize;
54static int newport_ysize;
55
56static int newport_set_def_font(int unit, struct console_font *op);
57
58#define BMASK(c) (c << 24)
59
60#define RENDER(regs, cp) do { \
61(regs)->go.zpattern = BMASK((cp)[0x0]); (regs)->go.zpattern = BMASK((cp)[0x1]); \
62(regs)->go.zpattern = BMASK((cp)[0x2]); (regs)->go.zpattern = BMASK((cp)[0x3]); \
63(regs)->go.zpattern = BMASK((cp)[0x4]); (regs)->go.zpattern = BMASK((cp)[0x5]); \
64(regs)->go.zpattern = BMASK((cp)[0x6]); (regs)->go.zpattern = BMASK((cp)[0x7]); \
65(regs)->go.zpattern = BMASK((cp)[0x8]); (regs)->go.zpattern = BMASK((cp)[0x9]); \
66(regs)->go.zpattern = BMASK((cp)[0xa]); (regs)->go.zpattern = BMASK((cp)[0xb]); \
67(regs)->go.zpattern = BMASK((cp)[0xc]); (regs)->go.zpattern = BMASK((cp)[0xd]); \
68(regs)->go.zpattern = BMASK((cp)[0xe]); (regs)->go.zpattern = BMASK((cp)[0xf]); \
69} while(0)
70
71#define TESTVAL 0xdeadbeef
72#define XSTI_TO_FXSTART(val) (((val) & 0xffff) << 11)
73
74static inline void newport_render_background(int xstart, int ystart,
75 int xend, int yend, int ci)
76{
77 newport_wait(npregs);
78 npregs->set.wrmask = 0xffffffff;
79 npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
80 NPORT_DMODE0_DOSETUP | NPORT_DMODE0_STOPX
81 | NPORT_DMODE0_STOPY);
82 npregs->set.colori = ci;
83 npregs->set.xystarti =
84 (xstart << 16) | ((ystart + topscan) & 0x3ff);
85 npregs->go.xyendi =
86 ((xend + 7) << 16) | ((yend + topscan + 15) & 0x3ff);
87}
88
89static inline void newport_init_cmap(void)
90{
91 unsigned short i;
92
93 for (i = 0; i < 16; i++) {
94 newport_bfwait(npregs);
95 newport_cmap_setaddr(npregs, color_table[i]);
96 newport_cmap_setrgb(npregs,
97 default_red[i],
98 default_grn[i], default_blu[i]);
99 }
100}
101
102static void newport_show_logo(void)
103{
104#ifdef CONFIG_LOGO_SGI_CLUT224
105 const struct linux_logo *logo = fb_find_logo(8);
106 const unsigned char *clut = logo->clut;
107 const unsigned char *data = logo->data;
108 unsigned long i;
109
110 for (i = 0; i < logo->clutsize; i++) {
111 newport_bfwait(npregs);
112 newport_cmap_setaddr(npregs, i + 0x20);
113 newport_cmap_setrgb(npregs, clut[0], clut[1], clut[2]);
114 clut += 3;
115 }
116
117 newport_wait(npregs);
118 npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
119 NPORT_DMODE0_CHOST);
120
121 npregs->set.xystarti = ((newport_xsize - logo->width) << 16) | (0);
122 npregs->set.xyendi = ((newport_xsize - 1) << 16);
123 newport_wait(npregs);
124
125 for (i = 0; i < logo->width*logo->height; i++)
126 npregs->go.hostrw0 = *data++ << 24;
127#endif /* CONFIG_LOGO_SGI_CLUT224 */
128}
129
130static inline void newport_clear_screen(int xstart, int ystart, int xend,
131 int yend, int ci)
132{
133 if (logo_active)
134 return;
135
136 newport_wait(npregs);
137 npregs->set.wrmask = 0xffffffff;
138 npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
139 NPORT_DMODE0_DOSETUP | NPORT_DMODE0_STOPX
140 | NPORT_DMODE0_STOPY);
141 npregs->set.colori = ci;
142 npregs->set.xystarti = (xstart << 16) | ystart;
143 npregs->go.xyendi = (xend << 16) | yend;
144}
145
146static inline void newport_clear_lines(int ystart, int yend, int ci)
147{
148 ystart = ((ystart << 4) + topscan) & 0x3ff;
149 yend = ((yend << 4) + topscan + 15) & 0x3ff;
150 newport_clear_screen(0, ystart, 1280 + 63, yend, ci);
151}
152
153void newport_reset(void)
154{
155 unsigned short treg;
156 int i;
157
158 newport_wait(npregs);
159 treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
160 newport_vc2_set(npregs, VC2_IREG_CONTROL,
161 (treg | VC2_CTRL_EVIDEO));
162
163 treg = newport_vc2_get(npregs, VC2_IREG_CENTRY);
164 newport_vc2_set(npregs, VC2_IREG_RADDR, treg);
165 npregs->set.dcbmode = (NPORT_DMODE_AVC2 | VC2_REGADDR_RAM |
166 NPORT_DMODE_W2 | VC2_PROTOCOL);
167 for (i = 0; i < 128; i++) {
168 newport_bfwait(npregs);
169 if (i == 92 || i == 94)
170 npregs->set.dcbdata0.byshort.s1 = 0xff00;
171 else
172 npregs->set.dcbdata0.byshort.s1 = 0x0000;
173 }
174
175 newport_init_cmap();
176
177 /* turn off popup plane */
178 npregs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL |
179 XM9_CRS_CONFIG | NPORT_DMODE_W1);
180 npregs->set.dcbdata0.bybytes.b3 &= ~XM9_PUPMODE;
181 npregs->set.dcbmode = (DCB_XMAP1 | R_DCB_XMAP9_PROTOCOL |
182 XM9_CRS_CONFIG | NPORT_DMODE_W1);
183 npregs->set.dcbdata0.bybytes.b3 &= ~XM9_PUPMODE;
184
185 topscan = 0;
186 npregs->cset.topscan = 0x3ff;
187 npregs->cset.xywin = (4096 << 16) | 4096;
188
189 /* Clear the screen. */
190 newport_clear_screen(0, 0, 1280 + 63, 1024, 0);
191}
192
193/*
194 * calculate the actual screen size by reading
195 * the video timing out of the VC2
196 */
197void newport_get_screensize(void)
198{
199 int i, cols;
200 unsigned short ventry, treg;
201 unsigned short linetable[128]; /* should be enough */
202
203 ventry = newport_vc2_get(npregs, VC2_IREG_VENTRY);
204 newport_vc2_set(npregs, VC2_IREG_RADDR, ventry);
205 npregs->set.dcbmode = (NPORT_DMODE_AVC2 | VC2_REGADDR_RAM |
206 NPORT_DMODE_W2 | VC2_PROTOCOL);
207 for (i = 0; i < 128; i++) {
208 newport_bfwait(npregs);
209 linetable[i] = npregs->set.dcbdata0.byshort.s1;
210 }
211
212 newport_xsize = newport_ysize = 0;
213 for (i = 0; linetable[i + 1] && (i < sizeof(linetable)); i += 2) {
214 cols = 0;
215 newport_vc2_set(npregs, VC2_IREG_RADDR, linetable[i]);
216 npregs->set.dcbmode = (NPORT_DMODE_AVC2 | VC2_REGADDR_RAM |
217 NPORT_DMODE_W2 | VC2_PROTOCOL);
218 do {
219 newport_bfwait(npregs);
220 treg = npregs->set.dcbdata0.byshort.s1;
221 if ((treg & 1) == 0)
222 cols += (treg >> 7) & 0xfe;
223 if ((treg & 0x80) == 0) {
224 newport_bfwait(npregs);
225 treg = npregs->set.dcbdata0.byshort.s1;
226 }
227 } while ((treg & 0x8000) == 0);
228 if (cols) {
229 if (cols > newport_xsize)
230 newport_xsize = cols;
231 newport_ysize += linetable[i + 1];
232 }
233 }
234 printk("NG1: Screensize %dx%d\n", newport_xsize, newport_ysize);
235}
236
237static void newport_get_revisions(void)
238{
239 unsigned int tmp;
240 unsigned int board_rev;
241 unsigned int rex3_rev;
242 unsigned int vc2_rev;
243 unsigned int cmap_rev;
244 unsigned int xmap9_rev;
245 unsigned int bt445_rev;
246 unsigned int bitplanes;
247
248 rex3_rev = npregs->cset.status & NPORT_STAT_VERS;
249
250 npregs->set.dcbmode = (DCB_CMAP0 | NCMAP_PROTOCOL |
251 NCMAP_REGADDR_RREG | NPORT_DMODE_W1);
252 tmp = npregs->set.dcbdata0.bybytes.b3;
253 cmap_rev = tmp & 7;
254 board_rev = (tmp >> 4) & 7;
255 bitplanes = ((board_rev > 1) && (tmp & 0x80)) ? 8 : 24;
256
257 npregs->set.dcbmode = (DCB_CMAP1 | NCMAP_PROTOCOL |
258 NCMAP_REGADDR_RREG | NPORT_DMODE_W1);
259 tmp = npregs->set.dcbdata0.bybytes.b3;
260 if ((tmp & 7) < cmap_rev)
261 cmap_rev = (tmp & 7);
262
263 vc2_rev = (newport_vc2_get(npregs, VC2_IREG_CONFIG) >> 5) & 7;
264
265 npregs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL |
266 XM9_CRS_REVISION | NPORT_DMODE_W1);
267 xmap9_rev = npregs->set.dcbdata0.bybytes.b3 & 7;
268
269 npregs->set.dcbmode = (DCB_BT445 | BT445_PROTOCOL |
270 BT445_CSR_ADDR_REG | NPORT_DMODE_W1);
271 npregs->set.dcbdata0.bybytes.b3 = BT445_REVISION_REG;
272 npregs->set.dcbmode = (DCB_BT445 | BT445_PROTOCOL |
273 BT445_CSR_REVISION | NPORT_DMODE_W1);
274 bt445_rev = (npregs->set.dcbdata0.bybytes.b3 >> 4) - 0x0a;
275
276#define L(a) (char)('A'+(a))
277 printk
278 ("NG1: Revision %d, %d bitplanes, REX3 revision %c, VC2 revision %c, xmap9 revision %c, cmap revision %c, bt445 revision %c\n",
279 board_rev, bitplanes, L(rex3_rev), L(vc2_rev), L(xmap9_rev),
280 L(cmap_rev ? (cmap_rev + 1) : 0), L(bt445_rev));
281#undef L
282
283 if (board_rev == 3) /* I don't know all affected revisions */
284 xcurs_correction = 21;
285}
286
287/* Can't be __init, take_over_console may call it later */
288static const char *newport_startup(void)
289{
290 int i;
291
292 if (!sgi_gfxaddr)
293 return NULL;
294 npregs = (struct newport_regs *) /* ioremap cannot fail */
295 ioremap(sgi_gfxaddr, sizeof(struct newport_regs));
296 npregs->cset.config = NPORT_CFG_GD0;
297
298 if (newport_wait(npregs))
299 goto out_unmap;
300
301 npregs->set.xstarti = TESTVAL;
302 if (npregs->set._xstart.word != XSTI_TO_FXSTART(TESTVAL))
303 goto out_unmap;
304
305 for (i = 0; i < MAX_NR_CONSOLES; i++)
306 font_data[i] = FONT_DATA;
307
308 newport_reset();
309 newport_get_revisions();
310 newport_get_screensize();
311
312 return "SGI Newport";
313
314out_unmap:
315 iounmap((void *)npregs);
316 return NULL;
317}
318
319static void newport_init(struct vc_data *vc, int init)
320{
321 vc->vc_cols = newport_xsize / 8;
322 vc->vc_rows = newport_ysize / 16;
323 vc->vc_can_do_color = 1;
324}
325
326static void newport_deinit(struct vc_data *c)
327{
328 int i;
329
330 /* free memory used by user font */
331 for (i = 0; i < MAX_NR_CONSOLES; i++)
332 newport_set_def_font(i, NULL);
333}
334
335static void newport_clear(struct vc_data *vc, int sy, int sx, int height,
336 int width)
337{
338 int xend = ((sx + width) << 3) - 1;
339 int ystart = ((sy << 4) + topscan) & 0x3ff;
340 int yend = (((sy + height) << 4) + topscan - 1) & 0x3ff;
341
342 if (logo_active)
343 return;
344
345 if (ystart < yend) {
346 newport_clear_screen(sx << 3, ystart, xend, yend,
347 (vc->vc_color & 0xf0) >> 4);
348 } else {
349 newport_clear_screen(sx << 3, ystart, xend, 1023,
350 (vc->vc_color & 0xf0) >> 4);
351 newport_clear_screen(sx << 3, 0, xend, yend,
352 (vc->vc_color & 0xf0) >> 4);
353 }
354}
355
356static void newport_putc(struct vc_data *vc, int charattr, int ypos,
357 int xpos)
358{
359 unsigned char *p;
360
361 p = &font_data[vc->vc_num][(charattr & 0xff) << 4];
362 charattr = (charattr >> 8) & 0xff;
363 xpos <<= 3;
364 ypos <<= 4;
365
366 newport_render_background(xpos, ypos, xpos, ypos,
367 (charattr & 0xf0) >> 4);
368
369 /* Set the color and drawing mode. */
370 newport_wait(npregs);
371 npregs->set.colori = charattr & 0xf;
372 npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
373 NPORT_DMODE0_STOPX | NPORT_DMODE0_ZPENAB |
374 NPORT_DMODE0_L32);
375
376 /* Set coordinates for bitmap operation. */
377 npregs->set.xystarti = (xpos << 16) | ((ypos + topscan) & 0x3ff);
378 npregs->set.xyendi = ((xpos + 7) << 16);
379 newport_wait(npregs);
380
381 /* Go, baby, go... */
382 RENDER(npregs, p);
383}
384
385static void newport_putcs(struct vc_data *vc, const unsigned short *s,
386 int count, int ypos, int xpos)
387{
388 int i;
389 int charattr;
390 unsigned char *p;
391
392 charattr = (scr_readw(s) >> 8) & 0xff;
393
394 xpos <<= 3;
395 ypos <<= 4;
396
397 if (!logo_active)
398 /* Clear the area behing the string */
399 newport_render_background(xpos, ypos,
400 xpos + ((count - 1) << 3), ypos,
401 (charattr & 0xf0) >> 4);
402
403 newport_wait(npregs);
404
405 /* Set the color and drawing mode. */
406 npregs->set.colori = charattr & 0xf;
407 npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
408 NPORT_DMODE0_STOPX | NPORT_DMODE0_ZPENAB |
409 NPORT_DMODE0_L32);
410
411 for (i = 0; i < count; i++, xpos += 8) {
412 p = &font_data[vc->vc_num][(scr_readw(s++) & 0xff) << 4];
413
414 newport_wait(npregs);
415
416 /* Set coordinates for bitmap operation. */
417 npregs->set.xystarti =
418 (xpos << 16) | ((ypos + topscan) & 0x3ff);
419 npregs->set.xyendi = ((xpos + 7) << 16);
420
421 /* Go, baby, go... */
422 RENDER(npregs, p);
423 }
424}
425
426static void newport_cursor(struct vc_data *vc, int mode)
427{
428 unsigned short treg;
429 int xcurs, ycurs;
430
431 switch (mode) {
432 case CM_ERASE:
433 treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
434 newport_vc2_set(npregs, VC2_IREG_CONTROL,
435 (treg & ~(VC2_CTRL_ECDISP)));
436 break;
437
438 case CM_MOVE:
439 case CM_DRAW:
440 treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
441 newport_vc2_set(npregs, VC2_IREG_CONTROL,
442 (treg | VC2_CTRL_ECDISP));
443 xcurs = (vc->vc_pos - vc->vc_visible_origin) / 2;
444 ycurs = ((xcurs / vc->vc_cols) << 4) + 31;
445 xcurs = ((xcurs % vc->vc_cols) << 3) + xcurs_correction;
446 newport_vc2_set(npregs, VC2_IREG_CURSX, xcurs);
447 newport_vc2_set(npregs, VC2_IREG_CURSY, ycurs);
448 }
449}
450
451static int newport_switch(struct vc_data *vc)
452{
453 static int logo_drawn = 0;
454
455 topscan = 0;
456 npregs->cset.topscan = 0x3ff;
457
458 if (!logo_drawn) {
459 newport_show_logo();
460 logo_drawn = 1;
461 logo_active = 1;
462 }
463
464 return 1;
465}
466
467static int newport_blank(struct vc_data *c, int blank, int mode_switch)
468{
469 unsigned short treg;
470
471 if (blank == 0) {
472 /* unblank console */
473 treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
474 newport_vc2_set(npregs, VC2_IREG_CONTROL,
475 (treg | VC2_CTRL_EDISP));
476 } else {
477 /* blank console */
478 treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
479 newport_vc2_set(npregs, VC2_IREG_CONTROL,
480 (treg & ~(VC2_CTRL_EDISP)));
481 }
482 return 1;
483}
484
485static int newport_set_font(int unit, struct console_font *op)
486{
487 int w = op->width;
488 int h = op->height;
489 int size = h * op->charcount;
490 int i;
491 unsigned char *new_data, *data = op->data, *p;
492
493 /* ladis: when I grow up, there will be a day... and more sizes will
494 * be supported ;-) */
495 if ((w != 8) || (h != 16)
496 || (op->charcount != 256 && op->charcount != 512))
497 return -EINVAL;
498
499 if (!(new_data = kmalloc(FONT_EXTRA_WORDS * sizeof(int) + size,
500 GFP_USER))) return -ENOMEM;
501
502 new_data += FONT_EXTRA_WORDS * sizeof(int);
503 FNTSIZE(new_data) = size;
504 FNTCHARCNT(new_data) = op->charcount;
505 REFCOUNT(new_data) = 0; /* usage counter */
506
507 p = new_data;
508 for (i = 0; i < op->charcount; i++) {
509 memcpy(p, data, h);
510 data += 32;
511 p += h;
512 }
513
514 /* check if font is already used by other console */
515 for (i = 0; i < MAX_NR_CONSOLES; i++) {
516 if (font_data[i] != FONT_DATA
517 && FNTSIZE(font_data[i]) == size
518 && !memcmp(font_data[i], new_data, size)) {
519 kfree(new_data - FONT_EXTRA_WORDS * sizeof(int));
520 /* current font is the same as the new one */
521 if (i == unit)
522 return 0;
523 new_data = font_data[i];
524 break;
525 }
526 }
527 /* old font is user font */
528 if (font_data[unit] != FONT_DATA) {
529 if (--REFCOUNT(font_data[unit]) == 0)
530 kfree(font_data[unit] -
531 FONT_EXTRA_WORDS * sizeof(int));
532 }
533 REFCOUNT(new_data)++;
534 font_data[unit] = new_data;
535
536 return 0;
537}
538
539static int newport_set_def_font(int unit, struct console_font *op)
540{
541 if (font_data[unit] != FONT_DATA) {
542 if (--REFCOUNT(font_data[unit]) == 0)
543 kfree(font_data[unit] -
544 FONT_EXTRA_WORDS * sizeof(int));
545 font_data[unit] = FONT_DATA;
546 }
547
548 return 0;
549}
550
551static int newport_font_default(struct vc_data *vc, struct console_font *op, char *name)
552{
553 return newport_set_def_font(vc->vc_num, op);
554}
555
556static int newport_font_set(struct vc_data *vc, struct console_font *font, unsigned flags)
557{
558 return newport_set_font(vc->vc_num, font);
559}
560
561static int newport_set_palette(struct vc_data *vc, unsigned char *table)
562{
563 return -EINVAL;
564}
565
566static int newport_scrolldelta(struct vc_data *vc, int lines)
567{
568 /* there is (nearly) no off-screen memory, so we can't scroll back */
569 return 0;
570}
571
572static int newport_scroll(struct vc_data *vc, int t, int b, int dir,
573 int lines)
574{
575 int count, x, y;
576 unsigned short *s, *d;
577 unsigned short chattr;
578
579 logo_active = 0; /* it's time to disable the logo now.. */
580
581 if (t == 0 && b == vc->vc_rows) {
582 if (dir == SM_UP) {
583 topscan = (topscan + (lines << 4)) & 0x3ff;
584 newport_clear_lines(vc->vc_rows - lines,
585 vc->vc_rows - 1,
586 (vc->vc_color & 0xf0) >> 4);
587 } else {
588 topscan = (topscan + (-lines << 4)) & 0x3ff;
589 newport_clear_lines(0, lines - 1,
590 (vc->vc_color & 0xf0) >> 4);
591 }
592 npregs->cset.topscan = (topscan - 1) & 0x3ff;
593 return 0;
594 }
595
596 count = (b - t - lines) * vc->vc_cols;
597 if (dir == SM_UP) {
598 x = 0;
599 y = t;
600 s = (unsigned short *) (vc->vc_origin +
601 vc->vc_size_row * (t + lines));
602 d = (unsigned short *) (vc->vc_origin +
603 vc->vc_size_row * t);
604 while (count--) {
605 chattr = scr_readw(s++);
606 if (chattr != scr_readw(d)) {
607 newport_putc(vc, chattr, y, x);
608 scr_writew(chattr, d);
609 }
610 d++;
611 if (++x == vc->vc_cols) {
612 x = 0;
613 y++;
614 }
615 }
616 d = (unsigned short *) (vc->vc_origin +
617 vc->vc_size_row * (b - lines));
618 x = 0;
619 y = b - lines;
620 for (count = 0; count < (lines * vc->vc_cols); count++) {
621 if (scr_readw(d) != vc->vc_video_erase_char) {
622 newport_putc(vc, vc->vc_video_erase_char,
623 y, x);
624 scr_writew(vc->vc_video_erase_char, d);
625 }
626 d++;
627 if (++x == vc->vc_cols) {
628 x = 0;
629 y++;
630 }
631 }
632 } else {
633 x = vc->vc_cols - 1;
634 y = b - 1;
635 s = (unsigned short *) (vc->vc_origin +
636 vc->vc_size_row * (b - lines) - 2);
637 d = (unsigned short *) (vc->vc_origin +
638 vc->vc_size_row * b - 2);
639 while (count--) {
640 chattr = scr_readw(s--);
641 if (chattr != scr_readw(d)) {
642 newport_putc(vc, chattr, y, x);
643 scr_writew(chattr, d);
644 }
645 d--;
646 if (x-- == 0) {
647 x = vc->vc_cols - 1;
648 y--;
649 }
650 }
651 d = (unsigned short *) (vc->vc_origin +
652 vc->vc_size_row * t);
653 x = 0;
654 y = t;
655 for (count = 0; count < (lines * vc->vc_cols); count++) {
656 if (scr_readw(d) != vc->vc_video_erase_char) {
657 newport_putc(vc, vc->vc_video_erase_char,
658 y, x);
659 scr_writew(vc->vc_video_erase_char, d);
660 }
661 d++;
662 if (++x == vc->vc_cols) {
663 x = 0;
664 y++;
665 }
666 }
667 }
668 return 1;
669}
670
671static void newport_bmove(struct vc_data *vc, int sy, int sx, int dy,
672 int dx, int h, int w)
673{
674 short xs, ys, xe, ye, xoffs, yoffs, tmp;
675
676 xs = sx << 3;
677 xe = ((sx + w) << 3) - 1;
678 /*
679 * as bmove is only used to move stuff around in the same line
680 * (h == 1), we don't care about wrap arounds caused by topscan != 0
681 */
682 ys = ((sy << 4) + topscan) & 0x3ff;
683 ye = (((sy + h) << 4) - 1 + topscan) & 0x3ff;
684 xoffs = (dx - sx) << 3;
685 yoffs = (dy - sy) << 4;
686 if (xoffs > 0) {
687 /* move to the right, exchange starting points */
688 tmp = xe;
689 xe = xs;
690 xs = tmp;
691 }
692 newport_wait(npregs);
693 npregs->set.drawmode0 = (NPORT_DMODE0_S2S | NPORT_DMODE0_BLOCK |
694 NPORT_DMODE0_DOSETUP | NPORT_DMODE0_STOPX
695 | NPORT_DMODE0_STOPY);
696 npregs->set.xystarti = (xs << 16) | ys;
697 npregs->set.xyendi = (xe << 16) | ye;
698 npregs->go.xymove = (xoffs << 16) | yoffs;
699}
700
701static int newport_dummy(struct vc_data *c)
702{
703 return 0;
704}
705
706#define DUMMY (void *) newport_dummy
707
708const struct consw newport_con = {
709 .owner = THIS_MODULE,
710 .con_startup = newport_startup,
711 .con_init = newport_init,
712 .con_deinit = newport_deinit,
713 .con_clear = newport_clear,
714 .con_putc = newport_putc,
715 .con_putcs = newport_putcs,
716 .con_cursor = newport_cursor,
717 .con_scroll = newport_scroll,
718 .con_bmove = newport_bmove,
719 .con_switch = newport_switch,
720 .con_blank = newport_blank,
721 .con_font_set = newport_font_set,
722 .con_font_default = newport_font_default,
723 .con_set_palette = newport_set_palette,
724 .con_scrolldelta = newport_scrolldelta,
725 .con_set_origin = DUMMY,
726 .con_save_screen = DUMMY
727};
728
729#ifdef MODULE
730static int __init newport_console_init(void)
731{
732 return take_over_console(&newport_con, 0, MAX_NR_CONSOLES - 1, 1);
733}
734
735static void __exit newport_console_exit(void)
736{
737 give_up_console(&newport_con);
738 iounmap((void *)npregs);
739}
740
741module_init(newport_console_init);
742module_exit(newport_console_exit);
743#endif
744
745MODULE_LICENSE("GPL");
diff --git a/drivers/video/console/prom.uni b/drivers/video/console/prom.uni
new file mode 100644
index 000000000000..58f9c04ed9d3
--- /dev/null
+++ b/drivers/video/console/prom.uni
@@ -0,0 +1,11 @@
1#
2# Unicode mapping table for font in Sun PROM
3#
4#
50x20-0x7e idem
60xa0-0xff idem
7#
80x7c U+2502
90x2d U+2500
100x2b U+250c U+2510 U+2514 U+2518 U+251c U+2524 U+252c U+2534 U+253c
110xa4 U+fffd
diff --git a/drivers/video/console/promcon.c b/drivers/video/console/promcon.c
new file mode 100644
index 000000000000..04f42fcaac59
--- /dev/null
+++ b/drivers/video/console/promcon.c
@@ -0,0 +1,599 @@
1/* $Id: promcon.c,v 1.17 2000/07/26 23:02:52 davem Exp $
2 * Console driver utilizing PROM sun terminal emulation
3 *
4 * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
5 * Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
6 */
7
8#include <linux/config.h>
9#include <linux/module.h>
10#include <linux/kernel.h>
11#include <linux/errno.h>
12#include <linux/string.h>
13#include <linux/mm.h>
14#include <linux/tty.h>
15#include <linux/slab.h>
16#include <linux/delay.h>
17#include <linux/console.h>
18#include <linux/vt_kern.h>
19#include <linux/selection.h>
20#include <linux/fb.h>
21#include <linux/init.h>
22#include <linux/kd.h>
23
24#include <asm/oplib.h>
25#include <asm/uaccess.h>
26
27static short pw = 80 - 1, ph = 34 - 1;
28static short px, py;
29static unsigned long promcon_uni_pagedir[2];
30
31extern u8 promfont_unicount[];
32extern u16 promfont_unitable[];
33
34#define PROMCON_COLOR 0
35
36#if PROMCON_COLOR
37#define inverted(s) ((((s) & 0x7700) == 0x0700) ? 0 : 1)
38#else
39#define inverted(s) (((s) & 0x0800) ? 1 : 0)
40#endif
41
42static __inline__ void
43promcon_puts(char *buf, int cnt)
44{
45 prom_printf("%*.*s", cnt, cnt, buf);
46}
47
48static int
49promcon_start(struct vc_data *conp, char *b)
50{
51 unsigned short *s = (unsigned short *)
52 (conp->vc_origin + py * conp->vc_size_row + (px << 1));
53 u16 cs;
54
55 cs = scr_readw(s);
56 if (px == pw) {
57 unsigned short *t = s - 1;
58 u16 ct = scr_readw(t);
59
60 if (inverted(cs) && inverted(ct))
61 return sprintf(b, "\b\033[7m%c\b\033[@%c\033[m", cs,
62 ct);
63 else if (inverted(cs))
64 return sprintf(b, "\b\033[7m%c\033[m\b\033[@%c", cs,
65 ct);
66 else if (inverted(ct))
67 return sprintf(b, "\b%c\b\033[@\033[7m%c\033[m", cs,
68 ct);
69 else
70 return sprintf(b, "\b%c\b\033[@%c", cs, ct);
71 }
72
73 if (inverted(cs))
74 return sprintf(b, "\033[7m%c\033[m\b", cs);
75 else
76 return sprintf(b, "%c\b", cs);
77}
78
79static int
80promcon_end(struct vc_data *conp, char *b)
81{
82 unsigned short *s = (unsigned short *)
83 (conp->vc_origin + py * conp->vc_size_row + (px << 1));
84 char *p = b;
85 u16 cs;
86
87 b += sprintf(b, "\033[%d;%dH", py + 1, px + 1);
88
89 cs = scr_readw(s);
90 if (px == pw) {
91 unsigned short *t = s - 1;
92 u16 ct = scr_readw(t);
93
94 if (inverted(cs) && inverted(ct))
95 b += sprintf(b, "\b%c\b\033[@\033[7m%c\033[m", cs, ct);
96 else if (inverted(cs))
97 b += sprintf(b, "\b%c\b\033[@%c", cs, ct);
98 else if (inverted(ct))
99 b += sprintf(b, "\b\033[7m%c\b\033[@%c\033[m", cs, ct);
100 else
101 b += sprintf(b, "\b\033[7m%c\033[m\b\033[@%c", cs, ct);
102 return b - p;
103 }
104
105 if (inverted(cs))
106 b += sprintf(b, "%c\b", cs);
107 else
108 b += sprintf(b, "\033[7m%c\033[m\b", cs);
109 return b - p;
110}
111
112const char __init *promcon_startup(void)
113{
114 const char *display_desc = "PROM";
115 int node;
116 char buf[40];
117
118 node = prom_getchild(prom_root_node);
119 node = prom_searchsiblings(node, "options");
120 if (prom_getproperty(node, "screen-#columns", buf, 40) != -1) {
121 pw = simple_strtoul(buf, NULL, 0);
122 if (pw < 10 || pw > 256)
123 pw = 80;
124 pw--;
125 }
126 if (prom_getproperty(node, "screen-#rows", buf, 40) != -1) {
127 ph = simple_strtoul(buf, NULL, 0);
128 if (ph < 10 || ph > 256)
129 ph = 34;
130 ph--;
131 }
132 promcon_puts("\033[H\033[J", 6);
133 return display_desc;
134}
135
136static void __init
137promcon_init_unimap(struct vc_data *conp)
138{
139 mm_segment_t old_fs = get_fs();
140 struct unipair *p, *p1;
141 u16 *q;
142 int i, j, k;
143
144 p = kmalloc(256*sizeof(struct unipair), GFP_KERNEL);
145 if (!p) return;
146
147 q = promfont_unitable;
148 p1 = p;
149 k = 0;
150 for (i = 0; i < 256; i++)
151 for (j = promfont_unicount[i]; j; j--) {
152 p1->unicode = *q++;
153 p1->fontpos = i;
154 p1++;
155 k++;
156 }
157 set_fs(KERNEL_DS);
158 con_clear_unimap(conp, NULL);
159 con_set_unimap(conp, k, p);
160 con_protect_unimap(conp, 1);
161 set_fs(old_fs);
162 kfree(p);
163}
164
165static void
166promcon_init(struct vc_data *conp, int init)
167{
168 unsigned long p;
169
170 conp->vc_can_do_color = PROMCON_COLOR;
171 if (init) {
172 conp->vc_cols = pw + 1;
173 conp->vc_rows = ph + 1;
174 }
175 p = *conp->vc_uni_pagedir_loc;
176 if (conp->vc_uni_pagedir_loc == &conp->vc_uni_pagedir ||
177 !--conp->vc_uni_pagedir_loc[1])
178 con_free_unimap(conp);
179 conp->vc_uni_pagedir_loc = promcon_uni_pagedir;
180 promcon_uni_pagedir[1]++;
181 if (!promcon_uni_pagedir[0] && p) {
182 promcon_init_unimap(conp);
183 }
184 if (!init) {
185 if (conp->vc_cols != pw + 1 || conp->vc_rows != ph + 1)
186 vc_resize(conp, pw + 1, ph + 1);
187 }
188}
189
190static void
191promcon_deinit(struct vc_data *conp)
192{
193 /* When closing the last console, reset video origin */
194 if (!--promcon_uni_pagedir[1])
195 con_free_unimap(conp);
196 conp->vc_uni_pagedir_loc = &conp->vc_uni_pagedir;
197 con_set_default_unimap(conp);
198}
199
200static int
201promcon_switch(struct vc_data *conp)
202{
203 return 1;
204}
205
206static unsigned short *
207promcon_repaint_line(unsigned short *s, unsigned char *buf, unsigned char **bp)
208{
209 int cnt = pw + 1;
210 int attr = -1;
211 unsigned char *b = *bp;
212
213 while (cnt--) {
214 u16 c = scr_readw(s);
215 if (attr != inverted(c)) {
216 attr = inverted(c);
217 if (attr) {
218 strcpy (b, "\033[7m");
219 b += 4;
220 } else {
221 strcpy (b, "\033[m");
222 b += 3;
223 }
224 }
225 *b++ = c;
226 s++;
227 if (b - buf >= 224) {
228 promcon_puts(buf, b - buf);
229 b = buf;
230 }
231 }
232 *bp = b;
233 return s;
234}
235
236static void
237promcon_putcs(struct vc_data *conp, const unsigned short *s,
238 int count, int y, int x)
239{
240 unsigned char buf[256], *b = buf;
241 unsigned short attr = scr_readw(s);
242 unsigned char save;
243 int i, last = 0;
244
245 if (console_blanked)
246 return;
247
248 if (count <= 0)
249 return;
250
251 b += promcon_start(conp, b);
252
253 if (x + count >= pw + 1) {
254 if (count == 1) {
255 x -= 1;
256 save = scr_readw((unsigned short *)(conp->vc_origin
257 + y * conp->vc_size_row
258 + (x << 1)));
259
260 if (px != x || py != y) {
261 b += sprintf(b, "\033[%d;%dH", y + 1, x + 1);
262 px = x;
263 py = y;
264 }
265
266 if (inverted(attr))
267 b += sprintf(b, "\033[7m%c\033[m", scr_readw(s++));
268 else
269 b += sprintf(b, "%c", scr_readw(s++));
270
271 strcpy(b, "\b\033[@");
272 b += 4;
273
274 if (inverted(save))
275 b += sprintf(b, "\033[7m%c\033[m", save);
276 else
277 b += sprintf(b, "%c", save);
278
279 px++;
280
281 b += promcon_end(conp, b);
282 promcon_puts(buf, b - buf);
283 return;
284 } else {
285 last = 1;
286 count = pw - x - 1;
287 }
288 }
289
290 if (inverted(attr)) {
291 strcpy(b, "\033[7m");
292 b += 4;
293 }
294
295 if (px != x || py != y) {
296 b += sprintf(b, "\033[%d;%dH", y + 1, x + 1);
297 px = x;
298 py = y;
299 }
300
301 for (i = 0; i < count; i++) {
302 if (b - buf >= 224) {
303 promcon_puts(buf, b - buf);
304 b = buf;
305 }
306 *b++ = scr_readw(s++);
307 }
308
309 px += count;
310
311 if (last) {
312 save = scr_readw(s++);
313 b += sprintf(b, "%c\b\033[@%c", scr_readw(s++), save);
314 px++;
315 }
316
317 if (inverted(attr)) {
318 strcpy(b, "\033[m");
319 b += 3;
320 }
321
322 b += promcon_end(conp, b);
323 promcon_puts(buf, b - buf);
324}
325
326static void
327promcon_putc(struct vc_data *conp, int c, int y, int x)
328{
329 unsigned short s;
330
331 if (console_blanked)
332 return;
333
334 scr_writew(c, &s);
335 promcon_putcs(conp, &s, 1, y, x);
336}
337
338static void
339promcon_clear(struct vc_data *conp, int sy, int sx, int height, int width)
340{
341 unsigned char buf[256], *b = buf;
342 int i, j;
343
344 if (console_blanked)
345 return;
346
347 b += promcon_start(conp, b);
348
349 if (!sx && width == pw + 1) {
350
351 if (!sy && height == ph + 1) {
352 strcpy(b, "\033[H\033[J");
353 b += 6;
354 b += promcon_end(conp, b);
355 promcon_puts(buf, b - buf);
356 return;
357 } else if (sy + height == ph + 1) {
358 b += sprintf(b, "\033[%dH\033[J", sy + 1);
359 b += promcon_end(conp, b);
360 promcon_puts(buf, b - buf);
361 return;
362 }
363
364 b += sprintf(b, "\033[%dH", sy + 1);
365 for (i = 1; i < height; i++) {
366 strcpy(b, "\033[K\n");
367 b += 4;
368 }
369
370 strcpy(b, "\033[K");
371 b += 3;
372
373 b += promcon_end(conp, b);
374 promcon_puts(buf, b - buf);
375 return;
376
377 } else if (sx + width == pw + 1) {
378
379 b += sprintf(b, "\033[%d;%dH", sy + 1, sx + 1);
380 for (i = 1; i < height; i++) {
381 strcpy(b, "\033[K\n");
382 b += 4;
383 }
384
385 strcpy(b, "\033[K");
386 b += 3;
387
388 b += promcon_end(conp, b);
389 promcon_puts(buf, b - buf);
390 return;
391 }
392
393 for (i = sy + 1; i <= sy + height; i++) {
394 b += sprintf(b, "\033[%d;%dH", i, sx + 1);
395 for (j = 0; j < width; j++)
396 *b++ = ' ';
397 if (b - buf + width >= 224) {
398 promcon_puts(buf, b - buf);
399 b = buf;
400 }
401 }
402
403 b += promcon_end(conp, b);
404 promcon_puts(buf, b - buf);
405}
406
407static void
408promcon_bmove(struct vc_data *conp, int sy, int sx, int dy, int dx,
409 int height, int width)
410{
411 char buf[256], *b = buf;
412
413 if (console_blanked)
414 return;
415
416 b += promcon_start(conp, b);
417 if (sy == dy && height == 1) {
418 if (dx > sx && dx + width == conp->vc_cols)
419 b += sprintf(b, "\033[%d;%dH\033[%d@\033[%d;%dH",
420 sy + 1, sx + 1, dx - sx, py + 1, px + 1);
421 else if (dx < sx && sx + width == conp->vc_cols)
422 b += sprintf(b, "\033[%d;%dH\033[%dP\033[%d;%dH",
423 dy + 1, dx + 1, sx - dx, py + 1, px + 1);
424
425 b += promcon_end(conp, b);
426 promcon_puts(buf, b - buf);
427 return;
428 }
429
430 /*
431 * FIXME: What to do here???
432 * Current console.c should not call it like that ever.
433 */
434 prom_printf("\033[7mFIXME: bmove not handled\033[m\n");
435}
436
437static void
438promcon_cursor(struct vc_data *conp, int mode)
439{
440 char buf[32], *b = buf;
441
442 switch (mode) {
443 case CM_ERASE:
444 break;
445
446 case CM_MOVE:
447 case CM_DRAW:
448 b += promcon_start(conp, b);
449 if (px != conp->vc_x || py != conp->vc_y) {
450 px = conp->vc_x;
451 py = conp->vc_y;
452 b += sprintf(b, "\033[%d;%dH", py + 1, px + 1);
453 }
454 promcon_puts(buf, b - buf);
455 break;
456 }
457}
458
459static int
460promcon_blank(struct vc_data *conp, int blank, int mode_switch)
461{
462 if (blank) {
463 promcon_puts("\033[H\033[J\033[7m \033[m\b", 15);
464 return 0;
465 } else {
466 /* Let console.c redraw */
467 return 1;
468 }
469}
470
471static int
472promcon_scroll(struct vc_data *conp, int t, int b, int dir, int count)
473{
474 unsigned char buf[256], *p = buf;
475 unsigned short *s;
476 int i;
477
478 if (console_blanked)
479 return 0;
480
481 p += promcon_start(conp, p);
482
483 switch (dir) {
484 case SM_UP:
485 if (b == ph + 1) {
486 p += sprintf(p, "\033[%dH\033[%dM", t + 1, count);
487 px = 0;
488 py = t;
489 p += promcon_end(conp, p);
490 promcon_puts(buf, p - buf);
491 break;
492 }
493
494 s = (unsigned short *)(conp->vc_origin
495 + (t + count) * conp->vc_size_row);
496
497 p += sprintf(p, "\033[%dH", t + 1);
498
499 for (i = t; i < b - count; i++)
500 s = promcon_repaint_line(s, buf, &p);
501
502 for (; i < b - 1; i++) {
503 strcpy(p, "\033[K\n");
504 p += 4;
505 if (p - buf >= 224) {
506 promcon_puts(buf, p - buf);
507 p = buf;
508 }
509 }
510
511 strcpy(p, "\033[K");
512 p += 3;
513
514 p += promcon_end(conp, p);
515 promcon_puts(buf, p - buf);
516 break;
517
518 case SM_DOWN:
519 if (b == ph + 1) {
520 p += sprintf(p, "\033[%dH\033[%dL", t + 1, count);
521 px = 0;
522 py = t;
523 p += promcon_end(conp, p);
524 promcon_puts(buf, p - buf);
525 break;
526 }
527
528 s = (unsigned short *)(conp->vc_origin + t * conp->vc_size_row);
529
530 p += sprintf(p, "\033[%dH", t + 1);
531
532 for (i = t; i < t + count; i++) {
533 strcpy(p, "\033[K\n");
534 p += 4;
535 if (p - buf >= 224) {
536 promcon_puts(buf, p - buf);
537 p = buf;
538 }
539 }
540
541 for (; i < b; i++)
542 s = promcon_repaint_line(s, buf, &p);
543
544 p += promcon_end(conp, p);
545 promcon_puts(buf, p - buf);
546 break;
547 }
548
549 return 0;
550}
551
552#if !(PROMCON_COLOR)
553static u8 promcon_build_attr(struct vc_data *conp, u8 _color, u8 _intensity, u8 _blink, u8 _underline, u8 _reverse)
554{
555 return (_reverse) ? 0xf : 0x7;
556}
557#endif
558
559/*
560 * The console 'switch' structure for the VGA based console
561 */
562
563static int promcon_dummy(void)
564{
565 return 0;
566}
567
568#define DUMMY (void *) promcon_dummy
569
570const struct consw prom_con = {
571 .owner = THIS_MODULE,
572 .con_startup = promcon_startup,
573 .con_init = promcon_init,
574 .con_deinit = promcon_deinit,
575 .con_clear = promcon_clear,
576 .con_putc = promcon_putc,
577 .con_putcs = promcon_putcs,
578 .con_cursor = promcon_cursor,
579 .con_scroll = promcon_scroll,
580 .con_bmove = promcon_bmove,
581 .con_switch = promcon_switch,
582 .con_blank = promcon_blank,
583 .con_set_palette = DUMMY,
584 .con_scrolldelta = DUMMY,
585#if !(PROMCON_COLOR)
586 .con_build_attr = promcon_build_attr,
587#endif
588};
589
590void __init prom_con_init(void)
591{
592#ifdef CONFIG_DUMMY_CONSOLE
593 if (conswitchp == &dummy_con)
594 take_over_console(&prom_con, 0, MAX_NR_CONSOLES-1, 1);
595 else
596#endif
597 if (conswitchp == &prom_con)
598 promcon_init_unimap(vc_cons[fg_console].d);
599}
diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c
new file mode 100644
index 000000000000..fd5940f41271
--- /dev/null
+++ b/drivers/video/console/sticon.c
@@ -0,0 +1,392 @@
1/*
2 * linux/drivers/video/console/sticon.c - console driver using HP's STI firmware
3 *
4 * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org>
5 * Copyright (C) 2002 Helge Deller <deller@gmx.de>
6 *
7 * Based on linux/drivers/video/vgacon.c and linux/drivers/video/fbcon.c,
8 * which were
9 *
10 * Created 28 Sep 1997 by Geert Uytterhoeven
11 * Rewritten by Martin Mares <mj@ucw.cz>, July 1998
12 * Copyright (C) 1991, 1992 Linus Torvalds
13 * 1995 Jay Estabrook
14 * Copyright (C) 1995 Geert Uytterhoeven
15 * Copyright (C) 1993 Bjoern Brauel
16 * Roman Hodek
17 * Copyright (C) 1993 Hamish Macdonald
18 * Greg Harp
19 * Copyright (C) 1994 David Carter [carter@compsci.bristol.ac.uk]
20 *
21 * with work by William Rucklidge (wjr@cs.cornell.edu)
22 * Geert Uytterhoeven
23 * Jes Sorensen (jds@kom.auc.dk)
24 * Martin Apel
25 * with work by Guenther Kelleter
26 * Martin Schaller
27 * Andreas Schwab
28 * Emmanuel Marty (core@ggi-project.org)
29 * Jakub Jelinek (jj@ultra.linux.cz)
30 * Martin Mares <mj@ucw.cz>
31 *
32 * This file is subject to the terms and conditions of the GNU General Public
33 * License. See the file COPYING in the main directory of this archive for
34 * more details.
35 *
36 */
37
38#include <linux/init.h>
39#include <linux/kernel.h>
40#include <linux/tty.h>
41#include <linux/console.h>
42#include <linux/errno.h>
43#include <linux/vt_kern.h>
44#include <linux/kd.h>
45#include <linux/selection.h>
46#include <linux/module.h>
47
48#include <asm/io.h>
49
50#include "../sticore.h"
51
52/* switching to graphics mode */
53#define BLANK 0
54static int vga_is_gfx;
55
56/* this is the sti_struct used for this console */
57static struct sti_struct *sticon_sti;
58
59/* Software scrollback */
60static unsigned long softback_buf, softback_curr;
61static unsigned long softback_in;
62static unsigned long /* softback_top, */ softback_end;
63static int softback_lines;
64
65/* software cursor */
66static int cursor_drawn;
67#define CURSOR_DRAW_DELAY (1)
68#define DEFAULT_CURSOR_BLINK_RATE (20)
69
70static int vbl_cursor_cnt;
71
72static inline void cursor_undrawn(void)
73{
74 vbl_cursor_cnt = 0;
75 cursor_drawn = 0;
76}
77
78static const char *__init sticon_startup(void)
79{
80 return "STI console";
81}
82
83static int sticon_set_palette(struct vc_data *c, unsigned char *table)
84{
85 return -EINVAL;
86}
87
88static void sticon_putc(struct vc_data *conp, int c, int ypos, int xpos)
89{
90 int redraw_cursor = 0;
91
92 if (vga_is_gfx || console_blanked)
93 return;
94
95 if (conp->vc_mode != KD_TEXT)
96 return;
97#if 0
98 if ((p->cursor_x == xpos) && (p->cursor_y == ypos)) {
99 cursor_undrawn();
100 redraw_cursor = 1;
101 }
102#endif
103
104 sti_putc(sticon_sti, c, ypos, xpos);
105
106 if (redraw_cursor)
107 vbl_cursor_cnt = CURSOR_DRAW_DELAY;
108}
109
110static void sticon_putcs(struct vc_data *conp, const unsigned short *s,
111 int count, int ypos, int xpos)
112{
113 int redraw_cursor = 0;
114
115 if (vga_is_gfx || console_blanked)
116 return;
117
118 if (conp->vc_mode != KD_TEXT)
119 return;
120
121#if 0
122 if ((p->cursor_y == ypos) && (xpos <= p->cursor_x) &&
123 (p->cursor_x < (xpos + count))) {
124 cursor_undrawn();
125 redraw_cursor = 1;
126 }
127#endif
128
129 while (count--) {
130 sti_putc(sticon_sti, scr_readw(s++), ypos, xpos++);
131 }
132
133 if (redraw_cursor)
134 vbl_cursor_cnt = CURSOR_DRAW_DELAY;
135}
136
137static void sticon_cursor(struct vc_data *conp, int mode)
138{
139 unsigned short car1;
140
141 car1 = conp->vc_screenbuf[conp->vc_x + conp->vc_y * conp->vc_cols];
142 switch (mode) {
143 case CM_ERASE:
144 sti_putc(sticon_sti, car1, conp->vc_y, conp->vc_x);
145 break;
146 case CM_MOVE:
147 case CM_DRAW:
148 switch (conp->vc_cursor_type & 0x0f) {
149 case CUR_UNDERLINE:
150 case CUR_LOWER_THIRD:
151 case CUR_LOWER_HALF:
152 case CUR_TWO_THIRDS:
153 case CUR_BLOCK:
154 sti_putc(sticon_sti, (car1 & 255) + (0 << 8) + (7 << 11),
155 conp->vc_y, conp->vc_x);
156 break;
157 }
158 break;
159 }
160}
161
162static int sticon_scroll(struct vc_data *conp, int t, int b, int dir, int count)
163{
164 struct sti_struct *sti = sticon_sti;
165
166 if (vga_is_gfx)
167 return 0;
168
169 sticon_cursor(conp, CM_ERASE);
170
171 switch (dir) {
172 case SM_UP:
173 sti_bmove(sti, t + count, 0, t, 0, b - t - count, conp->vc_cols);
174 sti_clear(sti, b - count, 0, count, conp->vc_cols, conp->vc_video_erase_char);
175 break;
176
177 case SM_DOWN:
178 sti_bmove(sti, t, 0, t + count, 0, b - t - count, conp->vc_cols);
179 sti_clear(sti, t, 0, count, conp->vc_cols, conp->vc_video_erase_char);
180 break;
181 }
182
183 return 0;
184}
185
186static void sticon_bmove(struct vc_data *conp, int sy, int sx,
187 int dy, int dx, int height, int width)
188{
189 if (!width || !height)
190 return;
191#if 0
192 if (((sy <= p->cursor_y) && (p->cursor_y < sy+height) &&
193 (sx <= p->cursor_x) && (p->cursor_x < sx+width)) ||
194 ((dy <= p->cursor_y) && (p->cursor_y < dy+height) &&
195 (dx <= p->cursor_x) && (p->cursor_x < dx+width)))
196 sticon_cursor(p, CM_ERASE /*|CM_SOFTBACK*/);
197#endif
198
199 sti_bmove(sticon_sti, sy, sx, dy, dx, height, width);
200}
201
202static void sticon_init(struct vc_data *c, int init)
203{
204 struct sti_struct *sti = sticon_sti;
205 int vc_cols, vc_rows;
206
207 sti_set(sti, 0, 0, sti_onscreen_y(sti), sti_onscreen_x(sti), 0);
208 vc_cols = sti_onscreen_x(sti) / sti->font_width;
209 vc_rows = sti_onscreen_y(sti) / sti->font_height;
210 c->vc_can_do_color = 1;
211
212 if (init) {
213 c->vc_cols = vc_cols;
214 c->vc_rows = vc_rows;
215 } else {
216 /* vc_rows = (c->vc_rows > vc_rows) ? vc_rows : c->vc_rows; */
217 /* vc_cols = (c->vc_cols > vc_cols) ? vc_cols : c->vc_cols; */
218 vc_resize(c, vc_cols, vc_rows);
219/* vc_resize_con(vc_rows, vc_cols, c->vc_num); */
220 }
221}
222
223static void sticon_deinit(struct vc_data *c)
224{
225}
226
227static void sticon_clear(struct vc_data *conp, int sy, int sx, int height,
228 int width)
229{
230 if (!height || !width)
231 return;
232
233 sti_clear(sticon_sti, sy, sx, height, width, conp->vc_video_erase_char);
234}
235
236static int sticon_switch(struct vc_data *conp)
237{
238 return 1; /* needs refreshing */
239}
240
241static int sticon_set_origin(struct vc_data *conp)
242{
243 return 0;
244}
245
246static int sticon_blank(struct vc_data *c, int blank, int mode_switch)
247{
248 if (blank == 0) {
249 if (mode_switch)
250 vga_is_gfx = 0;
251 return 1;
252 }
253 sticon_set_origin(c);
254 sti_clear(sticon_sti, 0,0, c->vc_rows, c->vc_cols, BLANK);
255 if (mode_switch)
256 vga_is_gfx = 1;
257 return 1;
258}
259
260static int sticon_scrolldelta(struct vc_data *conp, int lines)
261{
262 return 0;
263}
264
265static u16 *sticon_screen_pos(struct vc_data *conp, int offset)
266{
267 int line;
268 unsigned long p;
269
270 if (conp->vc_num != fg_console || !softback_lines)
271 return (u16 *)(conp->vc_origin + offset);
272 line = offset / conp->vc_size_row;
273 if (line >= softback_lines)
274 return (u16 *)(conp->vc_origin + offset - softback_lines * conp->vc_size_row);
275 p = softback_curr + offset;
276 if (p >= softback_end)
277 p += softback_buf - softback_end;
278 return (u16 *)p;
279}
280
281static unsigned long sticon_getxy(struct vc_data *conp, unsigned long pos,
282 int *px, int *py)
283{
284 int x, y;
285 unsigned long ret;
286 if (pos >= conp->vc_origin && pos < conp->vc_scr_end) {
287 unsigned long offset = (pos - conp->vc_origin) / 2;
288
289 x = offset % conp->vc_cols;
290 y = offset / conp->vc_cols;
291 if (conp->vc_num == fg_console)
292 y += softback_lines;
293 ret = pos + (conp->vc_cols - x) * 2;
294 } else if (conp->vc_num == fg_console && softback_lines) {
295 unsigned long offset = pos - softback_curr;
296
297 if (pos < softback_curr)
298 offset += softback_end - softback_buf;
299 offset /= 2;
300 x = offset % conp->vc_cols;
301 y = offset / conp->vc_cols;
302 ret = pos + (conp->vc_cols - x) * 2;
303 if (ret == softback_end)
304 ret = softback_buf;
305 if (ret == softback_in)
306 ret = conp->vc_origin;
307 } else {
308 /* Should not happen */
309 x = y = 0;
310 ret = conp->vc_origin;
311 }
312 if (px) *px = x;
313 if (py) *py = y;
314 return ret;
315}
316
317static u8 sticon_build_attr(struct vc_data *conp, u8 color, u8 intens,
318 u8 blink, u8 underline, u8 reverse)
319{
320 u8 attr = ((color & 0x70) >> 1) | ((color & 7));
321
322 if (reverse) {
323 color = ((color >> 3) & 0x7) | ((color & 0x7) << 3);
324 }
325
326 return attr;
327}
328
329static void sticon_invert_region(struct vc_data *conp, u16 *p, int count)
330{
331 int col = 1; /* vga_can_do_color; */
332
333 while (count--) {
334 u16 a = scr_readw(p);
335
336 if (col)
337 a = ((a) & 0x88ff) | (((a) & 0x7000) >> 4) | (((a) & 0x0700) << 4);
338 else
339 a = ((a & 0x0700) == 0x0100) ? 0x7000 : 0x7700;
340
341 scr_writew(a, p++);
342 }
343}
344
345static void sticon_save_screen(struct vc_data *conp)
346{
347}
348
349static struct consw sti_con = {
350 .owner = THIS_MODULE,
351 .con_startup = sticon_startup,
352 .con_init = sticon_init,
353 .con_deinit = sticon_deinit,
354 .con_clear = sticon_clear,
355 .con_putc = sticon_putc,
356 .con_putcs = sticon_putcs,
357 .con_cursor = sticon_cursor,
358 .con_scroll = sticon_scroll,
359 .con_bmove = sticon_bmove,
360 .con_switch = sticon_switch,
361 .con_blank = sticon_blank,
362 .con_set_palette = sticon_set_palette,
363 .con_scrolldelta = sticon_scrolldelta,
364 .con_set_origin = sticon_set_origin,
365 .con_save_screen = sticon_save_screen,
366 .con_build_attr = sticon_build_attr,
367 .con_invert_region = sticon_invert_region,
368 .con_screen_pos = sticon_screen_pos,
369 .con_getxy = sticon_getxy,
370};
371
372
373
374int __init sticonsole_init(void)
375{
376 /* already initialized ? */
377 if (sticon_sti)
378 return 0;
379
380 sticon_sti = sti_get_rom(0);
381 if (!sticon_sti)
382 return -ENODEV;
383
384 if (conswitchp == &dummy_con) {
385 printk(KERN_INFO "sticon: Initializing STI text console.\n");
386 return take_over_console(&sti_con, 0, MAX_NR_CONSOLES - 1, 1);
387 }
388 return 0;
389}
390
391module_init(sticonsole_init);
392MODULE_LICENSE("GPL");
diff --git a/drivers/video/console/sticore.c b/drivers/video/console/sticore.c
new file mode 100644
index 000000000000..d940f605acb6
--- /dev/null
+++ b/drivers/video/console/sticore.c
@@ -0,0 +1,1088 @@
1/*
2 * linux/drivers/video/console/sticore.c -
3 * core code for console driver using HP's STI firmware
4 *
5 * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org>
6 * Copyright (C) 2001-2003 Helge Deller <deller@gmx.de>
7 * Copyright (C) 2001-2002 Thomas Bogendoerfer <tsbogend@alpha.franken.de>
8 *
9 * TODO:
10 * - call STI in virtual mode rather than in real mode
11 * - screen blanking with state_mgmt() in text mode STI ?
12 * - try to make it work on m68k hp workstations ;)
13 *
14 */
15
16#include <linux/config.h>
17#include <linux/module.h>
18#include <linux/types.h>
19#include <linux/kernel.h>
20#include <linux/slab.h>
21#include <linux/init.h>
22#include <linux/pci.h>
23#include <linux/font.h>
24
25#include <asm/hardware.h>
26#include <asm/parisc-device.h>
27#include <asm/cacheflush.h>
28
29#include "../sticore.h"
30
31#define STI_DRIVERVERSION "Version 0.9a"
32
33struct sti_struct *default_sti;
34
35static int num_sti_roms; /* # of STI ROMS found */
36static struct sti_struct *sti_roms[MAX_STI_ROMS]; /* ptr to each sti_struct */
37
38
39/* The colour indices used by STI are
40 * 0 - Black
41 * 1 - White
42 * 2 - Red
43 * 3 - Yellow/Brown
44 * 4 - Green
45 * 5 - Cyan
46 * 6 - Blue
47 * 7 - Magenta
48 *
49 * So we have the same colours as VGA (basically one bit each for R, G, B),
50 * but have to translate them, anyway. */
51
52static const u8 col_trans[8] = {
53 0, 6, 4, 5,
54 2, 7, 3, 1
55};
56
57#define c_fg(sti, c) col_trans[((c>> 8) & 7)]
58#define c_bg(sti, c) col_trans[((c>>11) & 7)]
59#define c_index(sti, c) ((c) & 0xff)
60
61static const struct sti_init_flags default_init_flags = {
62 .wait = STI_WAIT,
63 .reset = 1,
64 .text = 1,
65 .nontext = 1,
66 .no_chg_bet = 1,
67 .no_chg_bei = 1,
68 .init_cmap_tx = 1,
69};
70
71int
72sti_init_graph(struct sti_struct *sti)
73{
74 struct sti_init_inptr_ext inptr_ext = { 0, };
75 struct sti_init_inptr inptr = {
76 .text_planes = 3, /* # of text planes (max 3 for STI) */
77 .ext_ptr = STI_PTR(&inptr_ext)
78 };
79 struct sti_init_outptr outptr = { 0, };
80 unsigned long flags;
81 int ret;
82
83 spin_lock_irqsave(&sti->lock, flags);
84
85 ret = STI_CALL(sti->init_graph, &default_init_flags, &inptr,
86 &outptr, sti->glob_cfg);
87
88 spin_unlock_irqrestore(&sti->lock, flags);
89
90 if (ret < 0) {
91 printk(KERN_ERR "STI init_graph failed (ret %d, errno %d)\n",ret,outptr.errno);
92 return -1;
93 }
94
95 sti->text_planes = outptr.text_planes;
96 return 0;
97}
98
99static const struct sti_conf_flags default_conf_flags = {
100 .wait = STI_WAIT,
101};
102
103void
104sti_inq_conf(struct sti_struct *sti)
105{
106 struct sti_conf_inptr inptr = { 0, };
107 unsigned long flags;
108 s32 ret;
109
110 sti->outptr.ext_ptr = STI_PTR(&sti->outptr_ext);
111
112 do {
113 spin_lock_irqsave(&sti->lock, flags);
114 ret = STI_CALL(sti->inq_conf, &default_conf_flags,
115 &inptr, &sti->outptr, sti->glob_cfg);
116 spin_unlock_irqrestore(&sti->lock, flags);
117 } while (ret == 1);
118}
119
120static const struct sti_font_flags default_font_flags = {
121 .wait = STI_WAIT,
122 .non_text = 0,
123};
124
125void
126sti_putc(struct sti_struct *sti, int c, int y, int x)
127{
128 struct sti_font_inptr inptr = {
129 .font_start_addr= STI_PTR(sti->font->raw),
130 .index = c_index(sti, c),
131 .fg_color = c_fg(sti, c),
132 .bg_color = c_bg(sti, c),
133 .dest_x = x * sti->font_width,
134 .dest_y = y * sti->font_height,
135 };
136 struct sti_font_outptr outptr = { 0, };
137 s32 ret;
138 unsigned long flags;
139
140 do {
141 spin_lock_irqsave(&sti->lock, flags);
142 ret = STI_CALL(sti->font_unpmv, &default_font_flags,
143 &inptr, &outptr, sti->glob_cfg);
144 spin_unlock_irqrestore(&sti->lock, flags);
145 } while (ret == 1);
146}
147
148static const struct sti_blkmv_flags clear_blkmv_flags = {
149 .wait = STI_WAIT,
150 .color = 1,
151 .clear = 1,
152};
153
154void
155sti_set(struct sti_struct *sti, int src_y, int src_x,
156 int height, int width, u8 color)
157{
158 struct sti_blkmv_inptr inptr = {
159 .fg_color = color,
160 .bg_color = color,
161 .src_x = src_x,
162 .src_y = src_y,
163 .dest_x = src_x,
164 .dest_y = src_y,
165 .width = width,
166 .height = height,
167 };
168 struct sti_blkmv_outptr outptr = { 0, };
169 s32 ret;
170 unsigned long flags;
171
172 do {
173 spin_lock_irqsave(&sti->lock, flags);
174 ret = STI_CALL(sti->block_move, &clear_blkmv_flags,
175 &inptr, &outptr, sti->glob_cfg);
176 spin_unlock_irqrestore(&sti->lock, flags);
177 } while (ret == 1);
178}
179
180void
181sti_clear(struct sti_struct *sti, int src_y, int src_x,
182 int height, int width, int c)
183{
184 struct sti_blkmv_inptr inptr = {
185 .fg_color = c_fg(sti, c),
186 .bg_color = c_bg(sti, c),
187 .src_x = src_x * sti->font_width,
188 .src_y = src_y * sti->font_height,
189 .dest_x = src_x * sti->font_width,
190 .dest_y = src_y * sti->font_height,
191 .width = width * sti->font_width,
192 .height = height* sti->font_height,
193 };
194 struct sti_blkmv_outptr outptr = { 0, };
195 s32 ret;
196 unsigned long flags;
197
198 do {
199 spin_lock_irqsave(&sti->lock, flags);
200 ret = STI_CALL(sti->block_move, &clear_blkmv_flags,
201 &inptr, &outptr, sti->glob_cfg);
202 spin_unlock_irqrestore(&sti->lock, flags);
203 } while (ret == 1);
204}
205
206static const struct sti_blkmv_flags default_blkmv_flags = {
207 .wait = STI_WAIT,
208};
209
210void
211sti_bmove(struct sti_struct *sti, int src_y, int src_x,
212 int dst_y, int dst_x, int height, int width)
213{
214 struct sti_blkmv_inptr inptr = {
215 .src_x = src_x * sti->font_width,
216 .src_y = src_y * sti->font_height,
217 .dest_x = dst_x * sti->font_width,
218 .dest_y = dst_y * sti->font_height,
219 .width = width * sti->font_width,
220 .height = height* sti->font_height,
221 };
222 struct sti_blkmv_outptr outptr = { 0, };
223 s32 ret;
224 unsigned long flags;
225
226 do {
227 spin_lock_irqsave(&sti->lock, flags);
228 ret = STI_CALL(sti->block_move, &default_blkmv_flags,
229 &inptr, &outptr, sti->glob_cfg);
230 spin_unlock_irqrestore(&sti->lock, flags);
231 } while (ret == 1);
232}
233
234
235/* FIXME: Do we have another solution for this ? */
236static void sti_flush(unsigned long from, unsigned long len)
237{
238 flush_data_cache();
239 flush_kernel_dcache_range(from, len);
240 flush_icache_range(from, from+len);
241}
242
243void __init
244sti_rom_copy(unsigned long base, unsigned long count, void *dest)
245{
246 unsigned long dest_len = count;
247 unsigned long dest_start = (unsigned long) dest;
248
249 /* this still needs to be revisited (see arch/parisc/mm/init.c:246) ! */
250 while (count >= 4) {
251 count -= 4;
252 *(u32 *)dest = gsc_readl(base);
253 base += 4;
254 dest += 4;
255 }
256 while (count) {
257 count--;
258 *(u8 *)dest = gsc_readb(base);
259 base++;
260 dest++;
261 }
262
263 sti_flush(dest_start, dest_len);
264}
265
266
267
268
269static char default_sti_path[21];
270
271#ifndef MODULE
272static int __init sti_setup(char *str)
273{
274 if (str)
275 strlcpy (default_sti_path, str, sizeof (default_sti_path));
276
277 return 0;
278}
279
280/* Assuming the machine has multiple STI consoles (=graphic cards) which
281 * all get detected by sticon, the user may define with the linux kernel
282 * parameter sti=<x> which of them will be the initial boot-console.
283 * <x> is a number between 0 and MAX_STI_ROMS, with 0 as the default
284 * STI screen.
285 */
286__setup("sti=", sti_setup);
287#endif
288
289
290
291static char __initdata *font_name[MAX_STI_ROMS] = { "VGA8x16", };
292static int __initdata font_index[MAX_STI_ROMS],
293 font_height[MAX_STI_ROMS],
294 font_width[MAX_STI_ROMS];
295#ifndef MODULE
296static int __init sti_font_setup(char *str)
297{
298 char *x;
299 int i = 0;
300
301 /* we accept sti_font=VGA8x16, sti_font=10x20, sti_font=10*20
302 * or sti_font=7 style command lines. */
303
304 while (i<MAX_STI_ROMS && str && *str) {
305 if (*str>='0' && *str<='9') {
306 if ((x = strchr(str, 'x')) || (x = strchr(str, '*'))) {
307 font_height[i] = simple_strtoul(str, NULL, 0);
308 font_width[i] = simple_strtoul(x+1, NULL, 0);
309 } else {
310 font_index[i] = simple_strtoul(str, NULL, 0);
311 }
312 } else {
313 font_name[i] = str; /* fb font name */
314 }
315
316 if ((x = strchr(str, ',')))
317 *x++ = 0;
318 str = x;
319
320 i++;
321 }
322
323 return 0;
324}
325
326/* The optional linux kernel parameter "sti_font" defines which font
327 * should be used by the sticon driver to draw characters to the screen.
328 * Possible values are:
329 * - sti_font=<fb_fontname>:
330 * <fb_fontname> is the name of one of the linux-kernel built-in
331 * framebuffer font names (e.g. VGA8x16, SUN22x18).
332 * This is only available if the fonts have been statically compiled
333 * in with e.g. the CONFIG_FONT_8x16 or CONFIG_FONT_SUN12x22 options.
334 * - sti_font=<number>
335 * most STI ROMs have built-in HP specific fonts, which can be selected
336 * by giving the desired number to the sticon driver.
337 * NOTE: This number is machine and STI ROM dependend.
338 * - sti_font=<height>x<width> (e.g. sti_font=16x8)
339 * <height> and <width> gives hints to the height and width of the
340 * font which the user wants. The sticon driver will try to use
341 * a font with this height and width, but if no suitable font is
342 * found, sticon will use the default 8x8 font.
343 */
344__setup("sti_font=", sti_font_setup);
345#endif
346
347
348
349static void __init
350sti_dump_globcfg(struct sti_glob_cfg *glob_cfg, unsigned int sti_mem_request)
351{
352 struct sti_glob_cfg_ext *cfg;
353
354 DPRINTK((KERN_INFO
355 "%d text planes\n"
356 "%4d x %4d screen resolution\n"
357 "%4d x %4d offscreen\n"
358 "%4d x %4d layout\n"
359 "regions at %08x %08x %08x %08x\n"
360 "regions at %08x %08x %08x %08x\n"
361 "reent_lvl %d\n"
362 "save_addr %08x\n",
363 glob_cfg->text_planes,
364 glob_cfg->onscreen_x, glob_cfg->onscreen_y,
365 glob_cfg->offscreen_x, glob_cfg->offscreen_y,
366 glob_cfg->total_x, glob_cfg->total_y,
367 glob_cfg->region_ptrs[0], glob_cfg->region_ptrs[1],
368 glob_cfg->region_ptrs[2], glob_cfg->region_ptrs[3],
369 glob_cfg->region_ptrs[4], glob_cfg->region_ptrs[5],
370 glob_cfg->region_ptrs[6], glob_cfg->region_ptrs[7],
371 glob_cfg->reent_lvl,
372 glob_cfg->save_addr));
373
374 /* dump extended cfg */
375 cfg = PTR_STI(glob_cfg->ext_ptr);
376 DPRINTK(( KERN_INFO
377 "monitor %d\n"
378 "in friendly mode: %d\n"
379 "power consumption %d watts\n"
380 "freq ref %d\n"
381 "sti_mem_addr %08x (size=%d bytes)\n",
382 cfg->curr_mon,
383 cfg->friendly_boot,
384 cfg->power,
385 cfg->freq_ref,
386 cfg->sti_mem_addr, sti_mem_request));
387}
388
389static void __init
390sti_dump_outptr(struct sti_struct *sti)
391{
392 DPRINTK((KERN_INFO
393 "%d bits per pixel\n"
394 "%d used bits\n"
395 "%d planes\n"
396 "attributes %08x\n",
397 sti->outptr.bits_per_pixel,
398 sti->outptr.bits_used,
399 sti->outptr.planes,
400 sti->outptr.attributes));
401}
402
403static int __init
404sti_init_glob_cfg(struct sti_struct *sti,
405 unsigned long rom_address, unsigned long hpa)
406{
407 struct sti_glob_cfg *glob_cfg;
408 struct sti_glob_cfg_ext *glob_cfg_ext;
409 void *save_addr;
410 void *sti_mem_addr;
411 const int save_addr_size = 1024; /* XXX */
412 int i;
413
414 if (!sti->sti_mem_request)
415 sti->sti_mem_request = 256; /* STI default */
416
417 glob_cfg = kmalloc(sizeof(*sti->glob_cfg), GFP_KERNEL);
418 glob_cfg_ext = kmalloc(sizeof(*glob_cfg_ext), GFP_KERNEL);
419 save_addr = kmalloc(save_addr_size, GFP_KERNEL);
420 sti_mem_addr = kmalloc(sti->sti_mem_request, GFP_KERNEL);
421
422 if (!(glob_cfg && glob_cfg_ext && save_addr && sti_mem_addr)) {
423 kfree(glob_cfg);
424 kfree(glob_cfg_ext);
425 kfree(save_addr);
426 kfree(sti_mem_addr);
427 return -ENOMEM;
428 }
429
430 memset(glob_cfg, 0, sizeof(*glob_cfg));
431 memset(glob_cfg_ext, 0, sizeof(*glob_cfg_ext));
432 memset(save_addr, 0, save_addr_size);
433 memset(sti_mem_addr, 0, sti->sti_mem_request);
434
435 glob_cfg->ext_ptr = STI_PTR(glob_cfg_ext);
436 glob_cfg->save_addr = STI_PTR(save_addr);
437 for (i=0; i<8; i++) {
438 unsigned long newhpa, len;
439
440 if (sti->pd) {
441 unsigned char offs = sti->rm_entry[i];
442
443 if (offs == 0)
444 continue;
445 if (offs != PCI_ROM_ADDRESS &&
446 (offs < PCI_BASE_ADDRESS_0 ||
447 offs > PCI_BASE_ADDRESS_5)) {
448 printk (KERN_WARNING
449 "STI pci region maping for region %d (%02x) can't be mapped\n",
450 i,sti->rm_entry[i]);
451 continue;
452 }
453 newhpa = pci_resource_start (sti->pd, (offs - PCI_BASE_ADDRESS_0) / 4);
454 } else
455 newhpa = (i == 0) ? rom_address : hpa;
456
457 sti->regions_phys[i] =
458 REGION_OFFSET_TO_PHYS(sti->regions[i], newhpa);
459
460 /* remap virtually */
461 /* FIXME: add BTLB support if btlb==1 */
462 len = sti->regions[i].region_desc.length * 4096;
463
464/* XXX: Enabling IOREMAP debugging causes a crash, so we must be passing
465 * a virtual address to something expecting a physical address that doesn't
466 * go through a readX macro */
467#if 0
468 if (len)
469 glob_cfg->region_ptrs[i] = (unsigned long) (
470 sti->regions[i].region_desc.cache ?
471 ioremap(sti->regions_phys[i], len) :
472 ioremap_nocache(sti->regions_phys[i], len) );
473#else
474 if (len)
475 glob_cfg->region_ptrs[i] = sti->regions_phys[i];
476#endif
477
478 DPRINTK(("region #%d: phys %08lx, virt %08x, len=%lukB, "
479 "btlb=%d, sysonly=%d, cache=%d, last=%d\n",
480 i, sti->regions_phys[i], glob_cfg->region_ptrs[i],
481 len/1024,
482 sti->regions[i].region_desc.btlb,
483 sti->regions[i].region_desc.sys_only,
484 sti->regions[i].region_desc.cache,
485 sti->regions[i].region_desc.last));
486
487 /* last entry reached ? */
488 if (sti->regions[i].region_desc.last)
489 break;
490 }
491
492 if (++i<8 && sti->regions[i].region)
493 printk(KERN_WARNING "%s: *future ptr (0x%8x) not yet supported !\n",
494 __FILE__, sti->regions[i].region);
495
496 glob_cfg_ext->sti_mem_addr = STI_PTR(sti_mem_addr);
497
498 sti->glob_cfg = glob_cfg;
499
500 return 0;
501}
502
503#ifdef CONFIG_FB
504struct sti_cooked_font * __init
505sti_select_fbfont( struct sti_cooked_rom *cooked_rom, char *fbfont_name )
506{
507 struct font_desc *fbfont;
508 unsigned int size, bpc;
509 void *dest;
510 struct sti_rom_font *nf;
511 struct sti_cooked_font *cooked_font;
512
513 if (!fbfont_name || !strlen(fbfont_name))
514 return NULL;
515 fbfont = find_font(fbfont_name);
516 if (!fbfont)
517 fbfont = get_default_font(1024,768);
518 if (!fbfont)
519 return NULL;
520
521 DPRINTK((KERN_DEBUG "selected %dx%d fb-font %s\n",
522 fbfont->width, fbfont->height, fbfont->name));
523
524 bpc = ((fbfont->width+7)/8) * fbfont->height;
525 size = bpc * 256;
526 size += sizeof(struct sti_rom_font);
527
528 nf = kmalloc(size, GFP_KERNEL);
529 if (!nf)
530 return NULL;
531 memset(nf, 0, size);
532
533 nf->first_char = 0;
534 nf->last_char = 255;
535 nf->width = fbfont->width;
536 nf->height = fbfont->height;
537 nf->font_type = STI_FONT_HPROMAN8;
538 nf->bytes_per_char = bpc;
539 nf->next_font = 0;
540 nf->underline_height = 1;
541 nf->underline_pos = fbfont->height - nf->underline_height;
542
543 dest = nf;
544 dest += sizeof(struct sti_rom_font);
545 memcpy(dest, fbfont->data, bpc*256);
546
547 cooked_font = kmalloc(sizeof(*cooked_font), GFP_KERNEL);
548 if (!cooked_font) {
549 kfree(nf);
550 return NULL;
551 }
552
553 cooked_font->raw = nf;
554 cooked_font->next_font = NULL;
555
556 cooked_rom->font_start = cooked_font;
557
558 return cooked_font;
559}
560#else
561struct sti_cooked_font * __init
562sti_select_fbfont(struct sti_cooked_rom *cooked_rom, char *fbfont_name)
563{
564 return NULL;
565}
566#endif
567
568struct sti_cooked_font * __init
569sti_select_font(struct sti_cooked_rom *rom,
570 int (*search_font_fnc) (struct sti_cooked_rom *,int,int) )
571{
572 struct sti_cooked_font *font;
573 int i;
574 int index = num_sti_roms;
575
576 /* check for framebuffer-font first */
577 if ((font = sti_select_fbfont(rom, font_name[index])))
578 return font;
579
580 if (font_width[index] && font_height[index])
581 font_index[index] = search_font_fnc(rom,
582 font_height[index], font_width[index]);
583
584 for (font = rom->font_start, i = font_index[index];
585 font && (i > 0);
586 font = font->next_font, i--);
587
588 if (font)
589 return font;
590 else
591 return rom->font_start;
592}
593
594
595static void __init
596sti_dump_rom(struct sti_rom *rom)
597{
598 printk(KERN_INFO " id %04x-%04x, conforms to spec rev. %d.%02x\n",
599 rom->graphics_id[0],
600 rom->graphics_id[1],
601 rom->revno[0] >> 4,
602 rom->revno[0] & 0x0f);
603 DPRINTK((" supports %d monitors\n", rom->num_mons));
604 DPRINTK((" font start %08x\n", rom->font_start));
605 DPRINTK((" region list %08x\n", rom->region_list));
606 DPRINTK((" init_graph %08x\n", rom->init_graph));
607 DPRINTK((" bus support %02x\n", rom->bus_support));
608 DPRINTK((" ext bus support %02x\n", rom->ext_bus_support));
609 DPRINTK((" alternate code type %d\n", rom->alt_code_type));
610}
611
612
613static int __init
614sti_cook_fonts(struct sti_cooked_rom *cooked_rom,
615 struct sti_rom *raw_rom)
616{
617 struct sti_rom_font *raw_font, *font_start;
618 struct sti_cooked_font *cooked_font;
619
620 cooked_font = kmalloc(sizeof(*cooked_font), GFP_KERNEL);
621 if (!cooked_font)
622 return 0;
623
624 cooked_rom->font_start = cooked_font;
625
626 raw_font = ((void *)raw_rom) + (raw_rom->font_start);
627
628 font_start = raw_font;
629 cooked_font->raw = raw_font;
630
631 while (raw_font->next_font) {
632 raw_font = ((void *)font_start) + (raw_font->next_font);
633
634 cooked_font->next_font = kmalloc(sizeof(*cooked_font), GFP_KERNEL);
635 if (!cooked_font->next_font)
636 return 1;
637
638 cooked_font = cooked_font->next_font;
639
640 cooked_font->raw = raw_font;
641 }
642
643 cooked_font->next_font = NULL;
644 return 1;
645}
646
647
648static int __init
649sti_search_font(struct sti_cooked_rom *rom, int height, int width)
650{
651 struct sti_cooked_font *font;
652 int i = 0;
653
654 for(font = rom->font_start; font; font = font->next_font, i++) {
655 if((font->raw->width == width) && (font->raw->height == height))
656 return i;
657 }
658 return 0;
659}
660
661#define BMODE_RELOCATE(offset) offset = (offset) / 4;
662#define BMODE_LAST_ADDR_OFFS 0x50
663
664static void * __init
665sti_bmode_font_raw(struct sti_cooked_font *f)
666{
667 unsigned char *n, *p, *q;
668 int size = f->raw->bytes_per_char*256+sizeof(struct sti_rom_font);
669
670 n = kmalloc (4*size, GFP_KERNEL);
671 if (!n)
672 return NULL;
673 memset (n, 0, 4*size);
674 p = n + 3;
675 q = (unsigned char *)f->raw;
676 while (size--) {
677 *p = *q++;
678 p+=4;
679 }
680 return n + 3;
681}
682
683static void __init
684sti_bmode_rom_copy(unsigned long base, unsigned long count, void *dest)
685{
686 unsigned long dest_len = count;
687 unsigned long dest_start = (unsigned long) dest;
688
689 while (count) {
690 count--;
691 *(u8 *)dest = gsc_readl(base);
692 base += 4;
693 dest++;
694 }
695 sti_flush(dest_start, dest_len);
696}
697
698static struct sti_rom * __init
699sti_get_bmode_rom (unsigned long address)
700{
701 struct sti_rom *raw;
702 u32 size;
703 struct sti_rom_font *raw_font, *font_start;
704
705 sti_bmode_rom_copy(address + BMODE_LAST_ADDR_OFFS, sizeof(size), &size);
706
707 size = (size+3) / 4;
708 raw = kmalloc(size, GFP_KERNEL);
709 if (raw) {
710 sti_bmode_rom_copy(address, size, raw);
711 memmove (&raw->res004, &raw->type[0], 0x3c);
712 raw->type[3] = raw->res004;
713
714 BMODE_RELOCATE (raw->region_list);
715 BMODE_RELOCATE (raw->font_start);
716
717 BMODE_RELOCATE (raw->init_graph);
718 BMODE_RELOCATE (raw->state_mgmt);
719 BMODE_RELOCATE (raw->font_unpmv);
720 BMODE_RELOCATE (raw->block_move);
721 BMODE_RELOCATE (raw->inq_conf);
722
723 raw_font = ((void *)raw) + raw->font_start;
724 font_start = raw_font;
725
726 while (raw_font->next_font) {
727 BMODE_RELOCATE (raw_font->next_font);
728 raw_font = ((void *)font_start) + raw_font->next_font;
729 }
730 }
731 return raw;
732}
733
734struct sti_rom * __init
735sti_get_wmode_rom (unsigned long address)
736{
737 struct sti_rom *raw;
738 unsigned long size;
739
740 /* read the ROM size directly from the struct in ROM */
741 size = gsc_readl(address + offsetof(struct sti_rom,last_addr));
742
743 raw = kmalloc(size, GFP_KERNEL);
744 if(raw)
745 sti_rom_copy(address, size, raw);
746
747 return raw;
748}
749
750int __init
751sti_read_rom(int wordmode, struct sti_struct *sti, unsigned long address)
752{
753 struct sti_cooked_rom *cooked;
754 struct sti_rom *raw = NULL;
755
756 cooked = kmalloc(sizeof *cooked, GFP_KERNEL);
757 if (!cooked)
758 goto out_err;
759
760 if (wordmode)
761 raw = sti_get_wmode_rom (address);
762 else
763 raw = sti_get_bmode_rom (address);
764
765 if (!raw)
766 goto out_err;
767
768 if (!sti_cook_fonts(cooked, raw)) {
769 printk(KERN_ERR "No font found for STI at %08lx\n", address);
770 goto out_err;
771 }
772
773 if (raw->region_list)
774 memcpy(sti->regions, ((void *)raw)+raw->region_list, sizeof(sti->regions));
775
776 address = (unsigned long) STI_PTR(raw);
777
778 sti->font_unpmv = address + (raw->font_unpmv & 0x03ffffff);
779 sti->block_move = address + (raw->block_move & 0x03ffffff);
780 sti->init_graph = address + (raw->init_graph & 0x03ffffff);
781 sti->inq_conf = address + (raw->inq_conf & 0x03ffffff);
782
783 sti->rom = cooked;
784 sti->rom->raw = raw;
785
786 sti->font = sti_select_font(sti->rom, sti_search_font);
787 sti->font_width = sti->font->raw->width;
788 sti->font_height = sti->font->raw->height;
789 if (!wordmode)
790 sti->font->raw = sti_bmode_font_raw(sti->font);
791
792 sti->sti_mem_request = raw->sti_mem_req;
793 sti->graphics_id[0] = raw->graphics_id[0];
794 sti->graphics_id[1] = raw->graphics_id[1];
795
796 sti_dump_rom(raw);
797
798 return 1;
799
800out_err:
801 kfree(raw);
802 kfree(cooked);
803 return 0;
804}
805
806static struct sti_struct * __init
807sti_try_rom_generic(unsigned long address, unsigned long hpa, struct pci_dev *pd)
808{
809 struct sti_struct *sti;
810 int ok;
811 u32 sig;
812
813 if (num_sti_roms >= MAX_STI_ROMS) {
814 printk(KERN_WARNING "maximum number of STI ROMS reached !\n");
815 return NULL;
816 }
817
818 sti = kmalloc(sizeof(*sti), GFP_KERNEL);
819 if (!sti) {
820 printk(KERN_ERR "Not enough memory !\n");
821 return NULL;
822 }
823
824 memset(sti, 0, sizeof(*sti));
825 spin_lock_init(&sti->lock);
826
827test_rom:
828 /* if we can't read the ROM, bail out early. Not being able
829 * to read the hpa is okay, for romless sti */
830 if (pdc_add_valid(address))
831 goto out_err;
832
833 sig = gsc_readl(address);
834
835 /* check for a PCI ROM structure */
836 if ((le32_to_cpu(sig)==0xaa55)) {
837 unsigned int i, rm_offset;
838 u32 *rm;
839 i = gsc_readl(address+0x04);
840 if (i != 1) {
841 /* The ROM could have multiple architecture
842 * dependent images (e.g. i386, parisc,...) */
843 printk(KERN_WARNING
844 "PCI ROM is not a STI ROM type image (0x%8x)\n", i);
845 goto out_err;
846 }
847
848 sti->pd = pd;
849
850 i = gsc_readl(address+0x0c);
851 DPRINTK(("PCI ROM size (from header) = %d kB\n",
852 le16_to_cpu(i>>16)*512/1024));
853 rm_offset = le16_to_cpu(i & 0xffff);
854 if (rm_offset) {
855 /* read 16 bytes from the pci region mapper array */
856 rm = (u32*) &sti->rm_entry;
857 *rm++ = gsc_readl(address+rm_offset+0x00);
858 *rm++ = gsc_readl(address+rm_offset+0x04);
859 *rm++ = gsc_readl(address+rm_offset+0x08);
860 *rm++ = gsc_readl(address+rm_offset+0x0c);
861 DPRINTK(("PCI region Mapper offset = %08x: ",
862 rm_offset));
863 for (i=0; i<16; i++)
864 DPRINTK(("%02x ", sti->rm_entry[i]));
865 DPRINTK(("\n"));
866 }
867
868 address += le32_to_cpu(gsc_readl(address+8));
869 DPRINTK(("sig %04x, PCI STI ROM at %08lx\n", sig, address));
870 goto test_rom;
871 }
872
873 ok = 0;
874
875 if ((sig & 0xff) == 0x01) {
876 DPRINTK((" byte mode ROM at %08lx, hpa at %08lx\n",
877 address, hpa));
878 ok = sti_read_rom(0, sti, address);
879 }
880
881 if ((sig & 0xffff) == 0x0303) {
882 DPRINTK((" word mode ROM at %08lx, hpa at %08lx\n",
883 address, hpa));
884 ok = sti_read_rom(1, sti, address);
885 }
886
887 if (!ok)
888 goto out_err;
889
890 if (sti_init_glob_cfg(sti, address, hpa))
891 goto out_err; /* not enough memory */
892
893 /* disable STI PCI ROM. ROM and card RAM overlap and
894 * leaving it enabled would force HPMCs
895 */
896 if (sti->pd) {
897 unsigned long rom_base;
898 rom_base = pci_resource_start(sti->pd, PCI_ROM_RESOURCE);
899 pci_write_config_dword(sti->pd, PCI_ROM_ADDRESS, rom_base & ~PCI_ROM_ADDRESS_ENABLE);
900 DPRINTK((KERN_DEBUG "STI PCI ROM disabled\n"));
901 }
902
903 if (sti_init_graph(sti))
904 goto out_err;
905
906 sti_inq_conf(sti);
907 sti_dump_globcfg(sti->glob_cfg, sti->sti_mem_request);
908 sti_dump_outptr(sti);
909
910 printk(KERN_INFO " graphics card name: %s\n", sti->outptr.dev_name );
911
912 sti_roms[num_sti_roms] = sti;
913 num_sti_roms++;
914
915 return sti;
916
917out_err:
918 kfree(sti);
919 return NULL;
920}
921
922static void __init sticore_check_for_default_sti(struct sti_struct *sti, char *path)
923{
924 if (strcmp (path, default_sti_path) == 0)
925 default_sti = sti;
926}
927
928/*
929 * on newer systems PDC gives the address of the ROM
930 * in the additional address field addr[1] while on
931 * older Systems the PDC stores it in page0->proc_sti
932 */
933static int __init sticore_pa_init(struct parisc_device *dev)
934{
935 unsigned long rom = 0;
936 char pa_path[21];
937 struct sti_struct *sti = NULL;
938
939 if(dev->num_addrs) {
940 rom = dev->addr[0];
941 }
942 if (!rom) {
943 rom = dev->hpa;
944 DPRINTK((KERN_DEBUG "Trying STI ROM at %08lx, hpa at %08lx\n", rom, dev->hpa));
945 sti = sti_try_rom_generic(rom, dev->hpa, NULL);
946 rom = PAGE0->proc_sti;
947 }
948 if (!sti) {
949 DPRINTK((KERN_DEBUG "Trying STI ROM at %08lx, hpa at %08lx\n", rom, dev->hpa));
950 sti = sti_try_rom_generic(rom, dev->hpa, NULL);
951 }
952 if (!sti)
953 return 1;
954
955 print_pa_hwpath(dev, pa_path);
956 sticore_check_for_default_sti (sti, pa_path);
957 return 0;
958}
959
960
961static int __devinit sticore_pci_init(struct pci_dev *pd,
962 const struct pci_device_id *ent)
963{
964#ifdef CONFIG_PCI
965 unsigned long fb_base, rom_base;
966 unsigned int fb_len, rom_len;
967 struct sti_struct *sti;
968
969 pci_enable_device(pd);
970
971 fb_base = pci_resource_start(pd, 0);
972 fb_len = pci_resource_len(pd, 0);
973 rom_base = pci_resource_start(pd, PCI_ROM_RESOURCE);
974 rom_len = pci_resource_len(pd, PCI_ROM_RESOURCE);
975 if (rom_base) {
976 pci_write_config_dword(pd, PCI_ROM_ADDRESS, rom_base | PCI_ROM_ADDRESS_ENABLE);
977 DPRINTK((KERN_DEBUG "STI PCI ROM enabled at 0x%08lx\n", rom_base));
978 }
979
980 printk(KERN_INFO "STI PCI graphic ROM found at %08lx (%u kB), fb at %08lx (%u MB)\n",
981 rom_base, rom_len/1024, fb_base, fb_len/1024/1024);
982
983 DPRINTK((KERN_DEBUG "Trying PCI STI ROM at %08lx, PCI hpa at %08lx\n",
984 rom_base, fb_base));
985
986 sti = sti_try_rom_generic(rom_base, fb_base, pd);
987 if (sti) {
988 char pa_path[30];
989 print_pci_hwpath(pd, pa_path);
990 sticore_check_for_default_sti(sti, pa_path);
991 }
992
993 if (!sti) {
994 printk(KERN_WARNING "Unable to handle STI device '%s'\n",
995 pci_name(pd));
996 return -ENODEV;
997 }
998#endif /* CONFIG_PCI */
999
1000 return 0;
1001}
1002
1003
1004static void __devexit sticore_pci_remove(struct pci_dev *pd)
1005{
1006 BUG();
1007}
1008
1009
1010static struct pci_device_id sti_pci_tbl[] = {
1011 { PCI_DEVICE(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_VISUALIZE_EG) },
1012 { PCI_DEVICE(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_VISUALIZE_FX6) },
1013 { PCI_DEVICE(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_VISUALIZE_FX4) },
1014 { PCI_DEVICE(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_VISUALIZE_FX2) },
1015 { PCI_DEVICE(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_VISUALIZE_FXE) },
1016 { 0, } /* terminate list */
1017};
1018MODULE_DEVICE_TABLE(pci, sti_pci_tbl);
1019
1020static struct pci_driver pci_sti_driver = {
1021 .name = "sti",
1022 .id_table = sti_pci_tbl,
1023 .probe = sticore_pci_init,
1024 .remove = sticore_pci_remove,
1025};
1026
1027static struct parisc_device_id sti_pa_tbl[] = {
1028 { HPHW_FIO, HVERSION_REV_ANY_ID, HVERSION_ANY_ID, 0x00077 },
1029 { HPHW_FIO, HVERSION_REV_ANY_ID, HVERSION_ANY_ID, 0x00085 },
1030 { 0, }
1031};
1032
1033static struct parisc_driver pa_sti_driver = {
1034 .name = "sti",
1035 .id_table = sti_pa_tbl,
1036 .probe = sticore_pa_init,
1037};
1038
1039
1040/*
1041 * sti_init_roms() - detects all STI ROMs and stores them in sti_roms[]
1042 */
1043
1044static int sticore_initialized;
1045
1046static void __init sti_init_roms(void)
1047{
1048 if (sticore_initialized)
1049 return;
1050
1051 sticore_initialized = 1;
1052
1053 printk(KERN_INFO "STI GSC/PCI core graphics driver "
1054 STI_DRIVERVERSION "\n");
1055
1056 /* Register drivers for native & PCI cards */
1057 register_parisc_driver(&pa_sti_driver);
1058 pci_register_driver(&pci_sti_driver);
1059
1060 /* if we didn't find the given default sti, take the first one */
1061 if (!default_sti)
1062 default_sti = sti_roms[0];
1063
1064}
1065
1066/*
1067 * index = 0 gives default sti
1068 * index > 0 gives other stis in detection order
1069 */
1070struct sti_struct * sti_get_rom(unsigned int index)
1071{
1072 if (!sticore_initialized)
1073 sti_init_roms();
1074
1075 if (index == 0)
1076 return default_sti;
1077
1078 if (index > num_sti_roms)
1079 return NULL;
1080
1081 return sti_roms[index-1];
1082}
1083EXPORT_SYMBOL(sti_get_rom);
1084
1085MODULE_AUTHOR("Philipp Rumpf, Helge Deller, Thomas Bogendoerfer");
1086MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
1087MODULE_LICENSE("GPL v2");
1088
diff --git a/drivers/video/console/tileblit.c b/drivers/video/console/tileblit.c
new file mode 100644
index 000000000000..7f76e2c6a4a1
--- /dev/null
+++ b/drivers/video/console/tileblit.c
@@ -0,0 +1,148 @@
1/*
2 * linux/drivers/video/console/tileblit.c -- Tile Blitting Operation
3 *
4 * Copyright (C) 2004 Antonino Daplas <adaplas @pol.net>
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.
9 */
10
11#include <linux/config.h>
12#include <linux/module.h>
13#include <linux/string.h>
14#include <linux/fb.h>
15#include <linux/vt_kern.h>
16#include <linux/console.h>
17#include <asm/types.h>
18#include "fbcon.h"
19
20static void tile_bmove(struct vc_data *vc, struct fb_info *info, int sy,
21 int sx, int dy, int dx, int height, int width)
22{
23 struct fb_tilearea area;
24
25 area.sx = sx;
26 area.sy = sy;
27 area.dx = dx;
28 area.dy = dy;
29 area.height = height;
30 area.width = width;
31
32 info->tileops->fb_tilecopy(info, &area);
33}
34
35static void tile_clear(struct vc_data *vc, struct fb_info *info, int sy,
36 int sx, int height, int width)
37{
38 struct fb_tilerect rect;
39 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
40 int fgshift = (vc->vc_hi_font_mask) ? 9 : 8;
41
42 rect.index = vc->vc_video_erase_char &
43 ((vc->vc_hi_font_mask) ? 0x1ff : 0xff);
44 rect.fg = attr_fgcol_ec(fgshift, vc);
45 rect.bg = attr_bgcol_ec(bgshift, vc);
46 rect.sx = sx;
47 rect.sy = sy;
48 rect.width = width;
49 rect.height = height;
50 rect.rop = ROP_COPY;
51
52 info->tileops->fb_tilefill(info, &rect);
53}
54
55static void tile_putcs(struct vc_data *vc, struct fb_info *info,
56 const unsigned short *s, int count, int yy, int xx,
57 int fg, int bg)
58{
59 struct fb_tileblit blit;
60 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
61 int size = sizeof(u32) * count, i;
62
63 blit.sx = xx;
64 blit.sy = yy;
65 blit.width = count;
66 blit.height = 1;
67 blit.fg = fg;
68 blit.bg = bg;
69 blit.length = count;
70 blit.indices = (u32 *) fb_get_buffer_offset(info, &info->pixmap, size);
71 for (i = 0; i < count; i++)
72 blit.indices[i] = (u32)(scr_readw(s++) & charmask);
73
74 info->tileops->fb_tileblit(info, &blit);
75}
76
77static void tile_clear_margins(struct vc_data *vc, struct fb_info *info,
78 int bottom_only)
79{
80 return;
81}
82
83static void tile_cursor(struct vc_data *vc, struct fb_info *info,
84 struct display *p, int mode, int softback_lines,
85 int fg, int bg)
86{
87 struct fb_tilecursor cursor;
88 int use_sw = (vc->vc_cursor_type & 0x01);
89
90 cursor.sx = vc->vc_x;
91 cursor.sy = vc->vc_y;
92 cursor.mode = (mode == CM_ERASE || use_sw) ? 0 : 1;
93 cursor.fg = fg;
94 cursor.bg = bg;
95
96 switch (vc->vc_cursor_type & 0x0f) {
97 case CUR_NONE:
98 cursor.shape = FB_TILE_CURSOR_NONE;
99 break;
100 case CUR_UNDERLINE:
101 cursor.shape = FB_TILE_CURSOR_UNDERLINE;
102 break;
103 case CUR_LOWER_THIRD:
104 cursor.shape = FB_TILE_CURSOR_LOWER_THIRD;
105 break;
106 case CUR_LOWER_HALF:
107 cursor.shape = FB_TILE_CURSOR_LOWER_HALF;
108 break;
109 case CUR_TWO_THIRDS:
110 cursor.shape = FB_TILE_CURSOR_TWO_THIRDS;
111 break;
112 case CUR_BLOCK:
113 default:
114 cursor.shape = FB_TILE_CURSOR_BLOCK;
115 break;
116 }
117
118 info->tileops->fb_tilecursor(info, &cursor);
119}
120
121void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info,
122 struct display *p, struct fbcon_ops *ops)
123{
124 struct fb_tilemap map;
125
126 ops->bmove = tile_bmove;
127 ops->clear = tile_clear;
128 ops->putcs = tile_putcs;
129 ops->clear_margins = tile_clear_margins;
130 ops->cursor = tile_cursor;
131
132 if (p) {
133 map.width = vc->vc_font.width;
134 map.height = vc->vc_font.height;
135 map.depth = 1;
136 map.length = (p->userfont) ?
137 FNTCHARCNT(p->fontdata) : 256;
138 map.data = p->fontdata;
139 info->tileops->fb_settile(info, &map);
140 }
141}
142
143EXPORT_SYMBOL(fbcon_set_tileops);
144
145MODULE_AUTHOR("Antonino Daplas <adaplas@pol.net>");
146MODULE_DESCRIPTION("Tile Blitting Operation");
147MODULE_LICENSE("GPL");
148
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
new file mode 100644
index 000000000000..7d1ae06667c6
--- /dev/null
+++ b/drivers/video/console/vgacon.c
@@ -0,0 +1,1103 @@
1/*
2 * linux/drivers/video/vgacon.c -- Low level VGA based console driver
3 *
4 * Created 28 Sep 1997 by Geert Uytterhoeven
5 *
6 * Rewritten by Martin Mares <mj@ucw.cz>, July 1998
7 *
8 * This file is based on the old console.c, vga.c and vesa_blank.c drivers.
9 *
10 * Copyright (C) 1991, 1992 Linus Torvalds
11 * 1995 Jay Estabrook
12 *
13 * User definable mapping table and font loading by Eugene G. Crosser,
14 * <crosser@average.org>
15 *
16 * Improved loadable font/UTF-8 support by H. Peter Anvin
17 * Feb-Sep 1995 <peter.anvin@linux.org>
18 *
19 * Colour palette handling, by Simon Tatham
20 * 17-Jun-95 <sgt20@cam.ac.uk>
21 *
22 * if 512 char mode is already enabled don't re-enable it,
23 * because it causes screen to flicker, by Mitja Horvat
24 * 5-May-96 <mitja.horvat@guest.arnes.si>
25 *
26 * Use 2 outw instead of 4 outb_p to reduce erroneous text
27 * flashing on RHS of screen during heavy console scrolling .
28 * Oct 1996, Paul Gortmaker.
29 *
30 *
31 * This file is subject to the terms and conditions of the GNU General Public
32 * License. See the file COPYING in the main directory of this archive for
33 * more details.
34 */
35
36#include <linux/config.h>
37#include <linux/module.h>
38#include <linux/types.h>
39#include <linux/sched.h>
40#include <linux/fs.h>
41#include <linux/kernel.h>
42#include <linux/tty.h>
43#include <linux/console.h>
44#include <linux/string.h>
45#include <linux/kd.h>
46#include <linux/slab.h>
47#include <linux/vt_kern.h>
48#include <linux/selection.h>
49#include <linux/spinlock.h>
50#include <linux/ioport.h>
51#include <linux/init.h>
52#include <linux/smp_lock.h>
53#include <video/vga.h>
54#include <asm/io.h>
55
56static DEFINE_SPINLOCK(vga_lock);
57static int cursor_size_lastfrom;
58static int cursor_size_lastto;
59static struct vgastate state;
60
61#define BLANK 0x0020
62
63#define CAN_LOAD_EGA_FONTS /* undefine if the user must not do this */
64#define CAN_LOAD_PALETTE /* undefine if the user must not do this */
65
66/* You really do _NOT_ want to define this, unless you have buggy
67 * Trident VGA which will resize cursor when moving it between column
68 * 15 & 16. If you define this and your VGA is OK, inverse bug will
69 * appear.
70 */
71#undef TRIDENT_GLITCH
72
73/*
74 * Interface used by the world
75 */
76
77static const char *vgacon_startup(void);
78static void vgacon_init(struct vc_data *c, int init);
79static void vgacon_deinit(struct vc_data *c);
80static void vgacon_cursor(struct vc_data *c, int mode);
81static int vgacon_switch(struct vc_data *c);
82static int vgacon_blank(struct vc_data *c, int blank, int mode_switch);
83static int vgacon_set_palette(struct vc_data *vc, unsigned char *table);
84static int vgacon_scrolldelta(struct vc_data *c, int lines);
85static int vgacon_set_origin(struct vc_data *c);
86static void vgacon_save_screen(struct vc_data *c);
87static int vgacon_scroll(struct vc_data *c, int t, int b, int dir,
88 int lines);
89static u8 vgacon_build_attr(struct vc_data *c, u8 color, u8 intensity,
90 u8 blink, u8 underline, u8 reverse);
91static void vgacon_invert_region(struct vc_data *c, u16 * p, int count);
92static unsigned long vgacon_uni_pagedir[2];
93
94
95/* Description of the hardware situation */
96static unsigned long vga_vram_base; /* Base of video memory */
97static unsigned long vga_vram_end; /* End of video memory */
98static u16 vga_video_port_reg; /* Video register select port */
99static u16 vga_video_port_val; /* Video register value port */
100static unsigned int vga_video_num_columns; /* Number of text columns */
101static unsigned int vga_video_num_lines; /* Number of text lines */
102static int vga_can_do_color = 0; /* Do we support colors? */
103static unsigned int vga_default_font_height;/* Height of default screen font */
104static unsigned char vga_video_type; /* Card type */
105static unsigned char vga_hardscroll_enabled;
106static unsigned char vga_hardscroll_user_enable = 1;
107static unsigned char vga_font_is_default = 1;
108static int vga_vesa_blanked;
109static int vga_palette_blanked;
110static int vga_is_gfx;
111static int vga_512_chars;
112static int vga_video_font_height;
113static int vga_scan_lines;
114static unsigned int vga_rolled_over = 0;
115
116static int __init no_scroll(char *str)
117{
118 /*
119 * Disabling scrollback is required for the Braillex ib80-piezo
120 * Braille reader made by F.H. Papenmeier (Germany).
121 * Use the "no-scroll" bootflag.
122 */
123 vga_hardscroll_user_enable = vga_hardscroll_enabled = 0;
124 return 1;
125}
126
127__setup("no-scroll", no_scroll);
128
129/*
130 * By replacing the four outb_p with two back to back outw, we can reduce
131 * the window of opportunity to see text mislocated to the RHS of the
132 * console during heavy scrolling activity. However there is the remote
133 * possibility that some pre-dinosaur hardware won't like the back to back
134 * I/O. Since the Xservers get away with it, we should be able to as well.
135 */
136static inline void write_vga(unsigned char reg, unsigned int val)
137{
138 unsigned int v1, v2;
139 unsigned long flags;
140
141 /*
142 * ddprintk might set the console position from interrupt
143 * handlers, thus the write has to be IRQ-atomic.
144 */
145 spin_lock_irqsave(&vga_lock, flags);
146
147#ifndef SLOW_VGA
148 v1 = reg + (val & 0xff00);
149 v2 = reg + 1 + ((val << 8) & 0xff00);
150 outw(v1, vga_video_port_reg);
151 outw(v2, vga_video_port_reg);
152#else
153 outb_p(reg, vga_video_port_reg);
154 outb_p(val >> 8, vga_video_port_val);
155 outb_p(reg + 1, vga_video_port_reg);
156 outb_p(val & 0xff, vga_video_port_val);
157#endif
158 spin_unlock_irqrestore(&vga_lock, flags);
159}
160
161static const char __init *vgacon_startup(void)
162{
163 const char *display_desc = NULL;
164 u16 saved1, saved2;
165 volatile u16 *p;
166
167 if (ORIG_VIDEO_ISVGA == VIDEO_TYPE_VLFB) {
168 no_vga:
169#ifdef CONFIG_DUMMY_CONSOLE
170 conswitchp = &dummy_con;
171 return conswitchp->con_startup();
172#else
173 return NULL;
174#endif
175 }
176
177 /* VGA16 modes are not handled by VGACON */
178 if ((ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */
179 (ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */
180 (ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */
181 (ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */
182 (ORIG_VIDEO_MODE == 0x6A)) /* 800x600/4, 0x6A is very common */
183 goto no_vga;
184
185 vga_video_num_lines = ORIG_VIDEO_LINES;
186 vga_video_num_columns = ORIG_VIDEO_COLS;
187 state.vgabase = NULL;
188
189 if (ORIG_VIDEO_MODE == 7) { /* Is this a monochrome display? */
190 vga_vram_base = 0xb0000;
191 vga_video_port_reg = VGA_CRT_IM;
192 vga_video_port_val = VGA_CRT_DM;
193 if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) {
194 static struct resource ega_console_resource =
195 { "ega", 0x3B0, 0x3BF };
196 vga_video_type = VIDEO_TYPE_EGAM;
197 vga_vram_end = 0xb8000;
198 display_desc = "EGA+";
199 request_resource(&ioport_resource,
200 &ega_console_resource);
201 } else {
202 static struct resource mda1_console_resource =
203 { "mda", 0x3B0, 0x3BB };
204 static struct resource mda2_console_resource =
205 { "mda", 0x3BF, 0x3BF };
206 vga_video_type = VIDEO_TYPE_MDA;
207 vga_vram_end = 0xb2000;
208 display_desc = "*MDA";
209 request_resource(&ioport_resource,
210 &mda1_console_resource);
211 request_resource(&ioport_resource,
212 &mda2_console_resource);
213 vga_video_font_height = 14;
214 }
215 } else {
216 /* If not, it is color. */
217 vga_can_do_color = 1;
218 vga_vram_base = 0xb8000;
219 vga_video_port_reg = VGA_CRT_IC;
220 vga_video_port_val = VGA_CRT_DC;
221 if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) {
222 int i;
223
224 vga_vram_end = 0xc0000;
225
226 if (!ORIG_VIDEO_ISVGA) {
227 static struct resource ega_console_resource
228 = { "ega", 0x3C0, 0x3DF };
229 vga_video_type = VIDEO_TYPE_EGAC;
230 display_desc = "EGA";
231 request_resource(&ioport_resource,
232 &ega_console_resource);
233 } else {
234 static struct resource vga_console_resource
235 = { "vga+", 0x3C0, 0x3DF };
236 vga_video_type = VIDEO_TYPE_VGAC;
237 display_desc = "VGA+";
238 request_resource(&ioport_resource,
239 &vga_console_resource);
240
241#ifdef VGA_CAN_DO_64KB
242 /*
243 * get 64K rather than 32K of video RAM.
244 * This doesn't actually work on all "VGA"
245 * controllers (it seems like setting MM=01
246 * and COE=1 isn't necessarily a good idea)
247 */
248 vga_vram_base = 0xa0000;
249 vga_vram_end = 0xb0000;
250 outb_p(6, VGA_GFX_I);
251 outb_p(6, VGA_GFX_D);
252#endif
253 /*
254 * Normalise the palette registers, to point
255 * the 16 screen colours to the first 16
256 * DAC entries.
257 */
258
259 for (i = 0; i < 16; i++) {
260 inb_p(VGA_IS1_RC);
261 outb_p(i, VGA_ATT_W);
262 outb_p(i, VGA_ATT_W);
263 }
264 outb_p(0x20, VGA_ATT_W);
265
266 /*
267 * Now set the DAC registers back to their
268 * default values
269 */
270 for (i = 0; i < 16; i++) {
271 outb_p(color_table[i], VGA_PEL_IW);
272 outb_p(default_red[i], VGA_PEL_D);
273 outb_p(default_grn[i], VGA_PEL_D);
274 outb_p(default_blu[i], VGA_PEL_D);
275 }
276 }
277 } else {
278 static struct resource cga_console_resource =
279 { "cga", 0x3D4, 0x3D5 };
280 vga_video_type = VIDEO_TYPE_CGA;
281 vga_vram_end = 0xba000;
282 display_desc = "*CGA";
283 request_resource(&ioport_resource,
284 &cga_console_resource);
285 vga_video_font_height = 8;
286 }
287 }
288
289 vga_vram_base = VGA_MAP_MEM(vga_vram_base);
290 vga_vram_end = VGA_MAP_MEM(vga_vram_end);
291
292 /*
293 * Find out if there is a graphics card present.
294 * Are there smarter methods around?
295 */
296 p = (volatile u16 *) vga_vram_base;
297 saved1 = scr_readw(p);
298 saved2 = scr_readw(p + 1);
299 scr_writew(0xAA55, p);
300 scr_writew(0x55AA, p + 1);
301 if (scr_readw(p) != 0xAA55 || scr_readw(p + 1) != 0x55AA) {
302 scr_writew(saved1, p);
303 scr_writew(saved2, p + 1);
304 goto no_vga;
305 }
306 scr_writew(0x55AA, p);
307 scr_writew(0xAA55, p + 1);
308 if (scr_readw(p) != 0x55AA || scr_readw(p + 1) != 0xAA55) {
309 scr_writew(saved1, p);
310 scr_writew(saved2, p + 1);
311 goto no_vga;
312 }
313 scr_writew(saved1, p);
314 scr_writew(saved2, p + 1);
315
316 if (vga_video_type == VIDEO_TYPE_EGAC
317 || vga_video_type == VIDEO_TYPE_VGAC
318 || vga_video_type == VIDEO_TYPE_EGAM) {
319 vga_hardscroll_enabled = vga_hardscroll_user_enable;
320 vga_default_font_height = ORIG_VIDEO_POINTS;
321 vga_video_font_height = ORIG_VIDEO_POINTS;
322 /* This may be suboptimal but is a safe bet - go with it */
323 vga_scan_lines =
324 vga_video_font_height * vga_video_num_lines;
325 }
326 return display_desc;
327}
328
329static void vgacon_init(struct vc_data *c, int init)
330{
331 unsigned long p;
332
333 /* We cannot be loaded as a module, therefore init is always 1 */
334 c->vc_can_do_color = vga_can_do_color;
335 c->vc_cols = vga_video_num_columns;
336 c->vc_rows = vga_video_num_lines;
337 c->vc_scan_lines = vga_scan_lines;
338 c->vc_font.height = vga_video_font_height;
339 c->vc_complement_mask = 0x7700;
340 p = *c->vc_uni_pagedir_loc;
341 if (c->vc_uni_pagedir_loc == &c->vc_uni_pagedir ||
342 !--c->vc_uni_pagedir_loc[1])
343 con_free_unimap(c);
344 c->vc_uni_pagedir_loc = vgacon_uni_pagedir;
345 vgacon_uni_pagedir[1]++;
346 if (!vgacon_uni_pagedir[0] && p)
347 con_set_default_unimap(c);
348}
349
350static inline void vga_set_mem_top(struct vc_data *c)
351{
352 write_vga(12, (c->vc_visible_origin - vga_vram_base) / 2);
353}
354
355static void vgacon_deinit(struct vc_data *c)
356{
357 /* When closing the last console, reset video origin */
358 if (!--vgacon_uni_pagedir[1]) {
359 c->vc_visible_origin = vga_vram_base;
360 vga_set_mem_top(c);
361 con_free_unimap(c);
362 }
363 c->vc_uni_pagedir_loc = &c->vc_uni_pagedir;
364 con_set_default_unimap(c);
365}
366
367static u8 vgacon_build_attr(struct vc_data *c, u8 color, u8 intensity,
368 u8 blink, u8 underline, u8 reverse)
369{
370 u8 attr = color;
371
372 if (vga_can_do_color) {
373 if (underline)
374 attr = (attr & 0xf0) | c->vc_ulcolor;
375 else if (intensity == 0)
376 attr = (attr & 0xf0) | c->vc_halfcolor;
377 }
378 if (reverse)
379 attr =
380 ((attr) & 0x88) | ((((attr) >> 4) | ((attr) << 4)) &
381 0x77);
382 if (blink)
383 attr ^= 0x80;
384 if (intensity == 2)
385 attr ^= 0x08;
386 if (!vga_can_do_color) {
387 if (underline)
388 attr = (attr & 0xf8) | 0x01;
389 else if (intensity == 0)
390 attr = (attr & 0xf0) | 0x08;
391 }
392 return attr;
393}
394
395static void vgacon_invert_region(struct vc_data *c, u16 * p, int count)
396{
397 int col = vga_can_do_color;
398
399 while (count--) {
400 u16 a = scr_readw(p);
401 if (col)
402 a = ((a) & 0x88ff) | (((a) & 0x7000) >> 4) |
403 (((a) & 0x0700) << 4);
404 else
405 a ^= ((a & 0x0700) == 0x0100) ? 0x7000 : 0x7700;
406 scr_writew(a, p++);
407 }
408}
409
410static void vgacon_set_cursor_size(int xpos, int from, int to)
411{
412 unsigned long flags;
413 int curs, cure;
414
415#ifdef TRIDENT_GLITCH
416 if (xpos < 16)
417 from--, to--;
418#endif
419
420 if ((from == cursor_size_lastfrom) && (to == cursor_size_lastto))
421 return;
422 cursor_size_lastfrom = from;
423 cursor_size_lastto = to;
424
425 spin_lock_irqsave(&vga_lock, flags);
426 outb_p(0x0a, vga_video_port_reg); /* Cursor start */
427 curs = inb_p(vga_video_port_val);
428 outb_p(0x0b, vga_video_port_reg); /* Cursor end */
429 cure = inb_p(vga_video_port_val);
430
431 curs = (curs & 0xc0) | from;
432 cure = (cure & 0xe0) | to;
433
434 outb_p(0x0a, vga_video_port_reg); /* Cursor start */
435 outb_p(curs, vga_video_port_val);
436 outb_p(0x0b, vga_video_port_reg); /* Cursor end */
437 outb_p(cure, vga_video_port_val);
438 spin_unlock_irqrestore(&vga_lock, flags);
439}
440
441static void vgacon_cursor(struct vc_data *c, int mode)
442{
443 if (c->vc_origin != c->vc_visible_origin)
444 vgacon_scrolldelta(c, 0);
445 switch (mode) {
446 case CM_ERASE:
447 write_vga(14, (vga_vram_end - vga_vram_base - 1) / 2);
448 break;
449
450 case CM_MOVE:
451 case CM_DRAW:
452 write_vga(14, (c->vc_pos - vga_vram_base) / 2);
453 switch (c->vc_cursor_type & 0x0f) {
454 case CUR_UNDERLINE:
455 vgacon_set_cursor_size(c->vc_x,
456 c->vc_font.height -
457 (c->vc_font.height <
458 10 ? 2 : 3),
459 c->vc_font.height -
460 (c->vc_font.height <
461 10 ? 1 : 2));
462 break;
463 case CUR_TWO_THIRDS:
464 vgacon_set_cursor_size(c->vc_x,
465 c->vc_font.height / 3,
466 c->vc_font.height -
467 (c->vc_font.height <
468 10 ? 1 : 2));
469 break;
470 case CUR_LOWER_THIRD:
471 vgacon_set_cursor_size(c->vc_x,
472 (c->vc_font.height * 2) / 3,
473 c->vc_font.height -
474 (c->vc_font.height <
475 10 ? 1 : 2));
476 break;
477 case CUR_LOWER_HALF:
478 vgacon_set_cursor_size(c->vc_x,
479 c->vc_font.height / 2,
480 c->vc_font.height -
481 (c->vc_font.height <
482 10 ? 1 : 2));
483 break;
484 case CUR_NONE:
485 vgacon_set_cursor_size(c->vc_x, 31, 30);
486 break;
487 default:
488 vgacon_set_cursor_size(c->vc_x, 1,
489 c->vc_font.height);
490 break;
491 }
492 break;
493 }
494}
495
496static int vgacon_switch(struct vc_data *c)
497{
498 /*
499 * We need to save screen size here as it's the only way
500 * we can spot the screen has been resized and we need to
501 * set size of freshly allocated screens ourselves.
502 */
503 vga_video_num_columns = c->vc_cols;
504 vga_video_num_lines = c->vc_rows;
505 if (!vga_is_gfx)
506 scr_memcpyw((u16 *) c->vc_origin, (u16 *) c->vc_screenbuf,
507 c->vc_screenbuf_size);
508 return 0; /* Redrawing not needed */
509}
510
511static void vga_set_palette(struct vc_data *vc, unsigned char *table)
512{
513 int i, j;
514
515 for (i = j = 0; i < 16; i++) {
516 vga_w(state.vgabase, VGA_PEL_IW, table[i]);
517 vga_w(state.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
518 vga_w(state.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
519 vga_w(state.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
520 }
521}
522
523static int vgacon_set_palette(struct vc_data *vc, unsigned char *table)
524{
525#ifdef CAN_LOAD_PALETTE
526 if (vga_video_type != VIDEO_TYPE_VGAC || vga_palette_blanked
527 || !CON_IS_VISIBLE(vc))
528 return -EINVAL;
529 vga_set_palette(vc, table);
530 return 0;
531#else
532 return -EINVAL;
533#endif
534}
535
536/* structure holding original VGA register settings */
537static struct {
538 unsigned char SeqCtrlIndex; /* Sequencer Index reg. */
539 unsigned char CrtCtrlIndex; /* CRT-Contr. Index reg. */
540 unsigned char CrtMiscIO; /* Miscellaneous register */
541 unsigned char HorizontalTotal; /* CRT-Controller:00h */
542 unsigned char HorizDisplayEnd; /* CRT-Controller:01h */
543 unsigned char StartHorizRetrace; /* CRT-Controller:04h */
544 unsigned char EndHorizRetrace; /* CRT-Controller:05h */
545 unsigned char Overflow; /* CRT-Controller:07h */
546 unsigned char StartVertRetrace; /* CRT-Controller:10h */
547 unsigned char EndVertRetrace; /* CRT-Controller:11h */
548 unsigned char ModeControl; /* CRT-Controller:17h */
549 unsigned char ClockingMode; /* Seq-Controller:01h */
550} vga_state;
551
552static void vga_vesa_blank(struct vgastate *state, int mode)
553{
554 /* save original values of VGA controller registers */
555 if (!vga_vesa_blanked) {
556 spin_lock_irq(&vga_lock);
557 vga_state.SeqCtrlIndex = vga_r(state->vgabase, VGA_SEQ_I);
558 vga_state.CrtCtrlIndex = inb_p(vga_video_port_reg);
559 vga_state.CrtMiscIO = vga_r(state->vgabase, VGA_MIS_R);
560 spin_unlock_irq(&vga_lock);
561
562 outb_p(0x00, vga_video_port_reg); /* HorizontalTotal */
563 vga_state.HorizontalTotal = inb_p(vga_video_port_val);
564 outb_p(0x01, vga_video_port_reg); /* HorizDisplayEnd */
565 vga_state.HorizDisplayEnd = inb_p(vga_video_port_val);
566 outb_p(0x04, vga_video_port_reg); /* StartHorizRetrace */
567 vga_state.StartHorizRetrace = inb_p(vga_video_port_val);
568 outb_p(0x05, vga_video_port_reg); /* EndHorizRetrace */
569 vga_state.EndHorizRetrace = inb_p(vga_video_port_val);
570 outb_p(0x07, vga_video_port_reg); /* Overflow */
571 vga_state.Overflow = inb_p(vga_video_port_val);
572 outb_p(0x10, vga_video_port_reg); /* StartVertRetrace */
573 vga_state.StartVertRetrace = inb_p(vga_video_port_val);
574 outb_p(0x11, vga_video_port_reg); /* EndVertRetrace */
575 vga_state.EndVertRetrace = inb_p(vga_video_port_val);
576 outb_p(0x17, vga_video_port_reg); /* ModeControl */
577 vga_state.ModeControl = inb_p(vga_video_port_val);
578 vga_state.ClockingMode = vga_rseq(state->vgabase, VGA_SEQ_CLOCK_MODE);
579 }
580
581 /* assure that video is enabled */
582 /* "0x20" is VIDEO_ENABLE_bit in register 01 of sequencer */
583 spin_lock_irq(&vga_lock);
584 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, vga_state.ClockingMode | 0x20);
585
586 /* test for vertical retrace in process.... */
587 if ((vga_state.CrtMiscIO & 0x80) == 0x80)
588 vga_w(state->vgabase, VGA_MIS_W, vga_state.CrtMiscIO & 0xEF);
589
590 /*
591 * Set <End of vertical retrace> to minimum (0) and
592 * <Start of vertical Retrace> to maximum (incl. overflow)
593 * Result: turn off vertical sync (VSync) pulse.
594 */
595 if (mode & VESA_VSYNC_SUSPEND) {
596 outb_p(0x10, vga_video_port_reg); /* StartVertRetrace */
597 outb_p(0xff, vga_video_port_val); /* maximum value */
598 outb_p(0x11, vga_video_port_reg); /* EndVertRetrace */
599 outb_p(0x40, vga_video_port_val); /* minimum (bits 0..3) */
600 outb_p(0x07, vga_video_port_reg); /* Overflow */
601 outb_p(vga_state.Overflow | 0x84, vga_video_port_val); /* bits 9,10 of vert. retrace */
602 }
603
604 if (mode & VESA_HSYNC_SUSPEND) {
605 /*
606 * Set <End of horizontal retrace> to minimum (0) and
607 * <Start of horizontal Retrace> to maximum
608 * Result: turn off horizontal sync (HSync) pulse.
609 */
610 outb_p(0x04, vga_video_port_reg); /* StartHorizRetrace */
611 outb_p(0xff, vga_video_port_val); /* maximum */
612 outb_p(0x05, vga_video_port_reg); /* EndHorizRetrace */
613 outb_p(0x00, vga_video_port_val); /* minimum (0) */
614 }
615
616 /* restore both index registers */
617 vga_w(state->vgabase, VGA_SEQ_I, vga_state.SeqCtrlIndex);
618 outb_p(vga_state.CrtCtrlIndex, vga_video_port_reg);
619 spin_unlock_irq(&vga_lock);
620}
621
622static void vga_vesa_unblank(struct vgastate *state)
623{
624 /* restore original values of VGA controller registers */
625 spin_lock_irq(&vga_lock);
626 vga_w(state->vgabase, VGA_MIS_W, vga_state.CrtMiscIO);
627
628 outb_p(0x00, vga_video_port_reg); /* HorizontalTotal */
629 outb_p(vga_state.HorizontalTotal, vga_video_port_val);
630 outb_p(0x01, vga_video_port_reg); /* HorizDisplayEnd */
631 outb_p(vga_state.HorizDisplayEnd, vga_video_port_val);
632 outb_p(0x04, vga_video_port_reg); /* StartHorizRetrace */
633 outb_p(vga_state.StartHorizRetrace, vga_video_port_val);
634 outb_p(0x05, vga_video_port_reg); /* EndHorizRetrace */
635 outb_p(vga_state.EndHorizRetrace, vga_video_port_val);
636 outb_p(0x07, vga_video_port_reg); /* Overflow */
637 outb_p(vga_state.Overflow, vga_video_port_val);
638 outb_p(0x10, vga_video_port_reg); /* StartVertRetrace */
639 outb_p(vga_state.StartVertRetrace, vga_video_port_val);
640 outb_p(0x11, vga_video_port_reg); /* EndVertRetrace */
641 outb_p(vga_state.EndVertRetrace, vga_video_port_val);
642 outb_p(0x17, vga_video_port_reg); /* ModeControl */
643 outb_p(vga_state.ModeControl, vga_video_port_val);
644 /* ClockingMode */
645 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, vga_state.ClockingMode);
646
647 /* restore index/control registers */
648 vga_w(state->vgabase, VGA_SEQ_I, vga_state.SeqCtrlIndex);
649 outb_p(vga_state.CrtCtrlIndex, vga_video_port_reg);
650 spin_unlock_irq(&vga_lock);
651}
652
653static void vga_pal_blank(struct vgastate *state)
654{
655 int i;
656
657 for (i = 0; i < 16; i++) {
658 vga_w(state->vgabase, VGA_PEL_IW, i);
659 vga_w(state->vgabase, VGA_PEL_D, 0);
660 vga_w(state->vgabase, VGA_PEL_D, 0);
661 vga_w(state->vgabase, VGA_PEL_D, 0);
662 }
663}
664
665static int vgacon_blank(struct vc_data *c, int blank, int mode_switch)
666{
667 switch (blank) {
668 case 0: /* Unblank */
669 if (vga_vesa_blanked) {
670 vga_vesa_unblank(&state);
671 vga_vesa_blanked = 0;
672 }
673 if (vga_palette_blanked) {
674 vga_set_palette(c, color_table);
675 vga_palette_blanked = 0;
676 return 0;
677 }
678 vga_is_gfx = 0;
679 /* Tell console.c that it has to restore the screen itself */
680 return 1;
681 case 1: /* Normal blanking */
682 case -1: /* Obsolete */
683 if (!mode_switch && vga_video_type == VIDEO_TYPE_VGAC) {
684 vga_pal_blank(&state);
685 vga_palette_blanked = 1;
686 return 0;
687 }
688 vgacon_set_origin(c);
689 scr_memsetw((void *) vga_vram_base, BLANK,
690 c->vc_screenbuf_size);
691 if (mode_switch)
692 vga_is_gfx = 1;
693 return 1;
694 default: /* VESA blanking */
695 if (vga_video_type == VIDEO_TYPE_VGAC) {
696 vga_vesa_blank(&state, blank - 1);
697 vga_vesa_blanked = blank;
698 }
699 return 0;
700 }
701}
702
703/*
704 * PIO_FONT support.
705 *
706 * The font loading code goes back to the codepage package by
707 * Joel Hoffman (joel@wam.umd.edu). (He reports that the original
708 * reference is: "From: p. 307 of _Programmer's Guide to PC & PS/2
709 * Video Systems_ by Richard Wilton. 1987. Microsoft Press".)
710 *
711 * Change for certain monochrome monitors by Yury Shevchuck
712 * (sizif@botik.yaroslavl.su).
713 */
714
715#ifdef CAN_LOAD_EGA_FONTS
716
717#define colourmap 0xa0000
718/* Pauline Middelink <middelin@polyware.iaf.nl> reports that we
719 should use 0xA0000 for the bwmap as well.. */
720#define blackwmap 0xa0000
721#define cmapsz 8192
722
723static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512)
724{
725 unsigned short video_port_status = vga_video_port_reg + 6;
726 int font_select = 0x00, beg, i;
727 char *charmap;
728
729 if (vga_video_type != VIDEO_TYPE_EGAM) {
730 charmap = (char *) VGA_MAP_MEM(colourmap);
731 beg = 0x0e;
732#ifdef VGA_CAN_DO_64KB
733 if (vga_video_type == VIDEO_TYPE_VGAC)
734 beg = 0x06;
735#endif
736 } else {
737 charmap = (char *) VGA_MAP_MEM(blackwmap);
738 beg = 0x0a;
739 }
740
741#ifdef BROKEN_GRAPHICS_PROGRAMS
742 /*
743 * All fonts are loaded in slot 0 (0:1 for 512 ch)
744 */
745
746 if (!arg)
747 return -EINVAL; /* Return to default font not supported */
748
749 vga_font_is_default = 0;
750 font_select = ch512 ? 0x04 : 0x00;
751#else
752 /*
753 * The default font is kept in slot 0 and is never touched.
754 * A custom font is loaded in slot 2 (256 ch) or 2:3 (512 ch)
755 */
756
757 if (set) {
758 vga_font_is_default = !arg;
759 if (!arg)
760 ch512 = 0; /* Default font is always 256 */
761 font_select = arg ? (ch512 ? 0x0e : 0x0a) : 0x00;
762 }
763
764 if (!vga_font_is_default)
765 charmap += 4 * cmapsz;
766#endif
767
768 unlock_kernel();
769 spin_lock_irq(&vga_lock);
770 /* First, the Sequencer */
771 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x1);
772 /* CPU writes only to map 2 */
773 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x04);
774 /* Sequential addressing */
775 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x07);
776 /* Clear synchronous reset */
777 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x03);
778
779 /* Now, the graphics controller, select map 2 */
780 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x02);
781 /* disable odd-even addressing */
782 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x00);
783 /* map start at A000:0000 */
784 vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x00);
785 spin_unlock_irq(&vga_lock);
786
787 if (arg) {
788 if (set)
789 for (i = 0; i < cmapsz; i++)
790 vga_writeb(arg[i], charmap + i);
791 else
792 for (i = 0; i < cmapsz; i++)
793 arg[i] = vga_readb(charmap + i);
794
795 /*
796 * In 512-character mode, the character map is not contiguous if
797 * we want to remain EGA compatible -- which we do
798 */
799
800 if (ch512) {
801 charmap += 2 * cmapsz;
802 arg += cmapsz;
803 if (set)
804 for (i = 0; i < cmapsz; i++)
805 vga_writeb(arg[i], charmap + i);
806 else
807 for (i = 0; i < cmapsz; i++)
808 arg[i] = vga_readb(charmap + i);
809 }
810 }
811
812 spin_lock_irq(&vga_lock);
813 /* First, the sequencer, Synchronous reset */
814 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x01);
815 /* CPU writes to maps 0 and 1 */
816 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x03);
817 /* odd-even addressing */
818 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x03);
819 /* Character Map Select */
820 if (set)
821 vga_wseq(state->vgabase, VGA_SEQ_CHARACTER_MAP, font_select);
822 /* clear synchronous reset */
823 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x03);
824
825 /* Now, the graphics controller, select map 0 for CPU */
826 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x00);
827 /* enable even-odd addressing */
828 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x10);
829 /* map starts at b800:0 or b000:0 */
830 vga_wgfx(state->vgabase, VGA_GFX_MISC, beg);
831
832 /* if 512 char mode is already enabled don't re-enable it. */
833 if ((set) && (ch512 != vga_512_chars)) {
834 int i;
835
836 /* attribute controller */
837 for (i = 0; i < MAX_NR_CONSOLES; i++) {
838 struct vc_data *c = vc_cons[i].d;
839 if (c && c->vc_sw == &vga_con)
840 c->vc_hi_font_mask = ch512 ? 0x0800 : 0;
841 }
842 vga_512_chars = ch512;
843 /* 256-char: enable intensity bit
844 512-char: disable intensity bit */
845 inb_p(video_port_status); /* clear address flip-flop */
846 /* color plane enable register */
847 vga_wattr(state->vgabase, VGA_ATC_PLANE_ENABLE, ch512 ? 0x07 : 0x0f);
848 /* Wilton (1987) mentions the following; I don't know what
849 it means, but it works, and it appears necessary */
850 inb_p(video_port_status);
851 vga_wattr(state->vgabase, VGA_AR_ENABLE_DISPLAY, 0);
852 }
853 spin_unlock_irq(&vga_lock);
854 lock_kernel();
855 return 0;
856}
857
858/*
859 * Adjust the screen to fit a font of a certain height
860 */
861static int vgacon_adjust_height(struct vc_data *vc, unsigned fontheight)
862{
863 unsigned char ovr, vde, fsr;
864 int rows, maxscan, i;
865
866 rows = vc->vc_scan_lines / fontheight; /* Number of video rows we end up with */
867 maxscan = rows * fontheight - 1; /* Scan lines to actually display-1 */
868
869 /* Reprogram the CRTC for the new font size
870 Note: the attempt to read the overflow register will fail
871 on an EGA, but using 0xff for the previous value appears to
872 be OK for EGA text modes in the range 257-512 scan lines, so I
873 guess we don't need to worry about it.
874
875 The same applies for the spill bits in the font size and cursor
876 registers; they are write-only on EGA, but it appears that they
877 are all don't care bits on EGA, so I guess it doesn't matter. */
878
879 spin_lock_irq(&vga_lock);
880 outb_p(0x07, vga_video_port_reg); /* CRTC overflow register */
881 ovr = inb_p(vga_video_port_val);
882 outb_p(0x09, vga_video_port_reg); /* Font size register */
883 fsr = inb_p(vga_video_port_val);
884 spin_unlock_irq(&vga_lock);
885
886 vde = maxscan & 0xff; /* Vertical display end reg */
887 ovr = (ovr & 0xbd) + /* Overflow register */
888 ((maxscan & 0x100) >> 7) + ((maxscan & 0x200) >> 3);
889 fsr = (fsr & 0xe0) + (fontheight - 1); /* Font size register */
890
891 spin_lock_irq(&vga_lock);
892 outb_p(0x07, vga_video_port_reg); /* CRTC overflow register */
893 outb_p(ovr, vga_video_port_val);
894 outb_p(0x09, vga_video_port_reg); /* Font size */
895 outb_p(fsr, vga_video_port_val);
896 outb_p(0x12, vga_video_port_reg); /* Vertical display limit */
897 outb_p(vde, vga_video_port_val);
898 spin_unlock_irq(&vga_lock);
899
900 for (i = 0; i < MAX_NR_CONSOLES; i++) {
901 struct vc_data *c = vc_cons[i].d;
902
903 if (c && c->vc_sw == &vga_con) {
904 if (CON_IS_VISIBLE(c)) {
905 /* void size to cause regs to be rewritten */
906 cursor_size_lastfrom = 0;
907 cursor_size_lastto = 0;
908 c->vc_sw->con_cursor(c, CM_DRAW);
909 }
910 c->vc_font.height = fontheight;
911 vc_resize(c, 0, rows); /* Adjust console size */
912 }
913 }
914 return 0;
915}
916
917static int vgacon_font_set(struct vc_data *c, struct console_font *font, unsigned flags)
918{
919 unsigned charcount = font->charcount;
920 int rc;
921
922 if (vga_video_type < VIDEO_TYPE_EGAM)
923 return -EINVAL;
924
925 if (font->width != 8 || (charcount != 256 && charcount != 512))
926 return -EINVAL;
927
928 rc = vgacon_do_font_op(&state, font->data, 1, charcount == 512);
929 if (rc)
930 return rc;
931
932 if (!(flags & KD_FONT_FLAG_DONT_RECALC))
933 rc = vgacon_adjust_height(c, font->height);
934 return rc;
935}
936
937static int vgacon_font_get(struct vc_data *c, struct console_font *font)
938{
939 if (vga_video_type < VIDEO_TYPE_EGAM)
940 return -EINVAL;
941
942 font->width = 8;
943 font->height = c->vc_font.height;
944 font->charcount = vga_512_chars ? 512 : 256;
945 if (!font->data)
946 return 0;
947 return vgacon_do_font_op(&state, font->data, 0, 0);
948}
949
950#else
951
952#define vgacon_font_set NULL
953#define vgacon_font_get NULL
954
955#endif
956
957static int vgacon_scrolldelta(struct vc_data *c, int lines)
958{
959 if (!lines) /* Turn scrollback off */
960 c->vc_visible_origin = c->vc_origin;
961 else {
962 int vram_size = vga_vram_end - vga_vram_base;
963 int margin = c->vc_size_row * 4;
964 int ul, we, p, st;
965
966 if (vga_rolled_over >
967 (c->vc_scr_end - vga_vram_base) + margin) {
968 ul = c->vc_scr_end - vga_vram_base;
969 we = vga_rolled_over + c->vc_size_row;
970 } else {
971 ul = 0;
972 we = vram_size;
973 }
974 p = (c->vc_visible_origin - vga_vram_base - ul + we) % we +
975 lines * c->vc_size_row;
976 st = (c->vc_origin - vga_vram_base - ul + we) % we;
977 if (st < 2 * margin)
978 margin = 0;
979 if (p < margin)
980 p = 0;
981 if (p > st - margin)
982 p = st;
983 c->vc_visible_origin = vga_vram_base + (p + ul) % we;
984 }
985 vga_set_mem_top(c);
986 return 1;
987}
988
989static int vgacon_set_origin(struct vc_data *c)
990{
991 if (vga_is_gfx || /* We don't play origin tricks in graphic modes */
992 (console_blanked && !vga_palette_blanked)) /* Nor we write to blanked screens */
993 return 0;
994 c->vc_origin = c->vc_visible_origin = vga_vram_base;
995 vga_set_mem_top(c);
996 vga_rolled_over = 0;
997 return 1;
998}
999
1000static void vgacon_save_screen(struct vc_data *c)
1001{
1002 static int vga_bootup_console = 0;
1003
1004 if (!vga_bootup_console) {
1005 /* This is a gross hack, but here is the only place we can
1006 * set bootup console parameters without messing up generic
1007 * console initialization routines.
1008 */
1009 vga_bootup_console = 1;
1010 c->vc_x = ORIG_X;
1011 c->vc_y = ORIG_Y;
1012 }
1013 if (!vga_is_gfx)
1014 scr_memcpyw((u16 *) c->vc_screenbuf, (u16 *) c->vc_origin,
1015 c->vc_screenbuf_size);
1016}
1017
1018static int vgacon_scroll(struct vc_data *c, int t, int b, int dir,
1019 int lines)
1020{
1021 unsigned long oldo;
1022 unsigned int delta;
1023
1024 if (t || b != c->vc_rows || vga_is_gfx)
1025 return 0;
1026
1027 if (c->vc_origin != c->vc_visible_origin)
1028 vgacon_scrolldelta(c, 0);
1029
1030 if (!vga_hardscroll_enabled || lines >= c->vc_rows / 2)
1031 return 0;
1032
1033 oldo = c->vc_origin;
1034 delta = lines * c->vc_size_row;
1035 if (dir == SM_UP) {
1036 if (c->vc_scr_end + delta >= vga_vram_end) {
1037 scr_memcpyw((u16 *) vga_vram_base,
1038 (u16 *) (oldo + delta),
1039 c->vc_screenbuf_size - delta);
1040 c->vc_origin = vga_vram_base;
1041 vga_rolled_over = oldo - vga_vram_base;
1042 } else
1043 c->vc_origin += delta;
1044 scr_memsetw((u16 *) (c->vc_origin + c->vc_screenbuf_size -
1045 delta), c->vc_video_erase_char,
1046 delta);
1047 } else {
1048 if (oldo - delta < vga_vram_base) {
1049 scr_memmovew((u16 *) (vga_vram_end -
1050 c->vc_screenbuf_size +
1051 delta), (u16 *) oldo,
1052 c->vc_screenbuf_size - delta);
1053 c->vc_origin = vga_vram_end - c->vc_screenbuf_size;
1054 vga_rolled_over = 0;
1055 } else
1056 c->vc_origin -= delta;
1057 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size;
1058 scr_memsetw((u16 *) (c->vc_origin), c->vc_video_erase_char,
1059 delta);
1060 }
1061 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size;
1062 c->vc_visible_origin = c->vc_origin;
1063 vga_set_mem_top(c);
1064 c->vc_pos = (c->vc_pos - oldo) + c->vc_origin;
1065 return 1;
1066}
1067
1068
1069/*
1070 * The console `switch' structure for the VGA based console
1071 */
1072
1073static int vgacon_dummy(struct vc_data *c)
1074{
1075 return 0;
1076}
1077
1078#define DUMMY (void *) vgacon_dummy
1079
1080const struct consw vga_con = {
1081 .owner = THIS_MODULE,
1082 .con_startup = vgacon_startup,
1083 .con_init = vgacon_init,
1084 .con_deinit = vgacon_deinit,
1085 .con_clear = DUMMY,
1086 .con_putc = DUMMY,
1087 .con_putcs = DUMMY,
1088 .con_cursor = vgacon_cursor,
1089 .con_scroll = vgacon_scroll,
1090 .con_bmove = DUMMY,
1091 .con_switch = vgacon_switch,
1092 .con_blank = vgacon_blank,
1093 .con_font_set = vgacon_font_set,
1094 .con_font_get = vgacon_font_get,
1095 .con_set_palette = vgacon_set_palette,
1096 .con_scrolldelta = vgacon_scrolldelta,
1097 .con_set_origin = vgacon_set_origin,
1098 .con_save_screen = vgacon_save_screen,
1099 .con_build_attr = vgacon_build_attr,
1100 .con_invert_region = vgacon_invert_region,
1101};
1102
1103MODULE_LICENSE("GPL");