def kouki(suffix $)(expr arij, meg)= if arij=1: penpos$.1(hair,0); penpos$.2(hair,90); z$.1=z$; z$.2=z$.1+(-.1meg*u-.5hair,.2meg*v-.5hair); z$.3=z$.2r-(.1meg*u,.1meg*v); z$.4=z$.2r-(0,.2meg*v); z$.5=z$.2r+(.1meg*u,-.1meg*v); penstroke z$.1e{up}...{left}z$.2e; filldraw z$.2r...z$.3...z$.4...z$.5...cycle; fi if arij=2: penpos$.1(hair,0); penpos$.2(hair,-90); z$.1=z$; z$.2=z$.1+(.1meg*u+.5hair,.2meg*v-.5hair); z$.3=z$.2l+(.1meg*u,-.1meg*v); z$.4=z$.2l-(0,.2meg*v); z$.5=z$.2l-(.1meg*u,.1meg*v); penstroke z$.1e{up}...{right}z$.2e; filldraw z$.2l...z$.3...z$.4...z$.5...cycle; fi if arij=3: penpos$.1(hair,-180); penpos$.2(hair,90); z$.1=z$; z$.2=z$.1+(-.1meg*u-.5hair,-.2meg*v+.5hair); z$.3=z$.2l-(.1meg*u,-.1meg*v); z$.4=z$.2l+(0,.2meg*v); z$.5=z$.2l+(.1meg*u,+.1meg*v); penstroke z$.1e{down}...{left}z$.2e; filldraw z$.2l...z$.3...z$.4...z$.5...cycle; fi if arij=4: penpos$.1(hair,-180); penpos$.2(hair,-90); z$.1=z$; z$.2=z$.1+(.1meg*u+.5hair,-.2meg*v+.5hair); z$.3=z$.2r-(-.1meg*u,-.1meg*v); z$.4=z$.2r+(0,.2meg*v); z$.5=z$.2r+(-.1meg*u,+.1meg*v); penstroke z$.1e{down}...{right}z$.2e; filldraw z$.2r...z$.3...z$.4...z$.5...cycle; fi if arij=5: penpos$.1(hair,90); penpos$.2(hair,0); z$.1=z$; z$.2=z$.1-(.2meg*u-.5hair,-.1meg*v-.5hair); z$.3=z$.2l+(.1meg*u,.1meg*v); z$.4=z$.2l+(.2meg*u,0); z$.5=z$.2l+(.1meg*u,-.1meg*v); penstroke z$.1e{left}...{up}z$.2e; filldraw z$.2l...z$.3...z$.4...z$.5...cycle; fi if arij=6: penpos$.1(hair,-90); penpos$.2(hair,0); z$.1=z$; z$.2=z$.1-(-.2meg*u+.5hair,-.1meg*v-.5hair); z$.3=z$.2r+(-.1meg*u,.1meg*v); z$.4=z$.2r+(-.2meg*u,0); z$.5=z$.2r+(-.1meg*u,-.1meg*v); penstroke z$.1e{right}...{up}z$.2e; filldraw z$.2r...z$.3...z$.4...z$.5...cycle; fi if arij=7: penpos$.1(hair,90); penpos$.2(hair,-180); z$.1=z$; z$.2=z$.1-(.2meg*u-.5hair,.1meg*v+.5hair); z$.3=z$.2r+(.1meg*u,-.1meg*v); z$.4=z$.2r+(.2meg*u,0); z$.5=z$.2r+(.1meg*u,.1meg*v); penstroke z$.1e{left}...{down}z$.2e; filldraw z$.2r...z$.3...z$.4...z$.5...cycle; fi if arij=8: penpos$.1(hair,-90); penpos$.2(hair,-180); z$.1=z$; z$.2=z$.1+(.2meg*u-.5hair,-.1meg*v-.5hair); z$.3=z$.2l-(.1meg*u,.1meg*v); z$.4=z$.2l-(.2meg*u,0); z$.5=z$.2l-(.1meg*u,-.1meg*v); penstroke z$.1e{right}...{down}z$.2e; filldraw z$.2l...z$.3...z$.4...z$.5...cycle; fi enddef; def mpalla(suffix $)(expr meg)= z$.1=z$; z$.2=z$.1+(0,.1meg*v); z$.3=z$.1+(-.1meg*u,0); z$.4=z$.1+(0,-.1meg*v); z$.5=z$.1+(.1meg*u,0); filldraw z$.2...z$.3...z$.4...z$.5...cycle enddef; def kordella(suffix $,$$)= (z$.1-z$$)=whatever * (z$$l-z$$r); z$.1-z$=whatever * dir(angle(z$r-z$l)+90); (z$.2-z$)=whatever * (z$l-z$r); z$.2-z$$=whatever * dir(angle(z$$r-z$$l)+90); z$.3=.5[z$,z$.2]; z$.4=.25[z$,z$$]; z$.5-z$$=z$-z$.4; z$.6-z$.2=z$-z$.4; z$.7=0.25[z$.1,z$$]; filldraw z$r{z$.1-z$}...{z$.2-z$}z$.4...{z$-z$.1}z$.3... {z$.2-z$}z$.6...{z$.1-z$}z$$r & z$$r--z$$l & z$$l{z$-z$.1}...{z$-z$.2}z$.5...{z$-z$.2}z$.7... {z$-z$.1}z$l & z$l--z$r & cycle enddef; def ka(suffix $)(expr angle)= penpos$(hair,angle) enddef; def triaina(suffix $,$$,$$$)(expr alpha)= numeric theta; theta:= angle(z$$$-z$); z$.1=(0.5-0.5alpha)[z$,z$$$]; z$.1'=(0.5-0.5alpha)[z$$$,z$]; z$.2=.5[z$.1,z$.1']+1/8(z$$-z$); z$.3=.5[z$.1,z$.1']+5/8(z$$-z$); z$.4=.25[z$.1,z$.1']+5/8(z$$-z$); z$.4'=.75[z$.1,z$.1']+5/8(z$$-z$); z$.5=z$.1+1/6(z$$-z$); z$.5'=z$.1'+1/6(z$$-z$); z$.7=z$$+.25(z$$$-z$); z$.7'=z$$+.75(z$$$-z$); z$.8=2/3[z$,z$$]; z$.8'=z$.8+(z$$$-z$); penpos$.8(hair,theta); penpos$.7(hair,theta-90); penpos$.4(hair,theta+180); penpos$.5(hair,theta+180); penpos$.1(hair,theta-135); penpos$.2(3hair,theta-90); penpos$.1'(hair,theta-45); penpos$.5'(hair,theta); penpos$.4'(hair,theta); penpos$.7'(hair,theta-90); penpos$.8'(hair,theta+180); %filldraw z$.1--z$.3 & z$.3--z$.1' & %z$.1' -- z$.1 & cycle; penstroke z$.8e{z$$-z$}...z$.7e{z$$$-z$} ...z$.4e{z$-z$$}...z$.5e...z$.1e... {z$$$-z$}z$.2e...z$.1'e...z$.5'e... z$.4'e{z$$-z$}...z$.7'e{z$$$-z$}... z$.8'e{z$-z$$}; z$.11=z$.8l; z$.13=z$.11+(alpha/3)*(z$$$-z$); z$.11'=z$.8'l; z$.13'=z$.11'-(alpha/3)*(z$$$-z$); filldraw z$.11...z$.13...cycle; filldraw z$.11'...z$.13'...cycle enddef; def kouti(suffix $,$$)= z$$.2=z$r+(z$l-z$$); z$'=z$; z$$.1-z$$=whatever*dir(angle(z$r-z$l)+90); z$$.1-z$$.2=whatever*(z$l-z$r); z$$.3=z$$+(z$$.2-z$$.1); filldraw z$$--z$$.1--z$$.2--z$$.3--z$$ & cycle enddef; def louloudi(suffix $) (expr alpha) = x$.2=x$.6=x$-0.5alpha*u; x$.8=x$.4=x$+0.5alpha*u; x$.1=x$.5=x$-0.05alpha*u; x$.3=x$.7=x$+0.05alpha*u; z$.3-z$=whatever*dir45; z$.4=whatever[z$,z$.3]; z$.5=whatever[z$,z$.3]; z$.6=whatever[z$,z$.3]; z$.1-z$=whatever*dir135; z$.2=whatever[z$,z$.1]; z$.7=whatever[z$,z$.1]; z$.8=whatever[z$,z$.1]; filldraw z$.3{right}..z$.4{up} & z$.4{left}..z$.3{down} & cycle; filldraw z$.1{up}..z$.2{left} & z$.2{down}..z$.1{right} & cycle; filldraw z$.6{right}..z$.5{up} & z$.5{left}..z$.6{down} & cycle; filldraw z$.8{up}..z$.7{left} & z$.7{down}..z$.8{right} & cycle; enddef; def laimoc_swab = penpos1.1(stem,0); penpos1.3(stem,0); penpos1.4(hair,90); penpos1.5(hair,-90); y1.1=y1.1'=foot; x1.1l=x1.2=0.413stem; x1.1'=x1.4=0; x1.3=x1.1; x1.5=x1.1r+0.761stem; y1.5l=cap_height+apex_o; z1.5l-z1.4r=whatever*dir17; y1.3=0.828cap_height; y1.2=0.273cap_height; filldraw z1.1'...z1.2---z1.3l... z1.4l & z1.4l--z1.4r--z1.5l--z1.5r & z1.5r{left}...z1.3r---z1.1r & z1.1r--z1.1' & cycle enddef; def podi_swab (expr theta) = penpos2.1(1.304stem,theta); penpos2.2(1.304stem,theta); z2.1l=(0,foot); z2.1l-z2.2l=whatever*dir151; y2.2l=-apex_o; penpos2.3(hair,theta-90); z2.3r=z2.2; z2.05=(2/3apex_o,2/3apex_o); penpos2.1'(1.304stem,theta); z2.1'=0.5[z2.1,z2.2]+z2.05; penstroke z2.2e..z2.1'e..z2.1e enddef; def long_s = numeric w',h',d'; w':=6.038u; h':=1.414x_height; d':=3.208u; penpos1.1(2/3hair,0); z1.1=(0.313w',-d'); penpos1.2(1.283stem,0); z1.2=(0.344w',0.589h'); penpos1.4(hair,90); z1.4l=(0,y1.2-1/3stem); z1.3=(z1.1l..{dir92.5}z1.2l) intersectionpoint ((0,y1.4l)--(w',y1.4l)); z1.5=(0.35w',0.761h'); penpos1.6(0.957stem,-118); z1.6l=(0.669w',h'); penpos1.7(1.174stem,-125); z1.7l=(w',0.962h'); penpos1.8(hair,-35); z1.8r=z1.7l; z1.9-z1.8l=whatever*(z1.7l-z1.7r); x1.9=0.9w'; penpos1.11(2/3stem,-90); y1.11=y1.2; x1.11=0.763w'; penpos1.12(2/3stem,-90); z1.12=z1.2; filldraw z1.1r..z1.2r{dir87} & z1.2r{dir126}..z1.5{up}..z1.6r{right} ..z1.7r{right}--z1.8r--z1.8l--z1.9 & z1.9{left}..z1.6l{left}.. z1.4r{dir218}--z1.4l{right}-- z1.3{dir272.5}..z1.1l--z1.1r & cycle; if isitf: filldraw z1.11r--z1.12r-- z1.12l--z1.5{down}...(x1.2r,y1.11l){right} ---z1.11l--z1.11r & cycle; fi enddef; def dexi_podi_swab (expr yy) = penpos1.2(stem,0); z1.2r=(1.63stem,0.694x_height); penpos1.1(whatever,24); penpos1.3(whatever,43); x1.1l=x1.2l; z1.3l=z1.2l; x1.1r=x1.2r=x1.3r; y1.1l=yy; penpos1.4(1.348stem,43); x1.4l=0; y1.4r=x_height+apex_o; penstroke z1.1e---z1.3e... z1.4e{dir133} enddef; def aristero_podi_swab (expr xx) = w':=5.057u; penpos2.1(stem,0); z2.1l=(xx+1.261stem,0.694x_height); penpos2.2(whatever,34); z2.2l=(x2.1l,-apex_o); x2.2r=xx+w'; penpos2.3(hair,-90); z2.3r=z2.2r; z2.4=(x2.1r,0.378x_height); z2.6=(xx+0.545w',x_height+apex_o); penpos2.5(hair,-90); z2.5l-z2.6=whatever*dir-40; x2.5=xx+0.9w'; penpos2.7(hair,-90); z2.6-z2.7l=whatever*dir33; x2.7=xx; z2.8-z2.7r=whatever*(z2.6-z2.7l); z2.8=whatever[z2.6,z2.5r]; penpos2.9(1.217stem,33); z2.9r=z2.8; z2.9l-z2.11=whatever*(z2.6-z2.5l); x2.11=x2.1l; filldraw z2.7r--z2.9l--z2.11-- z2.2l--z2.3r--z2.3l{z2.2l-z2.2r}..{up} z2.4---z2.1r...z2.5r{right}-- z2.5l--z2.6--z2.7l--z2.7r & cycle enddef; def e_umlaut(suffix $) = penpos$.1(2u,45); z$.1=z$; pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30; z$.2=z$.1r; z$.3=z$.1l; rt x$.4=rt x$.2; top y$.4=y$; draw z$.3--z$.2..z$.3..z$.4; enddef;