% File: cyrmorei.mf % Based on: jkbashi.mf % Modified by: Oliver Corff % Date: October 1997, Ulaanbaatar % % jkbashi.mf by Joerg Knappen, Bitnet: knappen@dmznat51 % Version 14. June 1990 % Bashkirian special letters, lowercase italics % Additional information at the end of this file % cmchar "Italic Bashkirian letter ghe-barred"; % beginchar(oct"210",7u#,x_height#,0); % italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#); % adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib; % x0=0; x5=w; x2=.5w+1.5u; x3=.5w-1.5u; % hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed); % hooks % filldraw stroke z2e{down}...{down}z3e; % stem % pickup crisp.nib; % top y6r=top y7r=bar_height;lft x6=lft x0;rt x7=rt x5; % pos6(bar,90); pos7(bar,90); % filldraw stroke z6e--z7e; % bar % penlabels(0,1,2,3,4,5,6,7); endchar; % % cmchar "Italic Bashkirian letter variant ka"; % beginchar(oct"211",8u#,x_height#,0); % italcorr x_height#*slant-.5u#; % adjust_fit(u#,.25u#); % pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0); % lft x1l=lft x2l=hround max(1.3u,2u-.5fudged.stem); top y1=h; bot y2=0; % filldraw stroke z1e--z2e; % stem % if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif % dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif % pickup fine.nib; pos3(vair,90); x3=x1; y3=.55h; z3'=z3; pos3'(varwid,90); % pos4(varwid,90); x4=w-.75flare-.08u; top y4r=h+oo; %original x4=w-2u % x41=x4; y41=y3'; x42=x4-2u; y42=y4; % filldraw stroke z3'e..controls z41 and z42..z4e; % upper diagonal % pos5(hair,0); pos6(flare,0); % rt x5r=hround(w-.08u); y5+.5flare=vround(top y4r-hair)+1;%original bot y4l-.03h % top y4'r=top y4r; x4'=x4; pos4'(hair,90); % bulb(4',5,6); % bulb % pos7(stem,0); pos8(varwid,90); pos9(hair,180); % x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height; % lft x7l=hround(w-1.8u-.5stem); y7=1/2y3; x8=w-.8u; bot y8l=-oo; % filldraw stroke z3e{right}...z7e{down} % ...z8e{right}...{up}z9e; % lower diagonal % else: % numeric right_jut,stem[],alpha[]; % right_jut=.4tiny; % pickup tiny.nib; % stem2=max(tiny.breadth,fudged.stem-3stem_corr); % stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi); % top y3=h; rt x3r=hround(r-letter_fit-.67u-right_jut); % bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut); % x4=x1; y4=1/3h; % alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4); % penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90); % alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1); % penpos6(alpha2*(stem2-tiny),0); % forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4); % z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor % z5=.5[z5l,z5r]; % z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4); % z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6); % z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6); % fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal % fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal % fi % pickup crisp.nib; % top y55r=h; x55=x1; pos55(slab,90); pos56(hair,180); % x56=x1-if serifs: 4 else: 2 fi u; % y56=good.y(y55l-beak)-eps; % arm(55,56,q,beak_darkness**.8,-.4beak_jut); % math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar; % % % cmchar "Italic Bashkirian letter variant en"; % beginchar(oct"212",10u#,x_height#,desc_depth#); % italcorr 1/3x_height#*slant+.5hair#+.5u#; % adjust_fit(0,.25u#); pickup fine.nib; % x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); % hook_in(0,1,2); % opening hook % y3-.5stem=-oo; z2'=z2; pos2'(stem,-180); % filldraw circ_stroke z3e--z2'e; %left stem % x10=x3l; y10=y11=.55h; pos10(hair,90); pos11(hair,90); % pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); y6+.5stem=h; % x7=x6; x9=w; hook_out(7,8,9); %closing hook % z7'=z7; pos7'(stem,0); % filldraw circ_stroke z6e--z7'e; x11=x6l; % right stem % filldraw stroke z10e{1,1}...{1,1}z11e; % bar % pickup crisp.nib; % y30=0; x30=x8-.1u; y32=-d; x32=x8-.75u; z31=.5[z30,z32]; % pos30(hair,90); pos31(1.25stem,135); % filldraw stroke z8{down}...z30e...z31e--z32; % descender % endchar; % cmchar "Italic Bashkirian letter o-umlaut"; beginchar(cyrotld,9u#,x_height#,0); italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360); x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2; top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo; filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3) & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl z90=z2l; x91=x4l; y91=y90; pos90(bar,90); pos91(bar,90); if serifs: z92=.5[z90,z91]; pos92(if serifs: 2.5 fi bar,90); filldraw stroke z90e{1,1}..{1,-1}z92e..{1,1}z91e; % tilde-like bar else: filldraw stroke z90e--z91e; fi % bar math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar; % % Sorry, the gamma is not acceptable in this context! OC, UB 1997 % % cmchar "The italic Bashkirian letter u-umlaut"; % I put the gamma in here % beginchar(cyry,10u#,x_height#,desc_depth#); % italcorr x_height#*slant-.5u#; % adjust_fit(0,0); pickup fine.nib; % pos1(hair,180); pos2(vstem+dw,90); % pos4(hair,0); pos5(vair,-90); pos6(hair,-180); pos7(hair,-180); % bot y1=.5772156649h; top y2r=h+oo; y4=y6=-.5d; % bot y5r=-d-o; top y7=h; % lft x1r=hround(.5u-.5hair); x2=3u; rt x4r=hround(w-2u); x5=.5[x4,x6]; % rt x4r-lft x6r=hround 1/3[hair,stem]+eps; rt x7l=hround(w-u); % if x4l () Backslash, slash, vertical bar: \ / | Punctuation: . ? ! , : ; Underscore, hyphen, equals sign: _ - = Quotes--right left double: ' ` " "at", "number" "dollar", "percent", "and": @ # $ % & "hat", "star", "plus", "tilde": ^ * + ~