% % Washington Romanized Indic accent driver % % Macros to draw circumflex accents % cmchar "Circumflex (hat) accent"; beginchar(oct"136",9u#,min(asc_height#,2x_height#),0); if serifs: italcorr .5[x_height#,h#]*slant+.5hair#-1.75u#; adjust_fit(0,0); pickup crisp.nib; pos2(.5[vair,curve],90); top y2r=h; x2=.5w; x1=w-x3=good.x 2.25u; y1=y3=.5[x_height,y2]; pos1(hair,angle(z2-z1)+90); pos3(hair,angle(z3-z2)+90); filldraw stroke z1e--z2e--z3e; % diagonals else: italcorr 2/3[x_height#,h#]*slant-.5stem#+.5vair#-.75u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,0); pos3(vair,0); x1=w-x3; pos2(stem,0); top y2=h; x2=.5w; bot y1=bot y3=vround 2/3[h,x_height]-eps; lft x1l=hround(rt x2r-3.25u-.5vair); % same slope as in the acute accent z0=whatever[z1r,z2r]=whatever[z2l,z3l]; y4l=y4r=y2; x4l=good.x .2[x2l,x2]; x4r=w-x4l; filldraw z4l--z1l--z1r--z0--z3l--z3r--z4r--cycle; fi % diagonals makeACCENT(HatPic); endgroup; extra_endchar:= " czu ap(HatPic); ah; oechar; "; boolean dotson; dotson=false; % omit dots on i, j, and possibly etc. def cp = hatt enddef; % end of file hattacct.mf