summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/cmbright/brmsb.mf171
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;
+