%% This file is public domain. %% Originally written 1998, Ivan A Derzhanski. %% Notice added by Clea F. Rees 2009/01/06. %% % eiru.mf: Irish upper case (majuscules) def cap_h_stroke(suffix $,@,@@,$$) = penpos$$(x@@r-x@@l,0); x$$=x@@; bot y$$=0; y@@=1/3[x_height,cap_height]; penpos$''(x$r-x$l,0); x$''=x$; y$''=x_height; filldraw stroke z$''e--z$e; % thicken the lower left stem penpos@0(min(rt x$r-lft x$l,thin_join)-fine,180); pickup fine.nib; rt x@0l=tiny.rt x$r; y@0=y$''; pos@1(vair,90); pos@@'(x@@r-x@@l+tiny,0); z@@'=z@@; x@1=.5[rt x@0l,rt x@@'r]; top y@1r=cap_height+oo; (x@,y@1l)=whatever[z@1r,z@0l]; x@1l:=x@; filldraw stroke z@0e{x@1-x@0,1.5(y@1-y@0)}...{right}z@1e &{{interim superness:=hein_super; super_arc.e(@1,@@')}}; % arch pickup tiny.nib; filldraw stroke z@@e--z$$e; % right stem labels(@0); penlabels(@1); enddef; def saillipse_set(suffix $,@,@@,$$) = alpha_:=slope*(x@-x$); beta_:=y$$-y$-slope*(x$$-x$); gamma_:=alpha_/beta_; x@@-x$=-2gamma_*(x@-x$)/(1+gamma_*gamma_); y@@-y$$=slope*(x@@-x$$) enddef; def gen_letter = adjust_fit(cap_serif_fit#-2stem_shift# if monospace:-.5u# fi, cap_serif_fit#-2stem_shift# if monospace:-.5u# fi); numeric left_stem,right_stem,outer_jut,alpha,beta; right_stem=cap_curve-stem_corr; left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem); outer_jut=.8cap_jut; x1l=w-x4r=l+letter_fit+.5u; y4=0; y1=.1x_height; x2-x1=x4-x3+2.5u; x3r=x2r+apex_corr; y2=y3=cap_height+apex_o+apex_oo; alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr); penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0); penpos3(alpha*right_stem,0); penpos4(alpha*left_stem,0); z0=whatever[z1r,z2r]=whatever[z3l,z4l]; if y0