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;
|