Created
January 10, 2009 18:55
-
-
Save dwaite/45525 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%!PS-Adobe-3.0 EPSF-3.0 | |
%APL_DSC_Encoding: UTF8 | |
%APLProducer: (Version 10.5.6 (Build 9G55) Quartz PS Context) | |
%%Title: (Unknown) | |
%%Creator: (Unknown) | |
%%CreationDate: (Unknown) | |
%%For: (Unknown) | |
%%DocumentData: Clean7Bit | |
%%LanguageLevel: 2 | |
%%Pages: 1 | |
%%BoundingBox: 0 0 391 280 | |
%%EndComments | |
%%BeginProlog | |
%%BeginFile: cg-pdf.ps | |
%%Copyright: Copyright 2000-2004 Apple Computer Incorporated. | |
%%Copyright: All Rights Reserved. | |
currentpacking true setpacking | |
/cg_md 141 dict def | |
cg_md begin | |
/L3? languagelevel 3 ge def | |
/bd{bind def}bind def | |
/ld{load def}bd | |
/xs{exch store}bd | |
/xd{exch def}bd | |
/cmmtx matrix def | |
mark | |
/sc/setcolor | |
/scs/setcolorspace | |
/dr/defineresource | |
/fr/findresource | |
/T/true | |
/F/false | |
/d/setdash | |
/w/setlinewidth | |
/J/setlinecap | |
/j/setlinejoin | |
/M/setmiterlimit | |
/i/setflat | |
/rc/rectclip | |
/rf/rectfill | |
/rs/rectstroke | |
/f/fill | |
/f*/eofill | |
/sf/selectfont | |
/s/show | |
/xS/xshow | |
/yS/yshow | |
/xyS/xyshow | |
/S/stroke | |
/m/moveto | |
/l/lineto | |
/c/curveto | |
/h/closepath | |
/n/newpath | |
/q/gsave | |
/Q/grestore | |
counttomark 2 idiv | |
{ld}repeat pop | |
/SC{ | |
/ColorSpace fr scs | |
}bd | |
/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld | |
/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld | |
/cgmtx matrix def | |
/sdmtx{cgmtx currentmatrix pop}bd | |
/CM {cgmtx setmatrix}bd | |
/cm {cmmtx astore CM concat}bd | |
/W{clip newpath}bd | |
/W*{eoclip newpath}bd | |
statusdict begin product end dup (HP) anchorsearch{ | |
pop pop pop | |
true | |
}{ | |
pop | |
(hp) anchorsearch{ | |
pop pop true | |
}{ | |
pop false | |
}ifelse | |
}ifelse | |
{ | |
{ | |
{ | |
pop pop | |
(0)dup 0 4 -1 roll put | |
F charpath | |
}cshow | |
} | |
}{ | |
{F charpath} | |
}ifelse | |
/cply exch bd | |
/cps {cply stroke}bd | |
/pgsave 0 def | |
/bp{/pgsave save store}bd | |
/ep{pgsave restore showpage}def | |
/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd | |
/scrdict 10 dict def | |
/scrmtx matrix def | |
/patarray 0 def | |
/createpat{patarray 3 1 roll put}bd | |
/makepat{ | |
scrmtx astore pop | |
gsave | |
initgraphics | |
CM | |
patarray exch get | |
scrmtx | |
makepattern | |
grestore | |
setpattern | |
}bd | |
/cg_BeginEPSF{ | |
userdict save/cg_b4_Inc_state exch put | |
userdict/cg_endepsf/cg_EndEPSF load put | |
count userdict/cg_op_count 3 -1 roll put | |
countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put | |
3 sub{end}repeat | |
/showpage {} def | |
0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin | |
10 setmiterlimit [] 0 setdash newpath | |
false setstrokeadjust false setoverprint | |
}bd | |
/cg_EndEPSF{ | |
countdictstack 3 sub { end } repeat | |
cg_dict_array 3 1 index length 3 sub getinterval | |
{begin}forall | |
count userdict/cg_op_count get sub{pop}repeat | |
userdict/cg_b4_Inc_state get restore | |
F setpacking | |
}bd | |
/cg_biproc{currentfile/RunLengthDecode filter}bd | |
/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd | |
/ImageDataSource 0 def | |
L3?{ | |
/cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd | |
/cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd | |
}{ | |
/ImageBandMask 0 def | |
/ImageBandData 0 def | |
/cg_mibiproc{ | |
string/ImageBandMask xs | |
string/ImageBandData xs | |
/ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx | |
/pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd | |
}bd | |
/cg_miaiproc{ | |
string/ImageBandMask xs | |
string/ImageBandData xs | |
/ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter | |
dup ImageBandMask/readstring cvx | |
/pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd | |
}bd | |
}ifelse | |
/imsave 0 def | |
/BI{save/imsave xd mark}bd | |
/EI{imsave restore}bd | |
/ID{ | |
counttomark 2 idiv | |
dup 2 add | |
dict begin | |
{def} repeat | |
pop | |
/ImageType 1 def | |
/ImageMatrix[Width 0 0 Height neg 0 Height]def | |
currentdict dup/ImageMask known{ImageMask}{F}ifelse exch | |
L3?{ | |
dup/MaskedImage known | |
{ | |
pop | |
<< | |
/ImageType 3 | |
/InterleaveType 2 | |
/DataDict currentdict | |
/MaskDict | |
<< /ImageType 1 | |
/Width Width | |
/Height Height | |
/ImageMatrix ImageMatrix | |
/BitsPerComponent 1 | |
/Decode [0 1] | |
currentdict/Interpolate known | |
{/Interpolate Interpolate}if | |
>> | |
>> | |
}if | |
}if | |
exch | |
{imagemask}{image}ifelse | |
end | |
}bd | |
/cguidfix{statusdict begin mark version end | |
{cvr}stopped{cleartomark 0}{exch pop}ifelse | |
2012 lt{dup findfont dup length dict begin | |
{1 index/FID ne 2 index/UniqueID ne and | |
{def} {pop pop} ifelse}forall | |
currentdict end definefont pop | |
}{pop}ifelse | |
}bd | |
/t_array 0 def | |
/t_i 0 def | |
/t_c 1 string def | |
/x_proc{ | |
exch t_array t_i get add exch moveto | |
/t_i t_i 1 add store | |
}bd | |
/y_proc{ | |
t_array t_i get add moveto | |
/t_i t_i 1 add store | |
}bd | |
/xy_proc{ | |
t_array t_i 2 copy 1 add get 3 1 roll get | |
4 -1 roll add 3 1 roll add moveto | |
/t_i t_i 2 add store | |
}bd | |
/sop 0 def | |
/cp_proc/x_proc ld | |
/base_charpath | |
{ | |
/t_array xs | |
/t_i 0 def | |
{ | |
t_c 0 3 -1 roll put | |
currentpoint | |
t_c cply sop | |
cp_proc | |
}forall | |
/t_array 0 def | |
}bd | |
/sop/stroke ld | |
/nop{}def | |
/xsp/base_charpath ld | |
/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd | |
/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd | |
/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd | |
/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd | |
/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd | |
/refnt{ | |
findfont dup length dict copy dup | |
/Encoding 4 -1 roll put | |
definefont pop | |
}bd | |
/renmfont{ | |
findfont dup length dict copy definefont pop | |
}bd | |
L3? dup dup{save exch}if | |
/Range 0 def | |
/DataSource 0 def | |
/val 0 def | |
/nRange 0 def | |
/mulRange 0 def | |
/d0 0 def | |
/r0 0 def | |
/di 0 def | |
/ri 0 def | |
/a0 0 def | |
/a1 0 def | |
/r1 0 def | |
/r2 0 def | |
/dx 0 def | |
/Nsteps 0 def | |
/sh3tp 0 def | |
/ymax 0 def | |
/ymin 0 def | |
/xmax 0 def | |
/xmin 0 def | |
/setupFunEval | |
{ | |
begin | |
/nRange Range length 2 idiv store | |
/mulRange | |
[ | |
0 1 nRange 1 sub | |
{ | |
2 mul/nDim2 xd | |
Range nDim2 get | |
Range nDim2 1 add get | |
1 index sub | |
255 div | |
exch | |
}for | |
]store | |
end | |
}bd | |
/FunEval | |
{ | |
begin | |
nRange mul /val xd | |
0 1 nRange 1 sub | |
{ | |
dup 2 mul/nDim2 xd | |
val | |
add DataSource exch get | |
mulRange nDim2 get mul | |
mulRange nDim2 1 add get | |
add | |
}for | |
end | |
}bd | |
/max | |
{ | |
2 copy lt | |
{exch pop}{pop}ifelse | |
}bd | |
/sh2 | |
{ | |
/Coords load aload pop | |
3 index 3 index translate | |
3 -1 roll sub | |
3 1 roll exch | |
sub | |
2 copy | |
dup mul exch dup mul add sqrt | |
dup | |
scale | |
atan | |
rotate | |
/Function load setupFunEval | |
clippath {pathbbox}stopped {0 0 0 0}if newpath | |
/ymax xs | |
/xmax xs | |
/ymin xs | |
/xmin xs | |
currentdict/Extend known | |
{ | |
/Extend load 0 get | |
{ | |
0/Function load FunEval sc | |
xmin ymin xmin abs ymax ymin sub rectfill | |
}if | |
}if | |
/Nsteps/Function load/Size get 0 get 1 sub store | |
/dx 1 Nsteps div store | |
gsave | |
/di ymax ymin sub store | |
/Function load | |
0 1 Nsteps | |
{ | |
1 index FunEval sc | |
0 ymin dx di rectfill | |
dx 0 translate | |
}for | |
pop | |
grestore | |
currentdict/Extend known | |
{ | |
/Extend load 1 get | |
{ | |
Nsteps/Function load FunEval sc | |
1 ymin xmax 1 sub abs ymax ymin sub rectfill | |
}if | |
}if | |
}bd | |
/shp | |
{ | |
4 copy | |
dup 0 gt{ | |
0 exch a1 a0 arc | |
}{ | |
pop 0 moveto | |
}ifelse | |
dup 0 gt{ | |
0 exch a0 a1 arcn | |
}{ | |
pop 0 lineto | |
}ifelse | |
fill | |
dup 0 gt{ | |
0 exch a0 a1 arc | |
}{ | |
pop 0 moveto | |
}ifelse | |
dup 0 gt{ | |
0 exch a1 a0 arcn | |
}{ | |
pop 0 lineto | |
}ifelse | |
fill | |
}bd | |
/calcmaxs | |
{ | |
xmin dup mul ymin dup mul add sqrt | |
xmax dup mul ymin dup mul add sqrt | |
xmin dup mul ymax dup mul add sqrt | |
xmax dup mul ymax dup mul add sqrt | |
max max max | |
}bd | |
/sh3 | |
{ | |
/Coords load aload pop | |
5 index 5 index translate | |
3 -1 roll 6 -1 roll sub | |
3 -1 roll 5 -1 roll sub | |
2 copy dup mul exch dup mul add sqrt | |
/dx xs | |
2 copy 0 ne exch 0 ne or | |
{ | |
exch atan rotate | |
}{ | |
pop pop | |
}ifelse | |
/r2 xs | |
/r1 xs | |
/Function load | |
dup/Size get 0 get 1 sub | |
/Nsteps xs | |
setupFunEval | |
dx r2 add r1 lt{ | |
0 | |
}{ | |
dx r1 add r2 le | |
{ | |
1 | |
}{ | |
r1 r2 eq | |
{ | |
2 | |
}{ | |
3 | |
}ifelse | |
}ifelse | |
}ifelse | |
/sh3tp xs | |
clippath {pathbbox}stopped {0 0 0 0}if | |
newpath | |
/ymax xs | |
/xmax xs | |
/ymin xs | |
/xmin xs | |
dx dup mul r2 r1 sub dup mul sub dup 0 gt | |
{ | |
sqrt r2 r1 sub atan | |
/a0 exch 180 exch sub store | |
/a1 a0 neg store | |
}{ | |
pop | |
/a0 0 store | |
/a1 360 store | |
}ifelse | |
currentdict/Extend known | |
{ | |
/Extend load 0 get r1 0 gt and | |
{ | |
0/Function load FunEval sc | |
{ | |
{ | |
dx 0 r1 360 0 arcn | |
xmin ymin moveto | |
xmax ymin lineto | |
xmax ymax lineto | |
xmin ymax lineto | |
xmin ymin lineto | |
eofill | |
} | |
{ | |
r1 0 gt{0 0 r1 0 360 arc fill}if | |
} | |
{ | |
0 r1 xmin abs r1 add neg r1 shp | |
} | |
{ | |
r2 r1 gt{ | |
0 r1 | |
r1 neg r2 r1 sub div dx mul | |
0 | |
shp | |
}{ | |
0 r1 calcmaxs | |
dup | |
r2 add dx mul dx r1 r2 sub sub div | |
neg | |
exch 1 index | |
abs exch sub | |
shp | |
}ifelse | |
} | |
}sh3tp get exec | |
}if | |
}if | |
/d0 0 store | |
/r0 r1 store | |
/di dx Nsteps div store | |
/ri r2 r1 sub Nsteps div store | |
/Function load | |
0 1 Nsteps | |
{ | |
1 index FunEval sc | |
d0 di add r0 ri add d0 r0 shp | |
{ | |
d0 0 r0 a1 a0 arc | |
d0 di add 0 r0 ri add a0 a1 arcn | |
fill | |
d0 0 r0 a0 a1 arc | |
d0 di add 0 r0 ri add a1 a0 arcn | |
fill | |
}pop | |
/d0 d0 di add store | |
/r0 r0 ri add store | |
}for | |
pop | |
currentdict/Extend known | |
{ | |
/Extend load 1 get r2 0 gt and | |
{ | |
Nsteps/Function load FunEval sc | |
{ | |
{ | |
dx 0 r2 0 360 arc fill | |
} | |
{ | |
dx 0 r2 360 0 arcn | |
xmin ymin moveto | |
xmax ymin lineto | |
xmax ymax lineto | |
xmin ymax lineto | |
xmin ymin lineto | |
eofill | |
} | |
{ | |
xmax abs r1 add r1 dx r1 shp | |
} | |
{ | |
r2 r1 gt{ | |
calcmaxs dup | |
r1 add dx mul dx r2 r1 sub sub div | |
exch 1 index | |
exch sub | |
dx r2 | |
shp | |
}{ | |
r1 neg r2 r1 sub div dx mul | |
0 | |
dx | |
r2 | |
shp | |
}ifelse | |
} | |
} | |
sh3tp get exec | |
}if | |
}if | |
}bd | |
/sh | |
{ | |
begin | |
/ShadingType load dup dup 2 eq exch 3 eq or | |
{ | |
gsave | |
newpath | |
/ColorSpace load scs | |
currentdict/BBox known | |
{ | |
/BBox load aload pop | |
2 index sub | |
3 index | |
3 -1 roll exch sub | |
exch rectclip | |
}if | |
2 eq | |
{sh2}{sh3}ifelse | |
grestore | |
}{ | |
pop | |
(DEBUG: shading type unimplemented\n)print flush | |
}ifelse | |
end | |
}bd | |
{restore}if not dup{save exch}if | |
L3?{ | |
/sh/shfill ld | |
/csq/clipsave ld | |
/csQ/cliprestore ld | |
}if | |
{restore}if | |
end | |
setpacking | |
%%EndFile | |
%%EndProlog | |
%%BeginSetup | |
%%EndSetup | |
%%Page: 1 1 | |
%%PageBoundingBox: 0 0 391 280 | |
%%BeginPageSetup | |
cg_md begin | |
bp | |
sdmtx | |
[ /CIEBasedABC 4 dict dup begin | |
/WhitePoint [ 0.9505 1.0000 1.0891 ] def | |
/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def | |
/MatrixABC [ 0.4294 0.2332 0.0202 0.3278 0.6737 0.1105 0.1933 0.0938 0.9580 ] def | |
/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def | |
end ] /Cs1 exch/ColorSpace dr pop | |
%%EndPageSetup | |
/Cs1 SC | |
0.50196081 0 0 sc | |
q | |
0 0 390.99823 279.28162 rc | |
195.48541 44.276611 m | |
170.08031 44.276611 149.48541 64.871521 149.48541 90.276611 c | |
149.48541 115.68172 170.08031 136.27661 195.48541 136.27661 c | |
220.8905 136.27661 241.48541 115.68172 241.48541 90.276611 c | |
241.48541 64.871521 220.8905 44.276611 195.48541 44.276611 c | |
h | |
f | |
8.0749283 89.286179 m | |
13.737221 99.090385 26.275295 102.44807 36.079498 96.785774 c | |
137.39627 38.271584 l | |
147.20047 32.609291 150.55817 20.07122 144.89587 10.267014 c | |
139.23358 0.4628067 126.6955 -2.8948746 116.8913 2.7674179 c | |
15.574526 61.281605 l | |
5.770319 66.943893 2.4126358 79.481972 8.0749273 89.286179 c | |
h | |
f | |
246.08359 10.252029 m | |
240.41916 20.055 243.77409 32.593803 253.57706 38.258247 c | |
354.88101 96.79464 l | |
364.68396 102.45908 377.22278 99.104141 382.88721 89.301178 c | |
388.55167 79.498215 385.19672 66.959404 375.39377 61.29496 c | |
274.08981 2.7585678 l | |
264.28683 -2.9058685 251.74803 0.44906616 246.0836 10.252029 c | |
h | |
f | |
1 0.50196081 0 sc | |
390.98541 83.276611 m | |
389.28314 106.02394 387.16736 129.02444 379.09213 150.66797 c | |
357.83453 207.64331 311.09723 251.88493 253.26978 270.46484 c | |
234.41653 276.52237 214.67383 278.53448 194.98538 279.27661 c | |
165.30066 277.89191 137.08115 272.60403 110.0113 259.94888 c | |
60.157078 236.64203 21.457909 189.5961 6.202682 136.9953 c | |
1.0120167 119.09775 -0.08602199 100.87024 0.010688514 82.276611 c | |
5.5022717 88.943283 9.523551 97.928345 17.48539 101.27661 c | |
24.675335 104.30026 31.028038 100.94328 38.799355 100.27661 c | |
38.492188 159.313 73.3013 198.64665 127.2617 223.87332 c | |
148.43707 233.77289 171.5932 238.97853 194.98209 239.27661 c | |
213.47275 239.51227 232.70596 235.83054 249.9606 229.32117 c | |
269.51401 221.94458 287.48996 210.5282 302.61713 196.12262 c | |
317.74457 181.71677 330.02539 164.3201 338.35712 145.15424 c | |
346.77539 125.78926 349.48541 111.71924 351.48541 100.71924 c | |
356.48541 100.71924 367.20224 104.04584 374.48541 100.71924 c | |
382.01978 97.277908 385.80188 88.757492 390.96011 82.276611 c | |
390.96854 82.60994 391.01028 82.944107 390.98541 83.276611 c | |
h | |
f | |
298.48541 82.276611 m | |
318.4903 82.276611 315.4881 110.07909 309.92957 124.9776 c | |
295.29703 164.19717 271.17667 186.98531 231.37064 199.77484 c | |
218.39264 203.94463 208.53238 204.76578 194.97949 205.27661 c | |
177.2673 204.45039 164.76369 202.78503 148.25369 196.02432 c | |
110.65131 180.62643 88.402496 155.41083 77.110191 116.44116 c | |
75.485405 98.719238 74.485405 82.719238 90.485397 82.276611 c | |
116.5899 81.554451 110.88076 109.13097 118.53167 123.29761 c | |
124.91779 135.12234 131.36258 142.77936 141.94391 151.06635 c | |
166.3667 170.19357 191.12619 174.22623 220.7171 165.3851 c | |
238.13541 160.18088 249.75977 152.03041 261.39185 138.14911 c | |
268.36749 129.8246 272.71649 122.77252 276.2821 112.47971 c | |
283.6832 102.41201 276.47833 82.276611 298.48541 82.276611 c | |
h | |
f | |
ep | |
end | |
%%Trailer | |
%%EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment