%% %% This is file `pgothl.mf', %% generated with the docstrip utility. %% %% The original source files were: %% %% pgothic.dtx (with options: `min') %% %% 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", 2sb#+hstretch*((3+widedmin+wided)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; path pth[]; pair pr[]; pickup quill; %% left hand lft x1 = pcshiftx + widedmin*stem_width; y1 = 1/2h; x2 = x1; y2 = 0; draw_downdiamondstem(1,2,wided,widedmin,diawd,diang); %% right stem rt x3 = w - pcshiftx - wided*stem_width; y3=h; x4=x3; bot y4=0; z34=1/2[z3,z4]; draw_updiamondstem(3,34,1.0,0.1,diawd,diang); draw z34--z4; draw_flat_foot(4); %% swirl x11=rt x1; y11 = top y1; pickup stylus; draw z3d--z3c..{-ppdir}z11; 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", 2sb#+hstretch*((3 + widedmin + narrowdmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; path pth[]; pcshiftx := sb; pickup quill; n1:=w-2pcshiftx; % actual letter width n2:=h/ascratio; % top of bowl %%ductus:=true; lft x1 = pcshiftx + widedmin*st; y1=h; x2 = x1; y2=0; z3=1/2[z1,z2]; draw_upforkstem(1,3); draw_downdiamondstem(3,2,1.0,widedmin,diawd,diang); lft x6 = x2c; bot y6 = y2c; x4 = x6; y4=n2; draw_updiamondstem(4,6,narrowd,narrowdmin,diawd,diang); x7 = x1; z7 = whatever[z4d,z4c]; pickup stylus; draw z4d--z7; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,100); endchar; % end "b" cmchar "PGOTH letter c"; beginchar("c", 2sb#+hstretch*((3+wided)*stem_width#), x_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; pcshiftx := sb; pickup quill; %% left lft x1 = pcshiftx+wided*st; y1 = 3/4h; x2 = x1; y2 = 0; draw_downdiamondstem(1,2,wided,widedmin,diawd,diang); %% top lft x3 = rt x1; bot y3 = top y1; rt x4 = w - pcshiftx; z3 - z4 = -whatever*ppdir; draw z3--z4; z11-z2c = z2c - z2d; pickup stylus; draw z2d--z11; ductus:=false; penlabels(1,2,3,4,5,6,14,16,17,18,100); endchar; % end "c" cmchar "PGOTH letter d"; beginchar("d", 2sb#+hstretch*((3+widedmin+narrowdmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; path pth[]; pcshiftx := sb; pickup quill; n1 = h/ascratio; % x-height %% left n2 := st*(cosd diang); lft x1 = pcshiftx + widedmin*st; top y1 = 12/16n1; x2=x1; y2=0; draw_downdiamondstem(1,2, 1.0, widedmin, diawd,diang); %% right rt x3 = w-pcshiftx-narrowdmin*st; y3=h; x4 = x3; bot y4 = y2c; draw_updiamondstem(3,4, 2.0, narrowdmin, diawd,diang); x31 = lft x1; y31 = bot y1; x32 = rt x1; y32 = top y1; z33 = whatever[z31,z32] = whatever[z3e,z3c]; pickup stylus; draw z31--z33; ductus:=false; penlabels(0,1,2,3,4,5,6,7,8,100); endchar; % end "d" cmchar "PGOTH letter e"; beginchar("e", 2sb#+hstretch*((3+wided)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; path pth[]; pickup quill; %% left lft x1 = pcshiftx+wided*st; y1 = 3/4h; x2 = x1; y2 = 0; draw_downdiamondstem(1,2,wided,widedmin,diawd,diang); %% top lft x3 = rt x1; bot y3 = top y1; rt x4 = w - pcshiftx; z3 - z4 = -whatever*ppdir; draw z3--z4; x5 = x1; z4-z5 = whatever*pdir; pickup stylus; draw z4--z5; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,17,27,34,70,100); endchar; % end "e" cmchar "PGOTH letter f"; beginchar("f", 2sb#+hstretch*((3+widedmin)*stem_width#), (asc_height#), 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; pcshiftx := sb; pickup quill; n1 := h/ascratio; % x-height %% stem lft x1=lft x2=pcshiftx+widedmin*st; y2=0; top y1 = h - (top y2 - bot y2); draw z1--z2; draw_flat_foot(2); %% top bar lft x3 = rt x1; rt x5 = w-pcshiftx; bot y3 = top y1; y5=y3; draw z3--z5; %% middle bar lft x7 = pcshiftx; rt x9 = x5; y7 = y9 = 10/16h; draw z7--z9; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,14,15,16,100); endchar; % end "f" cmchar "PGOTH letter g"; beginchar("g", 2sb#+hstretch*((4)*stem_width#), x_height#, desc_depth#); adjust_fit(0,0); path pth[]; pair vec[]; numeric n[]; numeric st; st := stem_width; pcshiftx := sb; pickup quill; %% left lft x1 = pcshiftx; x2 = x1; bot y2 = 0; top y1 = h - (top y2 - bot y2); draw z1--z2; x3 = x4 = x1 + 2st; y4 = y2; lft x13 = rt x1; bot y13 = top y1; (z3-z13) = whatever*(dir -diang); draw z13--z3--z4; z34 = 1/2[z13,z3]; rt x37 = w-pcshiftx; top y37 = h; draw z34{right}..{pdir}z37; pickup stylus; bot y5 = -d; (z4-z5) = whatever*pdir; draw z4--z5; pickup quill; %% bottom loop z21 = z2; lft x25 = x5; bot y25=-d; x29 = 1/2[x3,x37]; (z29-z21) = whatever*(dir -diang); x23 = x29; y23 = 1/2[y29,y25]; draw z21{dir - diang}..z23{down}..{left}z25; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,11,12,13,31,32,33,34,35,36,100); endchar; % end "g" cmchar "PGOTH letter h"; beginchar("h", 2sb#+hstretch*((3 + narrowd + narrowdmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; pickup quill; numeric n[]; n1 = h/ascratio; %% stem lft x1=lft x2=pcshiftx + narrowdmin*stem_width; y1=h; bot y2=0; z12 = 1/2[z1,z2]; draw_upforkstem(1,12); draw z12--z2; draw_flat_foot(2); %% bowl x3 = x1 + 2stem_width; x4 = x3; y3 = n1; bot y4=0; z34 = 1/2[z3,z4]; draw_updiamondstem(3,34,narrowd,narrowdmin,diawd,diang); draw z34--z4; draw_flat_foot(4); x7 = x1; z7 = whatever[z3d,z3c]; pickup stylus; draw z3d--z7; penlabels(1,2,3,4,5,6,100); endchar; % end "h" cmchar "PGOTH letter i"; beginchar("i", 2sb#+hstretch*(2stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; pickup quill; x1 = x2 = 1/2w; y1 = h; bot y2 = 0; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12,1/2,1/2,diawd,diang); draw z12--z2; draw_flat_foot(2); x3= x1-thin; bot y3 = h + 1/2stem_width; z4 = (x3+3thin,y3); pickup halfquill; draw z3--z4; penlabels(1,2,100); endchar; % end "i" cmchar "PGOTH letter j"; beginchar("j", sb#+hstretch*(5/2stem_width#), x_height#, desc_depth#); adjust_fit(0,0); pcshiftx := sb; numeric n[]; pickup quill; %% stem rt x1 = w-pcshiftx - 1/2stem_width; y1 = h; x2=x1; y2=-1/2d; %% bottom hook lft x3 = pcshiftx; bot y3 = -d; draw_updiamondstem(1,2,narrowd,narrowdmin,diawd,diang); draw z2{down}..z3{-pdir}; % hook ductus:=false; penlabels(1,2,3,100); endchar; % end "j" cmchar "PGOTH letter k"; beginchar("k", 2sb#+hstretch*((3 + narrowd + narrowdmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; path pth[]; numeric n[]; numeric st; st := stem_width; pickup quill; %% stem n1 = h/ascratio; % x-height lft x1=lft x2=pcshiftx + narrowdmin*st; y1=h; bot y2=0; z12 = 1/2[z1,z2]; draw_upforkstem(1,12); draw z12--z2; draw_flat_foot(2); %% right leg x3 = x1 + 2st; y3 = 8/16n1; x4 = x3; bot y4 = 0; z34 = 1/2[z3,z4]; draw z3--z4; draw_flat_foot(4); draw z3--z34; lft x5 = rt x1; (z3-z5) = whatever*(dir -diang); draw z5--z3; %% top arm x6 = 1/2[x3, rt x3]; (z6-z5) = whatever*(pdir); rt x8 = lft x5; top y8 = bot y5+thick; (z7-z8) = whatever*(z6-z5); (z7-z6)=whatver*(z5-z3); draw z6--z7; pickup stylus; draw z5--z6--z7--z8; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,13,14,100); endchar; % end "k" cmchar "PGOTH letter l"; beginchar("l", 2sb#+hstretch*((1 + widedmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); numeric st; st := stem_width; pcshiftx := sb; pickup quill; x1 = 1/2w; y1=h; x2=x1; bot y2 =0; z3 = 1/2[z1,z2]; %%ductus:=true; if ductus: pickup stylus; fi draw_upforkstem(1,3); draw z3--z2; draw_flat_foot(2); ductus:=false; penlabels(1,2,3,4,100); endchar; % end "l" cmchar "PGOTH letter m"; beginchar("m", 2sb#+hstretch*((5+wided+narrowd)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; path pth[]; pickup quill; %% left stem lft x1=pcshiftx+wided*stem_width; y1 = y3 = y5 = h; x2=x1; bot y2 = 0; y2 = y4 = y6; z12=1/2[z1,z2]; draw_updiamondstem(1,12,wided,widedmin,diawd,diang); draw z12--z2; draw_flat_foot(2); %% right stem rt x5 = rt x6 = w-pcshiftx-narrowd*stem_width; z56 = 1/2[z5,z6]; draw_updiamondstem(5,56,wided,widedmin,diawd,diang); draw z56--z6; draw_flat_foot(6); %% middle stem z3=1/2[z1,z5]; z4 = 1/2[z2,z6]; z34=1/2[z3,z4]; draw_updiamondstem(3,34,wided,widedmin,diawd,diang); draw z34--z4; draw_flat_foot(4); ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,13,14,33,34,100); endchar; % end "m" cmchar "PGOTH letter n"; beginchar("n", 2sb#+hstretch*((3+wided+narrowd)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; pickup quill; %% left stem lft x1 = pcshiftx + wided*stem_width; y1 = h; x2 = x1; bot y2 = 0; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12,wided,widedmin,diawd,diang); draw z12--z2; draw_flat_foot(2); %% right stem rt x3 = w-pcshiftx - narrowd*stem_width; y3=y1; x4=x3;y4=y2; z34=1/2[z3,z4]; draw_updiamondstem(3,34,wided,widedmin,diawd,diang); draw z34--z4; draw_flat_foot(4); penlabels(1,2,3,4,5,6,13,14,100); endchar; % end "n" cmchar "PGOTH letter o"; beginchar("o", 2sb#+hstretch*((3 + narrowdmin + narrowdmin)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; pickup quill; %% bottom left lft x12 = pcshiftx + narrowdmin*st; y12 = 1/2h; x2 = x12; y2 = 0; draw_downdiamondstem(12,2, 1.0, narrowdmin, diawd,diang); %% right rt x3 = w - pcshiftx - narrowdmin*st; x4=x3; y3 = h; bot y4 = y2c; draw_updiamondstem(3,4, 1.0, narrowdmin, diawd,diang); %% top left x1 = x12; top y1 = y3c; draw z1--z12; ductus:=false; penlabels(1,2,3,4,5,100); endchar; % end "o" cmchar "PGOTH letter p"; beginchar("p", 2sb#+hstretch*((3 + wided + widedmin)*stem_width#), x_height#, desc_depth#); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; pickup quill; %% stem lft x1=lft x2=pcshiftx+wided*st; y1=h; y2=-d; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12,wided,widedmin,diawd,diang); draw z12--z2; %% bowl x3 = x4 = x1 + 2st; y3 = y1; bot y4 = 0; draw_updiamondstem(3,4,wided,widedmin,diawd,diang); lft x5 = pcshiftx; y5 = y4; draw z5--z4; ductus:=false; penlabels(1,2,3,4,5,6,7,8,100); endchar; % end "p" cmchar "PGOTH letter q"; beginchar("q", 2sb#+hstretch*((3 + widedmin)*stem_width#), x_height#, desc_depth#); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; pickup quill; %% left/bottom of bowl y99 = 0; lft x1 = pcshiftx +widedmin*st; top y1 = h - (top y99 - bot y99); x2 = x1; y2 = 0; draw_downdiamondstem(1,2, 1.0, widedmin,diawd,diang); %% rest x3 = x1 + 2st; x4 = x3; y3 = y1; y4 = -d; lft x5 = rt x1; bot y5 = top y1; draw z3--z4; draw z5--z3; ductus:=false; penlabels(0,1,2,3,4,5,6,7,8,100); endchar; % end "q" cmchar "PGOTH letter r"; beginchar("r", 2sb#+hstretch*((3+wided)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; pickup quill; %% stem lft x1=lft x2=pcshiftx + wided*st; y1=h; bot y2=0; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12,wided,widedmin,diawd,diang); draw z12--z2; draw_flat_foot(2); %% bar lft x3 = rt x1; rt x4 = w-pcshiftx; top y3 = top y4 = h; draw z3--z4; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,100); endchar; % end "r" cmchar "PGOTH letter s"; beginchar("s", 2sb#+hstretch*((4)*stem_width#), x_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; pcshiftx := sb; pickup stylus; %% the diagonal lft x2 = pcshiftx; bot y2 = 0; rt x1 = w-pcshiftx; top y1 = h; draw z1--z2; pickup quill; z211 = 13/32[z2,z1]; %% 10/32 too small, 16/32 too large z213 = 24/32[z2,z1]; %% 26/32 too large z212 = 1/2[z211,z213]; %% bottom bowl lft x21 = x2; bot y21 = 0; rt x22 = w - pcshiftx; bot y22 = 0; x23 = x22; z24 = z212; (z24-z23) = whatever*(dir (180-diang)); draw z21{pdir}..z22--z23--z24; %% top bowl z14 = z211; z11 = z213; lft x12 = lft x13 = pcshiftx; (z13-z14) = whatever*(dir (180-diang)); (z12-z11) = whatever*(dir (180-diang)); draw z11--z12--z13--z14; ductus:=false; penlabels(1,2,3,4,5,6,7,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,100); endchar; % end "s" cmchar "PGOTH letter t"; beginchar("t", 2sb#+hstretch*((2+1.0)*stem_width#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; numeric st; st := stem_width; pickup quill; %% bar lft x3 = pcshiftx; top y1 = h; top y3 = bot y1; rt x4 = w-pcshiftx; y4=y3; draw z3--z4; %% stem lft x1 = rt x3; x2 = x1; bot y2 = 0; draw z1--z2; draw_flat_foot(2); ductus:=false; penlabels(1,2,3,4,5,6,11,12,100); endchar; % end "t" cmchar "PGOTH letter u"; beginchar("u", 2sb#+hstretch*((3+narrowd+wided)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; pickup quill; %% left stem lft x1 = pcshiftx + narrowd*stem_width; y1 = h; x2 = x1; y2 = 0; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12,narrowd,narrowdmin,diawd,diang); draw_downdiamondstem(12,2,wided,widedmin,diawd,diang); rt x3 = w - pcshiftx - wided*stem_width; y3=y1; x4=x3; bot y4 = 0; z34=1/2[z3,z4]; draw_updiamondstem(3,34,narrowd,narrowdmin,diawd,diang); draw z34--z4; draw_flat_foot(4); 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", 2sb#+hstretch*((4 + narrowdmin)*stem_width#), asc_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; pcshiftx := sb; st := stem_width; n1 := h/ascratio; % x-height pickup quill; %% bottom left stem %% right and bottom left stems rt x23 = w - pcshiftx - narrowdmin*st; y23 = n1; x24=x23; x1 = x23 - 2st; y1 = 1/2n1; x2 = x1; y2 = 0; draw_downdiamondstem(1,2, 1.0, widedmin, diawd, diang); bot y24 = y2c; draw_updiamondstem(23, 24, narrowd, narrowdmin, diawd, diang); %% curly bit x11 = x1; y11 = n1; draw_updiamondstem(11,1,narrowd,narrowdmin,diawd,diang); ductus:=false; penlabels(1,2,3,4,5,11,13,14,23,26,100); endchar; % end "v" cmchar "PGOTH letter w"; beginchar("w", 2sb#+hstretch*((5+wided+narrowd)*stem_width#), x_height#, 0); adjust_fit(0,0); pcshiftx := sb; pickup quill; %% left stem lft x1 = pcshiftx + narrowd*stem_width; y1 = y3 = y5 = h; x2 = x1; y2 = y4 = 0; bot y6 = 0; z12=1/2[z1,z2]; draw_updiamondstem(1,12, narrowd, narrowdmin, diawd, diang); draw_downdiamondstem(12,2, wided, widedmin, diawd, diang); %% right stem rt x5 = w -pcshiftx-wided*stem_width; x6 = x5; z56 = 1/2[z5,z6]; draw_updiamondstem(5,56, narrowd, narrowdmin, diawd, diang); draw z56--z6; %% middle stem z3 = 1/2[z1,z5]; x4 = 1/2[x2,x6]; z34 = 1/2[z3,z4]; draw_updiamondstem(3,34, narrowd, narrowdmin, diawd, diang); draw_downdiamondstem(34,4, wided, widedmin, diawd, diang); 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", 2sb#+hstretch*((4)*stem_width#), x_height#, 0); adjust_fit(0,0); path pth[]; numeric n[]; numeric st; st := stem_width; pcshiftx := sb; pickup quill; %% upright x1 = 1/2w; y1 = h; x2 = x1; y2 = 0; z12 = 1/2[z1,z2]; draw_updiamondstem(1,12, 1.5, widedmin,diawd,2/3diang); draw_downdiamondstem(12,2, 1.5, widedmin,diawd,2/3diang); %% top right bar lft x3 = rt x1; top y3 = h; rt x4 = w - pcshiftx; y4=y3; draw z3--z4; %% middle bar n1 := h-y3; lft x5 = pcshiftx; rt x6 = w - pcshiftx; y5 = 1/2h - n1; y6 = 1/2h; z56 = 1/2[z5,z6]; draw z5{pdir}..z56..{pdir}z6; %% bottom left pickup stylus; lft x11 = pcshiftx; bot y11 = 0; draw z2e--z11; ductus:=false; penlabels(1,2,3,4,5,6,7,8,10,25,251,252,40,50,150,60,160,100); endchar; % end "x" cmchar "PGOTH letter y"; beginchar("y", 2sb#+hstretch*((3 + narrowd+ narrowdmin)*stem_width#), x_height#, desc_depth#); adjust_fit(0,0); pcshiftx := sb; path pth[]; numeric n[]; numeric st; st = stem_width; pickup quill; %% right side rt x3 = w - pcshiftx - narrowdmin*st; y3 = h; x33 = x3; y33 = 0; %%draw_updiamondstem(3,4,narrowd,narrowdmin, diawd,diang); %% left side x1 = x3 - 2st; y1 = y3; x2 = x1; y2 = 0; n1 := top y2 - y2; draw_updiamondstem(1,2,narrowd,narrowdmin, diawd,diang); %% tail x11 = rt x2; y11 = top y2; x12 = lft x2; y12 = bot y2; pickup stylus; lft x14 = x1 - 2st; y14 = -d + n1; x15 = x14+n1; bot y15 = -d; z4 = whatever[z11,z12] = whatever[z3,z33]; x10=x4; bot y10 = y4; draw z10--z11--z12..{down}z14..{-ppdir}z15; pickup quill; draw_updiamondstem(3,4,narrowd,narrowdmin, diawd,diang); ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,14,15,33,100); endchar; % end "y" cmchar "PGOTH letter z"; beginchar("z", 2sb#+hstretch*(3stem_width#), x_height#, 0); adjust_fit(0,0); numeric n[]; numeric st; st := stem_width; path pth[]; pcshiftx := sb; pickup quill; %% top bar ends top y12 = h; n1 := h - y12; lft x1 = pcshiftx; rt x2 = w-pcshiftx; %%y1 = y12-n1; y2=y12+n1; y1 = y12-n1/2; y2=y12; x12 = 1/2[x1,x2]; pth1 := z1{pdir}..z12{right}..z2{pdir}; %% bottom bar ends bot y34 = 0; x3=x1; x4=x2; %%y3=y34-n1; y4=y34+n1; y3=y34-n1/2; y4=y34; x34 = 1/2[x3,x4]; pth2 := z3{pdir}..z34{right}..z4{pdir}; %% centre bar z5 = 1/2[z1,z3]; z6 = 1/2[z2,z4]; z56 = 1/2[z5,z6]; pth3 := z5{pdir}..z56{right}..z6{pdir}; draw pth1; draw pth2; draw pth3; % bars draw z2--z3; ductus:=false; penlabels(1,2,3,4,5,6,10o,10i,20o,20i,100); endchar; % end "z"