% 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;