punkfont-characters.mp /size: 22 Kb    last modification: 2021-10-28 13:50
1initialize_punk_upper ;
2
3beginpunkchar("A",13,1,2);
4z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
5pd z1; pd z3; draw z1--z2--z3;  % left and right diagonals
6z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
7endchar;
8
9beginpunkchar("B",12,1,1);
10z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
11z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3;  % upper lobe
12draw flex(z2,z1.5,z1); % lower lobe
13endchar;
14
15beginpunkchar("C",13,1,2);
16z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
17pd z1; pd z5; draw z1..z2..z3..z4..z5;  % arc
18endchar;
19
20beginpunkchar("D",14,1,2);
21z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
22pd z1; pd z2; draw flex(z1,z3,z2); % lobe
23draw z1--z2;  % stem
24endchar;
25
26beginpunkchar("E",12,.5,1);
27z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
28pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
29z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6;  % crossbar
30endchar;
31
32beginpunkchar("F",12,.5,2);
33z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
34pd z1; pd z3; draw z1--z2--z3;  % stem and arm
35z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
36pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
37endchar;
38
39beginpunkchar("G",13,.5,.5);
40z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
41pd z1; draw z1..z2..z3..z4---z5;  % arc
42z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
43endchar;
44
45beginpunkchar("H",14,1,.5);
46z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
47z5=pp(2u,.6h); z6=pp(w-2u,.6h);
48pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
49pd z5; draw z5--z6;  % crossbar
50endchar;
51
52beginpunkchar("I",5,1,2);
53z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
54pd z1; pd z4; draw flex(z1,z2,z3,z4);  % stem
55endchar;
56
57beginpunkchar("J",9,1,2);
58z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
59pd z1; pd z3; draw z1--z2--z3; % arc
60endchar;
61
62beginpunkchar("K",14,1,2);
63z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
64pd z1; pd z2; draw z1--z2;  % stem
65pd z3; pd z4; draw z3--z4;  % upper diagonal
66z6=pp(w-u,0); z5=1/3[z3,z4];
67pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
68endchar;
69
70beginpunkchar("L",11,1,2);
71z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
72pd z1; pd z3; draw z1--z2--z3;  % stem and arm
73endchar;
74
75beginpunkchar("M",17,.5,2);
76z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
77pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
78endchar;
79
80beginpunkchar("N",13,.75,2);
81z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
82pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
83endchar;
84
85beginpunkchar("O",12,.5,2);
86z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
87pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
88endchar;
89
90beginpunkchar("P",13,1,2);
91z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
92pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
93endchar;
94
95beginpunkchar("Q",14,.5,2);
96z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
97pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
98z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
99pd z5; pd z6; draw z5--z7--z6;  % tail
100endchar;
101
102beginpunkchar("R",16,1,2);
103z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
104pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
105endchar;
106
107beginpunkchar("S",11,.3,1);
108z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
109z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
110pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7;  % stroke
111endchar;
112
113beginpunkchar("T",13,.75,2);
114z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
115pd z1; pd z2; pd z3; draw z1--z2;  % arms
116draw .5[z1,z2]--z3;  % stem
117endchar;
118
119beginpunkchar("U",13,.3,2);
120z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
121pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
122endchar;
123
124beginpunkchar("V",13,1,2);
125z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
126pd z1; pd z3; draw z1--z2--z3;  % diagonals
127endchar;
128
129beginpunkchar("W",18,1,2);
130z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
131z5=pp(w-1.5u,h);
132pd z1; pd z5; draw z1--z2--z3--z4--z5;  % diagonals
133endchar;
134
135beginpunkchar("X",13,1,1);
136z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
137pd z1; pd z2; draw z1--z2;  % main diagonal
138pd z3; pd z4; draw z3--z4;  % cross diagonal
139endchar;
140
141beginpunkchar("Y",13,1,2);
142z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
143pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
144draw z2--z3;  % right diagonal
145endchar;
146
147beginpunkchar("Z",11,1,2);
148z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
149pd z1; pd z4; draw z1--z2--z3--z4;  % diagonals
150endchar;
151
152beginpunkchar(198,16,1,2); % \AE
153z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
154pd z1; pd z3; draw z1--z2--z3;  % left diagonal and upper arm
155z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
156pd z4; pd z6; draw z4--z6; % crossbar
157z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
158endchar;
159
160beginpunkchar(338,18,1,2); % \OE
161z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
162pd z1; draw z1..z2..{right}z3; % bowl
163z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
164pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
165pd z5; draw z5--.4[z3,z1];  % crossbar
166endchar;
167
168beginpunkchar(216,14,1,1); % \O
169z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
170z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
171pd z1; pd z6; draw z1..z2..z3..z4..z5--z6;  % bowl and diagonal
172endchar;
173
174beginpunkchar(915,11,1,2); % $\Gamma$
175z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-1.5u,h);
176pd z1; pd z3; draw z1--z2--z3;  % stem and arm
177endchar;
178
179beginpunkchar(916,15,1,2); % $\Delta$
180z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
181pd z1; draw z1--z2..tension 5..z3..tension 5..z1; % triangle
182endchar;
183
184beginpunkchar(920,15,.5,2); % $\Theta$
185z1=pp(.5w,h); z2=pp(u,.6h); z3=pp(.5w,0); z4=pp(w-u,.6h);
186pd z1; draw z1..tension.8..z2..z3..z4..tension.8..z1; % bowl
187z5=pp(x2+2u,.4h); z6=pp(x4-2u,.4h); pd z5; pd z6; draw z5--z6; % bar
188endchar;
189
190beginpunkchar(923,12,1,2); % $\Lambda$
191z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
192pd z1; pd z3; draw z1--z2--z3;  % diagonals
193endchar;
194
195beginpunkchar(926,12,1,1); % $\Xi$
196z1=pp(u,h); z2=pp(w-u,h); pd z1; pd z2; draw z1--z2;  % upper arm
197z3=pp(2u,.55h); z4=pp(w-2u,.55h); pd z3; pd z4; draw z3--z4;  % bar
198z5=pp(u,0); z6=pp(w-u,0); pd z5; pd z6; draw z5--z6;  % lower arm
199endchar;
200
201beginpunkchar(928,13,1,.5); % $\Pi$
202z1=pp(1.5u,0); z2=pp(1.5u,h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,0);
203pd z1; pd z4; draw z1--z2--z3--z4;  % stems and bar
204endchar;
205
206beginpunkchar(931,13,1,1); % $\Sigma$
207z1=pp(w-u,h); z2=pp(u,h); z3=pp(.5w-u,.5h); z4=pp(u,0); z5=pp(w-u,0);
208pd z1; pd z5; draw z1--z2{.5[z4,z5]-z2}..z3--z4--z5; % arms and diagonals
209endchar;
210
211beginpunkchar(933,15,1,.5); % $\Upsilon$
212z1=pp(u,.8h); z2=pp(.3w,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
213pd z1; pd z4; draw z1..z2..tension2..z3---z4; % left arc and stem
214z5=pp(w-u,.8h); z6=pp(.7w,h);
215pd z5; draw z5..z6..tension2..{z4-z3}z3; % right arc
216endchar;
217
218beginpunkchar(934,13,1,2); % $\Phi$
219z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
220z3=pp(.5w,2/3h); z4=pp(u,.5h); z5=pp(.5w,1/4h); z6=pp(w-u,.5h);
221pd z3; draw z3..z4..z5..z6..z3; % bowl
222endchar;
223
224beginpunkchar(936,14,1,1); % $\Psi$
225z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
226z3=pp(u,.8h); z4=pp(.5w,.2h); z5=pp(w-u,.8h);
227pd z3; pd z5; draw z3{.4[z1,z2]-z3}..z4{right}..{z5-.4[z1,z2]}z5; % stroke
228endchar;
229
230beginpunkchar(937,13,1,2); % $\Omega$
231z1=pp(u,0); z2=pp(1/3w,0); z3=pp(u,2/3h); z4=pp(.5w,h);
232z5=pp(w-u,2/3h); z6=pp(2/3w,0); z7=pp(w-u,0);
233pd z1; pd z7; draw z1--z2{up}..z3..z4..z5..{down}z6--z7; % bowl and arms
234endchar;
235
236beginpunkchar(".",5,1,2);
237pd pp(.5w,0);  % dot
238endchar;
239
240beginpunkchar(",",5,.5,.5);
241z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
242pd z1; pd z3; draw z1--z2--z3;  % stroke
243endchar;
244
245beginpunkchar(":",5,1,.5);
246pd pp(.5w,0); pd pp(.5w,.4h);  % dots
247endchar;
248
249beginpunkchar(";",5,.5,.5);
250z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
251pd z1; pd z3; draw z1--z2--z3;  % stroke
252pd pp(.5w,.4h); % dot
253endchar;
254
255beginpunkchar("!",5,.5,.5);
256pd pp(.5w,0); % dot
257z1=pp(.5w,1.05h); z2=pp(.5w,.3h); pd z1; pd z2; draw z1--z2; % stem
258endchar;
259
260beginpunkchar(161,5,.5,.5); % spanish inverted !
261pd pp(.5w,.9h); % dot
262z1=pp(.5w,-.1h); z2=pp(.5w,.6h); pd z1; pd z2; draw z1--z2; % stem
263endchar;
264
265beginpunkchar("?",9,1,.5);
266z1=pp(1.5u,.8h); z2=pp(.5w,h); z3=pp(w-u,.8h); z4=pp(.5w,.3h);
267pd z1; pd z4; draw z1..z2..z3..{down}z4; % arc and stem
268pd pp(.5w,0); % dot
269endchar;
270
271beginpunkchar(191,9,1,.5); % spanish inverted ?
272z1=pp(1.5u,.1h); z2=pp(.5w,-.1h); z3=pp(w-u,.1h); z4=pp(.5w,.6h);
273pd z1; pd z4; draw z1..z2..z3..{up}z4; % arc and stem
274pd pp(.5w,.9h); % dot
275endchar;
276
277beginpunkchar("&",14,.5,.5);
278z1=pp(w-2u,h); z2=pp(u,h); z3=pp(3u,0); z5=pp(w-u,.6h); z6=pp(w-2u,0);
279pd z1; pd z5; draw z1--z2--z3--z5; % arms and stem
280draw z1--.5[z2,z3]; pd z6; draw z6--.6[z3,z5]; % diagonals
281endchar;
282
283beginpunkchar("$",12,.5,.5);
284z1=pp(w-1.5u,.7h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.5[z3,z5];
285z5=pp(w-u,.3h); z6=pp(.5w,0); z7=pp(u,.3h);
286pd z1; pd z7; draw z1..z2..z3..z4..z5..z6..z7; % stroke
287z8=z2+(0,.1h); pd z8; draw z8--z6; % stem
288endchar;
289
290beginpunkchar("%",18,.5,.5);
291z1=pp(3.5u,1.1h); z2=pp(u,.8h); z3=pp(3.5u,.5h); z4=pp(6u,.8h);
292z5=pp(w-3.5u,.5h); z6=pp(w-6u,.2h); z7=pp(w-3.5u,-.1h); z8=pp(w-u,.2h);
293pd z1; draw z1..z2..z3..z4..z1; % upper bowl
294pd z5; draw z5..z6..z7..z8..z5; % lower bowl
295z9=pp(w-3u,1.1h); z0=pp(3u,-.1h); pd z0; draw z9--z0; % diagonal
296draw z1{z5-z1}..z9; % link
297endchar;
298
299beginpunkchar("@",18,1,.5);
300z1=pp(2u,0); z2=pp(1/3w,.7h); z3=pp(w-6u,0);
301z4=pp(w,.3h); z5=pp(1/3w,h); z6=pp(u,.5h); z7=.7[z2,z3];
302pd z1; pd z7; draw z1--z2--z3{right}..z4..z5..z6..z7; % diagonals and stroke
303endchar;
304
305beginpunkchar("-",7,.5,.5);
306z1=pp(u,.4h); z2=pp(w-u,.5h); pd z1; pd z2; draw z1--z2;  % bar
307endchar;
308
309beginpunkchar(8211,9,.5,.5); % --
310z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2;  % bar
311endchar;
312
313beginpunkchar(8212,18,.5,.5); % ---
314z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2;  % bar
315endchar;
316
317beginpunkchar("+",9,.5,1);
318z1=pp(0,.5h); z2=pp(w,.5h); pd z1; pd z2; draw z1--z2; % bar
319z3=pp(.5w,.1h); z4=pp(.5w,.9h); pd z3; pd z4; draw z3--z4; % stem
320endchar;
321
322beginpunkchar("*",13,.5,1);
323z0=pp(.5w,1.1h); z1=pp(u,.9h); z2=pp(2u,.3h); z3=pp(w-u,.3h); z4=pp(w-u,.9h);
324pd z0; draw z0--z2..1/3[.5[z2,z4],z0]..z4--z1--z3--z0; % star
325endchar;
326
327beginpunkchar(39,5,.5,1.5); % ' apostrofe HH/TH (to be checked)
328z1=pp(w/2,h); z2=pp(w/2+u,.85h); z3=pp(w/2,2/3h);
329pd z1; pd z3; draw z1..z2..z3;  % stroke
330endchar;
331
332beginpunkchar(34,9,1,1.5); % "  HH/TH (to be checked)
333z1=pp(1.5u,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,.6h);
334pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw z3--z4;
335endchar;
336
337beginpunkchar(8216,5,.3,.5); % `
338z1=pp(w-1.5u,h); z2=pp(u,.85h); z3=pp(w-u,2/3h);
339pd z1; pd z3; draw z1--z2--z3;  % stroke
340endchar;
341
342beginpunkchar(8217,5,.3,.5); % '
343z1=pp(1.5u,h); z2=pp(w-u,.85h); z3=pp(u,2/3h);
344pd z1; pd z3; draw z1--z2--z3;  % stroke
345endchar;
346
347beginpunkchar(8220,9,.3,.5); % `` quotedblleft
348z1=pp(.5w+.5u,h); z2=pp(w-u,.6h); z3=pp(u,.95h);
349pd z1; pd z3; draw z1--z2--z3;  % stroke
350endchar;
351
352beginpunkchar(8221,9,.3,.5); % '' quotedblright
353z1=pp(.5w-.5u,h); z2=pp(u,.6h); z3=pp(w-u,.95h);
354pd z1; pd z3; draw z1--z2--z3;  % stroke
355endchar;
356
357beginpunkchar("(",7,.5,.5);
358z1=pp(w-u,h); z2=pp(u,.5h); z3=pp(w-u,0);
359pd z1; pd z3; draw z1..z2..z3;  % stroke
360endchar;
361
362beginpunkchar(")",7,.5,.5);
363z1=pp(u,h); z2=pp(w-u,.5h); z3=pp(u,0); pd z1; pd z3; draw z1..z2..z3; % stroke
364endchar;
365
366beginpunkchar("[",8,.5,.5);
367z1=pp(w-u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(w-u,0);
368pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
369endchar;
370
371beginpunkchar("]",8,.5,.5);
372z1=pp(u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(u,0);
373pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
374endchar;
375
376beginpunkchar("<",9,.5,.5);
377z1=pp(w-u,.9h); z2=pp(u,.5h); z3=pp(w-u,.1h);
378pd z1; pd z3; draw z1--z2--z3; % diagonals
379endchar;
380
381beginpunkchar(">",9,.5,.5);
382z1=pp(u,.9h); z2=pp(w-u,.5h); z3=pp(u,.1h);
383pd z1; pd z3; draw z1--z2--z3; % diagonals
384endchar;
385
386beginpunkchar("{",10,.5,.5); % HH/TH
387z1=pp(w-2u,h); z3=pp(2u,.5h); z5=pp(w-2u,0);
388z2=pp(w-4u,.6h); z4=(w-4u,.4h);
389pd z1; pd z3; pd z5; draw z1{left}..z2--z3 & z3--z4..{right}z5;
390endchar;
391
392beginpunkchar("}",10,.5,.5); % HH/TH
393z1=pp(2u,h); z3=pp(w-2u,.5h); z5=pp(2u,0);
394z2=pp(4u,.6h); z4=(4u,.4h);
395pd z1; pd z3; pd z5; draw z1{right}..z2--z3 & z3--z4..{left}z5;
396endchar;
397
398beginpunkchar("=",9,.5,.5);
399z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
400z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
401endchar;
402
403beginpunkchar("#",15,.5,.5);
404z1=pp(.5w,h); z2=pp(3u,0); z3=pp(w-3u,h); z4=pp(.5w,0);
405pd z2; pd z3; draw z3--z1--z2; draw z3--z4--z2; % diagonals (linked)
406z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
407z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
408endchar;
409
410beginpunkchar("/",9,1,1);
411z1=pp(1.5u,-.05h); z2=pp(w-1.5u,1.05h); pd z1; pd z2; draw z1--z2; % diagonal
412endchar;
413
414beginpunkchar("\",9,1,1); % HH/TH
415z1=pp(1.5u,1.05h); z2=pp(w-1.5u,-.05h); pd z1; pd z2; draw z1--z2; % reverse diagonal
416endchar;
417
418
419beginpunkchar("0",9,.5,1);
420z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
421pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
422endchar;
423
424beginpunkchar("1",9,.3,1);
425z1=pp(2u,.7h); z2=pp(.6w,h); z3=pp(.6w,0);
426pd z1; pd z3; draw z1--z2--z3; % serif and stem
427endchar;
428
429beginpunkchar("2",9,1,1);
430z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.6h); z4=pp(u,0); z5=pp(w-2u,0);
431pd z1; pd z5; draw z1..z2..z3..z4--z5; % stroke
432endchar;
433
434beginpunkchar("3",9,.5,.5);
435z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.5[y2,y4]);
436z4=pp(.5w-u,.55h); z5=pp(w-u,.5[y4,y6]); z6=pp(.5w,0); z7=pp(1.5u,.2h);
437pd z1; pd z7; draw z1..z2..z3..z4&z4..z5..z6..z7;  % arcs
438endchar;
439
440beginpunkchar("4",9,1,1);
441z1=pp(w-u,.3h); z2=pp(u,.3h); z3=pp(2/3w,h); z4=pp(2/3w,0);
442pd z1; pd z4; draw z1--z2--z3--z4; % stem and diagonals
443endchar;
444
445beginpunkchar("5",9,.5,.5);
446z1=pp(w-2u,h); z2=pp(2u,h); z3=pp(u,.7h); z4=pp(w-u,.5[y3,y5]);
447z5=pp(.5w,0); z6=pp(u,.2h);
448pd z1; pd z6; draw z1--z2--z3..z4..z5..z6; % stroke
449endchar;
450
451beginpunkchar("6",9,1,1);
452z1=pp(2/3w,h); z2=pp(u,.3h); z3=pp(.5w,0); z4=pp(w-u,.3h); z5=pp(.6w,.6h);
453z6=pp z2; pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % stroke
454endchar;
455
456beginpunkchar("7",9,.5,1);
457z1=pp(2u,h); z2=pp(w-.5u,h); z3=pp(.4w,0);
458pd z1; pd z3; draw z1--z2&z2..z3{down}; % stroke
459endchar;
460
461beginpunkchar("8",9,.5,.5);
462z1=pp(.5w,h); z2=pp(u,.5[y1,y3]); z3=pp(.5w,.6h); z4=pp(w-u,.5[y3,y5]);
463z5=pp(.5w,0); z6=pp(u,.5[y5,y3]); z7=pp(w-u,.5[y1,y3]);
464pd z1; draw z1{curl 8}..z2..z3..z4..z5..z6..z3..z7..z1; % stroke
465endchar;
466
467beginpunkchar("9",9,1,1);
468z1=pp(1/3w,0); z2=pp(w-u,.7h); z3=pp(.5w,h); z4=pp(u,.7h); z5=pp(.5w,.4h);
469pd z1; pd z5; draw z1..z2..z3..z4..z5; % stroke
470endchar;
471
472beginpunkchar(96,9,1,1); % \`{} grave
473z1=pp(2.5u,h); z2=pp(.6w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
474endchar;
475
476beginpunkchar(180,9,1,1); % \'{} acute
477z1=pp(w-2.5u,h); z2=pp(.4w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
478endchar;
479
480beginpunkchar(710,13,1,1); % \^{} circumflex
481z1=pp(2.5u,.8h); z2=pp(.5w,h); z3=(w-2.5u,.8h);
482pd z1; pd z3; draw z1--z2--z3; % diagonals
483endchar;
484
485beginpunkchar(711,13,1,1); % \v{} caron
486z1=pp(2.5u,.9h); z2=pp(.5w,.7h); z3=pp(w-2.5u,.9h);
487pd z1; pd z3; draw z1--z2--z3; % diagonals
488endchar;
489
490beginpunkchar(728,11,1,1); % \u{} breve
491z1=pp(2u,h); z2=pp(.5w,.75h); z3=pp(w-2u,h);
492pd z1; pd z3; draw flex(z1,z2,z3); % stroke
493endchar;
494
495beginpunkchar(175,12,1,1); % \={} macron
496z1=pp(u,.8h); z2=pp(w-u,.8h); pd z1; pd z2; draw z1--z2; % bar
497endchar;
498
499beginpunkchar(729,5,1,1); % \.{}
500pd pp(.5w,.9h); % dot
501endchar;
502
503beginpunkchar(168,13,1,1); % \"{} diaeresis
504pd pp(1/5w,.9h); pd pp(4/5w,.9h); % dots
505endchar;
506
507beginpunkchar(732,13,1,1); % \~{} tilde
508z1=pp(u,.75h); z2=pp(w-u,.9h); pd z1; pd z2; draw z1{up}..{up}z2; % stroke
509endchar;
510
511beginpunkchar(733,13,1,1); % \H{} hungarumlaut
512z1=pp(4u,h); z2=pp(2.5u,.7h); z3=pp(w-2u,h); z4=pp(w-3.5u,.7h);
513pd z1; pd z3; draw z1--z2--z4--z3; % diagonals (linked)
514endchar;
515
516beginpunkchar(730,13,0,0); % Scandinavian loop, for \AA\ and \aa (ring)
517z0=(.5w,.66h); % point $z^2$ of lowercase A
518z1=(.5w,.9h); draw z0{z0-(1.5u,0)}..z1..{(w-1.5u,0)-z0}z0; % loop
519endchar;
520
521beginpunkchar(184,13,.5,.5); % Cedilla, for \c c
522z1=(.6w,0); z2=pp(.6w,-.1h); z3=pp(2.5u,-.1h);
523pd z3; draw z1--z2--z3; % stroke
524endchar;
525
526initialize_punk_lower ;
527
528beginpunkchar(305,5,1,2); % dotless I
529z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
530pd z1; pd z4; draw flex(z1,z2,z3,z4);  % stem
531endchar;
532
533beginpunkchar(567,9,1,2); % dotless J
534z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
535pd z1; pd z3; draw z1--z2--z3; % arc
536endchar;
537
538beginpunkchar(223,18,.3,1); % German SS
539z1=pp(.5w-u,.9h); z2=pp(1/3w,h); z3=pp(u,.7h); z4=.6[z6,z2];
540z5=pp(.5w,.35h); z6=pp(1/3w,u); z7=pp(u,.2h);
541pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7;  % left stroke
542for i=1 upto 7: z[i+10]=pp(z[i] shifted (.5w-u,0)); endfor
543pd z11; pd z17; draw z11--z12...z13..z14..z15...z16--z17; % right stroke
544endchar;
545
546beginpunkchar("a",13,1,2);
547z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
548pd z1; pd z3; draw z1--z2--z3;  % left and right diagonals
549z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
550endchar;
551
552beginpunkchar("b",12,1,1);
553z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
554z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3;  % upper lobe
555draw flex(z2,z1.5,z1); % lower lobe
556endchar;
557
558beginpunkchar("c",13,1,2);
559z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
560pd z1; pd z5; draw z1..z2..z3..z4..z5;  % arc
561endchar;
562
563beginpunkchar("d",14,1,2);
564z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
565pd z1; pd z2; draw flex(z1,z3,z2); % lobe
566draw z1--z2;  % stem
567endchar;
568
569beginpunkchar("e",12,.5,1);
570z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
571pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
572z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6;  % crossbar
573endchar;
574
575beginpunkchar("f",12,.5,2);
576z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
577pd z1; pd z3; draw z1--z2--z3;  % stem and arm
578z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
579pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
580endchar;
581
582beginpunkchar("g",13,.5,.5);
583z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
584pd z1; draw z1..z2..z3..z4---z5;  % arc
585z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
586endchar;
587
588beginpunkchar("h",14,1,.5);
589z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
590z5=pp(2u,.6h); z6=pp(w-2u,.6h);
591pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
592pd z5; draw z5--z6;  % crossbar
593endchar;
594
595% beginpunkchar("i",5,1,2);
596% z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
597% pd z1; pd z4; draw flex(z1,z2,z3,z4);  % stem
598% endchar;
599
600% beginpunkchar("i",9,1,2);
601%     z1=pp(.5w,0); z2=(.5w,.1h); z3=(.5w,2/3h); z4=(.5w,h);
602%     pd z1; pd z4; draw flex(z1,z2,z3,z4) withcolor red;  % stem
603% endchar;
604
605beginpunkchar("i",9,1,2);
606z1=pp(.5w,0); z4=(.5w,h);
607pd z1; pd z4; draw z1--z4;  % stem
608endchar;
609
610beginpunkchar("j",9,1,2);
611z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
612pd z1; pd z3; draw z1--z2--z3; % arc
613endchar;
614
615beginpunkchar("k",14,1,2);
616z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
617pd z1; pd z2; draw z1--z2;  % stem
618pd z3; pd z4; draw z3--z4;  % upper diagonal
619z6=pp(w-u,0); z5=1/3[z3,z4];
620pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
621endchar;
622
623beginpunkchar("l",11,1,2);
624z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
625pd z1; pd z3; draw z1--z2--z3;  % stem and arm
626endchar;
627
628beginpunkchar("m",17,.5,2);
629z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
630pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
631endchar;
632
633beginpunkchar("n",13,.75,2);
634z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
635pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
636endchar;
637
638beginpunkchar("o",12,.5,2);
639z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
640pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
641endchar;
642
643beginpunkchar("p",13,1,2);
644z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
645pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
646endchar;
647
648beginpunkchar("q",14,.5,2);
649z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
650pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
651z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
652pd z5; pd z6; draw z5--z7--z6;  % tail
653endchar;
654
655% beginpunkchar("r",16,1,2);
656beginpunkchar("r",13,1,2);
657z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
658pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
659endchar;
660
661beginpunkchar("s",11,.3,1);
662z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
663z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
664pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7;  % stroke
665endchar;
666
667beginpunkchar("t",13,.75,2);
668z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
669pd z1; pd z2; pd z3; draw z1--z2;  % arms
670draw .5[z1,z2]--z3;  % stem
671endchar;
672
673beginpunkchar("u",13,.3,2);
674z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
675pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
676endchar;
677
678beginpunkchar("v",13,1,2);
679z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
680pd z1; pd z3; draw z1--z2--z3;  % diagonals
681endchar;
682
683beginpunkchar("w",18,1,2);
684z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
685z5=pp(w-1.5u,h);
686pd z1; pd z5; draw z1--z2--z3--z4--z5;  % diagonals
687endchar;
688
689beginpunkchar("x",13,1,1);
690z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
691pd z1; pd z2; draw z1--z2;  % main diagonal
692pd z3; pd z4; draw z3--z4;  % cross diagonal
693endchar;
694
695beginpunkchar("y",13,1,2);
696z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
697pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
698draw z2--z3;  % right diagonal
699endchar;
700
701beginpunkchar("z",11,1,2);
702z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
703pd z1; pd z4; draw z1--z2--z3--z4;  % diagonals
704endchar;
705
706beginpunkchar(230,16,1,2);  % \ae
707z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
708pd z1; pd z3; draw z1--z2--z3;  % left diagonal and upper arm
709z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
710pd z4; pd z6; draw z4--z6; % crossbar
711z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
712endchar;
713
714beginpunkchar(339,18,1,2); % \oe
715z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
716pd z1; draw z1..z2..{right}z3; % bowl
717z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
718pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
719pd z5; draw z5--.4[z3,z1];  % crossbar
720endchar;
721
722beginpunkchar(248,14,1,1); % \o
723z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
724z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
725pd z1; pd z6; draw z1..z2..z3..z4..z5--z6;  % bowl and diagonal
726endchar;
727
728revert_punk_lower;
729
730beginpunkchar("_",12,.5,.5); % _
731z1=pp(0,-.2h); z2=pp(w,-.2h); pd z1; pd z2; draw z1--z2;  % bar
732endchar;
733
734beginpunkchar("^",12,1,.5); %
735z1=pp(.5w,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,.6h);
736pd z2; pd z3; draw z2--z1--z3;
737endchar;
738