summaryrefslogtreecommitdiff
path: root/fonts/cm/mf/calu.mf
blob: da27f63f17ee917db3072139767be06b76c8a50d (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
% THIS IS THE OFFICIAL COMPUTER MODERN SOURCE FILE calu.mf BY D E KNUTH.
% IT MUST NOT BE MODIFIED IN ANY WAY UNLESS THE FILE NAME IS CHANGED!

% Calligraphic capitals with `fixed' pens, by N. N. Billawala (1985).

% These letters are intended for math, hence |math_fitting| is assumed.

% Character codes \0101 through \0132 are generated.

cmchar "Calligraphic A";
beginchar("A",14.4u#,cap_height#,0);
italcorr .5u#;
adjust_fit(-.05w#,0); pickup cal.nib;
lft x5=.54w; x7=.9w;
top y5=h+.4cap_curve; bot y7=bot_flourish_line;
z6=.3[z7,z5]-bend;
pickup tilted.nib;
lft x1=.05w; x2=.2w; rt x4=x5;
y1=y2+.1h; bot y2=bot_flourish_line; top y4=h+.4cap_curve;
y3=y6; z3=whatever[z2,z4]+2bend;
draw\\(z1..tension 1.2..{right}z2) softjoin flex(z2,z3,z4); % left diagonal
pickup cal.nib;
erase fill\\(0,bot y5)--(w,bot y5)--(w,top y5)--(0,top y5)--cycle;
draw flex(z5,z6,z7) softjoin (z7--z7+cal.extension); % right diagonal
draw rt z3--z6;  % bar
math_fit(.5u#-.1cap_height#*slant,ic#); labels(1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic B";
beginchar("B",9.9u#,cap_height#,0);
italcorr max(.8h#*slant-.1w#,.3h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
lft x1=lft x3=0; x4=.6[x2,x5]; rt x5=.9w; x6=.4w; rt x7=w;
x8=.4[x9,x7]; lft x9=rt x3;
top y1=h+o; bot y3=-o; z2=.3[z3,z1]+bend;
y4=y1; y5=.6[y6,y4]; y6=.55h; y7=.45[y8,y6]; bot y8=-o; y9=.1h;
draw z1-cal.extension--flex(z1,z2,z3);  % stem
draw z2{up}...z4...z5{down}...{dir 200}z6{dir 10}
 ...z7{down}...z8{left}...z9;  % lobes
math_fit(.5u#,.3h#*slant+.5u#); labels(1,2,3,4,5,6,7,8,9); endchar;

cmchar "Calligraphic C";
beginchar("C",9.4u#,cap_height#,0);
italcorr max(h#*slant-.15w#,.2h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
x0=.7[x2,x1]; rt x1=.85w; x2=.6w; lft x3=0; x4=.5w; rt x5=w;
y0=.7h; y1=.8[y0,y2]; top y2=h+o; y3=.5h; bot y4=-o; y5=.2h;
draw\\(z0{2(x1-x0),y1-y0}...z1)
  softjoin (z1...z2{left}....z3{down}...z4...z5);  % stroke
math_fit(.5u#-.5h#*slant,.2h#*slant+.5u#); labels(0,1,2,3,4,5); endchar;

cmchar "Calligraphic D";
beginchar("D",10u#,cap_height#,0);
italcorr .6h#*slant+.5u#;
adjust_fit(4u#,0); pickup cal.nib;
lft x1=lft x3=0; x4=.2[x1,x5]; rt x5=w; x6=.2w; x7=0;
top y1=top y4=h; bot y3=0; z2=.5[z3,z1]+bend;
y5=.51[y6,y4]; bot y6=bot y7=0;
draw flex(z1,z2,z3);  % stem
draw z1---z4....z5{down}...z6---z7;  % lobe
draw z1{left}...{down}z1-flourish_change;  % swash
math_fit(.5u#-.8h#*slant,ic#-.5u#); labels(1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic E";
beginchar("E",8.5u#,cap_height#,0);
italcorr max(h#*slant-.1w#,.2h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
x1=.9[x3,x2]; rt x2=.9w; x3=.6[x4,x2]; lft x4=.05w;
x5=.7[x6,x2]; lft x6=0; x7=.5[x6,x8]; rt x8=w;
y1=y2-.1h; y2=.9h+o; top y3=h+o; y4=.5[y5,y3];
y5=.55h; y6=.6[y5,y7]; bot y7=-o; y8=.2h;
draw\\(z1{2(x2-x1),y2-y1}...z2)
 softjoin (z2...z3{left}...z4{down}...{right}z5);  % upper arc
draw z5{left}...z6{down}...z7{right}...z8;  % lower arc
math_fit(.5u#-.2h#*slant,.2h#*slant+.5u#);
labels(1,2,3,4,5,6,7,8); endchar;

cmchar "Calligraphic F";
beginchar("F",13.5u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(-.1w#,-u#); pickup cal.nib;
x1=.5w; x3=.4w;  lft x4=.1w; x5=x2+.35w; x6=.7[x1,x7]; rt x7=w;
top y1=top y6=h; z2=.5[z3,z1]+bend;
bot y3=-o; y4=.1h; y5=y2; y7=.9h;
draw flex(z1,z2,z3) softjoin (z3...{x4-x3,5(y4-y3)}z4);  % stem
draw z1-flourish_change+(0,.15asc_height){up}...{right}(z1-(2u,0))
        ---z6...{down}z7;  %  upper bar
draw z2--z5--z5-(0,.1cap_curve);  % middle bar
math_fit(0,.5ic#); labels(1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic G";
beginchar("G",9.4u#,cap_height#,.5desc_depth#);
italcorr max(h#*slant-.05w#,.5h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
x0=.7[x2,x1]; rt x1=.95w; x2=.6w; lft x3=0; x4=.5w;
rt x5=w; x6=.5[x7,x5]; lft x7=.2w;
y0=.7h+o; y1=.8[y0,y2]; top y2=h+o; y3=.5[y4,y2]; bot y4=.1h;
y5=.5h; bot y6=-d-o; y7=-.5d;
draw\\(z0{2(x1-x0),y1-y0}...z1)
 softjoin (z1...z2{left}....z3{down}...z4...{up}z5);  % arc
draw z5{down}...z6{left}...z7;  % tail
math_fit(.5u#-.4h#*slant,.5h#*slant+.5u#);
labels(0,1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic H";
beginchar("H",12.2u#,cap_height#,0);
italcorr max(h#*slant-.2w#,.15h#*slant)+.5u#;
adjust_fit(4u#,0); pickup cal.nib;
lft x1=lft x3=.5u; rt x4=rt x6=.8w-.6u; rt x9=w;
top y1=top y4=h; bot y3=-.06h; bot y6=bot_flourish_line; y9=y6+.1h;
z2=.6[z3,z1]+bend; z5=.4[z6,z4]-bend;
path p[]; p1=flex(z1,z2,z3); p2=flex(z4,z5,z6);
p3=(-w,.45h)--(2w,.45h);
rt z7+2bend=p3 intersectionpoint p1; rt z8=p3 intersectionpoint p2;
draw (z1-flourish_change-bend{curl2}....z1-(u,0)---z1) softjoin p1;  % left stem
draw p2 softjoin (z6{right}...{up}z9);  % right stem
draw z7--z8;  % bar
math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
labels(1,2,3,4,5,6,7,8,9); endchar;

cmchar "Calligraphic I";
beginchar("I",10.8u#,cap_height#,0);
italcorr max(h#*slant+.5cap_curve#-.2w#,.15h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
lft x0=0; x1=.9w; x2=x4=.5w; x5=.2w; x6=.8w; rt x7=1.05w;
y0=.8h; top y1=top y2=h; z3=.5[z4,z2]+bend;
bot y4=bot y5=bot y6=0; y7=.15h;
draw z0{up}...z2---z1;  % upper bar
z8=.5[z2,z1];
draw z8{left}...z3{down}...{left}.5[z4,z5];  % stem
draw z5---z6...{up}z7;  % lower bar
math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
labels(0,1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic J";
beginchar("J",11.7u#,cap_height#,.5desc_depth#);
italcorr h#*slant+.25u#;
adjust_fit(0,0); pickup cal.nib;
x0=.6w; rt x1=w; rt x2=.75w; x3=.5[x4,x2]; lft x4=0;
top y0=top y1=h; y2=.2h; bot y3=-d-o; y4=d;
draw z1---z0...{down}z0-(4u,2/7h);  % upper bar
draw z1{left}...z2{down}...z3{left}...{up}z4;  % stem and tail
math_fit(.5u#,0); labels(0,1,2,3,4); endchar;

cmchar "Calligraphic K";
beginchar("K",11u#,cap_height#,0);
italcorr max(h#*slant-.2w#,.2h#*slant)+.5u#;
adjust_fit(0,.1w#); pickup cal.nib;
lft x1=lft x3=0; top y1=h+o; bot y3=-o; z2=.6[z3,z1]+bend;
draw z1-cal.extension--flex(z1,z2,z3);  % stem
pickup light_cal.nib;
rt x4=.9w; x5=x4-.1w; x7=.8w; rt x8=1.1w;
y4=.9h; top y5=h+o; bot y7=-o; y8=.2h-o;
(lft z6)t_=z2.t_+penoffset up of pen_[cal.nib];
draw z4{up}...{left}z5..tension atleast 2..{down}z6
 ..tension atleast 3 and atleast 2..z7{right}...{up}z8;  % diagonals
math_fit(.5u#,.2h#*slant+.5u#); labels(1,2,3,4,5,6,7,8); endchar;

cmchar "Calligraphic L";
beginchar("L",10.8u#,cap_height#,0);
italcorr .2h#*slant+.5u#;
adjust_fit(0,0); pickup heavy_cal.nib;
x1=.2w; x2=x1+.3w; rt x3=x2+.25w; lft x4=0;
x5=.8[x4,x6]; rt x6=w; x7=.2[x4,x5];
y1=.4h-o; top y2=h+o; y3=.8h; bot y4=bot y5=-o;
y6=.2h-o; y7=9/70h-o;
path p; p=z4...z7{right}..{right}z5...{up}z6; draw p;  % arm
draw z4{dir .75angle(direction 0 of p)}
 ...z1{up}...z2{right}...{down}z3;  % stem and flourish
math_fit(.5u#,ic#); labels(1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic M";
beginchar("M",19.8u#,cap_height#,0);
italcorr max(h#*slant-u#,.75cap_curve#)+.5cap_curve#+.5u#;
adjust_fit(-.1w#,0); pickup med_cal.nib;
(z20)t_=(z5)t_+penoffset down of currentpen
 =(z4)t_+penoffset down of pen_[tilted.nib];
z6=.3[z7,z5]-bend; z9=.3[z8,z10]+.5bend; z12=.3[z13,z11]-bend;
x7=.5[x2,x13]; bot y7=.05h; top y5=h+o;
(z0)t_=(z7)t_+penoffset right of currentpen
 =(z8)t_+penoffset right of pen_[tilted.nib];
pickup cal.nib;
(z30)t_=(z11)t_+penoffset up of currentpen
 =(z10)t_+penoffset up of pen_[tilted.nib];
x13=w; bot y13=bot_flourish_line;
pickup tilted.nib;
lft x1=.1w; x2=.2w; x4=.2[x2,x7]; x10=.8[x7,x13];
y1=.05h+y2; bot y2=bot_flourish_line; top y10=h+o;
z3=whatever[z2,z4]+2bend; y3=y6;
draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4);  % left stem
erase fill z20--(.5w,y20)--(.5w,top y4)--(x20-4u,top y4)--cycle;
pickup med_cal.nib;
draw flex(z5,z6,z7);  % left diagonal
pickup cal.nib;
draw flex(z11,z12,z13) softjoin (z13--z13+cal.extension);  % right stem
pickup tilted.nib;
path p; p=flex(z8,z9,z10);
erase fill z0--(x0,y0-.5h)--(x9,y0-.5h)--subpath(1,0) of p--cycle;
erase fill z30--(x30,y30+.5h)--(x9,y30+.5h)--subpath(1,2) of p--cycle;
draw p;  % right diagonal
math_fit(.5u#-.05h#*slant,ic#);
labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,20,30); endchar;

cmchar "Calligraphic N";
beginchar("N",9u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(2u#,2.5u#); pickup med_cal.nib;
(z0)t_=(z5)t_+penoffset down of currentpen
 =(z4)t_+penoffset down of pen_[tilted.nib];
(z20)t_=(z7)t_+penoffset up of currentpen
 =(z8)t_+penoffset up of pen_[tilted.nib];
z6=.3[z7,z5]-bend; rt z7=(w,0); top y5=h+o;
pickup tilted.nib;
lft x1=x2-2u; x2=-u; x4=0; x10=w; rt x11=w+3u;
y1=y2+.05h; bot y2=bot_flourish_line;
y3=y6; z3=whatever[z2,z4]+2bend;
y10=h; z9=.7[z8,z10]-.5bend; bot y11=h;
draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4);  % left stem
draw flex(z8,z9,z10)...{right}z11;  % right stem
pickup med_cal.nib;
erase fill  z0--(.5w,y0)--(.5w,1.5h)--(x0-4u,1.5h)--cycle;
erase fill  z20--(.5w,y20)--(.5w,-.5h)--(x20+4u,-.5h)--cycle;
draw flex(z5,z6,z7);  % diagonal
math_fit(.5u#-.05h#*slant,.3h#*slant);
labels(0,1,2,3,4,5,6,7,8,9,10,11,20); endchar;

cmchar "Calligraphic O";
beginchar("O",12.6u#,cap_height#,0);
italcorr .7h#*slant+.5u#;
adjust_fit(0,0); pickup cal.nib;
x1=.3w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=.27w;
top y1=top y5=h+o; y2=.55h; bot y3=-o; y4=.5h; y6=y2;
path p; p=z1...z2{down}...z3{right}...z4{up}...z5{left}...{down}z6;
draw subpath(0,4.8) of p;  % bowl
math_fit(.5u#-.3h#*slant,ic#-.5u#);
labels(1,2,3,4,5,6); endchar;

cmchar "Calligraphic P";
beginchar("P",9u#,cap_height#,0);
italcorr .8h#*slant+.5u#;
adjust_fit(4u#,0); pickup cal.nib;
lft x1=lft x3=0; x4=x6=.3[x1,x5]; rt x5=w;
top y1=top y4=h; y3=-o; y5=.55[y6,y4]; bot y6=.3h;
z2=.5[z3,z1]+bend;
draw flex(z1,z2,z3);  % stem
draw z1{left}...{down}z1-flourish_change;  % swash
draw z1---z4...z5{down}...{left}z6;  % lobe
math_fit(.5u#-.8h#*slant,.5ic#); labels(1,2,3,4,5,6); endchar;

cmchar "Calligraphic Q";
beginchar("Q",11.7u#,cap_height#,.5desc_depth#);
italcorr max(0,.6h#*slant-2u#)+.5u#;
adjust_fit(0,2u#); pickup cal.nib;
x0=.6w; x1=.4w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=0;
x7=.23w; rt x8=w; x9=x8+2u;
y0=.25h; bot y1=.15h; y2=.45[y1,y3]; top y3=h+o; y4=.5h; bot y5=0;
y6=y7=y9=0; y8=-d;
draw z0...z1{left}...z2{up}...z3{right}
 ...z4{down}...z5...{left}z7; % bowl
draw z7{right}...z8{right}...{up}z9;  % tail
math_fit(.5u#,ic#); labels(0,1,2,3,4,5,6,7,8,9); endchar;

cmchar "Calligraphic R";
beginchar("R",12.6u#,cap_height#,0);
italcorr .2h#*slant;
adjust_fit(4u#,0); pickup cal.nib;
lft x1=lft x3=0; x4=1/4[x1,x5]; rt x5=.7w;
x6=.4[x1,x5]; rt x7=.8w; rt x8=w;
top y1=top y4=h; bot y3=bot y7=-o; y5=.55[y6,y4]; bot y6=.4h; y8=.15h;
z2=.5[z3,z1]+bend;
draw flex(z1,z2,z3);  % stem
draw z1{left}...{down}z1-flourish_change;  % swash
draw z1---z4....z5{down}...{left}z6;  % lobe
draw z6{right}..tension atleast 1.5..z7{right}..z8;  % tail
math_fit(.5u#-.8h#*slant,ic#); labels(1,2,3,4,5,6,7,8); endchar;

cmchar "Calligraphic S";
beginchar("S",9.9u#,cap_height#,0);
italcorr max(.9h#*slant-.05w#,.3h#*slant)+.5u#;
adjust_fit(0,0); pickup cal.nib;
rt x0=rt x1=.95w; x2=.5[x3,x1]; lft x3=.15w; x4=.5[x6,x2];
rt x5=w; x6=.5w; lft x7=0; lft x8=.075w;
y0=.8h; y1=.9h; top y2=h+o; y3=.55[y4,y2]; y4=.55[y6,y2];
y5=.45[y6,y4]; bot y6=-o; y7=.2h; y8=.35h;
draw\\(z0--z1) softjoin (z1...z2{left}...z3{down}...z4...z5{down}
  ...z6{left}...z7) softjoin (z7{up}...{right}z8);  % stroke
math_fit(.5u#-.3h#*slant,.3h#*slant+.5u#);
labels(0,1,2,3,4,5,6,7,8); endchar;

cmchar "Calligraphic T";
beginchar("T",13u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(0,-.5u#); pickup heavy_cal.nib;
x1=.47w; x3=.5w; lft x4=0; x5=.25w; x6=.85w; rt x7=1.05w;
top y1=h; bot y3=-.1h; y4=3/4h; top y5=top y6=h; top y7=1.05h;
z2=.3[z3,z1]+bend;
top y0=y1; x0=x2;
z8=(2u,.2h);
draw z0---z2...z3;  % stem
draw z4{curl 2}...z5{right}...z6{right}...{up}z7;  % arms
math_fit(.5u#-5/7h#*slant,-u#); labels(1,2,3,4,5,6,7); endchar;

cmchar "Calligraphic U";
beginchar("U",11u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(0,0); pickup cal.nib;
x1=x2-.15w; lft x2=.05w; x3=x2; x4=.25[x3,x6]; rt x6=rt x8=w;
y1=y2-.05h; top y2=h; y3=.3w; bot y4=-o;
top y6=h; bot y8=bot_flourish_line;
z7=.3[z8,z6]-bend;
draw z1...z2{right}..tension 2 and 1..z3{down}
 ...{right}z4..tension atleast 1.5..{up}z6;  % left stem and arc
draw flex(z6,z7,z8) softjoin (z8--z8+cal.extension);  % right stem
math_fit(.5u#-min(.3h#*slant+.1w#,.95h#*slant),.5ic#);
labels(1,2,3,4,6,7,8); endchar;

cmchar "Calligraphic V";
beginchar("V",11.25u#,cap_height#,0);
italcorr .8h#*slant+.5u#;
adjust_fit(0,0); pickup med_cal.nib;
x1=0; top y1=h; z3=(.48w,0);
z0.t_=z2.t_+penoffset down of currentpen
 =z3.t_+penoffset down of pen_[tilted.nib];
draw z1{right}..tension atleast 1 and infinity..z2;  % left diagonal
pickup tilted.nib; rt x4=w; x5=x4-.2w; top y4=.8h; top y5=h;
path p; p=z3..tension atleast 3 and 1..{up}z4;
erase fill z0--(x0,y0-.5h)--(x4,y0-.5h)--(x4+eps,y4)--reverse p--cycle;
draw p...{left}z5;  % right diagonal
math_fit(.5u#+.5cap_curve#-h#*slant,.5ic#); labels(0,1,2,3,4,5); endchar;

cmchar "Calligraphic W";
beginchar("W",18u#,cap_height#,0);
italcorr .8h#*slant+.5u#;
adjust_fit(0,0); pickup med_cal.nib;
x1=0; x3=.5[x1,x6]; x6=.52w; x9=.58[x6,x10]; y3=y9=0; top y1=top y6=h;
z7=.5[z8,z6]+bend; z4=.5[z3,z5]+bend;
(z0)t_=(z2)t_+penoffset down of currentpen
 =(z3)t_+penoffset down of pen_[tilted.nib];
(z20)t_=(z8)t_+penoffset down of currentpen
 =(z9)t_+penoffset down of pen_[tilted.nib];
draw z1{right}..tension atleast 1 and infinity..z2;  % first diagonal
pickup tilted.nib;
x5=x6; rt x10=w; x11=x10-.1w; top y5=h; top y10=.8h; top y11=h;
erase fill z0--(x0,y0-.5h)--(x5,y0-.5h)--z5..z4..z3--cycle;
draw z3..z4..z5;  % second diagonal
pickup med_cal.nib;
erase fill\\(.3w,bot y6)--(w,bot y6)--(w,top y6)--(.3w,top y6)--cycle;
draw z6..z7..z8;  % third diagonal
pickup tilted.nib; path p; p=z9..tension atleast 3 and 1..{up}z10;
erase fill z20--(x20,y20-.5h)--(x10,y20-.5h)--(x10+eps,y10)
 --reverse p--cycle;
draw p..{left}z11;  % fourth diagonal
math_fit(.5u#+.5cap_curve#-h#*slant,.5ic#);
labels(0,1,2,3,4,5,6,7,8,9,10,11,20); endchar;

cmchar "Calligraphic X";
beginchar("X",11.4u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(0,0); pickup cal.nib;
lft x1=.08w; lft x2=.2w; x4-x3=x2-x1; rt x4=w;
h-y1=y4=1/9h; top y2=h; bot y3=0;
draw z1{up}....z2{right}
 ... .2[z2+(.1w,0),z3-(.1w,0)]---.8[z2+(.1w,0),z3-(.1w,0)]
 ...{right}z3....{up}z4;  % left diagonal
x5=x6-u; rt x6=w; lft x7=0; x8=x7+u;
top y5=h; y6=.85h; y7=h-y6; bot y8=0;
draw z5{right}...z6{down}
 ..tension atleast 3..{down}z7...{right}z8;  % right diagonal
math_fit(.5u#,1/7h#*slant+.5u#); labels(1,2,3,4,5,6,7,8); endchar;

cmchar "Calligraphic Y";
beginchar("Y",11.75u#,cap_height#,.5desc_depth#);
italcorr .8h#*slant+.5u#;
adjust_fit(0,0); pickup med_tilted.nib;
rt x5=w; x6=x5-2.2u; top y5=.8h; top y6=h;
x4=.4w; lft x3=.15w; y3=good.y 0; y4=good.y -d;
path p; p=z3..z4{right}..tension atleast 3 and 1..z5{up}...{left}z6;
pickup med_cal.nib; x1=x2-u; y1=y2-.05h; lft x2=.6u; top y2=h;
draw z1...z2{right}..tension atleast 1 and infinity
 ..rt point 4/3 of p;  % left diagonal
erase fill subpath(2,1) of p--(x5,y4)--(x5+eps,y5)--cycle;
pickup med_tilted.nib; draw p;  % right diagonal
math_fit(max(-1.2u#,.9u#-.95h#*slant),.5ic#); labels(1,2,3,4,5,6); endchar;

cmchar "Calligraphic Z";
beginchar("Z",10.4u#,cap_height#,0);
italcorr h#*slant+.5u#;
adjust_fit(0,0); pickup heavy_cal.nib;
lft x1=.05w; x2=.4w; rt x3=w; lft x7=0; x8=.8[x7,x9]; rt x9=1.1w;
top y1=58/70h; top y2=top y3=h; bot y7=bot y8=0; bot y9=15/70h;
z5=.55[z7,z3]+bend;
x10=x5-2.5u; x11=x5+2u; x12=.2[x3,x2]; x13=.2[x7,x8];
y10=y5; bot y11=y10-6/70h; y12=64/70h; y13=6/70h;
draw z1{up}...z2{right}...{right}z12...z3;  % upper arm
draw flex(z3,z5,z7);  % diagonal
draw z7...z13{right}...{right}z8...{up}z9;  % lower arm
pickup light_cal.nib;
draw z10...z5{right}...{down}z11;  % bar
math_fit(.5u#,.6ic#); labels(1,2,3,5,7,8,9,10,11,12,13); endchar;