%wid# := 1mm#; hei# := 1mm#; dep# := 1mm#;
wid# := pt#; hei# := pt#; dep# := pt#;
define_pixels(wid,hei,dep);
save c_s, b, Diam;
c_s = 2wid;
b := wid;

%%%%%%%%%%%%%%% UNPENSTROKE DEFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%
def unpenstroke text t =
 forsuffixes e = l,r: path_.e:=t; endfor
 if cycle path_.l: cyclestroke_
 else: unfill path_.l -- reverse path_.r -- cycle fi enddef;
def cyclestroke_ =
 begingroup interim turningcheck:=0;
 addto pic_ contour path_.l.t_ withweight 1;
 addto pic_ contour path_.r.t_ withweight _;
 cull pic_ dropping origin withweight default_wt_;
 addto_currentpicture also pic_;
 pic_:=nullpicture endgroup enddef;
path path_.l,path_.r;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


beginchar(oct"200",12wid#,12hei#,0); "XPICTOC";
path p[];
numeric ang[];
 x1 = x4 = w - x2 = c_s;
 x2 = x3;
 y1 = y2 = h/4;
 y3 = y4 = h - y1; 
 p0 = z2..z4;
 p1 = z1..z3;
 z10 = z11 = z0 = point .5 of p0;
 x5 = x6 = x0;
 y5 = h - y6 = h/12;
 x7 = x8 = .5[x6,x3];
 y7 = .5[y4,y6];
 y8 = h;
 z9 = (x3,y6);
 z13 = z12 = z6;

 penpos6(.7b,0);
 penpos0(.4b,0);
 penpos5(b,0);
 ang0 = angle(z4-z2)+90;
 penpos4(b,ang0);
 penpos10(.4b,ang0);
 penpos2(b,ang0);
 ang1 = angle(z3-z1)+90;
 penpos3(b,ang1);
 penpos11(.4b,ang1);
 penpos1(b,ang1);
 penpos12(.7b,0);
 penpos8(.7b,-90);
 penpos9(.7b,180);
 penpos7(.7b,90);
 penpos13(.7b,360);

 pickup pencircle scaled .2pt;
 Diam = w++h;
 fill fullcircle scaled Diam shifted (z0);
 unpenstroke z6e..z0e..z5e;
 unpenstroke z4e..z10e..z2e;
 unpenstroke z3e..z11e..z1e;
 unpenstroke z12e{up}..z8e{right}..z9e{down}..z7e{left}..{up}z13e;

 endchar;
