diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/dingbat/ark10.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/dingbat/ark10.mf | 320 |
1 files changed, 320 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/dingbat/ark10.mf b/Master/texmf-dist/fonts/source/public/dingbat/ark10.mf new file mode 100644 index 00000000000..751a17cd8f8 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/dingbat/ark10.mf @@ -0,0 +1,320 @@ +% ark10.mf file +% Copyright (c) 1988 by Arthur M. Keller +% The ARK font was initially done in MF79 +% by Scott Kim. It was converted to (new) MF by N.N. Billawala +% of Metamarks. +% It contains 10 characters. + + +rulepen:=pensquare scaled 1; % makes one pixel proofing lines +mode_setup; +designsize:=10pt#; +width#:=10pt#; +height#:=7.5pt#; +depth#:=2.5pt#; + define_pixels(width,height,depth); +extra_beginchar:=extra_beginchar&"save p;path p[];"; + +% ***** general macros ***** +extra_beginchar:=extra_beginchar&"w#:=charwd;"; % for adjust def +extra_endchar:=extra_endchar&"wsaved:=w; w:=r-l;"; % for adjust def + +letter_fit#:=letter_fit:=0; +def adjust(expr left_adjustment,right_adjustment) = + l:=-round(left_adjustment*hppp)-letter_fit; + interim xoffset:=-l; + charwd:=charwd+2letter_fit#+left_adjustment+right_adjustment; + r:=l+round(charwd*hppp); + w:=r-round(right_adjustment*hppp)-letter_fit; + enddef; + +def makebox(text rule)= % makes a reference box for screen and proof characters + for y=0,h.o_,-d.o_: rule((l,y),(r,y)); endfor % horizontals + for x=l,r: rule((x,-d.o_),(x,h.o_)); endfor % outer verticals + if charic<>0: rule((wsaved+charic*hppp,h.o_),(wsaved+charic*hppp,.5h.o_));fi +enddef; + +% ***** pencils ***** + +line_thickness:=max(1,.3pt); % thickness of character lines +pencil_thickness#:=.6width#; % pencil thickness +tip_length#:=.5width#; % length of pencil tips +lead_length#:=.3tip_length#; % amount of pencil tip lead showing +tip_curve:=.2; % curvature of the pencil tip +lead_curve:=.1; % curvature of the pencil tip lead part +bottom_showing:=.7; % proportion of bottom height/width in pencil + +def pencil_pen=pencircle scaled line_thickness; enddef; +define_pixels(pencil_thickness,tip_length,lead_length); + + +% The pencil keeps a general vertical size no matter what the rotation angle is. +% The width is determined after the character is drawn. +% Adjustments can be made to the height of the pencil(size) +% angle of pencil from upright or 90 degrees(rotation) +% thickness or width of the pencil(pencil_thickness) +% length of the tip of the pencil(pencil_tip) +% size of the lead showing in the tip(lead_length) +% the curvature of the pencil tip(tip_curve) as a percentage of the tip_length +% the curvature of the lead tip(lead_curve) as a percentage of the lead_length +% the size of the bottom part of the pencil(bottom_showing) + +vardef pencil(expr tip,size,rotation)= + save x,y,p,t; path p[]; transform t; pickup pencil_pen; + z1=tip+(0,size/(sind abs(90+rotation))); % bottom + z2=z1-(0,.5pencil_thickness); + for n:=0 upto 5:z[10+n]=z2+(.5pencil_thickness,0) rotated (n*60); endfor + for n:=0 upto 5:z[10+n]a=.45[z2,z[10+n]]; endfor % bottom lead + z2 transformed t=z1-(0,.5*bottom_showing*pencil_thickness); + z11 transformed t=z11; z12 transformed t=z12; + z113=z13 transformed t; z114=z14 transformed t; + z115=z15 transformed t; z110=z10 transformed t; + z3=tip+(0,tip_length); penpos3(pencil_thickness,0); % tip + z4=tip_curve[z3,tip]; + p1=z3r...z4{left}...z3l; + z20=(x114,ypart tip); z21=(x115,ypart tip); + z22=p1 intersectionpoint (z114--z20); + z23=p1 intersectionpoint (z115--z21); + z5=tip+(0,lead_length); % lead + y30=y31=y5; z30=whatever[tip,z3l]; z31=whatever[tip,z3r]; + z6=lead_curve[z5,tip]; + p2=(z10--z11--z12--z13--z14--z15--cycle) transformed t; % pencil bottom + p3=z113--z3l--tip--z3r--z110; % pencil + p4=z114--z22; + p5=z115--z23; + p6=(z10a..z11a..z12a..z13a..z14a..z15a..cycle) transformed t; % bottom lead + p7=tip--z31...z6{left}...z30--cycle; % lead tip + for n:=1 upto 5: draw p[n] rotatedaround (tip,rotation); endfor + for n:=6,7: fill p[n]rotatedaround (tip,rotation); endfor +enddef; + +% An amount for placing the tip of the pencil +def tip_adjust= + if abs(tip_length*cosd (90+rotation))>abs(.5*pencil_thickness):0 + else:abs(.5*pencil_thickness-abs(tip_length*cosd (90+rotation)))fi enddef; + +"small pencil"; + rotation:=55; % angle of pencil + pencil_width#:= + pencil_thickness#+ % base or minimum width + (height#+depth#) % vertical pencil dimension + *abs(cosd(90+rotation)/sind(90+rotation)) % * rotation + -pencil_thickness#*abs(cosd(90+rotation)); % - adjustment to thickness + + beginchar(oct"120",pencil_width#,height#,depth#); + z0=(if rotation>0:w- else:0+ fi tip_adjust,0); + pencil(z0,h+d,rotation); + adjust(.2width#,.2width#); + endchar; + +"large pencil"; + rotation:=20; % angle of pencil + pencil_width#:= + pencil_thickness#+ % base or minimum width + (height#+depth#) % vertical pencil dimension + *abs(cosd(90+rotation)/sind(90+rotation)) % * rotation + -pencil_thickness#*abs(cosd(90+rotation)); % - adjustment to thickness + + beginchar(oct"127",pencil_width#,2.8height#,2.8depth#); + z0=(if rotation>0:w- else:0+ fi tip_adjust,0); + pencil(z0,h+d,rotation); + adjust(.2width#,.2width#); + endchar; + + +% ***** return ***** +def return_pen=pencircle scaled line_thickness; enddef; + + +"return"; + beginchar(oct"103",.4width#,.6height#,.6depth#); + save curvature,arrowhead,base_length; + curvature1=angle((h+d),-.25(h+d)); + curvature2=angle(-(h+d),-.25(h+d)); + arrowhead=.2h; % length of arrowhead + pickup return_pen; % the pen used in this char + top lft z1=(0,h); bot lft z3=(0,-d); rt z2=(w,.5[y1,y3]); + p1=z1{dir curvature1}...z2{down}...z3{dir curvature2}; + z4=z3+(arrowhead,0) rotated curvature2; + z5=z3+(arrowhead,0) rotated (curvature2+120); + z6=z3+(arrowhead,0) rotated (curvature2-120); + draw p1; filldraw z4--z5--z6--cycle; + adjust(.3width#,.2width#); + endchar; + + + +% ***** eye ***** +"eye"; + beginchar(oct"105",1.2width#,.75height#,depth#); + save limit; pair limit; % keeps curve bounded + randomseed:=.71; % iris shape + pickup pencil_pen; % the pen used in this char + lft x1=0; x0=x2=x4=.5w; rt x3=w; + bot y2=0; y0=y1=y3=.5h; top y4=h; + limit=if abs(y2-y1)>abs(x2-x1):down else:(0,0) fi; + draw z1{limit}...z2{right}...z3{-limit}-- + z3+(0,eps){-limit}...z4{left}...z1+(0,eps){limit}--cycle; % outer shape + draw z2..(.5[z0,z3])..z4..(.5[z0,z1])..cycle; % "retina" + pickup pencircle; % number and shape of pupil lines can be altered here + for n:=0 step 25 until 360: + draw z0--(z0+(.9abs(y4-y0),0)rotated n); + endfor + for n:=60 step 60 until 360: + draw z0--(z0+(.9abs(y4-y0),0)rotated (n*(uniformdeviate 5))); + endfor + pickup pencircle scaled .10h; + for n:=12 step 30 until 375: + draw z0--(z0+((((uniformdeviate 2)+2)*.15abs(y4-y0)),0)rotated n); + endfor + adjust(.2width#,.2width#); + endchar; + + +% ***** hands ***** +handheight#:=6.5pt#; +handdepth#:=3pt#; + define_pixels(handheight,handdepth); +cuff_width:=.15width; % thickness of the cuff +shirt_width:=.75cuff_width; % thickness of the sleeve +digit:=round(.2handheight); % thickness of the fingers +indent:=.05width; % finger indent increment +knuckles:=2indent; % length of knuckles +finger_tips:=3indent; % length of finger tips + +def handpen=pickup pencircle scaled .2pt; enddef; + +% Makes an open horizontal oval shape; path moves clockwise +vardef finger(expr tip,alength)suffix $= + save x,y,tips; boolean tips; tips=if str$="tips":true else:false fi; + z2=tip; x1=x3=x2 if tips:+finger_tips else:-knuckles fi; x4=x3-alength; + y1=y2+.5digit; y1-y3=digit; y4=y3; + if tips:z4..z3{left}...z2...z1{right} else:z1{right}...z2...z3{left}...z4 fi +enddef; + +% Points used in the hand characters +def hand_points= + y1=y2=h; top y3=top y4=y2-(.05h+1); x1=x5=0; x2=x3=x6=x7=x1+cuff_width;% cuff + y5=y6=0; bot y7=bot y8=y5+(.05h+1); x4=x8=x1a=x3a=x2+shirt_width; + y1a=y3-(.1h); y2a=y3; x2a=.3[x1a,w-3indent]; % wrist + y3a=y1a-.5h; y4a=y7+(.05h+1); y5a=.2[y4a,y2a]; x4a=x5a=.45[x3a,x5d]; + y1b=y3-.5digit; y2b+digit=y3b+2digit=y4b+3digit=y1b; y5b=y4b; % knuckles + x1b+2indent=x2b+indent=x3b=x4b+indent=w; x5b=x3b+2knuckles; + for n:=1 upto 4:y[n]c=y[n]b; endfor % tips + x1c=x2c=x3c=x4c-indent=0[x3d,x3b]; + z3d=(.5[x3a,x3b],-d); z2d=z3d+(.5digit,.3d); z4d=z2d-(digit,0); % up thumb + z1d=(x2d-indent,.5[y2d,y4b-.5digit]); z5d=z1d-(1.5digit,0); + z1e=z5d+(0,.5digit); z2e=(.2[x1e,x3b],y1e); % down thumb + z5e=(.55[x3c,x3b],y3b-.5digit); + z3e=.4[z2e,z5e]+(.55digit,0)rotated(angle(z5e-z2e)-90); + z4e-z3e=whatever*(z5e-z2e); y4e=y4b; + z6e=z3e+(1.1digit,0)rotated(angle(z5e-z2e)+90); z7e=z6e-(.5knuckles,0); + z8e=(1[x3a,x5d],y3b); + enddef; + +def cuff(expr trans)= + p10=z1--z2--z6--z5--cycle; fill p10 transformed trans; % cuff + p11=z3--z4--z8--z7; draw p11 transformed trans; % sleeve + enddef; + +"left thumbs down"; + beginchar(oct"104",1.2*width#,handheight#,handdepth#); + transform t[]; t1=identity shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + p1=z1a{right}...z2a{right}...finger(z1b,2.5indent); % finger + p2=finger(z2b,2.5indent); % finger + p3=finger(z3b,4.5indent); % finger + p4=finger(z4b,2.5indent)... % finger + z1d{down}...z2d{down}...z3d...z4d{up}...z5d{z4a-z3d}...z3a{left};% thumb + for n:=1 upto 4: draw p[n] transformed t1; endfor + adjust(.2width#,.2width#); + endchar; + +"right thumbs down"; + beginchar(oct"144",1.2*width#,handheight#,handdepth#); + transform t[]; + t1=identity reflectedabout ((.5w,0),(.5w,h)) shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + p1=z1a{right}...z2a{right}...finger(z1b,2.5indent); % finger + p2=finger(z2b,2.5indent); % finger + p3=finger(z3b,4.5indent); % finger + p4=finger(z4b,2.5indent)... % finger + z1d{down}...z2d{down}...z3d...z4d{up}...z5d{z4a-z3d}...z3a{left};% thumb + for n:=1 upto 4: draw p[n] transformed t1; endfor + adjust(.2width#,.2width#); + endchar; + +"left thumbs up"; + beginchar(oct"125",1.2*width#,handheight#,handdepth#); + transform t[]; + t1=identity reflectedabout ((0,.5h),(w,.5h)) shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + p1=z1a{right}...z2a{right}...finger(z1b,0)--finger(z1c,0)tips; % finger + p2=finger(z2b,0)--finger(z2c,0)tips; % finger + p3=finger(z3b,0)--finger(z3c,0)tips; % finger + p4=finger(z4c,0)tips--finger(z4b,0){left}... % finger + z1d{down}...z2d{down}...z3d...z4d{up}...z5d{z4a-z3d}...z4a...z5a{up}; + p5=z3a--z4a; % wrist + for n:=1 upto 5: draw p[n] shifted (0,-.07h) transformed t1; endfor + adjust(.2width#,.2width#); + endchar; + +"right thumbs up"; + beginchar(oct"165",1.2*width#,handheight#,handdepth#); + transform t[]; + t1=identity rotatedaround ((.5w,.5h),180) shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + p1=z1a{right}...z2a{right}...finger(z1b,0)--finger(z1c,0)tips; % finger + p2=finger(z2b,0)--finger(z2c,0)tips; % finger + p3=finger(z3b,0)--finger(z3c,0)tips; % finger + p4=finger(z4c,0)tips--finger(z4b,0){left}... % finger + z1d{down}...z2d{down}...z3d...z4d{up}...z5d{z4a-z3d}...z4a...z5a{up}; + p5=z3a--z4a; % wrist + for n:=1 upto 5: draw p[n] shifted (0,-.07h) transformed t1; endfor + adjust(.2width#,.2width#); + endchar; + +"left hand pointing right"; + beginchar(oct"122",1.2*width#,handheight#,handdepth#); + transform t[]; + t1=identity reflectedabout ((0,.5h),(w,.5h)) shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + z1f=(z2e{right}...z3e{z5e-z2e}...z5e{left}...z6e{z2e-z5e}) + intersectionpoint ((0,y4b-.5digit)--(w,y4b-.5digit)); + p1=z1a{right}...z2a{right}...finger(z1b,0)--finger(z1c,0)tips; % finger + p2=finger(z2b,0)--finger(z2c,0)tips; % finger + p3=finger(z3b,0)--finger(z3c,0)tips; % finger + p4=z5e--finger(z5b,0)--z1f; % finger + p5=z3a{right}...z1e{right}...z2e{right}...z3e{z5e-z2e}... + z4e{z5e-z2e}...z5e{left}...z6e{z2e-z5e} & z6e--z7e{dir 120}..z8e; + w:=w+2knuckles; + for n:=1 upto 5: draw p[n] shifted (0,-.07h) transformed t1; endfor + adjust(.2width#,.35width#); + endchar; + +"right hand pointing left"; + beginchar(oct"114",1.2*width#,handheight#,handdepth#); + transform t[]; + t1=identity rotatedaround ((.5w,.5h),180) shifted (0,-.1h); + handpen hand_points; + cuff(t1); % cuff + z1f=(z2e{right}...z3e{z5e-z2e}...z5e{left}...z6e{z2e-z5e}) + intersectionpoint ((0,y4b-.5digit)--(w,y4b-.5digit)); + p1=z1a{right}...z2a{right}...finger(z1b,0)--finger(z1c,0)tips; % finger + p2=finger(z2b,0)--finger(z2c,0)tips; % finger + p3=finger(z3b,0)--finger(z3c,0)tips; % finger + p4=z5e--finger(z5b,0)--z1f; % finger + p5=z3a{right}...z1e{right}...z2e{right}...z3e{z5e-z2e}... + z4e{z5e-z2e}...z5e{left}...z6e{z2e-z5e} & z6e--z7e{dir 120}..z8e; + w:=w+2knuckles; + for n:=1 upto 5: draw p[n] shifted (0,-.07h) transformed t1; endfor + adjust(.35width#,.2width#); + endchar; + +end + |