3 userdict /Font7x5Loaded known { exit } if
4 userdict /Font7x5Loaded true put
13 /FontMatrix [ 0.00125 0 0 0.00125 0 0 ] def
15 /Encoding StandardEncoding def
18 0 1 Encoding length 1 sub {
19 dup Encoding exch get exch
31 /$dotradiuses [ $dotradius $dotradius ] def
33 % point is at the cell's center
35 currentpoint $dotradius 0 360 arc
42 /$dotradiuses [ $dotradius $dotradius ] def
45 $dotradius neg dup rmoveto
46 $dotradius 2 mul 0 rlineto
47 0 $dotradius 2 mul rlineto
48 $dotradius 2 mul neg 0 rlineto
54 /$dotvradius $cellsize $cellsize 4 div sub 2 div def
55 /$dotradiuses [ $cellsize 2 div $dotvradius add
58 $cellsize 2 div $dotvradius rmoveto
59 currentpoint exch $cellsize sub exch $dotvradius sub
60 $dotvradius 90 270 arc % top and left
61 currentpoint exch $cellsize add exch $dotvradius add
62 $dotvradius 270 90 arc % bottom and right
66 %$cellsize 1.9 div $SetRoundDot
68 %$cellsize 2 div $SetSquareDot
72 /$RecalculateMetrics {
74 dup /$cellmargin-horiz exch $dotradiuses 0 get sub def
75 /$cellmargin-vert exch $dotradiuses 1 get sub def
76 /$glyphwidth $gridwidth $cellsize mul def
77 /$glyphheight $gridheight $cellsize mul def
80 [ $cellmargin-horiz $cellmargin-vert % llx lly
81 $glyphwidth $cellmargin-horiz sub $glyphheight $cellmargin-vert sub % urx ury
87 % fontdict charname => -
90 GlyphDefinitions exch 2 copy
96 $InvertedEncoding exch 2 copy
102 GlyphDefinitions /.notdef get $DrawBitmap
110 dup 0 get 1 index 1 get % st: strdef ll ur
111 $GetBoundingBox % st: strdef x1' y1' x2' y2'
112 $glyphwidth 0 6 2 roll % st: strdef w 0 x1' y1' x2' y2'
114 2 6 getinterval $DrawMatrix
117 % byte => nybble1 nybble2
120 16#F0 and -4 bitshift
125 % byte-ll byte-ur => llx lly urx ury
128 exch $cellsize mul $cellmargin-horiz add
129 exch $cellsize mul $cellmargin-vert add
132 exch 1 add $cellsize mul $cellmargin-horiz sub
133 exch 1 add $cellsize mul $cellmargin-vert sub
142 %(at forall start. stack:) = pstack
146 %(at for start. stack:) = pstack
147 2 copy % st: counter char i char i
148 1 exch bitshift % st: counter char i char 1<<i
150 2 index % st: counter char i counter
151 $cellsize mul $cellsize 2 div add exch % st: cntr char x i
152 $cellsize mul $cellsize 2 div add % st: cntr char x y
161 %(at forall end. stack:) = pstack
170 $cellmargin-horiz $cellmargin-vert
171 $cellsize $gridwidth mul $cellmargin-horiz sub
172 $cellsize $gridheight mul $cellmargin-vert sub
178 % n is the nybble (0-15), str the prefix of the dictionary key
180 3 string dup 3 1 roll copy pop % st: n (pr )
181 dup 3 1 roll % st: (pr ) n (pr )
182 2 1 getinterval 16 exch cvrs pop % st: (prX)
183 GlyphDefinitions exch get 2 6 getinterval $DrawMatrix
189 16#F0 and -4 bitshift % st: n nybble1
190 (tl) $DrawNybble % top left
192 (br) $DrawNybble % bottom right
195 /GlyphDefinitions 256 dict def
197 GlyphDefinitions begin
208 /.notdef <1136 00 5A 50 70 00 00> def
219 /space <0000 00 00 00 00 00 00> def
230 /exclam <2127 00 00 FA 00 00 00> def
241 /quotedbl <1637 00 C0 00 C0 00 00> def
252 /numbersign <0147 28 FE 28 FE 28 00> def
263 /dollar <0147 20 54 FE 54 08 00> def
274 /percent <0147 C4 C8 10 26 46 00> def
285 /ampersand <0147 6C 92 92 6C 0A 00> def
296 /quotesingle <1527 00 20 C0 00 00 00> def
297 /quoteright quotesingle def
308 /parenleft <2147 00 00 38 44 82 00> def
319 /parenright <0127 82 44 38 00 00 00> def
330 /asterisk <0246 54 38 10 38 54 00> def
341 /plus <0246 10 10 7C 10 10 00> def
352 /comma <0113 02 0C 00 00 00 00> def
363 /hyphen <1434 00 10 10 10 00 00> def
374 /period <1122 00 06 06 00 00 00> def
385 /slash <0147 06 08 10 20 C0 00> def
396 /colon <1215 00 24 00 00 00 00> def
407 /semicolon <0115 02 2C 00 00 00 00> def
418 /less <0137 10 28 44 82 00 00> def
429 /equal <0345 28 28 28 28 28 00> def
440 /greater <1147 00 82 44 28 10 00> def
451 /question <0147 40 80 8A 90 60 00> def
462 /at <0147 7C 82 92 AA 78 00> def
473 /bracketleft <2147 00 00 FE 82 82 00> def
484 /backslash <0145 20 10 08 04 02 00> def
495 /bracketright <0127 82 82 FE 00 00 00> def
506 /asciicircum <0547 20 40 80 40 20 00> def
517 /underscore <0141 02 02 02 02 02 00> def
528 /grave <2537 00 00 C0 20 00 00> def
540 /braceleft <1147 00 10 6C 82 82 00> def
551 /bar <2127 00 00 EE 00 00 00> def
562 /braceright <0137 82 82 6C 10 00 00> def
573 /asciitilde <0647 40 80 80 40 80 00> def
584 /exclamdown <2127 00 00 BE 00 00 00> def
595 /cent <0136 18 24 7E 24 00 00> def
606 /sterling <0147 12 7E 92 82 42 00> def
617 /currency <1146 00 5A 24 24 5A 00> def
628 /yen <0147 D4 34 1E 34 D4 00> def
639 /brokenbar <2127 00 00 EE 00 00 00> def
650 /section <0147 70 AA AA AA 1C 00> def
661 /dieresis <1737 00 80 00 80 00 00> def
672 /copyright <0147 7C 92 AA AA 7C 00> def
683 /ordfeminine <0437 60 90 90 F0 00 00> def
694 /guillemotleft <0246 10 28 54 28 44 00> def
705 /logicalnot <0344 10 10 10 10 18 00> def
716 /registered <0247 78 BC A4 84 78 00> def
727 /macron <0547 80 40 20 40 80 00> def
738 /degree <0547 40 A0 A0 A0 40 00> def
749 /plusminus <1336 00 28 78 28 00 00> def
760 /acute <1537 00 20 40 80 00 00> def
771 /mu <0145 3E 08 04 04 38 00> def
782 /paragraph <0147 60 90 90 FE FE 00> def
793 /periodcentered <2424 00 00 10 00 00 00> def
804 /cedilla <1133 00 02 0A 04 00 00> def
815 /ordmasculine <0437 60 90 90 60 00 00> def
826 /guillemotright <0246 44 28 54 28 10 00> def
837 /onequarter <0147 80 F4 0C 14 1E 00> def
848 /onehalf <0147 80 F0 06 2A 12 00> def
859 /threequarters <0147 A0 E4 EC 14 1E 00> def
870 /questiondown <0147 0C 12 A2 02 04 00> def
881 /Agrave <0147 1E A8 68 28 1E 00> def
892 /Aacute <0147 1E 28 68 A8 1E 00> def
903 /Acircumflex <0147 1E 68 A8 68 1E 00> def
914 /Atilde <0147 5E A8 68 68 9E 00> def
925 /Adieresis <0147 1E A8 28 A8 1E 00> def
936 /Aring <0147 0E 54 B4 54 0E 00> def
947 /AE <0147 7E 90 90 FE 92 00> def
958 /Ccedilla <0147 70 8A 8E 88 50 00> def
969 /Egrave <0147 3E AA 6A 22 22 00> def
980 /Eacute <0147 3E 2A 6A A2 22 00> def
991 /Ecircumflex <0147 3E 6A AA 62 22 00> def
1002 /Edieresis <0147 3E AA 2A A2 22 00> def
1013 /Igrave <1137 00 A2 7E 22 00 00> def
1024 /Iacute <1137 00 22 7E A2 00 00> def
1035 /Icircumflex <1137 00 62 BE 62 00 00> def
1046 /Idieresis <1137 00 A2 3E A2 00 00> def
1057 /Eth <0147 10 FE 92 44 38 00> def
1068 /Ntilde <0147 5E 90 48 44 9E 00> def
1079 /Ograve <0147 1C A2 62 22 1C 00> def
1090 /Oacute <0147 1C 22 62 A2 1C 00> def
1101 /Ocircumflex <0147 1C 62 A2 62 1C 00> def
1112 /Otilde <0147 5C A2 62 62 9C 00> def
1123 /Odieresis <0147 1C A2 22 A2 1C 00> def
1134 /multiply <0246 44 28 10 28 44 00> def
1145 /Oslash <0147 7E 8E 92 E2 FC 00> def
1156 /Ugrave <0147 3C 82 42 02 3C 00> def
1167 /Uacute <0147 3C 02 42 82 3C 00> def
1178 /Ucircumflex <0147 3C 42 82 42 3C 00> def
1189 /Udieresis <0147 3C 82 02 82 3C 00> def
1200 /Yacute <0147 30 08 46 88 30 00> def
1211 /Thorn <0147 FE 44 44 44 38 00> def
1222 /germandbls <0147 7E 80 B2 4A 04 00> def
1233 /agrave <0147 04 AA 6A 2A 1E 00> def
1244 /aacute <0147 04 2A 6A AA 1E 00> def
1255 /acircumflex <0147 04 6A AA 6A 1E 00> def
1266 /atilde <0147 44 AA 6A 6A 9E 00> def
1277 /adieresis <0147 04 AA 2A AA 1E 00> def
1288 /aring <0147 04 EA EA 2A 1E 00> def
1299 /ae <0145 24 2A 1E 2A 1A 00> def
1310 /ccedilla <0145 10 2A 2E 28 28 00> def
1321 /egrave <0147 1C AA 6A 2A 1A 00> def
1332 /eacute <0147 1C 2A 6A AA 1A 00> def
1343 /ecircumflex <0147 1C 6A AA 6A 1A 00> def
1354 /edieresis <0147 1C AA 2A AA 1A 00> def
1365 /A <0147 7E 90 90 90 7E 00> def
1376 /B <0147 FE 92 92 92 6C 00> def
1387 /C <0147 7C 82 82 82 44 00> def
1398 /D <0147 FE 82 82 44 38 00> def
1409 /E <0147 FE 92 92 82 82 00> def
1420 /F <0147 FE 90 90 80 80 00> def
1431 /G <0147 7C 82 82 92 5C 00> def
1442 /H <0147 FE 10 10 10 FE 00> def
1453 /I <1137 00 82 FE 82 00 00> def
1464 /J <0147 04 02 82 FC 80 00> def
1475 /K <0147 FE 10 28 44 82 00> def
1486 /L <0147 FE 02 02 02 02 00> def
1497 /M <0147 FE 40 20 40 FE 00> def
1508 /N <0147 FE 40 20 10 FE 00> def
1519 /O <0147 7C 82 82 82 7C 00> def
1530 /P <0147 FE 90 90 90 60 00> def
1541 /Q <0147 7C 82 8A 86 7E 00> def
1552 /R <0147 FE 90 98 94 62 00> def
1563 /S <0147 64 92 92 92 4C 00> def
1574 /T <0147 80 80 FE 80 80 00> def
1585 /U <0147 FC 02 02 02 FC 00> def
1596 /V <0147 F8 04 02 04 F8 00> def
1607 /W <0147 FC 02 0C 02 FC 00> def
1618 /X <0147 C6 28 10 28 C6 00> def
1629 /Y <0147 C0 20 1E 20 C0 00> def
1640 /Z <0147 86 8A 92 A2 C2 00> def
1651 /a <0145 04 2A 2A 2A 1E 00> def
1662 /b <0147 FE 12 22 22 1C 00> def
1673 /c <0145 1C 22 22 22 14 00> def
1684 /d <0147 1C 22 22 12 FE 00> def
1695 /e <0145 1C 2A 2A 2A 18 00> def
1706 /f <0147 10 7E 90 80 40 00> def
1717 /g <0145 10 28 2A 2A 3C 00> def
1728 /h <0147 FE 10 20 20 1E 00> def
1739 /i <1137 00 22 BE 02 00 00> def
1750 /j <0127 02 22 BC 00 00 00> def
1761 /k <0147 FE 04 08 14 22 00> def
1772 /l <1137 00 82 FE 02 00 00> def
1783 /m <0145 3E 20 3E 20 1E 00> def
1794 /n <0145 3E 20 20 20 1E 00> def
1805 /o <0145 1C 22 22 22 1C 00> def
1816 /p <0145 3E 28 24 24 18 00> def
1827 /q <0145 18 24 24 28 3E 00> def
1838 /r <0145 3E 10 20 20 10 00> def
1849 /s <0145 10 2A 2A 2A 04 00> def
1860 /t <1147 00 20 FC 22 22 00> def
1871 /u <0145 3C 02 02 02 3E 00> def
1882 /v <0145 38 04 02 04 38 00> def
1893 /w <0145 3C 02 0C 02 3C 00> def
1904 /x <0145 22 14 08 14 22 00> def
1915 /y <0145 30 0A 0A 0A 3C 00> def
1926 /z <0145 22 26 2A 32 22 00> def
1937 /zero <0147 7C 8A 92 A2 7C 00> def
1948 /one <1137 00 42 FE 02 00 00> def
1959 /two <0147 4E 92 92 92 62 00> def
1970 /three <0147 44 82 92 92 6C 00> def
1981 /four <0147 18 28 48 FE 08 00> def
1992 /five <0147 E4 A2 A2 A2 9C 00> def
2003 /six <0147 7C 92 92 92 4C 00> def
2014 /seven <0147 80 86 88 90 E0 00> def
2025 /eight <0147 6C 92 92 92 6C 00> def
2036 /nine <0147 60 92 92 92 7C 00> def
2047 /emdash <0454 10 10 10 10 10 10> def
2058 /box <0057 FF 81 81 81 81 FF> def
2069 /gray <0057 AA 55 AA 55 AA 55> def
2080 /filledbox <0057 FF FF FF FF FF FF> def
2091 /tl0 <0427 60 90 60 00 00 00> def
2102 /tl1 <0427 50 F0 10 00 00 00> def
2113 /tl2 <0427 90 B0 50 00 00 00> def
2124 /tl3 <0427 90 D0 A0 00 00 00> def
2135 /tl4 <0427 60 A0 F0 00 00 00> def
2146 /tl5 <0427 D0 D0 A0 00 00 00> def
2157 /tl6 <0427 70 D0 A0 00 00 00> def
2168 /tl7 <0427 80 B0 C0 00 00 00> def
2179 /tl8 <0427 60 D0 60 00 00 00> def
2190 /tl9 <0427 50 B0 E0 00 00 00> def
2201 /tlA <0427 70 A0 70 00 00 00> def
2212 /tlB <0427 F0 50 20 00 00 00> def
2223 /tlC <0427 60 90 90 00 00 00> def
2234 /tlD <0427 F0 90 60 00 00 00> def
2245 /tlE <0427 F0 D0 90 00 00 00> def
2256 /tlF <0427 F0 C0 80 00 00 00> def
2267 /br0 <2144 00 00 0C 12 0C 00> def
2278 /br1 <2144 00 00 0A 1E 02 00> def
2289 /br2 <2144 00 00 12 16 0A 00> def
2300 /br3 <2144 00 00 12 1A 14 00> def
2311 /br4 <2144 00 00 0C 14 1E 00> def
2322 /br5 <2144 00 00 12 1A 14 00> def
2333 /br6 <2144 00 00 0C 1A 14 00> def
2344 /br7 <2144 00 00 10 16 18 00> def
2355 /br8 <2144 00 00 0C 1A 0C 00> def
2366 /br9 <2144 00 00 0A 16 0C 00> def
2377 /brA <2144 00 00 0E 14 0E 00> def
2388 /brB <2144 00 00 1E 0A 04 00> def
2399 /brC <2144 00 00 0C 12 12 00> def
2410 /brD <2144 00 00 1E 12 0C 00> def
2421 /brE <2144 00 00 1E 1A 12 00> def
2432 /brF <2144 00 00 1E 18 10 00> def
2434 end % /GlyphDefinitions
2439 /Font7x5 exch definefont pop