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;