826 lines
18 KiB
C
826 lines
18 KiB
C
#ifndef lint
|
|
static char sccsid[] = "@(#)charfont2.c 1.1 94/10/31 Copyr 1985-9 Sun Micro";
|
|
#endif
|
|
|
|
/*
|
|
* Copyright (c) 1985, 1986, 1987, 1988, 1989 by Sun Microsystems, Inc.
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose and without fee is hereby granted, provided that the above
|
|
* copyright notice appear in all copies and that both that copyright
|
|
* notice and this permission notice are retained, and that the name
|
|
* of Sun Microsystems, Inc., not be used in advertising or publicity
|
|
* pertaining to this software without specific, written prior permission.
|
|
* Sun Microsystems, Inc., makes no representations about the suitability
|
|
* of this software or the interface defined in this software for any
|
|
* purpose. It is provided "as is" without express or implied warranty.
|
|
*/
|
|
|
|
#include "cgipriv.h"
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* FUNCTION: sfont */
|
|
/* */
|
|
/* draws sfont */
|
|
/****************************************************************************/
|
|
|
|
static char error_glyph[127] = {
|
|
62, -11, 11,
|
|
-2, 4, 0, 4, 0, 5, -1, 6, -2, 5, -2, 4, -2, 2, -3, 0, -2, -2, -3, -4,
|
|
-3, -7, -2, -9, 0, -10, 2, -9, 3, -7, 3, -4, 2, -2, 3, 0, 2, 2, 2, 4,
|
|
2, 5, 1, 6, 0, 5, 0, 4, 2, 4, 31, 31, -4, 10, -5, 5, -2, 2, -3, 1, -7, 3,
|
|
-12, 0, 31, 31, -10, -5, -7, 0, -3, 0, -3, -1, -6, -3, -5, -10, 31, 31,
|
|
4, 10, 5, 5, 2, 2, 3, 1, 7, 3, 12, 0, 31, 31, 10, -5, 7, 0, 3, 0, 3, -1,
|
|
6, -3, 5, -10, 31, 31, -2, -7, 1, -7, 2, -6, 1, -5, -1, -5, -2, -4,
|
|
-1, -3, 2, -3
|
|
};
|
|
|
|
/*-- Stick Figure Font --*/
|
|
|
|
static char c1[] = { /* SP */
|
|
0, -8, 8
|
|
};
|
|
static char c2[] = {
|
|
8, -4, 4,
|
|
0, 10, 0, -2,
|
|
31, 31, 0, -7, -1, -8, 0, -9, 1, -8,
|
|
0, -7
|
|
};
|
|
static char c3[] = {
|
|
5, -7, 7,
|
|
-2, 12, -4, 5,
|
|
31, 31, 4, 12, 2, 5
|
|
};
|
|
static char c4[] = {
|
|
11, -10, 11,
|
|
1, 12, -6, -16, 31, 31,
|
|
7, 12, 0, -16, 31, 31, -6, 1, 8, 1,
|
|
31, 31, -7, -5, 7, -5
|
|
};
|
|
static char c5[] = {
|
|
26, -10, 10,
|
|
-2, 16, -2, -13, 31, 31,
|
|
2, 16, 2, -13, 31, 31,
|
|
7, 9, 5, 11, 2, 12,
|
|
-2, 12, -5, 11, -7, 9, -7, 7, -6, 5,
|
|
-5, 4, -3, 3, 3, 1, 5, 0, 6, -1,
|
|
7, -3, 7, -6, 5, -8, 2, -9, -2, -9,
|
|
-5, -8, -7, -6
|
|
};
|
|
static char c6[] = {
|
|
31, -12, 12,
|
|
9, 12, -9, -9, 31, 31,
|
|
-4, 12, -2, 10, -2, 8, -3, 6, -5, 5,
|
|
-7, 5, -9, 7, -9, 9, -8, 11, -6, 12,
|
|
-4, 12, -2, 11, 1, 10, 4, 10, 7, 11,
|
|
9, 12, 31, 31, 5, -2, 3, -3, 2, -5,
|
|
2, -7, 4, -9, 6, -9, 8, -8, 9, -6,
|
|
9, -4, 7, -2, 5, -2
|
|
};
|
|
|
|
static char c7[] = {
|
|
30, -12, 13,
|
|
10, 4, 9, 5, 8, 5, 7, 4,
|
|
6, 2, 4, -4, 3, -6, 1, -8, -1, -9,
|
|
-5, -9, -8, -8, -9, -6, -9, -3, -8, -1,
|
|
-2, 3, 0, 5, 1, 7, 1, 9, 0, 11,
|
|
-2, 12, -4, 11, -5, 9, -5, 7, -4, 4,
|
|
-2, 1, 3, -6, 5, -8, 8, -9, 9, -9,
|
|
10, -8
|
|
};
|
|
|
|
static char c8[] = {
|
|
2, -4, 4,
|
|
1, 12, -1, 5
|
|
};
|
|
|
|
static char c9[] = {
|
|
10, -7, 7,
|
|
4, 16, 2, 14, 0, 11,
|
|
-2, 7, -3, 2, -3, -2, -2, -7, 0, -11,
|
|
2, -14, 4, -16
|
|
};
|
|
|
|
static char c10[] = {
|
|
10, -7, 7,
|
|
-4, 16, -2, 14, 0, 11,
|
|
2, 7, 3, 2, 3, -2, 2, -7, 0, -11,
|
|
-2, -14, -4, -16
|
|
};
|
|
|
|
static char c11[] = {
|
|
8, -8, 8,
|
|
0, 12, 0, 0, 31, 31,
|
|
-5, 9, 5, 3, 31, 31, 5, 9, -5, 3
|
|
};
|
|
|
|
static char c12[] = {
|
|
5, -12, 12,
|
|
0, 9, 0, -9, 31, 31,
|
|
-9, 0, 9, 0
|
|
};
|
|
|
|
static char c13[] = {
|
|
7, -4, 4,
|
|
0, -9, -1, -8, 0, -7,
|
|
1, -8, 1, -10, 0, -12, -1, -13
|
|
};
|
|
|
|
static char c14[] = {
|
|
2, -12, 12,
|
|
-9, 0, 9, 0
|
|
};
|
|
|
|
static char c15[] = {
|
|
5, -4, 4,
|
|
0, -7, -1, -8, 0, -9,
|
|
1, -8, 0, -7
|
|
};
|
|
|
|
static char c16[] = {
|
|
2, -11, 11,
|
|
9, 16, -9, -16
|
|
};
|
|
|
|
static char c17[] = {
|
|
17, -10, 10,
|
|
-1, 12, -4, 11, -6, 8,
|
|
-7, 3, -7, 0, -6, -5, -4, -8, -1, -9,
|
|
1, -9, 4, -8, 6, -5, 7, 0, 7, 3,
|
|
6, 8, 4, 11, 1, 12, -1, 12
|
|
};
|
|
|
|
static char c18[] = {
|
|
4, -10, 10,
|
|
-4, 8, -2, 9, 1, 12,
|
|
1, -9
|
|
};
|
|
|
|
static char c19[] = {
|
|
14, -10, 10,
|
|
-6, 7, -6, 8, -5, 10,
|
|
-4, 11, -2, 12, 2, 12, 4, 11, 5, 10,
|
|
6, 8, 6, 6, 5, 4, 3, 1, -7, -9,
|
|
7, -9
|
|
};
|
|
|
|
static char c20[] = {
|
|
15, -10, 10,
|
|
-5, 12, 6, 12, 0, 4,
|
|
3, 4, 5, 3, 6, 2, 7, -1, 7, -3,
|
|
6, -6, 4, -8, 1, -9, -2, -9, -5, -8,
|
|
-6, -7, -7, -5
|
|
};
|
|
|
|
static char c21[] = {
|
|
6, -10, 10,
|
|
3, 12, -7, -2, 8, -2,
|
|
31, 31, 3, 12, 3, -9
|
|
};
|
|
|
|
static char c22[] = {
|
|
17, -10, 10,
|
|
5, 12, -5, 12, -6, 3,
|
|
-5, 4, -2, 5, 1, 5, 4, 4, 6, 2,
|
|
7, -1, 7, -3, 6, -6, 4, -8, 1, -9,
|
|
-2, -9, -5, -8, -6, -7, -7, -5
|
|
};
|
|
|
|
static char c23[] = {
|
|
23, -10, 10,
|
|
6, 9, 5, 11, 2, 12,
|
|
0, 12, -3, 11, -5, 8, -6, 3, -6, -2,
|
|
-5, -6, -3, -8, 0, -9, 1, -9, 4, -8,
|
|
6, -6, 7, -3, 7, -2, 6, 1, 4, 3,
|
|
1, 4, 0, 4, -3, 3, -5, 1, -6, -2
|
|
};
|
|
|
|
static char c24[] = {
|
|
5, -10, 10,
|
|
7, 12, -3, -9, 31, 31,
|
|
-7, 12, 7, 12
|
|
};
|
|
|
|
static char c25[] = {
|
|
29, -10, 10,
|
|
-2, 12, -5, 11, -6, 9,
|
|
-6, 7, -5, 5, -2, 4, 3, 3, 5, 2,
|
|
6, 1, 7, -1, 7, -4, 6, -6, 4, -8,
|
|
1, -9, -1, -9, -4, -8, -6, -6, -7, -4,
|
|
-7, -1, -6, 1, -5, 2, -3, 3, 2, 4,
|
|
5, 5, 6, 7, 6, 9, 5, 11, 2, 12,
|
|
-2, 12
|
|
};
|
|
|
|
static char c26[] = {
|
|
23, -10, 10,
|
|
6, 5, 5, 2, 3, 0,
|
|
0, -1, -1, -1, -4, 0, -6, 2, -7, 5,
|
|
-7, 6, -6, 9, -4, 11, -1, 12, 0, 12,
|
|
3, 11, 5, 9, 6, 5, 6, 0, 5, -5,
|
|
3, -8, 0, -9, -2, -9, -5, -8, -6, -6
|
|
};
|
|
|
|
static char c27[] = {
|
|
11, -4, 6,
|
|
0, 5, -1, 4, 0, 3, 1, 4, 0, 5, 31, 31, 0, -7, -1, -8,
|
|
0, -9, 1, -8, 0, -7
|
|
};
|
|
|
|
static char c28[] = {
|
|
13, -4, 4,
|
|
0, 5, -1, 4, 0, 3,
|
|
1, 4, 0, 5, 31, 31, 0, -9, -1, -8,
|
|
0, -7, 1, -8, 1, -10, 0, -12, -1, -13
|
|
};
|
|
|
|
static char c29[] = {
|
|
3, -11, 11,
|
|
8, 9, -8, 0, 8, -9
|
|
};
|
|
|
|
static char c30[] = {
|
|
5, -12, 12,
|
|
-9, 3, 9, 3, 31, 31,
|
|
-9, -3, 9, -3
|
|
};
|
|
|
|
static char c31[] = {
|
|
3, -11, 11,
|
|
-8, 9, 8, 0, -8, -9
|
|
};
|
|
|
|
static char c32[] = {
|
|
23, -9, 9,
|
|
-5, 8, -4, 7, -5, 6,
|
|
-6, 7, -6, 8, -5, 10, -4, 11, -2, 12,
|
|
1, 12, 4, 11, 5, 10, 6, 8, 6, 6,
|
|
5, 4, 4, 3, 0, 1, 0, -2, 31, 31,
|
|
0, -7, -1, -8,
|
|
0, -9, 1, -8, 0, -7
|
|
};
|
|
|
|
static char c33[] = {
|
|
44, -13, 14,
|
|
5, 4, 4, 6, 2, 7,
|
|
-1, 7, -3, 6, -4, 5, -5, 2, -5, -1,
|
|
-4, -3, -2, -4, 1, -4, 3, -3, 4, -1,
|
|
31, 31,
|
|
6, 7, 5, 4, 4, -1,
|
|
4, -3, 6, -4, 8, -4, 10, -2, 11, 1,
|
|
11, 3, 10, 6, 9, 8, 7, 10, 5, 11,
|
|
2, 12, -1, 12, -4, 11, -6, 10, -8, 8,
|
|
-9, 6, -10, 3, -10, 0, -9, -3, -8, -5,
|
|
-6, -7, -4, -8, -1, -9, 2, -9, 5, -8,
|
|
7, -7, 8, -6
|
|
};
|
|
|
|
static char c34[] = {
|
|
8, -9, 9,
|
|
0, 12, -8, -9, 31, 31,
|
|
0, 12, 8, -9, 31, 31, -6, -4, 6, -4
|
|
};
|
|
|
|
static char c35[] = {
|
|
23, -11, 10,
|
|
-7, 12, -7, -9, 31, 31,
|
|
-7, 12, 2, 12, 5, 11, 6, 10, 7, 8,
|
|
7, 6, 6, 4, 5, 3, 2, 2, 31, 31,
|
|
-7, 2, 2, 2, 5, 1, 6, 0, 7, -2,
|
|
7, -5, 6, -7, 5, -8, 2, -9, -7, -9
|
|
};
|
|
|
|
static char c36[] = {
|
|
18, -10, 11,
|
|
8, 7, 7, 9, 5, 11,
|
|
3, 12, -1, 12, -3, 11, -5, 9, -6, 7,
|
|
-7, 4, -7, -1, -6, -4, -5, -6, -3, -8,
|
|
-1, -9, 3, -9, 5, -8, 7, -6, 8, -4
|
|
};
|
|
|
|
static char c37[] = {
|
|
15, -11, 10,
|
|
-7, 12, -7, -9, 31, 31,
|
|
-7, 12, 0, 12, 3, 11, 5, 9, 6, 7,
|
|
7, 4, 7, -1, 6, -4, 5, -6, 3, -8,
|
|
0, -9, -7, -9
|
|
};
|
|
|
|
static char c38[] = {
|
|
11, -10, 9,
|
|
-6, 12, -6, -9, 31, 31,
|
|
-6, 12, 7, 12, 31, 31, -6, 2, 2, 2,
|
|
31, 31, -6, -9, 7, -9
|
|
};
|
|
|
|
static char c39[] = {
|
|
8, -10, 8,
|
|
-6, 12, -6, -9, 31, 31,
|
|
-6, 12, 7, 12, 31, 31, -6, 2, 2, 2
|
|
};
|
|
|
|
static char c40[] = {
|
|
22, -10, 11,
|
|
8, 7, 7, 9, 5, 11,
|
|
3, 12, -1, 12, -3, 11, -5, 9, -6, 7,
|
|
-7, 4, -7, -1, -6, -4, -5, -6, -3, -8,
|
|
-1, -9, 3, -9, 5, -8, 7, -6, 8, -4,
|
|
8, -1, 31, 31, 3, -1, 8, -1
|
|
};
|
|
|
|
static char c41[] = {
|
|
8, -11, 11,
|
|
-7, 12, -7, -9, 31, 31,
|
|
7, 12, 7, -9, 31, 31, -7, 2, 7, 2
|
|
};
|
|
|
|
static char c42[] = {
|
|
8, -6, 6,
|
|
0, 12, 0, -9, 31, 31,
|
|
-3, 12, 3, 12, 31, 31, -3, -9, 3, -9
|
|
};
|
|
|
|
static char c43[] = {
|
|
10, -9, 8,
|
|
4, 12, 4, -4, 3, -7,
|
|
2, -8, 0, -9, -2, -9, -4, -8, -5, -7,
|
|
-6, -4, -6, -2
|
|
};
|
|
|
|
static char c44[] = {
|
|
8, -11, 9,
|
|
-7, 12, -7, -9, 31, 31,
|
|
7, 12, -7, -2, 31, 31, -2, 3, 7, -9
|
|
};
|
|
|
|
static char c45[] = {
|
|
5, -10, 7,
|
|
-6, 12, -6, -9, 31, 31,
|
|
-6, -9, 6, -9
|
|
};
|
|
|
|
static char c46[] = {
|
|
11, -12, 12,
|
|
-8, 12, -8, -9, 31, 31,
|
|
-8, 12, 0, -9, 31, 31, 8, 12, 0, -9,
|
|
31, 31, 8, 12, 8, -9
|
|
};
|
|
|
|
static char c47[] = {
|
|
8, -11, 11,
|
|
-7, 12, -7, -9, 31, 31,
|
|
-7, 12, 7, -9, 31, 31, 7, 12, 7, -9
|
|
};
|
|
|
|
static char c48[] = {
|
|
21, -11, 11,
|
|
-2, 12, -4, 11, -6, 9,
|
|
-7, 7, -8, 4, -8, -1, -7, -4, -6, -6,
|
|
-4, -8, -2, -9, 2, -9, 4, -8, 6, -6,
|
|
7, -4, 8, -1, 8, 4, 7, 7, 6, 9,
|
|
4, 11, 2, 12, -2, 12
|
|
};
|
|
|
|
static char c49[] = {
|
|
13, -11, 10,
|
|
-7, 12, -7, -9, 31, 31,
|
|
-7, 12, 2, 12, 5, 11, 6, 10, 7, 8,
|
|
7, 5, 6, 3, 5, 2, 2, 1, -7, 1
|
|
};
|
|
|
|
static char c50[] = {
|
|
24, -11, 11,
|
|
-2, 12, -4, 11, -6, 9,
|
|
-7, 7, -8, 4, -8, -1, -7, -4, -6, -6,
|
|
-4, -8, -2, -9, 2, -9, 4, -8, 6, -6,
|
|
7, -4, 8, -1, 8, 4, 7, 7, 6, 9,
|
|
4, 11, 2, 12, -2, 12, 31, 31, 1, -5,
|
|
7, -11
|
|
};
|
|
|
|
static char c51[] = {
|
|
16, -11, 10,
|
|
-7, 12, -7, -9, 31, 31,
|
|
-7, 12, 2, 12, 5, 11, 6, 10, 7, 8,
|
|
7, 6, 6, 4, 5, 3, 2, 2, -7, 2,
|
|
31, 31, 0, 2, 7, -9
|
|
};
|
|
|
|
static char c52[] = {
|
|
20, -10, 10,
|
|
7, 9, 5, 11, 2, 12,
|
|
-2, 12, -5, 11, -7, 9, -7, 7, -6, 5,
|
|
-5, 4, -3, 3, 3, 1, 5, 0, 6, -1,
|
|
7, -3, 7, -6, 5, -8, 2, -9, -2, -9,
|
|
-5, -8, -7, -6
|
|
};
|
|
|
|
static char c53[] = {
|
|
5, -8, 8,
|
|
0, 12, 0, -9, 31, 31,
|
|
-7, 12, 7, 12
|
|
};
|
|
|
|
static char c54[] = {
|
|
10, -11, 11,
|
|
-7, 12, -7, -3, -6, -6,
|
|
-4, -8, -1, -9, 1, -9, 4, -8, 6, -6,
|
|
7, -3, 7, 12
|
|
};
|
|
|
|
static char c55[] = {
|
|
5, -9, 9,
|
|
-8, 12, 0, -9, 31, 31,
|
|
8, 12, 0, -9
|
|
};
|
|
|
|
static char c56[] = {
|
|
11, -12, 12,
|
|
1 - 10, 12, -5, -9, 31, 31,
|
|
0, 12, -5, -9, 31, 31, 0, 12, 5, -9,
|
|
31, 31, 10, 12, 5, -9
|
|
};
|
|
|
|
static char c57[] = {
|
|
5, -10, 10,
|
|
-7, 12, 7, -9, 31, 31,
|
|
7, 12, -7, -9
|
|
};
|
|
|
|
static char c58[] = {
|
|
6, -9, 9,
|
|
-8, 12, 0, 2, 0, -9,
|
|
31, 31, 8, 12, 0, 2
|
|
};
|
|
|
|
static char c59[] = {
|
|
8, -10, 10,
|
|
7, 12, -7, -9, 31, 31,
|
|
-7, 12, 7, 12, 31, 31, -7, -9, 7, -9
|
|
};
|
|
|
|
static char c60[] = {
|
|
8, -7, 7,
|
|
-3, 16, -3, -16, 31, 31,
|
|
-3, 16, 4, 16,
|
|
31, 31, -3, -16, 4, -16
|
|
};
|
|
|
|
static char c61[] = {
|
|
2, -11, 11,
|
|
-9, 16, 9, -16
|
|
};
|
|
|
|
static char c62[] = {
|
|
8, -7, 7,
|
|
3, 16, 3, -16, 31, 31, -4, 16, 3, 16,
|
|
31, 31, -4, -16, 3, -16
|
|
};
|
|
|
|
static char c63[] = {
|
|
3, -11, 11,
|
|
1 - 8, -2, 0, 3, 8, -2
|
|
};
|
|
|
|
static char c64[] = {
|
|
2, -12, 12,
|
|
1 - 9, -12, 9, -12
|
|
};
|
|
|
|
static char c65[] = {
|
|
2, -6, 6,
|
|
1 - 2, 12, 3, 6
|
|
};
|
|
|
|
static char c66[] = {
|
|
17, -9, 10,
|
|
6, 5, 6, -9, 31, 31,
|
|
6, 2, 4, 4, 2, 5, -1, 5, -3, 4,
|
|
-5, 2, -6, -1, -6, -3, -5, -6, -3, -8,
|
|
-1, -9, 2, -9, 4, -8, 6, -6
|
|
};
|
|
|
|
static char c67[] = {
|
|
17, -10, 9,
|
|
-6, 12, -6, -9, 31, 31,
|
|
-6, 2, -4, 4, -2, 5, 1, 5, 3, 4,
|
|
5, 2, 6, -1, 6, -3, 5, -6, 3, -8,
|
|
1, -9, -2, -9, -4, -8, -6, -6
|
|
};
|
|
|
|
static char c68[] = {
|
|
14, -9, 9,
|
|
6, 2, 4, 4, 2, 5,
|
|
-1, 5, -3, 4, -5, 2, -6, -1, -6, -3,
|
|
-5, -6, -3, -8, -1, -9, 2, -9, 4, -8,
|
|
6, -6
|
|
};
|
|
|
|
static char c69[] = {
|
|
17, -9, 10,
|
|
6, 12, 6, -9, 31, 31,
|
|
6, 2, 4, 4, 2, 5, -1, 5, -3, 4,
|
|
-5, 2, -6, -1, -6, -3, -5, -6, -3, -8,
|
|
-1, -9, 2, -9, 4, -8, 6, -6
|
|
};
|
|
|
|
static char c70[] = {
|
|
17, -9, 9,
|
|
-6, -1, 6, -1, 6, 1,
|
|
5, 3, 4, 4, 2, 5, -1, 5, -3, 4,
|
|
-5, 2, -6, -1, -6, -3, -5, -6, -3, -8,
|
|
-1, -9, 2, -9, 4, -8, 6, -6
|
|
};
|
|
|
|
static char c71[] = {
|
|
8, -5, 7,
|
|
5, 12, 3, 12, 1, 11,
|
|
0, 8, 0, -9, 31, 31, -4, 5, 4, 5
|
|
};
|
|
|
|
static char c72[] = {
|
|
22, -9, 10,
|
|
6, 5, 6, -11, 5, -14,
|
|
4, -15, 2, -16, -1, -16, -3, -15, 31, 31,
|
|
6, 2, 4, 4, 2, 5, -1, 5, -3, 4,
|
|
-5, 2, -6, -1, -6, -3, -5, -6, -3, -8,
|
|
-1, -9, 2, -9, 4, -8, 6, -6
|
|
};
|
|
|
|
static char c73[] = {
|
|
10, -9, 10,
|
|
-5, 12, -5, -9, 31, 31,
|
|
-5, 1, -2, 4, 0, 5, 3, 5, 5, 4,
|
|
6, 1, 6, -9
|
|
};
|
|
|
|
static char c74[] = {
|
|
8, -4, 4,
|
|
-1, 12, 0, 11, 1, 12,
|
|
0, 13, -1, 12, 31, 31, 0, 5, 0, -9
|
|
};
|
|
|
|
static char c75[] = {
|
|
11, -5, 5,
|
|
0, 12, 1, 11, 2, 12,
|
|
1, 13, 0, 12, 31, 31, 1, 5, 1, -12,
|
|
0, -15, -2, -16, -4, -16
|
|
};
|
|
|
|
static char c76[] = {
|
|
8, -9, 8,
|
|
-5, 12, -5, -9, 31, 31,
|
|
5, 5, -5, -5, 31, 31, -1, -1, 6, -9
|
|
};
|
|
|
|
static char c77[] = {
|
|
2, -4, 4,
|
|
0, 12, 0, -9
|
|
};
|
|
|
|
static char c78[] = {
|
|
18, -15, 15,
|
|
-11, 5, -11, -9, 31, 31,
|
|
-11, 1, -8, 4, -6, 5, -3, 5, -1, 4,
|
|
0, 1, 0, -9, 31, 31, 0, 1, 3, 4,
|
|
5, 5, 8, 5, 10, 4, 11, 1, 11, -9
|
|
};
|
|
|
|
static char c79[] = {
|
|
10, -9, 10,
|
|
-5, 5, -5, -9, 31, 31,
|
|
-5, 1, -2, 4, 0, 5, 3, 5, 5, 4,
|
|
6, 1, 6, -9
|
|
};
|
|
|
|
static char c80[] = {
|
|
17, -9, 10,
|
|
-1, 5, -3, 4, -5, 2,
|
|
-6, -1, -6, -3, -5, -6, -3, -8, -1, -9,
|
|
2, -9, 4, -8, 6, -6, 7, -3, 7, -1,
|
|
6, 2, 4, 4, 2, 5, -1, 5
|
|
};
|
|
|
|
static char c81[] = {
|
|
17, -10, 9,
|
|
-6, 5, -6, -16, 31, 31,
|
|
-6, 2, -4, 4, -2, 5, 1, 5, 3, 4,
|
|
5, 2, 6, -1, 6, -3, 5, -6, 3, -8,
|
|
1, -9, -2, -9, -4, -8, -6, -6,
|
|
};
|
|
|
|
static char c82[] = {
|
|
17, -9, 10,
|
|
6, 5, 6, -16, 31, 31,
|
|
6, 2, 4, 4, 2, 5, -1, 5, -3, 4,
|
|
-5, 2, -6, -1, -6, -3, -5, -6, -3, -8,
|
|
-1, -9, 2, -9, 4, -8, 6, -6
|
|
};
|
|
|
|
static char c83[] = {
|
|
8, -7, 7,
|
|
-3, 5, -3, -9, 31, 31,
|
|
-3, -1, -2, 2, 0, 4, 2, 5, 5, 5
|
|
};
|
|
|
|
static char c84[] = {
|
|
17, -8, 9,
|
|
6, 2, 5, 4, 2, 5,
|
|
-1, 5, -4, 4, -5, 2, -4, 0, -2, -1,
|
|
3, -2, 5, -3, 6, -5, 6, -6, 5, -8,
|
|
2, -9, -1, -9, -4, -8, -5, -6
|
|
};
|
|
|
|
static char c85[] = {
|
|
8, -5, 7,
|
|
0, 12, 0, -5, 1, -8,
|
|
3, -9, 5, -9, 31, 31, -4, 5, 4, 5
|
|
};
|
|
|
|
static char c86[] = {
|
|
10, -9, 10,
|
|
-5, 5, -5, -5, -4, -8,
|
|
-2, -9, 1, -9, 3, -8, 6, -5, 31, 31,
|
|
6, 5, 6, -9
|
|
};
|
|
|
|
static char c87[] = {
|
|
5, -8, 8,
|
|
-6, 5, 0, -9, 31, 31,
|
|
6, 5, 0, -9
|
|
};
|
|
|
|
static char c88[] = {
|
|
11, -11, 11,
|
|
-8, 5, -4, -9, 31, 31,
|
|
0, 5, -4, -9, 31, 31, 0, 5, 4, -9,
|
|
31, 31, 8, 5, 4, -9
|
|
};
|
|
|
|
static char c89[] = {
|
|
5, -9, 9,
|
|
-6, 5, 6, -9, 31, 31,
|
|
6, 5, -6, -9
|
|
};
|
|
|
|
static char c90[] = {
|
|
9, -8, 8,
|
|
-6, 5, 0, -9, 31, 31,
|
|
6, 5, 0, -9, -2, -13, -4, -15, -6, -16,
|
|
-7, -16
|
|
};
|
|
|
|
static char c91[] = {
|
|
8, -9, 9,
|
|
6, 5, -6, -9, 31, 31,
|
|
-6, 5, 6, 5, 31, 31, -6, -9, 6, -9
|
|
};
|
|
|
|
static char c92[] = {
|
|
17, -7, 9,
|
|
2, 16, -1, 13, -2, 10, -2, 8, -1, 5, 2, 2, 31, 31,
|
|
2, 2, -1, 0, 2, -2, 31, 31,
|
|
2, -2, -1, -5, -2, -8, -2, -10, -1, -13, 2, -16
|
|
};
|
|
|
|
static char c93[] = {
|
|
2, -4, 4,
|
|
0, 16, 0, -16
|
|
};
|
|
|
|
static char c94[] = {
|
|
17, -7, 9,
|
|
-2, 16, 1, 13, 2, 10, 2, 8, 1, 5, -2, 2, 31, 31,
|
|
-2, 2, 1, 0, -2, -2, 31, 31,
|
|
-2, -2, 1, -5, 2, -8, 2, -10, 1, -13, -2, -16
|
|
};
|
|
|
|
static char c95[] = {
|
|
11, -12, 14,
|
|
-9, -3, -9, -1, -8, 2, -6, 3, -4, 3, -2, 2, 2, -1, 4, -2,
|
|
6, -2, 8, -1, 9, 1
|
|
};
|
|
|
|
static char c96[] = {
|
|
4, -10, 10,
|
|
-8, -9, 0, 12, 8, -9, -8, -9
|
|
};
|
|
|
|
static char c97[] = { /* ground */
|
|
8, 0, 4,
|
|
0, -5, 0, 5, 31, 31, 2, -3, 2, 3, 31, 31, 4, -1, 4, 1
|
|
};
|
|
|
|
static char c98[] = { /* vertical bar */
|
|
2, 0, 3,
|
|
0, -5, 0, 5
|
|
};
|
|
|
|
static char c99[] = { /* chip */
|
|
9, 0, 8,
|
|
0, -8, 0, 8, 3, 8, 3, 6, 5, 6, 5, 8, 8, 8, 8, -8, 0, -8
|
|
};
|
|
|
|
static char c100[] = { /* big circle */
|
|
13, 0, 16,
|
|
0, 0, 1, 4, 4, 7, 8, 8, 12, 7, 15, 4, 16, 0,
|
|
15, -4, 12, -7, 8, -8, 4, -7, 1, -4, 0, 0
|
|
};
|
|
|
|
static char c101[] = { /* arrowtail > */
|
|
3, 0, 5,
|
|
0, -4, 5, 0, 0, 4
|
|
};
|
|
|
|
static char c102[] = { /* - - */
|
|
5, 0, 15,
|
|
0, 0, 5, 0, 31, 31, 10, 0, 15, 0
|
|
};
|
|
|
|
static char c103[] = { /* large curve ) */
|
|
6, -1, 3,
|
|
-1, 8, 0, 6, 1, 2, 1, -2, 0, -6, -1, -8
|
|
};
|
|
|
|
static char c104[] = { /* centerline --- - */
|
|
5, 0, 20,
|
|
0, 0, 13, 0, 31, 31, 16, 0, 20, 0
|
|
};
|
|
|
|
static char c105[] = { /* inverter */
|
|
4, 0, 7,
|
|
0, -5, 7, 0, 0, 5, 0, -5
|
|
};
|
|
|
|
static char c106[] = { /* resistor */
|
|
9, 0, 20,
|
|
0, 0, 2, 0, 4, 3, 7, -3, 10, 3, 13, -3, 16, 3, 18, 0, 20, 0
|
|
};
|
|
|
|
static char c107[] = { /* transistor */
|
|
9, 0, 6,
|
|
0, -4, 0, 4, 31, 31, 6, -8, 6, -6, 2, -6, 2, 6, 6, 6, 6, 8
|
|
};
|
|
|
|
static char c108[] = { /* arrowhead */
|
|
6, 0, 5,
|
|
0, 0, 5, 0, 31, 31, 0, -4, 5, 0, 0, 4
|
|
};
|
|
|
|
static char c109[] = { /* or gate */
|
|
14, -1, 16,
|
|
-1, -8, 7, -7, 11, -5, 14, -3, 16, 0, 14, 3, 11, 5, 7, 7, -1, 8, 0, 6, 1, 2, 1, -2,
|
|
0, -6, -1, -8
|
|
};
|
|
|
|
static char c110[] = { /* and gate */
|
|
10, 0, 15,
|
|
0, -8, 8, -8, 11, -7, 14, -4, 15, 0, 14, 4, 11, 7, 8, 8, 0, 8, 0, -8
|
|
};
|
|
|
|
static char c111[] = { /* not symbol o */
|
|
9, 0, 4,
|
|
0, -1, 1, -2, 3, -2, 4, -1, 4, 1, 3, 2, 1, 2, 0, 1, 0, -1
|
|
};
|
|
|
|
static char c112[] = { /* wire connect dot */
|
|
5, 0, 0,
|
|
-1, -1, 1, -1, 1, 1, -1, 1, -1, -1
|
|
};
|
|
|
|
static char *p[] = {
|
|
c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
|
c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
|
|
c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36,
|
|
c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48,
|
|
c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60,
|
|
c61, c62, c63, c64, c65, c66, c67, c68, c69, c70, c71, c72,
|
|
c73, c74, c75, c76, c77, c78, c79, c80, c81, c82, c83, c84,
|
|
c85, c86, c87, c88, c89, c90, c91, c92, c93, c94, c95, c96,
|
|
c97, c98, c99, c100, c101, c102, c103, c104, c105, c106, c107, c108,
|
|
c109, c110, c111, c112
|
|
};
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* FUNCTION: _cgi_stickfont */
|
|
/* */
|
|
/* Returns a pointer to a particular glyph's point list, that glyph's info */
|
|
/* structure, and the font's size structure. */
|
|
/****************************************************************************/
|
|
_cgi_stickfont(subfont, ch, pts, nglyphs)
|
|
int subfont;
|
|
char ch;
|
|
char **pts;
|
|
int *nglyphs;
|
|
{
|
|
register int i;
|
|
|
|
i = ch - ' ';
|
|
if (subfont == 0 && i >= 0 && i < sizeof(p) / sizeof(p[0]))
|
|
*pts = p[i];
|
|
else
|
|
*pts = error_glyph;
|
|
*nglyphs = sizeof(p) / sizeof(p[0]);
|
|
}
|