diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/wnri/fbargact.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/wnri/fbargact.mf | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/wnri/fbargact.mf b/Master/texmf-dist/fonts/source/public/wnri/fbargact.mf new file mode 100644 index 00000000000..6273e14cac5 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/wnri/fbargact.mf @@ -0,0 +1,52 @@ +% +% Washington Romanized Indic accent driver +% +% Macros to draw macron and flat grave accents +% + +numeric barwidth; barwidth=vround .2[vair,stem]; +numeric semiwidth; semiwidth=7.5u; + +cmchar "Grave accent"; +beginchar(oct"022",9u#,min(asc_height#,2x_height#),0); +adjust_fit(0,0); +if serifs: pickup crisp.nib; x1-.5stem=hround 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); + lft x1l=hround 1.5u; rt x2r=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 +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 = bargrv enddef; + +% end of file fbargact.mf + + |