home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtfm.mit.edu
/
2014.07.rtfm.mit.edu.tar
/
rtfm.mit.edu
/
pub
/
chess.ps
< prev
next >
Wrap
Text File
|
1988-05-04
|
38KB
|
6,771 lines
%!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chess printing file... derived from a cookbook bitmap font
% example. Chess characters from xchess (gnuchess project.)
% Mark Eichin <eichin@athena.mit.edu> [eichin:19880307.1637EST]
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Cookbook Example Program from First Printing, Revised 7 Jan 1985
% Program: Making a User Defined Font Number: 25
%-----------------------------------------------------------------------------
%
/makebits { 80 80 true [80 0 0 -80 0 80] } def
% The following program
% demonstrates the construction of
% a user defined font. The font
% will only have two characters
% defined ("a" and "b") and will
% illustrate how both bitmaps and
% analytic shapes may be used as
% font characters. The character
% "a" will print a turkey
% (constructed as a bitmap), and
% the character "b" will print a
% bullseye.
/BuildCharDict 30 dict def % This dictionary is used by the
/BuildCharDict2 30 dict def % This dictionary is used by the
% BuildChar procedure for local
% variables.
/ExampleFont 30 dict def % Allocate the font dictionary.
/ExampleFont2 30 dict def % Allocate the font dictionary.
ExampleFont begin % Leave room for the FontID. Build
/CharacterDefs 30 dict def % Define the various character
% the required entries in the font
% dictionary.
/FontType 3 def % FontType 3 tells PostScript that
% this is a user defined font.
/FontMatrix [1 0 0 1 0 0] def % Use the identity matrix for the
% font coordinate system.
/FontBBox [0 0 1 1]def % The largest character in the
% font will be 1 unit by 1 unit.
/Encoding 256 array def % Allocate the Encoding array.
% Build the encoding vector that
% will define "a" and "b".
0 1 255 {Encoding exch /.notdef put} for % Initialize all entries in the
% encoding vector with ".notdef".
Encoding (b) 0 get /bishop put
Encoding (k) 0 get /king put
Encoding (n) 0 get /knight put
Encoding (p) 0 get /pawn put
Encoding (q) 0 get /queen put
Encoding (r) 0 get /rook put
Encoding (_) 0 get /shade put
Encoding ( ) 0 get /unshade put
Encoding (B) 0 get /bishop put
Encoding (K) 0 get /king put
Encoding (N) 0 get /knight put
Encoding (P) 0 get /pawn put
Encoding (Q) 0 get /queen put
Encoding (R) 0 get /rook put
% drawing procedures and put them
% in the CharacterDefs dictionary.
CharacterDefs /.notdef {} put % There should always be a
% description for the undefined
% character ``.notdef'' which does
% nothing.
CharacterDefs /unshade { } put
%%%%%%%%% Insert chessfont file here.
CharacterDefs /bishop { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00e0
e000
0000
0000
0000
01f1
f000
0000
0000
0000
01f1
f000
0000
0000
0000
01f1
f000
0000
0000
0000
00e0
e000
0000
0000
0000
0040
4000
0000
0000
0000
01f0
a000
0000
0000
0000
03f9
1000
0000
0000
0000
07fe
0800
0000
0000
0000
0ffe
0800
0000
0000
0000
1fff
0800
0000
0000
0000
1fff
0c00
0000
0000
0000
3fff
8400
0000
0000
0000
7fff
c400
0000
0000
0000
7fff
c400
0000
0000
0000
ff1f
e600
0000
0000
0000
ff1f
e200
0000
0000
0001
ff1f
f200
0000
0000
0001
f803
f200
0000
0000
0003
f803
fa00
0000
0000
0003
f803
fa00
0000
0000
0007
ff1f
fe00
0000
0000
0007
ff1f
fe00
0000
0000
0007
ff1f
fe00
0000
0000
0007
ff1f
fe00
0000
0000
000f
ff1f
fe00
0000
0000
000f
ff1f
fe00
0000
0000
000f
ff1f
ff00
0000
0000
001f
ffff
ff00
0000
0000
001f
ffff
ff00
0000
0000
001f
ffff
ff00
0000
0000
001f
ffff
ff00
0000
0000
001f
ffff
ff00
0000
0000
000f
ffff
fe00
0000
0000
000f
ffff
fe00
0000
0000
000f
ffff
fe00
0000
0000
000f
ffff
fe00
0000
0000
0007
ffff
fc00
0000
0000
0007
ffff
fc00
0000
0000
0003
ffff
f800
0000
0000
0003
ffff
f800
0000
0000
0001
ffff
f000
0000
0000
0001
ffff
f000
0000
0000
0001
ffff
f000
0000
0000
0000
ffff
e000
0000
0000
0000
8000
2000
0000
0000
0000
8000
2000
0000
0000
0000
ffff
e000
0000
0000
0000
7fbf
c000
0000
0000
0000
5f1f
4000
0000
0000
0000
4e0e
4000
0000
0000
0000
4e0e
4000
0000
0000
0000
5f1f
4000
0000
0000
0000
7fbf
e000
0000
0000
0000
ffff
e000
0000
0000
0000
8000
2000
0000
0000
0000
8000
2000
0000
0000
0001
ffff
f000
0000
0000
0001
ffff
f000
0000
0000
0003
ffff
f800
0000
0000
0000
01f0
0000
0000
0000
0000
01f0
0000
0000
0000
0000
03f8
0000
0000
0000
0000
07fc
0000
0000
0000
0000
0ffe
0000
0000
0000
0000
1fff
0000
0000
0000
1ff8
3fbf
83ff
8000
0000
7fff
ffbf
ffff
e000
0003
ffff
ff1f
ffff
fc00
000f
ffff
ff1f
ffff
ff00
0003
ffff
fc0f
ffff
fc00
0001
f00f
f003
fe00
f800
0003
0000
0000
0000
0c00
0006
0000
0000
0000
0600
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /bishop_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00e0
e000
0000
0000
0000
01b1
b000
0000
0000
0000
0111
1000
0000
0000
0000
01b1
b000
0000
0000
0000
00e0
e000
0000
0000
0000
0040
4000
0000
0000
0000
01f0
a000
0000
0000
0000
0319
1000
0000
0000
0000
060e
0800
0000
0000
0000
0c02
0800
0000
0000
0000
1803
0800
0000
0000
0000
1001
0c00
0000
0000
0000
3001
8400
0000
0000
0000
6001
c400
0000
0000
0000
4000
4400
0000
0000
0000
c0e0
6600
0000
0000
0000
80a0
2200
0000
0000
0001
80a0
3200
0000
0000
0001
07bc
1200
0000
0000
0003
0404
1a00
0000
0000
0002
07bc
0a00
0000
0000
0006
00a0
0e00
0000
0000
0004
00a0
0200
0000
0000
0004
00a0
0200
0000
0000
0004
00a0
0200
0000
0000
000c
00a0
0200
0000
0000
0008
00a0
0200
0000
0000
0008
00e0
0300
0000
0000
0018
0000
0100
0000
0000
0010
0000
0100
0000
0000
0010
0000
0100
0000
0000
0010
0000
0100
0000
0000
0018
0000
0300
0000
0000
0008
0000
0200
0000
0000
0008
0000
0200
0000
0000
0008
0000
0200
0000
0000
000c
0000
0600
0000
0000
0004
0000
0400
0000
0000
0006
0000
0c00
0000
0000
0002
0000
0800
0000
0000
0003
0000
1800
0000
0000
0001
0000
1000
0000
0000
0001
0000
1000
0000
0000
0001
8000
3000
0000
0000
0000
ffff
e000
0000
0000
0000
8000
2000
0000
0000
0000
8000
2000
0000
0000
0000
ffff
e000
0000
0000
0000
4040
4000
0000
0000
0000
60e0
c000
0000
0000
0000
71b1
c000
0000
0000
0000
71b1
c000
0000
0000
0000
60e0
c000
0000
0000
0000
4040
6000
0000
0000
0000
ffff
e000
0000
0000
0000
8000
2000
0000
0000
0000
8000
2000
0000
0000
0001
8000
3000
0000
0000
0001
0000
1000
0000
0000
0003
ffff
f800
0000
0000
0000
0110
0000
0000
0000
0000
0110
0000
0000
0000
0000
0318
0000
0000
0000
0000
060c
0000
0000
0000
0000
0c06
0000
0000
0000
0000
18e3
0000
0000
0000
1ff8
30a1
83ff
8000
0000
700f
e1b0
fe00
e000
0003
c000
0310
0000
3c00
000e
0000
0718
0000
0700
0003
1ff8
1c0e
03ff
8c00
0001
f00f
f003
fe00
f800
0003
0000
0000
0000
0c00
0006
0000
0000
0000
0600
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /king { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
01c0
0000
0000
0000
0000
01c0
0000
0000
0000
0000
07f0
0000
0000
0000
0000
07f0
0000
0000
0000
0000
01c0
0000
0000
0000
0000
01c0
0000
0000
0000
0000
07f0
0000
0000
0000
0000
0ff8
0000
0000
0000
0000
0ff8
0000
0000
001f
f800
0c18
003f
f800
007f
fe00
1ddc
00ff
fe00
00ff
ff00
1ddc
01ff
ff00
01ff
ffc0
1ddc
07ff
ff80
03ff
fff0
1ddc
0fff
ffc0
07ff
fff8
1ddc
1fff
1fe0
07f8
03fc
1ddc
3fe0
47e0
0ff3
f9fe
0c18
7fcf
f3f0
0fe7
fc7f
0ff8
7e3f
fbf0
0fcf
ff3f
8ff8
fcff
f9f0
1fdf
ffbf
cff9
fdff
fdf8
1f9f
ff9f
c7f1
fbff
fcf8
1fbf
ffcf
f7f3
f3ff
fef8
1fbf
ffe7
f7f7
f7ff
fef8
3fbf
fff3
ffff
e7fc
3efc
3f3c
3ffb
ff7f
cfbc
3efc
3f7c
3f79
fe3f
9f9c
3efc
3f7c
3e7d
fc1f
9fdc
3efc
3f7c
1efc
fe3f
3fdc
fefc
3f7f
defe
ff7f
7fd9
fefc
1f7f
ddfe
7ffe
7fdb
9ef8
1f7f
cdff
7ffe
ffd3
3ef8
1f79
edff
7ffe
ffd4
7cf8
1f7c
65ff
3ffe
ffc5
fdf8
1f7f
15ff
bf7c
ffcb
fdf8
1fbf
c1ff
be3d
ffc3
fdf8
0fbf
f1ff
9c1d
ffc7
fdf8
0fbf
f9ff
de3d
ff8f
f9f0
0f9f
fdff
df7d
ffbf
fbf0
0fdf
fcff
cff9
ffbf
fbf0
0fcf
feff
effb
ff3f
fbf0
07ef
fe7f
effb
ff7f
fbe0
07ef
ff7f
effb
fe7f
f3e0
07e7
ff7f
effb
feff
f7e0
03f7
ff3f
f777
feff
e7c0
03f3
ffbf
f637
fcff
efc0
01fb
ff9f
f777
fdff
cf80
01f9
ffdf
f7f7
f9ff
df80
00fd
ffdf
f7f7
fbff
9f00
007e
ffcf
f7f7
fbff
7e00
007e
7fff
f7f7
fffe
7e00
003f
3fff
f7f7
fffe
fc00
003f
9fff
f7f7
fffc
f800
001f
dfc0
07f0
00f9
f800
000f
c01f
ffff
fe03
f000
0007
fffd
ef7b
dfff
e000
0003
ffb8
c631
8eff
c000
0001
f71d
ef7b
dc77
8000
0000
e3bf
ffff
fee3
0000
0000
77ff
0000
3ff6
0000
0000
7fc0
7fff
80fe
0000
0000
601f
fe3f
fe06
0000
0000
7fff
f80f
fffe
0000
0000
63ff
e003
ffc6
0000
0000
60ff
f80f
ff06
0000
0000
603f
fe3f
fc06
0000
0000
60ff
ffff
ff06
0000
0000
63ff
0000
3fc6
0000
0000
7fc0
7fff
80fe
0000
0000
601f
ffff
fe06
0000
0000
7fff
ffff
fffe
0000
0000
7fff
ffff
fffe
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /king_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
03e0
0000
0000
0000
0000
0220
0000
0000
0000
0000
0e38
0000
0000
0000
0000
0808
0000
0000
0000
0000
0808
0000
0000
0000
0000
0e38
0000
0000
0000
0000
0220
0000
0000
0000
0000
0220
0000
0000
0000
0000
1e3c
0000
0000
0000
0000
1004
0000
0000
001f
f800
3006
003f
f800
0070
0e00
21c2
00e0
0e00
00c0
0300
2362
0180
0300
0180
01c0
2222
0700
0180
0300
0070
2222
0c00
00c0
0600
0018
2222
1800
e060
0407
fc0c
2362
301f
b820
0c0c
0606
31c6
6030
0c30
0818
0383
1004
41c0
0430
0830
00c1
9004
c300
0610
1820
0040
d1c5
8200
0218
1060
0060
5e6d
0400
0308
1040
0030
7c3e
0c00
0108
1040
0018
1818
0800
0108
3040
000c
0000
1803
c10c
20c3
c004
0080
3043
c104
2083
c086
01c0
6063
c104
2083
c182
03e0
6023
c104
2083
e103
01c0
c023
0104
3080
2101
0080
8026
010c
1080
2201
8001
8024
6108
1080
3200
8001
002c
c108
1086
1200
8001
002b
8308
1083
9a00
c001
003a
0208
1080
ea00
4083
0034
0208
1840
3e00
41c2
003c
0218
0840
0e00
63e2
0038
0218
0840
0600
21c2
0070
0610
0860
0200
2082
0040
0410
0820
0300
3006
0040
0430
0c30
0100
1004
00c0
0430
0410
0180
1004
0080
0420
0410
0080
1004
0180
0c20
0618
0080
1004
0100
0860
0208
00c0
0888
0100
1840
030c
0040
09c8
0300
10c0
0104
0060
0888
0200
2080
0186
0020
0808
0600
2180
0082
0020
0808
0400
6300
00c1
0030
0808
0400
8200
0041
8000
0808
0001
8600
0060
8000
0808
0001
0c00
0030
8000
0808
0003
0800
0018
40ff
f80f
ff06
1800
000c
7f80
0000
01fc
3000
0004
0002
1084
2000
6000
0003
0047
39ce
7100
c000
0001
88e2
1084
2388
8000
0000
dc40
0000
011d
0000
0000
4800
ffff
c009
0000
0000
403f
8000
7f03
0000
0000
5fe0
01c0
01fa
0000
0000
4000
07f0
0002
0000
0000
5c00
1ffc
003a
0000
0000
5f00
07f0
00fa
0000
0000
5fc0
01c0
03fa
0000
0000
5f00
0000
00fa
0000
0000
5c00
ffff
c03a
0000
0000
403f
8000
7f02
0000
0000
5fe0
0000
01fa
0000
0000
4000
0000
0002
0000
0000
7fff
ffff
fffe
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /knight { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
4000
0000
0000
0000
0000
4000
0000
0000
0000
0000
e000
0000
0000
0000
0030
e000
0000
0000
0000
0018
f000
0000
0000
0000
001c
f000
0000
0000
0000
000c
f000
0000
0000
0000
000f
f800
0000
0000
0000
000f
ff00
0000
0000
0000
0007
fffe
0000
0000
0000
0007
fff0
0000
0000
0000
0007
ffff
c000
0000
0000
0007
ffff
0000
0000
0000
001f
fdff
fc00
0000
0000
00ff
fe7f
f000
0000
0000
01ff
ff1f
ff80
0000
0000
07f0
3fc7
fe00
0000
0000
0f87
cff3
fff0
0000
0000
1fbf
fff8
ff80
0000
0000
7ffc
7ffe
7ff8
0000
0000
fff8
7fff
3fe0
0000
0003
ffff
ffff
8ffe
0000
0003
ffff
ffff
e7f8
0000
0007
ffff
ffff
f3ff
c000
000f
ffff
ffff
f9fc
0000
001f
ffff
ffff
fcff
e000
003f
ffff
ffff
fe7f
0000
003f
ffff
ffff
7f3f
e000
007f
ffff
fffe
7fbf
8000
00ff
ffff
fffc
ffdf
f800
00ff
ffff
fffd
ffcf
c000
01ff
ffff
fff9
ffef
fc00
01ff
ffff
fff3
fff7
e000
03ff
ffff
fecf
fff3
fe00
07ff
ffff
f8bf
fffb
e000
07ff
ffff
c1ff
cff9
ff00
0fff
fffe
01ff
9ffd
f000
0fff
ff00
01fe
3ffe
ff80
1ffc
fe00
0181
fffe
7800
18f9
fc00
03ff
fffe
7fe0
19f1
f800
03ff
f3fe
7c00
1fe1
f000
07ff
c7ff
7fe0
0fc3
e000
0ff8
3fff
3c00
0f87
c000
0f03
ffff
3ff0
0607
8000
1fff
ffff
3e00
000f
0000
3fff
ffff
3ff0
000e
0000
7fff
ffff
3e00
0000
0000
7fff
ffff
9ff0
0000
0000
ffff
ffff
9f00
0000
0001
ffff
ffff
9ff0
0000
0001
ffff
ffff
9f00
0000
0003
ffff
ffff
9ff8
0000
0003
ffff
ffff
8f80
0000
0007
ffff
ffff
8ffc
0000
000f
ffff
ffff
cf80
0000
001f
ffff
ffff
cffc
0000
003f
ffff
ffff
cf80
0000
003f
ffff
ffff
cffc
0000
007f
ffff
ffff
cf80
0000
00ff
ffff
ffff
cffc
0000
00ff
ffff
ffff
cf80
0000
00ff
ffff
ffff
cffc
0000
01ff
ffff
ffff
cf80
0000
01ff
ffff
ffff
cffc
0000
03ff
ffff
ffff
cf80
0000
07ff
ffff
ffff
cffc
0000
07ff
ffff
ffff
cf80
0000
0fff
ffff
ffff
cffc
0000
0fff
ffff
ffff
cf80
0000
1fff
ffff
ffff
cffc
0000
1fff
ffff
ffff
cf80
0000
3fff
ffff
ffff
cffc
0000
3fff
ffff
ffff
cf80
0000
7fff
ffff
ffff
cffc
0000
7fff
ffff
ffff
cf80
0000
7fff
ffff
ffff
cffc
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /knight_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
4000
0000
0000
0000
0000
4000
0000
0000
0000
0000
e000
0000
0000
0000
0030
a000
0000
0000
0000
0018
b000
0000
0000
0000
001c
9000
0000
0000
0000
000c
9000
0000
0000
0000
000f
9f80
0000
0000
0000
000c
00f0
0000
0000
0000
0004
001f
8000
0000
0000
0004
000c
0000
0000
0000
0004
0007
c000
0000
0000
0004
0003
0000
0000
0000
001c
0001
fc00
0000
0000
00f0
0000
1000
0000
0000
0180
0000
1f80
0000
0000
070f
8000
0200
0000
0000
0c1a
e000
03f0
0000
0000
1832
2000
0080
0000
0000
701e
e000
00f8
0000
0000
c407
8000
0020
0000
0001
8800
0000
003e
0000
0003
1000
0002
0008
0000
0006
2000
0002
000f
c000
000c
4000
0006
0004
0000
0018
8000
0004
0007
e000
0031
0000
0004
0001
0000
0022
0000
0004
0001
e000
0064
0000
0008
0000
8000
00c8
0000
0008
0800
f800
0090
0200
0018
1000
4000
01a0
0300
0030
3000
7c00
0100
0100
03c0
6000
2000
0300
0180
0e80
c300
3e00
0600
00c0
7881
8200
2000
0400
0073
c186
0600
3f00
0c00
01fe
0138
0c00
1000
0807
8300
01e0
0800
1f80
180c
8600
0100
1000
0800
1019
8c00
0300
3000
0fe0
1031
1800
0200
c000
0400
1861
3000
0603
8000
07e0
08c3
6000
0c0c
0000
0400
0f86
4000
0878
0000
07f0
060c
4000
19c0
0000
0200
0008
4000
3000
0000
03f0
000d
c000
6000
0000
0200
0003
0000
4000
0000
03f0
0000
0000
c000
0000
0100
0000
0001
8000
0000
01f0
0000
0001
0000
0000
0100
0000
0003
0000
0000
01f8
0000
0002
0000
0000
0080
0000
0006
0000
0000
00fc
0000
000c
0000
0000
0080
0000
0018
0000
0000
00fc
0000
0030
0000
0000
0080
0000
0020
0000
0000
00fc
0000
0060
0000
0000
0080
0000
00c0
0000
0000
00fc
0000
0080
0000
0000
0080
0000
0080
0000
0000
00fc
0000
0180
0000
0000
0080
0000
0100
0000
0000
00fc
0000
0300
0000
0000
0080
0000
0600
0000
0000
00fc
0000
0400
0000
0000
0080
0000
0c00
0000
0000
00fc
0000
0800
0000
0000
0080
0000
1800
0000
0000
00fc
0000
1000
0000
0000
0080
0000
3000
0000
0000
00fc
0000
2000
0000
0000
0080
0000
6000
0000
0000
00fc
0000
4000
0000
0000
0080
0000
7fff
ffff
ffff
fffc
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask
} put
CharacterDefs /pawn { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
01f8
0000
0000
0000
0000
07fe
0000
0000
0000
0000
0fff
0000
0000
0000
0000
0fff
0000
0000
0000
0000
1fff
8000
0000
0000
0000
1fff
8000
0000
0000
0000
1fff
8000
0000
0000
0000
1fff
8000
0000
0000
0000
1fff
8000
0000
0000
0000
0fff
0000
0000
0000
0000
0fff
0000
0000
0000
0000
07fe
0000
0000
0000
0000
03fc
0000
0000
0000
0000
1fff
8000
0000
0000
0000
3fff
c000
0000
0000
0000
7fff
f000
0000
0000
0001
ffff
fc00
0000
0000
0007
ffff
ff00
0000
0000
001f
ffff
ffc0
0000
0000
0000
0fff
8000
0000
0000
0000
0fff
8000
0000
0000
0000
0fff
8000
0000
0000
0000
1fff
c000
0000
0000
0000
1fff
c000
0000
0000
0000
1fff
c000
0000
0000
0000
3fff
e000
0000
0000
0000
3fff
e000
0000
0000
0000
3fff
e000
0000
0000
0000
7fff
f000
0000
0000
0000
7fff
f000
0000
0000
0000
ffff
f800
0000
0000
0001
ffff
fc00
0000
0000
0001
ffff
fc00
0000
0000
0003
ffff
fe00
0000
0000
0007
ffff
ff00
0000
0000
0007
ffff
ff00
0000
0000
0007
ffff
ff00
0000
0000
000f
ffff
ff80
0000
0000
000f
ffff
ff80
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
001f
ffff
ffc0
0000
0000
000f
ffff
ff80
0000
0000
000f
ffff
ff80
0000
0000
000f
ffff
ff80
0000
0000
0007
ffff
ff00
0000
0000
0007
ffff
ff00
0000
0000
0007
ffff
ff00
0000
0000
0003
ffff
fe00
0000
0000
0003
ffff
fe00
0000
0000
0001
ffff
fc00
0000
0000
0001
ffff
fc00
0000
0000
0000
ffff
f800
0000
0000
0000
7fff
f000
0000
0000
0000
7fff
f000
0000
0000
0000
3fff
e000
0000
0000
0000
3fff
e000
0000
0000
0007
ffff
ff00
0000
0000
003f
ffff
ffe0
0000
0000
00ff
ffff
fff8
0000
0000
01ff
ffff
fffc
0000
0000
07ff
ffff
ffff
0000
0000
0fff
ffff
ffff
8000
0000
1fff
ffff
ffff
c000
0000
3fff
ffff
ffff
e000
0000
3fff
ffff
ffff
e000
0000
7fff
ffff
ffff
f000
0000
7fff
ffff
ffff
f000
0000
7fff
ffff
ffff
f000
0000
ffff
ffff
ffff
f800
0000
ffff
ffff
ffff
f800
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /pawn_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
01f8
0000
0000
0000
0000
070e
0000
0000
0000
0000
0c03
0000
0000
0000
0000
0801
0000
0000
0000
0000
1801
8000
0000
0000
0000
1000
8000
0000
0000
0000
1000
8000
0000
0000
0000
1000
8000
0000
0000
0000
1801
8000
0000
0000
0000
0801
0000
0000
0000
0000
0c03
0000
0000
0000
0000
070e
0000
0000
0000
0000
03fc
0000
0000
0000
0000
1fff
8000
0000
0000
0000
3000
c000
0000
0000
0000
6000
7000
0000
0000
0001
c000
1c00
0000
0000
0007
0000
0700
0000
0000
001f
ffff
ffc0
0000
0000
0000
0800
8000
0000
0000
0000
0800
8000
0000
0000
0000
0800
8000
0000
0000
0000
1800
c000
0000
0000
0000
1000
4000
0000
0000
0000
1000
4000
0000
0000
0000
3000
6000
0000
0000
0000
2000
2000
0000
0000
0000
2000
2000
0000
0000
0000
6000
3000
0000
0000
0000
4000
1000
0000
0000
0000
c000
1800
0000
0000
0001
8000
0c00
0000
0000
0001
0000
0400
0000
0000
0003
0000
0600
0000
0000
0006
0000
0300
0000
0000
0004
0000
0100
0000
0000
0004
0000
0100
0000
0000
000c
0000
0180
0000
0000
0008
0000
0080
0000
0000
0018
0000
00c0
0000
0000
0010
0000
0040
0000
0000
0010
0000
0040
0000
0000
0010
0000
0040
0000
0000
0010
0000
0040
0000
0000
0010
0000
0040
0000
0000
0010
0000
0040
0000
0000
0018
0000
00c0
0000
0000
0008
0000
0080
0000
0000
0008
0000
0080
0000
0000
000c
0000
0180
0000
0000
0004
0000
0100
0000
0000
0004
0000
0100
0000
0000
0006
0000
0300
0000
0000
0002
0000
0200
0000
0000
0003
0000
0600
0000
0000
0001
0000
0400
0000
0000
0001
8000
0c00
0000
0000
0000
c000
1800
0000
0000
0000
4000
1000
0000
0000
0000
6000
3000
0000
0000
0000
2000
2000
0000
0000
0000
3000
6000
0000
0000
0007
f800
ff00
0000
0000
003e
1e03
81e0
0000
0000
00e0
03fe
0038
0000
0000
0180
0000
000c
0000
0000
0700
0000
0007
0000
0000
0c00
0000
0001
8000
0000
1800
0000
0000
c000
0000
3000
0000
0000
6000
0000
2000
0000
0000
2000
0000
6000
0000
0000
3000
0000
4000
0000
0000
1000
0000
4000
0000
0000
1000
0000
c000
0000
0000
1800
0000
ffff
ffff
ffff
f800
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /queen { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0380
0000
0000
0000
0000
07c0
0000
0000
0000
0000
07c0
0000
0000
0000
0000
07c0
0000
0000
0000
0000
0380
0000
0000
0000
0000
0180
0000
0000
0000
0700
0180
0000
0000
0000
0f80
0180
00e0
0000
0000
0f80
0180
01f0
0000
0000
0f80
03c0
01f0
0000
0000
0700
03c0
01f0
0000
0000
0200
03c0
00e0
0000
0000
0300
03c0
00c0
0000
0000
0300
03c0
00c0
0000
0000
0300
03c0
00c0
0000
0000
0380
03c0
01c0
0000
0000
0380
03c0
01c0
0000
0000
0380
07e0
01c0
0000
0000
03c0
07e0
03c0
0000
3800
03c0
07e0
03c0
0000
7c00
03c0
07e0
03c0
0070
7c00
03e0
07e0
07c0
00f8
7c00
03e0
07e0
07c0
00f8
3c00
03e0
07e0
07c0
00f8
0e00
03f0
07e0
0fc0
0070
0600
03f0
07e0
0fc0
00c0
0700
03f0
0ff0
0fc0
01c0
0380
03f8
0ff0
1fc0
0180
0380
03f8
0ff0
1fc0
0380
03c0
03f8
0ff0
1fc0
0780
03e0
03f8
0ff0
1fc0
0780
03e0
03fc
0ff0
3fc0
0f80
03f0
03fc
0ff0
3fc0
1f80
01f8
03fc
0ff0
3fc0
1f80
01f8
03fe
0ff0
7fc0
3f80
01fc
03fe
1ff8
7fc0
3f00
01fc
03fe
1ff8
7fc0
7f00
01fe
03ff
1ff8
ffc0
ff00
01ff
03ff
1ff8
ffc0
ff00
00ff
03ff
1ff8
ffc1
ff00
00ff
83ff
9ff9
ffc1
ff00
00ff
c3ff
9ff9
ffc3
ff00
00ff
c3ff
9ff9
ffc7
fe00
00ff
e3ff
ffff
ffc7
fe00
00ff
f3ff
ffff
ffcf
fe00
007f
f3ff
ffff
ffdf
fe00
007f
fbff
ffff
ffdf
fe00
007f
ffff
ffff
ffff
fe00
007f
ffff
ffff
ffff
fe00
007f
ffff
ffff
ffff
fe00
003f
ffff
ffff
ffff
fc00
003f
ffff
ffff
ffff
fc00
003f
ffff
ffff
ffff
fc00
003f
ffff
ffff
ffff
fc00
003f
ffff
8001
ffff
fc00
001f
ffc0
3ffc
03ff
f800
000f
801f
fe7f
f801
f800
000c
3fff
f81f
fffc
3000
0007
e7ff
e007
ffe7
e000
0003
81ff
f81f
ff81
c000
0001
007f
fe7f
fe00
c000
0001
81ff
ffff
ff81
8000
0000
e7ff
8001
ffe7
0000
0000
ffc0
3ffc
03ff
0000
0001
801f
ffff
f801
8000
0001
3fff
ffff
fffc
8000
0001
ffff
ffff
ffff
8000
0003
ffff
ffff
ffff
c000
0003
ffff
ffff
ffff
c000
0003
ffff
ffff
ffff
c000
0007
ffff
ffff
ffff
e000
0007
ffff
ffff
ffff
e000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /queen_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0380
0000
0000
0000
0000
06c0
0000
0000
0000
0000
0440
0000
0000
0000
0000
06c0
0000
0000
0000
0000
0380
0000
0000
0000
0000
0180
0000
0000
0000
0700
0180
0000
0000
0000
0d80
0180
00e0
0000
0000
0880
0180
01b0
0000
0000
0d80
03c0
0110
0000
0000
0700
0240
01b0
0000
0000
0200
0240
00e0
0000
0000
0300
0240
00c0
0000
0000
0300
0240
00c0
0000
0000
0300
0240
00c0
0000
0000
0380
0240
01c0
0000
0000
0280
0240
0140
0000
0000
0280
0660
0140
0000
0000
02c0
0420
0340
0000
3800
0240
0420
0240
0000
6c00
0240
0420
0240
0070
4400
0260
0420
0640
00d8
6c00
0220
0420
0440
0088
3c00
0220
0420
0440
00d8
0e00
0230
0420
0c40
0070
0600
0210
0420
0840
00c0
0700
0210
0c30
0840
01c0
0380
0218
0810
1840
0180
0280
0208
0810
1040
0380
02c0
0208
0810
1040
0680
0260
0208
0810
1040
0480
0220
020c
0810
3040
0c80
0330
0204
0810
2040
1880
0118
0204
0810
2040
1080
0108
0206
0810
6040
3180
010c
0202
1818
4040
2100
0104
0202
1008
4040
6100
0106
0203
1008
c040
c100
0183
0201
1008
8040
8100
0081
0201
1008
8041
8100
0081
8201
9009
8041
0100
0080
c200
9009
0043
0300
0080
4200
9009
0046
0200
0080
6200
f00f
0044
0200
00c0
3200
0000
004c
0200
0040
1200
0000
0058
0200
0040
1a00
0000
0050
0200
0040
0e00
0000
0070
0200
0040
0000
0000
0000
0200
0060
0000
0000
0000
0600
0020
0000
0000
0000
0400
0020
0000
0000
0000
0400
0020
0000
0000
0000
0400
0020
0000
0000
0000
0400
0030
0000
7ffe
0000
0c00
0018
003f
c003
fc00
0800
0008
7fe0
0180
07fe
1800
000c
c000
07e0
0003
3000
0006
1800
1ff8
0018
6000
0002
7e00
07e0
007e
4000
0002
ff80
0180
01ff
4000
0002
7e00
0000
007e
4000
0003
1800
7ffe
0018
c000
0001
003f
c003
fc00
8000
0001
7fe0
0000
07fe
8000
0001
0000
0000
0000
8000
0001
0000
0000
0000
8000
0003
0000
0000
0000
c000
0002
0000
0000
0000
4000
0002
0000
0000
0000
4000
0006
0000
0000
0000
6000
0007
ffff
ffff
ffff
e000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /rook { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
1fff
0000
0000
0000
0000
1fff
0000
0000
0000
0780
1fff
003c
0000
0001
ff80
1fff
003f
f000
0003
ff80
1fff
003f
f800
0003
ff80
1fff
003f
f800
0003
ff80
1fff
003f
f800
0003
ff80
ffff
e03f
f800
0003
ffbf
8000
3fbf
f800
0003
ffe0
3fff
80ff
f800
0003
f80f
ffff
fe03
f800
0002
03ff
e000
fff8
0800
0003
fff8
0ffe
03ff
f800
0003
fe03
bfff
b80f
f800
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03fe
0000
0ff8
0000
0000
0200
ff7f
e008
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
ff7f
fff8
0000
0000
03ff
f001
fff8
0000
0000
0200
07fc
0008
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
03ff
bfff
bff8
0000
0000
0200
0000
0008
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
03ff
ffbf
fff8
0000
0000
0200
0000
0008
0000
0000
1fff
ffff
ffff
0000
0000
3000
0000
0001
8000
0000
6000
0000
0000
c000
0000
4000
0000
0000
4000
0000
4000
0000
0000
4000
0000
ffff
ffff
ffff
e000
0001
8000
0000
0000
3000
0003
0000
0000
0000
1800
0006
0000
0000
0000
0c00
0004
0000
0000
0000
0400
0004
0000
0000
0000
0400
0007
ffff
ffff
ffff
fc00
0007
ffff
ffff
ffff
fc00
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /rook_outline { makebits { <
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
1fff
0000
0000
0000
0000
1001
0000
0000
0000
0780
1001
003c
0000
0001
fc80
1001
0027
f000
0003
0080
1001
0020
1800
0002
0080
1001
0020
0800
0002
0080
1001
0020
0800
0002
0080
f001
e020
0800
0002
00bf
8000
3fa0
0800
0002
00e0
0000
00e0
0800
0002
0000
3fff
8000
0800
0002
000f
e000
fe00
0800
0002
03f8
0000
03f8
0800
0003
fe00
4000
400f
f800
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0201
ffff
f008
0000
0000
03ff
0080
1ff8
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0080
0008
0000
0000
0200
0ffe
0008
0000
0000
03ff
f803
fff8
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
0200
4000
4008
0000
0000
03ff
ffff
fff8
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
0200
0040
0008
0000
0000
03ff
ffff
fff8
0000
0000
1e00
0000
000f
0000
0000
3000
0000
0001
8000
0000
6000
0000
0000
c000
0000
4000
0000
0000
4000
0000
4000
0000
0000
4000
0000
ffff
ffff
ffff
e000
0001
8000
0000
0000
3000
0003
0000
0000
0000
1800
0006
0000
0000
0000
0c00
0004
0000
0000
0000
0400
0004
0000
0000
0000
0400
0007
ffff
ffff
ffff
fc00
0007
ffff
ffff
ffff
fc00
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000>} imagemask } put
CharacterDefs /shade { makebits { <
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111
2222
2222
2222
2222
2222
4444
4444
4444
4444
4444
8888
8888
8888
8888
8888
1111
1111
1111
1111
1111>} imagemask } put
%%%%%%%%% End of chessfont file here.
/BuildChar % The procedure BuildChar is
{ BuildCharDict begin % called everytime a character
% from this font must be
% constructed.
/char exch def % The character code is provided
% as an argument to this
% procedure.
/fontdict exch def % So is the font dictionary.
/charname fontdict /Encoding get % Convert the character code to
char get def % the corresponding name by
% looking it up in the encoding
% vector.
/charproc fontdict /CharacterDefs % Now retrieve the procedure by
get charname get def % that name from the CharacterDefs
% dictionary.
1 0 0 0 1 1 setcachedevice % Using the ``setcachedevice''
% operator enables the characters
% from this font to be cached.
gsave charproc grestore % Call the procedure which renders
% the character.
end
} def
end % Now we are done specifying all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/ExampleFont2 30 dict def % Allocate the font dictionary.
ExampleFont2 begin
/CharacterDefs 30 dict def % Define the various character
ExampleFont /CharacterDefs get CharacterDefs copy pop
% the required entries in the font
/Encoding 256 array def % Allocate the Encoding array.
0 1 255 {Encoding exch /.notdef put} for % Initialize all entries in the
Encoding (b) 0 get /bishop_outline put
Encoding (k) 0 get /king_outline put
Encoding (n) 0 get /knight_outline put
Encoding (p) 0 get /pawn_outline put
Encoding (q) 0 get /queen_outline put
Encoding (r) 0 get /rook_outline put
Encoding (_) 0 get /shade put
Encoding ( ) 0 get /unshade put
Encoding (B) 0 get /bishop put
Encoding (K) 0 get /king put
Encoding (N) 0 get /knight put
Encoding (P) 0 get /pawn put
Encoding (Q) 0 get /queen put
Encoding (R) 0 get /rook put
% dictionary.
/FontType 3 def % FontType 3 tells PostScript that
% this is a user defined font.
/FontMatrix [1 0 0 1 0 0] def % Use the identity matrix for the
% font coordinate system.
/FontBBox [0 0 1 1]def % The largest character in the
/BuildChar % The procedure BuildChar is
{ BuildCharDict2 begin % called everytime a character
% from this font must be
% constructed.
/char exch def % The character code is provided
% as an argument to this
% procedure.
/fontdict exch def % So is the font dictionary.
/charname fontdict /Encoding get % Convert the character code to
char get def % the corresponding name by
% looking it up in the encoding
% vector.
/charproc fontdict /CharacterDefs % Now retrieve the procedure by
get charname get def % that name from the CharacterDefs
% dictionary.
1 0 0 0 1 1 setcachedevice % Using the ``setcachedevice''
% operator enables the characters
% from this font to be cached.
gsave charproc grestore % Call the procedure which renders
% the character.
end
} def
end % Now we are done specifying all
/START { %% size ==> null % the information required to
% build a font.
/size exch def
/MyFont ExampleFont definefont pop % Register the font with
% PostScript and name it
/MyFont2 ExampleFont2 definefont pop
% ``MyFont.''
/showline % This procedure makes it more
{ gsave show grestore % convenient to show a line of
0 lineskip rmoveto } def % text.
/mwhite
/MyFont findfont size scalefont % Now use the font we have built.
def
/mblack
/MyFont2 findfont size scalefont % Now use the font we have built.
def
/lineskip size neg def % Build a 12 point version of the
% font.
72 555 moveto
mwhite setfont
gsave
( _ _ _ _) showline
(_ _ _ _ ) showline
( _ _ _ _) showline
(_ _ _ _ ) showline
( _ _ _ _) showline
(_ _ _ _ ) showline
( _ _ _ _) showline
(_ _ _ _ ) showline
grestore
gsave
0 size rmoveto
size 8 mul 0 rlineto
0 size -8 mul rlineto
size -8 mul 0 rlineto
0 size 8 mul rlineto
stroke
grestore
} def
/showboard {
0 2 14 { index } for
gsave
1 setgray
mwhite setfont
1 1 8 { pop showline } for
grestore
0 2 14 { index } for
gsave
0 setgray
mblack setfont
1 1 8 { pop showline } for
grestore
0 1 7 { pop pop } for
showpage
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ok, here it is. Type the point size, then START, then the
% board layout in parentheses, CAPITALS for black, small for
% white. Pieces are
% r = rook, n = knight, b = bishop, q = queen, k = king, p = pawn.
% Then follow it with showboard. Example:
%%%% 36 START
%%%%
%%%%
%%%% (RNBQKBNR)
%%%% (PPPPPPPP)
%%%% ( )
%%%% ( )
%%%% ( )
%%%% ( )
%%%% (pppppppp)
%%%% (rnbqkbnr)
%%%%
%%%%
%%%% showboard
%%%%
% Enjoy!
% Mark Eichin <eichin@athena.mit.edu>
% SIPB Member
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%