Xref: utzoo comp.lang.postscript:520 rec.games.chess:1067 Path: utzoo!mnetor!uunet!husc6!im4u!tut.cis.ohio-state.edu!bloom-beacon!athena.mit.edu!eichin From: eichin@athena.mit.edu (Mark W. Eichin) Newsgroups: comp.lang.postscript,rec.games.chess Subject: Re: Postscript chess board and pieces wanted (Please :-) Message-ID: <5111@bloom-beacon.MIT.EDU> Date: 5 May 88 01:12:40 GMT References: <212@csvaxa.UUCP> <4909@bloom-beacon.MIT.EDU> Sender: daemon@bloom-beacon.MIT.EDU Reply-To: eichin@athena.mit.edu (Mark W. Eichin) Followup-To: comp.lang.postscript Organization: MIT Student Information Processing Board Lines: 6831 Keywords: chess font Summary: by popular demand... In article <4909@bloom-beacon.MIT.EDU> I (Mark W. Eichin) write: >In article <212@csvaxa.UUCP> E.Wilkinson@massey.ac.nz writes: >>Does anyone have any Postscript chess pieces, both upside-down & the >>right way up? What about a chess board with border? Many thanks in >>advance to any replies. >... If you want it, >email me (if you can anonymous ftp, tell me that and I'll put it >somewhere); if I get more than 15 requests in a week, I'll post it. I >don't read comp.lang.postscript often (thesis time!) so I will not see >posted requests. > Mark Eichin > > SIPB Member & Project Athena ``Watchmaker'' >[You should be able to find athena.mit.edu; if not, try via bloom-beacon.] Well, in the past week (27 Apr 88-4 May 88) I have received 34 requests for the file in various forms, including several *after* the other font posting who wanted to see this one anyhow. This font was used in the MIT student newspaper The Tech for at least one chess reporting column. (In fact, the person writing the column came to SIPB and asked if we had anything, was reasonably polite, so I sat down and wrote this one... it only took 3-4 hours, and that is the sort of thing SIPB does.) If you can anonymous ftp, SIPB.MIT.EDU:~ftp/pub/chess.ps contains the file (without this message, ready to use.) [SIPB.MIT.EDU is 18.80.0.13, for those of you without nameservers.] % ls -l chess.ps -rw-r--r-- 1 eichin mit 37807 Mar 7 16:38 chess.ps % sum chess.ps 30038 37 If you can't ftp, here is the actual file, as promised. Note the instructions at the end (in postscript comments.) Enjoy! Mark Eichin SIPB Member & Project Athena ``Watchmaker'' #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # chess.ps # This archive created: Wed May 4 20:24:24 1988 export PATH; PATH=/bin:/usr/bin:$PATH if test -f 'chess.ps' then echo shar: "will not over-write existing file 'chess.ps'" else cat << \SHAR_EOF > 'chess.ps' %! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Chess printing file... derived from a cookbook bitmap font % example. Chess characters from xchess (gnuchess project.) % Mark Eichin [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 /.notde