diff --git a/commands/Makefile b/commands/Makefile index 33bd80cb0..f4e423429 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -2,7 +2,7 @@ .include -SUBDIR= add_route arp ash at backup banner basename btrace \ +SUBDIR= add_route arp ash at backup basename btrace \ cawf cd cdprobe cpp \ chmod chown ci cleantmp cmp co \ comm compress cp crc cron crontab cut \ diff --git a/commands/banner/Makefile b/commands/banner/Makefile deleted file mode 100644 index 64acb6e6e..000000000 --- a/commands/banner/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -PROG= banner -MAN= - -.include diff --git a/commands/banner/banner.c b/commands/banner/banner.c deleted file mode 100644 index 99719e6f4..000000000 --- a/commands/banner/banner.c +++ /dev/null @@ -1,153 +0,0 @@ -/* banner - print a banner Author: Brian Wallis */ - -/***************************************************************** - * - * SYSVbanner.c - * - * This is a PD version of the SYS V banner program (at least I think - * it is compatible to SYS V) which I wrote to use with the clock - * program written by: - ** DCF, Inc. - ** 14623 North 49th Place - ** Scottsdale, AZ 85254 - * and published in the net comp.sources.misc newsgroup in early July - * since the BSD banner program works quite differently. - * - * There is no copyright or responsibility accepted for the use - * of this software. - * - * Brian Wallis, brw@jim.odr.oz, 4 July 1988 - * - *****************************************************************/ - -#include -#include - -int main(int argc, char **argv); - -char *glyphs[] = { - " @@@ @@ @@ @ @ @@@@@ @@ @@@ ", - " @@@ @@ @@ @ @ @ @ @@@ @ @ @ @@@ ", - " @@@ @ @ @@@@@@@@ @ @@ @ @@ @ ", - " @ @ @ @@@@@ @ @@@ @ ", - " @@@@@@@ @ @ @ @ @ @ ", - " @@@ @ @ @ @ @ @ @@ @ @ ", - " @@@ @ @ @@@@@ @ @@ @@@@ @ ", - - " @@ @@ @", - " @ @ @ @ @ @ ", - " @ @ @ @ @ @ ", - " @ @ @@@@@@@ @@@@@ @@@ @@@@@ @ ", - " @ @ @ @ @ @@@ @ ", - " @ @ @ @ @ @ @@@ @ ", - " @@ @@ @ @@@ @ ", - - " @@@ @ @@@@@ @@@@@ @ @@@@@@@ @@@@@ @@@@@@@", - " @ @ @@ @ @@ @@ @ @ @ @@ @ ", - "@ @ @ @ @ @ @@ @ @ @ @ ", - "@ @ @ @ @@@@@ @@@@@ @@@@@@@ @@@@@ @@@@@@ @ ", - "@ @ @ @ @ @ @ @@ @ @ ", - " @ @ @ @ @ @ @ @ @@ @ @ ", - " @@@ @@@@@ @@@@@@@ @@@@@ @ @@@@@ @@@@@ @ ", - - " @@@@@ @@@@@ @@@ @ @ @@@@@ ", - "@ @@ @ @@@ @@@ @ @ @ @", - "@ @@ @ @@@ @ @@@@@ @ @", - " @@@@@ @@@@@@ @@@ @ @ @@ ", - "@ @ @ @@@ @ @@@@@ @ @ ", - "@ @@ @ @@@ @ @ @ ", - " @@@@@ @@@@@ @@@ @ @ @ @ ", - - " @@@@@ @ @@@@@@ @@@@@ @@@@@@ @@@@@@@@@@@@@@ @@@@@ ", - "@ @ @ @ @ @@ @@ @@ @ @ @", - "@ @@@ @ @ @ @ @@ @ @@ @ @ ", - "@ @ @ @@ @@@@@@@ @ @ @@@@@@ @@@@@ @ @@@@", - "@ @@@@ @@@@@@@@ @@ @ @@ @ @ @", - "@ @@ @@ @@ @@ @@ @ @ @", - " @@@@@ @ @@@@@@@ @@@@@ @@@@@@ @@@@@@@@ @@@@@ ", - - "@ @ @*@ @@ @ @ @ @@ @@@@@@@@", - "@ @ @ @@ @ @ @@ @@@@ @@ @", - "@ @ @ @@ @ @ @ @ @ @@ @ @@ @", - "@@@@@@@ @ @@@@ @ @ @ @@ @ @@ @", - "@ @ @ @ @@ @ @ @ @@ @ @@ @", - "@ @ @ @ @@ @ @ @ @@ @@@ @", - "@ @ @@@ @@@@@ @ @ @@@@@@@@ @@ @@@@@@@@", - - "@@@@@@ @@@@@ @@@@@@ @@@@@ @@@@@@@@ @@ @@ @", - "@ @@ @@ @@ @ @ @ @@ @@ @ @", - "@ @@ @@ @@ @ @ @@ @@ @ @", - "@@@@@@ @ @@@@@@@ @@@@@ @ @ @@ @@ @ @", - "@ @ @ @@ @ @ @ @ @ @ @ @ @ @", - "@ @ @ @ @ @ @ @ @ @ @ @ @ @ @", - "@ @@@@ @@ @ @@@@@ @ @@@@@ @ @@ @@ ", - - "@ @@ @@@@@@@@ @@@@@ @ @@@@@ @ ", - " @ @ @ @ @ @ @ @ @ @ ", - " @ @ @ @ @ @ @ @ @ @ ", - " @ @ @ @ @ @ ", - " @ @ @ @ @ @ @ ", - " @ @ @ @ @ @ @ ", - "@ @ @ @@@@@@@ @@@@@ @ @@@@@ @@@@@@@", - - " @@@ ", - " @@@ @@ @@@@@ @@@@ @@@@@ @@@@@@ @@@@@@ @@@@ ", - " @ @ @ @ @ @ @ @ @ @ @ @ @", - " @ @ @ @@@@@ @ @ @ @@@@@ @@@@@ @ ", - " @@@@@@ @ @ @ @ @ @ @ @ @@@", - " @ @ @ @ @ @ @ @ @ @ @ @", - " @ @ @@@@@ @@@@ @@@@@ @@@@@@ @ @@@@ ", - - " ", - " @ @ @ @ @ @ @ @ @ @ @ @@@@ ", - " @ @ @ @ @ @ @ @@ @@ @@ @ @ @", - " @@@@@@ @ @ @@@@ @ @ @@ @ @ @ @ @ @", - " @ @ @ @ @ @ @ @ @ @ @ @ @ @", - " @ @ @ @ @ @ @ @ @ @ @ @@ @ @", - " @ @ @ @@@@ @ @ @@@@@@ @ @ @ @ @@@@ ", - - " ", - " @@@@@ @@@@ @@@@@ @@@@ @@@@@ @ @ @ @ @ @", - " @ @ @ @ @ @ @ @ @ @ @ @ @ @", - " @ @ @ @ @ @ @@@@ @ @ @ @ @ @ @", - " @@@@@ @ @ @ @@@@@ @ @ @ @ @ @ @ @@ @", - " @ @ @ @ @ @ @ @ @ @ @ @ @@ @@", - " @ @@@ @ @ @ @@@@ @ @@@@ @@ @ @", - - " @@@ @ @@@ @@ @ @ @ @", - " @ @ @ @ @@@@@@ @ @ @ @ @ @ @ @ @ ", - " @ @ @ @ @ @ @ @ @@ @ @ @ @", - " @@ @ @ @@ @@ @ @ @ ", - " @@ @ @ @ @ @ @ @ @ @", - " @ @ @ @ @ @ @ @ @ @ ", - " @ @ @ @@@@@@ @@@ @ @@@ @ @ @ @" -}; - -int main(argc, argv) -int argc; -char *argv[]; -{ - int a, b, c, len, ind; - char line[80]; - - for (argv++; --argc; argv++) { - len = strlen(*argv); - if (len > 10) len = 10; - for (a = 0; a < 7; a++) { - for (b = 0; b < len; b++) { - if ((ind = (*argv)[b] - ' ') < 0) ind = 0; - for (c = 0; c < 7; c++) { - line[b * 8 + c] = glyphs[(ind / 8 * 7) + a][(ind % 8 * 7) + c] == '@' ? ind + ' ' : ' '; - } - line[b * 8 + 7] = ' '; - } - for (b = len * 8 - 1; b >= 0; b--) { - if (line[b] != ' ') break; - line[b] = '\0'; - } - printf("%s\n", line); - } - printf("\n"); - } - return(0); -} diff --git a/man/man1/Makefile b/man/man1/Makefile index 4129edc45..979d00125 100644 --- a/man/man1/Makefile +++ b/man/man1/Makefile @@ -1,4 +1,4 @@ -MAN= ash.1 at.1 banner.1 basename.1 \ +MAN= ash.1 at.1 basename.1 \ bsfilt.1 cawf.1 chgrp.1 \ chmod.1 cmp.1 comm.1 compress.1 \ cp.1 crc.1 crontab.1 dd.1 \ diff --git a/man/man1/banner.1 b/man/man1/banner.1 deleted file mode 100644 index a010d81e8..000000000 --- a/man/man1/banner.1 +++ /dev/null @@ -1,24 +0,0 @@ -.TH BANNER 1 -.SH NAME -banner \- print a banner -.SH SYNOPSIS -\fBbanner \fIarg ...\fR -.br -.de FL -.TP -\\fB\\$1\\fR -\\$2 -.. -.de EX -.TP 20 -\\fB\\$1\\fR -# \\$2 -.. -.SH EXAMPLES -.TP 20 -.B banner happy birthday -# Print a banner saying happy birthday -.SH DESCRIPTION -.PP -\fIBanner\fR prints its arguments on \fIstdout\fR using a matrix -of 6 x 6 pixels per character. diff --git a/releasetools/nbsd_ports b/releasetools/nbsd_ports index cacb6b51d..28536347f 100644 --- a/releasetools/nbsd_ports +++ b/releasetools/nbsd_ports @@ -121,6 +121,7 @@ 2012/10/17 12:00:00,tools/tic 2012/10/17 12:00:00,tools/tsort 2009/05/08 12:48:43,usr.bin/apropos +2012/10/17 12:00:00,usr.bin/banner 2012/10/17 12:00:00,usr.bin/bzip2 2012/10/17 12:00:00,usr.bin/bzip2recover 2013/03/15 12:00:00,usr.bin/cal diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 09ee24dd9..96485f7e6 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -4,7 +4,7 @@ .include SUBDIR= \ - \ + banner \ bzip2 bzip2recover \ cal chpass cksum \ col ctags \ diff --git a/usr.bin/banner/Makefile b/usr.bin/banner/Makefile new file mode 100644 index 000000000..a5db1e309 --- /dev/null +++ b/usr.bin/banner/Makefile @@ -0,0 +1,17 @@ +# $NetBSD: Makefile,v 1.4 2009/04/14 22:15:17 lukem Exp $ + +PROG= banner + +SRCS= $(PROG).c chset.c + +# if you want to make chars from the letter involved (like lpd), then +# un-comment the following. +#CPPFLAGS+= -DNOHASH_ONLY + +# if you want to use the same char set that lpd uses then un-comment +# the following. Lpd uses a much nicer character set but banner +# output will not be the same as the real thing. +#CPPFLAGS+= -DLPD_CHSET + +.include + diff --git a/usr.bin/banner/banner.1 b/usr.bin/banner/banner.1 new file mode 100644 index 000000000..73e602aac --- /dev/null +++ b/usr.bin/banner/banner.1 @@ -0,0 +1,63 @@ +.\" $NetBSD: banner.1,v 1.9 2012/02/29 08:54:55 wiz Exp $ +.\" +.\" @(#)Copyright (c) 1995, Simon J. Gerraty. +.\" +.\" This is free software. It comes with NO WARRANTY. +.\" Permission to use, modify and distribute this source code +.\" is granted subject to the following conditions. +.\" 1/ that the above copyright notice and this notice +.\" are preserved in all copies and that due credit be given +.\" to the author. +.\" 2/ that any changes to this code are clearly commented +.\" as such so that the author does not get blamed for bugs +.\" other than his own. +.\" +.\" Please send copies of changes and bug-fixes to: +.\" sjg@zen.void.oz.au +.\" +.Dd February 26, 2012 +.Dt BANNER 1 +.Os +.Sh NAME +.Nm banner +.Nd print strings in large letters +.Sh SYNOPSIS +.Nm +.Op Fl l +.Op Fl b Ar bg +.Op Fl f Ar fg +.Ar string ... +.Sh DESCRIPTION +.Nm +prints up to 10 chars of each +.Ar string +in large letters on the standard output. +.Pp +The options are: +.Bl -tag -width Ds +.It Fl b Ar bg +Use +.Ar bg +as the background color (character) rather than the default +.Dq \ . +.It Fl f Ar fg +Use +.Ar fg +as the foreground color (character) rather than the default +.Dq # . +If +.Ar fg +is +.Dq - , +then the actual letter being printed is used as the +foreground color in the same way that LPD does it. +The results are quite variable. +.It Fl l +Use the more attractive LPD font instead of the traditional +.Nm +font. +.El +.Sh EXIT STATUS +.Ex -std +.Sh SEE ALSO +.Xr banner 6 diff --git a/usr.bin/banner/banner.c b/usr.bin/banner/banner.c new file mode 100644 index 000000000..b13ed0602 --- /dev/null +++ b/usr.bin/banner/banner.c @@ -0,0 +1,211 @@ +/* $NetBSD: banner.c,v 1.15 2012/02/29 08:55:25 wiz Exp $ */ + +/* + * Changes for banner(1) + * + * @(#)Copyright (c) 1995, Simon J. Gerraty. + * + * This is free software. It comes with NO WARRANTY. + * Permission to use, modify and distribute this source code + * is granted subject to the following conditions. + * 1/ that the above copyright notice and this notice + * are preserved in all copies and that due credit be given + * to the author. + * 2/ that any changes to this code are clearly commented + * as such so that the author does not get blamed for bugs + * other than his own. + * + * Please send copies of changes and bug-fixes to: + * sjg@zen.void.oz.au + */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1983, 1993\ + The Regents of the University of California. All rights reserved."); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)printjob.c 8.2 (Berkeley) 4/16/94"; +#else +__RCSID("$NetBSD: banner.c,v 1.15 2012/02/29 08:55:25 wiz Exp $"); +#endif +#endif /* not lint */ + +#include +#include +#include +#include + +#include "banner.h" + +static long PW = LINELEN; +/* + * lpd makes chars out of the letter in question. + * the results are somewhat mixed. Sticking to '#' as + * banner(1) does is more consistent. + */ +static int ForeGnd = '#'; +static int BackGnd = ' '; +static int Drop = 0; /* 3 for the LPD font */ + +static int dropit (int); +static void scan_out (int, char *, int); +static char *scnline (int, char *, int); +__dead static void usage(void); + +/* the char gen code below is lifted from lpd */ + +static char * +scnline(int key, char *p, int c) +{ + int scnwidth; + + if (ForeGnd) + c = ForeGnd; + + for (scnwidth = WIDTH; --scnwidth;) { + key <<= 1; + *p++ = key & 0200 ? c : BackGnd; + } + return (p); +} + +#define TRC(q) (((q)-' ')&0177) + + +static int +dropit(int c) +{ + switch(c) { + + case TRC('_'): + case TRC(';'): + case TRC(','): + case TRC('g'): + case TRC('j'): + case TRC('p'): + case TRC('q'): + case TRC('y'): + return (Drop); + + default: + return (0); + } +} + +static void +scan_out(int scfd, char *scsp, int dlm) +{ + char *strp; + int nchrs, j; + char outbuf[LINELEN+1], *sp, c, cc; + int d, scnhgt; + + for (scnhgt = 0; scnhgt++ < HEIGHT+Drop; ) { + strp = &outbuf[0]; + if (BackGnd != ' ') + *strp++ = BackGnd; + sp = scsp; + for (nchrs = 0; *sp != dlm && *sp != '\0'; ) { + cc = *sp++; + if(cc < ' ' || ((int)cc) >= 0x7f) + cc = ' '; + d = dropit(c = TRC(cc)); + if ((!d && scnhgt > HEIGHT) || (scnhgt <= Drop && d)) + for (j = WIDTH; --j;) + *strp++ = BackGnd; + else if (Drop == 0) + strp = scnline( + scnkey_def[(int)c][scnhgt-1-d], strp, cc); + else + strp = scnline( + scnkey_lpd[(int)c][scnhgt-1-d], strp, cc); + if (nchrs++ >= PW/(WIDTH+1)-1) + break; + *strp++ = BackGnd; + } + if (BackGnd != ' ') + *strp++ = BackGnd; + else { + while (*--strp == ' ' && strp >= outbuf) + ; + strp++; + } + *strp++ = '\n'; + (void) write(scfd, outbuf, strp-outbuf); + } +} + +/* + * for each word, print up to 10 chars in big letters. + */ +int +main(int argc, char **argv) +{ + char word[10+1]; /* strings limited to 10 chars */ + int c; + + while ((c = getopt(argc, argv, "b:f:l")) != -1) { + switch (c) { + case 'f': + if (*optarg == '-') + ForeGnd = 0; + else + ForeGnd = *optarg; + break; + case 'b': + BackGnd = *optarg; + break; + case 'l': + Drop = 3; /* for LPD font */ + break; + default: + usage(); + } + } + + for (; optind < argc; ++optind) { + (void)strlcpy(word, argv[optind], sizeof (word)); + scan_out(STDOUT_FILENO, word, '\0'); + } + exit(0); +} + +static void +usage(void) +{ + fprintf(stderr, "usage: %s [-l] [-b bg] [-f fg] string ...\n", + getprogname()); + exit(1); +} diff --git a/usr.bin/banner/banner.h b/usr.bin/banner/banner.h new file mode 100644 index 000000000..9b4b373c0 --- /dev/null +++ b/usr.bin/banner/banner.h @@ -0,0 +1,28 @@ +/* $NetBSD: banner.h,v 1.4 2000/10/04 19:33:16 mjl Exp $ */ + +/* + * Various defines needed for code lifted from lpd. + * + * @(#)Copyright (c) 1995, Simon J. Gerraty. + * + * This is free software. It comes with NO WARRANTY. + * Permission to use, modify and distribute this source code + * is granted subject to the following conditions. + * 1/ that the above copyright notice and this notice + * are preserved in all copies and that due credit be given + * to the author. + * 2/ that any changes to this code are clearly commented + * as such so that the author does not get blamed for bugs + * other than his own. + * + * Please send copies of changes and bug-fixes to: + * sjg@zen.void.oz.au + */ + +#define LINELEN 132 +#define BACKGND ' ' +#define HEIGHT 9 /* height of characters */ +#define WIDTH 8 /* width of characters */ + +extern const char scnkey_lpd[][HEIGHT]; +extern const char scnkey_def[][HEIGHT]; diff --git a/usr.bin/banner/chset.c b/usr.bin/banner/chset.c new file mode 100644 index 000000000..6a6ba1582 --- /dev/null +++ b/usr.bin/banner/chset.c @@ -0,0 +1,2226 @@ +/* $NetBSD: chset.c,v 1.6 2003/08/07 11:13:09 agc Exp $ */ + +/* + * Changes for banner(1) + * @(#)Copyright (c) 1995, Simon J. Gerraty. + * + * This is free software. It comes with NO WARRANTY. + * Permission to use, modify and distribute this source code + * is granted subject to the following conditions. + * 1/ that the above copyright notice and this notice + * are preserved in all copies and that due credit be given + * to the author. + * 2/ that any changes to this code are clearly commented + * as such so that the author does not get blamed for bugs + * other than his own. + * + * Please send copies of changes and bug-fixes to: + * sjg@zen.void.oz.au + */ + +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +#if 0 +static char sccsid[] = "@(#)lpdchar.c 8.1 (Berkeley) 6/6/93"; +#else +__RCSID("$NetBSD: chset.c,v 1.6 2003/08/07 11:13:09 agc Exp $"); +#endif +#endif /* not lint */ + +#include "banner.h" + +/* + * the following were all re-generated by a perl script, + * to fill in the gaps needed by the banner(1) char set. + */ +#define c_______ 0 +#define c______1 1 +#define c_____1_ 2 +#define c_____11 3 +#define c____1__ 4 +#define c____1_1 5 +#define c____11_ 6 +#define c____111 7 +#define c___1___ 8 +#define c___1__1 9 +#define c___1_1_ 10 +#define c___1_11 11 +#define c___11__ 12 +#define c___11_1 13 +#define c___111_ 14 +#define c___1111 15 +#define c__1____ 16 +#define c__1___1 17 +#define c__1__1_ 18 +#define c__1__11 19 +#define c__1_1__ 20 +#define c__1_1_1 21 +#define c__1_11_ 22 +#define c__1_111 23 +#define c__11___ 24 +#define c__11__1 25 +#define c__11_1_ 26 +#define c__11_11 27 +#define c__111__ 28 +#define c__111_1 29 +#define c__1111_ 30 +#define c__11111 31 +#define c_1_____ 32 +#define c_1____1 33 +#define c_1___1_ 34 +#define c_1___11 35 +#define c_1__1__ 36 +#define c_1__1_1 37 +#define c_1__11_ 38 +#define c_1__111 39 +#define c_1_1___ 40 +#define c_1_1__1 41 +#define c_1_1_1_ 42 +#define c_1_1_11 43 +#define c_1_11__ 44 +#define c_1_11_1 45 +#define c_1_111_ 46 +#define c_1_1111 47 +#define c_11____ 48 +#define c_11___1 49 +#define c_11__1_ 50 +#define c_11__11 51 +#define c_11_1__ 52 +#define c_11_1_1 53 +#define c_11_11_ 54 +#define c_11_111 55 +#define c_111___ 56 +#define c_111__1 57 +#define c_111_1_ 58 +#define c_111_11 59 +#define c_1111__ 60 +#define c_1111_1 61 +#define c_11111_ 62 +#define c_111111 63 +#define c1______ 64 +#define c1_____1 65 +#define c1____1_ 66 +#define c1____11 67 +#define c1___1__ 68 +#define c1___1_1 69 +#define c1___11_ 70 +#define c1___111 71 +#define c1__1___ 72 +#define c1__1__1 73 +#define c1__1_1_ 74 +#define c1__1_11 75 +#define c1__11__ 76 +#define c1__11_1 77 +#define c1__111_ 78 +#define c1__1111 79 +#define c1_1____ 80 +#define c1_1___1 81 +#define c1_1__1_ 82 +#define c1_1__11 83 +#define c1_1_1__ 84 +#define c1_1_1_1 85 +#define c1_1_11_ 86 +#define c1_1_111 87 +#define c1_11___ 88 +#define c1_11__1 89 +#define c1_11_1_ 90 +#define c1_11_11 91 +#define c1_111__ 92 +#define c1_111_1 93 +#define c1_1111_ 94 +#define c1_11111 95 +#define c11_____ 96 +#define c11____1 97 +#define c11___1_ 98 +#define c11___11 99 +#define c11__1__ 100 +#define c11__1_1 101 +#define c11__11_ 102 +#define c11__111 103 +#define c11_1___ 104 +#define c11_1__1 105 +#define c11_1_1_ 106 +#define c11_1_11 107 +#define c11_11__ 108 +#define c11_11_1 109 +#define c11_111_ 110 +#define c11_1111 111 +#define c111____ 112 +#define c111___1 113 +#define c111__1_ 114 +#define c111__11 115 +#define c111_1__ 116 +#define c111_1_1 117 +#define c111_11_ 118 +#define c111_111 119 +#define c1111___ 120 +#define c1111__1 121 +#define c1111_1_ 122 +#define c1111_11 123 +#define c11111__ 124 +#define c11111_1 125 +#define c111111_ 126 +#define c1111111 127 + + + +/* + * This is relatively easy to modify just look: + */ +const char scnkey_lpd[][HEIGHT] = +{ + { c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______ }, /* */ + + { c__11___, + c__11___, + c__11___, + c__11___, + c__11___, + c_______, + c_______, + c__11___, + c__11___ }, /* ! */ + + { c_1__1__, + c_1__1__, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______ }, /* " */ + + { c_______, + c__1_1__, + c__1_1__, + c1111111, + c__1_1__, + c1111111, + c__1_1__, + c__1_1__, + c_______ }, /* # */ + + { c___1___, + c_11111_, + c1__1__1, + c1__1___, + c_11111_, + c___1__1, + c1__1__1, + c_11111_, + c___1___ }, /* $ */ + + { c_1_____, + c1_1___1, + c_1___1_, + c____1__, + c___1___, + c__1____, + c_1___1_, + c1___1_1, + c_____1_ }, /* % */ + + { c_11____, + c1__1___, + c1___1__, + c_1_1___, + c__1____, + c_1_1__1, + c1___11_, + c1___11_, + c_111__1 }, /* & */ + + { c___11__, + c___11__, + c___1___, + c__1____, + c_______, + c_______, + c_______, + c_______, + c_______ }, /* ' */ + + { c____1__, + c___1___, + c__1____, + c__1____, + c__1____, + c__1____, + c__1____, + c___1___, + c____1__ }, /* ( */ + + { c__1____, + c___1___, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c___1___, + c__1____ }, /* ) */ + + { c_______, + c___1___, + c1__1__1, + c_1_1_1_, + c__111__, + c_1_1_1_, + c1__1__1, + c___1___, + c_______ }, /* * */ + + { c_______, + c___1___, + c___1___, + c___1___, + c1111111, + c___1___, + c___1___, + c___1___, + c_______ }, /* + */ + + { c_______, + c_______, + c_______, + c_______, + c__11___, + c__11___, + c__1____, + c_1_____, + c_______ }, /* , */ + + { c_______, + c_______, + c_______, + c_______, + c1111111, + c_______, + c_______, + c_______, + c_______ }, /* - */ + + { c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c__11___, + c__11___ }, /* . */ + + { c_______, + c______1, + c_____1_, + c____1__, + c___1___, + c__1____, + c_1_____, + c1______, + c_______ }, /* / */ + + { c_11111_, + c1_____1, + c1____11, + c1___1_1, + c1__1__1, + c1_1___1, + c11____1, + c1_____1, + c_11111_ }, /* 0 */ + + { c___1___, + c__11___, + c_1_1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c_11111_ }, /* 1 */ + + { c_11111_, + c1_____1, + c______1, + c_____1_, + c__111__, + c_1_____, + c1______, + c1______, + c1111111 }, /* 2 */ + + { c_11111_, + c1_____1, + c______1, + c______1, + c__1111_, + c______1, + c______1, + c1_____1, + c_11111_ }, /* 3 */ + + { c_____1_, + c____11_, + c___1_1_, + c__1__1_, + c_1___1_, + c1____1_, + c1111111, + c_____1_, + c_____1_ }, /* 4 */ + + { c1111111, + c1______, + c1______, + c11111__, + c_____1_, + c______1, + c______1, + c1____1_, + c_1111__ }, /* 5 */ + + { c__1111_, + c_1_____, + c1______, + c1______, + c1_1111_, + c11____1, + c1_____1, + c1_____1, + c_11111_ }, /* 6 */ + + { c1111111, + c1_____1, + c_____1_, + c____1__, + c___1___, + c__1____, + c__1____, + c__1____, + c__1____ }, /* 7 */ + + { c_11111_, + c1_____1, + c1_____1, + c1_____1, + c_11111_, + c1_____1, + c1_____1, + c1_____1, + c_11111_ }, /* 8 */ + + { c_11111_, + c1_____1, + c1_____1, + c1_____1, + c_111111, + c______1, + c______1, + c1_____1, + c_1111__ }, /* 9 */ + + { c_______, + c_______, + c_______, + c__11___, + c__11___, + c_______, + c_______, + c__11___, + c__11___ }, /* : */ + + + { c__11___, + c__11___, + c_______, + c_______, + c__11___, + c__11___, + c__1____, + c_1_____, + c_______ }, /* ; */ + + { c____1__, + c___1___, + c__1____, + c_1_____, + c1______, + c_1_____, + c__1____, + c___1___, + c____1__ }, /* < */ + + { c_______, + c_______, + c_______, + c1111111, + c_______, + c1111111, + c_______, + c_______, + c_______ }, /* = */ + + { c__1____, + c___1___, + c____1__, + c_____1_, + c______1, + c_____1_, + c____1__, + c___1___, + c__1____ }, /* > */ + + { c__1111_, + c_1____1, + c_1____1, + c______1, + c____11_, + c___1___, + c___1___, + c_______, + c___1___ }, /* ? */ + + { c__1111_, + c_1____1, + c1__11_1, + c1_1_1_1, + c1_1_1_1, + c1_1111_, + c1______, + c_1____1, + c__1111_ }, /* @ */ + + { c__111__, + c_1___1_, + c1_____1, + c1_____1, + c1111111, + c1_____1, + c1_____1, + c1_____1, + c1_____1 }, /* A */ + + { c111111_, + c_1____1, + c_1____1, + c_1____1, + c_11111_, + c_1____1, + c_1____1, + c_1____1, + c111111_ }, /* B */ + + { c__1111_, + c_1____1, + c1______, + c1______, + c1______, + c1______, + c1______, + c_1____1, + c__1111_ }, /* C */ + + { c11111__, + c_1___1_, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c_1___1_, + c11111__ }, /* D */ + + { c1111111, + c1______, + c1______, + c1______, + c111111_, + c1______, + c1______, + c1______, + c1111111 }, /* E */ + + { c1111111, + c1______, + c1______, + c1______, + c111111_, + c1______, + c1______, + c1______, + c1______ }, /* F */ + + { c__1111_, + c_1____1, + c1______, + c1______, + c1______, + c1__1111, + c1_____1, + c_1____1, + c__1111_ }, /* G */ + + { c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1111111, + c1_____1, + c1_____1, + c1_____1, + c1_____1 }, /* H */ + + { c_11111_, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c_11111_ }, /* I */ + + { c__11111, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c1___1__, + c_111___ }, /* J */ + + { c1_____1, + c1____1_, + c1___1__, + c1__1___, + c1_1____, + c11_1___, + c1___1__, + c1____1_, + c1_____1 }, /* K */ + + { c1______, + c1______, + c1______, + c1______, + c1______, + c1______, + c1______, + c1______, + c1111111 }, /* L */ + + { c1_____1, + c11___11, + c1_1_1_1, + c1__1__1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1 }, /* M */ + + { c1_____1, + c11____1, + c1_1___1, + c1__1__1, + c1___1_1, + c1____11, + c1_____1, + c1_____1, + c1_____1 }, /* N */ + + { c__111__, + c_1___1_, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c_1___1_, + c__111__ }, /* O */ + + { c111111_, + c1_____1, + c1_____1, + c1_____1, + c111111_, + c1______, + c1______, + c1______, + c1______ }, /* P */ + + { c__111__, + c_1___1_, + c1_____1, + c1_____1, + c1_____1, + c1__1__1, + c1___1_1, + c_1___1_, + c__111_1 }, /* Q */ + + { c111111_, + c1_____1, + c1_____1, + c1_____1, + c111111_, + c1__1___, + c1___1__, + c1____1_, + c1_____1 }, /* R */ + + { c_11111_, + c1_____1, + c1______, + c1______, + c_11111_, + c______1, + c______1, + c1_____1, + c_11111_ }, /* S */ + + { c1111111, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___ }, /* T */ + + { c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c_11111_ }, /* U */ + + { c1_____1, + c1_____1, + c1_____1, + c_1___1_, + c_1___1_, + c__1_1__, + c__1_1__, + c___1___, + c___1___ }, /* V */ + + { c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1__1__1, + c1__1__1, + c1_1_1_1, + c11___11, + c1_____1 }, /* W */ + + { c1_____1, + c1_____1, + c_1___1_, + c__1_1__, + c___1___, + c__1_1__, + c_1___1_, + c1_____1, + c1_____1 }, /* X */ + + { c1_____1, + c1_____1, + c_1___1_, + c__1_1__, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___ }, /* Y */ + + { c1111111, + c______1, + c_____1_, + c____1__, + c___1___, + c__1____, + c_1_____, + c1______, + c1111111 }, /* Z */ + + { c_1111__, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1111__ }, /* [ */ + + { c_______, + c1______, + c_1_____, + c__1____, + c___1___, + c____1__, + c_____1_, + c______1, + c_______ }, /* \ */ + + { c__1111_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c__1111_ }, /* ] */ + + { c___1___, + c__1_1__, + c_1___1_, + c1_____1, + c_______, + c_______, + c_______, + c_______ }, /* ^ */ + + { c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c1111111, + c_______ }, /* _ */ + + { c__11___, + c__11___, + c___1___, + c____1__, + c_______, + c_______, + c_______, + c_______, + c_______ }, /* ` */ + + { c_______, + c_______, + c_______, + c_1111__, + c_____1_, + c_11111_, + c1_____1, + c1____11, + c_1111_1 }, /* a */ + + { c1______, + c1______, + c1______, + c1_111__, + c11___1_, + c1_____1, + c1_____1, + c11___1_, + c1_111__ }, /* b */ + + { c_______, + c_______, + c_______, + c_1111__, + c1____1_, + c1______, + c1______, + c1____1_, + c_1111__ }, /* c */ + + { c_____1_, + c_____1_, + c_____1_, + c_111_1_, + c1___11_, + c1____1_, + c1____1_, + c1___11_, + c_111_1_ }, /* d */ + + { c_______, + c_______, + c_______, + c_1111__, + c1____1_, + c111111_, + c1______, + c1____1_, + c_1111__ }, /* e */ + + { c___11__, + c__1__1_, + c__1____, + c__1____, + c11111__, + c__1____, + c__1____, + c__1____, + c__1____ }, /* f */ + + { c_111_1_, + c1___11_, + c1____1_, + c1____1_, + c1___11_, + c_111_1_, + c_____1_, + c1____1_, + c_1111__ }, /* g */ + + { c1______, + c1______, + c1______, + c1_111__, + c11___1_, + c1____1_, + c1____1_, + c1____1_, + c1____1_ }, /* h */ + + { c_______, + c___1___, + c_______, + c__11___, + c___1___, + c___1___, + c___1___, + c___1___, + c__111__ }, /* i */ + + { c____11_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_1___1_, + c__111__ }, /* j */ + + { c1______, + c1______, + c1______, + c1___1__, + c1__1___, + c1_1____, + c11_1___, + c1___1__, + c1____1_ }, /* k */ + + { c__11___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c__111__ }, /* l */ + + { c_______, + c_______, + c_______, + c1_1_11_, + c11_1__1, + c1__1__1, + c1__1__1, + c1__1__1, + c1__1__1 }, /* m */ + + { c_______, + c_______, + c_______, + c1_111__, + c11___1_, + c1____1_, + c1____1_, + c1____1_, + c1____1_ }, /* n */ + + { c_______, + c_______, + c_______, + c_1111__, + c1____1_, + c1____1_, + c1____1_, + c1____1_, + c_1111__ }, /* o */ + + { c1_111__, + c11___1_, + c1____1_, + c1____1_, + c11___1_, + c1_111__, + c1______, + c1______, + c1______ }, /* p */ + + { c_111_1_, + c1___11_, + c1____1_, + c1____1_, + c1___11_, + c_111_1_, + c_____1_, + c_____1_, + c_____1_ }, /* q */ + + { c_______, + c_______, + c_______, + c1_111__, + c11___1_, + c1______, + c1______, + c1______, + c1______ }, /* r */ + + { c_______, + c_______, + c_______, + c_1111__, + c1____1_, + c_11____, + c___11__, + c1____1_, + c_1111__ }, /* s */ + + { c_______, + c__1____, + c__1____, + c11111__, + c__1____, + c__1____, + c__1____, + c__1__1_, + c___11__ }, /* t */ + + { c_______, + c_______, + c_______, + c1____1_, + c1____1_, + c1____1_, + c1____1_, + c1___11_, + c_111_1_ }, /* u */ + + { c_______, + c_______, + c_______, + c1_____1, + c1_____1, + c1_____1, + c_1___1_, + c__1_1__, + c___1___ }, /* v */ + + { c_______, + c_______, + c_______, + c1_____1, + c1__1__1, + c1__1__1, + c1__1__1, + c1__1__1, + c_11_11_ }, /* w */ + + { c_______, + c_______, + c_______, + c1____1_, + c_1__1__, + c__11___, + c__11___, + c_1__1__, + c1____1_ }, /* x */ + + { c1____1_, + c1____1_, + c1____1_, + c1____1_, + c1___11_, + c_111_1_, + c_____1_, + c1____1_, + c_1111__ }, /* y */ + + { c_______, + c_______, + c_______, + c111111_, + c____1__, + c___1___, + c__1____, + c_1_____, + c111111_ }, /* z */ + + { c___11__, + c__1____, + c__1____, + c__1____, + c_1_____, + c__1____, + c__1____, + c__1____, + c___11__ }, /* } */ + + { c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___ }, /* | */ + + { c__11___, + c____1__, + c____1__, + c____1__, + c_____1_, + c____1__, + c____1__, + c____1__, + c__11___ }, /* } */ + + { c_11____, + c1__1__1, + c____11_, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______ }, /* ~ */ + + { c_1__1__, + c1__1__1, + c__1__1_, + c_1__1__, + c1__1__1, + c__1__1_, + c_1__1__, + c1__1__1, + c__1__1_ } /* rub-out */ +}; + +/* + * This is the real banner char set + */ +const char scnkey_def[][HEIGHT] = +{ + { + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______ + }, /* */ + + { + c_______, + c__111__, + c__111__, + c__111__, + c___1___, + c_______, + c__111__, + c__111__, + c_______ + }, /* ! */ + { + c_______, + c111_111, + c111_111, + c_1___1_, + c_______, + c_______, + c_______, + c_______, + c_______ + }, /* " */ + { + c_______, + c__1_1__, + c__1_1__, + c1111111, + c__1_1__, + c1111111, + c__1_1__, + c__1_1__, + c_______ + }, /* # */ + { + c_______, + c_11111_, + c1__1__1, + c1__1___, + c_11111_, + c___1__1, + c1__1__1, + c_11111_, + c_______ + }, /* $ */ + { + c_______, + c111___1, + c1_1__1_, + c111_1__, + c___1___, + c__1_111, + c_1__1_1, + c1___111, + c_______ + }, /* % */ + { + c_______, + c__11___, + c_1__1__, + c__11___, + c_111___, + c1___1_1, + c1____1_, + c_111__1, + c_______ + }, /* & */ + { + c_______, + c__111__, + c__111__, + c___1___, + c__1____, + c_______, + c_______, + c_______, + c_______ + }, /* ' */ + { + c_______, + c___11__, + c__1____, + c_1_____, + c_1_____, + c_1_____, + c__1____, + c___11__, + c_______ + }, /* ( */ + { + c_______, + c__11___, + c____1__, + c_____1_, + c_____1_, + c_____1_, + c____1__, + c__11___, + c_______ + }, /* ) */ + { + c_______, + c_______, + c_1___1_, + c__1_1__, + c1111111, + c__1_1__, + c_1___1_, + c_______, + c_______ + }, /* * */ + { + c_______, + c_______, + c___1___, + c___1___, + c_11111_, + c___1___, + c___1___, + c_______, + c_______ + }, /* + */ + { + c_______, + c_______, + c_______, + c_______, + c__111__, + c__111__, + c___1___, + c__1____, + c_______ + }, /* , */ + { + c_______, + c_______, + c_______, + c_______, + c_11111_, + c_______, + c_______, + c_______, + c_______ + }, /* - */ + { + c_______, + c_______, + c_______, + c_______, + c_______, + c__111__, + c__111__, + c__111__, + c_______ + }, /* . */ + { + c_______, + c______1, + c_____1_, + c____1__, + c___1___, + c__1____, + c_1_____, + c1______, + c_______ + }, /* / */ + { + c_______, + c__111__, + c_1___1_, + c1_____1, + c1_____1, + c1_____1, + c_1___1_, + c__111__, + c_______ + }, /* 0 */ + { + c_______, + c___1___, + c__11___, + c_1_1___, + c___1___, + c___1___, + c___1___, + c_11111_, + c_______ + }, /* 1 */ + { + c_______, + c_11111_, + c1_____1, + c______1, + c_11111_, + c1______, + c1______, + c1111111, + c_______ + }, /* 2 */ + { + c_______, + c_11111_, + c1_____1, + c______1, + c_11111_, + c______1, + c1_____1, + c_11111_, + c_______ + }, /* 3 */ + { + c_______, + c1______, + c1____1_, + c1____1_, + c1____1_, + c1111111, + c_____1_, + c_____1_, + c_______ + }, /* 4 */ + { + c_______, + c1111111, + c1______, + c1______, + c111111_, + c______1, + c1_____1, + c_11111_, + c_______ + }, /* 5 */ + { + c_______, + c_11111_, + c1_____1, + c1______, + c111111_, + c1_____1, + c1_____1, + c_11111_, + c_______ + }, /* 6 */ + { + c_______, + c1111111, + c1____1_, + c____1__, + c___1___, + c__1____, + c__1____, + c__1____, + c_______ + }, /* 7 */ + { + c_______, + c_11111_, + c1_____1, + c1_____1, + c_11111_, + c1_____1, + c1_____1, + c_11111_, + c_______ + }, /* 8 */ + { + c_______, + c_11111_, + c1_____1, + c1_____1, + c_111111, + c______1, + c1_____1, + c_11111_, + c_______ + }, /* 9 */ + { + c_______, + c___1___, + c__111__, + c___1___, + c_______, + c___1___, + c__111__, + c___1___, + c_______ + }, /* : */ + { + c_______, + c__111__, + c__111__, + c_______, + c__111__, + c__111__, + c___1___, + c__1____, + c_______ + }, /* ; */ + { + c_______, + c____1__, + c___1___, + c__1____, + c_1_____, + c__1____, + c___1___, + c____1__, + c_______ + }, /* < */ + { + c_______, + c_______, + c_______, + c_11111_, + c_______, + c_11111_, + c_______, + c_______, + c_______ + }, /* = */ + { + c_______, + c__1____, + c___1___, + c____1__, + c_____1_, + c____1__, + c___1___, + c__1____, + c_______ + }, /* > */ + { + c_______, + c_11111_, + c1_____1, + c______1, + c___111_, + c___1___, + c_______, + c___1___, + c_______ + }, /* ? */ + { + c_______, + c_11111_, + c1_____1, + c1_111_1, + c1_111_1, + c1_1111_, + c1______, + c_11111_, + c_______ + }, /* @ */ + { + c_______, + c___1___, + c__1_1__, + c_1___1_, + c1_____1, + c1111111, + c1_____1, + c1_____1, + c_______ + }, /* A */ + { + c_______, + c111111_, + c1_____1, + c1_____1, + c111111_, + c1_____1, + c1_____1, + c111111_, + c_______ + }, /* B */ + { + c_______, + c_11111_, + c1_____1, + c1______, + c1______, + c1______, + c1_____1, + c_11111_, + c_______ + }, /* C */ + { + c_______, + c111111_, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c111111_, + c_______ + }, /* D */ + { + c_______, + c1111111, + c1______, + c1______, + c11111__, + c1______, + c1______, + c1111111, + c_______ + }, /* E */ + { + c_______, + c1111111, + c1______, + c1______, + c11111__, + c1______, + c1______, + c1______, + c_______ + }, /* F */ + { + c_______, + c_11111_, + c1_____1, + c1______, + c1__1111, + c1_____1, + c1_____1, + c_11111_, + c_______ + }, /* G */ + { + c_______, + c1_____1, + c1_____1, + c1_____1, + c1111111, + c1_____1, + c1_____1, + c1_____1, + c_______ + }, /* H */ + { + c_______, + c__111__, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c__111__, + c_______ + }, /* I */ + { + c_______, + c______1, + c______1, + c______1, + c______1, + c1_____1, + c1_____1, + c_11111_, + c_______ + }, /* J */ + { + c_______, + c1____1_, + c1___1__, + c1__1___, + c111____, + c1__1___, + c1___1__, + c1____1_, + c_______ + }, /* K */ + { + c_______, + c1______, + c1______, + c1______, + c1______, + c1______, + c1______, + c1111111, + c_______ + }, /* L */ + { + c_______, + c1_____1, + c11___11, + c1_1_1_1, + c1__1__1, + c1_____1, + c1_____1, + c1_____1, + c_______ + }, /* M */ + { + c_______, + c1_____1, + c11____1, + c1_1___1, + c1__1__1, + c1___1_1, + c1____11, + c1_____1, + c_______ + }, /* N */ + { + c_______, + c1111111, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1111111, + c_______ + }, /* O */ + { + c_______, + c111111_, + c1_____1, + c1_____1, + c111111_, + c1______, + c1______, + c1______, + c_______ + }, /* P */ + { + c_______, + c_11111_, + c1_____1, + c1_____1, + c1_____1, + c1___1_1, + c1____1_, + c_1111_1, + c_______ + }, /* Q */ + { + c_______, + c111111_, + c1_____1, + c1_____1, + c111111_, + c1___1__, + c1____1_, + c1_____1, + c_______ + }, /* R */ + { + c_______, + c_11111_, + c1_____1, + c1______, + c_11111_, + c______1, + c1_____1, + c_11111_, + c_______ + }, /* S */ + { + c_______, + c1111111, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c___1___, + c_______ + }, /* T */ + { + c_______, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c_11111_, + c_______ + }, /* U */ + { + c_______, + c1_____1, + c1_____1, + c1_____1, + c1_____1, + c_1___1_, + c__1_1__, + c___1___, + c_______ + }, /* V */ + { + c_______, + c1_____1, + c1__1__1, + c1__1__1, + c1__1__1, + c1__1__1, + c1__1__1, + c_11_11_, + c_______ + }, /* W */ + { + c_______, + c1_____1, + c_1___1_, + c__1_1__, + c___1___, + c__1_1__, + c_1___1_, + c1_____1, + c_______ + }, /* X */ + { + c_______, + c1_____1, + c_1___1_, + c__1_1__, + c___1___, + c___1___, + c___1___, + c___1___, + c_______ + }, /* Y */ + { + c_______, + c1111111, + c_____1_, + c____1__, + c___1___, + c__1____, + c_1_____, + c1111111, + c_______ + }, /* Z */ + { + c_______, + c_11111_, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_11111_, + c_______ + }, /* [ */ + { + c_______, + c1______, + c_1_____, + c__1____, + c___1___, + c____1__, + c_____1_, + c______1, + c_______ + }, /* \ */ + { + c_______, + c_11111_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_____1_, + c_11111_, + c_______ + }, /* ] */ + { + c_______, + c___1___, + c__1_1__, + c_1___1_, + c_______, + c_______, + c_______, + c_______, + c_______ + }, /* ^ */ + { + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c_______, + c1111111, + c_______ + }, /* _ */ + { + c_______, + c__111__, + c__111__, + c___1___, + c____1__, + c_______, + c_______, + c_______, + c_______ + }, /* ` */ + { + c_______, + c_______, + c___11__, + c__1__1_, + c_1____1, + c_111111, + c_1____1, + c_1____1, + c_______ + }, /* a */ + { + c_______, + c_______, + c_11111_, + c_1____1, + c_11111_, + c_1____1, + c_1____1, + c_11111_, + c_______ + }, /* b */ + { + c_______, + c_______, + c__1111_, + c_1____1, + c_1_____, + c_1_____, + c_1____1, + c__1111_, + c_______ + }, /* c */ + { + c_______, + c_______, + c_11111_, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c_11111_, + c_______ + }, /* d */ + { + c_______, + c_______, + c_111111, + c_1_____, + c_11111_, + c_1_____, + c_1_____, + c_111111, + c_______ + }, /* e */ + { + c_______, + c_______, + c_111111, + c_1_____, + c_11111_, + c_1_____, + c_1_____, + c_1_____, + c_______ + }, /* f */ + { + c_______, + c_______, + c__1111_, + c_1____1, + c_1_____, + c_1__111, + c_1____1, + c__1111_, + c_______ + }, /* g */ + { + c_______, + c_______, + c_1____1, + c_1____1, + c_111111, + c_1____1, + c_1____1, + c_1____1, + c_______ + }, /* h */ + { + c_______, + c_______, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c_______ + }, /* i */ + { + c_______, + c_______, + c______1, + c______1, + c______1, + c______1, + c_1____1, + c__1111_, + c_______ + }, /* j */ + { + c_______, + c_______, + c_1____1, + c_1___1_, + c_1111__, + c_1__1__, + c_1___1_, + c_1____1, + c_______ + }, /* k */ + { + c_______, + c_______, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_1_____, + c_111111, + c_______ + }, /* l */ + { + c_______, + c_______, + c_1____1, + c_11__11, + c_1_11_1, + c_1____1, + c_1____1, + c_1____1, + c_______ + }, /* m */ + { + c_______, + c_______, + c_1____1, + c_11___1, + c_1_1__1, + c_1__1_1, + c_1___11, + c_1____1, + c_______ + }, /* n */ + { + c_______, + c_______, + c__1111_, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c__1111_, + c_______ + }, /* o */ + { + c_______, + c_______, + c_11111_, + c_1____1, + c_1____1, + c_11111_, + c_1_____, + c_1_____, + c_______ + }, /* p */ + { + c_______, + c_______, + c__1111_, + c_1____1, + c_1____1, + c_1__1_1, + c_1___1_, + c__111_1, + c_______ + }, /* q */ + { + c_______, + c_______, + c_11111_, + c_1____1, + c_1____1, + c_11111_, + c_1___1_, + c_1____1, + c_______ + }, /* r */ + { + c_______, + c_______, + c__1111_, + c_1_____, + c__1111_, + c______1, + c_1____1, + c__1111_, + c_______ + }, /* s */ + { + c_______, + c_______, + c__11111, + c____1__, + c____1__, + c____1__, + c____1__, + c____1__, + c_______ + }, /* t */ + { + c_______, + c_______, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c__1111_, + c_______ + }, /* u */ + { + c_______, + c_______, + c_1____1, + c_1____1, + c_1____1, + c_1____1, + c__1__1_, + c___11__, + c_______ + }, /* v */ + { + c_______, + c_______, + c_1____1, + c_1____1, + c_1____1, + c_1_11_1, + c_11__11, + c_1____1, + c_______ + }, /* w */ + { + c_______, + c_______, + c_1____1, + c__1__1_, + c___11__, + c___11__, + c__1__1_, + c_1____1, + c_______ + }, /* x */ + { + c_______, + c_______, + c__1___1, + c___1_1_, + c____1__, + c____1__, + c____1__, + c____1__, + c_______ + }, /* y */ + { + c_______, + c_______, + c_111111, + c_____1_, + c____1__, + c___1___, + c__1____, + c_111111, + c_______ + }, /* z */ + { + c_______, + c__111__, + c_1_____, + c_1_____, + c11_____, + c_1_____, + c_1_____, + c__111__, + c_______ + }, /* { */ + { + c_______, + c___1___, + c___1___, + c___1___, + c_______, + c___1___, + c___1___, + c___1___, + c_______ + }, /* | */ + { + c_______, + c__111__, + c_____1_, + c_____1_, + c_____11, + c_____1_, + c_____1_, + c__111__, + c_______ + }, /* } */ + { + c_______, + c_11____, + c1__1__1, + c____11_, + c_______, + c_______, + c_______, + c_______, + c_______ + }, /* ~ */ + + { + c_______, + c_1__1__, + c1__1__1, + c__1__1_, + c_1__1__, + c1__1__1, + c__1__1_, + c_1__1__, + c1__1__1 + } /* rub-out */ +}; +