%% 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