home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
misc
/
volume24
/
gnuplot3
/
part03
< prev
next >
Wrap
Text File
|
1991-10-26
|
49KB
|
863 lines
Newsgroups: comp.sources.misc
From: gershon%gr@cs.utah.edu (Elber Gershon)
Subject: v24i025: gnuplot3 - interactive function plotting utility, Part03/26
Message-ID: <1991Oct26.222142.6215@sparky.imd.sterling.com>
X-Md4-Signature: 99337f1dc56139f15d136209caa162e8
Date: Sat, 26 Oct 1991 22:21:42 GMT
Approved: kent@sparky.imd.sterling.com
Submitted-by: gershon%gr@cs.utah.edu (Elber Gershon)
Posting-number: Volume 24, Issue 25
Archive-name: gnuplot3/part03
Environment: UNIX, MS-DOS, VMS
Supersedes: gnuplot2: Volume 11, Issue 65-79
#!/bin/sh
# this is Part.03 (part 3 of a multipart archive)
# do not concatenate these parts, unpack them in order with /bin/sh
# file gnuplot/help.c continued
#
if test ! -r _shar_seq_.tmp; then
echo 'Please unpack part 1 first!'
exit 1
fi
(read Scheck
if test "$Scheck" != 3; then
echo Please unpack part "$Scheck" next!
exit 1
else
exit 0
fi
) < _shar_seq_.tmp || exit 1
if test ! -f _shar_wnt_.tmp; then
echo 'x - still skipping gnuplot/help.c'
else
echo 'x - continuing file gnuplot/help.c'
sed 's/^X//' << 'SHAR_EOF' >> 'gnuplot/help.c' &&
X /* leave room for prompt line */
X if (pagelines >= SCREENSIZE - 2) {
X printf("Press return for more: ");
X do
X c = getchar();
X while (c != EOF && c != '\n');
X pagelines = 0;
X }
X fputs(line, stderr);
X pagelines++;
}
X
static void
EndOutput()
{
#ifdef unix
X extern int pclose();
X
X if (outfile != stderr)
X (void) pclose(outfile);
#endif
}
X
SHAR_EOF
echo 'File gnuplot/help.c is complete' &&
chmod 0644 gnuplot/help.c ||
echo 'restore of gnuplot/help.c failed'
Wc_c="`wc -c < 'gnuplot/help.c'`"
test 17904 -eq "$Wc_c" ||
echo 'gnuplot/help.c: original size 17904, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= gnuplot/bitmap.c ==============
if test -f 'gnuplot/bitmap.c' -a X"$1" != X"-c"; then
echo 'x - skipping gnuplot/bitmap.c (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting gnuplot/bitmap.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'gnuplot/bitmap.c' &&
/* GNUPLOT - bitmap.c */
/*
X * Copyright (C) 1986, 1987, 1990, 1991 Thomas Williams, Colin Kelley
X *
X * Permission to use, copy, and distribute this software and its
X * documentation for any purpose with or without fee is hereby granted,
X * provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear
X * in supporting documentation.
X *
X * Permission to modify the software is granted, but not the right to
X * distribute the modified code. Modifications are to be distributed
X * as patches to released version.
X *
X * This software is provided "as is" without express or implied warranty.
X *
X *
X * AUTHORS
X *
X * Original Software:
X * Jyrki Yli-Nokari <jty@intrin.UUCP>
X * Ronald J. Hartranft <rjh2@ns.cc.lehigh.edu>
X * Russell Lang <rjl@monu1.cc.monash.edu.au>
X *
X * Send your comments or suggestions to
X * pixar!info-gnuplot@sun.com.
X * This is a mailing list; to join it send a note to
X * pixar!info-gnuplot-request@sun.com.
X * Send bug reports to
X * pixar!bug-gnuplot@sun.com.
X */
X
/*
** General raster plotting routines.
** Raster routines written and copyrighted 1987 by
** Jyrki Yli-Nokari (jty@intrin.UUCP)
** Intrinsic, Ltd.
**
** You may use this code for anything you like as long as
** you are not selling it and the credit is given and
** this message retained.
**
*/
X
/* Bitmap plotting routines derived from above raster plotting routines
X * Russell Lang, 1990
X */
X
#include <stdio.h>
#include "plot.h"
#include "bitmap.h"
X
bitmap *b_p = (bitmap *)NULL; /* global pointer to bitmap */
unsigned int b_currx, b_curry; /* the current coordinates */
unsigned int b_xsize, b_ysize; /* the size of the bitmap */
unsigned int b_planes; /* number of color planes */
unsigned int b_psize; /* size of each plane */
unsigned int b_rastermode; /* raster mode rotates -90deg */
unsigned int b_linemask = 0xffff; /* 16 bit mask for dotted lines */
unsigned int b_value = 1; /* colour of lines */
unsigned int b_hchar; /* width of characters */
unsigned int b_hbits; /* actual bits in char horizontally */
unsigned int b_vchar; /* height of characters */
unsigned int b_vbits; /* actual bits in char vertically */
unsigned int b_angle; /* rotation of text */
char_box b_font[FNT_CHARS]; /* the current font */
unsigned int b_pattern[] = {0xffff, 0x1111,
X 0xffff, 0x5555, 0x3333, 0x7777, 0x3f3f, 0x0f0f, 0x5f5f};
int b_maskcount = 0;
unsigned int b_lastx, b_lasty; /* last pixel set - used by b_line */
X
#define IN(i,size) ((unsigned)i < (unsigned)size)
X
/* 5x9 font, bottom row first, left pixel in lsb */
char_row fnt5x9[FNT_CHARS][FNT5X9_VBITS] = {
X /* */ {000000,000000,000000,000000,000000,000000,000000,000000,000000},
X /*!*/ {000000,000000,0x0004,000000,0x0004,0x0004,0x0004,0x0004,0x0004},
X /*"*/ {000000,000000,000000,000000,000000,000000,0x000a,0x000a,0x000a},
X /*#*/ {000000,000000,0x000a,0x000a,0x001f,0x000a,0x001f,0x000a,0x000a},
X /*$*/ {000000,000000,0x0004,0x000f,0x0014,0x000e,0x0005,0x001e,0x0004},
X /*%*/ {000000,000000,0x0018,0x0019,0x0002,0x0004,0x0008,0x0013,0x0003},
X /*&*/ {000000,000000,0x0016,0x0009,0x0015,0x0002,0x0005,0x0005,0x0002},
X /*'*/ {000000,000000,000000,000000,000000,0x0002,0x0004,0x0006,0x0006},
X /*(*/ {000000,000000,0x0008,0x0004,0x0002,0x0002,0x0002,0x0004,0x0008},
X /*)*/ {000000,000000,0x0002,0x0004,0x0008,0x0008,0x0008,0x0004,0x0002},
X /***/ {000000,000000,0x0004,0x0015,0x000e,0x001f,0x000e,0x0015,0x0004},
X /*+*/ {000000,000000,000000,0x0004,0x0004,0x001f,0x0004,0x0004,000000},
X /*,*/ {000000,0x0002,0x0004,0x0006,0x0006,000000,000000,000000,000000},
X /*-*/ {000000,000000,000000,000000,000000,0x001f,000000,000000,000000},
X /*.*/ {000000,000000,0x0006,0x0006,000000,000000,000000,000000,000000},
X /*-/-*/{000000,000000,000000,0x0001,0x0002,0x0004,0x0008,0x0010,000000},
X /*0*/ {000000,000000,0x000e,0x0011,0x0013,0x0015,0x0019,0x0011,0x000e},
X /*1*/ {000000,000000,0x000e,0x0004,0x0004,0x0004,0x0004,0x0006,0x0004},
X /*2*/ {000000,000000,0x001f,0x0001,0x0001,0x000e,0x0010,0x0011,0x000e},
X /*3*/ {000000,000000,0x000e,0x0011,0x0010,0x000c,0x0010,0x0011,0x000e},
X /*4*/ {000000,000000,0x0008,0x0008,0x001f,0x0009,0x000a,0x000c,0x0008},
X /*5*/ {000000,000000,0x000e,0x0011,0x0010,0x0010,0x000f,0x0001,0x001f},
X /*6*/ {000000,000000,0x000e,0x0011,0x0011,0x000f,0x0001,0x0002,0x000c},
X /*7*/ {000000,000000,0x0001,0x0001,0x0002,0x0004,0x0008,0x0010,0x001f},
X /*8*/ {000000,000000,0x000e,0x0011,0x0011,0x000e,0x0011,0x0011,0x000e},
X /*9*/ {000000,000000,0x0006,0x0008,0x0010,0x001e,0x0011,0x0011,0x000e},
X /*:*/ {000000,000000,000000,0x0006,0x0006,000000,0x0006,0x0006,000000},
X /*;*/ {000000,0x0001,0x0002,0x0006,0x0006,000000,0x0006,0x0006,000000},
X /*<*/ {000000,000000,0x0008,0x0004,0x0002,0x0001,0x0002,0x0004,0x0008},
X /*=*/ {000000,000000,000000,000000,0x001f,000000,0x001f,000000,000000},
X /*>*/ {000000,000000,0x0002,0x0004,0x0008,0x0010,0x0008,0x0004,0x0002},
X /*?*/ {000000,000000,0x0004,000000,0x0004,0x0008,0x0010,0x0011,0x000e},
X /*@*/ {000000,000000,0x000e,0x0015,0x0015,0x0016,0x0010,0x0011,0x000e},
X /*A*/ {000000,000000,0x0011,0x0011,0x001f,0x0011,0x0011,0x000a,0x0004},
X /*B*/ {000000,000000,0x000f,0x0012,0x0012,0x000e,0x0012,0x0012,0x000f},
X /*C*/ {000000,000000,0x000e,0x0011,0x0001,0x0001,0x0001,0x0011,0x000e},
X /*D*/ {000000,000000,0x000f,0x0012,0x0012,0x0012,0x0012,0x0012,0x000f},
X /*E*/ {000000,000000,0x001f,0x0001,0x0001,0x0007,0x0001,0x0001,0x001f},
X /*F*/ {000000,000000,0x0001,0x0001,0x0001,0x0007,0x0001,0x0001,0x001f},
X /*G*/ {000000,000000,0x001e,0x0011,0x0011,0x0019,0x0001,0x0001,0x001e},
X /*H*/ {000000,000000,0x0011,0x0011,0x0011,0x001f,0x0011,0x0011,0x0011},
X /*I*/ {000000,000000,0x000e,0x0004,0x0004,0x0004,0x0004,0x0004,0x000e},
X /*J*/ {000000,000000,0x000e,0x0011,0x0010,0x0010,0x0010,0x0010,0x0010},
X /*K*/ {000000,000000,0x0011,0x0009,0x0005,0x0003,0x0005,0x0009,0x0011},
X /*L*/ {000000,000000,0x001f,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001},
X /*M*/ {000000,000000,0x0011,0x0011,0x0011,0x0015,0x0015,0x001b,0x0011},
X /*N*/ {000000,000000,0x0011,0x0011,0x0011,0x0019,0x0015,0x0013,0x0011},
X /*O*/ {000000,000000,0x000e,0x0011,0x0011,0x0011,0x0011,0x0011,0x000e},
X /*P*/ {000000,000000,0x0001,0x0001,0x0001,0x000f,0x0011,0x0011,0x000f},
X /*Q*/ {000000,0x0018,0x000e,0x0015,0x0011,0x0011,0x0011,0x0011,0x000e},
X /*R*/ {000000,000000,0x0011,0x0009,0x0005,0x000f,0x0011,0x0011,0x000f},
X /*S*/ {000000,000000,0x000e,0x0011,0x0010,0x000e,0x0001,0x0011,0x000e},
X /*T*/ {000000,000000,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x001f},
X /*U*/ {000000,000000,0x000e,0x0011,0x0011,0x0011,0x0011,0x0011,0x0011},
X /*V*/ {000000,000000,0x0004,0x0004,0x000a,0x000a,0x0011,0x0011,0x0011},
X /*W*/ {000000,000000,0x0011,0x001b,0x0015,0x0011,0x0011,0x0011,0x0011},
X /*X*/ {000000,000000,0x0011,0x0011,0x000a,0x0004,0x000a,0x0011,0x0011},
X /*Y*/ {000000,000000,0x0004,0x0004,0x0004,0x0004,0x000a,0x0011,0x0011},
X /*Z*/ {000000,000000,0x001f,0x0001,0x0002,0x0004,0x0008,0x0010,0x001f},
X /*[*/ {000000,000000,0x000e,0x0002,0x0002,0x0002,0x0002,0x0002,0x000e},
X /*\*/ {000000,000000,000000,0x0010,0x0008,0x0004,0x0002,0x0001,000000},
X /*]*/ {000000,000000,0x000e,0x0008,0x0008,0x0008,0x0008,0x0008,0x000e},
X /*^*/ {000000,000000,000000,000000,000000,000000,0x0011,0x000a,0x0004},
X /*_*/ {000000,000000,0x001f,000000,000000,000000,000000,000000,000000},
X /*`*/ {000000,000000,000000,000000,000000,0x0008,0x0004,0x000c,0x000c},
X /*a*/ {000000,000000,0x001e,0x0011,0x001e,0x0010,0x000e,000000,000000},
X /*b*/ {000000,000000,0x000d,0x0013,0x0011,0x0013,0x000d,0x0001,0x0001},
X /*c*/ {000000,000000,0x000e,0x0011,0x0001,0x0011,0x000e,000000,000000},
X /*d*/ {000000,000000,0x0016,0x0019,0x0011,0x0019,0x0016,0x0010,0x0010},
X /*e*/ {000000,000000,0x000e,0x0001,0x001f,0x0011,0x000e,000000,000000},
X /*f*/ {000000,000000,0x0004,0x0004,0x0004,0x000e,0x0004,0x0014,0x0008},
X /*g*/ {0x000e,0x0011,0x0016,0x0019,0x0011,0x0019,0x0016,000000,000000},
X /*h*/ {000000,000000,0x0011,0x0011,0x0011,0x0013,0x000d,0x0001,0x0001},
X /*i*/ {000000,000000,0x000e,0x0004,0x0004,0x0004,0x0006,000000,0x0004},
X /*j*/ {0x0006,0x0009,0x0008,0x0008,0x0008,0x0008,0x000c,000000,0x0008},
X /*k*/ {000000,000000,0x0009,0x0005,0x0003,0x0005,0x0009,0x0001,0x0001},
X /*l*/ {000000,000000,0x000e,0x0004,0x0004,0x0004,0x0004,0x0004,0x0006},
X /*m*/ {000000,000000,0x0015,0x0015,0x0015,0x0015,0x000b,000000,000000},
X /*n*/ {000000,000000,0x0011,0x0011,0x0011,0x0013,0x000d,000000,000000},
X /*o*/ {000000,000000,0x000e,0x0011,0x0011,0x0011,0x000e,000000,000000},
X /*p*/ {0x0001,0x0001,0x000d,0x0013,0x0011,0x0013,0x000d,000000,000000},
X /*q*/ {0x0010,0x0010,0x0016,0x0019,0x0011,0x0019,0x0016,000000,000000},
X /*r*/ {000000,000000,0x0001,0x0001,0x0001,0x0013,0x000d,000000,000000},
X /*s*/ {000000,000000,0x000f,0x0010,0x000e,0x0001,0x001e,000000,000000},
X /*t*/ {000000,000000,0x0008,0x0014,0x0004,0x0004,0x001f,0x0004,0x0004},
X /*u*/ {000000,000000,0x0016,0x0019,0x0011,0x0011,0x0011,000000,000000},
X /*v*/ {000000,000000,0x0004,0x000a,0x0011,0x0011,0x0011,000000,000000},
X /*w*/ {000000,000000,0x000a,0x0015,0x0015,0x0011,0x0011,000000,000000},
X /*x*/ {000000,000000,0x0011,0x000a,0x0004,0x000a,0x0011,000000,000000},
X /*y*/ {0x000e,0x0010,0x001e,0x0011,0x0011,0x0011,0x0011,000000,000000},
X /*z*/ {000000,000000,0x001f,0x0002,0x0004,0x0008,0x001f,000000,000000},
X /*{*/ {000000,000000,0x0008,0x0004,0x0004,0x0002,0x0004,0x0004,0x0008},
X /*|*/ {000000,000000,0x0004,0x0004,0x0004,000000,0x0004,0x0004,0x0004},
X /*}*/ {000000,000000,0x0002,0x0004,0x0004,0x0008,0x0004,0x0004,0x0002},
X /*~*/ {000000,000000,000000,000000,000000,000000,0x0008,0x0015,0x0002},
X /*DEL*/{000000,000000,0x001f,0x001f,0x001f,0x001f,0x001f,0x001f,0x001f},
};
X
/* 9x17 font, bottom row first, left pixel in lsb */
char_row fnt9x17[FNT_CHARS][FNT9X17_VBITS] = {
X /* */ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000},
X /*!*/ {000000,000000,000000,000000,0x0010,000000,000000,000000,0x0010,
X 0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010},
X /*"*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,0x0044,0x0044,0x0044,0x0044,0x0044},
X /*#*/ {000000,000000,000000,000000,0x0044,0x0044,0x0044,0x0044,0x01ff,
X 0x0044,0x0044,0x0044,0x01ff,0x0044,0x0044,0x0044,0x0044},
X /*$*/ {000000,000000,000000,000000,0x0010,0x0010,0x007e,0x0091,0x0110,
X 0x0090,0x007c,0x0012,0x0011,0x0112,0x00fc,0x0010,0x0010},
X /*%*/ {000000,000000,000000,000000,0x0080,0x0141,0x0081,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0102,0x0105,0x0002},
X /*&*/ {000000,000000,000000,000000,0x011c,0x00a2,0x0041,0x00c1,0x0141,
X 0x0022,0x001c,0x0014,0x0022,0x0022,0x001c,000000,000000},
X /*'*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,0x0004,0x0008,0x0010,0x0030,0x0038,0x0010},
X /*(*/ {000000,000000,000000,000000,0x0040,0x0020,0x0010,0x0008,0x0008,
X 0x0004,0x0004,0x0004,0x0008,0x0008,0x0010,0x0020,0x0040},
X /*)*/ {000000,000000,000000,000000,0x0004,0x0008,0x0010,0x0020,0x0020,
X 0x0040,0x0040,0x0040,0x0020,0x0020,0x0010,0x0008,0x0004},
X /***/ {000000,000000,000000,000000,0x0010,0x0010,0x0111,0x0092,0x0054,
X 0x0038,0x01ff,0x0038,0x0054,0x0092,0x0111,0x0010,0x0010},
X /*+*/ {000000,000000,000000,000000,000000,000000,0x0010,0x0010,0x0010,
X 0x0010,0x01ff,0x0010,0x0010,0x0010,0x0010,000000,000000},
X /*,*/ {000000,000000,0x0004,0x0008,0x0010,0x0030,0x0038,0x0010,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000},
X /*-*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,0x01ff,000000,000000,000000,000000,000000,000000},
X /*.*/ {000000,000000,000000,000000,0x0010,0x0038,0x0010,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000},
X /*-/-*/{000000,000000,000000,000000,000000,000000,0x0001,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,000000,000000},
X /*0*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0103,0x0105,
X 0x0109,0x0111,0x0121,0x0141,0x0181,0x0101,0x0082,0x007c},
X /*1*/ {000000,000000,000000,000000,0x007c,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0010,0x0010,0x0010,0x001c,0x0018,0x0010},
X /*2*/ {000000,000000,000000,000000,0x01ff,0x0001,0x0001,0x0001,0x0001,
X 0x0002,0x007c,0x0080,0x0100,0x0100,0x0101,0x0082,0x007c},
X /*3*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0100,0x0100,
X 0x0080,0x0078,0x0080,0x0100,0x0100,0x0101,0x0082,0x007c},
X /*4*/ {000000,000000,000000,000000,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x01ff,0x0041,0x0042,0x0044,0x0048,0x0050,0x0060,0x0040},
X /*5*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0100,0x0100,
X 0x0100,0x0080,0x007f,0x0001,0x0001,0x0001,0x0001,0x01ff},
X /*6*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0101,0x0101,
X 0x0081,0x007f,0x0001,0x0001,0x0001,0x0002,0x0084,0x0078},
X /*7*/ {000000,000000,000000,000000,0x0001,0x0001,0x0001,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0100,0x01ff},
X /*8*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0101,0x0101,
X 0x0082,0x007c,0x0082,0x0101,0x0101,0x0101,0x0082,0x007c},
X /*9*/ {000000,000000,000000,000000,0x001c,0x0022,0x0040,0x0080,0x0100,
X 0x0100,0x01fc,0x0102,0x0101,0x0101,0x0101,0x0082,0x007c},
X /*:*/ {000000,000000,000000,000000,000000,000000,0x0010,0x0038,0x0010,
X 000000,000000,000000,0x0010,0x0038,0x0010,000000,000000},
X /*;*/ {000000,000000,000000,0x0004,0x0008,0x0010,0x0030,0x0038,0x0010,
X 000000,000000,000000,0x0010,0x0038,0x0010,000000,000000},
X /*<*/ {000000,000000,000000,000000,0x0040,0x0020,0x0010,0x0008,0x0004,
X 0x0002,0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040},
X /*=*/ {000000,000000,000000,000000,000000,000000,000000,000000,0x01ff,
X 000000,000000,000000,0x01ff,000000,000000,000000,000000},
X /*>*/ {000000,000000,000000,000000,0x0004,0x0008,0x0010,0x0020,0x0040,
X 0x0080,0x0100,0x0080,0x0040,0x0020,0x0010,0x0008,0x0004},
X /*?*/ {000000,000000,000000,0x0010,0x0038,0x0010,000000,0x0010,0x0010,
X 0x0020,0x0040,0x0080,0x0100,0x0100,0x0101,0x0082,0x007c},
X /*@*/ {000000,000000,000000,000000,0x007c,0x0002,0x0001,0x01f9,0x0145,
X 0x0145,0x0145,0x0179,0x0101,0x0101,0x0101,0x0082,0x007c},
X /*A*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0101,0x01ff,
X 0x0101,0x0082,0x0082,0x0044,0x0044,0x0028,0x0028,0x0010},
X /*B*/ {000000,000000,000000,000000,0x007f,0x0084,0x0104,0x0104,0x0104,
X 0x0084,0x007c,0x0084,0x0104,0x0104,0x0104,0x0084,0x007f},
X /*C*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0101,0x0082,0x007c},
X /*D*/ {000000,000000,000000,000000,0x007f,0x0084,0x0104,0x0104,0x0104,
X 0x0104,0x0104,0x0104,0x0104,0x0104,0x0104,0x0084,0x007f},
X /*E*/ {000000,000000,000000,000000,0x01ff,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x001f,0x0001,0x0001,0x0001,0x0001,0x0001,0x01ff},
X /*F*/ {000000,000000,000000,000000,0x0001,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x001f,0x0001,0x0001,0x0001,0x0001,0x0001,0x01ff},
X /*G*/ {000000,000000,000000,000000,0x00fc,0x0102,0x0101,0x0101,0x0101,
X 0x0101,0x01c1,0x0001,0x0001,0x0001,0x0001,0x0102,0x00fc},
X /*H*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0101,0x0101,
X 0x0101,0x01ff,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101},
X /*I*/ {000000,000000,000000,000000,0x007c,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x007c},
X /*J*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0100,0x0100,
X 0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0100,0x0180},
X /*K*/ {000000,000000,000000,000000,0x0101,0x0081,0x0041,0x0021,0x0011,
X 0x0009,0x0005,0x000b,0x0011,0x0021,0x0041,0x0081,0x0101},
X /*L*/ {000000,000000,000000,000000,0x01ff,0x0101,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001},
X /*M*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0101,0x0101,
X 0x0101,0x0111,0x0111,0x0129,0x0145,0x0145,0x0183,0x0101},
X /*N*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0181,0x0141,
X 0x0141,0x0121,0x0111,0x0109,0x0105,0x0105,0x0103,0x0101},
X /*O*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0082,0x007c},
X /*P*/ {000000,000000,000000,000000,0x0001,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x007f,0x0081,0x0101,0x0101,0x0101,0x0081,0x007f},
X /*Q*/ {000000,000000,0x0180,0x0040,0x007c,0x0092,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0082,0x007c},
X /*R*/ {000000,000000,000000,000000,0x0101,0x0081,0x0041,0x0021,0x0011,
X 0x0009,0x007f,0x0081,0x0101,0x0101,0x0101,0x0081,0x007f},
X /*S*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0100,0x0100,
X 0x0080,0x007c,0x0002,0x0001,0x0001,0x0101,0x0082,0x007c},
X /*T*/ {000000,000000,000000,000000,0x0038,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0111,0x01ff},
X /*U*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101},
X /*V*/ {000000,000000,000000,000000,0x0010,0x0010,0x0028,0x0028,0x0044,
X 0x0044,0x0082,0x0082,0x0101,0x0101,0x0101,0x0101,0x0101},
X /*W*/ {000000,000000,000000,000000,0x0101,0x0183,0x0145,0x0145,0x0129,
X 0x0111,0x0111,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101},
X /*X*/ {000000,000000,000000,000000,0x0101,0x0101,0x0082,0x0082,0x0044,
X 0x0028,0x0010,0x0028,0x0044,0x0082,0x0082,0x0101,0x0101},
X /*Y*/ {000000,000000,000000,000000,0x0010,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0028,0x0044,0x0082,0x0082,0x0101,0x0101},
X /*Z*/ {000000,000000,000000,000000,0x01ff,0x0001,0x0002,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0080,0x0100,0x01ff},
X /*[*/ {000000,000000,000000,000000,0x007c,0x0004,0x0004,0x0004,0x0004,
X 0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x007c},
X /*\*/ {000000,000000,000000,000000,000000,000000,0x0100,0x0080,0x0040,
X 0x0020,0x0010,0x0008,0x0004,0x0002,0x0001,000000,000000},
X /*]*/ {000000,000000,000000,000000,0x007c,0x0040,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x007c},
X /*^*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,0x0101,0x0082,0x0044,0x0028,0x0010},
X /*_*/ {000000,000000,000000,000000,0x01ff,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000},
X /*`*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,0x0020,0x0010,0x0008,0x000c,0x001c,0x0008},
X /*a*/ {000000,000000,000000,000000,0x03fc,0x0102,0x0101,0x0102,0x01fc,
X 0x0100,0x0100,0x0080,0x007c,000000,000000,000000,000000},
X /*b*/ {000000,000000,000000,000000,0x007d,0x0083,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0083,0x007d,0x0001,0x0001,0x0001,0x0001},
X /*c*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0001,0x0001,
X 0x0001,0x0101,0x0082,0x007c,000000,000000,000000,000000},
X /*d*/ {000000,000000,000000,000000,0x017c,0x0182,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0182,0x017c,0x0100,0x0100,0x0100,0x0100},
X /*e*/ {000000,000000,000000,000000,0x007c,0x0002,0x0001,0x0001,0x01ff,
X 0x0101,0x0101,0x0082,0x007c,000000,000000,000000,000000},
X /*f*/ {000000,000000,000000,000000,0x0010,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x007c,0x0010,0x0010,0x0010,0x0110,0x00a0,0x0040},
X /*g*/ {0x007c,0x0082,0x0101,0x0100,0x017c,0x0182,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0182,0x017c,000000,000000,000000,000000},
X /*h*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0101,0x0101,
X 0x0103,0x0103,0x0085,0x0079,0x0001,0x0001,0x0001,0x0001},
X /*i*/ {000000,000000,000000,000000,0x007c,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0018,000000,000000,0x0018,0x0018,000000},
X /*j*/ {0x003c,0x0042,0x0081,0x0080,0x0080,0x0080,0x0080,0x0080,0x0080,
X 0x0080,0x0080,0x00c0,000000,000000,0x00c0,0x00c0,000000},
X /*k*/ {000000,000000,000000,000000,0x0082,0x0042,0x0022,0x0012,0x000a,
X 0x0016,0x0022,0x0042,0x0002,0x0002,0x0002,0x0002,0x0002},
X /*l*/ {000000,000000,000000,000000,0x007c,0x0010,0x0010,0x0010,0x0010,
X 0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x001c},
X /*m*/ {000000,000000,000000,000000,0x0111,0x0111,0x0111,0x0111,0x0111,
X 0x0111,0x0111,0x00ab,0x0045,000000,000000,000000,000000},
X /*n*/ {000000,000000,000000,000000,0x0101,0x0101,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0083,0x007d,000000,000000,000000,000000},
X /*o*/ {000000,000000,000000,000000,0x007c,0x0082,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0082,0x007c,000000,000000,000000,000000},
X /*p*/ {0x0001,0x0001,0x0001,0x0001,0x007d,0x0003,0x0081,0x0101,0x0101,
X 0x0101,0x0101,0x0083,0x007d,000000,000000,000000,000000},
X /*q*/ {0x0100,0x0100,0x0100,0x0100,0x017c,0x0182,0x0101,0x0101,0x0101,
X 0x0101,0x0101,0x0182,0x017c,000000,000000,000000,000000},
X /*r*/ {000000,000000,000000,000000,0x0001,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x0103,0x0085,0x0079,000000,000000,000000,000000},
X /*s*/ {000000,000000,000000,000000,0x007e,0x0081,0x0100,0x0080,0x007c,
X 0x0002,0x0001,0x0102,0x00fc,000000,000000,000000,000000},
X /*t*/ {000000,000000,000000,000000,0x0040,0x00a0,0x0110,0x0010,0x0010,
X 0x0010,0x0010,0x0010,0x00fe,0x0010,0x0010,0x0010,0x0010},
X /*u*/ {000000,000000,000000,000000,0x013c,0x0142,0x0181,0x0101,0x0101,
X 0x0101,0x0101,0x0101,0x0101,000000,000000,000000,000000},
X /*v*/ {000000,000000,000000,000000,0x0010,0x0028,0x0044,0x0082,0x0101,
X 0x0101,0x0101,0x0101,0x0101,000000,000000,000000,000000},
X /*w*/ {000000,000000,000000,000000,0x0044,0x00aa,0x0111,0x0111,0x0101,
X 0x0101,0x0101,0x0101,0x0101,000000,000000,000000,000000},
X /*x*/ {000000,000000,000000,000000,0x0101,0x0082,0x0044,0x0028,0x0010,
X 0x0028,0x0044,0x0082,0x0101,000000,000000,000000,000000},
X /*y*/ {0x007c,0x0082,0x0101,0x0100,0x0100,0x01fc,0x0102,0x0101,0x0101,
X 0x0101,0x0101,0x0101,0x0101,000000,000000,000000,000000},
X /*z*/ {000000,000000,000000,000000,0x01ff,0x0002,0x0004,0x0008,0x0010,
X 0x0020,0x0040,0x0080,0x01ff,000000,000000,000000,000000},
X /*{*/ {000000,000000,000000,000000,0x00c0,0x0020,0x0010,0x0010,0x0010,
X 0x0008,0x0004,0x0008,0x0010,0x0010,0x0010,0x0020,0x00c0},
X /*|*/ {000000,000000,000000,000000,0x0010,0x0010,0x0010,0x0010,0x0010,
X 000000,000000,000000,0x0010,0x0010,0x0010,0x0010,0x0010},
X /*}*/ {000000,000000,000000,000000,0x0006,0x0008,0x0010,0x0010,0x0010,
X 0x0020,0x0040,0x0020,0x0010,0x0010,0x0010,0x0008,0x0006},
X /*~*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,0x0040,0x00a0,0x0111,0x000a,0x0004},
X /*DEL*/{000000,000000,000000,000000,0x0155,000000,0x0155,000000,0x0155,
X 000000,0x0155,000000,0x0155,000000,0x0155,000000,0x0155},
};
X
/* 13x25 font, bottom row first, left pixel in lsb */
char_row fnt13x25[FNT_CHARS][FNT13X25_VBITS] = {
X /* */ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000},
X /*!*/ {000000,000000,000000,000000,000000,0x00e0,0x00e0,0x00e0,000000,
X 000000,000000,0x0040,0x0040,0x0040,0x0040,0x0040,0x00e0,0x00e0,
X 0x00e0,0x00e0,0x00e0,0x00e0,0x00e0,0x00e0,0x0040},
X /*"*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 0x0208,0x0208,0x0208,0x0208,0x0208,0x0208,0x0208},
X /*#*/ {000000,000000,000000,000000,000000,000000,0x0208,0x0208,0x0208,
X 0x0208,0x0208,0x0208,0x1fff,0x0208,0x0208,0x0208,0x0208,0x0208,
X 0x1fff,0x0208,0x0208,0x0208,0x0208,0x0208,0x0208},
X /*$*/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x0040,
X 0x03f8,0x0444,0x0842,0x0840,0x0840,0x0440,0x03f8,0x0044,0x0042,
X 0x0042,0x0842,0x0444,0x03f8,0x0040,0x0040,0x0040},
X /*%*/ {000000,000000,000000,000000,000000,000000,0x0c00,0x1200,0x1201,
X 0x0c01,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,
X 0x0200,0x0400,0x0800,0x1006,0x1009,0x0009,0x0006},
X /*&*/ {000000,000000,000000,000000,000000,000000,0x1078,0x1084,0x0902,
X 0x0601,0x0601,0x0901,0x1081,0x0042,0x0024,0x0018,0x0018,0x0024,
X 0x0042,0x0042,0x0042,0x0042,0x0024,0x0018,000000},
X /*'*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,0x0001,0x0002,0x0004,0x0008,
X 0x0010,0x0030,0x0078,0x0078,0x0078,0x0030,000000},
X /*(*/ {000000,000000,000000,000000,000000,000000,0x0080,0x0040,0x0020,
X 0x0020,0x0010,0x0008,0x0008,0x0004,0x0004,0x0004,0x0004,0x0004,
X 0x0008,0x0008,0x0010,0x0020,0x0020,0x0040,0x0080},
X /*)*/ {000000,000000,000000,000000,000000,000000,0x0020,0x0040,0x0080,
X 0x0080,0x0100,0x0200,0x0200,0x0400,0x0400,0x0400,0x0400,0x0400,
X 0x0200,0x0200,0x0100,0x0080,0x0080,0x0040,0x0020},
X /***/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x0040,
X 0x1041,0x0842,0x0444,0x0248,0x0150,0x00e0,0x1fff,0x00e0,0x0150,
X 0x0248,0x0444,0x0842,0x1041,0x0040,0x0040,0x0040},
X /*+*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x1fff,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,000000,000000,000000},
X /*,*/ {000000,000000,0x0001,0x0002,0x0004,0x0008,0x0010,0x0030,0x0078,
X 0x0078,0x0078,0x0030,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000},
X /*-*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,0x1fff,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000},
X /*.*/ {000000,000000,000000,000000,000000,000000,000000,0x0038,0x007c,
X 0x007c,0x007c,0x0038,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000},
X /*-/-*/{000000,000000,000000,000000,000000,000000,000000,000000,0x0001,
X 0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,
X 0x0200,0x0400,0x0800,0x1000,0x1000,000000,000000},
X /*0*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1003,0x1005,0x1009,0x1011,0x1021,0x1041,0x1081,0x1101,
X 0x1201,0x1401,0x1801,0x1001,0x0802,0x0404,0x03f8},
X /*1*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0048,0x0070,0x0060,0x0040},
X /*2*/ {000000,000000,000000,000000,000000,000000,0x1fff,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0002,0x03fc,0x0400,0x0800,0x1000,
X 0x1000,0x1000,0x1000,0x1001,0x0802,0x0404,0x03f8},
X /*3*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1000,0x1000,0x1000,0x0800,0x0400,0x03e0,0x0400,0x0800,
X 0x1000,0x1000,0x1000,0x1001,0x0802,0x0404,0x03f8},
X /*4*/ {000000,000000,000000,000000,000000,000000,0x0200,0x0200,0x0200,
X 0x0200,0x0200,0x0200,0x0200,0x1fff,0x0201,0x0201,0x0202,0x0204,
X 0x0208,0x0210,0x0220,0x0240,0x0280,0x0300,0x0200},
X /*5*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1000,0x1000,0x1000,0x1000,0x1000,0x0800,0x0400,0x03ff,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x1fff},
X /*6*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x0801,0x0401,0x03ff,0x0001,0x0001,
X 0x0001,0x0001,0x0002,0x0004,0x0808,0x0410,0x03e0},
X /*7*/ {000000,000000,000000,000000,000000,000000,0x0001,0x0001,0x0001,
X 0x0002,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,
X 0x0200,0x0400,0x0800,0x0800,0x1000,0x1000,0x1fff},
X /*8*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*9*/ {000000,000000,000000,000000,000000,000000,0x00f8,0x0104,0x0202,
X 0x0400,0x0800,0x1000,0x1000,0x1000,0x1000,0x1ff8,0x1004,0x1002,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*:*/ {000000,000000,000000,000000,000000,000000,000000,000000,0x0030,
X 0x0078,0x0078,0x0030,000000,000000,000000,000000,000000,000000,
X 0x0030,0x0078,0x0078,0x0030,000000,000000,000000},
X /*;*/ {000000,000000,0x0001,0x0002,0x0004,0x0008,0x0010,0x0030,0x0078,
X 0x0078,0x0078,0x0030,000000,000000,000000,000000,000000,000000,
X 0x0030,0x0078,0x0078,0x0030,000000,000000,000000},
X /*<*/ {000000,000000,000000,000000,000000,000000,0x0200,0x0100,0x0080,
X 0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200},
X /*=*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,0x1fff,000000,000000,000000,000000,000000,
X 0x1fff,000000,000000,000000,000000,000000,000000},
X /*>*/ {000000,000000,000000,000000,000000,000000,0x0008,0x0010,0x0020,
X 0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,0x1000,0x0800,0x0400,
X 0x0200,0x0100,0x0080,0x0040,0x0020,0x0010,0x0008},
X /*?*/ {000000,000000,000000,000000,000000,0x0040,0x00e0,0x0040,000000,
X 000000,000000,0x0040,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,
X 0x1000,0x1000,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*@*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0002,
X 0x0001,0x0001,0x0ee1,0x1111,0x1111,0x1111,0x1111,0x1111,0x12e1,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*A*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1fff,0x1001,0x1001,0x1001,0x1001,0x0802,
X 0x0802,0x0404,0x0208,0x0110,0x00a0,0x00a0,0x0040},
X /*B*/ {000000,000000,000000,000000,000000,000000,0x03ff,0x0408,0x0808,
X 0x1008,0x1008,0x1008,0x1008,0x0808,0x0408,0x03f8,0x0408,0x0808,
X 0x1008,0x1008,0x1008,0x1008,0x0808,0x0408,0x03ff},
X /*C*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x1001,0x0802,0x0404,0x03f8},
X /*D*/ {000000,000000,000000,000000,000000,000000,0x03ff,0x0408,0x0808,
X 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
X 0x1008,0x1008,0x1008,0x1008,0x0808,0x0408,0x03ff},
X /*E*/ {000000,000000,000000,000000,000000,000000,0x1fff,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x007f,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x1fff},
X /*F*/ {000000,000000,000000,000000,000000,000000,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x007f,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x1fff},
X /*G*/ {000000,000000,000000,000000,000000,000000,0x0ff8,0x1004,0x1002,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1f01,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0002,0x1004,0x0ff8},
X /*H*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1fff,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001},
X /*I*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x03f8},
X /*J*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
X 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1e00},
X /*K*/ {000000,000000,000000,000000,000000,000000,0x1001,0x0801,0x0401,
X 0x0201,0x0101,0x0081,0x0041,0x0021,0x0011,0x000f,0x0009,0x0011,
X 0x0021,0x0041,0x0081,0x0101,0x0201,0x0401,0x0801},
X /*L*/ {000000,000000,000000,000000,000000,000000,0x1fff,0x1001,0x1001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001},
X /*M*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1041,0x1041,0x10a1,
X 0x10a1,0x1111,0x1209,0x1209,0x1405,0x1803,0x1001},
X /*N*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1801,0x1401,0x1201,0x1201,0x1101,0x1081,0x1041,0x1041,
X 0x1021,0x1011,0x1009,0x1009,0x1005,0x1003,0x1001},
X /*O*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*P*/ {000000,000000,000000,000000,000000,000000,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x03ff,0x0401,0x0801,
X 0x1001,0x1001,0x1001,0x1001,0x0801,0x0401,0x03ff},
X /*Q*/ {000000,000000,000000,000000,0x0c00,0x0200,0x03f8,0x0494,0x0862,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,0x03f8},
X /*R*/ {000000,000000,000000,000000,000000,000000,0x1001,0x0801,0x0401,
X 0x0201,0x0101,0x0081,0x0041,0x0021,0x0011,0x03ff,0x0401,0x0801,
X 0x1001,0x1001,0x1001,0x1001,0x0801,0x0401,0x03ff},
X /*S*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1000,0x1000,0x1000,0x0800,0x0400,0x03f8,0x0004,0x0002,
X 0x0001,0x0001,0x0001,0x1001,0x0802,0x0404,0x03f8},
X /*T*/ {000000,000000,000000,000000,000000,000000,0x00e0,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x1041,0x1fff},
X /*U*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001},
X /*V*/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x00a0,
X 0x00a0,0x0110,0x0110,0x0208,0x0208,0x0404,0x0404,0x0802,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001},
X /*W*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1803,
X 0x1405,0x1405,0x1209,0x1209,0x1111,0x1111,0x10a1,0x1041,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001},
X /*X*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x0802,0x0802,0x0404,0x0208,0x0110,0x00a0,0x0040,0x00a0,0x0110,
X 0x0208,0x0404,0x0802,0x0802,0x1001,0x1001,0x1001},
X /*Y*/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x00a0,0x0110,0x0208,
X 0x0404,0x0802,0x0802,0x1001,0x1001,0x1001,0x1001},
X /*Z*/ {000000,000000,000000,000000,000000,000000,0x1fff,0x0001,0x0001,
X 0x0002,0x0004,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,
X 0x0200,0x0400,0x0400,0x0800,0x1000,0x1000,0x1fff},
X /*[*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0008,0x0008,
X 0x0008,0x0008,0x0008,0x0008,0x0008,0x0008,0x0008,0x0008,0x0008,
X 0x0008,0x0008,0x0008,0x0008,0x0008,0x0008,0x03f8},
X /*\*/ {000000,000000,000000,000000,000000,000000,000000,000000,0x1000,
X 0x1000,0x0800,0x0400,0x0200,0x0100,0x0080,0x0040,0x0020,0x0010,
X 0x0008,0x0004,0x0002,0x0001,0x0001,000000,000000},
X /*]*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0200,0x0200,
X 0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,
X 0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,0x03f8},
X /*^*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 0x1001,0x0802,0x0404,0x0208,0x0110,0x00a0,0x0040},
X /*_*/ {000000,000000,000000,000000,000000,000000,0x1fff,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000},
X /*`*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,0x0400,0x0200,0x0100,0x0080,
X 0x0040,0x0060,0x00f0,0x00f0,0x00f0,0x0060,000000},
X /*a*/ {000000,000000,000000,000000,000000,000000,0x17f8,0x0804,0x0802,
X 0x0802,0x0802,0x0804,0x0ff8,0x0800,0x0800,0x0800,0x0800,0x0404,
X 0x03f8,000000,000000,000000,000000,000000,000000},
X /*b*/ {000000,000000,000000,000000,000000,000000,0x03f9,0x0405,0x0803,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x0803,0x0405,
X 0x03f9,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001},
X /*c*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x0001,0x0001,0x0001,0x0001,0x0001,0x1001,0x0802,0x0404,
X 0x03f8,000000,000000,000000,000000,000000,000000},
X /*d*/ {000000,000000,000000,000000,000000,000000,0x13f8,0x1404,0x1802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1802,0x1404,
X 0x13f8,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000},
X /*e*/ {000000,000000,000000,000000,000000,000000,0x0ff8,0x0004,0x0002,
X 0x0001,0x0001,0x0001,0x1fff,0x1001,0x1001,0x1001,0x0802,0x0404,
X 0x03f8,000000,000000,000000,000000,000000,000000},
X /*f*/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x03f8,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x1040,0x0880,0x0500,0x0200},
X /*g*/ {0x03f8,0x0404,0x0802,0x1001,0x1000,0x1000,0x13f8,0x1404,0x1802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1802,0x1404,
X 0x13f8,000000,000000,000000,000000,000000,000000},
X /*h*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x0803,0x0405,
X 0x03f9,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001},
X /*i*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0070,
X 000000,000000,000000,0x00e0,0x00e0,0x00e0,000000},
X /*j*/ {0x00f0,0x0108,0x0204,0x0402,0x0400,0x0400,0x0400,0x0400,0x0400,
X 0x0400,0x0400,0x0400,0x0400,0x0400,0x0400,0x0400,0x0400,0x0700,
X 000000,000000,000000,0x0700,0x0700,0x0700,000000},
X /*k*/ {000000,000000,000000,000000,000000,000000,0x0804,0x0404,0x0204,
X 0x0104,0x0084,0x0044,0x0024,0x0014,0x002c,0x0044,0x0084,0x0104,
X 0x0204,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004},
X /*l*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0070},
X /*m*/ {000000,000000,000000,000000,000000,000000,0x1041,0x1041,0x1041,
X 0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x08a3,0x0515,
X 0x0209,000000,000000,000000,000000,000000,000000},
X /*n*/ {000000,000000,000000,000000,000000,000000,0x1001,0x1001,0x1001,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x0803,0x0405,
X 0x03f9,000000,000000,000000,000000,000000,000000},
X /*o*/ {000000,000000,000000,000000,000000,000000,0x03f8,0x0404,0x0802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x0802,0x0404,
X 0x03f8,000000,000000,000000,000000,000000,000000},
X /*p*/ {0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x03f9,0x0405,0x0803,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x0803,0x0405,
X 0x03f9,000000,000000,000000,000000,000000,000000},
X /*q*/ {0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x13f8,0x1404,0x1802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1802,0x1404,
X 0x13f8,000000,000000,000000,000000,000000,000000},
X /*r*/ {000000,000000,000000,000000,000000,000000,0x0001,0x0001,0x0001,
X 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x1001,0x0803,0x0405,
X 0x03f9,000000,000000,000000,000000,000000,000000},
X /*s*/ {000000,000000,000000,000000,000000,000000,0x03fc,0x0402,0x0800,
X 0x0800,0x0800,0x0400,0x03f8,0x0004,0x0002,0x0002,0x0002,0x0804,
X 0x07f8,000000,000000,000000,000000,000000,000000},
X /*t*/ {000000,000000,000000,000000,000000,000000,0x0200,0x0500,0x0880,
X 0x1040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,
X 0x07fc,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040},
X /*u*/ {000000,000000,000000,000000,000000,000000,0x13f8,0x1404,0x1802,
X 0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,000000,000000,000000,000000,000000,000000},
X /*v*/ {000000,000000,000000,000000,000000,000000,0x0040,0x00a0,0x0110,
X 0x0208,0x0404,0x0802,0x0802,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,000000,000000,000000,000000,000000,000000},
X /*w*/ {000000,000000,000000,000000,000000,000000,0x0208,0x0514,0x08a2,
X 0x08a2,0x1041,0x1041,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,000000,000000,000000,000000,000000,000000},
X /*x*/ {000000,000000,000000,000000,000000,000000,0x1001,0x0802,0x0404,
X 0x0208,0x0110,0x00a0,0x0040,0x00a0,0x0110,0x0208,0x0404,0x0802,
X 0x1001,000000,000000,000000,000000,000000,000000},
X /*y*/ {0x03f8,0x0404,0x0802,0x1001,0x1000,0x1000,0x1000,0x1000,0x1ff8,
X 0x1004,0x1002,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
X 0x1001,000000,000000,000000,000000,000000,000000},
X /*z*/ {000000,000000,000000,000000,000000,000000,0x1fff,0x0002,0x0004,
X 0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,
X 0x1fff,000000,000000,000000,000000,000000,000000},
X /*{*/ {000000,000000,000000,000000,000000,000000,0x0600,0x0100,0x0080,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0020,0x0010,0x0020,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0080,0x0100,0x0600},
X /*|*/ {000000,000000,000000,000000,000000,000000,0x0040,0x0040,0x0040,
X 0x0040,0x0040,0x0040,0x0040,000000,000000,000000,000000,000000,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0040,0x0040},
X /*}*/ {000000,000000,000000,000000,000000,000000,0x000c,0x0010,0x0020,
X 0x0040,0x0040,0x0040,0x0040,0x0040,0x0080,0x0100,0x0080,0x0040,
X 0x0040,0x0040,0x0040,0x0040,0x0020,0x0010,0x000c},
X /*~*/ {000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 000000,000000,000000,000000,000000,000000,000000,000000,000000,
X 0x0600,0x0900,0x1080,0x1041,0x0021,0x0012,0x000c},
X /*DEL*/{000000,000000,000000,000000,000000,000000,0x1249,000000,000000,
X 0x1249,000000,000000,0x1249,000000,000000,0x1249,000000,000000,
X 0x1249,000000,000000,0x1249,000000,000000,0x1249},
};
X
/*
** The plotting area is defined as a huge bitmap.
** The bitmap is stored in a dynamically allocated pixel array b_p
**
** The bitmap is allocated (and initialized to zero) with
** b_makebitmap(xsize, ysize, planes)
** and freed with b_freebitmap()
** xsize and ysize will be rounded up to a multiple of 8.
**
** Valid (int) coordinates range from zero to (xsize-1,ysize-1)
**
** Plotting is done via b_move(x, y) and b_vector(x, y) functions,
** where the point (x,y) is the target to go from the current point
** To set the color use b_setvalue(value) where value is the value
** (0 or 1 or a color number) to be stored in every pixel.
** To get dotted line styles, use b_setlinetype(linetype).
**
** Internally all plotting goes through b_setpixel(x, y, value).
*/
X
X
/*
** set pixel (x, y, value) to value value (this can be 1/0 or a color number).
*/
void
b_setpixel(x, y, value)
unsigned int x, y, value;
{
X register unsigned int row;
X register unsigned char mask;
X int i;
X if (b_rastermode) {
X /* interchange so that new (x,y) is old (y,b_ysize-1-x) */
X row = x; /* temp storage */
X x = y;
X y = b_ysize-1-row;
X }
X if (IN(x, b_xsize) && IN(y, b_ysize))
X {
X row = y/8;
X mask = 1<<(y%8);
X
X for (i=0; i<b_planes; i++) {
X if (value&1)
X *((*b_p)[row]+x) |= mask;
X else
X *((*b_p)[row]+x) &= ~mask;
X row += b_psize;
X value >>= 1;
X }
X }
#ifdef BITMAPDEBUG
X else
X {
X if (b_rastermode)
X fprintf(stderr, "Warning: setpixel(%d, %d, %d) out of bounds\n",
X b_ysize-1-y, x, value);
X else
X fprintf(stderr, "Warning: setpixel(%d, %d, %d) out of bounds\n",
X x, y, value);
X }
#endif
}
X
/*
** get pixel (x,y) value----unused
*/
/****************************
unsigned int
b_getpixel(x, y)
unsigned int x, y;
{
X register unsigned int row;
X register unsigned char mask;
X register unsigned char value;
X int i;
X
X if (b_rastermode) {
X row = x;
X x = y;
X y = b_ysize-1-row;
X }
X if (IN(x, b_xsize) && IN(y, b_ysize))
X {
X row = y/8 + (b_planes-1)*b_psize;
X mask = 1<<(y%8);
X
X for (i=0; i<b_planes; i++) {
X if ( *((*b_p)[row]+x) & mask )
X value |= 1;
X row -= b_psize;
X value <<= 1;
X }
X return(value);
X }
X else
X {
#ifdef BITMAPDEBUG
X if (b_rastermode)
X fprintf(stderr, "Warning: getpixel(%d,%d) out of bounds\n",
X b_ysize-1-y, x);
X else
X fprintf(stderr, "Warning: getpixel(%d,%d) out of bounds\n", x, y);
#endif
X return(0);
X }
}
********************************/
X
/*
** allocate the bitmap
SHAR_EOF
true || echo 'restore of gnuplot/bitmap.c failed'
fi
echo 'End of part 3'
echo 'File gnuplot/bitmap.c is continued in part 4'
echo 4 > _shar_seq_.tmp
exit 0
exit 0 # Just in case...
--
Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD UUCP: uunet!sparky!kent
Phone: (402) 291-8300 FAX: (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.