summaryrefslogtreecommitdiff
path: root/fonts/wnri/baraacct.mf
blob: 012b5a39ce2ec818b626d5577ca2bf9f8a71f7af (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
47
48
49
50
51
52
%
% Washington Romanized Indic accent driver
%
% Macros for macron + acute accent
%

numeric barwidth; barwidth=vround .2[vair,stem];
numeric semiwidth; semiwidth=7.5u;

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);
 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=h; bot y2=vround 2/3[h,x_height];
 filldraw stroke z1e--z2e; fi  % diagonal
transform Tf; Tf = identity shifted (-.5w+slant*(-y2),-y2*aspect_ratio);
savePicture(MacronPic);
endgroup;
cmchar "Macron (bar) accent";
numeric macron_breadth#; macron_breadth#=.2[vair#,stem#];
beginchar(oct"026",9u#,.4[x_height#,asc_height#]+macron_breadth#,0);
italcorr h#*slant-.75u#;
adjust_fit(0,0);
numeric macron_breadth; macron_breadth:=Vround .2[vair,stem];
pickup if serifs: crisp.nib else: fine.nib fi;
pos1(macron_breadth,90); pos2(macron_breadth,90);
top y1r=top y2r=h+o; lft x1=w-rt x2=hround 1.25u;
filldraw stroke z1e--z2e;  % bar
transform At; At=identity shifted(.5w+slant*(h+acctdiff),aspect_ratio*(h+acctdiff));
ap(MacronPic);
if monospace: currentpicture:=currentpicture shifted(0,1/2aspect_ratio*dot_size); fi
makeACCENT(MacronPic);
endgroup;



extra_endchar:=
  " czu ap(MacronPic);  ah; oechar; ";

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

def cp = baract enddef;

% end of file baracct.mf