%!PS-Adobe-3.0 %%Creator: graphviz version 2.26.0 (20091210.2329) %%Title: g %%Pages: (atend) %%BoundingBox: (atend) %%EndComments save %%BeginProlog /DotDict 200 dict def DotDict begin /setupLatin1 { mark /EncodingVector 256 array def EncodingVector 0 ISOLatin1Encoding 0 255 getinterval putinterval EncodingVector 45 /hyphen put % Set up ISO Latin 1 character encoding /starnetISO { dup dup findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding EncodingVector def currentdict end definefont } def /Times-Roman starnetISO def /Times-Italic starnetISO def /Times-Bold starnetISO def /Times-BoldItalic starnetISO def /Helvetica starnetISO def /Helvetica-Oblique starnetISO def /Helvetica-Bold starnetISO def /Helvetica-BoldOblique starnetISO def /Courier starnetISO def /Courier-Oblique starnetISO def /Courier-Bold starnetISO def /Courier-BoldOblique starnetISO def cleartomark } bind def %%BeginResource: procset graphviz 0 0 /coord-font-family /Times-Roman def /default-font-family /Times-Roman def /coordfont coord-font-family findfont 8 scalefont def /InvScaleFactor 1.0 def /set_scale { dup 1 exch div /InvScaleFactor exch def scale } bind def % styles /solid { [] 0 setdash } bind def /dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def /dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def /invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def /bold { 2 setlinewidth } bind def /filled { } bind def /unfilled { } bind def /rounded { } bind def /diagonals { } bind def % hooks for setting color /nodecolor { sethsbcolor } bind def /edgecolor { sethsbcolor } bind def /graphcolor { sethsbcolor } bind def /nopcolor {pop pop pop} bind def /beginpage { % i j npages /npages exch def /j exch def /i exch def /str 10 string def npages 1 gt { gsave coordfont setfont 0 0 moveto (\() show i str cvs show (,) show j str cvs show (\)) show grestore } if } bind def /set_font { findfont exch scalefont setfont } def % draw text fitted to its expected width /alignedtext { % width text /text exch def /width exch def gsave width 0 gt { [] 0 setdash text stringwidth pop width exch sub text length div 0 text ashow } if grestore } def /boxprim { % xcorner ycorner xsize ysize 4 2 roll moveto 2 copy exch 0 rlineto 0 exch rlineto pop neg 0 rlineto closepath } bind def /ellipse_path { /ry exch def /rx exch def /y exch def /x exch def matrix currentmatrix newpath x y translate rx ry scale 0 0 1 0 360 arc setmatrix } bind def /endpage { showpage } bind def /showpage { } def /layercolorseq [ % layer color sequence - darkest to lightest [0 0 0] [.2 .8 .8] [.4 .8 .8] [.6 .8 .8] [.8 .8 .8] ] def /layerlen layercolorseq length def /setlayer {/maxlayer exch def /curlayer exch def layercolorseq curlayer 1 sub layerlen mod get aload pop sethsbcolor /nodecolor {nopcolor} def /edgecolor {nopcolor} def /graphcolor {nopcolor} def } bind def /onlayer { curlayer ne {invis} if } def /onlayers { /myupper exch def /mylower exch def curlayer mylower lt curlayer myupper gt or {invis} if } def /curlayer 0 def %%EndResource %%EndProlog %%BeginSetup 14 default-font-family set_font 1 setmiterlimit % /arrowlength 10 def % /arrowwidth 5 def % make sure pdfmark is harmless for PS-interpreters other than Distiller /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse % make '<<' and '>>' safe on PS Level 1 devices /languagelevel where {pop languagelevel}{1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn ([) cvn load put } if %%EndSetup %! Greg shapes for GraphViz/DOT % input format : % [ 54 36 0 36 0 0 54 0 54 36 ] 4 false yourshape % or % [ 54 36 0 36 0 0 54 0 54 36 ] 4 true yourshape % [ 150 150 100 150 100 100 150 100 150 150 ] 4 true yourshape % % [upper right (y, x), lower right (y, x), lower left (y, x), upper left (y, x), upper right (y, x)] /xdef {exch def} bind def /rgv_box { 10 dict begin /fflag xdef /sides xdef 4 sides ne { stop } if aload pop newpath moveto lineto lineto lineto closepath pop pop fflag { fill } { stroke } ifelse end } bind def /rgv_cloud { 10 dict begin /fflag xdef /sides xdef % Check if we have 4 sides. Else stop 4 sides ne { stop } if % (aload) takes an array as its argument and places the individual elements % of that array, and then the array itself, on the stack. Then (pop) remove % the top element from the stack (the array) aload pop /ury xdef /urx xdef /lry xdef /lrx xdef /lly xdef /llx xdef /uly xdef /ulx xdef pop pop /mx lrx llx neg add 2 div def /my uly lly neg add 2 div def % empty the current path and declares we are starting a new path newpath urx ury my neg add my 270 90 arc ulx mx add uly mx 0 180 arc llx lly my add my 90 270 arc lrx lry lineto closepath % The stroke operator on line four causes the path we have constructed to be % painted onto the current page. % The fill operator fills the current path with ink. fflag { fill } { stroke } ifelse end } bind def /rgv_flower { 10 dict begin /fflag xdef /sides xdef % Check if we have 4 sides. Else stop 4 sides ne { stop } if % (aload) takes an array as its argument and places the individual elements % of that array, and then the array itself, on the stack. Then (pop) remove % the top element from the stack (the array) aload pop /ury xdef /urx xdef /lry xdef /lrx xdef /lly xdef /llx xdef /uly xdef /ulx xdef pop pop /mx lrx llx neg add 2 div def /my uly lly neg add 2 div def % empty the current path and declares we are starting a new path newpath % Arcs urx ury my neg add my 270 90 arc ulx mx add uly mx 0 180 arc llx lly my add my 90 270 arc lrx mx neg add lry mx 180 0 arc closepath % The stroke operator on line four causes the path we have constructed to be % painted onto the current page. % The fill operator fills the current path with ink. fflag { fill } { stroke } ifelse end } bind def %[ 150 150 50 150 50 100 150 100 150 150 ] 4 false rgv_box %[ 250 250 150 250 150 200 250 200 250 250 ] 4 false rgv_flower %[ 350 350 250 350 250 300 350 300 350 350 ] 4 false rgv_cloud % %.5 setgray %[ 150 450 50 450 50 400 150 400 150 450 ] 4 true rgv_box %.5 setgray %[ 250 550 150 550 150 500 250 500 250 550 ] 4 true rgv_flower %.5 setgray %[ 350 650 250 650 250 600 350 600 350 650 ] 4 true rgv_cloud % %showpage setupLatin1 %%Page: 1 1 %%PageBoundingBox: 242 301 370 491 %%PageOrientation: Portrait 0 0 1 beginpage gsave 242 301 128 190 boxprim clip newpath 1 1 set_scale 0 rotate 246 306 translate % A gsave 1 setlinewidth 0 0 0 nodecolor [ 87 182 33 182 33 146 87 146 87 182 ] 4 false rgv_box 0 0 0 nodecolor 14 /Times-Roman set_font 54.5 158.9 moveto 11 (A) alignedtext grestore % Bonjour le monde\nComment va tu ? gsave 1 setlinewidth 0 0 0 nodecolor [ 120 110 0 110 0 72 120 72 120 110 ] 4 false rgv_cloud 0 0 0 nodecolor 14 /Times-Roman set_font 7.5 93.4 moveto 105 (Bonjour le monde) alignedtext 0 0 0 nodecolor 14 /Times-Roman set_font 11 78.4 moveto 98 (Comment va tu ?) alignedtext grestore % A->Bonjour le monde\nComment va tu ? gsave 1 setlinewidth 0 0 0 edgecolor newpath 60 145.96 moveto 60 138.21 60 128.96 60 120.28 curveto stroke 0 0 0 edgecolor newpath 63.5 120.11 moveto 60 110.11 lineto 56.5 120.11 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor newpath 63.5 120.11 moveto 60 110.11 lineto 56.5 120.11 lineto closepath stroke grestore % C gsave 1 setlinewidth 0 0 0 nodecolor [ 87 36 33 36 33 0 87 0 87 36 ] 4 false rgv_flower 0 0 0 nodecolor 14 /Times-Roman set_font 55 12.9 moveto 10 (C) alignedtext grestore % Bonjour le monde\nComment va tu ?->C gsave 1 setlinewidth 0 0 0 edgecolor newpath 60 71.82 moveto 60 64.1 60 55.03 60 46.56 curveto stroke 0 0 0 edgecolor newpath 63.5 46.3 moveto 60 36.3 lineto 56.5 46.3 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor newpath 63.5 46.3 moveto 60 36.3 lineto 56.5 46.3 lineto closepath stroke grestore endpage showpage grestore %%PageTrailer %%EndPage: 1 %%Trailer %%Pages: 1 %%BoundingBox: 242 301 370 491 end restore %%EOF