summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/dingbat/ark10.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/dingbat/ark10.mf')
-rw-r--r--Master/texmf-dist/doc/fonts/dingbat/ark10.mf320
1 files changed, 320 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/dingbat/ark10.mf b/Master/texmf-dist/doc/fonts/dingbat/ark10.mf
new file mode 100644
index 00000000000..751a17cd8f8
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/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
+