input paramsa; font_identifier:="gooegb"; font_size 10pt#; beginchar("+",gow#,goh#,0); "Empty vertex, center of board"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z4..z6; draw z2..z8; endchar; beginchar("[",gow#,goh#,0); "Empty vertex, left edge of board"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z5..z8; pickup pensquare scaled widepen; draw z4..z6; endchar; beginchar("]",gow#,goh#,0); "Empty vertex, right edge of board"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z2..z5; pickup pensquare scaled widepen; draw z4..z6; endchar; beginchar("(",gow#,goh#,0); "Empty vertex, top edge of board"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z5..z6; pickup pensquare scaled widepen; draw z2..z8; endchar; beginchar(")",gow#,goh#,0); "Empty vertex, bottom edge of board"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z4..z5; pickup pensquare scaled widepen; draw z2..z8; endchar; beginchar("<",gow#,goh#,0); "Empty vertex, upper left corner"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled widepen; draw z5..z6; draw z5..z8; endchar; beginchar(">",gow#,goh#,0); "Empty vertex, upper right corner"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled widepen; draw z2..z5; draw z6..z5; endchar; beginchar(",",gow#,goh#,0); "Empty vertex, lower left corner"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled widepen; draw z4..z5; draw z8..z5; endchar; beginchar(".",gow#,goh#,0); "Empty vertex, lower right corner"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled widepen; draw z4..z5; draw z2..z5; endchar; beginchar("*",gow#,goh#,0); "Hoshi"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; pickup pensquare scaled smallpen; draw z4..z6; draw z2..z8; pickup pencircle scaled hoshi; drawdot z5; endchar; beginchar("@",gow#,goh#,0); "Black Stone"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; z10=setback[z4,z5]; z11=setback[z2,z5]; z12=setback[z6,z5]; z13=setback[z8,z5]; pickup pencircle scaled whitepen; fill z10..z11..z12..z13..cycle; picture blackstone; blackstone:=currentpicture; endchar; beginchar("!",gow#,goh#,0); "White Stone"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; z10=setback[z4,z5]; z11=setback[z2,z5]; z12=setback[z6,z5]; z13=setback[z8,z5]; pickup pencircle scaled whitepen; draw z10..z11..z12..z13..cycle; picture whitestone; whitestone:=currentpicture; endchar; beginchar(":",gow#,goh#,0); "Black Stone, triangled"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; x14=.066987w; x15=.933012w; y14=y15=.25h; edgecorrection=.07; z10=setback[z4,z5]; z11=setback[z2,z5]; z12=setback[z6,z5]; z13=setback[z8,z5]; z16=setback[z14,z5]; z17=setback[z15,z5]; z18=edgecorrection[z4,z5]; z19=edgecorrection[z16,z5]; z20=edgecorrection[z17,z5]; fill z10..z11..z12..z13..cycle; pickup pencircle scaled 1.75whitepen; undraw z18--z19--z20--cycle; endchar; beginchar(";",gow#,goh#,0); "White Stone, triangled"; x1=x2=x3=0pt; x4=x5=x6=.5w; x7=x8=x9=w; y1=y4=y7=h; y2=y5=y8=.5h; y3=y6=y9=0; x14=.066987w; x15=.933012w; y14=y15=.25h; z10=setback[z4,z5]; z11=setback[z2,z5]; z12=setback[z6,z5]; z13=setback[z8,z5]; z16=setback[z14,z5]; z17=setback[z15,z5]; pickup pencircle scaled whitepen; draw z10..z11..z12..z13..cycle; draw z10--z16--z17--cycle; endchar; end;