%!PS-Adobe-1.0 %%Title: lang.mss %%DocumentFonts: (atend) %%Creator: Andrew Shore and Scribe 4(1400)-4 %%CreationDate: 9 January 1986 13:51 %%Pages: (atend) %%EndComments /pica{12 mul}def/inch{72 mul}def/mtx matrix def /pagewidth 7.375 inch def/pagelength 9.25 inch def %/pagegrid{0 0 moveto pagewidth 0 lineto pagewidth pagelength lineto % 0 pagelength lineto 0 0 lineto closepath 0 setlinewidth stroke}def /shtm 9 def /shtl 12 def /pagegrid{gsave 0 setlinecap .25 setlinewidth newpath 0 shtm neg moveto 0 shtl neg rlineto stroke shtm neg 0 moveto shtl neg 0 rlineto stroke pagewidth shtm add 0 moveto shtl 0 rlineto stroke pagewidth shtm neg moveto 0 shtl neg rlineto stroke 0 pagelength shtm add moveto 0 shtl rlineto stroke shtm neg pagelength moveto shtl neg 0 rlineto stroke pagewidth shtm add pagelength moveto shtl 0 rlineto stroke pagewidth pagelength shtm add moveto 0 shtl rlineto stroke grestore } def /PSLogod 20 dict def%PostScriptLogo /Helvetica findfont{1 index/FID ne{PSLogod 3 1 roll put}{pop pop}ifelse}forall PSLogod/FontMatrix[0.001 0 0 0.000916667 0 0]put PSLogod/FontName/PSLogo put/PSLogo PSLogod definefont pop /BOT{pop gsave currentpoint translate -90 rotate SSZ -.7 mul 0 moveto(↑)show grestore(↑)stringwidth rmoveto}def % chapter box/fountain /fstr 128 13 sub string def 128 1 255 13 sub{fstr exch dup 255 div 180 mul cos neg 2 div .5 add 255 mul cvi exch 128 sub exch put}for /fountain{/ury exch def/urx exch def/lly exch def/llx exch def gsave urx ury translate 180 rotate urx llx sub ury lly sub scale 128 13 sub 10 8[-128 13 add 0 0 10 128 13 sub 0]{fstr}image grestore}def %%%%%%%%%%%%%%%%%%%%%%%John's Figure Stuff %16 Sept 85 /figdict 100 dict def figdict begin /scl .2157 def %scale of page /rscl 1 scl div def % inverse scale /hfpt .5 rscl mul def /flpt rscl def /qtpt .25 rscl mul def /dsh {qtpt setlinewidth [2 rscl mul dup ] 0 setdash}def /fntsz 8 rscl mul def /fntoff fntsz .75 mul 2 div def /hv /Helvetica findfont fntsz scalefont def /hvs /Helvetica findfont fntsz .75 mul scalefont def /sym /Symbol findfont fntsz scalefont def /syms /Symbol findfont fntsz .75 mul scalefont def /arrow {/ye exch def /xe exch def /yb exch def /xb exch def /xd xe xb sub def /yd ye yb sub def /mg xd dup mul yd dup mul add sqrt def /ang yd xd atan def gsave xb yb translate ang rotate 2 rscl mul 0 moveto mg 2 rscl mul sub 0 lineto qtpt setlinewidth stroke mg 0 moveto -4 rscl mul 2 rscl mul rlineto 0 -4 rscl mul rlineto closepath fill grestore }def /2arrow {/ye exch def /xe exch def /yb exch def /xb exch def /xd xe xb sub def /yd ye yb sub def /mg xd dup mul yd dup mul add sqrt def /ang yd xd atan def gsave xb yb translate ang rotate 2 rscl mul 0 moveto mg 2 rscl mul sub 0 lineto qtpt setlinewidth stroke 0 0 moveto 4 rscl mul 2 rscl mul lineto 0 -4 rscl mul rlineto closepath fill mg 0 moveto -4 rscl mul 2 rscl mul rlineto 0 -4 rscl mul rlineto closepath fill grestore }def /inch {72 mul}def /angshow {gsave /prc exch def /rd exch def /eang exch def /bang exch def /ys exch def /xs exch def /ad 180 rd 3.14159 mul div .75 mul def newpath xs ys rd bang eang ad sub arc qtpt setlinewidth stroke gsave xs ys translate eang rotate rd 0 translate flpt neg flpt 3 mul neg moveto flpt 2 mul 0 rlineto 0 0 lineto closepath fill grestore hv setfont /mang bang eang add 2 div def /prc load xs mang cos rd mul 2 rscl mul sub add ys mang sin rd mul 4 rscl mul sub add rtext grestore }def /dotrad 1.5 rscl mul def /dot {gsave translate dotrad 0 moveto 0 0 dotrad 0 359 arc closepath fill grestore }def /shw {show}def /subscript {gsave hvs setfont subbck suboff rmoveto show currentpoint suboff neg add exch subbck neg add exch grestore moveto}def /subbck -.5 rscl mul def /suboff -4 rscl mul def /rtext {gsave translate /prc exch def $ct begin 0 0 moveto prc currentpoint end /ty exch def /tx exch def 0 0 moveto tx neg 0 rmoveto prc grestore }def /ctext {gsave translate /prc exch def $ct begin 0 0 moveto prc currentpoint end /ty exch def /tx exch def 0 0 moveto tx 2 div neg 0 rmoveto prc grestore }def /wbox {gsave /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto llx ury lineto urx ury lineto urx lly lineto closepath 1 setgray fill grestore}def /cwtext {gsave translate /prc exch def $ct begin 0 0 moveto prc currentpoint end /ty exch def /tx exch def tx 2 div neg fntsz neg .25 mul tx 2 div fntsz wbox 0 0 moveto tx 2 div neg 0 rmoveto prc grestore }def /ltext {gsave translate /prc exch def 0 0 moveto prc grestore }def /$ct 10 dict def $ct /show {stringwidth rmoveto} put end %end figdict %%%%%%%%%%%%%%%%%%%%%%%END John's Stuff /reencsmalldict 12 dict def /ReEncodeSmall % oldname newname vector {reencsmalldict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def FontDirectory newfontname known {/ReEncodeSmall errordict /fontalreadydefined get exec} if /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne {dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch newfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont /FontName newfontname put newcodesandnames aload pop newcodesandnames length 2 idiv{newfont /Encoding get 3 1 roll put}repeat newfontname newfont definefont pop end}def /univers[ 0/Aacute 1/aacute 2/Acircumflex 3/acircumflex 4/Adieresis 5/adieresis 6/Agrave 7/agrave 8/Aring 9/aring 10/Atilde 11/atilde 12/Ccedilla 13/ccedilla 14/Eacute 15/eacute 16/Ecircumflex 17/ecircumflex 18/Edieresis 19/edieresis 20/Egrave 21/egrave 22/Iacute 23/iacute 24/Icircumflex 25/icircumflex 26/Idieresis 27/idieresis 28/Igrave 29/igrave 30/Ntilde 31/ntilde 128/Oacute 129/oacute 130/Ocircumflex 131/ocircumflex 132/Odieresis 133/odieresis 134/Ograve 135/ograve 136/Otilde 137/otilde 138/Scaron 139/scaron 140/Uacute 141/uacute 142/Ucircumflex 143/ucircumflex 144/Udieresis 145/udieresis 146/Ugrave 147/ugrave 148/Ydieresis 149/ydieresis 150/Zcaron 151/zcaron ]def /tspecial[ 1/Aacute 2/Acircumflex 3/Adieresis 4/Agrave 5/Aring 6/Atilde 7/Ccedilla 8/Eacute 9/Ecircumflex 10/Edieresis 11/Egrave 12/Iacute 13/Icircumflex 14/Idieresis 15/Igrave 16/Ntilde 17/Oacute 18/Ocircumflex 19/Odieresis 20/Ograve 21/Otilde 22/Scaron 23/Uacute 24/Ucircumflex 25/Udieresis 26/Ugrave 27/Ydieresis 28/Zcaron 129/aacute 130/acircumflex 131/adieresis 132/agrave 133/aring 134/atilde 135/ccedilla 136/eacute 137/ecircumflex 138/edieresis 139/egrave 140/iacute 141/icircumflex 142/idieresis 143/igrave 144/ntilde 145/oacute 146/ocircumflex 147/odieresis 148/ograve 149/otilde 150/scaron 151/uacute 152/ucircumflex 153/udieresis 154/ugrave 155/ydieresis 156/zcaron ] def /Times-Roman /Times-Special tspecial ReEncodeSmall %%%%%%%%%%%%%%%%%%%%%%% % mostly standard stuff /BS{/SV save def 40 40 translate}def/ES{pagegrid showpage SV restore}def /SC{setrgbcolor}def/SLT 0 def/WFT/Courier def/SSZ 10 def /RST{100 div}def/CVTXY{RST pagelength sub abs exch RST exch}def /RDF{WFT findfont SLT 0 eq{SSZ scalefont} {[SSZ 0 SLT sin SLT cos div SSZ mul SSZ 0 0]makefont}ifelse setfont}def /SI{/SLT exch def RDF}def/SF{/WFT exch def RDF}def/SS{/SSZ exch def RDF}def /MT{CVTXY moveto}def/XM{RST currentpoint exch pop moveto}def /UL{gsave newpath CVTXY transform round exch round exch itransform moveto RST dup 2 div round 0 exch rmoveto setlinewidth RST 0 rlineto stroke grestore}def /PB{/PV save def/showpage{}def /ypos exch def /xpos exch def /sval exch def xpos 4985 le {/xpos 4500 def}{xpos 6120 le {/xpos 5400 def}if}ifelse xpos ypos CVTXY translate % gsave 0 setlinewidth newpath % -1 0 moveto 1 0 lineto 0 -1 moveto 0 1 lineto stroke grestore }def/PE{PV restore}def /MSS{SSW RST 0 rmoveto}def/SNS{SSW add/SSW exch def MSS}def/SH{show}def /MX{/SSW exch def SH MSS}def/M2{SH MSS MSS}def/M{SH MSS}def /M+{SH 1 SNS}def/M-{SH -1 SNS}def % statusdict /prefeed true put %%EndProlog %%Page: 1 1 BS 0 SI 1 SS 0 5400 5400 PB %! % generic title page gsave 0 -5 pica translate 0 0 36 pica 5 pica fountain 1 setlinewidth -.25 0 moveto 36 pica .5 add 0 rlineto stroke -.25 5 pica moveto 36 pica .5 add 0 rlineto stroke .5 setlinewidth 0 -.5 moveto 0 5 pica 1 add rlineto stroke 36 pica -.5 moveto 0 5 pica 1 add rlineto stroke grestore /Helvetica findfont 12 scalefont setfont /slength (ADOBE SYSTEMS) stringwidth pop def /hbig /Helvetica-Bold findfont 30 scalefont def hbig setfont newpath 0 0 moveto (P) false charpath flattenpath pathbbox exch pop exch sub /ph exch def pop /bl 5 pica ph 16 add sub 2 div ph add def newpath 18 pica bl neg moveto gsave gsave (P) false charpath gsave 1 setgray fill grestore .5 setlinewidth stroke grestore (P) stringwidth rmoveto /hsq /Helvetica-Bold findfont [30 0 0 27 0 0] makefont def hsq setfont gsave (OST) false charpath gsave 1 setgray fill grestore .5 setlinewidth stroke grestore (OST) stringwidth rmoveto hbig setfont gsave (S) false charpath gsave 1 setgray fill grestore .5 setlinewidth stroke grestore (S) stringwidth rmoveto hsq setfont gsave (CRIPT) false charpath gsave 1 setgray fill grestore .5 setlinewidth stroke grestore grestore 0 -16 rmoveto /Helvetica findfont 10 scalefont setfont gsave slength (LANGUAGE) stringwidth pop sub 7 div 0 (LANGUAGE) ashow grestore 0 -25 pica rmoveto /Helvetica findfont 12 scalefont setfont gsave (ADOBE SYSTEMS) show grestore 0 -14 rmoveto /Helvetica findfont 8 scalefont setfont gsave slength (INCORPORATED) stringwidth pop sub 11 div 0 (INCORPORATED) ashow grestore PE 18 SS /Helvetica SF 26998 22910 MT (SUPPLEMENT)SH ES %%Page: 2 2 BS 0 SI 9 SS /Times-Bold SF 24890 18397 MT (P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 29743 XM (Language) 225 MX(Supplement)SH /Times-Roman SF 24890 20393 MT (January) M(9,) M(1986)SH 24890 22389 MT (Copyright)SH /Symbol SF 28765 XM (\323)SH /Times-Roman SF 29701 XM (1985,) M(1986) M(by) M(Adobe) M(Systems) M(Incorporated.)SH 24898 23387 MT (All) M(rights) M(reserved.)SH 24890 25383 MT (P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 29421 XM (is) M(a) M(trademark) M(of) M(Adobe) M(Systems) M(Incorporated.)SH 8 SS 24898 27528 MT (Helvetica) 200 MX(and) M(Times) M(are) M(registered) M(trademarks) M(of) M(Allied) M(Corporation.)SH 24890 28856 MT (The) M(information) M(in) M(this) M(document) M(is) M(furnished) M(for) M(informational) M(use)SH 24898 29754 MT (only,) M(is) M(subject) M(to) M(change) M(without) M(notice,) M(and) M(should) M(not) M(be) M(construed)SH 24898 30652 MT (as) M(a) M(commitment) M(by) M(Adobe) M(Systems) M(Incorporated.) M(Adobe) M(Systems)SH 24898 31550 MT (Incorporated) M(assumes) M(no) M(responsibility) M(or) M(liability) M(for) M(any) M(errors) M(or)SH 24898 32448 MT (inaccuracies) M(that) M(may) M(appear) M(in) M(this) M(document.) M(The) M(software) M(described)SH 24898 33346 MT (in) M(this) M(document) M(is) M(furnished) M(under) M(license) M(and) M(may) M(only) M(be) M(used) M(or)SH 24898 34244 MT (copied) M(in) M(accordance) M(with) M(the) M(terms) M(of) M(such) M(license.)SH ES %%Page: 1 3 BS 0 SI 12 SS /Helvetica SF 12592 6275 MT (1) 875 MX(P)SH /PSLogo SF (OST)SH /Helvetica SF (S)SH /PSLogo SF (CRIPT)SH /Helvetica SF 22184 XM (LANGUAGE) 384 MX(CHANGES)SH 11 SS /Times-Roman SF 19791 8826 MT (Several) 443 MX(additions) M(have) M(been) M(made) M-(to) M(the) M(standard) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 19799 10123 MT (language.) 335 MX(These) M(additions) M(are) M+(upward-compatible) M(and) M(do) M(not) M(af-)SH 19799 11420 MT (fect) 568 MX(the) M(function) M(of) M-(any) M(existing) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 41891 XM (programs.) M(The)SH 19799 12717 MT (changes) 486 MX(are) M(included) M(in) M+(all) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 38820 XM (implementations) M(with)SH 19799 14014 MT (version) M+(number) M(25.0) M(or) M(higher;) M(they) M(will) M(be) M(documented) M(in) M-(a)SH 19799 15311 MT (future) 275 MX(edition) M(of) M(the)SH /Times-Italic SF 28841 XM (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 34438 XM (Language) M(Reference) M(Manual)SH /Times-Roman SF (.)SH 19791 17506 MT (In) 424 MX(general,) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 30964 XM (programs) M(that) M(are) M(intended) M(to) M(be) M+(com-)SH 19799 18803 MT (patible) 347 MX(with) M(all) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 32711 XM (printers) M(should) M(not) M-(make) M(use) M(of) M(the)SH 19799 20100 MT (new) 320 MX(features.) M(However,) M(it) M(is) M(possible) M(for) M+(a) M(program) M(to) M(determine)SH 19799 21397 MT (whether) 375 MX(or) M(not) M(the) M(new) M(features) M(are) M(present) M(and) M-(to) M(invoke) M(them)SH 19799 22694 MT (conditionally.) 365 MX(The) M(descriptions) M(below) M(suggest) M(how) M(to) M(determine)SH 19799 23991 MT (whether) 275 MX(a) M(particular) M(feature) M(is) M(present) M(or) M(absent.)SH /Helvetica SF 19791 27188 MT (Packed) 352 MX(arrays)SH /Times-Roman SF 19791 29140 MT (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 25898 XM (procedures) 633 MX(are) M-(represented) M(as) M(executable) M(arrays)SH 19799 30437 MT (which,) 329 MX(until) M(now,) M+(have) M(been) M(stored) M(in) M(the) M(same) M(fashion) M(as) M(literal)SH 19799 31734 MT (data) 850 MX(arrays.) M(This) M-(representation,) M(while) M(offering) M(maximum)SH 19799 33031 MT (flexibility,) 424 MX(is) M(very) M(costly) M(in) M(space) M(\0508) M(bytes) M(per) M(element\051.) M(Large)SH 19799 34328 MT (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 25696 XM (programs,) M-(such) M(as) M-(the) M(built-in) M(server) M(program) M(and)SH 19799 35625 MT (downloaded) 275 MX(preambles,) M(consume) M(considerable) M(amounts) M(of) M(VM.)SH 19791 37820 MT (Since) 408 MX(most) M(programs) M(do) M(not) M(require) M(the) M(ability) M(to) M(be) M+(treated) M(as)SH 19799 39117 MT (data) 389 MX(but) M(only) M(the) M(ability) M(to) M-(be) M(executed,) M(a) M(more) M(compact) M(repre-)SH 19799 40414 MT (sentation) 697 MX(has) M(been) M(introduced:) M(the)SH /Times-Italic SF 37152 XM (packed) M+(array)SH /Times-Roman SF (.) M(Programs)SH 19799 41711 MT (represented) 615 MX(as) M(packed) M(arrays) M(are) M-(typically) M(50) M(to) M(75) M(percent)SH 19799 43008 MT (smaller) 275 MX(than) M(the) M(same) M(programs) M(represented) M(as) M(ordinary) M(arrays.)SH 19791 45203 MT (A) 287 MX(packed) M(array) M(object) M(has) M(a) M(type) M(different) M(from) M(an) M(ordinary) M+(array)SH 19799 46500 MT (object) 806 MX(\050`)SH 10 SS /Helvetica SF (packedarraytype)SH 11 SS /Times-Roman SF (') M(versus) M(`)SH 10 SS /Helvetica SF (arraytype)SH 11 SS /Times-Roman SF ('\051;) M(but) M(in) M(most)SH 19799 47797 MT (respects) 405 MX(it) M(behaves) M(the) M(same) M(as) M+(an) M(ordinary) M(array.) M(You) M(can) M(ex-)SH 19799 49094 MT (ecute) 480 MX(a) M(packed) M(array;) M(you) M(can) M(extract) M(elements) M(\050using)SH /Times-Bold SF 45432 XM (get)SH /Times-Roman SF (\051) M-(or)SH 19799 50391 MT (subarrays) 710 MX(\050using)SH /Times-Bold SF 28183 XM (getinterval)SH /Times-Roman SF (\051;) M(you) M+(can) M(enumerate) M(it) M(\050using)SH /Times-Bold SF 19799 51688 MT (forall)SH /Times-Roman SF (\051;) 687 MX(and) M(so) M(forth.) M(Individual) M(elements) M-(extracted) M(from) M(a)SH 19799 52985 MT (packed) 420 MX(array) M(are) M(ordinary) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 37813 XM (objects;) M+(a) M(subarray) M(of) M(a)SH 19799 54282 MT (packed) 275 MX(array) M(is) M(also) M(a) M(packed) M(array.)SH 19791 56477 MT (The) M(differences) M(between) M(packed) M(arrays) M(and) M(ordinary) M(arrays) M(are:)SH ES %%Page: 2 4 BS 0 SI 11 SS /Symbol SF 20518 6280 MT (\267)SH /Times-Roman SF 21299 XM (Packed) 556 MX(arrays) M-(are) M(always) M(read-only:) M(you) M(can't) M(use)SH /Times-Bold SF 45832 XM (put)SH /Times-Roman SF (,)SH /Times-Bold SF 21299 7477 MT (putinterval)SH /Times-Roman SF (,) 275 MX(etc.,) M(to) M(store) M(into) M(one.)SH /Symbol SF 20518 9273 MT (\267)SH /Times-Roman SF 21299 XM (Packed) 404 MX(arrays) M(are) M(created) M(differently) M(from) M(ordinary) M(arrays)SH 21299 10470 MT (\050see) 275 MX(below\051.)SH /Symbol SF 20518 12266 MT (\267)SH /Times-Roman SF 21299 XM (Accessing) 294 MX(arbitrary) M(elements) M(of) M(a) M(packed) M-(array) M(can) M(be) M(quite)SH 21299 13463 MT (slow;) 450 MX(however,) M(accessing) M(the) M(elements) M+(sequentially) M(\050as) M(is)SH 21299 14660 MT (done) 646 MX(by) M(the) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 33939 XM (interpreter) M-(and) M(by) M(the)SH /Times-Bold SF 45131 XM (forall)SH /Times-Roman SF 21299 15857 MT (operator\051) 406 MX(is) M(approximately) M(as) M(efficient) M(as) M(accessing) M+(an) M(or-)SH 21299 17054 MT (dinary) 275 MX(array.)SH /Symbol SF 20518 18850 MT (\267)SH /Times-Roman SF 21299 XM (The)SH /Times-Bold SF 23304 XM (copy)SH /Times-Roman SF 25799 XM (operator) 295 MX(cannot) M(copy) M-(into) M(a) M(packed) M(array) M(\050since) M(it)SH 21299 20047 MT (is) 419 MX(read-only\051;) M(however,) M(it) M+(can) M(copy) M(the) M(value) M(of) M(a) M(packed)SH 21299 21244 MT (array) 503 MX(to) M(an) M(ordinary) M(array) M(of) M(at) M-(least) M(the) M(packed) M(array's)SH 21299 22441 MT (length.)SH 18891 24636 MT (There) 318 MX(are) M(two) M(ways) M(in) M(which) M+(packed) M(arrays) M(come) M(into) M(existence.)SH 18899 25933 MT (The) 469 MX(first) M(and) M(more) M(common) M(way) M(is) M(for) M(the) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 45435 XM (input)SH 18899 27230 MT (scanner) 386 MX(to) M(create) M(packed) M(arrays) M(automatically) M(for) M(all) M(executable)SH 18899 28527 MT (arrays) 401 MX(that) M(it) M-(reads.) M(That) M(is,) M(whenever) M(the) M(scanner) M(encounters) M(a)SH 18899 29824 MT (`)SH 10 SS /Helvetica SF ({)SH 11 SS /Times-Roman SF (') 363 MX(while) M(reading) M(a) M(file) M(or) M+(string,) M(it) M(accumulates) M(all) M(tokens) M(up) M(to)SH 18899 31121 MT (the) 306 MX(matching) M(`)SH 10 SS /Helvetica SF (})SH 11 SS /Times-Roman SF (') M(and) M(turns) M-(them) M(into) M(a) M(packed) M(array) M(instead) M(of) M(an)SH 18899 32418 MT (ordinary) 275 MX(array.)SH 18891 34613 MT (The) 277 MX(choice) M+(of) M(array) M(type) M(is) M(controlled) M(by) M(a) M(mode) M(setting,) M(manipu-)SH 18899 35910 MT (lated) 632 MX(by) M(the) M(new) M-(operators)SH /Times-Bold SF 32563 XM (setpacking)SH /Times-Roman SF 38206 XM (and)SH /Times-Bold SF 40425 XM (currentpacking)SH /Times-Roman SF 18899 37207 MT (\050described) 360 MX(at) M(the) M+(end) M(of) M(this) M(section\051.) M(If) M(the) M(array) M(packing) M(mode)SH 18899 38504 MT (is)SH /Times-Italic SF 19942 XM (true)SH /Times-Roman SF (,) 308 MX(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 28079 XM (procedures) M(encountered) M(subsequently) M(by) M(the)SH 18899 39801 MT (scanner) 635 MX(are) M(created) M(as) M(packed) M(arrays;) M+(if) M(the) M(mode) M(is)SH /Times-Italic SF 45344 XM (false)SH /Times-Roman SF (,)SH 18899 41098 MT (procedures) 442 MX(are) M(created) M(as) M(ordinary) M(arrays.) M(The) M-(default) M(value) M(is)SH /Times-Italic SF 18899 42395 MT (false)SH /Times-Roman SF 21285 XM (\050i.e.,) 308 MX(create) M(ordinary) M(arrays\051,) M+(for) M(compatibility) M(with) M(existing)SH 18899 43692 MT (programs.)SH 18891 45887 MT (The) 304 MX(other) M(way) M(to) M(create) M(a) M-(packed) M(array) M(is) M(to) M(build) M(it) M(explicitly) M(by)SH 18899 47184 MT (invoking) 332 MX(the)SH /Times-Bold SF 24819 XM (packedarray)SH /Times-Roman SF 31139 XM (operator) M(with) M(a) M(list) M(of) M(operands) M(to) M(be)SH 18899 48481 MT (incorporated) 275 MX(into) M(a) M(new) M(packed) M(array.)SH /Helvetica SF 18891 51678 MT (Immediately) 352 MX(evaluated) M(names)SH /Times-Roman SF 18891 53630 MT (The) 315 MX(language) M(syntax) M-(has) M(been) M(extended) M(to) M(include) M(a) M(new) M(kind) M(of)SH 18899 54927 MT (name) 339 MX(token,) M(the)SH /Times-Italic SF 26361 XM (immediately) M(evaluated) M+(name)SH /Times-Roman SF (.) M(When) M(the) M(scanner)SH 18899 56224 MT (encounters) 384 MX(the) M(token) M(`//)SH /Times-Italic SF (name)SH /Times-Roman SF (') M-(\050a) M(name) M(preceded) M(by) M(two) M(slashes)SH 18899 57521 MT (with) 304 MX(no) M(intervening) M(spaces\051,) M(it) M(immediately) M(looks) M(up) M+(the) M(name) M(in)SH 10 SS /Helvetica SF 4500 63450 MT (2)SH 8 SS 7456 XM (Supplement)SH ES %%Page: 3 5 BS 0 SI 11 SS /Times-Roman SF 19799 6155 MT (the) 278 MX(context) M(of) M(the) M(current) M-(dictionary) M(stack) M(and) M(substitutes) M(the) M(cor-)SH 19799 7452 MT (responding) 524 MX(value) M(for) M(the) M(name.) M(If) M(the) M(name) M+(is) M(not) M(found,) M(an)SH /Times-Bold SF 19799 8749 MT (undefined)SH /Times-Roman SF 24782 XM (error) 275 MX(occurs.)SH 19791 10944 MT (The) M+(substitution) M-(occurs)SH /Times-Italic SF 30333 XM (immediately)SH /Times-Roman SF (,) M(regardless) M(of) M(whether) M(or) M(not)SH 19799 12241 MT (the) 362 MX(token) M(appears) M(inside) M(an) M(executable) M(array) M+(delimited) M(by) M(`)SH 10 SS /Helvetica SF ({...})SH 11 SS /Times-Roman SF ('.)SH 19799 13538 MT (Note) 319 MX(that) M(this) M-(process) M(is) M(a) M(substitution) M(and) M(not) M(an) M(execution;) M(that)SH 19799 14835 MT (is,) 371 MX(the) M(name's) M(value) M(is) M(not) M(executed) M(but) M+(rather) M(is) M(substituted) M(for)SH 19799 16132 MT (the) 387 MX(name) M(itself,) M(just) M-(as) M(if) M(the)SH /Times-Bold SF 33227 XM (load)SH /Times-Roman SF 35631 XM (operator) M(had) M(been) M(applied) M(to)SH 19799 17429 MT (the) 410 MX(name.) M(This) M(action) M(is) M(related) M(to) M+(the) M(action) M(performed) M(by) M(the)SH /Times-Bold SF 19799 18726 MT (bind)SH /Times-Roman SF 22901 XM (operator) 960 MX(\050see) M(the)SH /Times-Italic SF 32559 XM (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 38841 XM (Language) M(Reference)SH 19799 20023 MT (Manual)SH /Times-Roman SF (\051;) 300 MX(but) M(whereas)SH /Times-Bold SF 29801 XM (bind)SH /Times-Roman SF 32243 XM (performs) M(substitution) M(only) M(for) M(names)SH 19799 21320 MT (whose) 306 MX(values) M(are) M(operators,) M(each) M(occurrence) M(of) M(the) M(`//)SH /Times-Italic SF (name)SH /Times-Roman SF (') M-(syn-)SH 19799 22617 MT (tax) 393 MX(is) M(replaced) M+(by) M(the) M(value) M(associated) M(with)SH /Times-Italic SF 40053 XM (name)SH /Times-Roman SF 42829 XM (regardless) M(of)SH 19799 23914 MT (the) 275 MX(value's) M(type.) M(The) M(following) M(examples) M(illustrate) M(this:)SH 10 SS /Helvetica SF 22023 26140 MT (/a) 320 MX(3) M(def)SH 22023 27337 MT (/b) M({\050test\051) M(print}) M(def)SH 22023 28534 MT (//a)SH /Symbol SF 23455 XM (\336)SH /Helvetica SF 24762 XM (3)SH 22023 29731 MT (//b)SH /Symbol SF 23455 XM (\336)SH /Helvetica SF 24762 XM ({\050test\051) M(print})SH 22023 30928 MT ({//a) M(//b) M(a) M(/b})SH /Symbol SF 27585 XM (\336)SH /Helvetica SF 28892 XM ({3) M({\050test\051) M(print}) M(a) M(/b})SH 11 SS /Times-Roman SF 19791 33180 MT (The) 350 MX(purpose) M(of) M(using) M-(immediately) M(evaluated) M(names) M(is) M(similar) M(to)SH 19799 34477 MT (that) 340 MX(of) M(using) M(the)SH /Times-Bold SF 27454 XM (bind)SH /Times-Roman SF 29937 XM (operator:) M+(to) M(cause) M(names) M(in) M(procedures) M(to)SH 19799 35774 MT (become) 321 MX(`tightly) M(bound') M(to) M(their) M-(values.) M(However,) M(a) M(word) M(of) M(cau-)SH 19799 37071 MT (tion) 560 MX(is) M(in) M(order:) M(indiscriminate) M(use) M(of) M(immediately) M(evaluated)SH 19799 38368 MT (names) 499 MX(may) M(change) M(the) M(semantics) M(of) M(a) M-(program.) M(In) M(particular,)SH 19799 39665 MT (recall) 508 MX(that) M(when) M(the) M(interpreter) M(encounters) M(a) M(procedure) M(object)SH /Times-Italic SF 19799 40962 MT (directly)SH /Times-Roman SF 23639 XM (it) 480 MX(simply) M(pushes) M-(it) M(on) M(the) M(operand) M(stack;) M(but) M(when) M(it)SH 19799 42259 MT (encounters) 430 MX(a) M(procedure) M(object)SH /Times-Italic SF 33856 XM (indirectly)SH /Times-Roman SF 38503 XM (\050by) M+(looking) M(up) M(an) M(ex-)SH 19799 43556 MT (ecutable) 327 MX(name\051) M(it) M(executes) M(the) M(procedure.) M(\050See) M(section) M(3.6) M-(of) M(the)SH /Times-Italic SF 19799 44853 MT (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 25467 XM (Language) 346 MX(Reference) M(Manual)SH /Times-Roman SF (.\051) M+(Therefore,) M(execution)SH 19799 46150 MT (of) 275 MX(the) M(program) M(fragments:)SH 10 SS /Helvetica SF 22023 48376 MT ({...) 320 MX(b) M(...})SH 22023 49573 MT ({...) M(//b) M(...})SH 11 SS /Times-Roman SF 19799 51825 MT (may) 289 MX(have) M(different) M(effects) M(if) M(the) M(value) M(of) M(the) M(name) M(`)SH 10 SS /Helvetica SF (b)SH 11 SS /Times-Roman SF (') M-(is) M(a) M(proce-)SH 19799 53122 MT (dure.)SH 19791 55317 MT (The) 472 MX(immediately) M(evaluated) M(name) M(facility) M(is) M(present) M(in) M(all) M(ver-)SH 19799 56614 MT (sions) 690 MX(of) M(the) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 32555 XM (interpreter) M(since) M-(version) M(25.0) M(\050as)SH 19799 57911 MT (reported) 407 MX(by) M(the)SH /Times-Bold SF 27128 XM (version)SH /Times-Roman SF 30957 XM (operator\051.) M(Earlier) M(versions) M(of) M(the) M(inter-)SH 8 SS /Helvetica SF 30582 63450 MT (1) 583 MX(P)SH /PSLogo SF (OST)SH /Helvetica SF (S)SH /PSLogo SF (CRIPT)SH /Helvetica SF 36980 XM (LANGUAGE) 256 MX(CHANGES)SH 10 SS 48041 XM (3)SH ES %%Page: 4 6 BS 0 SI 11 SS /Times-Roman SF 18899 6155 MT (preter) 283 MX(will) M(scan) M(`//)SH /Times-Italic SF (name)SH /Times-Roman SF (') M(as) M(two) M(distinct) M(tokens:) M-(`/',) M(a) M(literal) M(name)SH 18899 7452 MT (with) 500 MX(no) M(text) M+(at) M(all,) M(and) M(`/)SH /Times-Italic SF (name)SH /Times-Roman SF (',) M(a) M(literal) M(name) M(whose) M(text) M(is)SH /Times-Italic SF 18899 8749 MT (name)SH /Times-Roman SF (.)SH /Helvetica SF 18891 11946 MT (Font) 352 MX(cache) M(operation)SH /Times-Roman SF 18891 13898 MT (Operation) 490 MX(of) M(the) M(font) M-(cache) M(has) M(changed) M(somewhat.) M(Formerly)SH 18899 15195 MT (there) 424 MX(was) M(a) M(single) M(limit) M(on) M(the) M+(number) M(of) M(bytes) M(occupied) M(by) M(a)SH 18899 16492 MT (character) 359 MX(in) M(the) M(cache;) M(a) M(character) M(larger) M-(than) M(that) M(would) M(not) M(be)SH 18899 17789 MT (cached.) 341 MX(Now) M(there) M+(are) M(two) M(cache) M(thresholds,) M(a) M(lower) M(and) M(an) M(up-)SH 18899 19086 MT (per) 276 MX(one.) M(If) M(a) M-(character) M(is) M(larger) M(than) M(the) M(upper) M(threshold) M(\050as) M(deter-)SH 18899 20383 MT (mined) 351 MX(by) M+(the) M(bounding) M(box) M(specified) M(to)SH /Times-Bold SF 37188 XM (setcachedevice)SH /Times-Roman SF (\051,) M(it) M(will)SH 18899 21680 MT (not) 390 MX(be) M(cached;) M(otherwise) M(it) M(will) M(be.) M(If) M(it) M(is) M(cached) M-(and) M(is) M(larger)SH 18899 22977 MT (than) 322 MX(the) M(lower) M(threshold,) M+(it) M(will) M(be)SH /Times-Italic SF 34630 XM (compressed)SH /Times-Roman SF (;) M(otherwise) M(it) M(will)SH 18899 24274 MT (be) 275 MX(stored) M(as) M(a) M(full) M(pixel) M(array.)SH 18891 26469 MT (The) 722 MX(two) M(thresholds) M(are) M(manipulated) M(by) M(the) M(new) M(operators)SH /Times-Bold SF 18899 27766 MT (setcacheparams)SH /Times-Roman SF 26999 XM (and)SH /Times-Bold SF 29235 XM (currentcacheparams)SH /Times-Roman SF (,) 649 MX(described) M(below.)SH 18899 29063 MT (The) 534 MX(old) M(operators,) M(principally)SH /Times-Bold SF 33284 XM (cachestatus)SH /Times-Roman SF 39193 XM (and)SH /Times-Bold SF 41314 XM (setcachelimit)SH /Times-Roman SF (,)SH 18899 30360 MT (remain) 329 MX(valid.) M(It) M(is) M(a) M(rare) M+(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 35809 XM (program) M(that) M(needs) M(to) M(deal)SH 18899 31657 MT (with) 275 MX(these) M(operators.)SH 18891 33852 MT (Compressed) 562 MX(characters) M(consume) M(much) M(less) M(space) M(in) M-(the) M(font)SH 18899 35149 MT (cache) 366 MX(than) M(full) M(pixel) M(arrays) M(\050by) M(factors) M(of) M+(up) M(to) M(40\051,) M(but) M(require)SH 18899 36446 MT (more) 864 MX(computation) M(to) M-(reconstitute) M(when) M(they) M(are) M(needed.)SH 18899 37743 MT (Reconstituting) 326 MX(a) M(compressed) M(character) M(is) M(still) M(substantially) M(faster)SH 18899 39040 MT (than) 436 MX(re-executing) M(the) M(original) M(character) M(description.) M(In) M-(systems)SH 18899 40337 MT (printing) 282 MX(at) M(300) M(pixels) M(per) M(inch) M(or) M+(less,) M(the) M(default) M(lower) M(threshold)SH 18899 41634 MT (is) 392 MX(set) M(so) M(that) M(characters) M(up) M(to) M(about) M(20) M(points) M(are) M(stored) M-(as) M(full)SH 18899 42931 MT (pixel) 488 MX(arrays) M(while) M(larger) M(ones) M+(are) M(stored) M(in) M(compressed) M(form.)SH 18899 44228 MT (This) 540 MX(causes) M(ordinary) M(body) M(text) M(to) M(be) M(cached) M(using) M(the) M(time-)SH 18899 45525 MT (efficient) 329 MX(full) M(pixel) M(array) M(representation) M(but) M(large) M+(characters) M(to) M(be)SH 18899 46822 MT (cached) 275 MX(using) M(the) M(space-efficient) M(compressed) M(representation.)SH 10 SS /Helvetica SF 4500 63450 MT (4)SH 8 SS 7456 XM (Supplement)SH ES %%Page: 5 7 BS 0 SI 11 SS /Helvetica SF 19791 6202 MT (New) 352 MX(Operators)SH 10 SS /Helvetica-Bold SF 13375 9525 MT (setpacking)SH 9 SS /Helvetica SF 19799 XM (bool)SH /Helvetica-Bold SF 22075 XM (setpacking)SH /Helvetica SF 27351 XM (\261)SH 10 SS /Times-Roman SF 19799 11408 MT (sets) 303 MX(the) M(array) M(packing) M(mode) M(to) M(the) M(specified) M(boolean) M(value.) M(This) M-(deter-)SH 19799 12605 MT (mines) 620 MX(the) M(type) M(of) M(executable) M(arrays) M(subsequently) M(created) M+(by) M(the)SH 19799 13802 MT (P)SH 8 SS (OST)SH 10 SS (S)SH 8 SS (CRIPT)SH 10 SS 24969 XM (scanner.) 278 MX(The) M(value)SH /Times-Italic SF 32827 XM (true)SH /Times-Roman SF 34715 XM (selects) M-(packed) M(arrays;)SH /Times-Italic SF 43765 XM (false)SH /Times-Roman SF 45931 XM (selects)SH 19799 14999 MT (ordinary) 250 MX(arrays.)SH 19799 16994 MT (The) 310 MX(packing) M(mode) M(affects) M(only) M+(the) M(creation) M(of) M(procedures) M(by) M(the) M(scan-)SH 19799 18191 MT (ner) 428 MX(when) M(it) M(encounters) M(program) M(text) M(bracketed) M-(by) M(`)SH 9 SS /Helvetica SF ({)SH 10 SS /Times-Roman SF (') M(and) M(`)SH 9 SS /Helvetica SF (})SH 10 SS /Times-Roman SF (') M(during)SH 19799 19388 MT (interpretation) 313 MX(of) M(an) M(executable) M+(file) M(or) M(string) M(object) M(or) M(during) M(execution)SH 19799 20585 MT (of) 287 MX(the)SH /Times-Bold SF 22428 XM (token)SH /Times-Roman SF 25104 XM (operator.) M(It) M-(does) M(not) M(affect) M(the) M(creation) M(of) M(literal) M(arrays) M(by)SH 19799 21782 MT (the) 250 MX(`)SH 9 SS /Helvetica SF ([)SH 10 SS /Times-Roman SF (') M(and) M(`)SH 9 SS /Helvetica SF (])SH 10 SS /Times-Roman SF (') M(operators) M(or) M(by) M(the)SH /Times-Bold SF 33073 XM (array)SH /Times-Roman SF 35711 XM (operator.)SH 19799 23777 MT (The) 441 MX(array) M(packing) M(mode) M(setting) M(persists) M(until) M(overridden) M(by) M(another)SH 19799 24974 MT (execution) 250 MX(of)SH /Times-Bold SF 25020 XM (setpacking)SH /Times-Roman SF 29826 XM (or) M(until) M(undone) M(by) M(a)SH /Times-Bold SF 38131 XM (restore)SH /Times-Roman SF (.)SH 8 SS /Helvetica SF 19799 26927 MT (EXAMPLE)SH 9 SS (:)SH 22199 28025 MT (systemdict) 288 MX(/setpacking) M(known)SH 23063 29123 MT ({/savepacking) M(currentpacking) M(def)SH 23351 30221 MT (true) M(setpacking)SH 23063 31319 MT (}) M(if)SH 22199 33515 MT (...) M(arbitrary) M(procedure) M(definitions) M(...)SH 22199 35711 MT (systemdict) M(/setpacking) M(known) M({savepacking) M(setpacking}) M(if)SH 10 SS /Times-Roman SF 19799 37594 MT (If) 345 MX(the) M(packed) M(array) M(facility) M(is) M(available,) M-(the) M(procedures) M(represented) M(by)SH 19799 38791 MT (`arbitrary) 427 MX(procedure) M(definitions') M(are) M(defined) M(as) M+(packed) M(arrays;) M(other-)SH 19799 39988 MT (wise) 430 MX(they) M(are) M(defined) M-(as) M(ordinary) M(arrays.) M(This) M(example) M(is) M(careful) M(to)SH 19799 41185 MT (preserve) 250 MX(the) M(array) M(packing) M(mode) M(in) M(effect) M(before) M(its) M(execution.)SH 8 SS /Helvetica SF 19799 43068 MT (ERRORS)SH 10 SS /Times-Roman SF (:)SH /Times-Bold SF 19799 44265 MT (stackunderflow,) M(typecheck)SH /Helvetica-Bold SF 11375 47588 MT (currentpacking)SH 9 SS /Helvetica SF 19799 XM (\261)SH /Helvetica-Bold SF 20875 XM (currentpacking)SH /Helvetica SF 27951 XM (bool)SH 10 SS /Times-Roman SF 19799 49471 MT (returns) M(the) M(array) M(packing) M(mode) M(currently) M(in) M(effect.)SH 8 SS /Helvetica SF 19799 51354 MT (STANDARD) 256 MX(VALUE)SH 10 SS /Times-Roman SF (:) 686 MX(false)SH 8 SS /Helvetica SF 19799 53237 MT (ERRORS)SH 10 SS /Times-Roman SF (:)SH /Times-Bold SF 19799 54434 MT (stackoverflow)SH 8 SS /Helvetica SF 30582 63450 MT (1) 583 MX(P)SH /PSLogo SF (OST)SH /Helvetica SF (S)SH /PSLogo SF (CRIPT)SH /Helvetica SF 36980 XM (LANGUAGE) 256 MX(CHANGES)SH 10 SS 48041 XM (5)SH ES %%Page: 6 8 BS 0 SI 10 SS /Helvetica-Bold SF 11807 6129 MT (packedarray)SH 9 SS /Helvetica SF 18899 XM (any)SH 21026 XM (...) 288 MX(any)SH 24964 XM (n)SH /Helvetica-Bold SF 26040 XM (packedarray)SH /Helvetica SF 31916 XM (packedarray)SH 7 SS 20349 6461 MT (0)SH 23514 XM (n)SH /Symbol SF (-)SH /Helvetica SF (1)SH 10 SS /Times-Roman SF 18899 8012 MT (creates) 390 MX(a) M(packed) M(array) M(object) M(of) M(length)SH /Times-Italic SF 35512 XM (n)SH /Times-Roman SF 36403 XM (containing) M+(the) M(objects)SH /Times-Italic SF 45853 XM (any)SH 8 SS /Times-Roman SF 47297 8357 MT (0)SH 10 SS 18899 9218 MT (through)SH /Times-Italic SF 22619 XM (any)SH /Times-Roman SF 25911 XM (as) 609 MX(elements.)SH /Times-Bold SF 31767 XM (packedarray)SH /Times-Roman SF 37819 XM (first) M-(removes) M(the) M(non-)SH 8 SS /Times-Italic SF 24063 9563 MT (n)SH /Symbol SF (-)SH /Times-Roman SF (1)SH 10 SS 18899 10424 MT (negative) 287 MX(integer)SH /Times-Italic SF 25638 XM (n)SH /Times-Roman SF 26425 XM (from) M+(the) M(operand) M(stack.) M(It) M(then) M(removes) M(that) M(number)SH 18899 11621 MT (of) 412 MX(objects) M(from) M-(the) M(operand) M(stack,) M(creates) M(a) M(packed) M(array) M(containing)SH 18899 12818 MT (those) 283 MX(objects) M(as) M(elements,) M(and) M(finally) M(pushes) M(the) M(resulting) M(packed) M+(array)SH 18899 14015 MT (object) 250 MX(on) M(the) M(operand) M(stack.)SH 18899 16010 MT (The) 305 MX(resulting) M-(object) M(has) M(a) M(type) M(of) M(`)SH 9 SS /Helvetica SF (packedarraytype)SH 10 SS /Times-Roman SF (',) M(a) M(literal) M(attribute,)SH 18899 17207 MT (and) 366 MX(read-only) M(access.) M(In) M(all) M(other) M(respects,) M(its) M(behavior) M(is) M(identical) M(to)SH 18899 18404 MT (that) 250 MX(of) M(an) M(ordinary) M(array) M(object.)SH 8 SS /Helvetica SF 18899 20287 MT (STANDARD) 256 MX(VALUE)SH 10 SS /Times-Roman SF (:) 686 MX(false)SH 8 SS /Helvetica SF 18899 22170 MT (ERRORS)SH 10 SS /Times-Roman SF (:)SH /Times-Bold SF 18899 23367 MT (rangecheck,) 250 MX(stackunderflow,) M(typecheck,) M(VMerror)SH /Helvetica SF 4500 63450 MT (6)SH 8 SS 7456 XM (Supplement)SH ES %%Page: 7 9 BS 0 SI 10 SS /Helvetica-Bold SF 10762 6129 MT (setcacheparams)SH 9 SS /Helvetica SF 19799 XM (mark) 288 MX(lower) M(upper)SH /Helvetica-Bold SF 27401 XM (setcacheparams)SH /Helvetica SF 35027 XM (\261)SH 10 SS /Times-Roman SF 19799 8012 MT (sets) 475 MX(cache) M(parameters) M(as) M(specified) M(by) M(the) M(integer) M(objects) M(above) M(the)SH 19799 9209 MT (topmost) 413 MX(mark) M(on) M+(the) M(stack,) M(then) M(removes) M(all) M(operands) M(and) M(the) M(mark)SH 19799 10406 MT (object) 250 MX(as) M(if) M(by)SH /Times-Bold SF 25687 XM (cleartomark)SH /Times-Roman SF (.)SH 8 SS 38803 12056 MT (1)SH 10 SS 19799 12401 MT (The) 460 MX(number) M(of) M(cache) M(parameters) M(is) M(variable.)SH 39663 XM (If) M(more) M+(operands) M(are)SH 19799 13598 MT (supplied) 482 MX(to)SH /Times-Bold SF 24930 XM (setcacheparams)SH /Times-Roman SF 32187 XM (than) M-(are) M(needed,) M(the) M(topmost) M(ones) M(are)SH 19799 14795 MT (used) 308 MX(and) M(the) M(remainder) M(ignored;) M(if) M(fewer) M(are) M(supplied) M(than) M+(are) M(needed,)SH /Times-Bold SF 19799 15992 MT (setcacheparams)SH /Times-Roman SF 26842 XM (implicitly) 267 MX(inserts) M(default) M(values) M(between) M(the) M(mark) M(and)SH 19799 17189 MT (the) 250 MX(first) M(supplied) M(operand.)SH 19799 19184 MT (The)SH /Times-Italic SF 21723 XM (upper)SH /Times-Roman SF 24425 XM (operand) 369 MX(specifies) M(the) M(maximum) M(number) M(of) M(bytes) M(that) M+(may)SH 19799 20381 MT (be) M+(occupied) M(by) M(the) M(pixel) M(array) M(of) M(a) M-(single) M(cached) M(character,) M(as) M(deter-)SH 19799 21578 MT (mined) 319 MX(from) M(the) M(information) M(presented) M(by) M(the)SH /Times-Bold SF 38475 XM (setcachedevice)SH /Times-Roman SF 45015 XM (operator.)SH 19799 22775 MT (This) 327 MX(is) M(the) M(same) M-(parameter) M(as) M(is) M(set) M(by)SH /Times-Bold SF 36067 XM (setcachelimit)SH /Times-Roman SF (;) M(see) M(the) M(descrip-)SH 19799 23972 MT (tion) 250 MX(of) M(that) M(operator) M(in) M(the)SH /Times-Italic SF 30520 XM (P)SH 8 SS (OST)SH 10 SS (S)SH 8 SS (CRIPT)SH 10 SS 35527 XM (Language) M(Reference) M(Manual)SH /Times-Roman SF (.)SH 19799 25967 MT (The)SH /Times-Italic SF 21894 XM (lower)SH /Times-Roman SF 24712 XM (operand) 540 MX(specifies) M(the) M(threshold) M(at) M(which) M(characters) M+(are)SH 19799 27164 MT (stored) 622 MX(in) M-(compressed) M(form) M(rather) M(than) M(as) M(full) M(pixel) M(arrays.) M(If) M(a)SH 19799 28361 MT (character's) 372 MX(pixel) M(array) M(requires) M(more) M(than)SH /Times-Italic SF 37469 XM (lower)SH /Times-Roman SF 40119 XM (bytes) M(to) M+(represent,) M(it)SH 19799 29558 MT (will) 281 MX(be) M(compressed) M(in) M(the) M-(cache) M(and) M(reconstituted) M(from) M(the) M(compressed)SH 19799 30755 MT (representation) 250 MX(each) M(time) M(it) M(is) M(needed.)SH 19799 32750 MT (Setting)SH /Times-Italic SF 22916 XM (lower)SH /Times-Roman SF 25477 XM (to) 283 MX(zero) M(forces) M(all) M(characters) M(to) M(be) M(compressed,) M+(permitting)SH 19799 33947 MT (more) 373 MX(characters) M(to) M(be) M(stored) M(in) M(the) M(cache) M(but) M(increasing) M-(the) M(work) M(re-)SH 19799 35144 MT (quired) 350 MX(to) M(print) M(them.) M(Setting)SH /Times-Italic SF 31855 XM (lower)SH /Times-Roman SF 34483 XM (to) M(a) M(value) M(greater) M(than) M(or) M(equal) M+(to)SH /Times-Italic SF 19799 36341 MT (upper)SH /Times-Roman SF 22382 XM (disables) 250 MX(compression) M(altogether.)SH 8 SS /Helvetica SF 19799 38224 MT (ERRORS)SH 10 SS /Times-Roman SF (:)SH /Times-Bold SF 19799 39421 MT (rangecheck,) M(unmatchedmark)SH /Helvetica-Bold SF 8762 42744 MT (currentcacheparams)SH 9 SS /Helvetica SF 19799 XM (\261)SH /Helvetica-Bold SF 20875 XM (currentcacheparams)SH /Helvetica SF 30301 XM (mark) 288 MX(lower) M(upper)SH 10 SS /Times-Roman SF 19799 44627 MT (pushes) 331 MX(a) M(mark) M(object) M(followed) M(by) M(the) M(current) M(cache) M(parameters) M-(on) M(the)SH 19799 45824 MT (operand) 438 MX(stack.) M(The) M(number) M(of) M(cache) M+(parameters) M(returned) M(is) M(variable)SH 19799 47021 MT (\050see)SH /Times-Bold SF 21659 XM (setcacheparams)SH /Times-Roman SF (\051.)SH 8 SS /Helvetica SF 19799 48904 MT (STANDARD) 256 MX(VALUE)SH 10 SS /Times-Roman SF (:) 686 MX(mark) 250 MX(1250) M(12500)SH 8 SS /Helvetica SF 19799 50787 MT (ERRORS)SH 10 SS /Times-Roman SF (:)SH /Times-Bold SF 19799 51984 MT (stackoverflow)SH 7 SS /Times-Roman SF 19799 57437 MT (1)SH 9 SS 20149 57764 MT (In) 308 MX(future) M(versions) M(of) M(the) M(P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 34053 XM (interpreter) M(there) M(may) M-(be) M(more) M(than) M(two)SH 19799 58662 MT (cache) 225 MX(parameters) M(defined.)SH 8 SS /Helvetica SF 30582 63450 MT (1) 583 MX(P)SH /PSLogo SF (OST)SH /Helvetica SF (S)SH /PSLogo SF (CRIPT)SH /Helvetica SF 36980 XM (LANGUAGE) 256 MX(CHANGES)SH 10 SS 48041 XM (7)SH ES %%Page: 8 10 BS 0 SI 11 SS /Helvetica-Bold SF 18891 6202 MT (showpage)SH /Helvetica SF 24623 XM (and)SH /Helvetica-Bold SF 26811 XM (copypage)SH /Times-Roman SF 18891 8154 MT (The) 285 MX(correct) M(use) M(of)SH /Times-Bold SF 27175 XM (showpage)SH /Times-Roman SF 32043 XM (versus)SH /Times-Bold SF 35137 XM (copypage)SH /Times-Roman SF 39821 XM (is) M-(a) M(matter) M(requir-)SH 18899 9451 MT (ing) 350 MX(some) M(clarification.) M(Inappropriate) M+(use) M(of)SH /Times-Bold SF 38625 XM (copypage)SH /Times-Roman SF 43376 XM (can) M(result)SH 18899 10748 MT (in) 732 MX(significant) M(performance) M-(degradation) M(in) M(new) M(P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 18899 12045 MT (printers.)SH /Times-Bold SF 18891 14240 MT (showpage)SH /Times-Roman SF 23798 XM (is) 323 MX(the) M(normal) M+(operator) M(for) M(causing) M(pages) M(to) M(be) M(output.)SH 18899 15537 MT (It) 296 MX(has) M(three) M(effects:) M-(it) M(prints) M(the) M(current) M(page,) M(it) M(erases) M(the) M(current)SH 18899 16834 MT (page,) 275 MX(and) M(it) M(reinitializes) M(the) M(graphics) M(state.)SH /Times-Bold SF 18891 19029 MT (copypage)SH /Times-Roman SF 23875 XM (is) 584 MX(a) M(somewhat) M(more) M(specialized) M(operator) M+(that) M(just)SH 18899 20326 MT (prints) 334 MX(the) M(current) M-(page) M(but) M(does) M(not) M(erase) M(it) M(or) M(reset) M(the) M(graphics)SH 18899 21623 MT (state.) 340 MX(Its) M(main) M(intended) M(use) M(is) M(to) M(permit) M(adding) M(new) M+(marks) M(to) M(an)SH 18899 22920 MT (existing) 275 MX(page,) M(e.g.,) M(when) M(building) M(up) M(a) M(page) M(incrementally.)SH /Times-Bold SF 18891 25115 MT (showpage)SH /Times-Roman SF 23750 XM (is) M(logically) M(equivalent) M(to) M(the) M(sequence:)SH 10 SS /Helvetica SF 21123 27341 MT (copypage) 320 MX(erasepage) M(initgraphics)SH 11 SS /Times-Roman SF 18899 29593 MT (However,) 374 MX(use) M(of)SH /Times-Bold SF 26707 XM (copypage)SH /Times-Roman SF 31480 XM (for) M-(printing) M(pages) M(can) M(degrade) M(page)SH 18899 30890 MT (throughput) 456 MX(significantly.) M(One) M(reason) M+(for) M(this) M(is) M(that)SH /Times-Bold SF 43113 XM (showpage)SH /Times-Roman SF 18899 32187 MT (performs) 533 MX(the) M(printing) M(and) M(the) M-(erasing) M(in) M(parallel) M(whereas) M(the)SH /Times-Bold SF 18899 33484 MT (copypage) 457 MX(erasepage)SH /Times-Roman SF 28855 XM (method) M(performs) M(them) M+(serially;) M(there) M(are)SH 18899 34781 MT (other) 275 MX(reasons) M(as) M(well.)SH /Times-Bold SF 18891 36976 MT (copypage)SH /Times-Roman SF 23960 XM (should) 669 MX(also) M(not) M(be) M-(used) M(to) M(defeat) M(the) M(automatic)SH 9 SS 31104 37910 MT (2)SH 11 SS /Times-Bold SF 18899 38273 MT (initgraphics)SH /Times-Roman SF 24926 XM (of)SH /Times-Bold SF 26245 XM (showpage)SH /Times-Roman SF (.)SH 31957 XM (That) 403 MX(is,) M(to) M(print) M(and) M(erase) M(the) M(cur-)SH 18899 39570 MT (rent) 317 MX(page) M(but) M(leave) M(the) M(graphics) M(state) M(unchanged,) M(you) M(should)SH /Times-Italic SF 46291 XM (not)SH /Times-Roman SF 18899 40867 MT (say:)SH 10 SS /Helvetica SF 21123 43093 MT (copypage) 320 MX(erasepage)SH 11 SS /Times-Roman SF 18899 45345 MT (Instead) 275 MX(you) M(should) M(say:)SH 10 SS /Helvetica SF 21123 47571 MT (gsave) 320 MX(showpage) M(grestore)SH 11 SS /Times-Roman SF 18891 49823 MT (Please) 303 MX(also) M(note) M(that) M(the) M(correct) M(way) M(to) M(print) M(multiple) M(copies) M(of) M(a)SH 18899 51120 MT (page) 352 MX(is) M(to) M(associate) M(the) M(desired) M(number) M(of) M(copies) M(with) M+(the) M(name)SH /Times-Bold SF 18899 52417 MT (#copies)SH /Times-Roman SF 23175 XM (prior) 854 MX(to) M(invoking)SH /Times-Bold SF 32643 XM (showpage)SH /Times-Roman SF (,) M-(as) M(discussed) M(under)SH /Times-Bold SF 18899 53714 MT (showpage)SH /Times-Roman SF 23838 XM (in) 355 MX(the)SH /Times-Italic SF 26748 XM (P)SH 9 SS (OST)SH 11 SS (S)SH 9 SS (CRIPT)SH 11 SS 32426 XM (Language) M+(Reference) M(Manual)SH /Times-Roman SF (.) M(The)SH /Times-Bold SF 18899 55011 MT (#copies)SH /Times-Roman SF 22847 XM (convention) 526 MX(now) M(applies) M(uniformly) M(to) M(both)SH /Times-Bold SF 43113 XM (showpage)SH /Times-Roman SF 18899 56308 MT (and)SH /Times-Bold SF 20762 XM (copypage)SH /Times-Roman SF (,) 275 MX(whereas) M(formerly) M(it) M(applied) M(only) M(to)SH /Times-Bold SF 41474 XM (showpage)SH /Times-Roman SF (.)SH 7 SS 18899 57696 MT (2)SH 9 SS 19249 58023 MT (Unfortunately,) 348 MX(the) M(current)SH /Times-Italic SF 29218 XM (P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 33755 XM (Language) M(Tutorial) M(and) M(Cookbook)SH /Times-Roman SF 46697 XM (in-)SH 18899 58921 MT (cludes) 225 MX(an) M(example) M(that) M(uses) M(this) M(technique.)SH 10 SS /Helvetica SF 4500 63450 MT (8)SH 8 SS 7456 XM (Supplement)SH ES %%Page: 9 11 BS 0 SI 1 SS 0 5400 5405 PB %! % contents box/fountain gsave 0 -3 pica translate 0 0 36 pica 3 pica fountain 1 setlinewidth -.25 0 moveto 36 pica .5 add 0 rlineto stroke -.25 3 pica moveto 36 pica .5 add 0 rlineto stroke .5 setlinewidth 0 -.5 moveto 0 3 pica 1 add rlineto stroke 36 pica -.5 moveto 0 3 pica 1 add rlineto stroke grestore PE 24 SS /Helvetica SF 41528 8229 MT (Index)SH 9 SS /Times-Bold SF 6600 14985 MT (#copies)SH /Times-Roman SF 10075 XM (8)SH 28198 XM (Scanner) 675 MX(2)SH /Times-Bold SF 28198 16132 MT (setcachedevice)SH /Times-Roman SF 34473 XM (4,) 225 MX(6)SH 6600 17279 MT (//) M(immediately) M(evaluated) M(name) M(syntax) 675 MX(2)SH /Times-Bold SF 28198 XM (setcachelimit)SH /Times-Roman SF 33873 XM (4,) 225 MX(6)SH /Times-Bold SF 28198 18426 MT (setcacheparams)SH /Times-Roman SF 34973 XM (4,)SH /Times-Bold SF 35873 XM (7)SH 6600 19573 MT (array)SH /Times-Roman SF 9425 XM (5)SH /Times-Bold SF 28198 XM (setpacking)SH /Times-Roman SF 32973 XM (2,)SH /Times-Bold SF 33873 XM (5)SH /Times-Roman SF 6600 20720 MT (Array) 675 MX(1,) 225 MX(5)SH /Times-Bold SF 28198 XM (showpage)SH /Times-Roman SF 32623 XM (8)SH /Times-Bold SF 6600 23014 MT (bind)SH /Times-Roman SF 9025 XM (3)SH /Times-Bold SF 28198 XM (token)SH /Times-Roman SF 31023 XM (5)SH /Times-Bold SF 6600 25308 MT (cachestatus)SH /Times-Roman SF 11675 XM (4)SH /Times-Bold SF 28198 XM (undefined)SH /Times-Roman SF 32723 XM (3)SH /Times-Bold SF 6600 26455 MT (cleartomark)SH /Times-Roman SF 12025 XM (6)SH 6600 27602 MT (Compressed) M(character) 675 MX(4,) 225 MX(6)SH /Times-Bold SF 28198 XM (version)SH /Times-Roman SF 31673 XM (3)SH /Times-Bold SF 6600 28749 MT (copy)SH /Times-Roman SF 9075 XM (2)SH 28198 XM (Virtual) M(memory) 675 MX(1)SH /Times-Bold SF 6600 29896 MT (copypage)SH /Times-Roman SF 10875 XM (8)SH /Times-Bold SF 6600 31043 MT (currentcacheparams)SH /Times-Roman SF 15225 XM (4,)SH /Times-Bold SF 16125 XM (7)SH 6600 32190 MT (currentpacking)SH /Times-Roman SF 13225 XM (2,)SH /Times-Bold SF 14125 XM (5)SH 6600 34484 MT (erasepage)SH /Times-Roman SF 11075 XM (8)SH 6600 35631 MT (Executable) 225 MX(array) 675 MX(1)SH 6600 37925 MT (Font) 225 MX(cache) 675 MX(4,) 225 MX(6)SH /Times-Bold SF 6600 39072 MT (forall)SH /Times-Roman SF 9375 XM (1,) M(2)SH /Times-Bold SF 6600 41366 MT (get)SH /Times-Roman SF 8425 XM (1)SH /Times-Bold SF 6600 42513 MT (getinterval)SH /Times-Roman SF 11425 XM (1)SH 6600 44807 MT (Immediately) M(evaluated) M(name) 675 MX(2)SH /Times-Bold SF 6600 45954 MT (initgraphics)SH /Times-Roman SF 11875 XM (8)SH /Times-Bold SF 6600 48248 MT (load)SH /Times-Roman SF 8925 XM (3)SH 6600 50542 MT (Name) M(2)SH 6600 52836 MT (Packed) 225 MX(array) 675 MX(1,) 225 MX(5)SH /Times-Bold SF 6600 53983 MT (packedarray)SH /Times-Roman SF 12175 XM (2,)SH /Times-Bold SF 13075 XM (6)SH /Times-Roman SF 6600 55130 MT (P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 11131 XM (language) M(changes) 675 MX(1)SH 6600 56277 MT (P)SH 7 SS (OST)SH 9 SS (S)SH 7 SS (CRIPT)SH 9 SS 11131 XM (scanner) M(2)SH 6600 57424 MT (Procedure) M(1,) 225 MX(5)SH /Times-Bold SF 6600 58571 MT (put)SH /Times-Roman SF 8575 XM (1)SH /Times-Bold SF 6600 59718 MT (putinterval)SH /Times-Roman SF 11575 XM (1)SH 10 SS /Helvetica SF 48041 63450 MT (9)SH ES %%Page: iii 12 BS 0 SI 1 SS 0 5400 5405 PB %! % contents box/fountain gsave 0 -3 pica translate 0 0 36 pica 3 pica fountain 1 setlinewidth -.25 0 moveto 36 pica .5 add 0 rlineto stroke -.25 3 pica moveto 36 pica .5 add 0 rlineto stroke .5 setlinewidth 0 -.5 moveto 0 3 pica 1 add rlineto stroke 36 pica -.5 moveto 0 3 pica 1 add rlineto stroke grestore PE 24 SS /Helvetica SF 37794 8229 MT (Contents)SH 9 SS 19799 15024 MT (1)SH 21894 XM (P)SH /PSLogo SF (OST)SH /Helvetica SF (S)SH /PSLogo SF (CRIPT)SH /Helvetica SF 27932 XM (Language) 288 MX(Changes)SH 8 SS 36476 XM (1)SH 9 SS 19799 18673 MT (INDEX)SH 8 SS 23205 XM (9)SH 10 SS 47931 63450 MT (iii)SH ES %%Trailer %%Pages: 12 %%DocumentFonts: Times-Roman Helvetica-Bold Helvetica Times-Bold Symbol PSLogo Times-Italic Helvetica