1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
%
% 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
|