%% %% This is file `tgothu.mf', %% generated with the docstrip utility. %% %% The original source files were: %% %% tgothic.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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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 "TGOTH 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"