summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/gs_btokn.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/gs_btokn.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/gs_btokn.ps331
1 files changed, 0 insertions, 331 deletions
diff --git a/Master/tlpkg/tlgs/lib/gs_btokn.ps b/Master/tlpkg/tlgs/lib/gs_btokn.ps
deleted file mode 100644
index f2f88bb8e2c..00000000000
--- a/Master/tlpkg/tlgs/lib/gs_btokn.ps
+++ /dev/null
@@ -1,331 +0,0 @@
-% Copyright (C) 1994, 2000 Aladdin Enterprises. All rights reserved.
-%
-% This software is provided AS-IS with no warranty, either express or
-% implied.
-%
-% This software is distributed under license and may not be copied,
-% modified or distributed except as expressly authorized under the terms
-% of the license contained in the file LICENSE in this distribution.
-%
-% For more information about licensing, please refer to
-% http://www.ghostscript.com/licensing/. For information on
-% commercial licensing, go to http://www.artifex.com/licensing/ or
-% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
-% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
-
-% $Id: gs_btokn.ps 7631 2007-01-22 03:26:28Z lpd $
-% Initialization file for binary tokens.
-% When this is run, systemdict is still writable,
-% but everything defined here goes into level2dict.
-
-% Define whether or not to allow writing dictionaries.
-% This is a non-standard feature!
-/WRITEDICTS false def
-
-languagelevel 1 .setlanguagelevel
-level2dict begin
-
-% Initialization for the system name table.
-
-mark
-% 0
- /abs /add /aload /anchorsearch /and
- /arc /arcn /arct /arcto /array
- /ashow /astore /awidthshow /begin /bind
- /bitshift /ceiling /charpath /clear /cleartomark
-% 20
- /clip /clippath /closepath /concat /concatmatrix
- /copy /count /counttomark /currentcmykcolor /currentdash
- /currentdict /currentfile /currentfont /currentgray /currentgstate
- /currenthsbcolor /currentlinecap /currentlinejoin /currentlinewidth /currentmatrix
-% 40
- /currentpoint /currentrgbcolor /currentshared /curveto /cvi
- /cvlit /cvn /cvr /cvrs /cvs
- /cvx /def /defineusername /dict /div
- /dtransform /dup /end /eoclip /eofill
-% 60
- /eoviewclip /eq /exch /exec /exit
- /file /fill /findfont /flattenpath /floor
- /flush /flushfile /for /forall /ge
- /get /getinterval /grestore /gsave /gstate
-% 80
- /gt /identmatrix /idiv /idtransform /if
- /ifelse /image /imagemask /index /ineofill
- /infill /initviewclip /inueofill /inufill /invertmatrix
- /itransform /known /le /length /lineto
-% 100
- /load /loop /lt /makefont /matrix
- /maxlength /mod /moveto /mul /ne
- /neg /newpath /not /null /or
- /pathbbox /pathforall /pop /print /printobject
-% 120
- /put /putinterval /rcurveto /read /readhexstring
- /readline /readstring /rectclip /rectfill /rectstroke
- /rectviewclip /repeat /restore /rlineto /rmoveto
- /roll /rotate /round /save /scale
-% 140
- /scalefont /search /selectfont /setbbox /setcachedevice
- /setcachedevice2 /setcharwidth /setcmykcolor /setdash /setfont
- /setgray /setgstate /sethsbcolor /setlinecap /setlinejoin
- /setlinewidth /setmatrix /setrgbcolor /setshared /shareddict
-% 160
- /show /showpage /stop /stopped /store
- /string /stringwidth /stroke /strokepath /sub
- /systemdict /token /transform /translate /truncate
- /type /uappend /ucache /ueofill /ufill
-% 180
- /undef /upath /userdict /ustroke /viewclip
- /viewclippath /where /widthshow /write /writehexstring
- /writeobject /writestring /wtranslation /xor /xshow
- /xyshow /yshow /FontDirectory /SharedFontDirectory /Courier
-% 200
- /Courier-Bold /Courier-BoldOblique /Courier-Oblique /Helvetica /Helvetica-Bold
- /Helvetica-BoldOblique /Helvetica-Oblique /Symbol /Times-Bold /Times-BoldItalic
- /Times-Italic /Times-Roman /execuserobject /currentcolor /currentcolorspace
- /currentglobal /execform /filter /findresource /globaldict
-% 220
- /makepattern /setcolor /setcolorspace /setglobal /setpagedevice
- /setpattern
-% pad to 256
- counttomark 256 exch sub { 0 } repeat
-% 256
- /= /== /ISOLatin1Encoding /StandardEncoding
-% 260
- ([) cvn (]) cvn /atan /banddevice /bytesavailable
- /cachestatus /closefile /colorimage /condition /copypage
- /cos /countdictstack /countexecstack /cshow /currentblackgeneration
- /currentcacheparams /currentcolorscreen /currentcolortransfer /currentcontext /currentflat
-% 280
- /currenthalftone /currenthalftonephase /currentmiterlimit /currentobjectformat /currentpacking
- /currentscreen /currentstrokeadjust /currenttransfer /currentundercolorremoval /defaultmatrix
- /definefont /deletefile /detach /deviceinfo /dictstack
- /echo /erasepage /errordict /execstack /executeonly
-% 300
- /exp /false /filenameforall /fileposition /fork
- /framedevice /grestoreall /handleerror /initclip /initgraphics
- /initmatrix /instroke /inustroke /join /kshow
- /ln /lock /log /mark /monitor
-% 320
- /noaccess /notify /nulldevice /packedarray /quit
- /rand /rcheck /readonly /realtime /renamefile
- /renderbands /resetfile /reversepath /rootfont /rrand
- /run /scheck /setblackgeneration /setcachelimit /setcacheparams
-% 340
- /setcolorscreen /setcolortransfer /setfileposition /setflat /sethalftone
- /sethalftonephase /setmiterlimit /setobjectformat /setpacking /setscreen
- /setstrokeadjust /settransfer /setucacheparams /setundercolorremoval /sin
- /sqrt /srand /stack /status /statusdict
-% 360
- /true /ucachestatus /undefinefont /usertime /ustrokepath
- /version /vmreclaim /vmstatus /wait /wcheck
- /xcheck /yield /defineuserobject /undefineuserobject /UserObjects
- /cleardictstack
-% 376
- /A /B /C /D /E /F /G /H /I /J /K /L /M
- /N /O /P /Q /R /S /T /U /V /W /X /Y /Z
- /a /b /c /d /e /f /g /h /i /j /k /l /m
- /n /o /p /q /r /s /t /u /v /w /x /y /z
-% 428
- /setvmthreshold (<<) cvn
- (>>) cvn /currentcolorrendering /currentdevparams /currentoverprint /currentpagedevice
- /currentsystemparams /currentuserparams /defineresource /findencoding /gcheck
-% 440
- /glyphshow /languagelevel /product /pstack /resourceforall
- /resourcestatus /revision /serialnumber /setcolorrendering /setdevparams
- /setoverprint /setsystemparams /setuserparams /startjob /undefineresource
- /GlobalFontDirectory /ASCII85Decode /ASCII85Encode /ASCIIHexDecode /ASCIIHexEncode
-% 460
- /CCITTFaxDecode /CCITTFaxEncode /DCTDecode /DCTEncode /LZWDecode
- /LZWEncode /NullEncode /RunLengthDecode /RunLengthEncode /SubFileDecode
- /CIEBasedA /CIEBasedABC /DeviceCMYK /DeviceGray /DeviceRGB
- /Indexed /Pattern /Separation /CIEBasedDEF /CIEBasedDEFG
-% 480
- /DeviceN
-% 481 -- end
-.packtomark .installsystemnames
-
-% Define printobject and writeobject.
-% These are mostly implemented in PostScript, so that we don't have to
-% worry about interrupts or callbacks when writing to the output file.
-
-% Define procedures for accumulating the space required to represent
-% an object in binary form. The procedures for composite objects (arrays
-% and dictionaries) leave different results on the stack:
-% <#refs> <#chars> <simple_obj> -proc- <#refs> <#chars>
-% <#refs> <#chars> <array|dict> -proc- <array|dict> <#refs> <#chars>
-% This is required so that .writeobjects can also accumulate the actual
-% list of composite objects to write in the binary object sequence.
-/cntdict mark
- /integertype /pop load
- /realtype 1 index
- /marktype 1 index
- /nulltype 1 index
- /booleantype 1 index
- /nametype { length add } bind
- /stringtype 1 index
- /arraytype null
- /dicttype null
-.dicttomark def
-/.cntobj { % <<arguments and results as for procedures in cntdict>>
- dup type //cntdict exch get exec
-} .bind def
-cntdict /arraytype {
- dup dup length 5 -1 roll add 4 2 roll { .cntobj } forall
-} bind put
-cntdict /dicttype {
- WRITEDICTS {
- dup dup length 2 mul 5 -1 roll add 4 2 roll {
- % We have to use .execn here, rather than simply rolling the
- % value under the top elements, because key might involve arrays
- % or dictionaries.
- cvlit {.cntobj} exch 2 .execn .cntobj
- } forall
- } {
- /writeobject .systemvar /typecheck signalerror
- } ifelse
-} bind put
-
-/w2dict mark
- /nametype { 2 copy .writecvs pop } bind
- /stringtype 1 index
-.dicttomark def
-
-/.bosheader { % <top_length> <total_length> <string8> .bosheader
- % <string4|8>
- dup 0 currentobjectformat 127 add put % object format => BOS tag
- 2 index 255 le 2 index 65531 le and {
- % Use the short header format: tag toplen(1) totlen(2)
- exch 4 add exch
- 0 4 getinterval
- dup 1 5 -1 roll put
- } {
- % Use the long header format: tag 0(1) toplen(2) totlen(4)
- exch 8 add exch
- 0 0 4 2 roll .bosobject exch pop exch pop % store with byte swapping
- } ifelse % Stack: shortlen str
- exch dup -8 bitshift exch 255 and % str hibyte lobyte
- currentobjectformat 1 and 0 eq { % lsb first
- exch
- } if
- 2 index 3 3 -1 roll put
- 1 index 2 3 -1 roll put
-} .bind def
-
-/.writeobjects { % <file> <tag> <array> .writeobjects -
- mark exch
-
- % Count the space required for refs and strings.
-
- dup length 0 3 -1 roll
- % Stack: file tag -mark- #refs #chars array
- dup 4 1 roll { .cntobj } forall
-
- % Write the header.
-
- % Stack: file tag -mark- array1 ... (array|dict)N #refs #chars
- counttomark 3 add -2 roll 4 1 roll
- % Stack: -mark- array1 ... (array|dict)N tag #refs #chars file
- dup counttomark 1 sub index length
- 4 index 3 bitshift 4 index add
- (xxxxxxxx) .bosheader writestring
-
- % Write the objects per se.
-
- 3 1 roll pop
- counttomark 1 sub index length 3 bitshift exch
- 3 bitshift
- % Stack: -mark- array1 ... (array|dict)N tag file ref# char#
- counttomark 4 sub {
- counttomark -1 roll dup 6 1 roll
- % Stack: ... objN tag file ref# char# objN
- dup type /dicttype eq { % can't be first object
- { 5 1 roll (x\000xxxxxx) .bosobject
- 3 index exch writestring
- 4 -1 roll (x\000xxxxxx) .bosobject
- 3 index exch writestring
- } forall
- } {
- { (x\000xxxxxx) .bosobject
- dup 1 6 index put
- 3 index exch writestring
- 4 -1 roll pop 0 4 1 roll % clear tag
- } forall
- } ifelse
- } repeat
-
- % Write the strings and names.
-
- pop pop exch pop
- % Stack: -mark- array1 ... array|dictN file
- counttomark 1 sub {
- counttomark -1 roll {
- % The counting pass ensured that the keys and values
- % of any dictionary must be writable objects.
- % Hence, we are processing a dictionary iff
- % the next-to-top stack element is not a file.
- 1 index type /filetype ne {
- exch 2 index exch dup type //w2dict exch .knownget
- { exec } { pop } ifelse pop
- } if
- dup type //w2dict exch .knownget { exec } { pop } ifelse
- } forall
- } repeat
-
- % Clean up.
-
- % Stack: -mark- file
- pop pop
-
-} .bind def
-
-/printobject { % <obj> <tag> printobject -
- currentobjectformat 0 eq {
- /printobject .systemvar /undefined signalerror
- } if
- (%stdout) (w) file 2 index 2 index .writeobject pop pop
-} odef
-/writeobject { % <file> <obj> <tag> writeobject -
- currentobjectformat 0 eq {
- /writeobject .systemvar /undefined signalerror
- } if
- 2 .argindex pop % check # of args
- .writeobject
-} odef
-/.writeobject {
- 3 copy exch
- % We must allocate the array in local VM
- % to avoid a possible invalidaccess.
- .currentglobal false .setglobal exch 1 array astore exch .setglobal
- .writeobjects pop pop pop
-} .bind def
-
-% Implement binary error message output.
-/.objectprinttest { % <obj> .objectprinttest -
- % This is a pseudo-operator so it will restore the stack
- % if it gets an error.
- mark 0 0 3 .argindex .cntobj cleartomark pop
-} bind odef
-/.printerror {
- $error /binary get .languagelevel 2 ge and {
- currentobjectformat 0 ne {
- [ /Error $error /errorname get $error /command get
- % Convert the object with cvs if it isn't printable.
- dup { .objectprinttest } .internalstopped {
- pop 100 string cvs
- } if
- false ] 250 printobject
- }
- //.printerror % known to be a procedure
- ifelse
- }
- //.printerror % known to be a procedure
- ifelse
-} bind def
-
-currentdict /cntdict .undef
-currentdict /w2dict .undef
-
-% End of level2dict
-
-end
-.setlanguagelevel