def ygoth_a(suffix $) =
w':=6.278u; penpos501(stem,0);
z501=(x$+0.726w',foot);
penpos502(stem,0);
z502=(x501,0.732x_height);
penstroke z501e--z502e;
penpos511(stem,0); z511l=(x$+apex_o,y501);
podi(511);
if not ligature: podi(501); fi
z512-z511l+(2apex_o,0)=whatever*dir-50;
y512=-apex_o; penpos512'(hair,-50);
z512'r=z512; z512.2-z512'l=whatever*(z501l-z512);
x512.2=x501l;
filldraw z512'r--z501l--z512.2--z512'l--z512'r & cycle;
%
%
%
penpos517(stem,0); z517=(x511,0.438x_height);
penpos508(hair,-90); penpos509(hair,-90);
z508r=z517r; z509r=(x501l,y508r);
z510=whatever[z517l,z508l]; x510=x$;
z510'=whatever[z510,z511]; x510'=x$+apex_o;
filldraw z510--z508l--z508r--z510'--z510 & cycle;
penstroke z508e--z509e; penstroke z511e--z517e;
%
%
%
penpos505(hair,125); z505=(x$+0.243w',0.830x_height);
z504-z505r=whatever*dir35; y504=x_height+apex_o;
penpos506(stem,40); z506r=z504;
penpos503(stem,40); z503-z506=whatever*dir-30;
x503=x501r; z506'=whatever[z506l,z503l];
x506'=x$+0.5w'; penpos507(hair,180);
y507=0.5[x_height,y517]; penpos505'(hair,125);
z505'r=whatever[z505r,z504]; y505'r=0.9x_height;%0.856h;
x507=x$+0.12w'; penpos509'(hair,-90);
z509'=0.5[z508,z509];
z503''=whatever[z503r,z506r]; x503''=x502r;
if ligature: filldraw z503''--z504 & z504---z505'r...z507r...z509'r{right}
& z509'r--z509'l & z509'l{left}...z507l...z505'l{z504-z505r}...
z506'---(x502l,y503)---z503l--z503--z503'' & cycle;
else:
filldraw z503r--z504 & z504---z505'r...z507r...z509'r{right}
& z509'r--z509'l & z509'l{left}...z507l...z505'l{z504-z505r}...
z506'---(x502l,y503)---z503l--z503r & cycle; fi
z520=1/3[z517r,z511r]; z521=1/3[z508r,z509r];
filldraw z520{up}..z521{right} &
z521--z508r--z520 & cycle;
filldraw z502r--z503--(x502l,y503)--z502l--z502r & cycle;
enddef;
def ygoth_c (suffix $) =
w':=4.306u; penpos401(stem,0); penpos402(stem,0);
z401l=(x$+apex_o,foot);
z402l=(x401l,0.748x_height);
penpos403(stem,60); penpos404(stem,60);
z404l=z401l-(apex_o,0); z403-z404=whatever*dir-30;
y403l=-apex_o; penstroke z403e--z404e;
penstroke z401e--z402e;
penpos405(hair,-60); z405r-z403l=whatever*dir30;
x405r=w'+apex_o; z403'=whatever[z404l,z403l];
z403'-z405l=whatever*(z403l-z405r);
z405'=whatever[z403',z405l];
z405'-z404r=whatever*(z403r-z404r);
filldraw z403l--z405r--z405l--z405'--z403r--z403l &
cycle;
%
%
%
z406=(x$+0.581w',x_height+apex_o);
z409=z402l-(apex_o,0);
penpos407(stem,60); z406-z407r=whatever*dir150;
x407r=x$+w'; z408'=whatever[z409,z406];
z408'-z407l=whatever*(z406-z407r);
z408=whatever[z408',z407l]; x408=x408'+apex_o;
z410-z409=whatever*(z405r-z405l);
x410=x402l; z408''=whatever[z408,z407l]; x408''=x402r;
filldraw z410--z409 & flex(z409,z408,z406) & z406--z407r
--z407l--z408''--z402r--z402l--z410 & cycle;
penpos409.5(hair,-60); penpos408.5(hair,-60);
penpos406.5(hair,-60); z409.5l=z409; z408.5l=z408;
z406.5l=z406;
penstroke z409.5e..z408.5e..z406.5e;
enddef;
def ygoth_e (suffix $) =
w':=5u; penpos601(stem,0);
z601l=(x$+apex_o,foot);
z602'=(x$+0.5w',-apex_o); z601'=z601l-(apex_o,0);
penpos602(stem,0); z602=(x601,0.804x_height);
penpos603(stem,angle(z602'-z601')+90);
z603l=z602';
penpos604(stem,angle(z602'-z601')+90);
z604l=z601'; penstroke z601e--z602e;
penstroke z603e--z604e;
penpos615(hair,-60); z615r=z602';
z616-z615r=whatever*dir30; x616=x$+w'-apex_o;
x616=x616'; z616'-z615l=whatever*(z616-z615r);
z616''=whatever[z615,z616'];
y616''=0.5[foot,y616'];
filldraw z603r{z603-z604}...z616''---z616' &
z616'--z616--z615r--z615l--z603r & cycle;
%
%
%
z606=(x$+0.611w',x_height+apex_o);
z610-z606=whatever*dir-45; x610=x$+w';
penpos622(hair,angle(z610-z606));
penpos621(hair,angle(z610-z606));
penpos620(hair,angle(z610-z606));
penpos621'(hair,angle(z610-z606));
z622=z602l-(apex_o,0); z620l=z606; z621'l=0.5[z622l,z620l];
z621l=z621';
penstroke z622e..z621e..z620e;
z608=(x601r,0.637[y602,y601]); penpos609(hair,angle(z610-z606));
penpos610'(hair,angle(z610-z606));
z609r=z608; z610'r=z610;
penstroke z609e--z610'e;
penpos611(stem,angle(z610-z606)+90); z611r=z610;
z630=whatever[z622l,z606];
z630-z611l=whatever*(z606-z610);
z631=(z630--z611l) intersectionpoint
(z622..z621..z620);
filldraw z631..z620--z610--z611l--z631 & cycle;
z633=(z622..z621..z620) intersectionpoint
(z601r--(x601r,x_height));
filldraw z602r--z633..z602l--z602r & cycle;
enddef;
def ygoth_s (suffix $) =
w':=4.389u; penpos201(stem,0);
z201l=(x$+apex_o,foot); z202=(x201,1.144x_height);
penpos202(stem,0);
penstroke z201e--z202e; z201'=z201l-(apex_o,0);
penpos205(hair,-60);
z205r-z201'=whatever*dir-50; y205r=-apex_o;
penpos206(hair,-60); z206-z205=whatever*dir30;
y206=foot; penpos203(stem,50);
z203l=z201'; z207-z203r=whatever*(z205r-z201');
z207=whatever[z205r,z206r];
filldraw z201'--z205r--z206r--z206l--z205l--z201' &
cycle;
filldraw z201'--z203r--z207--z205r--z201' & cycle;
%
%
%
penpos220(hair,-40); penpos221(hair,-40);
penpos222(hair,-40);
z222l=(2/3[x201l,x206],1.405x_height);
penpos208(stem,angle(z222l-z202l)); z208r=z222l;
z209-z222l=whatever*dir-40; x209=x$+w'-hair;
z210-z209=whatever*dir240;
z210-z208l=whatever*(z209-z222l);
z211=whatever[z208l,z210]; x211=x202r;
z220l=z202l; penpos221'(hair,-40); z221'l=z208l;
z221l=z221';
penstroke z220e..z221e..z222e;
filldraw z221..z222 & z222--z209--
z210--z221 & cycle;
z211'=(z220..z221..z222) intersectionpoint
(z201r--(x201r,2x_height));
filldraw z202l..z211' & z211'--z202r--z202l
& cycle;
x251=x252=x201l; y250=y251=0.732x_height;
y252=y251+4/5stem; x250=x251-hair;
filldraw z250--z252--z251--z250 & cycle;
enddef;
def ygoth_makru_s (suffix $) =
w':=4.389u; penpos201(stem,0);
z201l=(x$+apex_o,foot); z202=(x201,1.144x_height);
penpos202(stem,0);
penstroke z201e--z202e; z201'=z201l-(apex_o,0);
penpos205(hair,-60);
z205r-z201'=whatever*dir-50; y205r=-apex_o;
penpos206(hair,-60); z206-z205=whatever*dir30;
y206=foot; penpos203(stem,50);
z203l=z201'; z207-z203r=whatever*(z205r-z201');
z207=whatever[z205r,z206r];
penpos270(0.5hair,0); x270l=x201l; y270=-0.3x_height;
penpos271(stem,0); z271=(x201,0);
penstroke z270e--z271e--z201e;
%
%
%
penpos220(hair,-40); penpos221(hair,-40);
penpos222(hair,-40);
z222l=(2/3[x201l,x206],1.405x_height);
penpos208(stem,angle(z222l-z202l)); z208r=z222l;
z209-z222l=whatever*dir-40; x209=x$+w'-hair;
z210-z209=whatever*dir240;
z210-z208l=whatever*(z209-z222l);
z211=whatever[z208l,z210]; x211=x202r;
z220l=z202l; penpos221'(hair,-40); z221'l=z208l;
z221l=z221';
penstroke z220e..z221e..z222e;
filldraw z221..z222 & z222--z209--
z210--z221 & cycle;
z211'=(z220..z221..z222) intersectionpoint
(z201r--(x201r,2x_height));
filldraw z202l..z211' & z211'--z202r--z202l
& cycle;
x251=x252=x201l; y250=y251=0.732x_height;
y252=y251+4/5stem; x250=x251-hair;
filldraw z250--z252--z251--z250 & cycle;
enddef;
def ygoth_h (suffix $) =
w':=6.111u; d':=2.778u;
penpos1(stem,0); penpos2(stem,0);
penpos3(stem,0); penpos4(stem,0);
penpos8(stem,60); penpos9(stem,60);
z1=(x$+0.243w',foot); z2=(x1,1.271x_height);
z9l=z1l-(apex_o,0);
x7=0.359[x1r,x3l]; y7=-apex_o;
z8l=z7; z3r-z7=whatever*dir30;
x3r=x$+w'-apex_o;
z4r=(x3r,0.833x_height);
z7'=whatever[z9r,z8r]; z7'=whatever[z7,z3r];
z7''=whatever[z7,z3r]; x7''=x3l;
penstroke z1e--z2e;
penstroke z3e--z4e;
podi(1);
%
%
%
penpos5(stem,60); z17=(x1r,0.824x_height);
z6=(0.821[x1r,x3l],x_height);
z5r=(x3r+apex_o,y4);
penpos6'(hair,angle(z6-z17)-90);
z6'l=z6; z17'-z6'r=whatever*(z17-z6);
x17'=x1r; z5.1=whatever[z17',z6'r];
z5.1-z5l=whatever*(z6-z5r);
filldraw z5r--z6--z17--z17'--z5.1--z5l--z5r
& cycle;
%
%
%
z21=0.267[z2l,z2r];
z20=(x6,0.5[1.431x_height,y2]);
penpos20(3/4hair,-135);
z22=(0.545[x21,x20],1.431x_height-apex_o);
z21'=(x1r,1/4[y21,y6]);
filldraw z21..z22..{down}z20l & z20l--z20r
& z20r{up}..z21'{down} & z21'--z2r--z21 &
cycle;
penpos18(hair,angle(z6-z17));
x18r=x$;y18r=1/3[1.431x_height,y21];
z21''=(x1l,0.5[y21,y6]);
filldraw z21''{up}..{z18-z21}z18l &
z18l--z18r--z21--z2l--z21'' & cycle;
%
%
%
z40=z3r+(apex_o,-0.5y3r); z41=(x3l-0.6hair,0);
penpos42(hair,90); z42l=(x1,-d');
filldraw z3r{down}..z40 & z40{dir225}..
z42l{left} & z42l--z42r & z42r{right}..
z3l{up} & z3l--z3r & cycle;
enddef;
def ygoth_k (suffix $) =
w':=6.111u; d':=2.778u;
penpos1(stem,0); penpos2(stem,0);
penpos3(stem,0); penpos4(stem,0);
penpos8(stem,60); penpos9(stem,60);
z1=(x$+0.243w',foot); z2=(x1,1.271x_height);
z9l=z1l-(apex_o,0);
x7=0.359[x1r,x3l]; y7=-apex_o;
z8l=z7; %z3r-z7=whatever*dir30;
z3r=(x$+w'-apex_o,foot);
z4r=(x3r,0.833x_height);
z7'=whatever[z9r,z8r]; z7'=whatever[z7,z3r];
z7''=whatever[z7,z3r]; x7''=x3l;
penstroke z1e--z2e;
%penstroke z3e--z4e;
podi(1);
%
%
%
penpos5(1.1stem,30); z6=(x3l,x_height);
z6-z17=whatever*dir30; x17=x1r;
z5r-z6=whatever*dir-60; x5r=x3r;
penpos6'(hair,-60);
z6'l=z6; z17'-z6'r=whatever*(z17-z6);
x17'=x1r; z5.1=whatever[z17',z6'r];
z5.1-z5l=whatever*(z6-z5r);
filldraw z5r--z6--z17--z17'--z5.1--z5l--z5r
& cycle;
%
%
%
z21=0.267[z2l,z2r];
z20=(0.821[x1r,x3l],0.5[1.431x_height,y2]);
penpos20(3/4hair,-135);
z22=(0.545[x21,x20],1.431x_height-apex_o);
z21'=(x1r,1/4[y21,y6]);
filldraw z21..z22..{down}z20l & z20l--z20r
& z20r{up}..z21'{down} & z21'--z2r--z21 &
cycle;
penpos18(hair,angle(z6-z17));
x18r=x$;y18r=1/3[1.431x_height,y21];
z21''=(x1l,0.5[y21,y6]);
filldraw z21''{up}..{z18-z21}z18l &
z18l--z18r--z21--z2l--z21'' & cycle;
%
%
%
penpos30(hair,-60); z30r=z5r; x31=x32=x1r;
z31-z30r=whatever*(z17-z6);
z32-z30l=whatever*(z17-z6);
filldraw z31--z32--z30l--z30r--z31 & cycle;
penpos4.5(stem,0); penpos33(stem,angle(z30r-z31));
x4.5=x3; z4.5-z33=whatever*dir-25;
penpos33'(1.2hair,angle(z30r-z31));
z33'r=z5l; z33r=z5l; podi(3);
penstroke z3e--z4.5e;
penpos34(stem,angle(z30r-z31));
x34r=x$+w'+apex_o;
z34r-z33r=whatever*dir-25;
penstroke z34e--z33e;
if y34r > y4.5:
filldraw z4.5r--(x4.5r,y34r)--(x4.5l,y34r)
--z4.5l--z4.5r & cycle; fi
enddef;
def ygoth_o (suffix $) =
w':=6.111u;
penpos801(stem,0); penpos802(stem,0);
penpos803(stem,0); penpos804(stem,0);
penpos808(stem,60); penpos809(stem,60);
z801=(x$+0.243w',foot); z802=(x801,0.888x_height);
z809l=z801l-(apex_o,0);
x807=0.359[x801r,x803l]; y807=-apex_o;
z808l=z807; z803r-z807=whatever*dir30;
x803r=x$+w'-apex_o;
z804r=(x803r,0.88x_height); %0.833
z807'=whatever[z809r,z808r]; z807'=whatever[z807,z803r];
z807''=whatever[z807,z803r]; x807''=x803l;
penstroke z808e--z809e;
penstroke z803e--z804e;
filldraw z808r--z807'--z807--z808r & cycle;
filldraw z807''--z803l--z803r--z807'' & cycle;
penpos700(hair,angle(z803r-z807)-90);
penpos701(hair,angle(z803r-z807)-90);
z700r=z807; z701r=whatever[z807,z803r]; x701l=x803r;
penstroke z700e--z701e;
%
%
%
penpos805(stem,60); z817=(x801r,0.824x_height);
z806=(0.821[x801r,x803l],x_height);
z805r=(x701r,y804);
penpos806'(hair,angle(z806-z817)-90);
z806'l=z806; z817'-z806'r=whatever*(z817-z806);
x817'=x801r; z805.1=whatever[z817',z806'r];
z805.1-z805l=whatever*(z806-z805r);
filldraw z805r--z806--z817--z817'--z805.1--z805l--z805r
& cycle;
%
%
%
penpos802'(stem,0); z802'r=z817';
z831=whatever[z806,z805r]; x831=x801l;
z830=whatever[z831,z805r];
z830-z802'l=whatever*(z802'r-z806'r);
x834=x$; z834=whatever[z805.1,z805l];
z832=(x831-0.5hair,y831+hair);
z833=(2(x832-x$),y834); z835=whatever[z802'l,z830];
z835=whatever[z834,z805.1];
penpos750(hair,angle(z830-z802'l)-90);
z750l=0.5[z802'l,z830];
filldraw z802'r--z806'r--z806--z830
& flex(z830,z750r,z802'l) & z802'l--z802'r & cycle;
penstroke z801e--z802'e;
enddef;
def ygoth_t (suffix $) =
w':=4.389u; h':=1.242x_height;
penpos501(stem,0);
z501l=(x$+apex_o,foot); z502=(x501,x_height-foot);
penpos502(stem,0);
penstroke z501e--z502e; z501'=z501l-(apex_o,0);
penpos505(hair,-60);
z505r-z501'=whatever*dir-50; y505r=-apex_o;
penpos506(hair,-60); z506-z505=whatever*dir30;
y506=foot; penpos503(stem,50);
z503l=z501'; z507-z503r=whatever*(z505r-z501');
z507=whatever[z505r,z506r];
filldraw z501'--z505r--z506r--z506l--z505l--z501' &
cycle;
filldraw z501'--z503r--z507--z505r--z501' & cycle;
%
%
%
penpos510(0.767stem,90); penpos521(hair,0);
z510l=(x501r+stem,y502); z520=(x501l-0.5stem,y502);
z522=(x501r,y510r); z521=(x501r,h');
filldraw z510l--z520--z521l--z521r..z522{down}
& z522--z510r--z510l & cycle;
enddef;
def ygoth_u (suffix $) =
w':=5.5u;
penpos601(stem,0); penpos602(stem,0);
penpos603(stem,0); penpos604(stem,0);
x601l=x$+hair;
x602=x601; x604l=x603l=x601r+1.233stem;
y601=y603=foot; y602=y604=x_height-foot;
penstroke z601e--z602e;
penstroke z603e--z604e;
podi(603); katwpodi(601);
if not ligature: qeri(602); fi qeri(604);
enddef;
def ygoth_z (suffix $) =
w':=4.306u; d':=3.333u;
penpos701(hair,-40); penpos702(hair,-40);
penpos703(hair,-40); penpos704(hair,-40);
penpos705(1.1stem,50); penpos706(1.1stem,50);
penpos707(1.3stem,50); penpos710(hair,-90);
y701l=0.242x_height;
x701l=x$-2apex_o; x702r=x$+w'+apex_o; y710r=-d';
z702r-z701r=whatever*dir50;
penstroke z701e--z702e;
z704r-z702r=whatever*dir150;
y704l=x_height+apex_o;
z704l-z703l=whatever*(z701-z702);
x703l=x701l; z705=0.5[z703r,z704r];
z706r-z705r=whatever*(z702r-z704r);
z706=whatever[z701l,z702l];
z707=whatever[z701r,z702r];
x707=1/3[x701l+2apex_o,x702r-apex_o];
z709=(x702r,0.163x_height);
z708=(0.632[x701l+2apex_o,x702r-apex_o],0);
x710=0.123[x701l+2apex_o,x702r-apex_o];
penstroke z703e--z704e;
penstroke z706e--z705e;
filldraw z710r{right}..z709{dir70}
& z709..z707r{z702l-z702r}
& z707r--z707l & z707l{z702r-z702l}..z708{down}..
z710l{left} & z710l--z710r & cycle;
z711=(z707l{z702r-z702l}..z708{down}..
z710l{left}) intersectionpoint
((x707,0)--z707);
filldraw z711--z707--z701r & z701r{z707-z701r}..
{z701r-z701l}z711 & cycle;
z712=whatever[z705l,z706l];
x712=x705; filldraw z712{z705l-z706l}..z703r{z703r-z704r}
& z703r--z705--z712 & cycle;
enddef;
|