summaryrefslogtreecommitdiff
path: root/macros/mtex/metafont/sonder16.mf
blob: 8421dee032f1bf92a0f3603c4f391408365dd1ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                             %
%                   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;