MODULE PSFormBundle;
Generated by m3bundle; see its manpage.
IMPORT Bundle, BundleRep, Text;
IMPORT Thread, Wr, TextWr;
TYPE T = Bundle.T OBJECT OVERRIDES
get := LookUp;
getNames := GetNames;
END;
TYPE Texts = REF ARRAY OF TEXT;
VAR
bundle: T := NIL;
names : Texts := NIL;
PROCEDURE Get(): Bundle.T =
BEGIN
IF (bundle = NIL) THEN bundle := NEW (T) END;
RETURN bundle;
END Get;
PROCEDURE GetNames (<*UNUSED*> self: T): Texts =
BEGIN
IF names = NIL THEN
names := NEW (Texts, NUMBER (Names));
names^ := Names;
END;
RETURN names;
END GetNames;
PROCEDURE LookUp (<*UNUSED*> self: T; element: TEXT): TEXT =
BEGIN
FOR i := 0 TO LAST (Names)-1 DO
IF Text.Equal (Names[i], element) THEN
IF Elements[i] = NIL THEN Elements[i] := GetElt (i) END;
RETURN Elements[i];
END;
END;
RETURN NIL;
END LookUp;
CONST Names = ARRAY [0..2] OF TEXT {
"times.afm",
"form.ps",
NIL
};
VAR Elements := ARRAY [0..2] OF TEXT {
NIL (* E0 .. E0_1 *),
E1,
NIL
};
PROCEDURE GetElt (n: INTEGER): TEXT =
<*FATAL Thread.Alerted, Wr.Failure *>
VAR wr := TextWr.New ();
BEGIN
CASE n OF
| 0 =>
Wr.PutText (wr, E0);
Wr.PutText (wr, E0_0);
Wr.PutText (wr, E0_1);
ELSE (*skip*)
END;
RETURN TextWr.ToText (wr);
END GetElt;
CONST E0 =
"C 32 ; WX 250 ; N space ; B 0 0 0 0 ;\nC 33 ; WX 333 ; N exclam ; B 130"
& " -9 238 676 ;\nC 34 ; WX 408 ; N quotedbl ; B 77 431 331 676 ;\nC 35 ; "
& "WX 500 ; N numbersign ; B 5 0 496 662 ;\nC 36 ; WX 500 ; N dollar ; B 4"
& "4 -87 457 727 ;\nC 37 ; WX 833 ; N percent ; B 61 -13 772 676 ;\nC 38 ;"
& " WX 778 ; N ampersand ; B 42 -13 750 676 ;\nC 39 ; WX 333 ; N quoterigh"
& "t ; B 79 433 218 676 ;\nC 40 ; WX 333 ; N parenleft ; B 48 -177 304 676"
& " ;\nC 41 ; WX 333 ; N parenright ; B 29 -177 285 676 ;\nC 42 ; WX 500 ;"
& " N asterisk ; B 69 265 432 676 ;\nC 43 ; WX 564 ; N plus ; B 30 0 534 5"
& "06 ;\nC 44 ; WX 250 ; N comma ; B 56 -141 195 102 ;\nC 45 ; WX 333 ; N "
& "hyphen ; B 39 194 285 257 ;\nC 46 ; WX 250 ; N period ; B 70 -11 181 10"
& "0 ;\nC 47 ; WX 278 ; N slash ; B -9 -14 287 676 ;\nC 48 ; WX 500 ; N ze"
& "ro ; B 24 -14 476 676 ;\nC 49 ; WX 500 ; N one ; B 111 0 394 676 ;\nC 5"
& "0 ; WX 500 ; N two ; B 30 0 475 676 ;\nC 51 ; WX 500 ; N three ; B 43 -"
& "14 431 676 ;\nC 52 ; WX 500 ; N four ; B 12 0 472 676 ;\nC 53 ; WX 500 "
& "; N five ; B 32 -14 438 688 ;\nC 54 ; WX 500 ; N six ; B 34 -14 468 684"
& " ;\nC 55 ; WX 500 ; N seven ; B 20 -8 449 662 ;\nC 56 ; WX 500 ; N eigh"
& "t ; B 56 -14 445 676 ;\nC 57 ; WX 500 ; N nine ; B 30 -22 459 676 ;\nC "
& "58 ; WX 278 ; N colon ; B 81 -11 192 459 ;\nC 59 ; WX 278 ; N semicolon"
& " ; B 80 -141 219 459 ;\nC 60 ; WX 564 ; N less ; B 28 -8 536 514 ;\nC 6"
& "1 ; WX 564 ; N equal ; B 30 120 534 386 ;\nC 62 ; WX 564 ; N greater ; "
& "B 28 -8 536 514 ;\nC 63 ; WX 444 ; N question ; B 68 -8 414 676 ;\nC 64"
& " ; WX 921 ; N at ; B 116 -14 809 676 ;\nC 65 ; WX 722 ; N A ; B 15 0 70"
& "6 674 ;\nC 66 ; WX 667 ; N B ; B 17 0 593 662 ;\nC 67 ; WX 667 ; N C ; "
& "B 28 -14 633 676 ;\nC 68 ; WX 722 ; N D ; B 16 0 685 662 ;\nC 69 ; WX 6"
& "11 ; N E ; B 12 0 597 662 ;\nC 70 ; WX 556 ; N F ; B 12 0 546 662 ;\nC "
& "71 ; WX 722 ; N G ; B 32 -14 709 676 ;\nC 72 ; WX 722 ; N H ; B 19 0 70"
& "2 662 ;\nC 73 ; WX 333 ; N I ; B 18 0 315 662 ;\nC 74 ; WX 389 ; N J ; "
& "B 10 -14 370 662 ;\nC 75 ; WX 722 ; N K ; B 34 0 723 662 ;\nC 76 ; WX 6"
& "11 ; N L ; B 12 0 598 662 ;\nC 77 ; WX 889 ; N M ; B 12 0";
CONST E0_0 =
" 863 662 ;\nC 78 ; WX 722 ; N N ; B 12 -11 707 662 ;\nC 79 ; WX 722 ; N"
& " O ; B 34 -14 688 676 ;\nC 80 ; WX 556 ; N P ; B 16 0 542 662 ;\nC 81 ;"
& " WX 722 ; N Q ; B 34 -178 701 676 ;\nC 82 ; WX 667 ; N R ; B 17 0 659 6"
& "62 ;\nC 83 ; WX 556 ; N S ; B 42 -14 491 676 ;\nC 84 ; WX 611 ; N T ; B"
& " 17 0 593 662 ;\nC 85 ; WX 722 ; N U ; B 14 -14 705 662 ;\nC 86 ; WX 72"
& "2 ; N V ; B 16 -11 697 662 ;\nC 87 ; WX 944 ; N W ; B 5 -11 932 662 ;\n"
& "C 88 ; WX 722 ; N X ; B 10 0 704 662 ;\nC 89 ; WX 722 ; N Y ; B 22 0 70"
& "3 662 ;\nC 90 ; WX 611 ; N Z ; B 9 0 597 662 ;\nC 91 ; WX 333 ; N brack"
& "etleft ; B 88 -156 299 662 ;\nC 92 ; WX 278 ; N backslash ; B -9 -14 28"
& "7 676 ;\nC 93 ; WX 333 ; N bracketright ; B 34 -156 245 662 ;\nC 94 ; W"
& "X 469 ; N asciicircum ; B 24 297 446 662 ;\nC 95 ; WX 500 ; N underscor"
& "e ; B 0 -125 500 -75 ;\nC 96 ; WX 333 ; N quoteleft ; B 115 433 254 676"
& " ;\nC 97 ; WX 444 ; N a ; B 37 -10 442 460 ;\nC 98 ; WX 500 ; N b ; B 3"
& " -10 468 683 ;\nC 99 ; WX 444 ; N c ; B 25 -10 412 460 ;\nC 100 ; WX 50"
& "0 ; N d ; B 27 -10 491 683 ;\nC 101 ; WX 444 ; N e ; B 25 -10 424 460 ;"
& "\nC 102 ; WX 333 ; N f ; B 20 0 383 683 ; L i fi ; L l fl ;\nC 103 ; WX"
& " 500 ; N g ; B 28 -218 470 460 ;\nC 104 ; WX 500 ; N h ; B 9 0 487 683 "
& ";\nC 105 ; WX 278 ; N i ; B 16 0 253 683 ;\nC 106 ; WX 278 ; N j ; B -7"
& "0 -218 194 683 ;\nC 107 ; WX 500 ; N k ; B 7 0 505 683 ;\nC 108 ; WX 27"
& "8 ; N l ; B 19 0 257 683 ;\nC 109 ; WX 778 ; N m ; B 16 0 775 460 ;\nC "
& "110 ; WX 500 ; N n ; B 16 0 485 460 ;\nC 111 ; WX 500 ; N o ; B 29 -10 "
& "470 460 ;\nC 112 ; WX 500 ; N p ; B 5 -217 470 460 ;\nC 113 ; WX 500 ; "
& "N q ; B 24 -217 488 460 ;\nC 114 ; WX 333 ; N r ; B 5 0 335 460 ;\nC 11"
& "5 ; WX 389 ; N s ; B 51 -10 348 460 ;\nC 116 ; WX 278 ; N t ; B 13 -10 "
& "279 579 ;\nC 117 ; WX 500 ; N u ; B 9 -10 479 450 ;\nC 118 ; WX 500 ; N"
& " v ; B 19 -14 477 450 ;\nC 119 ; WX 722 ; N w ; B 21 -14 694 450 ;\nC 1"
& "20 ; WX 500 ; N x ; B 17 0 479 450 ;\nC 121 ; WX 500 ; N y ; B 14 -218 "
& "475 450 ;\nC 122 ; WX 444 ; N z ; B 27 0 418 450 ;\nC 123 ; WX 480 ; N "
& "braceleft ; B 100 -181 350 680 ;\nC 124 ; WX 200 ; N bar ; ";
CONST E0_1 =
"B 67 -14 133 676 ;\nC 125 ; WX 480 ; N braceright ; B 130 -181 380 680 "
& ";\nC 126 ; WX 541 ; N asciitilde ; B 40 183 502 323 ;\n";
CONST E1 =
"%!PS-Adobe-2.0 EPSF-2.0\n%%Title: #title#\n%%Creator: PSDrawContext.m3\n"
& "%%CreationDate: #date#\n%%BoundingBox: 0 0 #width# #height#\n%%Magnific"
& "ation: 1.0000\n%%EndComments\n/$F2psDict 200 dict def\n$F2psDict begin\n"
& "$F2psDict /mtrx matrix put\n/col0 {0.000 0.000 0.000 srgb} bind def\nen"
& "d\nsave\nnewpath 0 #height# moveto\n0 0 lineto #width# 0 lineto #width#"
& " #height# lineto\nclosepath clip newpath\n#xoff# #yoff# translate\n1 -1"
& " scale\n\n/gr {grestore} bind def\n/gs {gsave} bind def\n/rs {restore} "
& "bind def\n/l {lineto} bind def\n/m {moveto} bind def\n/n {newpath} bind"
& " def\n/s {stroke} bind def\n/sh {show} bind def\n/slw {setlinewidth} bi"
& "nd def\n/srgb {setrgbcolor} bind def\n/sc {scale} bind def\n/tff {/Time"
& "s-Roman findfont} bind def\n/tx {m gs 1 -1 sc} bind def\n/sf {setfont} "
& "bind def\n/scf {scalefont} bind def\n/$F2psBegin {$F2psDict begin /$F2p"
& "sEnteredState save def} def\n/$F2psEnd {$F2psEnteredState restore end} "
& "def\n\n$F2psBegin\n%%Page: 1 1\n10 setmiterlimit\n #cpt# #cpt# sc\n\n#l"
& "ines#\n#texts#\n$F2psEnd\nrs\n";
BEGIN
END PSFormBundle.