summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf1234
1 files changed, 1234 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf b/Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf
new file mode 100644
index 00000000000..e3586395cec
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bookhands/pgothu.mf
@@ -0,0 +1,1234 @@
+%%
+%% This is file `pgothu.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pgothic.dtx (with options: `maj')
+%%
+%% Copyright 1999 Peter R. Wilson
+%%
+%% This program is provided under the terms of the
+%% LaTeX Project Public License distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt.
+%%
+%% Author: Peter Wilson (CUA)
+%% now at: peter.r.wilson@boeing.com
+%%
+
+cmchar "PGOTH letter A";
+beginchar("A", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pair pr[];
+pickup quill;
+%% stem
+rt x1 = w - pcshiftx - wided*st; y1 = h;
+x2 = x1; y2 = 0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+%% leg
+x21 = x1; top y21 = h;
+lft x22 = pcshiftx + widedmin*st; bot y22 = 0;
+draw z21--z22;
+draw (x22-widedmin*st, y22)--(x22+wided*st, y22);
+%% bar
+z13 = z12;
+y16 = y13; z16 = whatever[z21,z22];
+x14 = 1/2[x13,x16]; (z13-z14) = whatever*pdir;
+pickup threequarterquill;
+draw z13--z14;
+draw z14{ppdir}..{left}z16;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,100);
+endchar; % end "A"
+
+cmchar "PGOTH letter B";
+beginchar("B", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% stem
+lft x1 = pcshiftx; bot y1 = 0;
+n1 := top y1;
+lft x99 = 2/5w; bot y99 = 12/16h;
+rt x12 = lft x99; top y12 = bot y99;
+x14 = x1; y14 = y12;
+x13 = 1/2[x14,x12]; y13 = 1/2[y12,(h-n1/2)];
+pth1 := z1{pdir}..z12..{left}z13..{-pdir}z14;
+%% stem decoration
+z101=z99;
+z181 = (x99,-h);
+z102 = (x101,y1);
+z112 = 1/2[z101,z102];
+lft x8 = x112; y8 = y112;
+%% lower bowl
+x113 = w-pcshiftx;
+(z113-z112) = whatever*(pdir);
+rt x5 = w-pcshiftx; y5 = 6/16y113;
+x3 = 10/16[x1,x5]; y3 = y1;
+z7 = 2/16[z8,z113];
+pth2 := z1{pdir}..{right}z3..{up}z5..{-pdir}z7--z8;
+
+%% upper bowl
+x10 = 1/2[x7,x5]; y10 = 1/2[y12,y99];
+x19 = 1/2[x99,x10]; top y19 = h;
+pth3 := z8--z7{pdir}..{up}z10..{left}z19..{-pdir}z99;
+%% angled decoration
+
+z105 = 1/4[z102,z112];
+x185 = 2w;
+(z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth2;
+
+z107 = 1/4[z112,z101];
+x187 = 2w;
+(z187-z107) = whatever*(pdir);
+z108 = (z107--z187) intersectionpoint pth3;
+
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+draw pth2;
+draw pth3;
+pickup stylus;
+draw z101--z102;
+draw z105--z106; draw z107--z108;
+
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,99,100);
+endchar; % end "B"
+
+cmchar "PGOTH letter C";
+beginchar("C", 2cap_sb#+hstretch*((5)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% bowl
+n1:=w-2pcshiftx; % actual letter width
+n2:=6/5w-2pcshiftx; % width of full bowl
+x1=pcshiftx + 1/2n1; top y1 = h;
+lft x2 = pcshiftx; y2 = 1/2h;
+x3 = x1; bot y3 = 0;
+rt x4 = w-pcshiftx; y4 = 1/4h;
+x24 = x4; y24 = 3/4h;
+pth1 := z24..z1{left}..z2{down}..z3{right}..z4{pdir};
+%% decoration
+z101 = (x1,y1); z102 = (x1,y3);
+z103 = (x1+perpdec, y1); z104 = (x103,y102+thin);
+z105 = 1/2[z101,z102]; z107 = (x105,y105+angdec);
+x185 = -w; (z105-z185) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth1;
+x187 = -w; (z107-z187) = whatever*(pdir);
+z108 = (z107--z187) intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; %% bowl
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,14,16,17,18,100,101,102,103,104,105,106,107,108,185);
+endchar; % end "C"
+
+cmchar "PGOTH letter D";
+beginchar("D", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% bowl
+lft x1 = pcshiftx; bot y1 = 0;
+rt x5 = w-pcshiftx; y5 = 1/2h;
+x3 = 10/16[x1,x5]; y3 = y1;
+x7 = x3; top y7 = h;
+lft x9 = 2/5w; bot y9 = 12/16h;
+pth1 := z1{pdir}..{right}z3..{up}z5..{left}z7..{-pdir}z9;
+%% stem
+rt x12 = lft x9; top y12 = bot y9;
+x14 = x1; y14 = y12;
+x13 = 1/2[x14,x12]; y13 = 1/2[y12,y7];
+pth2 := z1{pdir}..z12..{left}z13..{-pdir}z14;
+%% vertical decoration
+z101=z9;
+z181 = (x9,-h);
+z102 = ((x101,h/2)--z181) intersectionpoint pth1;
+z103a=(x101+perpdec,h); z103b=(x103a,h/2); z103c=(x103a,-h);
+z103 = (z103a--z103b) intersectionpoint pth1;
+z104 = (z103b--z103c) intersectionpoint pth1;
+%% angled decoration
+z106 = (lft x5, y5);
+x105 = x103; (z106-z105) = whatever*(pdir);
+z107 = (x105, y105+angdec);
+x108a = 2w; (z108a-z107) = whatever*(pdir);
+z108 = (z108a--z107) intersectionpoint pth1;
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+draw pth2;
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,100);
+endchar; % end "D"
+
+cmchar "PGOTH letter E";
+beginchar("E", 2cap_sb#+hstretch*((6)*stem_width#), %% (5) too small
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% bowl
+n1:=w-2pcshiftx; % actual letter width
+n2:=6/5w-2pcshiftx; % width of full bowl
+x1=pcshiftx + 1/2n1; top y1 = h;
+lft x2 = pcshiftx; y2 = 1/2h;
+x3 = x1; bot y3 = 0;
+rt x4 = w-pcshiftx; y4 = 1/4h;
+x24 = x4; y24 = 3/4h;
+pth1 := z24..z1{left}..z2{down}..z3{right}..z4{pdir};
+%% decoration
+z101 = (x1,y1); z102 = (x1,y3);
+z103 = (x1+perpdec, y1); z104 = (x103,y102+thin);
+z105 = 1/2[z101,z102]; z107 = (x105,y105+angdec);
+x185 = -w; (z105-z185) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth1;
+x187 = -w; (z107-z187) = whatever*(pdir);
+z108 = (z107--z187) intersectionpoint pth1;
+%% bar
+lft x31 = x103; top y31 = y105;
+rt x32 = w-pcshiftx; y32=y31;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; %% bowl
+draw z31--z32; %% bar
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,14,16,17,18,100,105,185,106);
+endchar; % end "E"
+
+cmchar "PGOTH letter F";
+beginchar("F", 2cap_sb#+hstretch*((5)*stem_width#),
+ 5/4caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% stem (1--2) and top bar (21--22)
+lft x1=lft x2=pcshiftx+widedmin*st; y2 = 0;
+top y21 = top y22 = h - (top y2 - bot y2); x22 = w-pcshiftx-st;
+lft x21 = rt x1; top y1 = bot y21;
+z12 = 1/3[z1,z2];
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+draw z1--z12;
+draw z21--z22;
+%% vertical decoration
+z102 = 2/3[z2b,z2c];
+x101 = x102; y101 = y21;
+%% bar
+lft x14 = x101; y14 = y12;
+rt x16 = w-pcshiftx; y16 = y14;
+draw z14--z16;
+z16tr = (rt x16, top y16);
+pickup stylus;
+draw z101--z102;
+%% Other decoration
+%% bottom bar
+rt x201 = x16tr; top y201 = y16tr;
+y202 = y201 - 2st; (z201-z202) = whatever*pdir;
+draw z201--z202;
+%% top bar
+pickup quill;
+z22tb = (rt x22, top y22);
+x22bb - x22 = x22 - x22tb; y22bb - y22 = y22 - y22tb;
+x22c = x22 + st; bot y22c = top y22 + 1/2st;
+x22f = x22; y22f = 1/3[y22c, y22];
+pickup stylus;
+x22br = x22bb; bot y22br = y22bb;
+pth3 := z22br--z22tb..{up}z22c..{-ppdir}z22f;
+draw pth3;
+
+penlabels(1,2,3,4,5,6,7,14,15,16,21,22,100);
+endchar; % end "F"
+
+cmchar "PGOTH letter G";
+beginchar("G", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pickup quill;
+%% bar
+top y3=h; n3 := h - top y3;
+lft x1 = pcshiftx; rt x2=w-pcshiftx;
+y1 = y3-n3; y2=y3;
+x3=1/2[x1,x2];
+pth1 := z1{pdir}..z3..z2{pdir};
+%% bowl
+n1 := w; % width of bowl
+n2 := h; % height of bowl
+lft x4 = pcshiftx; y4 = 1/2h;
+x5=x3; bot y5 = 0;
+rt x6 = w-pcshiftx; y6 = 6/16h;
+%% decoration
+x101 = lft x3; y101=y3;
+x181 = x101; y181=-h/4; z191 = 1/2[z101,z181];
+z102=(x101,y5);
+z103 = (x101+3thin, y101); z104 = (x103,y102);
+lft x7 = x104; y7 = 10/16[y104,y103];
+%%pth2 := z3..z4{down}..z5{right}..z6{up}..{-pdir}z7;
+%%pth2 := z2{-pdir}..z3..z4{down}..z5{right}..z6{up}..{-pdir}z7;
+pth2 := z2--z3..z4{down}..z5{right}..z6{up}..{-pdir}z7;
+z105 = (x104,y104+4thin); z107=(x105,y105+3thin);
+x185 = 2w; (z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth2;
+z108 = (x106,y106+3thin);
+%% fork
+z2tr = (rt x2, top y2);
+x2a = x2tr; y2a = y2tr + thin;
+x2b = x2a; y2b - y2 = y2 - y2a;
+x2d = x2 - thick; y2d = y2;
+pickup stylus;
+x2c = x2d = x2e;
+top y2e = y2tr; y2c - y2d = y2d - y2e;
+%%filldraw z2d--z2c{right}..z2b--cycle;
+%%filldraw z2d--z2a..{left}z2e--cycle;
+filldraw z2e--z2c{right}..z2b--cycle;
+filldraw z2c--z2a..{left}z2e--cycle;
+pth9 := (rt x2a,y2a)--(rt x2b,y2b)--(rt x2d,y2d)--cycle;
+unfill pth9;
+unfill pth9;
+unfill pth9;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+pickup quill;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+%%draw pth1; %% bar
+draw pth2; %% bowl
+ductus:=false;
+penlabels(1,2,2a,2b,2c,2d,2e,3,4,5,6,11,12,100,101,102,103,104,181,191);
+endchar; % end "G"
+
+cmchar "PGOTH letter H";
+beginchar("H", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric st; st := stem_width;
+numeric n[];
+path pth[];
+pickup quill;
+%% left stem
+lft x1=pcshiftx+3st; y1=h;
+x2=x1; y2=0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+n1 := 12/16h; %% take this as the top of the bowl
+x13=x1; y13=3/4n1;
+rt x3 = w-pcshiftx; y3 = 8/16n1;
+x14 = 8/16[x13,x3]; top y14 = n1;
+x4 = 1/2[x14,x3]; bot y4=0;
+pth1 := z13{pdir}..{right}z14..{down}z3..{-pdir}z4;
+%% bottom curl
+z21 = z4;
+x24 = x3; top y24 = 0;
+x23 = 1/2[x21,x24]; top y23 = bot y24;
+pth2 := z21{-pdir}..z23..{ppdir}z24;
+%% vertical decoration
+z102 = 2/3[z2b,z2c];
+z182 = (x102,h);
+z101 = (z102--z182) intersectionpoint pth1;
+z105 = 1/2[z102,z101];
+x185 = 2w;
+(z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth1;
+z107 = (x105, y105-angdec); z187 = (x185, y185-angdec);
+z108 = (z107--z187) intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+pickup stylus;
+draw pth2;
+draw z101--z102;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,13,14,100);
+endchar; % end "H"
+
+cmchar "PGOTH letter I";
+beginchar("I", 2cap_sb#+hstretch*((4+wided)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric st; st := stem_width;
+pickup quill;
+lft x1=lft x2=pcshiftx+3st;
+y1=h; y2=0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided, widedmin,diawd,diang);
+%% vertical decoration
+z102 = 2/3[z2b,z2c];
+pickup stylus;
+x101=x102; top y101 = h;
+draw z101--z102;
+ductus:=false;
+penlabels(1,2,101,102,100);
+endchar; % end "I"
+
+cmchar "PGOTH letter J";
+beginchar("J", cap_sb#+hstretch*((4+wided)*stem_width#),
+ caprat*x_height#, 1/2caprat*x_height#);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric n[];
+numeric st; st := stem_width;
+pickup quill;
+%% stem
+lft x1 = pcshiftx+3st; y1 = h;
+x2=x1; y2=-d + (top y1 - bot y1);
+%% bottom hook
+lft x3 = pcshiftx; bot y3 = -d;
+draw_upcurlstem(1,2);
+draw z2{ppdir}..{-pdir}z3;
+%% vertical decoration
+x201 = rt x1;
+x101 = x201 + 2/3wided*st;
+pickup stylus;
+top y101 = h; y201=y101;
+z102=(x101,0);
+draw z201--z101--z102;
+ductus:=false;
+penlabels(1,2,3,101,102,100);
+endchar; % end "J"
+
+cmchar "PGOTH letter K";
+beginchar("K", 2cap_sb#+hstretch*((8+wided)*stem_width#),
+ 5/4caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+path pth[];
+numeric n[];
+numeric st; st := stem_width;
+pickup quill;
+%% stem
+n1 = 4/5h; % x-height
+lft x1=lft x2=pcshiftx+3st;
+y1=h; y2=0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+%% top arm
+%%z3=(x1,1/2n1);
+x3 = x1; top y3 = 14/16n1;
+z7c = 1/2[z2,z3];
+top y3a = n1; (z3a-z3) = whatever*pdir;
+rt x7a = w - pcshiftx - 2st; (z7a-z7c) = whatever*pdir;
+x4 = 1/2[x3a,x7a]; y4 = y3a;
+x5 = x7a; y5 = 1/2[y3a, y7a];
+z7 = (rt x7c, y7c);
+pth1 := z3{pdir}..z4..z5..{-pdir}z7;
+%% lower arm
+z21=z7;
+z24=(x5+st,y2a);
+x23 = x24; y23 = 1/2[y21,y24];
+rt x25 = w-pcshiftx; bot y25 = 0;
+pth2 := z21{pdir}..{down}z23..z24..{pdir}z25;
+pickup quill;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; % upper bowl
+draw pth2; % lower half
+%% decorations
+z1tr = (rt x1, top y1);
+pickup stylus;
+z102 = 2/3[z2b,z2c]; x101 = x102; top y101 = h;
+x103 = x1tr; y103 = y101;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/2[y7,y3];
+y185 = 2w; (z185-z105) = whatever*pdir;
+z106 = (z105--z185) intersectionpoint pth1;
+x107 = x105; y107 = y105-angdec;
+x187 = x185; y187-y185 = y107-y105;
+%%z108 = (z107--z187) intersectionpoint pth1;
+draw z105--z106;
+%%draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,13,14,21,22,23,24,25,100);
+endchar; % end "K"
+
+cmchar "PGOTH letter L";
+beginchar("L", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric st; st := stem_width;
+pickup quill;
+lft x1=pcshiftx+3st; y1=h;
+x2=x1; bot y2 =0;
+draw_upcurlstem(1,2);
+rt x4 = w-pcshiftx; bot y4 = 0;
+draw z2{right}..{pdir}z4;
+%% vertical decoration
+x201 = rt x1;
+x101 = x201+2/3wided*st;
+pickup stylus;
+top y101 = h; y201 = y101;
+x102 = x101; bot y102=0;
+draw z201--z101--z102;
+ductus:=false;
+penlabels(1,2,3,4,101,102,201,100);
+endchar; % end "L"
+
+cmchar "PGOTH letter M";
+beginchar("M", 2cap_sb#+hstretch*((11)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric st; st := stem_width;
+path pth[];
+pickup quill;
+%%% left part
+lft x301 = pcshiftx+3st; y301 = h;
+x302 = x301; y302 = 0;
+z312 = 1/2[z301,z302];
+draw_upcurlstem(301,312);
+draw_downdiamondstem(312,302,wided,widedmin,diawd,diang);
+
+%% left N stem (and N part)
+%%%lft x1=pcshiftx+3st; y1=h;
+x1 = x301 + 3st; y1 = h;
+x2=x1; y2=0;
+z12 = 1/2[z1,z2];
+%%draw_upcurlstem(1,12);
+%%draw_updiamondstem(1,12,wided,widedmin,diawd,diang);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+x13=x1; y13=3/4h;
+rt x3 = w-pcshiftx; y3 = 8/16h;
+x14 = 8/16[x13,x3]; top y14 = h;
+x4 = 1/2[x14,x3]; bot y4=0;
+pth1 := z13{pdir}..{right}z14..{down}z3..{-pdir}z4;
+%% bottom curl
+z21 = z4;
+x24 = x3; top y24 = 0;
+x23 = 1/2[x21,x24]; top y23 = bot y24;
+pth2 := z21{-pdir}..z23..{ppdir}z24;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+pickup stylus;
+draw pth2;
+pickup quill;
+%% finish off the left part
+x3011 = 1/2[x301,x1]; top y3011 = h;
+z3123 = (x301,3/4h); z123 = (x1,y3123);
+draw z3123--z3011--z123--z12;
+%% vertical decorations
+ %% left part
+z402 = 2/3[z302b,z302c];
+x401 = x402; z401 = whatever[z3123,z3011];
+ %% right part
+z102 = 2/3[z2b,z2c];
+z182 = (x102,h);
+z101 = (z102--z182) intersectionpoint pth1;
+%% angled decorations
+ %% left part
+z406 = z13;
+x405 = x402; (z406-z405) = whatever*pdir;
+z407 = (x405, y405-angdec); z408 = (x406, y406-angdec);
+ %% right part
+z105 = (x102,y405);
+x185 = 2w;
+(z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth1;
+z107 = (x105, y105-angdec); z187 = (x185, y185-angdec);
+z108 = (z107--z187) intersectionpoint pth1;
+pickup stylus;
+draw z401--z402;
+draw z405--z406; draw z407--z408;
+draw z101--z102;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,13,14,101,102,105,106,107,108,301,302,100);
+endchar; % end "M"
+
+cmchar "PGOTH letter N";
+beginchar("N", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric st; st := stem_width;
+path pth[];
+pickup quill;
+%% left stem
+lft x1=pcshiftx+3st; y1=h;
+x2=x1; y2=0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+x13=x1; y13=3/4h;
+rt x3 = w-pcshiftx; y3 = 8/16h;
+x14 = 8/16[x13,x3]; top y14 = h;
+x4 = 1/2[x14,x3]; bot y4=0;
+pth1 := z13{pdir}..{right}z14..{down}z3..{-pdir}z4;
+%% bottom curl
+z21 = z4;
+x24 = x3; top y24 = 0;
+x23 = 1/2[x21,x24]; top y23 = bot y24;
+pth2 := z21{-pdir}..z23..{ppdir}z24;
+%% vertical decoration
+z102 = 2/3[z2b,z2c];
+z182 = (x102,h);
+z101 = (z102--z182) intersectionpoint pth1;
+z105 = 1/2[z102,z101];
+x185 = 2w;
+(z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth1;
+z107 = (x105, y105-angdec); z187 = (x185, y185-angdec);
+z108 = (z107--z187) intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+pickup stylus;
+draw pth2;
+draw z101--z102;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,13,14,100);
+endchar; % end "N"
+
+cmchar "PGOTH letter O";
+beginchar("O", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+path pth[];
+pickup quill;
+lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2;
+x2=x4=w/2; top y2=h; bot y4=0;
+pth1 := z1..z2..z3..z4..cycle;
+%% vertical decoration
+z101=z2; z102=z4;
+z103 = (x101-perpdec, y101); z104 = (x103,y102);
+%% angled decoration
+z108 = (lft x3,y3);
+x107 = x101; (z108-z107) = whatever*(pdir);
+z105 = (x107, y107+angdec);
+x106a = 2w; (z106a-z105) = whatever*(pdir);
+z106 = (z105--z106a) intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1;
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,100);
+endchar; % end "O"
+
+cmchar "PGOTH letter P";
+beginchar("P", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 1/2caprat*x_height#);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+path pth[];
+numeric n[];
+numeric st; st := stem_width;
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+3st;
+y1=h; y2=-d;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+%% vertical decoration
+z1tr = (rt x1, top y1);
+z102 = 2/3[z2b,z2c];
+pickup stylus;
+x101 = x102; top y101 = h;
+x103 = x1tr; y103 = y101;
+draw z103--z101--z102;
+pickup quill;
+%% bowl
+lft x22 = x101; top y22 = h;
+x21 = x1; (z22-z21) = whatever*pdir;
+rt x24 = w - pcshiftx; y24 = 1/2h;
+x25 = 1/2[x22,x24]; bot y25 = 0;
+pth1 := z21--z22{down}..{down}z24..{-pdir}z25;
+z31 = z25;
+lft x33 = pcshiftx; bot y33 = 0;
+pth2 := z33{pdir}..{right}z31;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; draw pth2;
+%% angled decoration
+x105 = x101; y105 = 1/3h;
+x185 = 2w;
+(z185-z105) = whatever*pdir;
+z106 = (z105--z185) intersectionpoint pth1;
+z107 = (x105,y105-angdec);
+x187 = x185; y107 - y105 = y187 - y185;
+z108 = (z107--z187) intersectionpoint pth1;
+pickup stylus;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,100);
+endchar; % end "P"
+
+cmchar "PGOTH letter Q";
+beginchar("Q", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+path pth[];
+pickup quill;
+lft x1=pcshiftx; rt x3=w-pcshiftx-stem_width; y1=y3=h/2;
+x2=x4=w/2; top y2=h; bot y4=0;
+pth1 := z1..z2..z3..z4..cycle;
+%% tail
+pth2 := z1..z4..z3;
+z11 = directionpoint pdir of pth2;
+rt x13 = w-pcshiftx; bot y13 = 0;
+pth3 := z11{pdir}..{pdir}z13;
+%% vertical decoration
+z101=z2; z102=z4;
+z103 = (x101-perpdec, y101); z104 = (x103,y102);
+%% angled decoration
+z108 = (lft x3,y3);
+x107 = x101; (z108-z107) = whatever*(pdir);
+z105 = (x107, y107+angdec);
+x106a = 2w; (z106a-z105) = whatever*(pdir);
+z106 = (z105--z106a) intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; draw pth3;
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,100);
+endchar; % end "Q"
+
+cmchar "PGOTH letter R";
+beginchar("R", 2cap_sb#+hstretch*((8+wided)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+path pth[];
+numeric n[];
+numeric st; st := stem_width;
+pickup quill;
+%% stem
+n1 = h; % x-height
+lft x1=lft x2=pcshiftx+3st;
+y1=h; y2=0;
+z12 = 1/2[z1,z2];
+draw_upcurlstem(1,12);
+draw_downdiamondstem(12,2,wided,widedmin,diawd,diang);
+%% top arm
+%%z3=(x1,1/2n1);
+x3 = x1; top y3 = 14/16n1;
+z7c = 1/2[z2,z3];
+top y3a = n1; (z3a-z3) = whatever*pdir;
+rt x7a = w - pcshiftx - 2st; (z7a-z7c) = whatever*pdir;
+x4 = 1/2[x3a,x7a]; y4 = y3a;
+x5 = x7a; y5 = 1/2[y3a, y7a];
+z7 = (rt x7c, y7c);
+pth1 := z3{pdir}..z4..z5..{-pdir}z7;
+%% lower arm
+z21=z7;
+z24=(x5,y2a);
+x23 = x24; y23 = 1/2[y21,y24];
+rt x25 = w-pcshiftx; bot y25 = 0;
+pth2 := z21{pdir}..{down}z23..z24..{pdir}z25;
+pickup quill;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; % upper bowl
+draw pth2; % lower half
+%% decorations
+z1tr = (rt x1, top y1);
+pickup stylus;
+z102 = 2/3[z2b,z2c]; x101 = x102; top y101 = h;
+x103 = x1tr; y103 = y101;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/2[y7,y3];
+y185 = 2w; (z185-z105) = whatever*pdir;
+z106 = (z105--z185) intersectionpoint pth1;
+x107 = x105; y107 = y105-angdec;
+x187 = x185; y187-y185 = y107-y105;
+%%z108 = (z107--z187) intersectionpoint pth1;
+draw z105--z106;
+%%draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,13,14,21,22,23,24,25,100);
+endchar; % end "R"
+
+cmchar "PGOTH letter S";
+beginchar("S", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+pickup threequarterquill;
+%% top
+n1 := 1;
+lft x1 = pcshiftx + n1*st; top y1 = h;
+rt x3 = w - pcshiftx; y3 = y1;
+x2 = 1/2[x1,x3]; top y2 = y1;
+pth1 := z1..z2..{pdir}z3;
+draw pth1;
+%% bottom
+lft x4 = pcshiftx; bot y4 = 0;
+rt x6 = w -pcshiftx - n1*st; y6 = y4;
+x5 = 1/2[x4,x6]; bot y5 = y4;
+pth2 := z4{pdir}..z5..z6;
+draw pth2;
+%% top path
+z100 = (1/2w, 1/2h);
+z11 = z1; z15 = z6;
+x13 = x100; y13 = y100 + st;
+pth3 := z11..{right}z13{right}..z15;
+draw pth3;
+%% bottom path
+z21 = z11; z25 = z6;
+x23 = x100; y100 - y23 = y13 - y100;
+pth4 := z21..{right}z23{right}..z25;
+draw pth4;
+%% decorations
+ %% top
+z101 = (x2+angdec,y2); y181 = 0; (z101-z181) = whatever*pdir;
+z102 = (z101--z181) intersectionpoint pth3;
+z103 = (x101-angdec, y101); x183-x181 = x103-x101; y183 = 0;
+z104 = (z103--z183) intersectionpoint pth3;
+ %% bottom
+z201 = (x5,y5); y281 = h; (z201-z281) = whatever*pdir;
+z202 = (z201--z281) intersectionpoint pth4;
+z203 = (x201-angdec, y201); x283-x281 = x203-x201; y283 = h;
+z204 = (z203--z283) intersectionpoint pth4;
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z201--z202; draw z203--z204;
+
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,11,17,20,26,27,28,100,101,102,103,104,201,202,203,204);
+endchar; % end "S"
+
+cmchar "PGOTH letter T";
+beginchar("T", 2cap_sb#+hstretch*((7)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pickup quill;
+%% bar
+top y3=h; n3 := h - top y3;
+lft x1 = pcshiftx; rt x2=w-pcshiftx;
+y1 = y3-n3; y2=y3;
+x3=1/2[x1,x2];
+pth1 := z1{pdir}..z3..z2{pdir};
+%% bowl
+n1 := w; % width of bowl
+n2 := h; % height of bowl
+lft x4 = pcshiftx; y4 = 1/2h;
+x5=x3; bot y5 = 0;
+rt x6 = w-pcshiftx; y6 = 6/16h;
+%%pth2 := z3..z4{down}..z5{right}..z6{pdir};
+%% decoration
+x101 = lft x3; y101=y3;
+x181 = x101; y181=-h/4; z191 = 1/2[z101,z181];
+%%z102 = z191--z181 intersectionpoint pth2; %%% ???? NO INTERSECTION!!!!!!
+z102=(x101,y5);
+z103 = (x101+3thin, y101); z104 = (x103,y102);
+lft x7 = x104; y7 = 10/16[y104,y103];
+pth2 := z3..z4{down}..z5{right}..z6{up}..{-pdir}z7;
+z105 = (x104,y104+4thin); z107=(x105,y105+3thin);
+x185 = 2w; (z185-z105) = whatever*(pdir);
+z106 = (z105--z185) intersectionpoint pth2;
+z108 = (x106,y106+3thin);
+pickup stylus;
+draw z101--z102; draw z103--z104;
+draw z105--z106; draw z107--z108;
+pickup quill;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; %% bar
+draw pth2; %% bowl
+ductus:=false;
+penlabels(1,2,3,4,5,6,11,12,100,101,102,103,104,181,191);
+endchar; % end "T"
+
+cmchar "PGOTH letter U";
+beginchar("U", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := cap_sb;
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pickup quill;
+%% stem tops
+lft x1 = pcshiftx + 3st; y1 = h;
+rt x3 = w - pcshiftx - widedmin*st; y3 = h;
+x7 = x1 - 3/2st; bot y7 = 0;
+rt x9 = lft x3; bot y9 = 0;
+pth1 := z7{pdir}..{pdir}z9;
+draw pth1;
+%% stem bottoms
+z2 = (z1 -- (x1,-h)) intersectionpoint pth1;
+x4 = x3; bot y4 = top y9;
+draw_upcurlstem(1,2);
+draw_updiamondstem(3,4,wided,widedmin,diawd,diang);
+%% decorations
+z1tr = (rt x1, top y1);
+pickup stylus;
+z99 = 2/3[z3b,z3c];
+x101 - x1 = x3 - x99; top y101 = h;
+x102 = x101; y102 = y2;
+x103 = x1tr; y103 = y101;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/3h;
+x106 = x3; (z106-z105) = whatever*pdir;
+z107 = (x105, y105-angdec); x108 = x106; y108-y106 = y107-y105;
+draw z105--z106; draw z107--z108;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,11,13,14,16,33,100);
+endchar; % end "U"
+
+cmchar "PGOTH letter V";
+beginchar("V", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% left stem top
+lft x1 = pcshiftx + 3st; y1 = h;
+x7 = x1 - 3/2st; bot y7 = 0;
+x9 = w/2; bot y9 = 0;
+pth1 := z7{pdir}..{right}z9;
+draw pth1;
+%% left stem bottom
+x81 = x1; y81 = - h;
+z2 = (z1--z81) intersectionpoint pth1;
+draw_upcurlstem(1,2);
+%% right stem
+z6 = z9;
+rt x5 = w - pcshiftx; top y5 = 3/4h;
+x3 = 1/2[rt x1, lft x5];
+x4 = 1/2[x3,x5]; top y4 = h;
+y3 = 1/2[y4,y5];
+pth2 := z6{pdir}..{up}z5..{left}z4..{-pdir}z3;
+draw pth2;
+pth3 := pth1 & pth2;
+%% decoration
+z1tr = (rt x1, top y1);
+x101 = x1tr + 2/3wided*st;
+pickup stylus;
+top y101 = h;
+z103 = (x1tr,y101);
+z181 = (x101,-w);
+z102 = (z101--z181) intersectionpoint pth3;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/3[y102,y101];
+x185 = 2w; (z185-z105) = whatever*pdir;
+z106 = (z105--z185) intersectionpoint pth2;
+z107 = (x105, y105-angdec);
+x187 = x185; y187-y185 = y107-y105;
+z108 = (z107--z187) intersectionpoint pth2;
+draw z105--z106; draw z107--z108;
+
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+
+ductus:=false;
+penlabels(1,2,3,4,5,11,13,14,23,26,100);
+endchar; % end "V"
+
+cmchar "PGOTH letter W";
+beginchar("W", 2cap_sb#+hstretch*((12)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% top of stems
+lft x1 = pcshiftx + 3st; y1 = h;
+rt x999 = w - pcshiftx;
+x3 = 1/2[x1,x999]; y3 = h;
+%% bowl bottoms
+x21 = x1 - 3/2st; bot y21 = 0;
+rt x23 = lft x3; bot y23 = 0;
+pth1 := z21{pdir}..z23;
+draw pth1;
+lft x31 = rt x23; bot y31 = top y23;
+x33 = 1/2[x31,x999]; bot y33 = 0;
+pth2 := z31{pdir}..z33;
+draw pth2;
+%% bottom of stems
+z2 = (z1--(x1,0)) intersectionpoint pth1;
+x4 = x3; bot y4 = top y23;
+draw_upcurlstem(1,2);
+draw_updiamondstem(3,4,wided,widedmin,diawd,diang);
+%% right V stem
+z16 = z33;
+x15 = x999; top y15 = 3/4h;
+x13 = 1/2[rt x3, lft x15];
+x14 = 1/2[x13,x15]; top y14 = h;
+y13 = 1/2[y14,y15];
+pth3 = z16{pdir}..{up}z15..{left}z14..{-pdir}z13;
+draw pth3;
+%% decorations
+z1tr = (rt x1, top y1);
+z3tr = (rt x3, top y3);
+pickup stylus;
+%% for U
+z99 = 2/3[z3b,z3c];
+x101 - x1 = x3 - x99; top y101 = h;
+x102 = x101; y102 = y2;
+x103 = x1tr; y103 = y101;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/3h;
+x106 = x3; (z106-z105) = whatever*pdir;
+z107 = (x105, y105-angdec); x108 = x106; y108-y106 = y107-y105;
+draw z105--z106; draw z107--z108;
+%% for V
+
+x301 = x3tr+2/3wided*st; top y301 = y3e;
+z381 = (x301,-w);
+z302 = (z301--z381) intersectionpoint pth2;
+draw z3e--z301--z302;
+x305 = x301; y305 = 1/3[y302,y301];
+x385 = 2w; (z385-z305) = whatever*pdir;
+z306 = (z305--z385) intersectionpoint pth3;
+z307 = (x305, y305-angdec);
+x387 = x385; y387-y385 = y307-y305;
+z308 = (z307--z387) intersectionpoint pth3;
+draw z305--z306; draw z307--z308;
+
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,11,13,14,33,34,53,16,100);
+endchar; % end "W"
+
+cmchar "PGOTH letter X";
+beginchar("X", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+path pth[];
+numeric n[];
+numeric st; st := stem_width;
+pcshiftx := cap_sb;
+pickup quill;
+%% center stem
+lft x1 = lft x2 = pcshiftx + 3st;
+y1 = 3/4h; y2 = 1/4h;
+draw z1--z2;
+%% top right
+z21 = z1; top y22 = h; (z22-z21) = whatever*pdir;
+rt x24 = w-pcshiftx; y24 = y21;
+pth1 := z21--z22{-ppdir}..{pdir}z24;
+draw pth1;
+%% bottom right
+z31 = z2;
+rt x33 = w-pcshiftx; bot y33 = 0;
+pth2 := z31{-ppdir}..{pdir}z33;
+draw pth2;
+%% bottom left
+z41 = z2;
+bot y43 = -1/4h; (z41-z43) = whatever*pdir;
+x45 = x43 + st; y45=y43;
+pth3 := z41--z43{-pdir}..{pdir}z45;
+pickup stylus;
+draw pth3;
+pickup quill;
+%% top left
+x11 = x1; y11 = h;
+draw_upcurlstem(11,1);
+%% decoration
+x81 = rt x1;
+pickup stylus;
+x101 = x102 = x81 + 2/3wided*st;
+z101 = whatever[z1,z22];
+z102 = (z101--(x101,0)) intersectionpoint pth2;
+draw z101--z102;
+pickup quill;
+%% middle arms
+z120 = 1/2[z1,z2];
+z51 = z120;
+lft x53 = pcshiftx; top y53 = y51;
+x52 = 1/2[x51,x53]; y52 = y51;
+pth5 := z51--z52{left}..{-pdir}z53;
+draw pth5;
+lft x61 = x101; y61 = y120;
+rt x63 = w-pcshiftx; bot y63 = y61;
+x62 = 1/2[x61,x63]; y62 = y61;
+pth6 := z61--z62{right}..{pdir}z63;
+draw pth6;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,10,25,251,252,40,50,51,52,53,61,62,63,101,102,150,60,160,100);
+endchar; % end "X"
+
+cmchar "PGOTH letter Y";
+beginchar("Y", 2cap_sb#+hstretch*((8)*stem_width#),
+ caprat*x_height#, 1/2caprat*x_height#);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% stem tops
+lft x1 = pcshiftx + 3st; y1 = h;
+rt x3 = w - pcshiftx - widedmin*st; y3 = h;
+x7 = x1 - 3/2st; bot y7 = 0;
+x9 = 1/2[x1,x3]; bot y9 = 0;
+pth1 := z7{pdir}..{right}z9;
+draw pth1;
+%% left stem bottom
+x81 = x1; y81 = - h;
+z2 = (z1--z81) intersectionpoint pth1;
+draw_upcurlstem(1,2);
+%% right stem
+x4 = x3; y4 = 0;
+x5 = x4; y5 = -1/4d;
+lft x6 = x9; bot y6 = -d;
+draw_updiamondstem(3,4,wided,widedmin,diawd,diang);
+draw z6{pdir}..{up}z5--z4;
+z3cd = 1/2[z3c,z3d];
+pth2 = z5--z3a--z3cd;
+%% fill bowl bottom
+x91 = x3; (z91-z9) = whatever*pdir;
+draw z9--z91;
+
+%% decoration
+z1tr = (rt x1, top y1);
+x101 = x1tr + 2/3wided*st;
+pickup stylus;
+top y101 = h;
+z103 = (x1tr,y101);
+z181 = (x101,-w);
+z102 = (z101--z181) intersectionpoint pth1;
+draw z103--z101--z102;
+x105 = x101; y105 = 1/3[y102,y101];
+x185 = 2w; (z185-z105) = whatever*pdir;
+z106 = (z105--z185) intersectionpoint pth2;
+z107 = (x105, y105-angdec);
+x187 = x185; y187-y185 = y107-y105;
+z108 = (z107--z187) intersectionpoint pth2;
+draw z105--z106; draw z107--z108;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,10,100,101,102,181);
+endchar; % end "Y"
+
+cmchar "PGOTH letter Z";
+beginchar("Z", 2cap_sb#+hstretch*((5)*stem_width#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+numeric st; st := stem_width;
+path pth[];
+pcshiftx := cap_sb;
+pickup quill;
+%% top bar ends
+top y12 = h;
+n1 := h - y12;
+lft x1 = pcshiftx; rt x2 = w-pcshiftx-perpdec;
+%%y1 = y12-n1; y2=y12+n1;
+y1 = y12-n1/2; y2=y12;
+x12 = 1/2[x1,x2];
+pth1 := z1{pdir}..z12{right}..z2{pdir};
+x102 = rt x2; y102 = top y2; x202 = x102+perpdec; y202=y102;
+%% bottom bar ends
+bot y34 = 0;
+x3=x1+perpdec; rt x4= w-pcshiftx;
+y3=y34-n1/2; y4=y34;
+x34 = 1/2[x3,x4];
+pth2 := z3{pdir}..z34{right}..z4{pdir};
+x203 = lft x3; y203 = bot y3; x103 = x203-perpdec; y103=y203;
+%% centre bar
+z5 = (x1,1/2[y1,y3]); z6 = (x4,1/2[y2,y4]); z56 = 1/2[z5,z6];
+pth3 := z5{pdir}..z56{right}..z6{pdir};
+draw pth1; draw pth2; % bars
+draw pth3;
+%% decorations
+pickup stylus;
+draw z102--z103; draw z202--z203;
+unfill z102--z103--z203--z202--cycle;
+draw z102--z103; draw z202--z203;
+ductus:=false;
+penlabels(1,2,3,4,5,6,10o,10i,20o,20i,100);
+endchar; % end "Z"
+