The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
input paramsa;
font_identifier:="gooemt"; font_size 10pt#;
beginchar("+",gow#,goh#,0); "Lines below stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled smallpen;
 draw z4..z10;
 draw z2..z11;
 draw z6..z12;
 draw z8..z13;
 picture lines; lines:=currentpicture;
 endchar;
beginchar("[",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled smallpen;
 draw z8..z13;
 pickup pensquare scaled widepen;
 draw z4..z10;
 draw z6..z12;
 endchar;
beginchar("]",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled smallpen;
 draw z2..z11;
 pickup pensquare scaled widepen;
 draw z4..z10;
 draw z12..z6;
 endchar;
beginchar("(",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled smallpen;
 draw z12..z6;
 pickup pensquare scaled widepen;
 draw z2..z11;
 draw z13..z8;
 endchar;
beginchar(")",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled smallpen;
 draw z4..z10;
 pickup pensquare scaled widepen;
 draw z2..z11;
 draw z13..z8;
 endchar;
beginchar("<",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled widepen;
 draw z12..z6;
 draw z13..z8;
 endchar;
beginchar(">",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled widepen;
 draw z2..z11;
 draw z6..z12;
 endchar;
beginchar(",",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled widepen;
 draw z4..z10;
 draw z8..z13;
 endchar;
beginchar(".",gow#,goh#,0); "Lines around stone, 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;
 z10=setback[z4,z5];
 z11=setback[z2,z5];
 z12=setback[z6,z5];
 z13=setback[z8,z5];
 pickup pensquare scaled widepen;
 draw z4..z10;
 draw z2..z11;
 endchar;
end;