summaryrefslogtreecommitdiff
path: root/fonts/wnri/fudacact.mf
blob: 0be19e75b7f5b283f03b9c2bc753d18b706d398f (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
%
% Washington Romanized Indic accent driver
%
% Macros to draw combination flat acute accent and underdot
%

cmchar "Dot accent";
numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
beginchar(oct"137",5u#,min(asc_height#,10/7x_height#+.5dot_diam#),0);
define_whole_blacker_pixels(dot_diam);
italcorr h#*slant+.5dot_diam#-2u#;
adjust_fit(0,0);
pickup tiny.nib; pos1(dot_diam,0); pos2(dot_diam,90);
x1=x2=.5w; top y2r=h+1;
if bot y2l<x_height+o+slab: y2l:=min(y2r-eps,x_height+o+slab+.5tiny); fi
y1=.5[y2l,y2r]; dot(1,2);  % dot
transform Tf; Tf = identity shifted (-.5w + slant*(-h-.25x_height),aspect_ratio*(-h-.25x_height));
savePicture(UdotPic); 
endgroup;

cmchar "Acute accent";
beginchar(oct"023",9u#,min(asc_height#,2x_height#),0);
italcorr h#*slant-if serifs: 1.5 fi u#;
adjust_fit(0,0);
if serifs: pickup crisp.nib; x1+.5stem=hround(w-2u); x2=2/3[x1,w-x1];
 y1+.5stem=h+eps; y2=max(2/3[h,x_height],x_height+o+hair);
 y1:=.825[y2,y1];                                   % flatten it a bit
 numeric theta; theta=angle(z2-z1)+90;
 pos1(stem,theta); pos2(hair,theta);
 filldraw circ_stroke z1e--z2e;  % diagonal
else: pickup fine.nib; pos1(stem,0); pos2(vair,0);
 rt x1r=hround(w-1.5u); lft x2l=hround(.5w-.25u-.5vair);
 top y1=.825[x_height,h];            % flattened a bit
 bot y2=vround 2/3[h,x_height];
 filldraw stroke z1e--z2e; fi  % diagonal
makeACCENT(AcutePic);
endgroup;

extra_endchar:=
  " czu ap(AcutePic);  czdm  ap(UdotPic); ah; oechar; ";

boolean dotson; dotson=false; % omit dots on i, j, and possibly etc.
def cp = udac enddef;

% end of file fudacact.mf