picture small_letter_e;
picture small_letter_a;
picture small_letter_i;
picture small_letter_j;

numeric nombre; nombre:= 5gencoef[1,1.155556];

.cmchar "The Fraktur letter a";
.beginchar("a",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]);
penpos1(stem,0); penpos2(stem,0); penpos3(gencoef[hair,2hair],-51); 
penpos4(hair,-52); penpos5(hair,-52); penpos6(whatever,angle((w,0.35h)));
penpos8(whatever,0); penpos9(hair,gencoef[-30,-50]); penpos11(whatever,0);
penpos12(whatever,-90); penpos11''(hair,-30);
z1=(gencoef[0.7w,0.779w],gencoef[0.345h,0.24h]);
z2=(x1,gencoef[0.807h,0.74h]); z3r=(gencoef[0.911w,w],gencoef[0.925h,0.829h]);
z4l=(gencoef[x2l,0.452w],h+apex_o); z5=whatever[(0,gencoef[0.74h,0.685h]),z4];
x5l=gencoef[1/3w,0.288w]; z6l=(0,gencoef[0.462h,0.342h]); x6r=1.083stem;
z9=(gencoef[0.694w,0.764w],y1); z8l=whatever[z9l,(w,gencoef[0.623h,0.404h])];
y8=-apex_o; z9r-z8r=whatever*(z9l-z8l); z8'=whatever[z8l,z9l]; y8'=y8+apex_o;
z10=whatever[z8l,z9l]; y10=0.228h;
z7=(gencoef[0.439w,0.481w],gencoef[0.203h,0.171h]);
z11''r=(gencoef[0.78w,0.814w],-apex_o); 
z12r-z11''r=whatever*((gencoef[x9l,0.6w],y9l)-z8l);
z12l-z11''l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); x12=w; z11r=z11''r;
z12l-z11l=whatever*((gencoef[x9l,0.6w],y9l)-z8l);  z11'=whatever[z11l,z12l];
y11'=y11+apex_o; z12'=whatever[z11l,z12l]; y12'=gencoef[0.217h,y7];
penpos2'(stem,0); z2'=(x2,gencoef[y2,0.651h]);
filldraw z11'..z1l{up}--z2l--z5r-- z4l{0.7[z2l,z3r]-z4l}..z3l--z3r..
z2'r{down}---z1r...z12'--z12l--z12r --z11r--z11l--z11' & cycle; penstroke
z6e{up}...z5e---z4e; penstroke z8e--z9e; filldraw z8'..z6l{up}--z6r{down}
..z7..z10{z9-z8} & z10--z8' & cycle;
small_letter_a:=currentpicture;
.endchar;

nombre:= 4.722gencoef[1,1.129412];

.cmchar "The Fraktur letter b";
.beginchar("b",nombre*lower_u#,1.376x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); penpos2(stem,0);
z1=(gencoef[0.241w,0.208w],gencoef[foot,0.322x_height]); z2=(x1,x_height);
z3=(1/4[x2l,x2r],x_height+gencoef[foot,0.9foot]); z3'=(x2r,gencoef[y3,y2r]);
z3''=(x2l,gencoef[0.633(y3-y2)+y2,y2l]); penpos4(gencoef[hair,2hair],74);
z4=(gencoef[0.5x2l,0],gencoef[1.259x_height,1.205x_height]);
penpos5(gencoef[hair,1.5hair],-90); z5l=(x2r+gencoef[0.875stem,0.396w],h);
penstroke z1e--z2e; filldraw z2l--z3''{up}..z4l--z4r--
z3{dir45}..z5l{right}--z5r{left} ...z3'{down}--z2r--z2l & cycle; 
penpos5'(gencoef[hair,1.5hair],gencoef[-40,-90]);
z5'l=(0,gencoef[0.097x_height,0.219x_height]); penpos6(hair,gencoef[-42,-30]);
penpos7(hair,gencoef[-42,-30]); z6r=(gencoef[0.441w,0.521w],-apex_o);
z7-z6=whatever*((w,gencoef[0.36x_height,0.479x_height])-z6);
x7=gencoef[0.653w,0.698w]; z6'=whatever[z6,z7]; y6'=gencoef[y6l+apex_o,y6l];
penpos8(1.167stem,42); z8r=(w,gencoef[0.545x_height,0.664x_height]);
penpos11(hair,gencoef[-42,-61]); penpos10(hair,gencoef[-42,-61]); 
z10l=(gencoef[x8l,0.729w],x_height+apex_o);
z10-z11=whatever*(z7-z6-(0,gencoef[0,0.1x_height])); x11=x1;
penpos9(5/4stem,angle(z10-z11)); z9=whatever[z11l,z10l];
y9r=y10l+gencoef[-apex_o,0]; penstroke z11e--z10e; penstroke
z6e---z7e...z8e{up}.. z9e; filldraw z5'l..z1l{up}--z1r--z7l--
z6'{dir138}..z5'r--z5'l & cycle; .endchar;

nombre:= 3.639gencoef[1,1.145038];

.cmchar "The Fraktur letter c";
.beginchar("c",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(gencoef[hair,1.5hair],gencoef[-30,-48]); penpos2(gencoef[hair,1.5hair],
gencoef[-30,-48]); 
z2-z1=whatever*((w,gencoef[0.78h,0.5h]));
z1r=(gencoef[0.565w,0.586667w],-apex_o); x2r=w; z1'=whatever[z1,z2];
y1'=gencoef[y1l+apex_o,y1r]; x1':=gencoef[x1',x1r]; z3=whatever[z1l,z2l];
x3=gencoef[0.809w,x2l]; z4=(gencoef[2/3w,0.64w],0.176h);
penpos5(1.083stem,angle((w,gencoef[0.4h,0.452h])));
z5=(gencoef[0.26w,0.226667w],0.214h); penpos6(stem,0); z6l=(0,0.5h);
penpos9(gencoef[hair,1.5hair],gencoef[-68,-22]); 
penpos8(gencoef[hair,1.5hair],gencoef[-68,-22]); 
penpos8.5(gencoef[hair,1.5hair],gencoef[-68,-22]);
z9l=(gencoef[0.832w,0.546667w],h+apex_o);
z9-z8=whatever*((w,gencoef[0.25h,0.404h])); x8l=gencoef[0.458w,0.2666w];
z7=whatever[z8l,z9l]; x7=gencoef[0.145w,x8l];
penpos10(gencoef[stem,1.3stem],angle((w,gencoef[0.25h,0.883562h])));
z10r=whatever[z9l,z9r]; x10r=w+gencoef[0,apex_o]; z10l-z8.5=whatever*(z10r-z9);
z8.5=whatever[z8,z9]; penstroke z1e--z2e; filldraw z1'..z5l..z6l{up}--z6r{down}
..z5r..z4..z3{z2-z1}--z2l--z2r--z1' & cycle; filldraw z6l{up}..z7 &
z7--z9l--z10r-- z10l--z8.5r & z8.5r{z8-z9}..(x6r,0.738h)..z6r{down}-- z6l &
cycle;
last_char:=currentpicture;
.endchar;

.cmchar "The Fraktur letter c cedilla";
.beginchar(oct"347",nombre*lower_u#,x_height#,0);
currentpicture:=last_char;
z100=(0.4*w,0); cedilla(100);
endchar;


.cmchar "The Fraktur letter c hacek";
.beginchar(oct"243",nombre*lower_u#,x_height#,0);
currentpicture:=last_char;
z100=(0.5*w,x_height); hacek(100);
endchar;

.cmchar "The Fraktur letter c acute";
.beginchar(oct"242",nombre*lower_u#,x_height#,0);
currentpicture:=last_char;
z100=(0.5w,x_height); acute(100);
.endchar;

nombre:= 4.944gencoef[1,1.073034];

.cmchar "The Fraktur letter d";
.beginchar("d",nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); penpos2(stem,0);
z1=(gencoef[0.227w,0.2094w],gencoef[foot,0.274x_height]); z1'=(x1r,foot);
z2=(x1,gencoef[0.817x_height,0.795x_height]); penpos4(hair,-90);
z4=(gencoef[0.5x1l,0],gencoef[0.11x_height,0.188x_height]); penpos5(hair,-38);
z5r=(gencoef[x1r+0.7stem,0.6073w],-apex_o); 
penpos6(whatever,gencoef[-18,-38]); 
z6l-z5l=whatever*((w,gencoef[0.356x_height,x_height]));
z6r-z5r=whatever*((w,gencoef[0.356x_height,x_height]));
z6-z1'=whatever*((w,gencoef[-0.2x_height,-0.1x_height]));
penpos7(gencoef[1.271stem,0.65stem],gencoef[50,39]); z7r=(w,0.579x_height); 
penpos8(stem,angle((w,1.04h))); z8=(gencoef[0.545w,0.52w],0.959x_height);
penpos9(gencoef[0.946stem,0.8stem],25);
z9l=(gencoef[0,-2apex_o],gencoef[1.093x_height,1.178x_height]);
z10=(gencoef[0.303w,0.209w],h); penpos11(hair,-90);
z11l=gencoef[(0.416w,h-apex_o),z10]; penpos3(hair,-57);
z3=z8;
%z3l-z2l=whatever*((w,gencoef[0.39x_height,0.198x_height]));
%y3l=x_height-gencoef[2apex_o,0.075x_height]; 
%y3l=x_height-2apex_o;
penstroke z1e--z2e; penstroke
z5e---z6e...z7e{up}..z8e ..z9e{up};  filldraw z2l--z3l--z3r{z2l-z3l}..
z2r{down}--z2l & cycle; filldraw z4r..{z5r-z5l}z5r--z6--z1'--z1r--
z1l{down}..z4l--z4r & cycle; filldraw z9l{up}..z10{right}..z11l
--z11r{left}..z9r{down}--z9l & cycle;
last_char:=currentpicture; .endchar;

.cmchar "The Fraktur letter d (\eth)";
.beginchar(oct"360",nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0);
currentpicture:=last_char; z100=(0,1.15x_height); ellbar(100);
.endchar;

nombre:= 3.65gencoef[1,1.230769];

.cmchar "The Fraktur letter e";
.beginchar("e",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); z1l=(0,0.486h);
penpos7(gencoef[hair,1.2hair],gencoef[-45,-56]);
penpos8(gencoef[hair,1.2hair],gencoef[-45,-56]);
z8-z7=whatever*((w,gencoef[0.45h,0.356h])); x8r=gencoef[w,0.9w];
x7r=gencoef[x1r,0.4125w]; y7r=-apex_o; z7'=whatever[z7,z8];
y7'=gencoef[y7l,y7r]; x7':=gencoef[x7',x7r]; z9=whatever[z7l,z8l];
x9=gencoef[0.8w,x8l]; z2=(gencoef[0.092w,0.07475w],0.828h);
penpos3(gencoef[hair,1.2hair],-69); penpos4(gencoef[hair,1.2hair],-69);
y3l=h+apex_o; penpos6(gencoef[hair,1.2hair],-69);  z6r=(x1r,0.5h);
z3l-z2=whatever*((w,gencoef[0.3h,0.25h]));    x4r=w-gencoef[apex_o,0];
z4-z6=whatever*((w,gencoef[0.3h,0.226h])); penpos5(1.083stem,angle(z4-z6));
z5r=z4r; z5'=whatever[z2,z3l]; z5'-z5l=whatever*(z3-z4); penstroke z6e--z4e;
filldraw z5l--z5'--z3l--z4r--z5l & cycle; penpos2'(gencoef[hair,1.2hair],-69);
z3-z2'=whatever*(z4-z6); x2'r=gencoef[x1r,0.5w];
z10=whatever[(0,0),(w,gencoef[0.301h,0.363h])]; y10=0.193h; penstroke z2'e--z3e;
filldraw z7'{dir135}..z1l{up}..z2 &
z2..z2'l{z4-z6}--z2'r{gencoef[down,z6-z4]}..{down}z1r..z10
..z9{z8-z7}--z8l-- z8r--z7' & cycle; penstroke z7e--z8e;
small_letter_e:=currentpicture;
.endchar;

.cmchar "The Fraktur ligature ae";
.beginchar(oct"346",2*nombre*lower_u#,x_height#,0);
currentpicture:=small_letter_a;
addto currentpicture also small_letter_e shifted (4u,0);
.endchar;

.cmchar "The Fraktur ligature ae";
.beginchar(ae_ligature,2*nombre*lower_u#,x_height#,0);
currentpicture:=small_letter_a;
addto currentpicture also small_letter_e shifted (4u,0);
.endchar;

.cmchar "The Fraktur letter f";
.beginchar("f",4.539lower_u#,1.366x_height#,3.167lower_u#);
.adjust_fit(0,0.05alpha*w#+usual_right#-0.85u#);
w':=w;  penpos1.1(hair,0); z1.1=(0.318w',-d); penpos1.2(1.313stem,0); z1.2=(x1.1,0.795x_height);
penpos1.4(3/4stem,-90); z1.4r=(0.857w',y1.2); z1.3=(0,y1.2); z1.12=whatever[z1.1l,z1.2l];
z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; z1.12'=z1.12-(0.5apex_o,0);
z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; penpos1.5(0.917stem,0);
z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*dir112; z1.6l-z1.5l=whatever*dir72;
penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); penpos1.11(hair,-22);
z1.11r=(w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'; penpos1.8(whatever,68);
z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w',1.366x_height); filldraw z1.1r..z1.13'..z1.2r...
z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; filldraw
z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}..
z1.8r{dir-22}--z1.8l{dir158}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; filldraw
z1.5--z1.4l--z1.4r--z1.2--z1.5 & cycle;
.endchar;

nombre:= 5.611gencoef[1,1.168317];

.cmchar "The Fraktur letter g";
.beginchar("g",nombre*lower_u#,x_height#,gencoef[2.389lower_u#,3.4446lower_u#]);
.adjust_fit(usual_left#-gencoef[0.315u#,0.3u#],usual_right#);
penpos1(hair,gencoef[0,30]); penpos2(gencoef[hair,1.2hair],gencoef[90,110]);
z1l=(gencoef[0,0.1w],gencoef[0.059h,-0.532d]); z2l=(gencoef[0.426w,0.568w],-d);
z3=gencoef[(0.743w,0),(0.78w,-0.42d)];
z4=(w-gencoef[apex_o,0],gencoef[0.107h,-0.161d]); penpos5(whatever,0);
z5=gencoef[(0.733w,0.455h),(0.763w,0.199h)]; x5r=gencoef[0.8627w,0.86w]; 
penpos6(hair,gencoef[-57,-20]); z6r=(gencoef[w,0.932w],0.845h);
penpos7(4/3stem,gencoef[46,50]); z7r=gencoef[(0.673w,h+apex_o),(0.466w,h)];
penpos8(hair,gencoef[-24,angle(z6-z7r)]); z8l=z7l; z8'=whatever[z8l,z8r];
x8'=gencoef[0.688w,0.67w]; penpos9(gencoef[1.292stem,1.1stem],36);
z9=(gencoef[0.228w,0.186441w],0.462h); penpos10(gencoef[hair,1.25hair],-50);
z10r=gencoef[(0.277w,-0.239d),(0.339w,0)]; penpos11(gencoef[hair,1.25hair],-50);
z11-z10=whatever*dir(gencoef[40,32]); x11=gencoef[0.8w,0.763w];
z13=whatever[z10l,z11l]; x13=gencoef[0.488w,0.466w]; penstroke
z2e{left}..z1e{gencoef[up,dir135]}; filldraw z2l{right}..z4 & flex(z4,z5r,z6r) &
z6r--z6l{left}.. {z6l-z6r}z7r---z7l...z9l{down}..z10r--z13 &
z13..z9r{up}..z8r{z7r-z7l} & z8r--z8' & z8'..z5l{down}
..z3{down}..z2r{left}--z2l & cycle; penstroke z10e--z11e;
last_char:=currentpicture;
 .endchar;


.cmchar "The Fraktur letter g with breve";
.beginchar(oct"247",nombre*lower_u#,x_height#,gencoef[2.389lower_u#,3.4446lower_u#]);
currentpicture:=last_char; z100=(0.5w,x_height); breve(100);
.endchar;


.cmchar "The Fraktur letter h";
.beginchar("h",5.472lower_u#,1.376x_height#,2.556lower_u#);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#);
w':=0.863w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot);
z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3);
z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height);
penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; filldraw
z2l---z3''...z4l--z4r-- z3{dir45}..z5l{right}--z5r{left} ...z3'---z2r--z2l &
cycle; penpos5'(hair,-40); z5'l=(0,0.097x_height); penpos6(hair,-37);
penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.6w;
z6'=whatever[z6,z7]; y6'=y6l+apex_o; penpos8(1.292stem,39);
z8r=(w,0.478x_height); penpos11(hair,-50); penpos10(hair,-50); x10r=x8l;
y10l=x_height+apex_o; z10-z11=whatever*((w,0.559x_height)); x11=x1;
penpos9(1.229stem,angle((w,0.559x_height))); z9=whatever[z11,z10];
y9r=y10r-apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke
z11e--z10e; penstroke z6e---z7e; penpos7'(1.2hair,-40); z7'r=(0.426w,-d);
penstroke z7'e{dir50}...z8e{up}.. z9e; filldraw z5'l..z1l{up}--z1r-- z15--z7l--
z6'{dir138}..z5'r--z5'l & cycle; .endchar;

.cmchar "The Fraktur letter i";
.beginchar("i",2.889lower_u#,x_height#,0);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#);
penpos1(hair,-44); penpos2(hair,-44); penpos3(hair,-44); z1l=(0,0.834h);
z2-z1=whatever*((w,0.37h)); y2l=h+apex_o; z3=whatever[z2l,z2r]; x3r=x5r+0.5stem;
z4=(0.606w,0.931h); penpos5(stem,0); z5=(0.433w,0.759h); z6=(x5,0.238h);
penpos6(stem,0); z7=(x6l,0.079h); z8-z7=whatever*dir-40; y8=-apex_o;
penpos9(hair,-38); z9r-z8=whatever*dir52; x9r=w; z10=(0.788w,0.152h);
z5'=whatever[z1,z2]; x5'=x5l; penstroke z5e--z6e; penstroke z1e--z2e; filldraw
z5r{up}..z3r--z2--z5'--z5l{down} --z5r & cycle; filldraw z8--z9r--z9l{z8-z9r}
..z6r{up}--z6l{down}..{z8-z7}z8 & cycle; penpos11(hair,0); z11r=(x2l,1.076h);
z12=(0.56w,1.279h); z13=(0.73w,1.238h); filldraw z11l{up}..z12{right}..
z13{down}..{z1-z2}z11r--z11l & cycle;
small_letter_i:=currentpicture;
.endchar;

.cmchar "The Fraktur letter j";
.beginchar("j",2.944lower_u#,x_height#,1.611lower_u#);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#);
penpos1(hair,47);  penpos2(1.3hair,-90); z2r=(0.16w,-d); penpos5(stem,0);
z5=(0.523w,0.124h); penpos3(2/3stem,0); z3l=(x5l,0.048h); penpos6(stem,0);
z6=(x5,0.824h); penpos7(hair,-90); z7=(0.906w,0.91h); penpos8(hair,-48);
penpos9(hair,-48); z8l=(0.481w,h+apex_o); z8-z9=whatever*((w,0.3448h)); x9l=0;
z9'=whatever[z9r,z8r]; y9'=y9l+apex_o;  z1r=(x5r+0.5stem,-0.207d);penstroke
z2e..z3e{up}; penstroke z5e--z6e; filldraw z1r{dir137}..z5r{up}--z5l
--z3l--z3r..z1l{dir-43}--z1r & cycle; filldraw z6r{up}..z7r{right}--z7l...
z8r---z8l--z9l--z9r--z9'.. z6l{down}--z6r & cycle; penpos11(hair,0);
z11r=(x8l,1.076h); z12=(0.571w,1.279h); z13=(0.744w,1.238h); filldraw
z11l{up}..z12{right}..z13{down} ..{z9-z8}z11r--z11l & cycle;
last_char:=currentpicture;
small_letter_j:=currentpicture;
.endchar;


.cmchar "The Fraktur letter ij";
.beginchar(oct"274",5.5lower_u#,x_height#,1.611lower_u#);
currentpicture:=small_letter_i;
addto currentpicture also last_char shifted (5.5u-2.944u,0);
.endchar;


.cmchar "The Fraktur letter k";
.beginchar("k",3.861lower_u#,1.366x_height#,0);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#);
w':=1.223w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot);
z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3);
z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height);
penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e;
penpos5''(hair,-90); z5''=z5+(hair,-eps); filldraw z2l---z3''...z4l--z4r--
z3{dir45}..z5l{right}..z5''l--z5''r..z5r{left} ...z3'---z2r--z2l & cycle;
penpos5'(hair,-40); z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37);
y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.8w; z6'=whatever[z6,z7];
y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke
z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l &
cycle; penpos1.4(3/4stem,-90); z1.4=(0.928w,.859x_height); z1.3=(0,y1.4r);
z1.35=(x2l,y1.4l); filldraw z1.3--z1.35--z1.4l--z1.4r-- z1.3 & cycle;
penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)]; penpos1.6(hair,-43);
z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47;
x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; penpos1.8(stem,60);
z1.8r=(w,0.579[y1.4l,y5l]); penstroke z1.6e--z1.6'e; penstroke
z1.5e{dir72}..z1.8e{up}..z1.7e{left}; filldraw z1.6r--z1.7l--z1.7r--z1.6l
--z1.6r & cycle; 
.endchar;

.cmchar "The Fraktur letter l";
.beginchar("l",3lower_u#,1.366x_height#,0);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#);
w':=1.574w; penpos1(stem,0); z1=(0.241w',foot); penpos5'(hair,-40);
z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o;
x6r=x1r; z7-z6=whatever*dir48; x7=w; z6'=whatever[z6,z7]; y6'=y6l+apex_o;
z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e; filldraw
z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; penpos2(stem,0);
z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3);
z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height);
penpos5(hair,-90); z5l=(x7,h);  penstroke z1e--z2e; filldraw
z2l---z3''...z4l--z4r-- z3{dir50}..z5l{right}--z5r{left} ...z3'---z2r--z2l &
cycle; last_char:=currentpicture;
.endchar;


.cmchar "The Fraktur letter l with bar";
.beginchar(oct"252",3lower_u#,1.366x_height#,0);
currentpicture:=last_char; z100=(0,0.5cap_height); ellbar(100);
.endchar;

.cmchar "The Fraktur letter l with acute";
.beginchar(oct"250",3lower_u#,cap_height#,0);
currentpicture:=last_char; z100=(0.5w,cap_height); acute(100);
.endchar;

nombre:=7.806gencoef[1,1.227586];

.cmchar "The Fraktur letter m";
.beginchar("m",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
boolean itsm; itsm:=true;
w':=w;  if itsm: z0=(0.356w',0) else: z0=(0,0) fi; penpos1(stem,0);
penpos2(stem,0); penpos3(stem,0); penpos4(stem,0); penpos5(stem,0);
penpos6(stem,0); z1=(0.135w',foot); z3=(0.491w',foot); n_foot(1); 
z2=(x1,0.846h); z4=(x3,y2);  z5=z3+z0; z6=z4+z0; penpos10(hair,-54);
penpos11(hair,-54); penpos12(hair,-54); penpos13(hair,-54);
z2r-z10l=whatever*dir36; x10r=x2r; z11-z10=whatever*dir36; y11l=h+apex_o; 
z14=whatever[z10r,z11r]; y14=0.881h; penpos16(2/3hair,-90);
z16=(x6r+1/20w',y14); penstroke z1e--z2e; penstroke z5e--z6e; if itsm: penstroke
z3e--z4e; n_foot(3); fi z12=z10+z0; z13=z11+z0; z15=z14+z0; x14'=x4l;
z14'-z14=whatever*(z4r-z11); z15'=z14'+z0; if itsm: filldraw
z14--z14'--z4l--z4r-- z11l--z10l--z10r--z14 & cycle; fi filldraw
z12l--z13l---z13r...z16l{right} --z16r{left}..z6r--z6l--z15'--z15-- z12r--z12l &
cycle; penpos18(hair,-37); penpos17(hair,-37); z17=(0.354[x5l,x5r],-apex_o);
x18r=x5+0.157w'; y18l=foot; z20'=whatever[z17l,z18l]; x20'=x5r;
z20=0.5[z20',z18l]; z19=(x5l,2/3foot); z17'=whatever[z17,z18]; y17'=0; filldraw
z17'--z19--z5l--z5r{down} ..z20{z18r-z18l}--z17' & cycle; penstroke z17e--z18e;
z8=(0,y2); z9=(x2,h+apex_o); z7=(x1l,0.194[y2,y1]); filldraw
z7{up}..z8--z9..z2r{down} --z7 & cycle; 
.endchar;

nombre:=5.028gencoef[1,1.227586];

.cmchar "The Fraktur letter n";
.beginchar("n",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
boolean itsm; itsm:=false;
w':=1.553w;  if itsm: z0=(0.356w',0) else: z0=(0,0) fi; penpos1(stem,0);
penpos2(stem,0); penpos3(stem,0); penpos4(stem,0); penpos5(stem,0);
penpos6(stem,0); z1=(0.135w',foot); z3=(0.491w',foot); n_foot(1); 
z2=(x1,0.846h); z4=(x3,y2);  z5=z3+z0; z6=z4+z0; penpos10(hair,-54);
penpos11(hair,-54); penpos12(hair,-54); penpos13(hair,-54);
z2r-z10l=whatever*dir36; x10r=x2r; z11-z10=whatever*dir36; y11l=h+apex_o; 
z14=whatever[z10r,z11r]; y14=0.881h; penpos16(2/3hair,-90);
z16=(x6r+1/20w',y14); penstroke z1e--z2e; penstroke z5e--z6e; if itsm: penstroke
z3e--z4e; n_foot(3); fi z12=z10+z0; z13=z11+z0; z15=z14+z0; x14'=x4l;
z14'-z14=whatever*(z4r-z11); z15'=z14'+z0; if itsm: filldraw
z14--z14'--z4l--z4r-- z11l--z10l--z10r--z14 & cycle; fi filldraw
z12l--z13l---z13r...z16l{right} --z16r{left}..z6r--z6l--z15'--z15-- z12r--z12l &
cycle; penpos18(hair,-37); penpos17(hair,-37); z17=(0.354[x5l,x5r],-apex_o);
x18r=x5+0.157w'; y18l=foot; z20'=whatever[z17l,z18l]; x20'=x5r;
z20=0.5[z20',z18l]; z19=(x5l,2/3foot); z17'=whatever[z17,z18]; y17'=0; filldraw
z17'--z19--z5l--z5r{down} ..z20{z18r-z18l}--z17' & cycle; penstroke z17e--z18e;
z8=(0,y2); z9=(x2,h+apex_o); z7=(x1l,0.194[y2,y1]); filldraw
z7{up}..z8--z9..z2r{down} --z7 & cycle;
last_char:=currentpicture;
.endchar;

.cmchar "The Fraktur letter n tilde";
.beginchar(oct"361",nombre*lower_u#,x_height#,0);
currentpicture:=last_char; z100=(0.5w,x_height); tilde(100);
.endchar;

.cmchar "The Fraktur letter n tilde";
.beginchar(oct"253",nombre*lower_u#,x_height#,0);
currentpicture:=last_char; z100=(0.5w,x_height); acute(100);
.endchar;


.cmchar "The Fraktur letter n hacek";
.beginchar(oct"254",nombre*lower_u#,x_height#,0);
currentpicture:=last_char; z100=(0.5w,x_height); hacek(100);
.endchar;

nombre:=4.75gencoef[1,1.140351];

.cmchar "The Fraktur letter o";
.beginchar("o",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(hair,-37); penpos2(hair,-37); z9=(0,gencoef[0.117h,0.19863h]);
x1r=gencoef[0.5w,0.561224w]; y1r=-apex_o; penpos3(1.083stem,31);
z3r=(w,gencoef[0.479h,0.589h]); penpos7(stem,0);
z7=(gencoef[0.211w,0.184w],gencoef[0.866h,0.829h]); penpos4(1.083stem,22);
z4-z7l=whatever*dir22; y4r=h+apex_o; penpos5'(hair,-68); z5'l=z7l;
penpos6(hair,-68); z6l=z4; penpos8(stem,0); z8=(x7,gencoef[foot,0.267h]);
z2-z1=whatever*((w,0.786h));  x8'=x8r;
y8'=foot; z2-z8r=whatever*(z1-z9); penstroke z1e---z2e...z3e..
z4e{dir122}; penstroke z5'e--z6e; penstroke z8e--z7e; filldraw
z9..z8l{up}--z8r--z2l--z1l--z9 & cycle; z7'=whatever[z5',z6]; x7'=x7r; filldraw
z7l--z7'--z7r--z7l & cycle;
last_char:=currentpicture;
.endchar;

.cmchar "The Fraktur ligature oe";
if (dc_layout>0): xchar_code:=oct"367";
        else: xchar_code:=oct"033";
        fi;
.beginchar(xchar_code,1.7*nombre*lower_u#,x_height#,0);
currentpicture:=last_char;
addto currentpicture also small_letter_e shifted (4u,0);
.endchar;
nombre:=5.056gencoef[1,1.131868];

.cmchar "The Fraktur letter p";
.beginchar("p",nombre*lower_u#,x_height#,3.361lower_u#);
.adjust_fit(usual_left#+gencoef[0,0.5u#],usual_right#);
penpos1(stem,0); z1=(gencoef[0.242w,0.223w],foot); penpos2(stem,0);
z2=(x1,0.834h); penpos3(hair,-27); z3=(x2l,1.05h);
penpos4(stem,53); z4l=(-apex_o,0.86h); penpos5(hair,0);
z5=(x1,-d); penstroke z5e--z1e--z2e; z6=(x1l,0.69h); filldraw z6{up}..
z4l{up}--z4r{down}..{dir-45}z2r--z6 & cycle; penstroke
z4e{up}..z3e{dir53}; 
penpos8(hair,-49); penpos7(hair,-49);
z8l=(gencoef[0.714w,0.7w],h+gencoef[apex_o,0]);
z8-z7=whatever*dir(gencoef[41,35]); x7=x1; penstroke z7e--z8e;
z11=(-0.5u,0.15h); z9-z11=whatever*dir-20; x9=gencoef[0.527w,0.592w];
penpos9(hair,-20); penpos10(hair,-20); z10-z9=whatever*dir57.5;
y10r=gencoef[0.1h,0.12h]; z12-z10=whatever*(z11-z9); z12-z11=whatever*(z10-z9);
penpos13(stem,33); penpos14(5/4stem,41); z13r=(w,gencoef[0.5h,0.548h]);
z14r=z8l; penstroke z9e---z10e...z13e...z14e {dir131}; filldraw
z11--z12--z10r--z9r--z11 & cycle; .endchar;

nombre:=4.639gencoef[1,1.269461];

.cmchar "The Fraktur letter q";
.beginchar("q",nombre*lower_u#,x_height#,3.361lower_u#);
.adjust_fit(usual_left#,usual_right#);
penpos1(hair,0); z1=(0.745w,-d); penpos2(stem,0); z2=(x1,foot); z3=(x2r,0.728h);
z4=(w,0.879h); penpos5(hair,-33); penpos6(hair,-33); z5l=(0.485w,h+apex_o); 
z5-z6=whatever*dir52; x6=0.335w; penpos7(1.542stem,62); z7l=(0,0.445h);
penpos8(1.125stem,45); z8l=(0.388w,-2apex_o); penpos9(hair,-45);
penpos10(hair,-45); z9r=z8; z10-z9=whatever*dir45; x10=x2; penstroke z1e--z2e;
z3'-z6=whatever*(z5r-z5l); x3'=x2l; filldraw z2r---z3...z4 & z4...z5r---z5l
--z6l--z3'--z2l--z2r & cycle; penstroke z8e{(0,0.552h)-z8}..z7e{up}... z6e---z5e;
penstroke z9e--z10e;
.endchar;

nombre:=3.944gencoef[1,1.281690];

.cmchar "The Fraktur letter r";
.beginchar("r",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
w':=1.197w;
penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,x_height);
z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2);
penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90);
z5l=(x2r+0.875stem,h); penpos5'(hair,-40); z5'l=(0,0.097x_height);
penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r;
z7-z6=whatever*dir48; x7=0.817w; z6'=whatever[z6,z7]; y6'=y6l+apex_o;
penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50);
penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; z10-z11=whatever*dir40;
x11=x1; penpos9(1.229stem,40); z9=whatever[z11,z10]; y9r=y10r-apex_o;
z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e;
penpos7'(1.2hair,-40); z7'r=(0.426w,-d); filldraw z5'l..z1l{up}--z1r--
z15--z7l-- z6{dir138}..z5'r--z5'l & cycle; penpos22(stem,0); z22=(x1,0.841h);
z29=(x22,h+apex_o); z28=(0,y22); z27=(x22l,0.721h); filldraw
z1l---z27...z28--z29... z22r---z1r--z1l & cycle; penpos30(hair,-70);
penpos32(hair,-70); penpos31(1.083stem,45); z22r-z32l=whatever*dir45; x32r=x22r;
z30-z32=whatever*dir45; y30l=h+apex_o; z31r=(w,y32);
z33-z31l=whatever*(z30-z31r); z33=whatever[z32,z30]; penstroke z32e--z30e;
filldraw z30--z31r--z31l--z33-- z30 & cycle;
last_char:=currentpicture;
.endchar;


.cmchar "The Fraktur letter r acute";
.beginchar(oct"257",nombre*lower_u#,x_height#,0);
currentpicture:=last_char; z100=(0.5w,x_height); acute(100);
.endchar;

.cmchar "The Fraktur letter r hacek";
.beginchar(oct"260",nombre*lower_u#,x_height#,0);
currentpicture:=last_char; z100=(0.5w,x_height); hacek(100);
.endchar;


.cmchar "The Fraktur letter long s";
.beginchar("s",4.539lower_u#,1.366x_height#,3.167lower_u#);
.adjust_fit(0,0.05alpha*w#+usual_right#-1.932lower_u#);
w':=w;  penpos1.1(hair,0); z1.1=(0.318w',-d); penpos1.2(1.313stem,0); z1.2=(x1.1,0.795x_height);
penpos1.4(3/4stem,-90); z1.4r=(0.857w',y1.2); z1.3=(0,y1.2); z1.12=whatever[z1.1l,z1.2l];
z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; z1.12'=z1.12-(0.5apex_o,0);
z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; penpos1.5(0.917stem,0);
z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*dir112; z1.6l-z1.5l=whatever*dir72;
penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); penpos1.11(hair,-22);
z1.11r=(w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'; penpos1.8(whatever,68);
z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w',1.366x_height); filldraw z1.1r..z1.13'..z1.2r...
z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; filldraw
z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}..
z1.8r{dir-22}--z1.8l{dir158}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e;
.endchar;

nombre:=5.039gencoef[1,1.168688];

.cmchar "The Fraktur letter short s";
.beginchar(s_final,nombre*lower_u#,1.286x_height#,0);
.adjust_fit(usual_left#,usual_right#); penpos0(hair,angle((w,x_height))-90);
penpos0'(hair,angle((w,x_height))-90);  z0l=(0,0.103x_height); x0'r=0.86w;
z0'-z0=whatever*((w,x_height)); penstroke z0e--z0'e;
penpos5(1.083stem,angle((w,gencoef[0.797x_height,0.63x_height])));
penpos6(1.083stem,angle(z0'-z0)); z5l=(0.54w,-apex_o);  z6l=z0r; penstroke z5e{dir142}..z6e; 
penpos1(hair,angle((w,0.797x_height))-90); penpos2(hair,angle((w,0.797x_height))-90);
penpos3(1.083stem,39);  z3r=(w,0.441x_height); z1r=z5l; z2r=z5r; z4=whatever[z0r,z0'r]; x4=0.595w;
penpos4(5/4stem,angle(z0'-z0)); penstroke z1e--z2e{z2-z1}..z3e..z4e{dir(angle(z0'-z0)+90)}; 
penpos7(hair,angle(z0'-z0)-90); z7r=z6; penpos8(1.125stem,angle((w,0.5x_height)));
z8r=whatever[z0,z0']; x8r=0.433w; penpos9(1.292stem,54); z9l=(0,0.69x_height);   filldraw
z7--z8r--z8l{down}..z7l{z0-z0'}--z7 & cycle; penstroke z8e{up}..z9e{dir144};  penpos10(hair,-36);
z10l=z9; z11=whatever[z9l,z9r]; y11=x_height+apex_o; penpos12(1.083stem,54); z12r=z11;
penpos14(hair,-36); z14l=z12; penstroke z10e--z14e; z13-z12l=whatever*dir-21; 
z13=whatever[z0l,z0'l]; penpos15(0.538stem,-29); z15r=whatever[z0,z0']; y15r=y11; penpos16(hair,90);
penpos17(hair,144); z16r=(0.568w,h); z17=(0.198w,1.124x_height); penstroke
z15e{up}..z16e{left}..z17e; filldraw z12l--z13--z0'r & z0'r{z0'-z0}..z15r{up}--z15l{down}
..z11{z12-z13}--z12l & cycle;
last_char:=currentpicture;
.endchar;

.cmchar "The Fraktur letter short s acute";
.beginchar(oct"261",nombre*lower_u#,1.286x_height#,0);
currentpicture:=last_char;
z100=(0.5w,x_height); acute(100);
.endchar;

.cmchar "The Fraktur letter short s hacek";
.beginchar(oct"262",nombre*lower_u#,1.286x_height#,0);
currentpicture:=last_char;
z100=(0.5w,x_height); hacek(100);
.endchar;


.cmchar "The Fraktur letter short s cedilla";
.beginchar(oct"263",nombre*lower_u#,1.286x_height#,0);
currentpicture:=last_char;
z100=(0.5w,0); cedilla(100);
.endchar;


.cmchar "The Fraktur letter t";
.beginchar("t",3.444lower_u#,1.186x_height#,0);
.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#-0.3u#);
w':=1.371w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,0.828x_height);
z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74);
z4=(0.5x2l,1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e;
penpos5''(hair,-90); z5''=z5+(hair,-eps); penpos5'(hair,-40); z5'l=(0,0.097x_height);
penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=w;
z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke
z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle;
penpos1.4(3/4stem,-90); z1.4=(0.928w,.859x_height); z1.3=(0,y1.4r); z1.35=(x2l,y1.4l); filldraw
z1.3--(x1,y1.35)--z1.4l--z1.4r-- z1.3 & cycle; penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)];
penpos1.6(hair,-43); z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47;
x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; penpos1.8(stem,60);
z1.8r=(w,0.579[y1.4l,y5l]); penpos30(hair,0); z30l=(x1r,h); filldraw z1.3--z30l--z30r..z2r{down}
--(x2r,y1.3)--z1.3 & cycle;
last_char:=currentpicture;
.endchar;


.cmchar "The Fraktur letter t ogonek";
.beginchar(oct"265",3.444lower_u#,1.186x_height#,0);
currentpicture:=last_char;
z100=(0.5w,0); ogonek(100);
.endchar;


nombre:=6.15gencoef[1,1.107527];

.cmchar "The Fraktur letter u";
.beginchar("u",nombre*lower_u#,x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); z1=(0.727w,foot); penpos2(stem,0); z2=(x1,0.838h);
penpos3(2/3hair,90); penpos4(2/3hair,0); penpos5(2/3hair,-90);
penpos3'(1.5stem,0); z3'=(x1,0.5[y2,h+apex_o]); z3=z3'l; z5=z3'r;
z4=(x1,h+apex_o); penpos16(hair,-32); penpos17(hair,-32); z17-z16=whatever*dir58;
z16r=(0.795w,-apex_o); x17r=w; z18=whatever[z16,z17]; y18=0.179h; penstroke
z1e--z2e; filldraw z1l--z16--z18{dir148}.. (x1r,0.31h){up}--z1l & cycle;
penstroke z16e--z17e; filldraw z2l{up}..z3l{dir165}--
z3r{dir15}..z4l{dir75}--z4r{dir-75} ..z5l{dir-15}--z5r{dir195}..z2r{down} --z2l
& cycle; penpos11(stem,0); penpos12(stem,0); z11=(0.257w,foot);
z12=(x11,0.71x_height); penpos7(hair,-41); penpos6(hair,-41); z7r=(x11r,-apex_o);
z6r=whatever[z7r,z1l]; x6=x1; penpos9(hair,90); z9=(0.063w,0.11x_height);
penpos8(whatever,0); z8r=z7r; x8l=x7l; z10=whatever[z7l,z6l];
z10-z11r=whatever*dir-41; filldraw z9l{right}..z8l--z8r--z6r
--z6l--z10--z11r--z11l{down}..z9r{dir195} --z9l & cycle; penstroke z11e--z12e;
penpos14(hair,-38); z14l=(0,0.805x_height); z13=(0.217w,h+apex_o); 
z15-z14r=whatever*(z13-z14l); x15=0.097w; filldraw z13..z12r{down}--z12l{up}
..z15--z14r--z14l--z13 & cycle;
.endchar;

nombre:=5.444gencoef[1,1.122449];

.cmchar "The Fraktur letter v";
.beginchar("v",nombre*lower_u#,1.203x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); z1=(0.334w,1.05foot); penpos2(stem,0); z2=(x1,0.561x_height);
penpos3(stem,50); z3=(0.158w,0.897x_height); penpos3'(1.042stem,37);
z3'l=(0,0.928x_height); penpos4(hair,-44); z4l=(0.265w,h); penstroke
z1e---z2e...z3e{dir140}.. z3'e{up}..z4e{dir46}; penpos5(hair,-90);
penpos6(hair,0); penpos7(hair,-11);  z5=(0.133w,0.11x_height); 
z6=(0.582w,-apex_o); z7r-z6r=whatever*dir58; z7-z1r=whatever*dir-11;
z7'=whatever[z6l,z7l]; x7'=0.7w; filldraw z1l{down}..z5l--z5r{z1r-z5r}
..z6l--z6r--z7r--z7l--z7'..{left}z1r--z1l & cycle; penpos8(1.125stem,44);
z8r=(w,0.576x_height); penpos11(hair,-44); penpos12(hair,-44);
z11=(0.735w,gencoef[1.055x_height,x_height]); z11-z12=whatever*dir46; x12=0.3w;
penstroke z12e--z11e; penpos10(1.521stem,46); z10r=z11; penpos9(1.042stem,46);
z9=(0.648w,0.928x_height); penstroke z6e---z7e...z8e..z9e; filldraw
z9r{z10-z9}..z10r{z11-z12} --z10l{z11-z12}..z9l{z9-z10}-- z9r & cycle;
.endchar;

nombre:=7.111gencoef[1,1.2];

.cmchar "The Fraktur letter w";
.beginchar("w",nombre*lower_u#,1.083x_height#,0);
.adjust_fit(usual_left#,usual_right#);
penpos1(stem,0); z1=(0.154w,foot); n_foot(1); penpos2(stem,0);
z2=(x1,0.831x_height); penstroke z1e--z2e; penpos3(hair,-53); penpos4(hair,-54);
z3r=z2r; z4-z3=whatever*dir37; y4l=x_height+apex_o; z3'=whatever[z3l,z4l];
x3'=x1r; penpos5(stem,40); z5l=(0,0.955x_height); penpos6(hair,-50);
z6l=(0.145w,h); penstroke z3e--z4e; filldraw
z2r--z3'..z5r-(0,2apex_o){up}..z6r{dir60} --z6l{z5l-z5r}..z5l{down}..z2l--z2r &
cycle; penpos7(stem,0); penpos8(stem,0); z7=(0.531w,foot); z8=(x7,y2);
penpos9(hair,-35); penpos10(hair,-35);
z10-z7r=whatever*((0,0.621x_height)-(w,0)); z9r=(0.668w,-apex_o);
z10-z9=whatever*((w,0.359x_height)-z9); z9-z11=whatever*(z10-z7r); x11=0.402w;
filldraw z11..z7l{up}--z7r--z10r-- z9r--z11 & cycle; penstroke z7e--z8e;
penpos14(1.083stem,47); z14r=(w,gencoef[0.462x_height,0.685x_height]);
penpos11'(hair,-53); penpos12(hair,-53); z11'r=z8r; z12-z11'=whatever*dir37;
y12l=x_height+apex_o; penstroke z11'e--z12e; penpos13(1.083stem,37); z13r=z12;
penstroke z9e---z10e... z14e..z13e{dir(gencoef[110,130])};
z11.5=whatever[z11'l,z12l]; x11.5=x8r; z8'=whatever[z3r,z4r];
z8l-z8'=whatever*(z11.5-z4); filldraw z8'--z4--z11.5--z8r--z8l --z8' & cycle;
.endchar;

nombre:=3.944gencoef[1,1.194030];

.cmchar "The Fraktur letter x";
.beginchar("x",nombre*lower_u#,x_height#,0.5x_height#);
.adjust_fit(usual_left#+u#,usual_right#); w':=1.197w;
penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,x_height);
z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2);
penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90);
z5l=(x2r+0.875stem,h); penpos5'(hair,-40); z5'l=(x1l,0.097x_height);
penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r;
z7-z6=whatever*dir48; x7=0.817w; z6'=whatever[z6,z7]; y6'=y6l+apex_o;
penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50);
penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; z10-z11=whatever*dir40;
x11=x1; penpos9(1.229stem,40); z9=whatever[z11,z10]; y9r=y10r-apex_o;
z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e;
penpos7'(1.2hair,-40); z7'r=(0.426w,-d); filldraw z5'l..z1l{up}--z1r--
z15--z7l-- z6{dir138}..z5'r--z5'l & cycle; penpos22(stem,0); z22=(x1,0.841h);
z29=(x22,h+apex_o); z28=(0,y22); z27=(x22l,0.721h); filldraw
z1l---z27...z28--z29... z22r---z1r--z1l & cycle; penpos30(hair,-70);
penpos32(hair,-70); penpos31(1.083stem,45); z22r-z32l=whatever*dir45;
x32r=x22r; z30-z32=whatever*dir45; y30l=h+apex_o; z31r=(w,y32);
z33-z31l=whatever*(z30-z31r); z33=whatever[z32,z30]; penstroke z32e--z30e;
filldraw z30--z31r--z31l--z33-- z30 & cycle;  
z40=(x1l,1.5foot); z40'=(x1r,1/3foot);
penpos41(0.8stem,180); penpos42(1.5hair,-120); penpos43(hair,-142);
 z41l=(apex_o,-0.129d); z42l=(x1r,-0.557143d); x43l=w; y43r=-d;
filldraw z40{down}..z41r{down}--z41l{up}..z40'{right}--z40 & cycle; 
penstroke z41e{down}..z42e..z43e{dir-60}; .endchar;


nombre:=5.472gencoef[1,1.107527];

.cmchar "The Fraktur letter y";
.beginchar("y",nombre*lower_u#,x_height#,2.556lower_u#);
.adjust_fit(usual_left#,usual_right#);
w':=0.863w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot);
z2=(x1,0.846x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3);
z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height);
penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; z2.8=(0,y2);
z2.9=(x2,h+apex_o); z2.7=(x1l,0.194[y2,y1]); filldraw
z2.7{up}..z2.8--z2.9..z2r{down} --z2.7 & cycle; penpos5'(hair,-40);
z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o;
x6r=x1r; z7-z6=whatever*dir48; x7=0.6w; z6'=whatever[z6,z7]; y6'=y6l+apex_o;
penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50);
penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o;
z10-z11=whatever*((w,0.559x_height)); x11=x1; penpos9(1.229stem,40);
z9=whatever[z11,z10]; y9r=y10r-apex_o; z15=whatever[z6l,z7l];
z15-z1r=whatever*dir-30; penstroke z11e--z10e; penstroke z6e---z7e;
penpos7'(1.2hair,-40); z7'r=(0.426w,-d); penstroke z7'e{dir50}...z8e{up}.. z9e;
filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6'{dir138}..z5'r--z5'l & cycle;
last_char:=currentpicture;
.endchar;


.cmchar "The Fraktur letter y acute";
.beginchar(oct"375",nombre*lower_u#,x_height#,2.556lower_u#);
currentpicture:=last_char;
z100=(0.5w,x_height);    acute(100);
.endchar;


.cmchar "The Fraktur letter y Umlaut";
if (dc_layout>0): xchar_code:=oct"270";
        else: xchar_code:=oct"377";
        fi;
.beginchar(xchar_code,nombre*lower_u#,x_height#,2.556lower_u#);
currentpicture:=last_char;
z100=(0.5w,x_height);    umlaut(100);
.endchar;



nombre:=3.444gencoef[1,1.330645];

.cmchar "The Fraktur letter z";
.beginchar("z",nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]);
.adjust_fit(usual_left#,usual_right#); penpos1(hair,122);
penpos2(gencoef[hair,1.5hair],180); penpos3(0.625stem,-42);
penpos4(1.313stem,37); z1l=gencoef[(w,0.524h),(0.945w,0.459h)]; z2r=(0,-0.1d);
z3r=(gencoef[0.548w,0.509w],-d); z4r=(w,gencoef[0.103h,0]); penstroke
z1e..z2e{down}..z3e{right}..z4e{up}; penpos5(hair,-90);
z5=gencoef[(0,0.414h),(0.145w,0.390h)]; z6-z5=whatever*dir38;
x6=gencoef[0.484w,0.454w]; filldraw z5r{right}..z4l{down}-- z4r{up}..z6--z5r &
cycle; penpos7(4/3stem,43); z7=gencoef[(0.629w,0.734h),(0.618w,0.699h)];
z8=(gencoef[0.532w,0.4w],h+apex_o); z9=(gencoef[0.081w,0.107782w],0.793h);
penpos9'(hair,-90); z9'l=z9; penstroke z5e{z6-z5r}..z7e{up}; filldraw
z7l{up}..z9'r{z9-z8}--z9--z8.. z7r{down}--z7l & cycle;
last_char:=currentpicture;
.endchar;


.cmchar "The Fraktur letter z with point";
.beginchar(oct"273",nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]);
currentpicture:=last_char;
z100=(0.5w,x_height); pointaccent(100);
.endchar;


.cmchar "The Fraktur letter z with acute";
.beginchar(oct"271",nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]);
currentpicture:=last_char;
z100=(0.5w,x_height); acute(100);
.endchar;


.cmchar "The Fraktur letter z with hacek";
.beginchar(oct"272",nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]);
currentpicture:=last_char;
z100=(0.5w,x_height); hacek(100);
.endchar;








