summaryrefslogtreecommitdiff
path: root/fonts/wnri/urmcacct.mf
blob: bf40b538e72b12715232f97d7cf13c59cd5ff06a (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
%
% Washington Romanized Indic accent driver
%
% Macros to draw combination macron accent and underring
%

cmchar "Vocalic underring accent";
beginchar(oct"027",13u#+4/3(asc_height#-x_height#)*slant,asc_height#,0);
adjust_fit(cap_serif_fit#,cap_serif_fit#);
numeric circ_hair,circ_vair;
circ_hair=hround min(hair,u+.5); circ_vair=vround min(vair,(h-x_height)/6+.5);
penpos1(circ_vair,90); penpos3(circ_vair,-90);
penpos2(circ_hair,180); penpos4(circ_hair,0);
x2r=hround(.5w-1.5u-.5circ_hair);
x4r=w-x2r; x1=x3=.5w; y1r=h+apex_o; y2=y4=.5[y1,y3];
y3r=vround(1/3[x_height,h]+apex_o);
penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle;  % bowl
transform Tf; Tf = identity shifted (-.5w+slant*(-y1r-.25x_height),-y1r-.25x_height);
savePicture(RingPic);
endgroup;

cmchar "Macron 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
if monospace: currentpicture:=currentpicture shifted(0,1/2aspect_ratio*dot_size); fi
makeACCENT(MacronPic);
endgroup;

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

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

% end of file urmcacct.mf