%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                             %
%                   SONDERZEICHEN                             %
%                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




def alla_breve (expr trans) =
        thin := 5thinwidth; thick := 1/2 nhh;
        penpos1(thin,   0);
        penpos2(thin, -90);
        penpos3(thick,180);
        penpos4(2/3thin,  90);
        penpos5(thin,  45);
        penpos6(3/4thick,45);
        2x2r = 2x4r = x1 + 2s = w;
        x3r = 0; 2y1 = 3y2 = y4r = h;
        y3r = 2/3h;
        x5 = w -2s;
        y5 = h -2s;
        z6r = z5r;
        penstroke (z1e..z2e..z3e..z4e..z5e) transformed trans;
        currentpen := pencircle scaled (2/3thick);
        drawdot z6;
enddef;


%%%%%%%%%%%%%%%%
% "allabreve" %%
%%%%%%%%%%%%%%%%

beginchar(82, 2nhh#, 3nhh#, 0);
        clear;
        alla_breve(identity);
        z7 = z4 + 2/16 h *up;
        z8 = z2 + 2/16 h *down;
        currentpen := pencircle scaled (thin);
        draw z7--z8;

endchar;

%%%%%%%%
% "C" %%
%%%%%%%%

beginchar(83, 2nhh#, 3nhh#, 0);
        clear;
        alla_breve(identity);

endchar;

%%%%%%%%%%%%%%%
% "reverseC" %%
%%%%%%%%%%%%%%%

beginchar(84, 2nhh#, 3nhh#, 0);
        clear;
        transform T;
   xxpart T = -yypart T; xypart T = yxpart T; % T is a reflection
   (w/2,0) transformed T = (w/2,0);  (w/2,1) transformed T = (w/2,1);
        thin := 5thinwidth; thick := 1/2 nhh;
        penpos1(thin,   0);
        penpos2(thin, -90);
        penpos3(thick,180);
        penpos4(2/3thin,  90);
        penpos5(thin,  45);
        penpos6(3/4thick,45);
        2x2r = 2x4r = x1 + 2s = w;
        x3r = 0; 2y1 = 3y2 = y4r = h;
        y3r = 2/3h;
        x5 = w -2s;
        y5 = h -2s;
        z6r = z5r;
        penstroke (counterclockwise
        (z1e..z2e..z3e..z4e..z5e) transformed T);
        currentpen := pencircle scaled (2/3thick);
        drawdot (z6 transformed T);

endchar;

%%%%%%%%%%%%%%%
% "fermate1" %%
%%%%%%%%%%%%%%%

beginchar(80, 2nhw#, 1.25nhh#, 0);
        clear;
        penpos2(nhh/4,90);
        penpos4(nhh/4,90);
        y2r =  h;
        z1 =  origin; 2x2l = 2x4l = x3 = w; y4l = y3 = 0;
        penstroke z1..z2e..z3;
        currentpen:= pencircle scaled (nhh/4);
        drawdot z4;
endchar;

%%%%%%%%%%%%%%%
% "fermate2" %%
%%%%%%%%%%%%%%%

beginchar(81, 2nhw#, 0, 1.25nhh#);
        clear;
        penpos2(nhh/4,90);
        penpos4(nhh/4,90);
        y2l = -d;
        z1 =  origin; 2x2l = 2x4 = x3 = w;
        y4r = y3 = 0;
        penstroke (z1..z2e..z3);
        currentpen := pencircle scaled (nhh/4);
        drawdot z4;
endchar;