diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf b/Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf new file mode 100644 index 00000000000..081e4acaf38 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf @@ -0,0 +1,171 @@ +% MSB symbols, bright style [1996/07/02 v1.0 (WaS)] + +cmchar "Lowercase variation of Greek kappa"; +% will use same dimensions as standard Greek lowercase kappa +% see vol E, p 155. +beginchar(oct"173", 12u#, x_height#, 0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup rule.nib; +pos1(stem,0); pos2(stem,0);x1l=hround(2u-.5stem); x2r=w-x1l; +top y2+.3stem=h+oo; bot y1-.3stem=-oo; +filldraw z1l---z2l...z2r---z1r...cycle; +pickup crisp.nib; +pos3(hair,180); x3=lft x1l; y3=3/4h; pos4(stem,90); +top y4r+.15stem=h+oo; x4-x3=.05[x1,x2]; +pos4'(hair,0); y4'=y3; x4'=1/4[x1,x2]; +pos5(hair,90); z5=z1; +filldraw super_arc.r(3,4)&super_arc.r(4,4')...{z1-z2}z5&z5{z2-z1} +...super_arc.l(4',4)&super_arc.l(4,3)---cycle; % left arm +pos8(hair,-90); pos6(hair,0); +z8=z2; pos7(stem, -90); bot y7r-.15stem=-oo; x6-x7=x4-x3; +x6=w-x3; +pos7'(hair,180); y7'=y6; x7'=w-x4'; +y6=h-y3; +filldraw super_arc.r(6,7)&super_arc.r(7,7')...{z2-z1}z8&z8{z1-z2} +...super_arc.l(7',7)&super_arc.l(7,6)---cycle; % right arm +%filldraw z8{z1-z2}..z7l...{up}z6r---z6l{-u,-2u}...z7r..{z2-z1}z8---cycle; %right arm +penlabels(range 1 thru 8,4'); endchar; + +cmchar "H-bar symbol, slanted bar"; +beginchar(oct"175",10u#,asc_height#,0); +italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#; +adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#); +pickup tiny.nib; pos1(stem,0); pos2(stem,0); +pos1'(stem',0); pos2'(stem',0); pos3(stem,0); +lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1; +top y1=h; bot y2=0; y1=y1'; y2=y2'; +filldraw stroke z1'e--z2'e; % left stem +h_stroke(2,a,3,4); % arch and right stem +if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif + numeric inner_jut; pickup tiny.nib; + if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut; + else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi + dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif + dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif + +numeric macron_breadth; macron_breadth:=Vround .2[vair,stem]; +pickup if serifs: crisp.nib else: fine.nib fi; +pos5(macron_breadth,90); pos6(macron_breadth,90); +y5=0.7h; y6=7/8h; +lft x5=w-2.5u-rt x6=hround 0.5u; +filldraw stroke z5e--z6e; % bar + +penlabels(1,2,3,4,5,6); endchar; + +cmchar "H-bar symbol, vertical bar"; +beginchar(oct"176",10u#,asc_height#,0); +italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#; +adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#); +pickup tiny.nib; pos1(stem,0); pos2(stem,0); +pos1'(stem',0); pos2'(stem',0); pos3(stem,0); +lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1; +top y1=h; bot y2=0; y1=y1'; y2=y2'; +filldraw stroke z1'e--z2'e; % left stem +h_stroke(2,a,3,4); % arch and right stem +if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif + numeric inner_jut; pickup tiny.nib; + if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut; + else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi + dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif + dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif + +numeric macron_breadth; macron_breadth:=Vround .2[vair,stem]; +pickup if serifs: crisp.nib else: fine.nib fi; +pos5(macron_breadth,90); pos6(macron_breadth,90); +top y5r=top y6r=0.81h; %h+o; +lft x5=w-2.5u-rt x6=hround 0.5u; +filldraw stroke z5e--z6e; % bar + +penlabels(1,2,3,4,5,6); endchar; + +cmchar "Reversed, reflected, lowercase Greek epsilon"; +beginchar(oct"177",8u#,x_height#,0); +italcorr x_height#*slant+.5hair#-2u#; +adjust_fit(0,0); pickup fine.nib; +pos0(bar,90); pos1(bar,90); pos2(curve,180); +pos3(vair,270); pos4(hair,300); pos6(bar,90); pos7(bar,90); +x1=.5w+.5u; x0=x1+u; lft x2r=hround(1.5u-.5curve); x3=.5[x0,x1]; +x4r=good.x(w-u); x5=w+.5u; x6=x0; z7=z2l; +top y0r=top y1r=h; y2=y5=y6=bar_height; bot y3r=-oo; +path p; p=z3r{right}...{up}z5; +numeric t; t=ypart(((x4r,y3r)--(x4r,y5))intersectiontimes p); +y4r=ypart point t of p; +filldraw circ_stroke z0e..pulled_arc.e(1,2) & pulled_arc.e(2,3) + ...z4e{direction t of p}; % arc +filldraw circ_stroke z6e--z7e; % bar +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +picture v; +v:=currentpicture; +v:=v reflectedabout((0,h*aspect_ratio/2),(w,h*aspect_ratio/2)); +v:=v reflectedabout((w/2,-d),(w/2,h)); +currentpicture:=v shifted (2u,0); +penlabels(0,1,2,3,4,5,6,7); endchar; + +slant:=mono_charic#:=0; % the remaining characters will not be slanted +currenttransform:=identity yscaled aspect_ratio scaled granularity; + +cmchar "Upsidedown, uppercase Greek Omega"; +beginchar(oct"146",13u#,cap_height#,0); +italcorr .75cap_height#*slant-.5u#; +adjust_fit(0,0); +pickup tiny.nib; pos1(vair,90); pos2(cap_curve,180); +pos3(vair,180); pos4(cap_curve,0); pos5(vair,0); +x1=.5w; top y1r=h+o; lft x2r=hround u; y2=y4=2/3h; x4=w-x2; +rt x3l=hround(1/3(w+.5u)+.5hair); bot y3=bot y5=0; x5=w-x3; +filldraw stroke z3e{up}...{up}z2e + & pulled_super_arc.e(2,1)(.5superpull) + & pulled_super_arc.e(1,4)(.5superpull) + & z4e{down}...{down}z5e; % bowl +numeric arm_thickness; path p; p=z3{up}...{up}z2; +arm_thickness=Vround(if hefty:slab+2stem_corr else:.75[slab,cap_vstem] fi); +pickup crisp.nib; pos6(arm_thickness,-90); pos7(fudged.hair,-180); +bot y6r=0; x6=x3; lft x7r=hround .8u; y7=good.y(y6l+.5beak)+eps; +(x,y)=p intersectionpoint((0,y6l)--(w,y6l)); x6l:=x; +arm(6,7,a,.5beak_darkness,-1.2beak_jut); % left arm and beak +pos8(arm_thickness,-90); pos9(fudged.hair,0); +y8=y6; y9=y7; x8+x6=x9+x7=w; x8l:=w-x6l; +arm(8,9,b,.5beak_darkness,1.2beak_jut); % right arm and beak +%math_fit(0,.5ic#); +picture v; v:=currentpicture; +numeric t; t=h-d; +v:=v reflectedabout((0,0),(w,0)); +currentpicture:=v shifted(0,aspect_ratio*cap_height); +penlabels(1,2,3,4,5,6,7,8,9); endchar; + +cmchar "The letter Edh (Old English rune, like thorn)"; +% adapted from cm partial differential sign, vol E, p 233. +beginchar(oct"147",10u#,asc_height#,0); +italcorr .7asc_height#*slant+.5curve#-1.5u#; +adjust_fit(0,0); +numeric top_thickness,bot_thickness,side_thickness,pull; +top_thickness=max(fine.breadth,vround(slab-2vair_corr)); +bot_thickness=max(fine.breadth,vround(slab-vair_corr)); +side_thickness=max(fine.breadth,hround 1/3[curve,cap_curve]); +pull=min(.25,1.5superpull); +pickup fine.nib; pos2(top_thickness,90); +pos3(side_thickness,0); pos4(bot_thickness,-90); +pos5(side_thickness,-180); pos6(vair,-270); +lft x5r=w-rt x3r=hround max(.75u,1.5u-.5side_thickness); +x4=x6+.1u=x2+u=.5w; +top y2r=h+o; y3=.5[y2,y4]; bot y4r=-o; +y5=.5[y4,y6]; top y6=vround 5/8h+o; +path p; p=pulled_super_arc.l(3,4)(pull); +numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5))); +pos7(thin_join,0); z7l=point t of p; +(x,y6r)=whatever[z7l,z6l]; x6r:=max(x,.5[x5r,x6]); +x2:=x5; x2l:=x2r:=x2; +filldraw stroke pulled_super_arc.e(2,3)(pull) + & {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}} + & {{less_tense; pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}} + & z6e{right}...{direction t of p}z7e; % arc and bowl +%pos1(hair,180); pos0(flare,180); % commenting out the arc and bulb +%lft x0r=min(lft x2-eps,hround 1.2u); +%y0=vround min(.85h-.5flare,.8h+.5flare)+o; +%{{less_tense; bulb(2,1,0)}}; % arc and bulb +%math_fit(-.3x_height#*slant+.5curve#-u#,ic#-u#); +pickup pencircle xscaled 1.4rule_thickness yscaled .5rule_thickness; +x10=x11=x5; x12=x13=w-x10; y10=y13; +y10-y11=y12-y13=cap_stem; .5[y11,y10]=.5[y6,y2]; +draw z10--z11--z12--z13; % cross piece +penlabels(2,3,4,5,6,7,10,11,12,,13); endchar; + |