%% filename: serbspu.mf %% version: 2.2 %% date: 1995/01/04 %% %% American Mathematical Society %% Technical Support %% Publications Technical Group %% 201 Charles Street %% Providence, RI 02904 %% USA %% tel: (401) 455-4080 %% (800) 321-4267 (USA and Canada only) %% fax: (401) 331-3842 %% email: tech-support@ams.org %% %% Copyright 1995 Humanities and Arts Computing Center, University of %% Washington. %% %% Unlimited copying and redistribution of this file are permitted as %% long as this file is not modified. Modifications, and distribution %% of modified versions, are permitted, but only if the resulting file %% is renamed. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %This is serbspu.mf containing serbian and other letters with offsets %of 8 between upper and lower case. %spu = separate upper and lower case. cmchar "The Ukrainian letter I"; beginchar(oct"004",max(6u#,4u#+cap_stem#),cap_height#,0); italcorr cap_height#*slant-.25u#; adjust_fit(cap_serif_fit#,cap_serif_fit#); pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem if serifs: dish_serif(1,2,a,1/3,1.05cap_jut,b,1/3,1.05cap_jut); % upper serif dish_serif(2,1,c,1/3,1.05cap_jut,d,1/3,1.05cap_jut); fi % lower serif math_fit(0,.5ic#); penlabels(1,2); endchar; cmchar "The Serbian letter Soft DJ (looks like Th with a tail)"; beginchar(oct"006",15.5u#-width_adj#,cap_height#,0); italcorr cap_height#*slant-beak_jut#-.25u#; adjust_fit(0,0); % c part h:=x_height; w:=6.5u; pickup fine.nib; pos2(vair',90); pos4(vair',270); x2=x4=.5(w+u); top y2r=vround h; bot y4r=0; pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h; if serifs: pos1(hair,0); pos0(flare,0); y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare); rt x1r=hround(w-.7u); bulb(2,1,0); % bulb pos5(hair,0); lft x5l=w+1.5u; %rt x5r=hround(w+1.5u); % y5=max(good.y(.5bar_height-.9),y4l+vair'); y5=.875y3; (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u); filldraw stroke pulled_super_arc.e(2,3)(.7superpull) & pulled_super_arc.e(3,4)(.5superpull) & pulled_super_arc.e(4,5)(.5superpull); % ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal else: pos1(4/7[vair',flare],80); rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r]; filldraw stroke term.e(2,1,right,.8,4); % upper terminal %pos5(.6[vair',flare],275); pos5(.6[vair',flare],360); lft x5l=w+1.5u; %rt x5r=hround(w-.5u); % y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l; y5=.625y3; % forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e; % if angle direction 1 of p.e>75: % p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor filldraw stroke pulled_super_arc.e(2,3)(.7superpull) & pulled_super_arc.e(3,4)(.5superpull) & pulled_super_arc.e(4,5)(.5superpull); fi %& p.e; fi % arc and lower terminal x99=.5w; y99=.5h; flip(99); currentpicture:=nullpicture; clearxy; % T part h:=vround(cap_height-2stem_corr); w:=13u; pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem pickup crisp.nib; pos3(slab,90); pos4(hair,0); top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-.5beak)-eps; arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak pos5(hair,180); x5=w-x4; y5=y4; arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,cap_jut); % lower serif nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.325cap_jut); fi % upper bracketing addto currentpicture also V shifted(x2r+1.5u,0); math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6); endchar; cmchar "The Serbian letter Soft T"; beginchar(oct"007",13u#,cap_height#,0); italcorr cap_height#*slant-beak_jut#-.25u#; adjust_fit(0,.75u#); h:=vround(h-2stem_corr); pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); lft x1l=lft x2l=hround(.5w-.5cap_stem-u); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem pickup crisp.nib; pos3(slab,90); pos4(hair,0); top y3r=h; x3=x1; rt x4r=hround(w-1.65u); y4=good.y(y3l-.5beak)-eps; arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak pos5(hair,180); x5=w-x4-u; y5=y4; arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak if serifs: dish_serif(2,1,c,1/3,cap_jut,d,1/3,.75cap_jut); % lower serif nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing pickup tiny.nib; pos33(stem,0); x33=hround(w-2.5u+.5stem); h_stroke(2,q,33,34); dish_serif(34,33,g,1/3,.75cap_jut,h,1/3,.75cap_jut); math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6,33,34); endchar; cmchar "The Russian letter YO (looks like E umlaut)"; beginchar(oct"023",12u#-width_adj#,cap_height#,0); % note height not adjusted for umlaut italcorr cap_height#*slant-beak_jut#-.5u#; adjust_fit(cap_serif_fit#,0); h:=vround(h-stem_corr); pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem pickup crisp.nib; pos3(slab,90); pos4(hair,0); top y3r=h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps; arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak pos5(cap_bar,-90); pos6(hair,0); top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1; pos0(cap_bar,90); pos7(hair,0); z0=z5; x6=x7; y6-y5l=y0l-y7; if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps; rt x9r=hround(w-.5u); else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0); bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps; arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif x51=.5w; y51=h; umlaut(51,q); math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar; cmchar "The Old Russian letter YATZ"; beginchar(oct"043",12.5u#,body_height#,0); italcorr .75cap_height#*slant-.5u#; adjust_fit(2u#+cap_serif_fit#,0); numeric left_stem,right_curve,middle_weight; left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5; pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0); lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem penpos3(cap_band,90); penpos4(cap_band,90); penpos6(middle_weight,-90); penpos7(middle_weight,-90); penpos8(middle_weight,90); penpos9(middle_weight,90); penpos5(right_curve-stem_corr,0); penpos10(right_curve,0); penpos11(cap_band,-90); penpos12(cap_band,-90); z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair; z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h; x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u; x5r=hround(w-1.5u); x10r=hround(w-u); if serifs: right_curve=cap_curve-stem_corr; x4=.5[x1,w-1.5u]; else: right_curve=cap_curve-3stem_corr; x4=.5[x1,w-2.5u]; x4l:=x4l-.5u; x9l:=x9l-.5u; fi x6l:=x6l-.5u; x11l:=x11l-.5u; fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif pos53(slab,90); pos54(hair,0); top y53r=.85h; x53=x1; rt x54r=hround(w-2.65u); y54=good.y(y53l-.5beak)-eps; arm(53,54,m,beak_darkness,.7beak_jut); % right arm and beak pos55(hair,180); x55=w-x54-4u; y55=y54; arm(53,55,p,beak_darkness,-.7beak_jut); % left arm and beak math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;