summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf44
1 files changed, 44 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf b/Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf
new file mode 100644
index 00000000000..bf40b538e72
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/wnri/urmcacct.mf
@@ -0,0 +1,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
+