%%
%% 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"

