diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/cmcyr/cyrsymb.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/cmcyr/cyrsymb.mf | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/cmcyr/cyrsymb.mf b/Master/texmf-dist/fonts/source/public/cmcyr/cyrsymb.mf new file mode 100644 index 00000000000..6bb49ba643c --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/cmcyr/cyrsymb.mf @@ -0,0 +1,92 @@ +cmchar "open cyrillic quote (looks like <<)"; +beginchar(oct"035",10u#,x_height#,0); +adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib; +lft x2=hround u-epsilon; x1=x3=.55w; +y1=h; y3=0; y2=.5[y1,y3]; +draw z1--z2--z3; % left diagonals +x4=w-x2; y4=.9[y3,y1]; y6=.1[y3,y1]; +x5-x2=x6-x3=x4-x1; y5=y2; +draw z4--z5--z6; % right diagonals +z2'=z2; x2':=x2-.625rule_thickness; +z5'=z5; x5':=x5+.625rule_thickness; +draw z1--z2'--z3; % left diagonals +draw z4--z5'--z6; % right diagonals +labels(1,2,3,4,5,6); endchar; + +cmchar "close cyrillic quote (looks like >>)"; +beginchar(oct"036",10u#,x_height#,0); +adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib; +lft x2=.55w; x1=x3=hround u-epsilon; +y1=.9h; y3=.1h; y2=.5[y1,y3]; +y4=h; y6=0; y5=.5[y4,y6]; +draw z1--z2--z3; % left diagonals +x4=w-x2; +x5-x2=x6-x3=x4-x1; +draw z4--z5--z6; % right diagonals +z2'=z2; x2':=x2-.625rule_thickness; +z5'=z5; x5':=x5+.625rule_thickness; +draw z1--z2'--z3; % left diagonals +draw z4--z5'--z6; % right diagonals +labels(1,2,3,4,5,6); +endchar; + +cmchar "The number mark"; +beginchar(oct"031",17u#,cap_height#,0); +italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric thin_stem,letter_w,light_bulb; letter_w=14u; +thin_stem=hround(fudged.hair+stem_corr); +pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0); +pos3(thin_stem,0); pos4(thin_stem,0); +top y1=h; bot y4=0; +if serifs: top y3=h-bot y2=.9h; else: top y3=h; bot y2=0; fi +x1=x2; x3=x4; x1l=letter_w-x3r; +rt x3r=hround min(letter_w-3u,letter_w-4u+.5fudged.cap_stem); +filldraw stroke z1e--z2e; % left stem +filldraw stroke z3e--z4e; % right stem +if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0); + x5l=x1; x6r=x4; y5=h; y6=0; + numeric upper_notch,lower_notch; + upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut; + x1'=rt x1r; z1'=whatever[z5l,z6l]; x4'=lft x4l; z4'=whatever[z5r,z6r]; + fill z5l.. + if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi + {z6-z5}diag_in(5l,6l,1,6r)--z6r.. + if y4'>lower_notch: {left}(x4'-1,lower_notch){up}... fi + {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal +else: penpos5(whatever,0); penpos6(whatever,90); + z5l=z1l; z6l=z4l; + z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90); + z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l); + filldraw stroke z5e..z6e; fi % diagonal +if serifs: serif(5,6,a,1/3,-cap_jut); % upper left serif + light_bulb=hround 7/8[cap_hair,flare]; + z2'r=(tiny.rt x2r,y2); z2'l=(tiny.lft x2l,y2); + z3'l=(tiny.rt x3r,y3); z3'r=(tiny.lft x3l,y3); + penpos8(vair,-90); penpos9(cap_hair,-180); penpos10(light_bulb,-180); + penpos11(vair,90); penpos12(cap_hair,0); penpos13(light_bulb,0); + x8=x1-1.25u; x11=letter_w-x8; + x10r=hround .5u; x13r=hround(letter_w-.5u); + if monospace: y10=u; y11=h-y8=h; + else: y10=2u-min(.5light_bulb,.5u); top y11r=h+o; bot y8r=-o; fi + y13=h-y10; + fill stroke z2'e{down}...{left}z8e; + fill stroke z3'e{up}...{right}z11e; % upper and lower arcs + clearpen; + bulb(8,9,10); bulb(11,12,13); fi % upper and lower bulbs +numeric thick_hair; thick_hair=max(hair,.75stem); +penpos14(vair,90); penpos16(vair,-90); +penpos15(thick_hair,180); penpos17(thick_hair,0); +interim superness:=sqrt(more_super*hein_super); +if monospace: x15=hround(w-4.5u); rt x17r=hround(w-.5u); + else: x15=hround(w-4u); rt x17r=hround(w-.5u); fi +x14=x16=.5[x15,x17]; y14r=h-y16r=.7h; y15=y17=.5[y14,y16]; +if x17l<=x15l+10: x15l:=x15r+vair; x17l:=x17r-vair; fi +penstroke pulled_arc.e(14,15) & pulled_arc.e(15,16) + & pulled_arc.e(16,17) & pulled_arc.e(17,14) & cycle; % bowl +pickup crisp.nib; pos18(thick_hair,90); pos19(thick_hair,90); +bot y18l=bot y19l=.075h; rt x19=x17r; lft x18=x15r; +filldraw stroke z18e--z19e; % bar +math_fit(0,max(.5ic#-.5u#,0)); +penlabels(1,1',2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); +endchar; |