home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OneVision 3.03
/
OneVision3.03.iso
/
Apps
/
PDFView.app
/
pdfpkg.procset
< prev
next >
Wrap
Text File
|
1996-11-04
|
28KB
|
780 lines
%!
%%Copyright: Copyright 1995 Guenther Fuerthaller. All Rights Reserved.
/currentpacking where {pop currentpacking true setpacking}if
%/L2 false def /where {dup /colorimage eq {pop false} {where} ifelse} bind def
/L2 /languagelevel where {pop languagelevel 2 ge} {false} ifelse def
/packedarray where {pop} {/packedarray {array astore readonly} bind def} ifelse
/isarray {type dup /arraytype eq exch /packedarraytype eq or} bind def
/hardbind
{ dup xcheck exch [ exch
{ dup xcheck
{ dup type /nametype eq
{dup where {exch get dup xcheck {dup isarray {/exec load} if} if} if}
{dup isarray {hardbind} if}
ifelse
} if
} forall
counttomark packedarray exch pop exch {cvx} if
} bind def
systemdict /nextimage known
{
%% bug in the next windowserver: CCITTFax filters don't work and SubFileDecode has a limit of 65535
/repairfilterbugsdict 2 dict def
repairfilterbugsdict begin
revision 125 lt {/CCITTFaxDecode {pop pop pop 500 string 1 packedarray cvx 0 () /SubFileDecode} hardbind def} if
revision 173 lt
{ /SubFileDecode
{ 2 index 65535 gt 2 index length 0 eq and
{ 4 2 roll
20 string
20 string 3 -1 roll 1 index cvs pop
3 -1 roll dup type /filetype eq {cvlit} {0 () /SubFileDecode filter} ifelse
65535 string
{ 2 index cvi dup 2 index length lt {0 exch getinterval 0} {1 index length sub} ifelse
5 -2 roll copy cvs pop dup length 0 gt {readstring} {exch} ifelse pop
}
aload length 4 add packedarray cvx 0 4 -2 roll
} if
} hardbind def
} if
end
repairfilterbugsdict length 0 gt
{ /filter
{ repairfilterbugsdict 1 index known
{repairfilterbugsdict 1 index get exec} if
filter
} hardbind def
} if
version cvr 2015 ge /ovsyncexec where {pop false} {true} ifelse and
{ %/setcolorspace
%{ dup dup isarray {0 get} if
% /CIEBasedA eq {[/Separation /Dummy 4 -1 roll {}]} if
% setcolorspace
%} hardbind def
/setcolor
{ currentcolorspace 0 get /CIEBasedA eq
{ [/Indexed currentcolorspace 4095 {4095 div}] setcolorspace
4095 mul
} if
setcolor
} hardbind def
/image
{ dup type /dicttype eq
{ currentcolorspace 0 get /CIEBasedA eq
{ currentcolor setcolor
0 dict copy begin
/Decode [/Decode load {currentcolorspace 2 get mul} forall] def
currentdict end
} if
} if
image
} hardbind def
} if
} if
/NextStepEncoding where
{ pop
/nxfindfont /findfont load def
/CopyOfStandardEncoding StandardEncoding dup length array copy def
/findfont
{ /currentshared where {pop currentshared} {false} ifelse
{nxfindfont}
{ dup nxfindfont
dup /Encoding get NextStepEncoding eq
{ dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding CopyOfStandardEncoding def
currentdict end definefont
}
{exch pop}
ifelse
}
ifelse
} bind def
} if
/product where {pop product} {(unknown)} ifelse
(Ghostscript) search exch pop
{ pop pop
%% In some cases ASCIIHexDecode filter doesn't read the eof marker
/repairfilterbugsdict 1 dict def
repairfilterbugsdict begin
/ASCIIHexDecode
{ filter
3 dict begin
/src exch def
/state 1 string dup 0 0 put def
/buf 501 string def
[ currentdict end
{ begin
{ { /state load 0 1 put
/src load /buf load readstring
{0 500 getinterval}
{/state load 0 2 put /src load closefile}
ifelse
}
{ /src load /buf load dup 0 1 index 500 get put 1 500 getinterval readstring
{pop 500}
{length 1 add /state load 0 2 put /src load closefile}
ifelse
/buf load 0 3 -1 roll getinterval
}
{()}
}
/state load 0 get get exec
end
} /exec cvx
] cvx 0 () /SubFileDecode
} hardbind def
end
/filter
{ repairfilterbugsdict 1 index known
{repairfilterbugsdict 1 index get exec} if
filter
} hardbind def
} if
L2 not
{ /setcmykcolor where
{pop}
{ /setcmykcolor
{1 sub 4 1 roll 3 {3 index add neg dup 0 lt { pop 0 } if 3 1 roll} repeat setrgbcolor pop} hardbind def
}
ifelse
/rectclip where
{pop}
{ /rectclip
{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath clip newpath} hardbind def
}
ifelse
/execform
{ gsave dup begin
Matrix concat BBox aload pop exch 3 index sub exch 2 index sub rectclip
/PaintProc load end exec
grestore
} hardbind def
/UserObjects 10 array def
/defineuserobject
{ exch dup 1 add dup /UserObjects load length gt
{array dup 0 /UserObjects load putinterval /UserObjects exch store} {pop} ifelse
/UserObjects load exch 3 -1 roll put
} hardbind def
/undefineuserobject {/UserObjects load exch null put} hardbind def
/execuserobject {/UserObjects load exch get exec} hardbind def
} if
mark /AHx /ASCIIHexDecode /A85 /ASCII85Decode /CCF /CCITTFaxDecode
/DCT /DCTDecode /LZW /LZWDecode /RL /RunLengthDecode
counttomark 2 idiv dup dict begin {def} repeat currentdict end /ShrtFN exch def pop
mark /CMYK /DeviceCMYK /G /DeviceGray /RGB /DeviceRGB /I /Indexed /CG /CalGray /CR /CalRGB /CC /CalCMYK
counttomark 2 idiv dup dict begin {def} repeat currentdict end /ShrtCSN exch def pop
mark /W /Width /H /Height /BPC /BitsPerComponent /CS /ColorSpace /F /Filter
/I /Interpolate /IM /ImageMask /D /Decode /DP /DecodeParms
counttomark 2 idiv dup dict begin {def} repeat currentdict end /imgparaabrevdict exch def pop
/buildimagedict
{ counttomark 2 idiv dup 10 add dict begin
{ imgparaabrevdict 2 index known {imgparaabrevdict 3 -1 roll get exch} if
1 index /ColorSpace eq
{ dup type /nametype eq
{ShrtCSN 1 index known {ShrtCSN exch get} if}
{dup 0 /Indexed put dup 1 2 copy get ShrtCSN 1 index known {ShrtCSN exch get} if put}
ifelse
} if
1 index /Filter eq
{ dup isarray
{[exch {ShrtFN 1 index known {ShrtFN exch get} if} forall]}
{ShrtFN 1 index known {ShrtFN exch get} if}
ifelse
} if
def
} repeat cleartomark currentdict end
} hardbind def
/numcolorspacecomponents 8 dict def
numcolorspacecomponents begin
/DeviceGray 1 def
/DeviceRGB 3 def
/DeviceCMYK 4 def
/CIEBasedABC 3 def
/CIEBasedA 1 def
/Pattern 1 def
/Indexed 1 def
/Separation 1 def
end
/pdfpkg 200 dict def
pdfpkg begin
/pdfpkgget {pdfpkg exch get} hardbind def
/pdfpkgput {pdfpkg 3 1 roll put} hardbind def
/pdfpkgexec {pdfpkgget exec} hardbind def
/cmtmpmat matrix def
/clipper {} def
/fillcolorspace null def
/strokecolorspace null def
/fillcolor null def
/fillcolorarrays [null [0] null [0 0 0] [0 0 0 0]] def
/strokecolor null def
/strokecolorarrays [null [0] null [0 0 0] [0 0 0 0]] def
/mustinstallfillcolor true def
/mustinstallstrokecolor true def
/InText false def
/TextLeading 0 def
/TextRise 0 def
/TextCharSpacing 0 def
/TextWordSpacing 0 def
/TextRendering 0 def
/TextHScale 1 def
/TextSize 1 def
/TextMatrix matrix def
/TextBaseMatrix matrix def
/_q null def
/q {/_q save pdfpkgput} hardbind def
/Q {/_q pdfpkgget restore} hardbind def
/cs
{ load /fillcolorspace 1 index pdfpkgput
/fillcolor fillcolorarrays numcolorspacecomponents 4 -1 roll 0 get get get pdfpkgput
/mustinstallfillcolor true pdfpkgput
} hardbind def
/CS
{ load /strokecolorspace 1 index pdfpkgput
/strokecolor strokecolorarrays numcolorspacecomponents 4 -1 roll 0 get get get pdfpkgput
/mustinstallstrokecolor true pdfpkgput
} hardbind def
/sc
{ /fillcolor pdfpkgget astore pop
/mustinstallfillcolor true pdfpkgput
} hardbind def
/SC
{ /strokecolor pdfpkgget astore pop
/mustinstallstrokecolor true pdfpkgput
} hardbind def
/g {/DefaultGray cs sc} hardbind def
/G {/DefaultGray CS SC} hardbind def
/rg {/DefaultRGB cs sc} hardbind def
/RG {/DefaultRGB CS SC} hardbind def
/k {/DeviceCMYK cs sc} hardbind def
/K {/DeviceCMYK CS SC} hardbind def
/pc {/DefaultGray cs pop 0.5 sc} hardbind def
/PC {/DefaultGray CS pop 0.5 SC} hardbind def
L2
{ /pkgsetcolorspace /setcolorspace load def
/pkgsetcolor /setcolor load def
/pkgimage /image load def
/pkgimagemask /imagemask load def
}
{ /pkgsetcolorspacedict 4 dict def
/pkgsetcolorspace {dup isarray {0 get} if pkgsetcolorspacedict exch get {aload pop pdfpkgput} forall} hardbind def
/pkgsetcolor null def
/pkgimage null def
/pkgimagemask
{ begin {/Width /Height /ImageMatrix /DataSource} {load} forall /Decode load 0 get 0 ne 3 1 roll end
imagemask
} hardbind def
/pushimageparams {begin {/Width /Height /BitsPerComponent /ImageMatrix /DataSource} {load} forall end} hardbind def
/pkggrayimage {pushimageparams image} hardbind def
/pkgimageworkbuf 65535 string def
/havecolorimage /colorimage where {pop true} {false} ifelse def
havecolorimage not {save} if
/pkgrgbimage {pushimageparams false 3 colorimage} hardbind def
/pkgcmykimage {pushimageparams false 4 colorimage} hardbind def
havecolorimage not {restore} if
havecolorimage {save} if
/NTSCSUM {.11 mul exch .59 mul add exch .3 mul add} hardbind def
/rgbtogray8Bit {NTSCSUM round cvi} hardbind def
/cmyktogray8Bit {4 1 roll NTSCSUM add dup 255 gt {pop 0} {255 exch sub} ifelse round cvi} hardbind def
/pkgrgbimage
{ pushimageparams
{ {exec pkgimageworkbuf 0 3 -1 roll length 8 mul 3 idiv getinterval}
{exec pkgimageworkbuf 0 3 -1 roll length 4 mul 3 idiv getinterval}
{exec pkgimageworkbuf 0 3 -1 roll length 2 mul 3 idiv getinterval}
null
{ exec 0 1 2 index length 3 idiv 1 sub
{2 copy 3 mul 3 getinterval {} forall rgbtogray8Bit pkgimageworkbuf 3 1 roll put} for
pkgimageworkbuf 0 3 -1 roll length 3 idiv getinterval
}
}
3 index 2 idiv get aload length 1 add packedarray cvx image
} hardbind def
/pkgcmykimage
{ pushimageparams
{ {exec pkgimageworkbuf 0 3 -1 roll length 2 mul getinterval}
{exec pkgimageworkbuf 0 3 -1 roll length getinterval}
{ exec 0 1 2 index length 2 idiv 1 sub
{ 2 copy 2 mul 2 getinterval {} forall
exch dup -4 bitshift 15 and exch 15 and 3 -1 roll dup -4 bitshift 15 and exch 15 and
4 {17 mul 4 1 roll} repeat
cmyktogray8Bit pkgimageworkbuf 3 1 roll put
} for
pkgimageworkbuf 0 3 -1 roll length 2 idiv getinterval
}
null
{ exec 0 1 2 index length 4 idiv 1 sub
{2 copy 4 mul 4 getinterval {} forall cmyktogray8Bit pkgimageworkbuf 3 1 roll put} for
pkgimageworkbuf 0 3 -1 roll length 4 idiv getinterval
}
}
3 index 2 idiv get aload length 1 add packedarray cvx image
} hardbind def
havecolorimage {restore} if
/pkgimagebuf null def
/pkgimagestripcnt 0 def
/pkgindexedimageprocdict 3 dict def
pkgindexedimageprocdict begin
/DeviceGray
{ exec pkgimageworkbuf 0 2 index length getinterval 0 3 -1 roll
{ 3 index exch get
3 copy put pop 1 add
} forall pop exch pop
} hardbind def
/DeviceRGB
{ exec pkgimageworkbuf 0 2 index length 3 mul getinterval 0 3 -1 roll
{ 3 index exch 3 mul 3 getinterval
3 copy putinterval pop 3 add
} forall pop exch pop
} hardbind def
/DeviceCMYK
{ exec pkgimageworkbuf 0 2 index length 4 mul getinterval 0 3 -1 roll
{ 3 index exch 4 mul 4 getinterval
3 copy putinterval pop 4 add
} forall pop exch pop
} hardbind def
end
/normalizelookup
{ 8 dict begin
/numdestcomps numcolorspacecomponents ColorSpace 1 get dup isarray {0 get} if get def
/numindices 2 BitsPerComponent exp cvi def
/maxval numindices 1 sub def
/decodescale Decode aload pop exch sub maxval div def
/decodemin Decode 0 get def
/hival ColorSpace 2 get def
/srclookup ColorSpace 3 get def
decodemin 0 ne decodescale 1 ne or hival maxval ne or
{ /dstlookup numdestcomps numindices mul string def
0 1 maxval
{ dup numdestcomps mul exch decodescale mul decodemin add
0 2 copy lt {exch} {pop hival 2 copy gt {exch} if} ifelse pop cvi
numdestcomps mul numdestcomps srclookup 3 1 roll getinterval
dstlookup 3 1 roll putinterval
} for
ColorSpace 2 maxval put ColorSpace 3 dstlookup put
0 maxval Decode astore pop
} if
end
} bind def
/pkgindexedimage
{ begin
normalizelookup
havecolorimage not /ColorSpace load 1 get dup isarray {0 get} if /DeviceGray ne and
{ /ColorSpace load 1 get dup isarray {0 get} if /DeviceRGB eq
{ 0 1 /ColorSpace load 2 get
{ dup 3 mul 3 /ColorSpace load 3 get 3 1 roll getinterval {} forall rgbtogray8Bit
/ColorSpace load 3 get 3 1 roll put
} for
}
{ 0 1 /ColorSpace load 2 get
{ dup 4 mul 4 /ColorSpace load 3 get 3 1 roll getinterval {} forall cmyktogray8Bit
/ColorSpace load 3 get 3 1 roll put
} for
}
ifelse
/ColorSpace load 3 2 copy get 0 3 index 2 get 1 add getinterval put
/ColorSpace load 1 /DeviceGray put
} if
/ColorSpace load 3 get /DataSource load
pkgindexedimageprocdict /ColorSpace load 1 get dup isarray {0 get} if get
aload length 2 add packedarray cvx /DataSource exch def
/ColorSpace dup load 1 get def
/ColorSpace load pkgsetcolorspace currentdict end /pkgimage pdfpkgexec
} hardbind def
pkgsetcolorspacedict begin
/DeviceGray [[/pkgsetcolor /setgray load] [/pkgimage /pkggrayimage load]] def
/DeviceRGB [[/pkgsetcolor /setrgbcolor load] [/pkgimage /pkgrgbimage load]] def
/DeviceCMYK [[/pkgsetcolor /setcmykcolor load] [/pkgimage /pkgcmykimage load]] def
/Indexed [[/pkgsetcolor null] [/pkgimage /pkgindexedimage load]] def
end
}
ifelse
/installfillcolor
{ /mustinstallfillcolor pdfpkgget
{ /fillcolorspace pdfpkgget /pkgsetcolorspace pdfpkgexec
/fillcolor pdfpkgget aload pop /pkgsetcolor pdfpkgexec
/mustinstallfillcolor false pdfpkgput
/mustinstallstrokecolor true pdfpkgput
} if
} hardbind def
/installstrokecolor
{ /mustinstallstrokecolor pdfpkgget
{ /strokecolorspace pdfpkgget /pkgsetcolorspace pdfpkgexec
/strokecolor pdfpkgget aload pop /pkgsetcolor pdfpkgexec
/mustinstallstrokecolor false pdfpkgput
/mustinstallfillcolor true pdfpkgput
} if
} hardbind def
/cm {cmtmpmat astore concat} hardbind def
/n {/clipper pdfpkgexec /clipper {} pdfpkgput newpath} hardbind def
/N /n load def
/W {/clipper {clip} pdfpkgput} hardbind def
/W* {/clipper {eoclip} pdfpkgput} hardbind def
/f {/installfillcolor pdfpkgexec q fill Q n} hardbind def
/f* {/installfillcolor pdfpkgexec q eofill Q n} hardbind def
/F /f load def
/F* /f* load def
/S {/installstrokecolor pdfpkgexec q stroke Q n} hardbind def
/s {h S} hardbind def
/B {q f Q S} hardbind def
/B* {q f* Q S} hardbind def
/b {h B} hardbind def
/b* {h B*} hardbind def
/re {4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h} hardbind def
/ri
{ /findcolorrendering where
{ pop findcolorrendering pop dup /ColorRendering resourcestatus
{pop pop /ColorRendering findresource setcolorrendering} {pop} ifelse
}
{pop}
ifelse
} hardbind def
/PS {/pdfdebug where {/pdfdebug get} {false} ifelse {(/PS: ) print dup == flush} if pop} hardbind def
/m /moveto load def
/l /lineto load def
/c /curveto load def
/v {currentpoint 6 2 roll c } hardbind def
/y {2 copy c} hardbind def
/h /closepath load def
/d /setdash load def
/j /setlinejoin load def
/J /setlinecap load def
/M /setmiterlimit load def
/w /setlinewidth load def
/defaultflat currentflat def
/i {dup 0 eq {pop defaultflat} if setflat} hardbind def
/d0 /setcharwidth load def
/d1 {setcachedevice /installfillcolor {} pdfpkgput /installstrokecolor {} pdfpkgput} hardbind def
/BI {q mark} hardbind def
/EI /Q load def
/DI
{ begin
/ImageType 1 def
/ImageMatrix [Width 0 0 Height neg 0 Height] def
currentdict /ImageMask known not {/ImageMask false def} if
ImageMask
{/installfillcolor pdfpkgexec}
{ ColorSpace
dup isarray
{dup 0 get /Indexed eq {dup 1 2 copy get dup where {pop load} if put} if}
{dup where {pop load} if}
ifelse
/ColorSpace 1 index def
/pdfdebug where {/pdfdebug get} {false} ifelse
{ (imagecolorspace: ) print dup dup isarray {dup 0 get /Indexed eq {0 3 getinterval} if} if ==
(BitsPerComponent: ) print BitsPerComponent ==
flush
} if
/pkgsetcolorspace pdfpkgexec
}
ifelse
currentdict /Intent known
{Intent /pdfdebug where {/pdfdebug get} {false} ifelse {(Intent: ) print dup == flush} if ri} if
currentdict /Decode known not
{ /Decode
[ ImageMask
{0 1}
{ ColorSpace dup isarray {0 get} if /Indexed eq
{0 2 BitsPerComponent exp 1 sub}
{numcolorspacecomponents ColorSpace dup isarray {0 get} if get {0 1} repeat} ifelse
} ifelse
] def
} if
L2 not
{ /pkgimagestripcnt Height pdfpkgput
/pkgimagebuf
Width ImageMask not
{ numcolorspacecomponents ColorSpace dup isarray {0 get} if get
mul BitsPerComponent mul
} if
7 add 8 idiv string pdfpkgput
} if
currentdict /DataSource known
{ L2 not
{ /DataSource load isarray not
{/DataSource dup load {pkgimagebuf readstring pop} aload length 1 add packedarray cvx def} if
} if
}
{ L2
{ currentfile
currentdict /Filter known
{ Filter dup isarray {length} {pop 1} ifelse
1 sub 0 1 3 -1 roll
{ currentdict /DecodeParms known
{DecodeParms dup isarray {1 index get} if dup null eq {pop} {exch} ifelse} if
Filter dup isarray {exch get} {exch pop} ifelse
filter
} for
} if
}
{ currentdict /Filter known
{ Filter dup isarray
{dup length 1 ne {(Image uses unsupported cascading filters: ) print flush Filter == flush quit} if 0 get} if
/ASCIIHexDecode ne {(Image uses unsupported filter: ) print Filter == flush quit} if
{ /pkgimagestripcnt pdfpkgget 0 gt
{ currentfile pkgimagebuf readhexstring pop
/pkgimagestripcnt dup pdfpkgget 1 sub dup 0 eq
{{currentfile read {62 eq} {true} ifelse {exit} if} loop} if
pdfpkgput
}
{()}
ifelse
}
}
{{currentfile pkgimagebuf readstring pop}}
ifelse
}
ifelse
/DataSource exch def
}
ifelse
currentdict ImageMask end {/pkgimagemask} {/pkgimage} ifelse pdfpkgexec
} bind def
/ID {buildimagedict DI} def
/awidthparams {/TextWordSpacing pdfpkgget 0 32 /TextCharSpacing pdfpkgget 0 6 -1 roll} hardbind def
/cshow where {pop} {/cshow {[0 0 5 -1 roll {exec} aload pop] cvx forall} hardbind def} ifelse
/awidthcharpath % cx cy char ax ay bool string awidthcharpath
{ { pop pop (0) dup 0 3 index put 2 index charpath
4 index eq {5 index 5 index rmoveto} if
2 index 2 index rmoveto
} exch cshow
pop pop pop pop pop pop
} hardbind def
/filltext {/installfillcolor pdfpkgexec awidthparams awidthshow} hardbind def
/stroketext
{ /installstrokecolor pdfpkgexec awidthparams false exch awidthcharpath
currentpoint cmtmpmat currentmatrix TextBaseMatrix setmatrix stroke setmatrix moveto
} hardbind def
/fillandstroketext {currentpoint 2 index filltext newpath moveto stroketext} hardbind def
/appendtextpath {awidthparams false exch awidthcharpath} hardbind def
/textprocs
[/filltext load
/stroketext load
/fillandstroketext load
{q nulldevice filltext currentpoint Q newpath moveto} hardbind
{q dup filltext Q appendtextpath} hardbind
{q dup stroketext Q appendtextpath} hardbind
{q dup fillandstroketext Q appendtextpath} hardbind
/appendtextpath load
] def
/Tj {textprocs /TextRendering pdfpkgget get exec} hardbind def
/inittextmatrix
{ TextBaseMatrix setmatrix TextMatrix concat
0 /TextRise pdfpkgget translate /TextHScale pdfpkgget 1 scale
} hardbind def
/Tf {/TextSize 1 index pdfpkgput exch findfont exch scalefont setfont} hardbind def
/Tw {/TextWordSpacing exch pdfpkgput} hardbind def
/Tc {/TextCharSpacing exch pdfpkgput} hardbind def
/TL {neg /TextLeading exch pdfpkgput} hardbind def
/Ts {/TextRise exch pdfpkgput currentpoint inittextmatrix moveto} hardbind def
/Tz {100 div /TextHScale exch pdfpkgput inittextmatrix} hardbind def
/Tr
{ /InText pdfpkgget {/TextRendering pdfpkgget 3 le {currentpoint newpath moveto} if} if
/pdfdebug where {/pdfdebug get} {false} ifelse {dup 0 ne {(TextRendering set to: ) print dup == flush} if} if
/TextRendering exch pdfpkgput
} hardbind def
/Td {cmtmpmat translate TextMatrix dup concatmatrix pop inittextmatrix 0 0 moveto} hardbind def
/TD {/TextLeading 1 index pdfpkgput Td} hardbind def
/T* {0 /TextLeading pdfpkgget Td} hardbind def
/' {T* Tj} hardbind def
/" {exch Tc exch Tw '} hardbind def
/TJ {{dup type /stringtype eq {Tj} {1000 div /TextSize pdfpkgget mul neg 0 rmoveto} ifelse} forall} hardbind def
/Tm {TextMatrix astore pop inittextmatrix 0 0 moveto} hardbind def
/BT
{ /InText true pdfpkgput
TextBaseMatrix currentmatrix pop TextMatrix identmatrix pop inittextmatrix newpath 0 0 moveto
} hardbind def
/ET
{ /TextRendering pdfpkgget 3 gt {clip} if TextBaseMatrix setmatrix newpath
/InText false pdfpkgput
} hardbind def
/reencodeenc null def
/reencodeindex null def
/reencode
{ /reencodeenc exch pdfpkgput /reencodeindex 0 pdfpkgput
counttomark 1 sub -1 0
{ index dup type /nametype eq
{/reencodeenc pdfpkgget /reencodeindex pdfpkgget 3 -1 roll put /reencodeindex pdfpkgget 1 add} if
/reencodeindex exch pdfpkgput
} for
cleartomark /reencodeenc pdfpkgget
} bind def
/PredefinedEncodings
[
[39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
/hungarumlaut/ogonek/caron
StandardEncoding 256 array copy reencode
[1/dotlessi/caron 39/quotesingle 96/grave
127/bullet/bullet/bullet/quotesinglbase/florin/quotedblbase/ellipsis
/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE
/bullet/bullet/bullet/bullet/quoteleft/quoteright/quotedblleft
/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/bullet/bullet/Ydieresis/space/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus
/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla
/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash
/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave
/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde
/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute
/ucircumflex/udieresis/yacute/thorn/ydieresis
StandardEncoding 256 array copy reencode
] def
/TZ
{ 3 1 roll findfont dup length 3 add dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
currentdict /OrigFontName known not
{/OrigFontName currentdict /FontName known {/FontName load} {1 index} ifelse def} if
/FontName exch def
dup 0 ge {/Encoding PredefinedEncodings 3 -1 roll get def} {pop} ifelse
counttomark 0 eq {pop} {/Encoding load 256 array copy reencode /Encoding exch def} ifelse
/FontName load currentdict end definefont pop
} bind def
/performfontsubstitution
{ 20 dict begin
/OrigFontName 3 -1 roll def
counttomark 2 add -1 roll exch 2 index counttomark 1 add 1 roll TZ
6 1 roll 5 index findfont 1000 scalefont
/_basefont exch def
/FontBBox exch def
/ItalicAngle exch def
/MissingWidth exch def
/Widths exch def
/FirstChar exch def
/NewItalicMatrix matrix def
/UnItalicMatrix matrix def
_basefont /FontInfo known
{ _basefont /FontInfo get /ItalicAngle known
{ ItalicAngle 0 eq {/ItalicAngle _basefont /FontInfo get /ItalicAngle get def} if
NewItalicMatrix 2 ItalicAngle dup 0 lt {neg} if dup sin exch cos div put
UnItalicMatrix 2 _basefont /FontInfo get /ItalicAngle get dup 0 gt {neg} if dup sin exch cos div put
} if
} if
/_basefont _basefont UnItalicMatrix makefont def
/FontType 3 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding _basefont /Encoding get def
/fontbboxisnotallzero FontBBox {0 ne} forall or or or def
%fontbboxisnotallzero
%{ gsave NewItalicMatrix setmatrix
% _basefont /FontMatrix get concat _basefont /FontBBox get aload pop
% newpath 3 index 3 index moveto 1 index 3 index lineto 2 copy lineto 3 index 1 index lineto pop pop pop pop
% matrix setmatrix pathbbox grestore
% exch pop 3 -1 roll pop
% FontBBox 3 get exch div exch FontBBox 1 get exch div
% 2 copy gt {exch} if pop
% /pdfdebug where {/pdfdebug get} {false} ifelse
% { (Vertical adjustment for Font ) print
% OrigFontName dup length string cvs print
% (: ) print
% dup == flush
% } if
% [1 0 0 5 -1 roll 0 0] _basefont exch makefont
% /_basefont exch def
%} if
/BuildChar
{ exch begin
gsave _basefont setfont ( ) dup 0 3 index put dup stringwidth grestore
4 -1 roll FirstChar sub dup 0 ge 1 index Widths length lt and
{Widths exch get} {pop MissingWidth} ifelse dup 0 eq {pop 1 index} if
dup 4 -1 roll 1 index 0 ne 1 index 0 ne and {div} {pop pop 1} ifelse 3 1 roll exch
fontbboxisnotallzero
{FontBBox aload pop}
{ gsave NewItalicMatrix setmatrix 2 index 1 scale
_basefont /FontMatrix get concat _basefont /FontBBox get aload pop
newpath 3 index 3 index moveto 1 index 3 index lineto 2 copy lineto 3 index 1 index lineto pop pop pop pop
matrix setmatrix pathbbox grestore
}
ifelse
6 copy setcachedevice
newpath 3 index 3 index moveto 1 index 3 index lineto 2 copy lineto 3 index 1 index lineto clip
pop pop pop pop pop pop
NewItalicMatrix concat 1 scale _basefont setfont 0 0 moveto show
end
} hardbind def
currentdict end definefont pop
} bind def
/substfontifneeded
{ 1 index
/resourcestatus where {pop dup /Font resourcestatus {pop pop pop false} {true} ifelse} if
{dup findfont /FontName get ne} {false} ifelse
{performfontsubstitution} {TZ 6 {pop} repeat} ifelse
} bind def
/DeviceGray [/DeviceGray] def
/DeviceRGB [/DeviceRGB] def
/DeviceCMYK [/DeviceCMYK] def
/DefaultGray /DeviceGray load def
/DefaultRGB /DeviceRGB load def
L2
{ /DefaultCalRGB
[ /CIEBasedABC
2 dict begin
/MatrixLMN [.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505] def
/WhitePoint [0.9505 1 1.089] def
currentdict end
] def
/DefaultCalGray
[ /CIEBasedA
2 dict begin
/MatrixLMN [.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505] def
/WhitePoint [0.9505 1 1.089] def
currentdict end
] def
/initcalcs
{ /DefaultRGB where {/DefaultRGB get dup isarray {0 get} if} {/DeviceRGB} ifelse
/DeviceRGB eq {/DefaultRGB /DefaultCalRGB pdfpkgget pdfpkgput} if
/DeviceRGB /DefaultRGB load pdfpkgput
/DefaultGray where {/DefaultGray get dup isarray {0 get} if} {/DeviceGray} ifelse
/DeviceGray eq
{ /DefaultRGB load 1 get
dup dup /RangeABC known not exch dup /DecodeABC known not exch /MatrixABC known not and and
not {pop /DefaultCalGray pdfpkgget 1 get} {0 dict copy} ifelse
/CIEBasedA exch 2 array astore
/DefaultGray exch pdfpkgput
} if
/DeviceGray /DefaultGray load pdfpkgput
0 g 0 G
} def
/definecolorspaceresource {pdfpkgput} def
}
{ /initcalcs {} def
/definecolorspaceresource {pop pop} def
}
ifelse
/beginpdf {pdfpkg begin 0 g 0 G []0 d 0 j 0 J 10 M 1 w 0 Tr} def
/endpdf {end} def
end
/currentpacking where {pop setpacking}if